In the following we list the new and enhanced features found in SiteCore version 4.3.0.
End-user impact
Unified backend API
A new unified and optimized backend storage API allows virtual content level integration with external systems. This is an extremely powerful feature opening for unprecedented integration possibilities.
Optimizations
The new backend API has been heavily optimized resulting in incremental publishing for XML file based storage as well as a significantly faster end-user client (approaching Windows application program speed). A 10,000 document XML file will now do a full publish in less than 3 seconds compared to minutes in 4.2.0.
Sub tree publishing
Ability to right-click on any given sub tree and to publish changes in that sub tree only. Security rights now include setting a publishing flag at a node level (for sub tree publishing).
Publishing channels
Publishing interface now includes publishing groups resulting in the ability for the publishing process to result in different output databases (easily publish to an Internet / Extranet database separated from Intranet data).
Multilingual client
The user client is available in Danish and English. Flexible translation system allows further translations into e.g. German, Swedish, Chinese and Norwegian without releasing new versions of SiteCore.
Security settings
Individual user security settings has been moved to a group level to accommodate optimal LDAP support.
Security section
Ability to organize users and groups inside one level of logical folders (useful for large user databases).
Data Views
A new (alternate) method for inputting data where the editor changes the content in a WYSIWYG editor, regardless that the content is divided into several independent data fields. Also allows editors to quickly switch layout at a page level thereby reorganizing the data in different manners at the click of a button. Editors can design their own views (if permitted).
Table editor improvements
Table editor rewritten with a significantly enhanced user interface, as well as to be tightly integrated with the HTML editor.
Recycle bin
Deleted items are moved to the Recycle bin rather than being deleted.
Portal support
Minor adjustments made prior to the announcement of the personal end-user SiteCore Portal.
XML editor Prepared
A new field data type has been created for use with plug-in XML editors. We will attempt to implement Altova's XML editor as a post 4.3.0 release.
Developer features
Auto-documentation enhancements
Auto-documentation is now more comprehensive with an improved user interface. Now also saves documentation in an XML format that the developer may work with. Includes XSL that transforms the document into HTML.
Packager
Packager is optimized to provide an enhanced user interface for building packages.
Layout'er
The layout designer is changed to accommodate embedded code and visual support for .NET server controls. Also support for programmatic layouts.
It is now possible to edit a layout without opening the layout in the HTML editor. Instead the entire layout source can be viewed and edited directly from the item.
The source of an XSL file can be edited directly from SiteCore.
SiteCore checks if the source has been changed by another user before saving.
Programmatic layouts
Developers can now programmatically control of layouts and renderings. Makes it extremely simply to program sites with varying designs and content (e.g. portals targeted to different age groups).
Security
The tree selector drop down now reflects security settings on the section nodes (/content, /media library, /templates etc.)
Database
Backup of SQL Server databases now supported from within the Sitecore client.
API
API enhancements
Enhancements to allow a value to be stored in IFrame fields (thereby we open for the possibility of new field types). Various Word cleanup scripts moved to server side in order to accommodate easier support for external Word integration modules.
Fld function to return nothing
The fld() function return nothing rather than the old red error text.
Cleanup as server side
The Word filtering and HTML cleanup logic now available as a web service.
Programmatic layouts
Implemented and allows programmatic control of layouts and renderings. Makes it extremely simply to program sites with varying designs and content (e.g. portals targeted to different age groups).
Web config
Web.config settings have been reorganized and moved to a <sitecore> section.
A general mechanism for dynamically loading objects implementing specific interfaces has been added to web.config
Developer notes
The Database, Web and Publishing engines are now loaded using the generalized interfaces mechanism.
Xsl extension objects can be added in the web.config section <xslExtensions> instead of having to use the PageHelper.AddExtensionObject function
PageHelper functions have been moved to the new IWebEngine interface.
Event engine has been implemented. Common operations within the kernel now trigger events that can be caught by event listeners. Operations include Save, Create, Delete, Upload, Publish and others. Trace and exception events are also supported.
Page handlers can now be configured using web.config instead of having to use the single page handler global.aspx.
Multiple page handlers are supported and a page handler can be implemented either as an aspx page or as a class in an assembly.
A background scheduler service has been added. This makes it possible to add tasks that must be run regularly to web.config. Tasks can be aspx pages or .Net objects (ie. C# classes).
Three scheduled tasks have been implemented: Cleanup, Publish and KeepAlive.
- Cleanup removes backup files from the data folder.
- Publish performs automatic publishing.
- KeepAlive prevents the asp.net worker process from unloading due to site inactivity.
Text in data fields can be replaced during publishing using regular expressions specified in web.config.
Root paths in web sites can be made dependent on the url domain. For instance, intranet.sitecore.net could be made to start on the item /intranet, while www.sitecore.net could start on /internet.
Different default languages can be specified for different domains.
Caching support functions now recognise cache groups which can be activated or disabled using web.config.
All renderings, web controls and sublayouts can now specify a Login rendering. If a web site visitor attempts to view a protected page, controls will be substituted with their corresponding login renderings. A login rendering can be a rendering or a sublayout.
A global login layout can be specified in web.config. If a web site visitor attempts to view a protected page, he will be redirected to the aspx page belonging to the login layout. After login the protected page will be shown.
The current item for a page can be overridden in a page handler (State.CurrentItem is now writeable)
The current layout for a page can be overridden in a page handler (State.CurrentLayout is now writeable)
Some or all of the renderings assigned to an item or template can now be suppressed programmatically in a page handler. Alternatively, renderings can be added.
Web engine has been rewritten for better performance and error reporting.
The file global.asax is no longer used by Sitecore
Sitecore users with blank passwords can now be created
The start item in the sitecore client can now be specified per user
It is now possible to enter aliases in Sitecore, so that specific urls can be mapped to arbitrary Sitecore items. For instance /news.aspx could map to /home/sections/news/latest
Extranet security checking can now be turned off.
Logging can be performed using the EventDispatcher object (DispatchTrace and other functions). The trace messages will be written to a log file in the data folder. A new log file will be created daily.
Html cache can now be set to time out after a specified time interval.
When generating a preview, the first page of the web site can now be prefetched before announcing that the preview is ready. This result in better perceived performance.
Publishing requests are now serialized and executed by a background thread on the server. This means that the user does not have to wait for a publishing request to finish before being able to continue working. Also, even though a lot of publishing requests are issued simultaneously, the server will only be executing one at a time.
Database and item access through interfaces. Data objects can now only be created through factories.
Implementation of custom data providers have been greatly simplified.
Sitecore has been split up into 18 separate dll files to enhance extensibility, upgrading and patching.
It is now possible to implement new field types. The field type template contains references to the assembly and a class that implements the new field type.
Javascript files can now be included in any frame in the client, thus enabling further customization of the client. These files are specified in web.config.
Customized toolbuttons can now be added to every toolbar and menu. Toolbar buttons in the content area can be dependent on the current template.
When trying to install an older package (4.2) a warning will be shown.
New developer functions include: Delete all subitems, Resort all subitems, Activate/Deactivate linked databases.
HTML editor now maps styles to <H1>, <H2>, <H3>, etc. in order to better support people with disabilities.