ChangeLog Creuna.Platform =========================================================================== Changes for V3.7.0.0 - 2008-09-11 =========================================================================== * Creuna.UI.Controls - New abstract base class for navigation controls calles Creuna.UI.Controls.Web.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. * Creuna.EPiSrvr.UI * Creuna.Cms.EPiSrvr - In Navigation, if the delegate to get the anchor defines CssClass, NavigateUrl and Text, the properties do not get overwritten. In the case of CssClass we append to CssClass instead of overwriting it. In the case of NavigateUrl and Text we do not evaluate the delegates for getting the url and text if the properties are already set. - Navigation now inherits from an abstract base class in Creuna.UI.Controls.Web.WebNavigation. All delegates are moved to this namespace and all event arguments are renamed with a "Web" prefix. Changes for V3.6.0.0 - 2008-08-11 =========================================================================== * Creuna.Cms.EPiSrvr.Services.Poll - Added a setting, redirectToSelfOnVote, that makes us not have a latent POST request in the page after voting. * Creuna.Cms.EPiSrvr.Services.Newsletter - Added the possibility to specify user name and password for smtp server, in Creuna.Cms.EPiSrvr.Services.Newsletter.config just like it is possible in System.config * Creuna.Util - 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.1.0 - 2008-07-04 =========================================================================== * Creuna.EPiSrvr.UI - SimpleAddressRedirectionHandler, added support for redirect of aspx-files. 404-handling changed when asp.net files are requested. * Creuna.Cms.EPiSrvr - Added the possibility to exclude paths to be rewritten inside the HTML that EPiServer rewrites. Also added the possibility to exclude an entire page request to not be touched at all. Use the "friendlyUrl/nonRewrittenUrls" and "friendlyUrl/untouchedPaths" settings in Creuna.Cms.EPiServer.config. * Creuna.Cms.EPiSrvr.Services.Newsletter - Added the possibility to specify username and password for the url from which the Dispatchers retrieve the html to build up the newsletter to send. - Fixed so that friendly urls are correctly "re-based" as all urls touched by Friendly Url automatically are relative. - Added the possibility to specify a user agent for the fetch request of the newsletter. Changes for V3.5.0.0 - 2008-07-01 =========================================================================== * Creuna.EPiSrvr.PortletFramework - Minor fix to make css changes on portlets (ie theme changes and background images) appear in the portlet manager immediately * Creuna.Cms.EPiSrvr.PortletFramework - Minor fix to make css changes on portlets (ie theme changes and background images) appear in the portlet manager immediately * Creuna.UI.Controls - 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 =========================================================================== * Creuna.UI.Web.CssCompressor - Added a HttpHandler that merges all css imported with @import to one file, and caches it * Creuna.Cms.EPiSrvr.PortletFramework - Some fixes for FURL in EPiServer 5 * Creuna.EPiSrvr * Creuna.Cms.EPiSrvr - DateFilter now has the possibility to use a delegate to determine the property name - PageDataCollectionSorter now has the possibility to use delegates to determine the property names * Creuna.Cms.EPiSrvr - Added the property CookieDomain to DomainConfig - Added the possibility to make the start publish date and create date in the edit UI of EPiServer be empty by default by using the "editUI/pageStartPublishEmpty" and "editUI/pageCreatedEmpty" settings in Creuna.Cms.EPiServer.config. * Creuna.Cms.EPiSrvr.Services.Newsletter - Ported the CMS 4 project to a new CMS 5 project * Creuna.UI.Controls - 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 =========================================================================== * Creuna.Configuration - Major memory bug fixed in filewathcing functionality. * Creuna.UI.Controls - New class HtmlHandler that can let you automatically hyperlink informal urls, strip all HTML tags from a string or convert line breaks to
. - WebButton now has a property IsClicked, than can be checked before the actual Click event occurs. * Creuna.EPiSrvr * Creuna.Cms.EPiSrvr - DataBindOnLoad property has changed name to AutoDataBind because the auto databinding is not done on load but on prerender because of the post back events. - Possible crashes in template page fixed, when DomainConfig is loaded before the request object was initilized the page could crash in some rare situations. - CrossSiteRedirectionHandler added. - Now possible to specify an AccessLevel for Navigation * Creuna.Cms.EPiSrvr.PortletFramework * Creuna.EPiSrvr.PortletFramework - PortletPageMasterBranch removed from PortletBase, user fallback in propertyhandler instead. * New Creuna.Cms.EpiSrvr.Web.Hosting.VirtualPathSqlProvider using SqlServer as file storage. * Creuna.Cms.EPiSrvr.Services.Poll - Ported the CMS 4 project to a new CMS 5 project * Creuna.UI.Controls.Web.WebFlash - Now uses SwfObject2Emebeded as default. SwfObject2 is now updated to v1.0 sharp * Creuna.UI.Web.EmailObfuscator - New component that works as a http-filter and obfuscate email addresses in html-pages. * Creuna.Cms.EpiSrvr.Web.Hosting * Creuna.Cms.EpiSrvr.Web.Hosting.Tests - Alpha version of VirtualPathSqlVersioningProvider added Changes for V3.2.0.0 - 2008-02-18 =========================================================================== * All projects - Lock-statements optimized and fixed - Fixed so web pathes now are relative, not absolute, so it will be easier to customize web pathes. * Creuna.Configuration - Bugfixes in the filewatcher functionality. The configuration handler shall no longer hang or crach if a non valid xml is saved. * Creuna.DataAccess - Bugfixes for datareaders. * Creuna.DataAccess.Users - SetPassword no longer saves the user * Creuna.Util - Creuna.Util.Globalization.CultureHandler does now have shortcuts for CurrentCulture and CurrentUICulture * Creuna.UI.Controls - Fixed bug in WebLinkButton where NoLink=true resulted in an unencoded string - Paging is now a templated control, so you can make HTML of your own choice now, or just use the builting defaults. - Paging now has an additional paging mode: Anchors. - StrictHtmlTextWriter now fixes IDN encoded URLs. - StreamImage now works with Virtual Path Providers - WebForm fixed to work correctly even with .NET 2.0 SP1 - WebRadioButton does now works correctly again, no ugly spans or other Microsoftish HTML-rubbish * Creuna.Cms.EPiSrvr - Now it is possible to specify in the optional configuration file Creuna.EPiSrvr.Cms.config the default value of "PageChangedOnPublish". - Now it is possible to specify in the optional configuration file properties to hide from the edit interface of EPiServer. - Navigation has a new property: IncludeChildrenOfRemovedNodesMode This automatically finds pages hidden under VisibleInMenu=false pages. Setting it to InSelectedPathOnly makes it suitable for generating breadcrumbs where a page in the path is hidden in the menu. - Now possible to also get the filtered away items on PageDataCollection.Filter - New property on Navigation: SelectedPath. Contains a PageDataCollection with all pages in the selected path. - Has now a WebUFSImage that make use of EPiServers Virtual Path Provider - PropertyHandler has now support for language fallback on property level, not just page level - Right click menu does now work with WebForms - Bug fixes in unspecified id hadling and default language handling * Creuna.Cms.EPiSrvr.PortletFramework - Does now work in EPiServer 5 * Creuna.EPiSrvr.UI - Navigation has a new property: IncludeChildrenOfRemovedNodesMode This automatically finds pages hidden under VisibleInMenu=false pages. Setting it to InSelectedPathOnly makes it suitable for generating breadcrumbs where a page in the path is hidden in the menu. - Now possible to also get the filtered away items on PageDataCollection.Filter. - New property on Navigation: SelectedPath. Contains a PageDataCollection with all pages in the selected path. - Bugfix: The custom filters is now passed to the subnavigations - PropertyHandler has now support for language fallback on property level, not just page level * Creuna.EPiSrvr.Services.Newsletter - Sending newsletter to different language branshes shall now work * Creuna.EPiSrvr.PortletFramework - Small optimisations * Creuna.UI.Web.EmailObfuscator - 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 =========================================================================== * Creuna.Util - DateHandler is moved from the namespace Creuna.Util.Date to Creuna.Util.Globalization * Creuna.EPiSrvr.UI - Log4net is now configured in the standard way that is recommended by Apache. Logging shall now always be done to a logger declared by the type beloning to the class from within the logging is performed, and can therewith be filtered from the namespaces hierarchy. Look at the following URLs for more information http://logging.apache.org/log4net/release/manual/introduction.html#Logger%20hierarchy http://logging.apache.org/log4net/release/faq.html#How%20do%20I%20get%20the%20fully-qualified%20name%20of%20a%20class%20in%20a%20static%20block%3f - The log4net file is now watched so the logging config can be updated while the application is running. - New property on Navigation: VisibleDescendants. Tells how many visible pages are in the navigation. VisibleDescendants - VisibleChildren = how many kids are in expanded menu. * Creuna.UI.Controls - WebGenericControl and all its inheritors does no longer render if they are completely empty. - SWFObject in WebFlash is now updated to version 1.5 and does now support custom express install movies. - 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. * Creuna.Services.Forum - 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. - 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. * Creuna.Services.Forum.UI - Creuna.Services.Forum.UI.config not mandatory anymore - 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. - FlatTabularPostList now exposes a PostsSorting event which can be used to intercept what is to be sorted and change it. - 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. - 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. - 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 =========================================================================== * Creuna.DataAccess.Users - 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 property on AbstractProperty: SerializationPreservesOrder. Set to false if an implementation does not preserve order in its serialized form. - Fixed a bug where we never searched in specific contexts - Took away the Context property on SearchCriteria, as it exists on SearchCriteria.Property already. * Creuna.EPiSrvr.UI - Creuna.EPiSrvr.UI.Util.PageHandler does now handle EPiServer language settings when compiled for EPiServer 4.60 and above. - Creuna.EPiSrvr.UI.Util.PageHandler does now also contain shortcuts and better overloads for FindPagesWithCriteria - OnPreInit added to UserControlBase * Creuna.EPiSrvr.PortletFramework - Critical bug fixed that messed up portlet references when copying or importing pages. - Copy/Paste between pages - Local Portlets renamed to Page Portlets - Global Portlets renamed to Site Portlets - Better overview of portlets where it is also possible to see which portlets that are used on the current page and which are not. - New portletpanel - Possibility to remove unused portlets - Better handling of Page Portlets and security so a Page Portlet cannot be added to another page than it is belonging to. - Functionality to manage portlets from listings, not just from the portlet manager has been added. - Better loading functionality for the portlet manager. Now it is first loaded when it is visible. - Functionality to redefine portlets from Page Portlets to Site Portlets and vice versa. - plus many minor updates... * Creuna.Services.Forum - Sorting is now using a secondary sort, TimePosted, when the sort key is not unique. Makes sorting on for instance Visible more predictable - New method, GetNumberOfPosts, retrieves number of posts. Optionally one can specify a time interval and include or not include hidden posts in the count. * Creuna.Services.Forum.UI: - Now possible to put an "All" item in the NumberOfItemsSelector - Now possible to limit the length of title in FlatTabularPostList. - Now odd rows have the css class "odd" and even rows have the css class "even". It was the other way around before. - FlatTabularPostList now exposes a MaximumTitleLength property. * Creuna.EPiSrvr.Services.Noticeboard - Now odd rows have the css class "odd" and even rows have the css class "even". It was the other way around before. * Creuna.EPiSrvr.Services.FAQ - Now odd rows have the css class "odd" and even rows have the css class "even". It was the other way around before. * Creuna.EPiSrvr.Services.News - Now odd rows have the css class "odd" and even rows have the css class "even". It was the other way around before. Changes for V2.1.0.0 - 2007-05-18 =========================================================================== * Creuna.EPiSrvr.UI - Now also the heading is passed through the GetNavigationItemName and GetNavigationItemLink delegates. * Creuna.EPiSrvr.Mirroring - Now supports inverting of the blnMirroringChildNodesFetchContentFromMaster property so fetch from content can be the default behaviour. - Now supports automatic moving of pages in a mirrored structure. Set automaticallyMovingPages to true to enable this behaviour. - Support for including the slave root in the mirroring. - Minor bugfixes * Creuna.Services.Forum - 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 Property on Post: ParentId. Indicates the parent post of the post in the same way CategoryId indicates what category a root post belongs to. - 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 method on ForumDao: GetDomains - Bug fix of one overload of GetPost: it would crash if we didn't find a post * Creuna.Services.Forum.UI: - 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. - 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. - AddPost now has a ReplySourcePostId property. The UseTitleFromParentPost has been renamed to UseTitleFromReplySource. - 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. - AddPost and UpdatePost now both have a mandatory fields "legend" - AddPost and UpdatePost now can present Author textbox after the Title and Body textboxes - FlatTabularPostList now has a CategoryName column which can be hyperlinked through the UrlWithoutTrailingCategoryId property. - New control: CategorySelector. Is an implementation that facilitates the choosing of categories in different scenarios. - Now possible to get only children of a post, instead of retrieving the post _with_ the children in HierarchicalPostList - Now possible to hide the column headers in FlatTabularPostList - UpdatePost now handles concurrent updates and deletes - New AuthorResolver property on HierarchicalPostList and FlatTabularPostList makes it possible for the Author text to come from another source, for instance UsersDAO. - 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) - Now possible to filter on dates in HierarchicalPostList - 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. * Creuna.UI.Controls - 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 - Added WMode property on WebFlash. The Transparent property is now obsolete. It will still work as before, but please update your code. - TrailingBreak and TrailingLinefeed is now implemented in all relevant controls. * Creuna.DataAccess - Now FullTextHandler.GetContainsSearchCondition takes an ImplicitOperator parameter. The default is "And". Possible values are "And" and "Or". - Bug fix of FullTextHandler.GetContainsSearchCondition not recognizing upper case OR, NOT and NEAR. Changes for V2.0.0.0 - 2007-02-21 =========================================================================== * Creuna.Services.Forum - 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. - DeletePost, DeletePosts and MovePosts now return number of affected posts - DeleteCategory now return a bool signalling if a category was affected - DeleteCategories now return number of affected categories - GetCategory now takes a CategoryResultConfiguration, as it didn't make sense to give it a CategoriesResultConfiguration - Fulltext is now Neutral by default, not US English. - Comparison now has inequality operators, before it was only equal and notequal - 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 property on Category: Domain - New property on Post: EffectivelyVisible. Tells if the post is visible from the perspective of what filter you have used when you retrieved posts. - Setting the date filter properties in ThreadedPostsResultConfiguration now actually does something in the GetPost method, namely filters the first level of descendant posts - Now possible to page on the first level of child posts through the GetPost overload that takes a PagingResultConfiguration - 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. * Creuna.Services.Forum.UI: - AddPost now supports reply indicators when using the UseTitleFromParentPost property - Now possible to show/hide title in HierarchicalPostList - Now possible to show body in FlatTabularPostList and limit the length of what is displayed - Now possible to show Visible and EffectivelyVisible in FlatTabularPostList - Now possible to filter on attributes via AttributeCriteria property in FlatTabularPostList - Now possible to filter on user identity via UserIdentity property in FlatTabularPostList - UpdatePost now includes all fields that AddPost contains - AddPost, UpdatePost: now possible to hide Title field (makes Body unconditionally mandatory) - HierarchicalPostList now takes virtually no viewstate at all when no buttons are visible on the control - 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. - HierarchicalPostList can now be sorted in descending chronological order - FlatTabularPostList and HierarchicalPostList now provides possibility to hyperlink the authors' names via the UrlWithoutTrailingUserIdentity property. - Now possible to filter out levels in HierarchicalPostList, via Levels property. For instance blog pages might want to display the first level of posts. - Now possible to set maximum length on Author and Title in AddPost and UpdatePost - All -ing events can now be cancelled, by setting the Cancel property on the eventargs to true. * Creuna.DataAccess - New utility class for translating a user entered search text to a string with the format that the CONTAINS function in SQL Server requires. - Unused exception classes has been excluded from the assembly - Change of casing on Username to UserName to be consistent with the casing of "user name" in the rest of the namespace * Creuna.DataAccess.Users - Cascading deletes when deleting rows from USER_User (USER_Property rows are deleted automatically). Applies for USER_Context also. - Fulltext is now Neutral by default, not US English. - 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. * Creuna.Configuration - ConfigKey in ConfigHandler.GetConfig is no longer case sensitive - Has now support for relative paths in config. See the ReadMe.txt in the install folder for example how to use. * Creuna.Util - The config for userName and password used in Creuna.Util.Web.Mail.MailSender has been changed. The userName and password are now attributes on the smtpServer-key instead of own elements. - Creuna.Util.Web.Mail.Mail is rewritten and uses base64-encoding for all UTF-8 content. * Creuna.EPiSrvr.UI - Creuna.EPiSrvr.UI.Web.Navigation has been deprecated. Please use Creuna.EPiSrvr.UI.WebControls.Navigation instead. This is a pure WebControl with no ascx, and has now better support for templating. - Creuna.EPiSrvr.UI.Web.RelatedLinks has been deprecated. Please use Creuna.EPiSrvr.UI.WebControls.RelatedLinks instead. This is a pure WebControl with no ascx, and has now better support for templating. - Everything beneath namespace Creuna.EPiSrvr.UI.Listings has been deprecated. Use controls with the same name under Creuna.EPiSrvr.UI.WebControls instead. These controls are no longer dependent on any ascx files. 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. - ReadMoreLink.ascx removed. Please use WebAnchor instead. - The event CategorySelectorPopulated in CategoryListing renamed to CategoriesPopulated - The content/region-handling in Creuna.EPiSrvr.UI.WebControls.ContentFramework completely rewritten. The old version didn't manage to handle viewstate for repeaters correctly. So now there is no need to always put datasources for repeaters in viewstate if there isn't any form controls inside the repeater. - 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 doesn't happen if DisablePaging is true. - A LastModifed property has been added to TemplatePage. This property also checks listins objects and portlets to chack what is last changed. - Config and property for SetLastModifiedHeader has been added to TemplatePage. If this is set to true, a last-modifed http-header is added to all pages - Config and properties has been added for full Xhtml Content Negotiation. Can either be set for the whole server, the whole site or programatically for a speciffic page. - Simple EPiServer search-API has been added to PageHandler - A FindPagesOnType-method has been added to PageHandler - A GetPageType(string) has been added to PageHandler. The input-string can eihter be a GUID, ID or the name of the PageType. - A GetPageRelations-method has been added to the PageHandler. This will return a collection of pagerelations in the same way as the generic delete-function will do in EPiServer. - A GetUrlValue/UrlValue-method has been added to the PropertyHandler. Use this for properties that can either be an external url or an internal url. This will fix a bug in EPi4.61 so you automatically will get a link to the right language branch. - An abstract PropertyDropDown has been added to make it easier to buld drop down properties in EpiServer. - Better support for EPi4.61 in general * Creuna.EPiSrvr.Personalization.Subscriptions - Now makes use of the new listing controls in Creuna.EPiSrvr.UI. If custom versions of this control is used in your project, please update the backend and possible inheritances from the ascx files. * Creuna.EPiSrvr.Services.Calendar * Creuna.EPiSrvr.Services.FAQ * Creuna.EPiSrvr.Services.News * Creuna.EPiSrvr.Services.Noticeboard - Now makes use of the new listing controls in Creuna.EPiSrvr.UI. If custom versions of this control is used in your project, please update the backend and possible inheritances from the ascx files. * Creuna.UI.Controls * Creuna.EPiSrvr.UI * Creuna.EPiSrvr.Services.News - Changed name on property SuppressAutoDatabinding to SuppressAutoDataBinding * Creuna.EPiSrvr.Services.Calendar - CalendarListing does no longer contain any frontend. Everything is rendered from codebehind. If you have made an override of this, please remove the ascx and populate your control on PopulateListControls instead. * Creuna.EPiSrvr.Mirroring - blnMirroringDisabled EPiServer Property is no longer mandatory in EPiServer PageTypes that is using Mirroring. * Creuna.UI.Controls - Bug fix for Paging component where "..." links were shown even though buttons were active - Bug fix in WebFlash.cs. It now inherits from WebGenericControl instead of HtmlGenericControl. This makes sure it renders a div tag. - 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. - Paging is now a pure webcontrol, please remove the reference to the ascx in your project and refer to the namespace instead. - 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. - WebFlash has now support for UFO which is default instead of SWF object. - ControlUtils are renamed to ControlHandler - IsWorthlessBrowser in ControlHandler is renamed to IsIE - A new property is added to detect PreIE7-browsers - 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 - Paging has now full support for accessable linked paging (Use Links insted of Buttons) - A new more accessible WebLinkButton has been added - WebButton does no longer make use of scripts in IE7 or above (?. we hope it will never be any above) - WebDropDownList does now inherit directly from DropDownList in .NET2.0 and above - WebForm does now add application/xhtml+xml compliant comments to all script tags * Creuna.EPiSrvr.Services.Newsletter - The PopulateSubscriberListDropDown() method now send a PageData instead of a PageReference into GetDomains to be compatible with EPi4.61 language support. - Parameters to all methods that is dependent on language has been added to be compatible with EPi4.61 language support. * Creuna.EPiSrvr.DataAccess.XmlImportExport Rewritten to support EPiServer 4.61. Not tested. Still beta. * Creuna.EPiSrvr.UI.Properties.Specialized - This special property has been added. Contains a XHTMLlongtext-property that parses its content thru Tidy.NET before saveing it to EPiServer. * Creuna.EPiSrvr.PortletFramework - The new Portlet Framework has been added to the platform Changes for V1.3.0.0 - 2006-10-13 =========================================================================== * Creuna.EPiSrvr.UI - DateFormat and DateTimeFormat removed from TemplatePage and Config. Use CultureInfo instead: myDate.ToString(DomainConfig.DateFormat) --> myDate.ToString("d") myDate.ToString(DomainConfig.DateTimeFormat) --> myDateTime.ToString("g") And to get UtcOffset use the GetUtcOffset method in .NET instead. - Bug that caused the SmtpClient to throw an exception in some situations when closing the connection to smtp-server has now been fixed. * Creuna.EPiSrvr.Services.Newsletter - Total remake of this control. Not backward compatible with the old control * Creuna.Services.Forum.UI - 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 =========================================================================== * Creuna.Util - Own SmtpClient added - MailSender now using our own SmtpClient instead of the one included in .NET