ChangeLog nJupiter =============================================================================== Definitions BUG - Fixed bug CHG - Minor not breaking change BCH - Non interface compatible breaking change ENH - Enhanced feature NEW - New feature =============================================================================== Changes for V4.0.0.0 - 2011-12-13 =============================================================================== **** nJupiter BCH: Some of the components i nJupiter now require .NET 3.5 **** nJupiter.Configuration BCH: This component has been totally refactored and now make use of interfaces rather than concrete types throughout the whole component and has thereby better support for unit testing and IoC-containers. The config object also now has support for generics and can now parse all types that has a System.ComponentModel.TypeDescriptor-converter. The config handler is renamed to IConfigRepository and its default instance is now accessed thru the .Instance property in ConfigRepository. You can now implement your own loaders and attache them in runtime thru the CompositeConfigLoader, that is the default loader for the default instance of IConfigRepository. The Add-method has also been changed to be public and you can now add your own Config objects to the ConfigCollection in runtime, they will automatically be removed from all ConfigCollections they are added to when the .Discard() method is executed on the Config-object. **** nJupiter.DataAccess BCH: This componenet has been totally refactored and now make use of interfaces rather than concrete types throughout the whole component and has thereby better support for unit testing and IoC-containers. When nJupiter where first written for .NET 1.1 there where no adapters for different database connection methods available in .NET so we wrote this component that contained adapters for several different database connection methods (OleDB, ODBC, Oracle, Sql), since .NET 2.0 there is generic support for this directly in .NET though and we have now decide to completely drop our implementation of these adapters and only kept facade for the System.Data API which contain simpler transaction and command handling than the original API. **** nJupiter.DataAccess.Users BCH: This component has been totally refactored and now make use of interfaces rather than concrete types throughout the whole component and has thereby better support for unit testing and IoC-containers. UsersDAO is now renamed to IUserRepository and different instances are now loaded throug the UserRepositoryManager. Property handling has now support for generics and property collections and properties also support locking and cloining which make them more safe to use in threded aplications. The naming in the component has been reworked to has better and more intuitive names. The SQL implementation of the user repository is now moved to a separate assembly, nJupiter.DataAccess.Users.Sql. **** nJupiter.Globalization BCH: This component has been totally refactored and now make use of interfaces rather than concrete types throughout the whole component and has thereby better support for unit testing and IoC-containers. CultureHandler is now renamed to ICultureHandler and it's default instance is of type ConfigurableCultureHandler and can be accesst through CultureHandlerFactory.Instance. **** nJupiter.DataAccess.DirectoryService BCH: All code for this assembly is now moved into the assemblyh nJupiter.DataAccess.Users.DirectoryService **** nJupiter.Net.Mail CHG: Some legacy code moved from nJupiter.Text into this assembly to be able to remove nJupiter.Text completely. **** nJupiter.Web.UI CHG: Some legacy code moved from nJupiter.Drawing into this assembly to be able to remove nJupiter.Drawing completely. **** nJupiter.Messaging **** nJupiter.Web.UI.GoogleAnalytics **** nJupiter.Web.UI.CssCompressor **** nJupiter.IO **** nJupiter.Text **** nJupiter.Drawing BCH: nJupiter.Web.UI.GoogleAnalytics, nJupiter.Messagingn, Jupiter.Drawing, nJupiter.IO, nJupiter.Text and nJupiter.Web.UI.CssCompressor has been removed from project. These projects has not been updated and supported for years and therefor deprecated. If you still use them, reefer to code and release prior to 4.0 =============================================================================== Changes for V3.16.1.0 - 2011-02-24 =============================================================================== BUG: Because of nJupiter.Text.SimpleTextParser was not configured for singning a mixup of signed and non signed components was released in V3.16.0.0 package, this shall now be fixed. **** nJupiter.Configuration ENH: Added support for Char methods in Config. Also eliminated some try catch statements and replaced them with uses of TryParse methods. **** nJupiter.Web.UI BUG: Backed out the patch for StreamImage.aspx in 3.16.0.0 because it was wrong. =============================================================================== Changes for V3.16.0.0 - 2011-01-27 =============================================================================== **** nJupiter.Text.SimpleTextParser NEW: A simple text parser added to nJupiter. Can for now only parse text by using regular expressions that can be configured in a config file that can be changed in runtime, but can esily be expanded with new formatters by impelmenting the IFormatter interface. Some example config how to parse for example BBCode to Xhtml added in nJupiter.Text.SimpleTextParser.config **** nJupiter.DataAccess.Ldap ENH: Added support for disabling Property Sorting (DirectorySearcher.Sort) in the configuration because some servers seems to not supporing this action. If you get an InvalidOperationException from the DirectorySearcher please try to set value for propertySortingSupport to false in nJupiter.DataAccess.Ldap.config ENH: Added support to turn off paging by setting pageSize to 0 or remove it entirely from the config. CHG: Changed some non forgiving exceptions in LdapRoleProvider that was thrown if user did not exist. The role provider shall not need to know anything about the user. If user does not exist it would debug log it instead. **** nJupiter.Web.UI BUG: Fixed a bug in HtmlHandler and its AutoHyperlinkText and AutoHyperlinkHtml methods, where an email address containing two consecutive dots (..) was not recognized as an email address. BUG: Fixed a bug in StreamImage.aspx where the path parameter was double url decoded, and therefore paths with + in them didn't work as they got decoded to a space on the second url decode. ENH: Added the possibility to evaluate the HTML link in AutoHyperlinkText, and thereby makes it possible to change the url or the text of the link and add custom attributes ENH: Added the AutoHyperlinkHtml method, that does the same thing as AutoHyperlinkText but ignores URLs within tags () and URLs between the start and end tags for the anchor tag ([url]). BUG: HtmlHandler.AutoHyperlinkText made an end parenthesis trailing the url part of the url. This should not be included in the url unless the character after the parenthesis is a character part of a normal url. If it is a space for instance we should end the url before the parenthesis. ENH: In Paging, added the CurrentPageForceInnerSpan property to be able to force an inner span on the control for the current page (anchor, linkbutton or button) and the CurrentPageCssClass to be able to set a CSS class on the HTML element of the current page. CurrentPageForceInnerSpan is needed to render an HTML element for the current page in anchor and linkbutton modes when InnerSpan is set to false because otherwise it would just be a text node there. CurrentPageCssClass will not be rendered in the anchor and linkbutton modes unless InnerSpan is set to true or CurrentPageForceInnerSpan is set to true. BUG: WebCheckBox did not render the attributes in the InputAttributes collection. BUG: WebCheckListControl did not clear the controlToRepeat.Attributes collection on each rendering of a list item. BUG: WebAnchor did not render Controls added to it runtime by the method WebAnchor.Controls.Add. BUG: WebButton's OnClickEvent was fired both in RaisePostBackDataChangedEvent and RaisePostBackEvent when using IE6 , thus the event handler was called twice. When using IE6, OnClickEvent is now only fired in RaisePostBackDataChangedEvent. **** nJupiter.DataAccess.Users BUG: Fixed a bug that made the stored procedure USER_Update not being able to be created or to be executed on database servers with a server collation with case sensitivity. This patch does not need to be applied on servers with case insensitivity. **** nJupiter.Services.Forum ENH: New method GetNonThreadedPosts on ForumDao, that gets posts in a flat fashion, not hierarchical or threaded that is. =============================================================================== Changes for V3.15.1.0 - 2010-06-15 =============================================================================== **** nJupiter.DataAccess.Ldap ENH: Added config and implementation so attributes that is loaded together with the LdapMembershipUser can be excluded from username search. Look in nJupiter.DataAccess.Ldap.config for examples. **** nJupiter.Web.UI BUG: Fixed a bug in WebNavigation that caused IncludeChildrenOfRemovedNodesMode to not be honoured when StartLevelFromRoot > 0. **** nJupiter.Drawing BUG: Fixed a bug in ImageScale that caused scaling of PNG images to crash with the exception message "A generic error occurred in GDI+." =============================================================================== Changes for V3.15.0.0 - 2010-05-05 =============================================================================== **** nJupiter.DataAccess.Ldap NEW: New component containing a generic MembershipProvider and RoleProvider for LDAP (nJupiter.DataAccess.Ldap.LdapMembershipProvider and nJupiter.DataAccess.Ldap.LdapRoleProvider). These providers had been tested with Microsoft Active Directory, Novell eDirectory and IBM Lotus Domino / IBM Tivoli Directory Server. **** nJupiter.DataAccess BUG: When parsing search strings FullTextHandler incorrectly interpreted a minus sign without a preceding space as a search operator. A minus sign is now interpreted as a search operator only if it is in the beginning of the search string or preceded by a space and not inside quotes. **** nJupiter.DataAccess BUG: Fixed a bug that made the AddPostsToCollectionFromDataTables method crash when trying to get nested sorted posts for a category. Now the customized view of the table (DataTable.DefaultView) is used instead of the table, because it's the in the customized view where the sorted collection is to be found. **** nJupiter.Web.UI ENH: Add possibility to force going through StreamingPath in WebImage even though we have not set MaxWidth or MaxHeight. This is done by setting the ForceStreaming property on WebImage to true. BUG: Fixed a bug in HtmlControlAdapter that caused that the InnerSpan attribute was ignored on HtmlControls. CHG: NavigationPageCollection in WebNavigation is now inheriting directly from List instead of SortableList **** nJupiter.Security **** nJupiter.Collections BCH: Removed these redundant components once and for all! If you still use them then use dll-files from 3.14 or earlier. =============================================================================== Changes for V3.14.0.0 - 2010-02-10 =============================================================================== **** nJupiter.DataAccess.Users BUG: Fixed a bug that made the GetPropertySchema method crash when application started (sometimes). BUG: UsersDAOMembershipProvider locally cached an object that could result in that old values could be rewritten when a user was saved BUG: HybridMembershipProvider could not save users to primary provider that had an non-Guid user identity **** nJupiter.Web.UI BUG: Made InnerSpan of WebAnchor with NoLink=true write out the ID if RenderId is true BUG: Made InnerSpan of WebAnchor with NoLink=true write out attributes added to the WebAnchor ENH: Implemented VisibleLevels in WebNavigation, returns the number of visible levels in the navigation tree =============================================================================== Changes for V3.13.0.0 - 2009-09-30 =============================================================================== **** nJupiter.Web.UI ENH: In the pageing control it is now possible to change the number of pages shown, it was hard coded to 5 before. BUG: Made checklist controls care about the Enabled property of ListItem. ENH: Made it possible to override the rendering of the label in checklist controls. **** nJupiter.Configuration NEW: Config object now have a method called GetConfigurationSectionHandler that can read System.Configuration.IConfigurationSectionHandler configurations. **** nJupiter.DataAccess.Users ENH: It is now possible to unload properties for a specific context for a user. Can be useful when overriding a UsersDAO implementation and you are fetching a context from another data source and for example want to unlaod it before you send it back down to the main implementation. **** nJupiter.Web.UI.CssCompressor BUG: Fixed a bug related to invalid if-modified-since-dates sent by IE6 Changes for V3.12.0.0 - 2009-06-08 =============================================================================== **** nJupiter.Services.Forum BCH: The interface in the ForumDao is slightly changed. Now you have to specify the mandatory fields already in the CreateCategoryInstance and CreatePostInstance methods instead of doing it when you save a category or a post. **** nJupiter.DataAccess.Users BCH: UsersDAOImplDS moved to an own assembly nJupiter.DataAccess.Users.DirectoryService.UsersDAO so nJupiter.DataAccess.Users no longer shall have any dependencies to nJupiter.DataAccess.DirectoryService BCH: The Cache handeling make no longer use of inheritance, insted the cache handler is a composition object on the UsersDAO object so it is possibe to use other caching handlers than the generic one. NEW: New cache handler added: HttpRuntimeUserCache which make use of the System.Web.Caching.HttpRuntime cache. Please take a look in the nJupiter.DataAccess.Users.config file in the Shared Resources project for examples how to configure, or how to add your own cach hadler. **** nJupiter.Web.Syndication NEW: Factory Method added to the FeedType class Changes for V3.11.0.0 - 2009-04-17 =============================================================================== **** General BUG: Fixed code to follow new coding standard NEW: Added ReSharper 4.5 file with new coding standard **** nJupiter.Web.UI BCH: Old legacy-ascx-files removed for Paging, GeneralListing and PagedListing **** nJupiter.Web.UI.CssCompressor ENH: Fixed support for Virtual Path Providers **** nJupiter.Web.UI.EmailObfuscator BUG: Fixed support for emails with querystrings **** nJupiter.DataAccess.Users BUG: Small bugfixes **** nJupiter.Web.Syndication NEW: Support for custom elements added. NEW: Support for atom feeds added NEW: Syndication Reader added with support for RSS 0.9-2.0 and Atom Changes for V3.10.0.0 - 2009-03-18 =============================================================================== **** nJupiter.Drawing ENH: ImageScale does now support configurable values for the image quality parameters SmoothingMode, InterpolationMode and PixelOffsetMode **** nJupiter.Net.Mail BUG: Bug fixed in nJupiter.Net.Mail.Attachment, attachment never used the content type if it was explicitly set **** nJupiter.Web.UI NEW: Several control adapters added ENH: In PagedListing it is now possible to set paging controls externaly CHG: Removed implementation for page validation from WebButton. It didn't work anyway since Microsoft has make it impossible to fully implement this in custom controls by closing down their own interface and make it private :( **** nJupiter.DataAccess ENH: DataSource can now get its connection strings from the ConfigurationManager Changes for V3.9.0.0 - 2009-01-23 =============================================================================== **** nJupiter.Web.Syndication NEW: New componenet that handle syndications. Mainly RSS-feeds in the first version. **** nJupiter.Web BUG: Fixed a bug in UrlHandler, namely that no UrlHandler method took care of the case where a URL contained fragment information, #. **** nJupiter.Net.Mail NEW: Added the Headers property to the class Mail, to be able to send custom headers in emails Changes for V3.8.0.0 - 2008-10-21 =============================================================================== **** nJupiter.Web NEW: IndenterModule, experimental HTTP Module added, adds an http-filter to all html requests that will indent all well formed XHTML. Use with care. **** nJupiter.Configuration NEW: New methods to fetch attribute arrays. Changes for V3.7.0.0 - 2008-09-11 =============================================================================== **** nJupiter.Web.UI NEW: New abstract base class for navigation controls calles nJupiter.Web.UI.Controls.WebNavigation, which makes it possible to make more generic navigations and to mix different implementations in the same navigation. A new delegate is added named CreateWebNavigationControl that returns the current implementation. Changes for V3.6.0.0 - 2008-08-11 =============================================================================== **** nJupiter.Net.Mail BUG: Removed the sending of two extra \r\n in SmtpClient that sendmail on Linux didn't like and that we saw no reason to keep. Changes for V3.5.0.0 - 2008-07-01 =============================================================================== **** nJupiter.Web.UI BUG: Fixed bug i Paging where url got cut in browser due to incorrect encoding of the query string Changes for V3.4.0.0 - 2008-06-10 =============================================================================== **** nJupiter.Web.UI.CssCompressor NEW: Added a HttpHandler that merges all css imported with @import to one file, and caches it **** nJupiter.Web.UI NEW: New class WebScriptHolder makes it possible to place scripts outside head. If such an object exists on the page ControlHandler.RegisterClientScriptBlock places the script there, otherwise the WebHead, and lastly it resorts to ASP.NET default behaviour. Changes for V3.3.0.0 - 2008-05-02 =============================================================================== **** nJupiter.Configuration BUG: Major memory bug fixed in filewathcing functionality. **** nJupiter.Web.UI NEW: New class HtmlHandler that can let you automatically hyperlink informal urls, strip all HTML tags from a string or convert line breaks to
. NEW: WebButton now has a property IsClicked, than can be checked before the actual Click event occurs. **** nJupiter.Web.UI.Controls.WebFlash ENH: Now uses SwfObject2Emebeded as default. SwfObject2 is now updated to v1.0 sharp **** nJupiter.Web.UI.EmailObfuscator NEW: New component that works as a http-filter and obfuscate email addresses in html-pages. Changes for V3.2.0.0 - 2008-02-18 =============================================================================== **** All projects ENH: Lock-statements optimized and fixed ENH: Fixed so web pathes now are relative, not absolute, so it will be easier to customize web pathes. **** nJupiter.Configuration BUG: Bugfixes in the filewatcher functionality. The configuration handler shall no longer hang or crach if a non valid xml is saved. **** nJupiter.DataAccess BUG: Bugfixes for datareaders. **** nJupiter.DataAccess.Users CHG: SetPassword no longer saves the user **** nJupiter.Globalization ENH: nJupiter.Globalization.CultureHandler does now have shortcuts for CurrentCulture and CurrentUICulture **** nJupiter.Web.UI BUG: Fixed bug in WebLinkButton where NoLink=true resulted in an unencoded string ENH: Paging is now a templated control, so you can make HTML of your own choice now, or just use the builting defaults. NEW: Paging now has an additional paging mode: Anchors. ENH: StrictHtmlTextWriter now fixes IDN encoded URLs. ENH: StreamImage now works with Virtual Path Providers BUG: WebForm fixed to work correctly even with .NET 2.0 SP1 BUG: WebRadioButton does now works correctly again, no ugly spans or other Microsoftish HTML-rubbish **** nJupiter.Web.UI.EmailObfuscator NEW: New project, first beta version. Runs as an http-filter an obfuscates all email-adresses on a web-page. Changes for V3.1.0.0 - 2007-11-15 =============================================================================== **** nJupiter.Globalization BCH: DateHandler is moved from the namespace nJupiter.Date to nJupiter.Globalization **** nJupiter.Web.UI ENH: WebGenericControl and all its inheritors does no longer render if they are completely empty. ENH: SWFObject in WebFlash is now updated to version 1.5 and does now support custom express install movies. ENH: WebFlash has now support for SWFObject2 http://www.swffix.org/ Both normal and embeded method are supported. Normal method will probably be default render mode when out of alpha stage. **** nJupiter.Services.Forum NEW: New properties on Post: RootPostId, RootPostTitle. These properties reflect what root post a post has either through inheritance (not being a root post) or being a root post. ENH: Now possible to sort on the attribute values of posts and categories. This is done by setting the SortAttributeName property on the result configuration types. If set, it always overrides the SortProperty property. Also, if set, attributes are always loaded and the LoadAttributes property is always ignored. **** nJupiter.Services.Forum.UI CHG: nJupiter.Services.Forum.UI.config not mandatory anymore ENH: FlatTabularPostList now has a RootPostTitle column which can be hyperlinked through the UrlWithoutTrailingRootPostId property. If UrlWithoutTrailingPostId is not set, the Title column will be linked with the UrlWithoutTrailingRootPostId value. ENH: FlatTabularPostList now exposes a PostsSorting event which can be used to intercept what is to be sorted and change it. ENH: FlatTabularPostList can now be sorted by any property belonging to a post and not just the columns that are implemented in it. This was accomplished by removing the SortColumn property and exchanging it with the SortProperty property. ENH: FlatTabularPostList can now be sorted by any attribute belonging to a post by setting the SortAttributeName property. If this property is set, it always overrides any value set on the SortProperty property. ENH: UpdatePost can now be set to ignore updates made concurrently. This is done by setting the IgnoreConcurrentUpdate property to true. The default is false. Changes for V3.0.0.0 - 2007-09-13 =============================================================================== **** nJupiter.DataAccess.Users ENH: Now it is also possible to do range searches with GreatherThan, GreatherThanOrEqual, LessThan and LessThanOrEqual also for BoolProperty, IntProperty and DateTimeProperty as the serialized form of those preserves order, which was needed for this to work. NEW: New property on AbstractProperty: SerializationPreservesOrder. Set to false if an implementation does not preserve order in its serialized form. BUG: Fixed a bug where we never searched in specific contexts BCH: Took away the Context property on SearchCriteria, as it exists on SearchCriteria.Property already. **** nJupiter.Services.Forum ENH: Sorting is now using a secondary sort, TimePosted, when the sort key is not unique. Makes sorting on for instance Visible more predictable NEW: New method, GetNumberOfPosts, retrieves number of posts. Optionally one can specify a time interval and include or not include hidden posts in the count. **** nJupiter.Services.Forum.UI: ENH: Now possible to put an "All" item in the NumberOfItemsSelector ENH: Now possible to limit the length of title in FlatTabularPostList. CHG: Now odd rows have the css class "odd" and even rows have the css class "even". It was the other way around before. ENH: FlatTabularPostList now exposes a MaximumTitleLength property. Changes for V2.1.0.0 - 2007-05-18 =============================================================================== **** nJupiter.Services.Forum NEW: New properties on Post: EffectiveCategoryId, EffectiveCategoryName. These properties reflect what category a post has either through inheritance (not being a thread) or being a thread which belongs to a category directly. NEW: New Property on Post: ParentId. Indicates the parent post of the post in the same way CategoryId indicates what category a root post belongs to. ENH: SavePost and SaveCategory now throws exception if (1) the updated item has been deleted and (2) if the item has been updated by someone else since the item was retrieved NEW: New method on ForumDao: GetDomains BUG: Bug fix of one overload of GetPost: it would crash if we didn't find a post *** nJupiter.Services.Forum.UI: ENH: HierarchicalPostList can now be configured to specify a custom target for where a post should be added. The choices are the current post, the root or a specified post. This is done via the AddPostTargetLocation and AddPostTargetPostId properties. The choice is reflected in what is sent in the event arguments of the AddPost event. AddPostEventArgs is typically used when one configures an instance of AddPost. ENH: HierarchicalPostList can now be configured to specify a custom source for the reply text. The choices are the current post, the root or a specified post. This is done via the via the AddPostReplySourceLocation and AddPostReplySourcePostId properties. The choice is reflected in what is sent in the event arguments of the AddPost event, more specifically in the ReplySourcePostId property. AddPostEventArgs is typically used when one configures an instance of AddPost. BCH: AddPost now has a ReplySourcePostId property. The UseTitleFromParentPost has been renamed to UseTitleFromReplySource. ENH: Now possible to implement a custom TextFormatter, which makes it possible to write own routines for how the forum output is rendered, for instance to allow HTML or to convert textual smileys to graphical smileys. The standard implementation encodes input as HTML, converts newlines to
and automatically hyperlinks what looks like urls. ENH: AddPost and UpdatePost now both have a mandatory fields "legend" ENH: AddPost and UpdatePost now can present Author textbox after the Title and Body textboxes ENH: FlatTabularPostList now has a CategoryName column which can be hyperlinked through the UrlWithoutTrailingCategoryId property. NEW: New control: CategorySelector. Is an implementation that facilitates the choosing of categories in different scenarios. ENH: Now possible to get only children of a post, instead of retrieving the post _with_ the children in HierarchicalPostList ENH: Now possible to hide the column headers in FlatTabularPostList ENH: UpdatePost now handles concurrent updates and deletes ENH: New AuthorResolver property on HierarchicalPostList and FlatTabularPostList makes it possible for the Author text to come from another source, for instance UsersDAO. BUG: Bug fix of HierarchicalPostList: send an empty object array if GetPost returns null (fixes so that the list becomes empty after deletion of the root post) ENH: Now possible to filter on dates in HierarchicalPostList ENH: Now possible to include the body from the reply source in AddPost via the UseBodyFromReplySource property. Implementing the PostQuoter interface and setting the PostQuoter property on AddPost makes it possible to handle quoting of posts in a customized way. **** nJupiter.Web.UI BUG: Bug fix in WebRadioButtonList concerning the name attribute. In .NET 2.0 Microsoft does not add the UniqueId to the radiobutton name attribute. This is needed for WebRadioButtonList to work ENH: Added WMode property on WebFlash. The Transparent property is now obsolete. It will still work as before, but please update your code. ENH: TrailingBreak and TrailingLinefeed is now implemented in all relevant controls. **** nJupiter.DataAccess ENH: Now FullTextHandler.GetContainsSearchCondition takes an ImplicitOperator parameter. The default is "And". Possible values are "And" and "Or". BUG: Bug fix of FullTextHandler.GetContainsSearchCondition not recognizing upper case OR, NOT and NEAR. Changes for V2.0.0.0 - 2007-02-21 =============================================================================== **** nJupiter.Services.Forum NEW: New methods for archiving posts, that is moving threads from one category to another. Optionally one can specify until what date threads should be moved. ENH: DeletePost, DeletePosts and MovePosts now return number of affected posts ENH: DeleteCategory now return a bool signalling if a category was affected ENH: DeleteCategories now return number of affected categories BCH: GetCategory now takes a CategoryResultConfiguration, as it didn't make sense to give it a CategoriesResultConfiguration CHG: Fulltext is now Neutral by default, not US English. ENH: Comparison now has inequality operators, before it was only equal and notequal ENH: ForumSqlDao implementation: In .NET 1.1 every date sent in to API methods is assumed to be a UTC date. In 2.0 a date with the kind Unspecified is assumed to be a UTC date. A date with the kind Local is converted to a UTC date before being sent to the database. For DateTimeAttributes the logic is up to the consumer. NEW: New property on Category: Domain NEW: New property on Post: EffectivelyVisible. Tells if the post is visible from the perspective of what filter you have used when you retrieved posts. ENH: Setting the date filter properties in ThreadedPostsResultConfiguration now actually does something in the GetPost method, namely filters the first level of descendant posts ENH: Now possible to page on the first level of child posts through the GetPost overload that takes a PagingResultConfiguration BUG: A bug with how the update and delete triggers handled updates of several rows has been fixed. The bug cause the PostCountVisible and PostCountAll in the table FORUM_PostDerivedInformation to contain wrong values. **** nJupiter.Services.Forum.UI: ENH: AddPost now supports reply indicators when using the UseTitleFromParentPost property ENH: Now possible to show/hide title in HierarchicalPostList ENH: Now possible to show body in FlatTabularPostList and limit the length of what is displayed ENH: Now possible to show Visible and EffectivelyVisible in FlatTabularPostList ENH: Now possible to filter on attributes via AttributeCriteria property in FlatTabularPostList ENH: Now possible to filter on user identity via UserIdentity property in FlatTabularPostList ENH: UpdatePost now includes all fields that AddPost contains ENH: AddPost, UpdatePost: now possible to hide Title field (makes Body unconditionally mandatory) ENH: HierarchicalPostList now takes virtually no viewstate at all when no buttons are visible on the control ENH: FlatTabularPostList now automatically adjusts when the paging gets out of bound. This happens when a combination of setting NumberOfItems and pressing a paging button makes us come outside the TotalNumberOfItems of the list. This is done by looping until we have items or we are at page one. Rests on the logic in PagedListing that adjusts CurrentPageNumber on out of bound situations. ENH: HierarchicalPostList can now be sorted in descending chronological order ENH: FlatTabularPostList and HierarchicalPostList now provides possibility to hyperlink the authors' names via the UrlWithoutTrailingUserIdentity property. ENH: Now possible to filter out levels in HierarchicalPostList, via Levels property. For instance blog pages might want to display the first level of posts. ENH: Now possible to set maximum length on Author and Title in AddPost and UpdatePost CHG: All -ing events can now be cancelled, by setting the Cancel property on the eventargs to true. **** nJupiter.DataAccess NEW: New utility class for translating a user entered search text to a string with the format that the CONTAINS function in SQL Server requires. ENH: Unused exception classes has been excluded from the assembly BCH: Change of casing on Username to UserName to be consistent with the casing of "user name" in the rest of the namespace **** nJupiter.DataAccess.Users ENH: Cascading deletes when deleting rows from USER_User (USER_Property rows are deleted automatically). Applies for USER_Context also. CHG: Fulltext is now Neutral by default, not US English. BCH: Breaking change for the SearchCriteria object. It now exposes a Property instead of Name and Value. Now it is also possible to do range searches with GreatherThan, GreatherThanOrEqual, LessThan and LessThanOrEqual. Does not work with Int, DateTime, Binary and Decimal until the serialized form of those preserves order, which is not implemented as of now. **** nJupiter.Configuration CHG: ConfigKey in ConfigHandler.GetConfig is no longer case sensitive ENH: Has now support for relative paths in config. See the ReadMe.txt in the install folder for example how to use. **** nJupiter.Net.Mail BCH: The config for userName and password used in nJupiter.Net.Mail.MailSender has been changed. The userName and password are now attributes on the smtpServer-key instead of own elements. ENH: nJupiter.Net.Mail.Mail is rewritten and uses base64-encoding for all UTF-8 content. **** nJupiter.Web.UI BCH: Changed name on property SuppressAutoDatabinding to SuppressAutoDataBinding **** nJupiter.Web.UI BUG: Bug fix for Paging component where "..." links were shown even though buttons were active BUG: Bug fix in WebFlash.cs. It now inherits from WebGenericControl instead of HtmlGenericControl. This makes sure it renders a div tag. BCH: GeneralListing and PagedListing are now pure webcontrols, please remove the reference to the ascx's in your project and refer to the namespace instead. The lists are no longer put to viewstate by default. If you need to have the datasource viewstated, then set ViewStateList to true. This is almost only needed when you have form controls inside your list. ENH: Paging is now a pure webcontrol, please remove the reference to the ascx in your project and refer to the namespace instead. ENH: PagedListing now automatically adjusts CurrentPageNumber to the highest possible page number given the total count if we get out of bound (by setting ItemsPerPage and pressing next and getting out of bound). This happens regardless of how DisablePaging is set. ENH: WebFlash has now support for UFO which is default instead of SWF object. BCH: ControlUtils are renamed to ControlHandler BCH: IsWorthlessBrowser in ControlHandler is renamed to IsIE NEW: A new property is added to detect PreIE7-browsers NEW: A new class called WebHead has been added. Use this instead of the head element to be able to add scripts and styles to the head with the new function ControlHandler.RegisterClientScriptBlock ENH: Paging has now full support for accessable linked paging (Use Links insted of Buttons) NEW: A new more accessible WebLinkButton has been added ENH: WebButton does no longer make use of scripts in IE7 or above (?. we hope it will never be any above) CHG: WebDropDownList does now inherit directly from DropDownList in .NET2.0 and above ENH: WebForm does now add application/xhtml+xml compliant comments to all script tags Changes for V1.3.0.0 - 2006-10-13 =============================================================================== **** nJupiter.Services.Forum.UI BUG: Search functionality in FlatTabularPostList.ascx is no longer broken (was broken from 1.2.0.0) Changes for V1.2.0.0 - 2006-05-18 =============================================================================== **** nJupiter.Net.Mail NEW: Own SmtpClient added CHG: MailSender now using our own SmtpClient instead of the one included in .NET