Fixes and Changes in Release 1.4
This page lists all work items related to Smartsite iXperion 1.4 Build .
The WI column lists the number from our internal issue management system, the Build column lists the release build in which the fix/change was introduced.
Work items, listed in green, refer to builds that have not (yet) been released.
Work items related to Smartsite iXperion 1.4
Number of work items: 596.
WI | Build | Description |
---|---|---|
6268 | 1 | Smartsite ErrorPages now set HTTP response status according to failing item The error status passed over the querystring is now used in Smartsite Error Pages, to set the HTTP status accordingly. |
6593 | 1 | The TestSuite did not notify the user when it was displaying a website that was not rendered by the TestSuite. The TestSuite now notifies the user that it is displaying a website that is not rendered by the TestSuite by giving the url textbox a different background color. |
6605 | 1 | When the SchemaSetId was set to "Xslt20", validation and IntelliSense did not work. The schema supplied by W3C did not work as is and needed a small modification to work with IntelliSense. |
7010 | 1 | The resultformat parameter of the macro Format did not support the properties trim, whitespace and rem like the resultformat parameter does on other macro's. |
7019 | 1 | When the image properties for multiple images were requested at the same time using the ImageProperties macro, the image properties of the different images were mixed up. |
7047 | 1 | Site startup exceptions are now also shown on requests to /. Previously, for some errors to be shown, you had to load the /smartsite.net document because the / document was showing a different error. Now both paths show the same error. |
7150 | 1 | Transform macro now has a compile option for better performance. Generally speaking, for the best performance, enable the compiler for small xslt's and large xml's and disable the compiler for large xslt's and small xml's. The compiler is on by default. |
7154 | 1 | IntelliSense documentation for datetime vipers was incomplete due to a malformed notation. |
7282 | 1 | The Sendmail macro did not support unicode characters in mail addresses. The Sendmail macro now supports unicode characters in mail addresses in the To, Bcc and Cc fields. |
7435 | 1 | Statistics macro now shows pageviews for items that are not yet written to the database. |
7570 | 1 | Smi reports did not show a subtotal if the rows displayed was a subset of all the rows in the database. Now a subtotal has been added for those reports where the number of displayed rows is less than the number of rows in the database. |
7578 | 1 | The Smi report Most Popular Pages was slow and used too much memory on large Smi databases. |
7620 | 1 | Images can now be embedded in mails sent with the SendMail macro by using the parameter "EmbeddedResources" of the SendMail macro. When images are embedded inside an email, the receiver of that mail no longer needs to download the images from an external server but the images are shown immediately because they are included in the email. Images that are not embedded in mails are often blocked by mail clients due to privacy concerns. |
7705 | 1 | The viper datatable.findone now returns the specified default value instead of -1 when a default parameter is specified and no row is found. In previous versions, datatable.findone always returned -1 when no row was found. For ease of use, datatable.findone now returns the default value when no row is found and a default value is specified. |
7741 | 1 | SetSiteSecurity now uses more than one file during validation if a file is locked by another process. During validation, SetSiteSecurity failed to validate read access if it encountered a file that was locked by another process. It now skips files locked by another process during validation. |
7749 | 1 | The image macro can now perform the image transformations inline on images in SXML and return the binary result in a DataTable. Image transformations that could previously only be performed on images downloaded by a browser, can now also be performed in SXML. This allows for scenario's where a user uploads an image (e.g. an avatar), the image is resized in SXML and the binary result is stored in the database. |
7831 | 1 | File uploaded using the cms manager didn't have the appropriate ACL rights The cms manager did use a move file statement, which will not use ACL security inheritance from the folder. As a result, the uploaded file couldn't be displayed ("Access denied"). The cms manager now uses a copy statement on the file(s), which will inherit the appropriate ACL security rights from the (target) folder. After the file has been copied, it is deleted from the temp folder. |
7844 | 1 | A non-descriptive error was raised when the browse start page of a channel was not valid during startup. The code has been modified that a clear error is now raised, stating that the browse start page of a specific channel is not valid. |
7855 | 1 | SMI favorite reports must now have a unique name. |
7882 | 1 | The Activation event was raised twice by the CMS engine. This caused several activities to be executed twice. Due to the Activation event being raised twice, SMI was registering twice as many item activations and the repository workflow was sending mails twice. |
7885 | 1 | IIS could crash due to thrown exceptions at deep recursion levels. Sites that use deeply nested translations could crash with a StackOverflowException if in the deeply nested translations an exception occurred that was only handled at the top level. This problem occurred mostly when Smartsite was running in a 64 bit process. |
7942 | 1 | Smartlet editor parameter parsing and handling has been improved. |
7947 | 1 | Viper spice.command.isscopeactive does not work when previewing. |
7950 | 1 | Removed unnecessary cache of CmsItems in the HttpContext The unnecesssary cache could lead to unnecessary memory consumption. |
7954 | 1 | Error handling somentimes failed in macros Under circumstances, an error parameter would not trap an exception in a macro. |
7957 | 1 | SetSiteSecurity now adds the IIS Anonymous Authentication user to the PUB group. |
7958 | 1 | Validate only does not validate the same number of rules as set and validate does. When choosing the Validate Only option in SetSiteSecurity, the number of rules that are tested does not match the number of rules when setting and validating the rules. |
7988 | 1 | Old cache folder are no longer nested when disk cache is deleted. |
7996 | 1 | Favorites and sent mails in Smi do not have correct dates when a fixed period is chosen. Favorites that are opened or mailed do not use the correct date when a fixed period like "yesterday" or "last month" is used. |
8000 | 1 | Smartsite error pages with exception details were displayed as text/plain. |
8001 | 1 | SMI 2.0 setup did not complete if previous version was installed SMI 2.0 setup failed to install site files if a previous version (SMI 1.5) was already installed. |
8002 | 1 | SetSiteSecurity did not check the diskcache folder setting as defined in the Smartsite.config file but always used the default. |
8012 | 1 | Improve startup performance by skipping dll's on startup that do not need to be loaded. |
8017 | 1 | In SMI, not all visitors were shown in Visitor Tracking. |
8018 | 1 | The Smi reporting setting "FirstDayOfWeek" did not respond to "tuesday". |
8028 | 1 | Bugfix Repository SXML Syntax error: opening and closing tags do not match Item with code REPOSITORY_MAILMESSAGE was of ContentType CAP, in some cases leading to exception "Smartsite.InteropServicesClient: SXML Syntax error: opening and closing tags do not match". This item now is of ContentType AWP which should solve this bug. |
8033 | 1 | Smi can now better detect spiders and webcrawlers. |
8037 | 1 | The parameter /verbose has been added to SmiServer. For debugging purposes, the /verbose parameter has been added to SmiServer. This parameter can be used on the commandline to debug problems with SMI. |
8043 | 1 | New Smi viper has been added to translate IP4 addresses to country names/codes. |
8044 | 1 | The Chart macro did not use the current Sxml locale. The <se:chart> macro did not use the current Sxml locale that can be set using the <se:locale> macro. Instead it was always using the system locale. |
8045 | 1 | The FirstDayOfWeek setting not was not used everywhere in the Smi reports. Due to this bug, a week was sometimes starting on sunday and sometimes on the day of the FirstDayOfWeek setting. |
8046 | 1 | Smi did not display channel's title in the "Visitors per channel" report. Now Smi displays both the channel's title and the channel's code in the report "Visitors per channel". |
8049 | 1 | Access to Smi reports can now be restricted by setting Content Access to the Smi reports |
8051 | 1 | The Smi item with code SMI_CLIENTLOGIC was not publically accessible after setup. The Smi setup did not set the right content access level for the item with the code SMI_CLIENTLOGIC. It was only accessible to administrators while it should be publically accessible. |
8052 | 1 | SmiServer now checks if the client has a supported client version. If the Smi client is not supported by SmiServer, a useful error message is displayed now. |
8054 | 1 | The Smi exclude list filter in Smartsite.ManagementInformation.config has been extended with new features. The exclude list available in previous Smi releases has been extended with an include list, the ability to group several criteria into an OR or AND criterium and the ability to negate criteria. |
8055 | 1 | Custom events stored in SMI can now be filtered by specifying a custom event filter in Smartsite.ManagementInformation.config You can now specify a per site include and exclude filter for custom events in the Smartsite.ManagementInformation.config file. See http://docs.ixperion.smartsite.nl/doc/customevents.html for an example of the filter. |
8060 | 1 | An optional password check has been added for sites hosted in SmiServer. You can now specify a password for each site hosted in SmiServer. The sites configured in Smartsite.ManagementInformation.config must have the same password to be able to send hits and generate reports. |
8061 | 1 | The Smi exclude and include filter in Smartsite.ManagementInformation.config now supports filtering based on a regular expression matching the url. |
8062 | 1 | Access to Smi reports can now be restricted for specific sites based on the usergroup. You can now add restrictions to who can view which site's Smi reports based on the usergroup by specifying the usergroup for each site in the Smartsite.ManagementInformation.config file. |
8067 | 1 | Some Smi dashboard values that were displayed with too much precision are now displayed as integer values. |
8068 | 1 | The Smi reports "Site Entry" and "Site Exit" now allow you to set the scope of the report to "All content" or "Primary content" to filter secondary content from the list of items. |
8077 | 1 | SmiServer settings that are cached by Smartsite are now flushed when the memory cache is cleared. |
8086 | 1 | On a .Net level, the vipers filesystem.getfileinfo and filesystem.readbinarydata now return an SxmlDataTable instead of a DataTable. On an Sxml level, there are no functional differences unless are directly requesting the full type name of the returned value. If you are using the result in other viper methods, there are no differences. |
8090 | 1 | SetSiteSecurity did not always correctly detect a running IIS instance. |
8097 | 1 | Due to a startup bug in SmiServer, it was possible for SmiServer to start an internal site multiple times. This could cause unnecessary memory consumption and instability. |
8104 | 1 | To determine the language in which Smi report are now shown, Smi now first checks the locale of the user and the channel. To determine the language in which Smi reports are now shown, Smi now first checks the locale of the user. If no locale has been set for the user it checks the locale of the channel. If no locale has been set for the channel, it uses en-US. Once a locale has been set, it is stored in personalization and used the next time you use Smi. |
8111 | 1 | The Smi report Visitor Tracking now allows you to set the scope of the report to "All content" or "Primary content" to filter secondary requests from the list of requests performed by the visitor. |
8130 | 1 | The option Enabled has been added to sites that are defined in Smartsite.ManagementInformation.config Smi sites that are defined in Smartsite.ManagementInformation.config now have an extra attribute "enabled" that allows you to disable a site. |
8192 | 1 | SetSiteSecurity could not read encrypted config files. When the Smartsite configuration files were encrypted by the ConfigEditor or the ConfigProtect tool, SetSiteSecurity did not read the correct configuration settings. |
8195 | 1 | Request.Location() viper returned wrong value after Request.MapParams() After mapping URL parameters to the current request, the request.location() viper returned a corrupted value, where it should always return the (read only) original. |
8214 | 1 | The DataLabel used in the Chart macro now has the ability to set the arrow length of a datalabel. |
8224 | 1 | Smi could not create a Pdf export due to a policy change on the servers of W3.org. Due to a policy change on the servers of W3.org, the .Net Framework (and thus also Smartsite) is no longer able to download the xhtml dtd's. The most common dtd's are now embedded in Smartsite to work around this limitation of the W3.org servers. |
8232 | 1 | A debug configuration element has been added to Smartsite.config that allows you to set debug settings. The debug feature "RaiseErrorOnSxmlError" has been added that allows you to raise an error if a macro or viper statement raises an error, regardless of the error parameter in the macro or viper statement. |
8240 | 1 | File paths were accidently url decoded, even when they were not url encoded. The file paths that were url decoded originated from many different places like e.g. the FileSystem.GetAbsolutePath viper, Request.SaveFile viper and many other places. |
8276 | 1 | The viper smidata.getcategories does not work. Due to a programming error, the viper always returned an error. |
8280 | 1 | Smi vipers now raise a better error if Smi is not installed. |
8284 | 1 | Sxml validation failed due to a policy change on the servers of W3.org. See Work Item 8224. |
8295 | 1 | Some Sxml datatables did not work with the viper method datatable.toxml(). Some Sxml DataTables were created internally without a DataTable Name. This name is required for some operations. All DataTables are now created with a name. |
8299 | 1 | When the SxmlEditor can't connect to the server, it now no longer deletes the schema cache and shows a more informative message. |
8306 | 1 | The output of the viper debug.write was culture dependant. This output of the viper debug.write is now culture invariant. The compatibility setting "compatDebugWriteCultureInvariant" has been introduced to revert to the old behaviour. |
8314 | 1 | The Placeholder macro can now assign a default value to the sort column for rows that have no value in the sort column. When you set the ReleaseSetting "placeHolderSortNullValues" to true, the placeholder will now assign the default value to rows that have no value set in the sort column. The default value is 0 for integer columns and "" for string columns. When set to true, the placeholder macro may output its rows in a different order compared to earlier versions. Search for 'releaseSettings' for more information. |
8328 | 1 | The (X)HtmlPage macro now supports the Html 5 doctype. |
8329 | 1 | FileLink items could not handle file references with a querystring. FileLink items can now reference files on disk with querystring parameters which can be useful for images with image processor parameters. |
8332 | 1 | SxmlEditor used to capture Ctrl+t to move the current character to the right, thus disabling the new tab keyboard shortcut in the browser. The feature "Move character to the right" has been disabled. Ctrl+t can now be used to open a new tab in the browser or toggle the tree in the TestSuite. |
8333 | 1 | The SxmlEditor setup now checks if .Net 3.0 has been installed on the client. |
8351 | 1 | Images processed by the ImageServer that were partially downloaded from Smartsite, were crippled on a second request. The ImageServer was not able to handle http requests where only a part of the response was requested by using the http content range. As a result, images for which the browsers requested only part of the image were crippled. |
8367 | 1 | Content Type values that contain Integer values are not of the correct when used while previewing an item. |
8378 | 1 | Friendly name urls can now be enforced. If friendly name enforcement is enabled, HTTP requests without a friendly url to an item that has a friendly url, are redirected to the url with the friendly name by sending the browser an HTTP 301 Moved Permanently reply. |
8381 | 1 | Smi did not start at all if a filter was misconfigured. |
8386 | 1 | ConfigEditor failed to start if an exception occurred while loading a site. The ConfigEditor will now fail to load the site in which the error occurred but will continue loading other sites. |
8414 | 1 | Persistent cookie blocked access to site With forms authentication, a user who had previously logged on with the 'Remember me' checkbox set, could no longer navigate to any page (not even unrestricted) in the site after his/her account was removed or deactivated. |
8416 | 1 | The Publication Server can now handle the Security option HashPasswords The security option HashPasswords, to store MD5-hashed passwords in the database, is now supported in the front-end. See the article Protecting user accounts using hashed passwords for more information. |
8418 | 1 | Outscaling: synchronize datasource now has the option to compare primary keys When this option has been enabled, the primary keys on the selected target server instance and the local server instance (or vice-versa when pulling is used for the selected datasource) are compared. Records with a primary key that do exist on the target server instance and not on the local server instance will be removed on the target server instance (and vice-versa for a datasource configured to use pulling). This option has been added to the (manual) Synchronize Datasource cms manager action, as well as the Configure Scheduled Events cms manager action. Notice you can use this option only one-way. When you have configured two datasources for a particular table, one for pushing data and one for pulling data, you should only enable the compare primary keys option on one of them. |
8425 | 1 | The Url textbox in the TestSuite was not always showing the correct background color. The url textbox in the TestSuite was sometimes shown in white even though it should have been light yellow because scripting was disabled. |
8431 | 1 | SyncFileLinks macro is too strict on contenttypes The SyncFileLinks macro uses the FileLink (FLK) contenttype to check whether or not a cms content item already exists for a specific file on disc. This is too strict, any contenttype within the REF contenttype group should be considered. This way, you can use an alternative contenttype (as long as it's part of the REF contenttype group) for items which are created using the SyncFileLinks macro and a subsequent webservice call to the asynchronous importer. All you have to do is apply xslt on the generated import xml file and switch the contenttype code. |
8438 | 1 | Outscaling: problem with setting items (recursively) inactive or status deleted Within the cms manager, it is allowed to set multiple items to inactive/archived (using e.g. the recursive option within Set Item State) when there are AIM hardlinks between these set of items. However, when this set of items is synchronized to other Outscaling cms subscriber(s), the items which have an AIM hardlink relation to other items would fail. This has been fixed. (This scenario also applies when setting items to status deleted.) |
8448 | 1 | The viper request.getfiledata should not resolve if the given key does not exist in the posted data. |
8449 | 1 | Webtoolkit: table swtUserItemFeedback has been changed The column CompositeKey has been added to the table swtUserItemFeedback. This way, Outscaling will be able to synchronize records for this table between multiple (cms) server instances. Notice you have to create an Outscaling datasource for this table when it is required to synchronize records from this table. (Related to work item 8384.) |
8451 | 1 | The Config Editor now supports setting the Security option to use hashed passwords The security option HashPasswords, to store MD5-hashed passwords in the database, is now supported in the front-end (work item 8416). To easily enable this feature, switch to Advanced Mode and select "Hashed" for the Password Format within the Config Editor. The passwordFormat attribute on the Sql Membership provider will be set to Hashed and the cms manager registry option HashPasswords will be switched on as well. Furthermore, the Config Editor will, when necessary, offer the option to update the existing passwords within the database to MD5-hashed passwords. |
8457 | 1 | HostHeaders were not always loaded correctly in the TestSuite. |
8468 | 1 | Active Directory & LDAP Membership Providers: additional options have been added to limit the number of groups queried The Active Directory & LDAP Membership Providers now both contain additional configuration settings to limit the number of groups queried, to boost the performance even further. These settings include: ObtainPrimaryGroup, ObtainParentGroupsForPrimaryGroup and MaxParentGroupRecursionDepth. See the article Active Directory Role- and Membership Providers for more information. |
8488 | 1 | Performance has been improved of the class that contains the Compatibility settings. |
8499 | 1 | AIM optimized AIM scanning has been optimized |
8500 | 1 | CMS/AIM/ScanIntervalMS Registry setting added AIM scanning can now be tweaked directly by setting the CMS/AIM/ScanIntervalMS setting to a number of milliseconds to pause in between individual AIM requests in the AIM background thread. See http://docs.ixperion.smartsite.nl/doc/iXperion/Installation_and_Configuration/iXperion-CMS-Server/Registry_parameters.html |
8503 | 1 | During preview, the data returned by the itemdata.field viper for an m-to-m relation was of a different type compared to normal rendering. Because the returned data was of a different type during preview, preview was often broken. |
8504 | 1 | Better performance when large CMS updates occur Smartsite iXperion now performs better when CMS updates are propagated and lead to state changes in the publication server. |
8506 | 1 | Smarlet locations are now internally cached which greatly reduces the number of sqlqueries that are executed. |
8509 | 1 | CmsItems were cached per channel but are now cached for all channels. Previously, multiple instance of a single CmsItem could in the cache for different channels. Caching CmsItems only once for all channels allows the CmsItem cache to contain instances of more different item numbers at the same time. |
8511 | 1 | TestSuite performance has been improved by filling the dependency list more efficiently. |
8518 | 1 | NoAim macro now supports Skip parameter The Skip parameter can be used to suppress either dynamic, static AIM scanning, or both (default). Search for 'AIM rendertemplate' in the documentaion for more information |
8536 | 1 | The error "An item with the same key has already been added" occurred during startup. |
8541 | 1 | Url Parameters sometimes corrupted existing urls when re-mapping parameters Url parameters failed to reset its internal state, resulting in corrupted urls. |
8550 | 1 | Friendly name enforcement also redirected http post requests which caused the body to disappear. Friendly name enforcement has been modified to work only on http get requests and no longer on http post requests because the redirected http post requests lost their post data during the redirect. |
8627 | 1 | Single Sign-On and logging in on the (WCF) Interop service failed when using the LDAP Membership Provider. Due to the login failure on the Interop service, content validation and previewing items failed as well. It was therefore impossible to add/change items using the Active state. This has been fixed, single sign-on and Interop service login now also functions properly when using the LDAP Membership Provider. |
6050 | 2 | SendMail macro can now delete file attachments after the mail has been sent. You can delete file attachments by setting the attribute "deleteaftersend" in the member collection of the parameter "attachments" of the sendmail macro to "onsucces". An example is included in the macro documentation: http://docs.ixperion.smartsite.nl/doc/SXML/SXML_Reference/Macros/SendMail_Macro.html. |
6277 | 2 | Recent edits pane now correctly shows all items edited by the user or all users. The Recent Edits window now shows all items edited by the current user and allows users with admin rights to show edits by any user (via Options dialog\CMS\recent) |
6648 | 2 | Urls with bookmarks in HTML data in items could be administrated twice in AIM AIM would create more than one reference to urls with bookmarks found in HTML content. |
6656 | 2 | The manager action Manage Content Access now enables tabs depending on the user's privileges
Opening the dialog without any of these privileges raises an error. |
6889 | 2 | Active Directory and LDAP membership providers didn't support groupnames containing a comma When an Active Directory / LDAP groupname did contain a comma, the membership providers were unable to recurse the group membership for that group. This was caused by the fact that the Common Name was used to retrieve group membership for a particular group and the Common Name wasn't parsed correctly from the distinguishedName. But using the Common Name isn't a very good idea in the first place (it doesn't need to be unique), so the membership providers now uses the distinguishedName (which is unique for every object) to retrieve a group and its members. |
6943 | 2 | EmbedUri macro now adds the request ContentType application/x-www-form-urlencoded when CustomPostData is set. www-form-urlencoded is the only encoding supported by EmbedUri for CustomPostData. |
7067 | 2 | Cms manager: setting security on UserPaths did fail in Edit Groups when the Nr field did have a value >= 100000 |
7183 | 2 | Config Editor: friendly names validation has been approved The Config Editor did execute Friendly Name validations not strict enough. For example, if your site contained an cms item (of contenttype CMS Folder) with the Friendly Name "Images" (which is part of the empty-six site) and your www folder contained an "images" folder as well, the Config Editor did report a warning: "Friendly name 'Images' (item x) equals a subdirectory of the www." This validation is more strict now, it will only check Friendly Names which have the Short Url bit set. |
7633 | 2 | Outscaling: check (file) references mechanism has been adjusted Outscaling, when synchronizing a file reference, did use the osFilesystemSyncstate table to check the modification date of previously sent files. If the recorded date of the file is up-to-date compared to the current date of the file, no further checking was performed and the file was skipped. However, in the meantime the file could have been deleted on the remote server. The check (file) references mechanism has been adjusted and will now always check if the file exists on the remote server. |
7913 | 2 | The description of AccessTypeLevel "List" was wrong. List access means that a user can see the items below a folder. The old description claimed that the user would be able to edit the items below the folder. |
7976 | 2 | Smartsite translation typing and out-parameters Translations can now have typed parameters and return values, and can have outgoing parameters, that can be set by the translation as extra return values. See the section about Translations in the conceptual documentation. |
7977 | 2 | New release setting: EncodeUrlParameterSpaceAsDash The EncodeUrlParameterSpaceAsDash value can be used to represent spaces in URL Parameters as dashes. By default, spaces will be represented by '$2D'. This beautifies URL parameters further. |
7999 | 2 | SmartletListInput now reverts to a textarea in advanced mode (Shift-edit) |
8102 | 2 | Personalization showed incorrect avatar In order for Personalization to show the correct avatar, the ShowForm() translation in the sml_MyProfile Smartlet is updated. To update existing sites, please look for the ShowForm() translation in the 'My Profile Smartlet' folder, and update the part where the avatar image is shown: <label title="You can add a personal image to your profile.">Profile picture</label> {buffer.set(hasAv, personalization.exists('', 'Avatar'))} {buffer.set(img, url.addparameter(smartlet.getresource('/configuration/Avatar'), u, personalization.username()))} {sys.iif($hasAv, buffer.set(img, url.commands.add($img, 'img', mxh, 100)))} <img alt="Picture for profile" width="100" class="{string.concat('Avatar', sys.iif($hasAv, ' Enlargeable', ''))}" src="{buffer.get(img)}" /> |
8133 | 2 | The Smartlet editor would only list Smartlet properties if the smartlet macro was the outer element of the smartlet item. |
8139 | 2 | Apostrophes in Faceted Search facets could show up as ' To fix this bug in existing implementations:
|
8177 | 2 | Smartlets can now be invoked in expressions Smartlets can now be executed as parts of viper expressions, like in an if macro, or using string.eval(), sys.eval(), etc... |
8196 | 2 | SmartletEditor returns "Item ... not found in vwActive" when editing an inactive item. |
8201 | 2 | Smartlet property access loosened When a Smartlet property has 'write' callbackaccess, an exception would be raised whenever reading from it, even after writing to it first. This rule has been loosened now: after writing, you can read from the property. This avoids having to work with temporary buffers. |
8242 | 2 | New named parameter 'evaluationscope' for translations You can use the 'evaluationscope' parameter to pass a scope to translations for sys.eval() execution. |
8251 | 2 | The Period facet for Faceted Search can now be localized New installations are automatically translated. For existing installations, the following changes need to be made:
|
8267 | 2 | Timestamp added to Include Aggregator The Scf Include Aggregator is now capable of adding the last modified date of the global include list it merges, to avoid users having to remove their client cache (or press CTRL-F5) when anything in CSS or Javascript items changes. The timestamp ensures that, whenever the user navigates to a new page (or presses F5), the latest version - if changed- is retrieved from the server and used immediately used during the rendering. This eliminates annoying client errors that could occur when the version of a css or script file on de client cache was outdated. To implement this in an existing site, copy the Scf item GetGlobalIncludeItems(type) from the Empty site, together with the ELBA elements CSS() en Javascript(). |
8275 | 2 | Include Aggregator addition The Include Aggregator now combines disk resources in the /scf/jquery/behavior/ subfolders with jQuery plugins in /scf/jquery/plugins/aggregated/. Files in those folders under the web root will be merged and minified automatically into one CSS and one Javascript include. The Include Aggregator will be inserted or modified after running Publication Setup. |
8302 | 2 | Cms manager: address to be used for single-sign on, css links and "open in new window" is now determined dynamically When multiple host-headers has been configured for the manager (internal and external addresses) the address to be used for single-sign on, css links and "open in new window" is now determined dynamically, based on the address/url used for the accessing the manager itself. |
8348 | 2 | Contextual Translation Scoping introduced Translations can now be given a custom translation scope using the named argument 'evaluationscope' and the TranslationContext macro. Search for 'Contextual Translation Scoping' for documentation. |
8362 | 2 | MVC-style Url parameters are now available on folders The use of parameter encoding in URL paths, as opposed to using querystring variables, is now supported for folders. Search for 'MVC' in the documentation. |
8380 | 2 | Cms manager: export wizard no longer displays the advanced option "Replace item-number in URL's with item-code" This option was a left-over from Smartsite 5 and was never implemented within iXperion. Therefore, the export wizard does not display this option anymore. |
8384 | 2 | WebToolkit: Poll and Rating now both add an Outscaling event, which enables Outscaling to synchronize records related to Poll and Rating. The webtoolkit assembly, used within Poll and Rating, has been adjusted and now automatically adds the appropriate Outscaling event(s) whenever a record is added/updated. Notice that synchronizing Poll and Rating related records is opt-in, so you need to create the appropriate Outscaling Datasource(s) if you want to synchronize these records. See the article Outscaling Web Toolkit related data for more informaton. |
8385 | 2 | Faceted search will sometimes display xml entities in search results To fix this problem in existing installations:
|
8391 | 2 | CmsUpdate macro can now add pre-published items. Simply add the parameter status=1 to the collection of fields. The status parameter does not work when updating an existing item. |
8395 | 2 | Cache management optimized Cache management in Smartsite iXperion is heavily optimized |
8399 | 2 | Forms login process now has friendly Url The Form-based login page in the empty site now uses MVC-style urls, without querystrings. This is done by setting the 'Use Url Parameters' flag in the FriendlyNameType settings of the LOGIN item. For more information, also for configuring it in existing sites, please visit http://docs.ixperion.smartsite.nl/doc/iXperion/Installation_and_Configuration/Security/Authentication_in_Smartsite_iXperion/Using-MVC-style-urls-in-the-Form-based-login-process.html |
8400 | 2 | SetSiteSecurity now works on non English Windows editions. Some builtin users like Network Service and Performance Monitor Users can have different names in non English versions of Windows which caused SetSiteSecurity to fail. |
8409 | 2 | The Channel.State.Get() now supports default=value The Channel.State.Get() now supports setting a default parameter to return if the specified key does not exist. |
8410 | 2 | Outscaling: the background component didn't refresh its internal state when an Outscaling Datasource was added/changed The Outscaling background component determines the built-in datasource upon startup. When you want to change a built-in datasource to manual, you need to add an Outscaling datasource for this table/view and set its synchronization mode to manual. Outscaling didn't pick up this change immediately, you needed to restart the background component so it would refresh its built-in datasources list. To signal the Outscaling Background Component to refresh its internal state after adding/changing an Outscaling datasource, the dataeditor meta xml file osDatasources.xml has been changed. You could also apply these changes yourselves to an existing site. Just add the following code to the onaftersave and onafterdelete logic script sections: Site.dataCache.invalidateGroup "Outscaling" Site.ApplicationPlatform.events.addEvent "DataEditor", "Outscaling", "Refresh" |
8413 | 2 | Fixed AIM Rendering if image macro is used When using image macro and several other CTFPs, AIM Rendering will not function properly unless CTFP ctrl:ItemURLFormat is set to %nr%. This update does exactly that. |
8415 | 2 | Security: no hinting on login failures When logging on fails, Smartsite now produces a single error mesage: Invalid credentials. Previously, the user could see that the username was found but the password was incorrect, due to different error messages. To update the login page in existing sites, open it and look for the string 'login.alert(this.error.message())'. Replace it with the string 'login.alert("Invalid credentials")' |
8421 | 2 | Smartsite did not generate the url / for links to the browse start page on the default channel but generated something like /Pub/Home. The result of this fix is that generated links to the browse start page on the default channel are now / instead of /Pub/Home if the browse start page has a short url. This makes the link more SEO friendly. |
8439 | 2 | Performance optimization in CMS updates Cms updates of translations and Smartlets now have significantly less impact on the Publication Server, due to an optimization of state synchronization procedures. |
8441 | 2 | Repository workflow applied unnecessary text filters to subscriber items This would result in extra occurences of "amp;" in the target item. |
8443 | 2 | Scf.Includes Vipers The client-include-related Viper methods are now grouped into a new namespace: Scf.Includes. Also, a new method, Scf.Includes.AddFolder(), is added, which allows for automatic inclusion of all Javascript and CSS includes in a given folder. |
8444 | 2 | Script and CSS includes now take EvaluationScope into account When running Smartlets with a specified evaluationscope (for instance using a preset), Smartsite will try to include all (non-global) CSS and Javascript includes found in a folder named 'ClientData', directly under the given evaluationscope. |
8454 | 2 | Maximum characters for password increased The maximum amount of characters for users' passwords is increased to 32 characters in order to be able to store MD5 hashes. After running Publication Setup, this field will automatically be increased only if applicable; the field length will never be decreased. |
8455 | 2 | Better performance on CMS updates Translation state synchronization on CMS updates is now much more efficient. |
8458 | 2 | The 'GetGlobalIncludeItems()' translation has been updated The SCF Include Aggregator now optionally takes the last modified date from a querystring value 't', in order to be able to set the file cache lastmodified date. See work item 8267 for more information. |
8470 | 2 | Compatibily setting added: StaticallyResolveSmartletPropertyDefaults Smartlet properties now resolve their default values dynamically. Since this is a functional change, a new compatibility setting, DynamicallyResolveSmartletPropertyDefaults, was added to enforce backwards compatibility. Set the "compatStaticallyResolveSmartletPropertyDefaults" setting to "true" in the appSettings section of the smartsite.config if you experience the new behavior as unwanted. More information in http://docs.ixperion.smartsite.nl/Compatibility-Notes-for-14.html |
8482 | 2 | Performance of Channel.link() has been improved when used in combination with the sitemap macro. The url mapping has been improved and the capacity of the iteminfo cache has been increased fivefold to reduce the number of sqlqueries on the database. The performance of the Sitemap macro itself has also been improved. |
8484 | 2 | Dates used in inputdata in SXML Collections would be stored as strings Errors could occur when passing inputdata to a collection, because values were internally stored as strings, for instance when passing dates. |
8487 | 2 | CMS Setup installation path The CMS Setup utility allows installation of new CMS Servers in a custom location. Notice: this only works with a completely new installation. |
8492 | 2 | Performance improvements have been made in many different places. |
8516 | 2 | Added ContentType SmartletPreset (SMP) ContentType SmartletPreset (SMP) will be added to an exisiting Smartsite database after running Publication Setup to 1.4 database update scripts. |
8521 | 2 | AIM RenderTemplate improved Publication Setup will update AIM RenderTemplate (item code 'RT_AIM'). If the content of this item does not match the original content, a warning will appear advicing to check this item. |
8534 | 2 | Cms manager: the "Is Visitor" checkbox has been removed from the Add/Edit User and Add/Edit Visitor security actions The dataeditor meta xml file AllUsers.xml has been adjusted and this file will be updated when running the Update Publication for existing sites. The checkbox mentioned could be used to easily switch an user to become a visitor and vice-versa, however it did cause unclear behaviour and could cause problems within Outscaling scenarios. If you want to switch an user to become a visitor, you should now just disable the user and create a (new) visitor. Notice that the loginname must be unique, so you should either use a different loginname for the visitor or change the loginname of the disabled user account. |
8535 | 2 | Outscaling: synchronizing an user and a usergroup where this user is a member of could fail when both the user and the usergroup did not exist on subscriber instance This was due to a bug within the Usergroups_Outscaling meta xml file, which was missing a field definition for the AllUsers field. |
8544 | 2 | Stored procedure pr_tsFacetedSearch is more robust This release includes version 2.2 of pr_tsFacetedSearch, making the preparation of Facted Search more robust. Option PREPLAZY can repair a broken FullText index and is able to detect language changes, rebuilding the FullText index. Explicit checks are performed prior to creating both the FullText index and clustered index on the indexed view. |
8546 | 2 | The image server did not work when Smi was installed and the <se:binary /> macro had "streaming" set to "true". |
8553 | 2 | The vipers string.startswith, string.endswith and string.ismatch returned incorrect values or did not resolve at all if the input was an empty string. |
8558 | 2 | Track active item in TestSuite The TestSuite can now synchronize the tree automatically whenever activating an editor tab. |
8559 | 2 | CMS Manager: the 'Jump to' action sometimes skipped items When searching for content using the 'Jump to' action, the 'Find next' button sometimes did not work. |
8560 | 2 | UrlParameters did not encode all characters in RFC 3986 The characters "!", "*", "'", "(" and ")" were not encoded in Url Parameters. |
8566 | 2 | Unnecessary activity in the AIM background process During AIM scanning on reciprocal content relations, content kept being marked as 'to be scanned', causing unnecessary activity in the AIM background process. |
8569 | 2 | CTFP SchemaSetId not allowed for TextFilter includes CTFP SchemaSetId must be removed on fields containing CTFP TextFilter with value 'includes'. Typically, ContentTypes like CSS and JavaScript have CTFP TextFilter set on 'includes'. Publication Setup to 1.4 will remove the particular CTFP. A SchemaSetId implies well-formed XML, however unencoded JavaScript is not well-formed and can contain characters like && and >. If SchemaSetId is set anyway, validation errors will occur in the manager. |
8579 | 2 | Cache folder could be deleted by accident. Under circumstances, the cache folder in the site root was accidently deleted by Smartsite which caused all access rights to be deleted as well which caused malfunctioning of the disk cache. |
8580 | 2 | New CMS user action: Log Off A log off button has been added to the CMS Manager toolbar. Using this button, you can sign out immediately. This is especially useful in IE8, since Microsoft decided that all browsers should share the credential cache (unless the -nomerge command line argument is set). |
8581 | 2 | AIM raw scan could run into errors AIM raw data scanning sometimes executed vipers that could not be executed without a rendering context, causing the AIM scan for that item being aborted. |
8582 | 2 | The SxmlEditor was not used in the TestSuite when the EditProgId was set to SxmlEditor. The SxmlEditor was not used in the TestSuite when no SchemaSetId was set. |
8584 | 2 | Enhancements in TestSuite search/quick jump/F12 The TestSuite search/quick jump/F12 tree selection feature has been enhanced. |
8585 | 2 | New Viper: embed[uri].DocumentBodyNode() Embed and EmbedUri now have a new viper method to get the body of an X(HT)ML document: DocumentBodyNode() |
8591 | 2 | Push into publications and Add from repository did not check if the user had sufficient rights to add a repository item to a publication folder. |
8592 | 2 | XPath evaluation vipers added The XmlProcessor now has a viper method, evaluate() to evaluate XPath expressions directly. Also, a static method, xml.evaluate(), is added. |
8594 | 2 | The Embed macro now also supports CustomRequestBody Like EmbedUri (for external, HTTP-based requests), Embed (internal rendering in same site) now supports CustomRequestBody, so you can now internally render pages with custom post data, like application/json. |
8598 | 2 | New settings in TestSuite New settings are avaliable for showing tree lines and plus/minus. |
8603 | 2 | New Viper method: Translation.ArgCount() You can now retrieve the number of (unnamed) arguments to a translation, using Translation.ArgCount() |
8608 | 2 | AIM scan too greedy The CMS AIM scan component was too greedy. It did not take the 'source' attribute of references found in the XML result of the AIM channel into account, when adding outgoing relations to an item. |
8610 | 2 | Checking/unchecking 'Add to Global Include' did not trigger cache invalidation When checking/unchecking the 'Add to Global Include' checkbox, the cache of the SCF global include was not invalidated. |
8611 | 2 | Source for AIM references not set correctly When adding AIM references at runtime, components did not pass the correct AIM source item to the AIM proces. The source should be the rendering item unless the AIM source option 'Autonomous' is used (valid in translations). In the latter situation, the translation itself is the source item. |
8612 | 2 | The Resource Handler didn't ignore query parameters properly The resource handler included within iXperion (Smartsite.AspNet.Bridge.ResourceHandler) didn't ignore query parameters properly. As a result, a request for e.g. res/tree/wp.gif?hid=img;crh=260;crw=260;w=155;h=90 gave a null-reference exception. |
8615 | 2 | Web Editor function Insert TOC would include host name in links if CMS and PUB run on different host names |
8616 | 2 | AIM system panel addin enhanced The AIM system panel addin now allows loading items with AIM state 'disabled' and 'error' into the treeview. |
8617 | 2 | Error handling in Smartlet callbacks improved Smartlet errors occurring during property initialization while in Ajax callbacks would not be passed to the client correctly. |
8620 | 2 | Low-level error when log on failed in LDAP/Integrated security setting When no externally managed usergroups are configured, logging in with a valid LDAP account failed with a low level error. |
8623 | 2 | For Smartlet properties of complex data types it's no longer possible to set callbackaccess other than "Write" or any clientaccess at all. Because of problems serializing (and de-serializing) the types Binary, DataTable, and Array (including all the ListOf~ types), these types can no longer be given ClientAccess. CallbackAccess is restricted to None and Write. If the property is set from a preset, Write will be upgraded to ReadWrite. |
8628 | 2 | Faceted Search now supports an extra option to suppress the result ordering dropdown. The Faceted Search option 'noresultorder' has been added to the Faceted Search smartlet. To add this option to a existing installation, follow these instructions: Add the condition attribute to the following statement in the main smartlet (sml_FacetedSearch): <se:buffer condition="translation.localscope.smartletoption(get,smartlet.get(options),noresultorder,default=0)==0" name="resultOrderSection" rem="Build result ordering block"> Also add noresultorder=1 to the list op supported values for the options parameter: <se:member name="options" callbackaccess="read" clientaccess="read" rem="Supported values: (...),noresultorder=1,helpitem=123"></se:member> |
8673 | 2 | ItemComments, Forum and WebLog smartlets kept showing the "Add Comment" button when the user is replying to or editing a comment. If pressed, this could lead to corrupted comments. |
8689 | 2 | SmartInstant 2.0 Publication setup of iXperion 1.4 build 2 introduces SmartInstant 2.0 as a Add-On module. |
8700 | 2 | Cms manager: Asynchronous Import now also sets internal errors as import job result The Asynchronous Importer (running in a separate thread) did perform some internal checks (e.g. parent, filename) before starting a job. If one of those checks failed, the thread was aborted and only a log message was written to the Smartsite log. Now, if a check fails a proper error is raised and, when enabled, this error is used as import job result (status=-1 and the error description will be written to the log field of the import job). Also the returnUrl, if specified, will be called when one of these internal checks fails. |
8702 | 2 | Outscaling kept trying to send failed events Due to a change within 1.3 build 3 (and still the case in build 4), the retry mechanism of Outscaling didn't function properly anymore. This has been fixed, however in the meantime (before the next build becomes avaialble and will be installed) it is strongly recommended to follow the steps described in this article. |
8703 | 2 | Outscaling: the option to switch off the usage of built-in datasources wasn't implemented correctly Since iXperion 1.2 Outscaling uses the concept of built-in datasources. With the registry setting UseBuiltInDatasources (defaults to 1=True) on the Outscaling background component, you could (when needed) switch off the usage of built-in datasources. However, this setting was read and set after initializing Outscaling, whereas the settting should have been read and set before the initialization takes place. Therefore, setting the registry option UseBuiltInDatasources to 0 (=False) didn't have any effect. This has been fixed. |
8704 | 2 | Outscaling: datasource configuration now requires that code doesn't equal an existing tablename |
8717 | 2 | Outscaling: Synchronize Datasource could use the wrong datasource configuration When you have created an Outscaling Datasource using the same code/name as an existing built-in datasource, the Synchronize Datasource action (e.g. using an scheduled event) didn't always take the correct datasource configuration into account. This was due to the fact that Outscaling first evaluated its built-in datasources, before querying the osDatasources table to find the datasource configuration. This has been switched, manually configured datasources will now always take precendence over built-in datasources. |
8718 | 2 | References macro (AIM) now suports multiple channels In the AIM references macro, you can now specify multiple channels for items to be rendered on subsequently. |
8721 | 2 | Virtual directories are now supported by iXperion. Smartsite iXperion now has full Virtual Directory support. Any Virtual Directory configured in IIS will automatically be mapped in the Smartsite iXperion file system handling, and the config editor Set Site Security takes them into account. Search for 'Virtual Directories' in the documentation. |
8727 | 2 | JavaScript in Faceted Search could break character encoding. UTF-8 encoded url's are handled as if they are ISO-8859-1 encoded. To fix this issue in an existing instance of Faceted Search:
|
8732 | 2 | Query Database CMS action sometimes returned a 'Type mismatch' error In case stored procedures that return recordsets were executed but the 'Statement returns recordset' checkbox was unchecked, a type mismatch error was raised. |
8733 | 2 | Faceted Search now ships with a dedicated Smartlet Editor plus a number of smartlet presets. To add the editor and presets to an existing installation copy the following items from a freshly installed empty site with Faceted Search (paths are relative to the Faceted Search Smartlet root folder):
|
8735 | 2 | The Json class was moved from Smartsite.Runtime to Smartsite.Base Its namespace changed from Smartsite.Core to Smartsite.Base. This was change was made specifically to have Json available to the XForms renderdevices. |
8736 | 2 | The Smartsite iXperion TestSuite now supports item locking The TestSuite is now better suited for cooperative team development. Just like the Smartsite Manager, it now supports item locking to protect users from overwriting each other's content. Search for 'item locking' in the documentation for more information. |
8737 | 2 | Smartlet unsafe data validation sometimes failed An unsafe data error was sometimes raised when properties were set from non-client origins |
8742 | 2 | SetSiteSecurity now grants rights to the folder %windir%\System32\inetsrv\config. |
8745 | 2 | Better error message on translation not found When a translation is referenced and not found, the error message is now clearer: it states whether the translation was out of scope or non-existing. |
8746 | 2 | Jpeg images processed by the image server could not be read in MS Paint under Windows 2003/XP The AtalaSoft component always placed an AppMarker in the Jpeg which caused the problem. |
8755 | 2 | AIM background thread recovery The AIM background thread now silently recovers from a fatal error. |
8757 | 2 | AIM would malfunction on reciprocal ContentRelations When AIM was used on reciprocal contentrelations, the AIM scanning thread would always be active because the queue of 'AIM dirty' items would not be emptied correctly. |
8761 | 2 | SetSiteSecurity could crash if the user was looking at the list of missing rights and clicked on the checkbox to select or deselect of one of the missing rights. |
8762 | 2 | Usability improvement: SetSiteSecurity should force the user to select the site if there is more than one site. |
8765 | 2 | SetSiteSecurity now sets access rights to virtual directories defined in IIS. |
8768 | 2 | Optimized validation for CTFP Translation.Name Publication Setup will optimize CTFP Translation.Name for existing Smartsite databases. |
8772 | 2 | Smartlet AIM scanning fixed The AIM rendering process did not bypass normal rendering of Smartlet items the way it did for other translations, wit the risk of irrelevant AIM relations to be registered. |
8774 | 2 | Cms manager: when saving an item within the cms manager, the item-cache of that item is now cleared immediately Clearing the item cache for an item did depend on the ContentChange.Activation event, which was send asynchronously by the Outscaling background component. That was (also) the reason the AIM reference collection was sometimes incomplete, because the publication engine didn't receive the ContentChange.Activation event yet before it was asked to resolve the AIM references. Now, the cms manager sends the ContentChange.Activation event synchronously to the publication engine and Outscaling skips this event. |
8805 | 2 | XmlProcessor queries with < or > entities could lead to exceptions When using < or > in queries inside the XmlProcessor actions collection, an Xml exception could be raised. |
8809 | 2 | Removed CTFP StorageProgID on Translations group The StorageProgID CTFP is removed from the Translation Name field, because the logic contained in this Storage Handler doesn't match the complex rules for translation resolving in iXperion, and the benefit of the handler was minimal, while the performance impact was large. |
8811 | 2 | Prevent too much information if login fails In order to prevent disclosure of too much information after a failed login attemp due to invalid credentials, do not expose the true error message. A hacker could enumerate valid user names. Instead, just leave a message like 'Login failed'. In each Login page replace <se:login error="{login.alert(this.error.message())}"> with <se:login error="{login.alert('Login failed')}"> or even <se:login error="{login.alert(locale.getstring(LOGON_FAILED))}"> |
8815 | 2 | New XmlProcessor action attribute: 'condition' The XmlProcessor macro actions collection now has an extra attribute: condition. Using this attibute, you can conditionally execute individual actions in the collection, based on the result of a Viper expression. |
8816 | 2 | The System Panel manager action has been updated The System Panel action now contains a few more options, for instance for checking content with invalid AIM references. Also, the External References action (previously in the View menu) was moved to the system panel and both System Info actions (CMS/PUB) can now be found here. |
8823 | 2 | SetSiteSecurity crashed if Anonymous Authentication was using the application pool identity. |
8824 | 2 | Translation intellisense parsing improved The scan for Translation intellisense metadata (rem parameters) in translation.arg() calls has been improved. |
8831 | 2 | SetSiteSecurity asked you twice if you want to restart IIS when closing the window. |
8835 | 2 | The translation.name() viper method now works in preview logic The translation.name() viper method can now be used in preview logic of translations. The benefit of this is that you can now use this dynamic syntax in the preview logic: {string.eval(translation.name()+"()")} |
8838 | 2 | Request.Location() could switch to the default hostheader The request.location() viper could return an url pointing to the default hostheader on channels with multiple hostheaders, when browsing on a non-default hostheader. |
8840 | 2 | Smartlet.Link() Viper did not escape smartlet property values When calling smartlet.link(), Smartlet property values were not UrlEncoded, with the risk of resulting in corrupted urls. |
8842 | 2 | Active Directory Membership Provider: in rare occassions not all groups an user is member of were found In rare occassions, the Active Directory Membership Provider wasn't able to retrieve all the groups the user is a member of. As it turned out, this only occurred when the Active Directory contains multiple accounts having the same Common Name. In that case, sometimes the group membership of the wrong account was retrieved. The Active Directory Membership Provider now uses the user's SAMAccountName to resolve group membership, which does return all groups for the correct user. |
8845 | 2 | Faceted Search: when using native search (internally LIKE statements are used) a literal search for a combination of two or more words did fail This was due to the fact that the double quotation marks were not removed from the literal search string passed to the sql query macro. |
8846 | 2 | Altered view vwUserProfileProperties The view vwUserProfileProperties did not function properly in the Personalization module when using Active Directory. Pubication Setup to 1.4 will alter this particular view after running the Personalization database scripts. |
8852 | 2 | An image was missing in the Scf/gfx/box folder The greywait.gif image, used in the Smartsite Item 'Shared Smartlet Style', was missing. This image will be added to the Smartsite instance after running Publication Setup. |
8853 | 2 | New default for translation preview logic Translations and Smartlets now have a new default value for their Logic (=Preview Data) field, which is a call to string.eval(). This new value ensures that the preview logic doesn't have to be modified when the translation name changes, for instance when a copy is made. Please note that existing translation logic is not updated by the publication update. The call to add to the translation Preview Data is: {string.eval(translation.name() + "()")} |
8855 | 2 | Workflow errors were not shown as such in the TestSuite When saving items from the TestSuite, error messages due to business rules in the Workflow Engine would not be shown to the user. |
8864 | 2 | Enforce friendly urls did not work correctly when used in combination with url parameter mapping. |
8865 | 2 | Enforce friendly urls did not handle urls with querystring parameters properly. Querystring parameters were accidently Xml encoded by the Enforce friendly url feature. |
8866 | 2 | Procedure pr_Itemdetails (used by Item Details) indicates whether a folder or item allows url parameters. |
8867 | 2 | ReleaseSettings node added to Smartsite.Config in Empty site Releasesettings documentation can be found here: http://docs.ixperion.smartsite.nl/doc/releaseSettings.html <releaseSettings> <add key="immutableLocators" value="true" /> <add key="placeHolderSortNullValues" value="true" /> <add key="syntaxErrorOnDoubleMacroIds" value="true" /> <add key="EncodeUrlParameterSpaceAsDash" value="true" /> </releaseSettings> |
8887 | 2 | Smartlet Editor now adds selected CSS includes to the preview. Includes can be configured using the Page-scope buffer "smlConfig_EditorPreviewCSS". This is a comma-separated list of Locators. |
8892 | 2 | Config Editor: Import Site Configuration and Export Site Configuration options removed The Import Site Configuration option didn't have any implementation and the Export Site Configuration option wasn't very useful. |
8896 | 2 | Config Editor: Set Site Url and Restore Services options has been improved The Set Site Url option used to execute the save dialog immediately after changing the site's urls. When cancelling this save dialog, the site urls weren't restored to their original values. However, the Set Site Url option should just change the site urls and not execute the save dialog. So, this has been changed. You now need to click the Save button to persist the changes. The Set Site Url option also didn't allow you to specify the same (base-)address to be able to fix misconfigured service addresses. This has been changed. When the specified site url is the same, now you just get an informational message and the option to continue. Finally, the Restore Services option didn't take the site's serveraddress into account when restoring the service's addresses. This has been fixed as well. |
8903 | 2 | The HTTP Last-Modified date was sometimes incorrect due to a compare of the Last-Modified date with current UTC time which caused a difference of one hour between local time and GMT time. |
8922 | 2 | The chart macro now supports datalabels without a shape. You can now create a datalabel without a shape by using <se:datalabel shape="none" /> |
8924 | 2 | The Seneca Monitoring user agent has been added to the Smi spider list to avoid that its requests are counted as pageviews. |
8930 | 2 | Adding Smi to pub engine during the PUB setup added an endpointBehavior element to the web.config, even when it already existed. The PUB setup now uses the existing endpointBehavior element to add its configuration to instead of adding an additional element. |
8941 | 2 | The FileLinkCopyJob modified the LastWriteTime of the file referenced which caused problems with outscaling. The FileLinkCopyJob now stores the LastWriteTime of the file in the database. It uses the new CTFP 'FileLinkLastWriteField' on the Content Type field 'Url' to denote where the LastWriteTime should be stored. After running the 1.4 build 2 Publiction Setup's database scripts, ContentType FLK field URL will be added CTFP 'FileLinkLastWriteField'. The value of this CTFP will be set to 'CTSpecificDate1' or 'CTSpecificDate2' if the prior field is already in use. In case both fields are in use, a warning will appear stating that this CTFP must be set manually. |
8946 | 2 | The chart macro always returned a png file, even when a different file format was specified in the maro parameter "fileformat". |
8955 | 2 | SetSiteSecurity did not work when launched from a disk's root folder or one level deeper. SetSiteSecurity failed to load the installed websites because was looking two level up from its current directory which failed if it was located in disk's root folder or one level deeper. |
8958 | 2 | The upgrade script for 1.4 build 2 sets SmartletEditorAccess for existing smartlets. If no SmartletEditorAccess assignments exist in the database, the GUESTS group will recieve UseSmartletAndPreset access on all existing smartlets. |
8959 | 2 | Item Locks in Configure Security As from release 1.4 build 2 an overview of locked items (Item Locks) is introduced in the Configure Security section. In this overview locked items can be unlocked. This feature is useful especially when items are locked through TestSuite. After running Publication Setup (both site files as database scripts) this feature will be introduced in an existing Smartsite instance. |
8973 | 2 | The TestSuite crashed if it needed to listen to a port that was already in use. |
8976 | 2 | Cache macro could store data despite error being raised and trapped at a higher level. When a cache macro contained code in which an error occurred that was trapped at a higher level than the cache macro itself (using an error parameter), it would incorrectly store cache. |
8978 | 2 | The Smartlet.NamedArg() viper method could not retrieve reserved parameters Parameters 'default', 'error' and 'rem' can now be retrieved as well. |
8982 | 2 | Outscaling: in very rare occasions Outscaling kept synchronizing the same set of items This could happen when the activation date of a set of items uses a date-time resolution higher than whole seconds (e.g. "2011-03-18 09:30:11.456") and the milliseconds part is below 500. This is e.g. the case when using the emptysix database creation scripts. The synchronization process of Outscaling constantly updates the LastActivationDate that's being used, but the resolution of this datetime is in whole seconds (due to the fact it's VB6 code). So, using the above example, the LastActivationDate becomes "2011-03-18 09:30:11.000". Then, when comparing the activationdate of items with this LastActivationDate, every item which only differs <500 ms in datetime will still be returned from the query which determines which items to send. This can go on over and over again, until an item gets an activationdate which differs >500 ms compared to the LastActivationDate. To fix this problem, the queries used by Outscaling to determine which items to send has been changed and now uses a datediff construction to filter out items having an activationdate which only differs less than 500 ms compared to the LastActivationDate. |
8993 | 2 | Better (W3C) Item Validator integration in the empty site The Empty Site now has a better, integrated W3 Item Validator that is available as soon as you log in as CMS user. For implementing on your own site, see http://ixperion.smartsite.nl/Community/Blogs/Marc_van_Neerven/How_to_check_private_sites_directly_using_the_W3C_Validator.html |
8997 | 2 | Smi now has better rules for detecting spiders and webcrawlers that spidering your website. |
9003 | 2 | IE9: text highlighting did not always work correctly in the Manager. |
9004 | 2 | IE9: incompatibility in the way css styles are handled resulted in a script error when using a dropdowncombo. |
9007 | 2 | The TestSuite now supports the IE9 browser emulation mode. |
9009 | 2 | IE9: browser detection for Internet Explorere 9 was not complete. |
9011 | 2 | IE9: sort arrow was displayed in list header, even if no sorting was applied. |
9022 | 2 | New vipers for adding aggregated includes The viper methods placeholder.addaggregatedjavascriptinclude() en placeholder.addaggregatedcssinclude() are now available. |
9027 | 2 | An ACE rule was added to system translations A local sysem translation (ELBA element) can never be overridable, so an added rule makes sure the checkbox is disabled. |
9029 | 2 | Fixed CMS Control Panel context menu icon in the Windows Nofification Area The context menu 'Browse' in the CMS Control Panel icon in the Windows Nofification Area did not point to the TestServerAddress |
9038 | 2 | Fixed error when using line breaks in Viper expressions within formatting Line breaks in Viper expressions within XML/HTML attributes inside formatting elements would cause exceptions, due to missing decoding. |
9040 | 2 | Fixed error when using line breaks in expressions within Switch and If macros Line breaks in Viper expressions within XML/HTML attributes inside case elements (switch) and then/else elements (if) would cause exceptions, due to missing decoding. |
9041 | 2 | CMS State synchronization improved State synchronization from the CMS for bulk updates has been improved. |
9048 | 2 | Channel AIM relations added Apart from BrowseStartPage, aim relations are now added for LoginUrl and SubTrees |
9054 | 2 | The default error page in EmptySix could not handle the way IIS 7.5 passes the HTTP status code to the error page which differs from IIS 6 and IIS 7. |
9055 | 2 | EmptySix: By default, Friendly Urls are now enforced. You will immediately notice this change, when you select Open in new Window in the Smartsite Manager. The Url will automatically be translated into a Friendly Url. For more information refer to Enforcing Friendly Urls. |
9061 | 2 | Link to the channel browsestartpage fixed The details tab in the Manager showed the wrong link to the BrowseStartPage of a channel. |
9063 | 2 | The WebService macro is now AIM-aware The WebService macro now adds the given Url to the AIM relations and skips the execution phase during AIM requests. |
9064 | 2 | Channel AIM registration enhanced AIM references to BrowseStartPage, SubTrees and LoginUrl are now registered. |
9067 | 2 | ClientIncludes RenderTemplate modified The ClientIncludes RenderTemplate was modified, because it contained a deprecated viper call. |
9074 | 2 | View Details now shows Aggregated Include settings in Javascript and CSS items The View Details tab now shows extra properties for 'Add to Global Include' settings |
9075 | 2 | WebEditor doesn't always load EditorCSS The CSS to be loaded is determined by the render template for the current item in the manager's Active Channel (selectable in the Options dialog). If the item isn't available in the Active Channel, no CSS is loaded. |
9078 | 2 | The Details tab now shows more information on channels Information for Channel LoginUrl, SubTrees and Locale is now shown in the Details tab. |
9080 | 2 | A NullReferenceException was shown during site startup. Errors caused by wrong dll versions that caused the site to not start properly disappeared and a NullReferenceException that happened further down the road was shown instead, thus obfuscating the underlying problem. |
9081 | 2 | Smartsite generates unnecessary long url for browse start pages on non-default channels. Smartsite used to generate urls like /nl/artikel.net?id=2 for browse start pages on non default channels. Smartsite now generates th url /nl for browse start pages on non default channels. |
9083 | 2 | CTFP cust:CheckEntityLength overestimated the length needed for certain characters Any character that is affected by the JavaScript function escape() would increase the calculated length. This includes the space and many interpunction characters. |
9092 | 2 | Control autosizing in the Edit/Add item environment can now be configured The automatic sizing of editor controls can now be tweaked using registry and contenttype configuration. Search for 'ControlAutoSizing' in the documentation |
9097 | 2 | Improved channel mapping display in Details The channel mapping display in view details has been improved and groups publication channels and system channels separately. Also, you can set the parameter "ShowSystemChannels" in View Details to "no" or "false" to hide system channels from the user. |
9102 | 2 | Testsuite session handling improved When restarting the site from the TestSuite, an outdated dialog was shown in which you could not choose to save the current session locally. |
9103 | 2 | The site did not always start which resulted in an exception being shown. Due to a flaw in the AttributeStartupCache logic, starting the site sometimes failed with an exception as a result. |
9115 | 2 | New viper: Scf.script.enabledstate() A new viper is introduced to account for the fact that resolving clientscript enabled state is done by writing a session cookie on the client (at Scf initialization): in the first request of a new session, the state is in fact unknown, because the cookie cannot yet be retrieved. The new viper has this tristate logic built in. It returns 'Unknown', 'On' or 'Off'. The existing Scf.script.enabled() viper now supports passing a default value, so you can determine what to return when the state is 'Unknown'. |
9117 | 2 | Channel state is now invalidated on clearing memory cache When 'Clear memory cache' in Reload Site (F6 in the TestSuite) is called, the channel state is now cleared. Channel state can be set using the viper methods in the channel class. |
9118 | 2 | Listen to all hostheaders only available when TestSuite runs as Publication Server The option to listen to all channel hostheaders is only enabled when running as Publication Server, to protect you from errors during startup. |
9122 | 2 | Cms.GetDescendantByTitle didn't reflect changes in the site hierarchy. Results would be cached until a manual cache flush or reload site. |
9129 | 2 | The Smartlet Library is now rendered in the manager's Active Channel. |
9134 | 2 | List of Content Types that supports sessions are now loaded lazily. Loading this list lazily gives a startup performance improvement. |
9138 | 2 | CMS folders in TestSuite Treeview now show correct icon The icon of the underlying contenttype (specified in the CMS folder) is now shown. |
9140 | 2 | Visualize SXML in TestSuite enhanced The "Visualize SXML" debug feature in the TestSuite has been improved and now makes it easier to trace SXML code that produced HTML output. |
9141 | 2 | CacheFile improvement The cachefile macro now throws an exception when trying to add cachekey dependencies if transfer is not set to "false", in which case the cache key can not be manipulated. |
9144 | 2 | ActiveChannel silently follows selection The ActiveChannel setting (in Tools/Options) now silently follows item selection done in View Details and Add/Edit Item. This makes sure the ActiveChannel setting is always a channel in which the selected item renders. |
9145 | 2 | Preview Tab in Edit/Add Item enhanced The channel selector for the edit/add item Preview tab now automatically restarts the preview on menu selection. |
9146 | 2 | Smartlet Editor now offers a choice of channels to preview in. |
9149 | 2 | Adding a duplicate friendly name could result in an "Object Expected" exception. Depending on the current workflow an error dialog would be displayed after the normal warning that the chosen friendly name already exists in the database. |
9166 | 2 | Add Smartlet now takes Security Zone into account. The dialog shows a message if the selected field's security zone doesn't allow smartlets. |
9171 | 2 | Added CTFP CrossTableName to field ContentTypes In order to allow a table with foreign key relations to Contents.Nr and ContentTypes.Nr, the CTFP 'CrossTableName' is set to 'ContentTypesChannels' for field 'ContentTypes', ContentType 'CH'. This CTFP will be added into existing Smartsite databases by running the Publication Setup. |
9199 | 2 | Title and Description fields in EmptySix site now have security zone NoRisk. This is a change in the creation scripts only. Existing sites are not affected. |
9215 | 2 | Sql Native client database driver now supported You can now use Sql Native Client drivers in your CMS connectionstrings. |
9220 | 2 | Ogone didn't call the Pay_Callback translation if no ExtraData was set. |
9222 | 2 | The TestSuite now optionally switches channel automatically. When a selected page is ot available in the current channel, the TestSuite will now automatically switch to the first browsable channel the item will render on, if the option 'Synchronize active channel' is checked. |
9226 | 2 | Smartlet.GetResource viper didn't use its default parameter. An exception was thrown when the resource could not be found. If a default parameter is specified, Smartlet.GetResource will now return the default value. Otherwise an exception is thrown, like before. |
9243 | 2 | All references to the CSS class 'CoolForm' have been removed Smartsite logic in the empty site and the add-on modules doesn't use the CSS class 'CoolForm' on forms anymore. Instead, the 'Scf' CSS class is used. This class has practically no styling and is only used to add Scf behavior to the form element (see /scf/jquery/behavior/classes/scf.form.js) |
9247 | 2 | The HTTP header X-Generated-By is now configurable. You can now configure the HTTP header X-Generated-By by setting the AppSetting "GeneratedByHttpHeader" to a custom value. If you set an empty string to the AppSetting, the HTTP header is not sent to the browser. |
9250 | 2 | Outscaling: Personalization information was not synchronized The Smartsite Profile Provider didn't add the necessary Outscaling events to the database. This has been fixed, now the Smartsite Profile Provider adds the appropriate Outscaling events whenever a profile is created/updated. Notice that synchronizing profiles and profile properties is opt-in, so it is required to create Outscaling Datasources for the underlying tables (UserProfiles and UserProfileProperties respectively). Also, do not forget to remove the identities from the tables and to configure SmartNumbering. |
9284 | 2 | TestSuite debugging option added The debug setting RaiseErrorOnSxmlError (smartsite.config) now has its counterpart in the debug menu of the Testsuite. Find handled SXML errors by simply toggling the 'Ignore SXML error handling' item in the debug/errors menu. |
9287 | 2 | Config Editor: logonHandler registry setting was not removed When choosing the remove option on the Active Directory Configuration node (for a particular site) within the Config Editor, the logonHandler registry setting "SixSecurity.LDAP" wasn't removed. This means the cms will still be using Active Directory security, which is usually not the expected outcome when removing the Active Directory Configuration node. This has been fixed. This registry setting is removed as well. |
9294 | 2 | Rendering items on non-standard hostheaders from within the manager When using non-standard hostheaders for channel-content, these hostheaders will now be respected by the Smartsite Manager. |
9296 | 2 | The AIM References macro now defaults to all browsable channels The References macro can now be used without any references to channels (channel, channels properties), because it defaults to a list of all browsable channels. Note that the macro automatically selects the first channel on which an item can be rendered from the list, so there isn't a big performance penalty. |
9298 | 2 | Scf file cleanup performed during Pub update Old Scf files are now removed during the Pub setup, since they have been replaced by files with different names (duallist.js -> Scf.Form.DualListBehavior.js; confirm.js -> Scf.Form.AutoConfirm.js) |
9301 | 2 | Fix in AIM/cache management When adding AIM relations within a cache macro, the cache would not always be invalidated when changes were made to the related items. |
9310 | 2 | The pdf generator did not use querystring parameters to generate a unique cache key. Now that the pdf generator adds the querystring to the cache key signature, you can cache multiple versions of the pdf of the same item. |
9319 | 2 | Database function fn_RecurseAIMDependencies has been updated to version 1.1 |
9322 | 2 | Cache blocks with relations were not always invalidated on contentchanges When using cache macros around sitemaps and xlinks macros, the cache would not always be invalidated when a relevant CMS change occurred. |
9324 | 2 | Stored procedure pr_FriendlyNames has been updated to version 2.0 |
9328 | 2 | "Mixed mode" support added for the Active Directory and LDAP membership providers Both membership providers now support the additional setting UpdatePrimaryGroup (defaults to true), which can be used to switch off updating the primary group of users after logging in (needed when using "mixed mode" security). See Active Directory Role- and Membership Providers for more information. |
9353 | 2 | Type conversion failure in SqlQuery macro params The type conversion within sqlquery parameters sometimes failed, especially with binary data. |
9355 | 2 | Channel.Link() and Channel.CrossLink() fixes These viper methods could lose state when passing Locators with Url Parameters. |
9358 | 2 | Channel lists now sorted in Manager Whenever lists of channels are shown, these are now sorted. The default channel will always be shown first. The rest of the list is shown in alphabetical order. |
9364 | 2 | The Default channel in the Manager is now dynamically obtained from the Pub Server The default channel is now retrieved from the running Pub Server, instead of the legacy registry setting under UrlMunging. |
9369 | 2 | Response.Status() viper method overload added An overload was added to the Response.Status() method, for suppressing IIS custom errors when setting the response status. In IIS7 integrated pipeline mode, setting the suppressIISCustomErrors parameter to true is needed to let IIS skip further customerrors handling. |
9377 | 2 | Some log messages had a loglevel that was too critical. Some log messages now have loglevels that indicate that the log messages are less critical. |
9388 | 2 | The SyncFileLinks macro now optionally writes generic file properties (for each file) to the xml file generated For each file which is included in the generated xml file, the SyncFileLinks macro now optionally writes generic file properties to the xml as well. This includes the following file properties: lastwritetime, creationtime, file size (in bytes) and the extension. To enable this feature, set the WriteFileProperties parameter to true. Using a se:transform macro as post-processing step on the generated xml file, you can then map these additional elements to e.g. adddate and/or moddate of an item. This way, it is possible to e.g. preserve the modification date of the file within the item itself. |
9398 | 2 | Personalization Smartlet fixes Some fixes were made in the saving logic of the My Profile Smartlet. Specifically, the following code changes were made to the ShowForm() translation in the 'My Profile' Smartlet: Old: {personalization.set('', NewsletterFrequency, convert.toint(request.form(lstNewsLetter)))} New: <se:if expression="!user.isanonymous()"> {personalization.set('', NewsletterFrequency, convert.toint(request.form(lstNewsLetter)))} </se:if> Old: <se:if expression="string.length(w) GT 0" error=""> New: <se:if expression="string.length($w) GT 0" error=""> |
9399 | 2 | The EmptySix site Default Channel now has a LoginUrl setting The LoginUrl setting of the default channel in EmptySix is now set to the code of the Login Page in that channel. |
9400 | 2 | Changes required in 64-bit installation web.config In 64-bit Smartsite iXperion installations, a change is required to the web.config: Instead of the following: <assemblies> <clear/> </assemblies> ... a number of assemblies have to be added after the <clear /> statement: <assemblies> <clear/> <add assembly="Smartsite.Base" /> <add assembly="Smartsite.Runtime" /> <add assembly="Smartsite.AspNet.Bridge" /> <add assembly="Smartsite.Security" /> <add assembly="Smartsite.Web" /> <add assembly="Smartsite.Tools" /> <add assembly="Smartsite.Data" /> <add assembly="Smartsite.Scf" /> </assemblies> Note that apart from the iXperion assemblies, you might have to add other assemblies as well, depending on your configuration. |
9402 | 2 | EmptySix now includes a menu link to the add-on modules. To see the link, you must log in. |
9406 | 2 | URL Parameters (or MVC-style URLs) require the ImmutableLocators release setting In iXperion 1.4, the URL parameters feature, used to store querystring variables inside the path segment of a friendly URL, is only available if the release setting 'immutableLocators' is set. See http://docs.ixperion.smartsite.nl/Compatibility-Notes-for-14.html and http://docs.ixperion.smartsite.nl/doc/SXML/Knowledge_Base/Why-immutable-locators-are-essential.html |
9586 | 2 | The security check for "Add from Repository" and "Push into publications" was too strict. |
7346 | 3 | Outscaling: synchronizing an item that has been converted from folder to "normal" item sometimes failed When deleting the children of a folder item and then converting the folder to a "normal" item, sometimes this last change (convert to "normal" item) failed to synchronize with the error message "Item can not have children because it's not a folder". This was due to the fact that deleting items logic was executed after synchronizing added and changed items. This has been changed, now first deleting items logic is executed, followed by synchronizing added and changed items. |
7554 | 3 | All Smartlets in the Web 2.0 Toolkit now have a display name parameter for use with the SmartletListInput. |
8401 | 3 | DataManagement tool did not show deleted items by disabled users The list of deleted items did not contain items deleted by disabled users. |
8552 | 3 | Error handling issue In Smartsite.config the defaultRedirect attribute of node customErrors in node runtime was set to ERROR_PAGE. This may result in an incorrect error page since ERROR_PAGE is not always used as the page's friendly name. Instead, this attribute will be set to /?id=ERROR_PAGE. After running Publication Setup to 1.4, Smartsite.config will be automatically updated. |
8837 | 3 | Sensitive information included within the web.config is not encrypted When using the Configuration Encryption feature included within the Config Editor (or using the ConfigProtect tool), sensitive information included within the web.config, such as username/password information for the Active Directory membership provider, is not encrypted. There's a good reason for that. The Configuration Encryption feature uses a Smartsite iXperion specific technique and if it was to be applied on the web.config, ASP.NET wouldn't be able to read (sections of) the web.config file anymore. However, ASP.NET has its own feature to encrypt sensitive information within the web.config, which is Protected Configuration. The article Encrypting configuration information within the web.config describes this procedure. |
8868 | 3 | FileLink items returned an Http 500 error when the file does not exist. FileLink items now return an Http 404 error when the file does not exist. |
8915 | 3 | Preview tab not visible when adding items under a CMS Folder. The preview tab was not visible in the manager when an item was added to a CMS Folder or any other content type that was not mapped to any channel on which the new item's content type is browsable. |
9116 | 3 | Cms manager: the dialog to select a SchemaSetId ctfp didn't display the correct list of available schema set id's Due to a bug, the built-in list of default schema set id's was always shown and not the actual list of available schema set id's. This has been fixed. |
9240 | 3 | When importing MS Word 2010 documents, some images were not imported. |
9282 | 3 | Large files fails to upload within the cms manager, fails to be copied to the database and/or fails to be synchronized using Outscaling Handling large files can result in various issues, all due to size limits / restrictions. This is usually not a bug, but a configuration issue. Examples: - When trying to upload a large file within the cms manager, the upload may fail due to exceeding the maximum request length. - When Outscaling tries to synchronize a large file, this may fail due to exceeding the maximum request length or exceeding the maximum attachment size. - When the FileLinkCopy scheduled job tries to write the binary data of a file to the database, it fails due to exceeding the maxfilesize setting. The following articles provide more information to prevent this kind of issues: |
9308 | 3 | Added missing translation of user action Edit Item (read-only) New Smartsite iXperion implementations will contain a Dutch translation of the user action 'Edit Item (read-only)'. For existing implementations, edit the _default.xml file in de System/Locales folder and add this code to it: <object name="menu_options"> <string name="Edit Item (read-only)">Item Bewerken (alleen lezen)</string> </object> |
9318 | 3 | Faceted Search had no icons for .docx, .xslx and .pptx files. |
9371 | 3 | Upgrading TextSearch to Faceted Search in a SmartNumber environment In prior releases of Smartsite iXperion, when upgrading the pre-released module formally named 'TestSearch' to the latest version of Faceted Search, the update script will result into unwanted situation in SmartNumber implementations. Thus, the previous update script would only rename tables such as TsSearchGroups to TsSearchGroups_DROP_ME without taking any SmartNumber issues into consideration, leaving the SmartNumber trigger on the DROP_ME table. Now, the renaming of each TextSearch table, will implicitly remove all SmartNumber settings of that particular table (of course only when a SmartNumber is set). Please note that newly created tables must be configured for SmartNumbers manually. |
9409 | 3 | A new version of the Ogone payment module is available Ogone has changed the way that payment orders are to be signed. The new version can be used with both the old and the new way to calculate signatures. |
9411 | 3 | Config Editor: some validations did fail when using an Oracle database Within some validators parameter queries are used. When using an Oracle database, the parameters passed to the command object did have the wrong type. This has been fixed. |
9422 | 3 | Some SQL scripts have been changed to improve compatibility with SQL Azure databases. |
9442 | 3 | Preview Channel not selectable for Preview Tab When using the UseTabbedPreview CTFP explicitly, the Channel selection button turned to disabled. |
9444 | 3 | Fixed Faceted Search performance issues while saving large items with many html tags |
9450 | 3 | SmartInstant 2.0 grid rows can now render their most important column first. This is a requirement for Webrichtlijnen. Simply mark the column containing the page content as "ContentKolom" in the Grid Row Chooser and it will be rendered first in the html. CSS is used to place the column at the right position visually. See here for instructions to add this behaviour to an existing SmartInstant 2.0 site. |
9454 | 3 | SmartNumbers in EmptySix Database Creation Script It is possible to create an EmptySix Database using the Database Creation Scipts with SmartNumbering. |
9461 | 3 | Added database view vwSchemaDefault to the SQL Server database. |
9473 | 3 | Set restrictions on configuration items of module Faceted Search Module Faceted Search contains several configuration and documentation items which need te be restricted from Guests and Visitors in order to disclose too much information wich could be abused. It is highly recommended to review security settings on existing Smartsite implementations of Faceted Search. |
9474 | 3 | DigiD and Ogone documentation made restricted In order to avoid disclosure of too much technical information which could be misused, all documentation items of the DigiD and Ogone modules have been made restricted for Guests and Visitors. It is highly recommended to do so for existing Smartsite implementations with DigiD and/or Ogone module. |
9476 | 3 | Set security on Personalization's configuration and documentation items New setups of the Personalization module will have all configuration and documentation items security set in order to avoid abuse. It is highly recommended to review existing Personalization implementations on security settings. |
9489 | 3 | Config Editor: the advanced settings for an Active Directory membership provider can now also be configured using the Config Editor As of Smartsite iXperion 1.4 build 2, the Active Directory membership provider supports a number of advanced settings: ObtainPrimaryGroup, ObtainParentGroupsForPrimaryGroup, MaxParentGroupRecursionDepth and UpdatePrimaryGroup. (For more information, see the article Active Directory Role- and Membership Providers.) These advanced settings are now also available within the Config Editor. Notice however, that you need to switch to "Advanced Mode" (View menu) to be able to view/configure these settings. Note: when one of these advanced settings equals its default value and the setting is not already present within the web.config, it will not be added. |
9509 | 3 | The SmartletEditor didn't work over https |
9510 | 3 | The SmartletEditor dialog now opens with the dimensions it had when closed the last time |
9511 | 3 | The image server did not add querystring parameters to the cachekey. Now that the image server adds querystring parameters to the cache key, you can add logic to your item to show a different image based on querystring parameters and still use the image server on those images. |
9516 | 3 | Config Editor: SQL Native Client provider within the ConnectionString Cms manager registry setting isn't preserved When using the SQL Native Client ("SQLNCLI10.1" or "SQLNCLI.1") as provider within the ConnectionString Cms manager registry setting, the Config Editor did reset it to "SQLOLEDB.1" when saving any changes for a specific site. To fix this problem, the SQL Native Client support within the Config Editor has been improved. Also, the Cms Database (ConnectionString within the manager registry configuration) is now always displayed seperately. This way, the connection string for the cms manager can be configured independently and it may differ from the connection string(s) used within Smartsite.Data.config, in terms of the provider used and other advanced connection string settings. |
9518 | 3 | The SmartletEditor didn't always work correctly on host headers other than the default host header. |
9521 | 3 | Threading issue in Cache macro fixed A threading issue with the Cache macro and DataTables was resolved |
9522 | 3 | Table SubTreeHierarchy was missing a primary key Database script to 1.4 build 3 will add primary key PK_SubTreeHierarchy on both columns, if not added yet. |
9524 | 3 | Cms: some import wizards, such as Import Word Documents and Import HTML Files, didn't function properly anymore Due to a fix of a Chrome 10 related bug in the previous version/build, some import wizards didn't jump automatically to the next screen anymore, whereas the Next button has been disabled (by design) to do so manually. As a result, it was no longer possible to import Word Documents and/or HTML Files using this wizards. This has been fixed. |
9534 | 3 | Outscaling: scheduled events were always executed, even when the target server instance has been disabled Outscaling didn't check whether or not the target server instance was enabled when executing scheduled events. This has been fixed. |
9536 | 3 | Cms manager: importing a contenttype into a group with a different set of logical fieldnames did fail The manual Cms manager action Import ContentTypes (part of Manage ContentTypes) did have some issues when importing a contenttype into a group with a different set of logical fieldnames. It also wasn't consistent compared to Manage ContentTypes (it was e.g. possible to add a contenttype field on a derived contenttype using Import ContentType, whereas using Manage ContentTypes this is only possible on contenttype group level). The Import ContentTypes functionality has been changed to solve these problems. See the article Import ContentType changes for more information. |
9544 | 3 | Ogone smartlet has syntax errors in 1.4 build 2 setup.
|
9545 | 3 | The cms manager now also supports multi-domaining In previous versions of iXperion, it was possible (with some minor limitations) to use multi-domaining for the publication engine. As of iXperion 1.4 build 3, multi-domaining is now also available for the cms manager engine. To make this possible, some configuration changes were needed, most notable the fact that each membership provider should now use its own configuration section. An additional advantage of this change is, that now every membership provider can use its own group definitions as well. The name of the configuration section to be used for a particular provider must be provided using the settingsSectionName attribute on the membership provider element. For more information, see the article Multi-domaining support revisited. |
9558 | 3 | AIM references could run behind When saving items, the AIM scanning process could used cached versions of the items on the Publication Server to load the references from, resulting in the persisted AIM references in the CMS to run behind. This could lead to situations where referential integrity was lost. |
9562 | 3 | Preview in Edit Form (legacy forms) showed the form as it was last saved, ignoring changes made in the editor. |
9565 | 3 | Outscaling could be triggered too soon Due to changes in threading model and synchronous state updating in 1.4, the outscaling background component could be triggered too soon. This could then lead to resources not being outscaled correctly. |
9566 | 3 | The manager action "Validate Item" returned an error when the document contained a target="_blank" Because the document was not cleaned up before validation takes place, the document contained some invalid Html which caused an error. |
9567 | 3 | Sql Native Client was not detected in Data Editor When using the Smartsite CMS DataEditor action, the Native Sql Client (Provider=SQLNCLI10.1...) was not detected autoamtically. |
9568 | 3 | The Smi dashboard display non primary content in the list of most popular pages. The Smi dashboard now only displays primary content in the list of most popular pages, making the list more informative. |
9571 | 3 | Outscaling: a problem occurred with item synchronization when using pulling mechanism In rare cases, when using pulling mechanism, items were pulled back from target server instance to the originator server instance due to the fact that the originator instance id was updated a (fraction) second later than the activation date was set. This has been fixed. |
9575 | 3 | Error page handling was different for the urls http://www.example.com/pub/xxx.html and http://www.example.com/pub.net?id=xxx where xxx does not exist. The error page for the url http://www.example.com/pub/xxx.html was created by IIS while the error page for the url http://www.example.com/pub.net?id=xxx was created by Smartsite. Now both urls are handled by the Smartsite custom error page, which allows you to use channel specific error handling. |
9578 | 3 | Facated Search now support URL Parameters for facet and filter links Because of this, the item named Script in folder Faceted Search Smartlet/Clientdata has been updated. |
9580 | 3 | ContentType group Web Pages was missing CTFP Layout for SmartInstant |
9582 | 3 | HostHeader synchronization between PUB and CMS may fail Sometimes the Hostheader information from the pub server is unavailable in the CMS, causing Smartlet Editor and Library to fail |
9584 | 3 | RemoveAttribute() method in XmlProcessor macro could hang the request When a non-existing attibute was removed using the RemoveAttribute() method in the XmlProcessor macro, Smartsite could run into an endless loop. |
9590 | 3 | The Viper call smartlet.name() returned the base Smartlet's name, even when previewing When previewing a Smartlet, the viper call smartlet.name() in the Preview Logic resolved to the base Smartlet name in the Smartlet folder, when multiple Smartlets were stored in the same folder. |
9598 | 3 | Config Editor: Oracle connection string properties did "disappear" When using the Config Editor, additional Oracle connection string properties (any property which is not specifically "recognized" by the Config Editor) did get lost when saving any changes for a specific site. This was due to the fact that a new connection string was build (from "scratch") based on the settings within the Config Editor. To fix this problem, now the original connection string is always used as template to create a new connection string based on the settings within the Config Editor. Notice that the same problem, before this fix, could have occurred for SQL server connection strings as well. |
9613 | 3 | Smi report were sent to the wrong user. Smi reports were sent to the user that is configured in the Scheduled Task for the Smi Reports instead of the user that actually created the report. |
9614 | 3 | Disabled navigation buttons in Faceted Search would still post back to the server. The "previous" and "first" buttons on the first page of results and the "next" and "last" buttons on the last page would look as if they were disabled, but they would actually still work, breaking the search results. |
9615 | 3 | Channel-specific LoginUrl processing was not thread-safe The implementation of channel-specific LoginUrl processing used non thread-safe logic. The implementation has been rewritten to avoid this. |
9616 | 3 | Channel-specific LoginUrl did not work correctly with non-friendly urls When the Friendly Urls feature is not installed or not used in a channel, the channel-specific LoginUrl handling could result in errors. |
9617 | 3 | SetSiteSecurity now also sets ACL's on the folder temp\1, temp\2 etc. Windows sometimes changes the temporary folder of a user to a subfolder of the original temp folder with a numeric postfix, like temp\1, temp\2 etc. SetSiteSecurity now recognizes these subfolders and sets the ACL's on these folders as well. |
9625 | 3 | The file explorer dialog in the manager now handles folders with quotes in their name correctly. |
9626 | 3 | The DateTextBox control in the manager had the wrong icon for clearing the date. |
9627 | 3 | Join macro could not sort descending. The Join macro can now also sort descending by adding " DESC" after the column name and can sort on multiple columns, seperated by a comma. |
9628 | 3 | LinkInput, FileInput, SelectInput now support MaxLength property The CMS EditControls LinkInput, FileInput and SelectInput now support the MaxLength CTFP |
9632 | 3 | Changes to a thesaurus did not raise a content change event. If you modify a thesaurus by using the Edit Thesaurus action, a content change event is now raised on the thesaurus item. This event allows you to e.g. expire an Sxml cache block by binding to the thesaurus item. |
9633 | 3 | Webrichtlijnen: non-compliant CSS removed from SmartInstant 2.0 design 2 includes Box-shadow and border-radius directives were removed from the includes. These styles are now added through a JavaScript include. Style rules can be added to a page through JavaScript using the following snipet: (function($){ $(document).ready(function(){ $("<style type='text/css'>.class {color: #000000;}</style>").appendTo("head"); }); })(jQuery); |
9634 | 3 | Webrichtlijnen: non-compliant CSS removed from SmartInstant 2.0 design 3 includes Text-shadow directives were removed from the includes. These styles are now added through a JavaScript include. Style rules can be added to a page through JavaScript using the following snipet: (function($){ $(document).ready(function(){ $("<style type='text/css'>.class {color: #000000;}</style>").appendTo("head"); }); })(jQuery); |
9635 | 3 | Within SmartInstant module the 'preview with item' list showed incorrect items. This bug will be fixed in existing SmartInstant implementations by running the update script of the SmartInstant module. |
9645 | 3 | Fixed the copyright and keywords meta tags in SmartInstant 2.0 The copyright meta tag now displays the author field of the current item as the copyright holder. |
9646 | 3 | Manually upgrade SmartInstant 2.0 SMARTINSTANT UPGRADE (notice, some points can already been updated by the update script) ====================================================================== 1. To update existing sites manually, update the links in the rowformat property in sml_Weblog() that use the smartlet.link() viper to use channel.link() instead: <a href="{channel.link(this.field(nr))}"> ... </a> 2. Query parameter 'layout' has been removed from CSS includes. De layout parameter for CSS includes is no longer needed. The include item itself can determine the current design using the channel.state.get() viper. This had been implemented in the layout item and other items in the Desisgn\stylesheets folder. 3. SmartInstant grid_css() translation has been updated. There now is a different set of includes for screen, print and pdf. Update to: <se:region whitespace="remove"> <se:placeholder.cssinclude /> <se:placeholder.css /> <!--// customized jquery-ui - CSS2.1 compliant, stripped from unneeded stuff --> <se:placeholder.addcssinclude url="/scf/jquery/smoothness/sms-jquery-ui.css" media="screen"/> <se:if expression="!url.commands.exists(request.location(), 'pdf')" whitespace="simpleformat" trim="right"> <se:then rem="render for screen and print"> <link rel="stylesheet" href="{cms.getdescendantbytitle($'page:channeldesign','Design/Special stylesheets/print.css',Off)}" media="print" /> <!--[if lt IE 7]> <link rel="stylesheet" href="{cms.getdescendantbytitle($'page:channeldesign','Design/Special stylesheets/IE6.css',Off)}" type="text/css" /> <![endif]--> <se:placeholder.addcssinclude url="{url.setparameter(MERGE_CSS_ITEMS, ts, scf.includes.global.modifieddate('CSS', default=datetime.minvalue()))}" media="screen" priority="-50" /> </se:then> <se:else rem="render for pdf"> <link rel="stylesheet" href="{cms.getdescendantbytitle($'page:channeldesign','Design/Special stylesheets/print.css',Off)}" /> </se:else> </se:if> </se:region> 4. Suggested/Not Required: New local translation StockColor simplifies sharing of color definition between several includes. The Design/Stylesheets folder, within a Smartinstant design, now includes a translation named StockColor(name). To initialize the stock color, invoke the translation, without parameters, from the Logic field. You can then use {stockcolor(name)} to apply a stock color value. 5. SmartInstant's smartlet 'Create Account' did not work by default To make smartlet 'Create Account' function properly, move item 'Security Extension Assembly' (GUID-C37163170E7C4966A31C88A30FFBC031) to a folder which is registered as a folder for virtual assemblies. In case of new implementations: SI_VIRTUALASSEMBLIES. 6. No action required. 7. Faceted search: type="text" added to searchterm text input. The content of translation ixs_RenderFormControls() has been updated. The searchterm input now includes an additional attribute type="text" to comply with the Webrichtlijnen validation. Update <input name="{string.concat($id,_searchterm)}" value="{string.encodeattribute(translation.arg(searchterm),false)}" /> to: <input name="{string.concat($id,_searchterm)}" type="text" value="{string.encodeattribute(translation.arg(searchterm),false)}" />. 8. Rating smartlet would render inline style attributes. For compliance with webRichtlijnen, these directives have been moved to a style sheet in the head section. Update sml_Rating() to: {license.checkfeature(Web20Toolkit)} <se:smartlet rem="Show Rating component with Progressive Enhancement"> <se:parameters> <se:parameter name="properties"> <se:collection> <se:member name="title" type="string" editable="true" rem="Title to show">Rate this page</se:member> <se:member name="scale" type="integer" editable="true" clientaccess="read" callbackaccess="read" rem="Scale to use (3 to 10)">5</se:member> <se:member name="value" type="integer" clientaccess="readwrite" callbackaccess="readwrite">0</se:member> <se:member name="average" type="float" clientaccess="read" callbackaccess="write">0</se:member> <se:member name="voted" type="boolean" clientaccess="read" callbackaccess="write">false</se:member> <se:member name="subkey" type="string" callbackaccess="read" editable="true"></se:member> <se:member name="imageWidth" type="integer" clientaccess="read" callbackaccess="read">16</se:member> <se:member name="allowAnonymous" type="boolean" editable="true" callbackaccess="read">false</se:member> <se:member name="getHighestRated" type="integer" editable="true">0</se:member> <se:member name="getHighestRatedFor" type="integer" editable="true">0</se:member> <se:member name="ratingItem" type="integer" editable="true" clientaccess="read" callbackaccess="read">0</se:member> </se:collection> </se:parameter> <se:parameter name="displayname"> {locale.getstring(RATING_RATING)} </se:parameter> <se:parameter name="xml" whitespace="remove"> {sys.iif(smartlet.get(scale) LT 3 || smartlet.get(scale) GT 10, sys.throwexception(InvalidArgument, "Scale can be between 3 and 10."))} <se:if expression="smartlet.get(ratingItem) == 0">{smartlet.set(ratingItem,url.getitemnumber(smartlet.page()))}</se:if> <se:if expression="smartlet.get(allowAnonymous)"> <se:then>{buffer.set(userid,security.user.guestuserid())}</se:then> <se:else>{buffer.set(userid,user.userid())}</se:else> </se:if> <se:if expression="smartlet.isajaxcallback()"> <se:then> {smartlet.set(voted, true)} {useritemfeedback.setuserfeedback(smartlet.get(ratingItem),$userid,rating,smartlet.get(subkey),(100*smartlet.get(value))/smartlet.get(scale))} {response.setcookie(smartlet.id(smartlet.get(ratingItem)),1,datetime.addyears(datetime.now(),1))} {smartlet.set(average, translation.localscope.getrating(smartlet.get(ratingItem),smartlet.get(subkey)) * smartlet.get(scale)/100.0)} </se:then> <se:else> <se:if expression="smartlet.get(getHighestRated) != 0"> <se:then> <se:smartletbox trim="both" caption="{locale.translate(smartlet.get(title))}"> <se:if expression="smartlet.get(getHighestRatedFor) == 0"> <se:then>{buffer.set(highest,useritemfeedback.gethighestrated('rating',smartlet.get(subkey),smartlet.get(getHighestRated)))}</se:then> <se:else>{buffer.set(highest,useritemfeedback.gethighestrated('rating',smartlet.get(subkey),smartlet.get(getHighestRatedFor),smartlet.get(getHighestRated)))}</se:else> </se:if> <se:format inputdata="highest"> <se:rowformat><li><a href="{channel.link(this.field(nr))}">{this.field(title)}</a> ({math.round(this.field(rating),1)})</li></se:rowformat> <se:resultformat><ul>{this.result()}</ul></se:resultformat> </se:format> </se:smartletbox> </se:then> <se:else> {smartlet.set(subkey,smartlet.get(subkey, default=smartlet.id()))} <se:if expression="smartlet.get(value) == 0"> <se:then> <se:if expression="smartlet.get(allowAnonymous)"> <se:then> {buffer.set(voted,request.getcookie(smartlet.id(smartlet.get(ratingItem)),default=false))} </se:then> <se:else> <se:if expression="!user.isanonymous()"> <se:then> {buffer.set(voted,useritemfeedback.hasusergivenfeedback(smartlet.get(ratingItem),user.userid(),"rating",smartlet.get(subkey)))} <se:if expression="buffer.get(voted)"> {smartlet.set(value, useritemfeedback.getuserfeedback(smartlet.get(ratingItem),user.userid(),"rating",smartlet.get(subkey)))} </se:if> </se:then> <se:else>{buffer.set(voted, true)}</se:else> </se:if> </se:else> </se:if> {smartlet.set(voted, $voted)} </se:then> <se:else> <!-- // vote --> {useritemfeedback.setuserfeedback(smartlet.get(ratingItem),$userid,rating,smartlet.get(subkey),(100*smartlet.get(value))/smartlet.get(scale))} {response.setcookie(smartlet.id(smartlet.get(ratingItem)),1,datetime.addyears(datetime.now(),1))} {smartlet.set(voted, true)} </se:else> </se:if> {smartlet.set(average,translation.localscope.getrating(smartlet.get(ratingItem),smartlet.get(subkey)) * smartlet.get(scale)/100.0)} <se:smartletbox trim="both" caption="{locale.translate(smartlet.get(title))}"> <se:if expression="smartlet.get(voted) || (user.isanonymous() AND !smartlet.get(allowAnonymous))" trim="both"> <se:then> <se:switch expression="true"> <se:case expression="!smartlet.get(allowAnonymous) AND !user.isanonymous()" break="false"> {smartlet.set(value, translation.localscope.getrating(smartlet.get(ratingItem),smartlet.get(subkey),user.userid()) * smartlet.get(scale)/100)} </se:case> <se:case expression="smartlet.get(value)!=0"> {buffer.set(postedfeedback,locale.translate("You rated this page with a {0} out of {1}.",smartlet.get(value),smartlet.get(scale)))} </se:case> <se:case expression="(user.isanonymous() AND !smartlet.get(allowAnonymous))"> {buffer.set(postedfeedback,locale.translate("You are not allowed to rate this page."))} </se:case> <se:case> {buffer.set(postedfeedback,locale.translate("You already rated this page."))} </se:case> </se:switch> <se:if expression="smartlet.get(value) == 0">{smartlet.set(value,smartlet.get(scale))}</se:if> <se:placeholder.addcss whitespace="preserve"> #{smartlet.id()} span.smlAboveAverage { width: {math.round(smartlet.get(imageWidth) * smartlet.get(scale))}px; } #{smartlet.id()} span.smlBelowAverage { width: {math.round(smartlet.get(imageWidth) * smartlet.get(average))}px; } </se:placeholder.addcss> <span class="smlAboveAverage" title="{locale.translate('Average rating: {0}', math.round(smartlet.get(average),1))}"> <span class="smlBelowAverage"><se:for whitespace="remove" from="1" to="{smartlet.get(value)}"> <img alt="" src="{smartlet.getresource('/clientdata/images/selectStar.png')}" class="smlrating" /> </se:for><se:for whitespace="remove" from="{sys.eval(smartlet.get(value) + 1)}" to="{smartlet.get(scale)}"> <img alt="" src="{smartlet.getresource('/clientdata/images/unselectStar.png')}" class="smlrating" /> </se:for></span> </span> <div>{buffer.get(postedfeedback,default="")}</div> </se:then> <se:else> <form method="post" action="{smartlet.page()}"> <div class="fieldset"> <se:for from="1" to="{smartlet.get(scale)}" trim="both"> <button type="submit" name="{smartlet.id(value)}" class="smlRating smlRatingNS" value="{this.index()}"><span class="hide">{this.index()}</span><!--[msiebutton]{this.index()}--></button> </se:for> </div> </form> </se:else> </se:if> </se:smartletbox> </se:else> </se:if> </se:else> </se:if> </se:parameter> </se:parameters> </se:smartlet> 9. The ItemComments Smartlet was not Web Guidelines compliant The ItemComments Smartlet had some non-compliant HTML. To update an existing implementation (Notice; this could already been updated by the upgrade scripts), open the sml_ItemComments() item, and search for: <se:if expression="smartlet.testaccess(forumpost)"> <se:then><h3>{locale.translate("Comments have been closed for this item.")}</h3></se:then> <se:else><h5>{locale.translate("You are not allowed to post here.")}</h5></se:else> </se:if> ... and change it to: <se:if expression="smartlet.testaccess(forumpost)"> <se:then><div class="smlNotification">{locale.translate("Comments have been closed for this item.")}</div></se:then> <se:else><div class="smlNotification">{locale.translate("You are not allowed to post here.")}</div></se:else> </se:if> <div> <input type="submit" class="buttonSubmitHide"/> </div> Now, open the ClientData/Css Item, and add the following code at the bottom: {smartlet.nameselector("input.buttonSubmitHide")} { display:none; } 10. The Flickr smartlet produced non-compliant HTML The HTML did not conform to Web Guidelines. SmartInstant installations and updates will have the changes necessary. To update existing sites, download the updated Flickr Smartlet (3.0) from the iXperion Market: http://market.smartsite.nl/Community/Sml/The_Smartlets/Competition-Flickr-Smartlet/Competition-Flickr-Smartlet-Downloads.html. 11.The Event Calendar output was not Web Guidelines compliant Web Guideline prescribe that table elements are decorated using the 'scope' attribute. To implement the changes in an existing Web Toolkit install, open the BuildCalendar() translation, and: - add scope="row" to each th element under the tr with class 'smlPanelHeader' - add scope="col" to each th element under the tr with class 'DayNames' - add scope="col" to each td element 12. Twitter Smartlet display not XHTML compliant Text retrieved by the Twitter Smartlet was not escaped for XHTML display. SmartInstant sites created using the 1.4 setup will automatically be updated. To implement the changes manually, make the following changes to the Format() translation: {translation.localscope.expand(scope.format.field(text))}</span> ==> {translation.localscope.expand(string.xmlencode(scope.format.field(text), Ampersand))}</span> ... and ... <em>{scope.format.field(source)}</em> ==> <em>{string.xmlencode(string.xmldecode(scope.format.field(source)), 'Ampersand,DoubleAmpersand')}</em>13. SmartInstant search box no longer uses query paramers to pass the search term. In SmartInstant, the search box in the upper right corner uses the query string to pass the searchterm to the search engine. This approach is not recommended by the The web guidelines (Webrichtlijnen). To forward the search term using a form post instead of the query string, apply the following changes to an existing SmartInstant site: |
9650 | 3 | The BuienRadar Smartlet form did not have any submit button This was not Web Guidelines compliant. For installation in an existing site, download the update from the iXperion Market: http://bit.ly/nRNHoL |
9651 | 3 | The Forum smartlet now uses friendly names (if available) to link to forum topics. |
9652 | 3 | The "Prikbord" Smartlet now shows friendly urls to the topics Friendly urls are shown instead of complex internal Smartlet links |
9653 | 3 | SmartInstant search box no longer uses query paramers to pass the search term. In SmartInstant, the search box in the upper right corner uses the query string to pass the searchterm to the search engine. This approach is not recommended by the The web guidelines (Webrichtlijnen). To forward the search term using a form post instead of the query string, apply the following changes to an existing SmartInstant site:
|
9654 | 3 | Twitter Smartlet display not XHTML compliant Text retrieved by the Twitter Smartlet was not escaped for XHTML display. SmartInstant sites created using the 1.4 setup will automatically be updated. To implement the changes manually, make the following changes to the Format() translation: {translation.localscope.expand(scope.format.field(text))}</span> ==> {translation.localscope.expand(string.xmlencode(scope.format.field(text), Ampersand))}</span> ... and ... <em>{scope.format.field(source)}</em> ==> <em>{string.xmlencode(string.xmldecode(scope.format.field(source)), 'Ampersand,DoubleAmpersand')}</em> |
9655 | 3 | BrowseAway Smartlet had wrong styling Due to the inclusion of a stripped version of jQuery-ui.css, the dialogs shown when clicking on external links, gennerated by the BrowseAway Smartlet, had erroneous styling. This was fixed in work item 9684. |
9656 | 3 | The Event Calendar output was not Web Guidelines compliant Web Guideline prescribe that table elements are decorated using the 'scope' attribute. To implement the changes in an existing Web Toolkit install, open the BuildCalendar() translation, and: - add scope="row" to each th element under the tr with class 'smlPanelHeader' - add scope="col" to each th element under the tr with class 'DayNames' - add scope="col" to each td element |
9657 | 3 | The Flickr smartlet produced non-compliant HTML The HTML did not conform to Web Guidelines. SmartInstant installations and updates will have the changes necessary. To update existing sites, download the updated Flickr Smartlet (3.0) from the iXperion Market: http://bit.ly/nZphP7. |
9658 | 3 | The ItemComments Smartlet was not Web Guidelines compliant The ItemComments Smartlet had some non-compliant HTML. To update an existing implementation, open the sml_ItemComments() item, and search for: <se:if expression="smartlet.testaccess(forumpost)"> <se:then><h3>{locale.translate("Comments have been closed for this item.")}</h3></se:then> <se:else><h5>{locale.translate("You are not allowed to post here.")}</h5></se:else> </se:if> ... and change it to: <se:if expression="smartlet.testaccess(forumpost)"> <se:then><div class="smlNotification">{locale.translate("Comments have been closed for this item.")}</div></se:then> <se:else><div class="smlNotification">{locale.translate("You are not allowed to post here.")}</div></se:else> </se:if> <div> <input type="submit" class="buttonSubmitHide"/> </div> Now, open the ClientData/Css Item, and add the following code at the bottom: {smartlet.nameselector("div.smlNotification")} { font-size: 120%; font-weight: bold; color: #808080; } |
9660 | 3 | Rating smartlet would render inline style attributes. For compliance with webRichtlijnen, these directives have been moved to a style sheet in the head section. |
9665 | 3 | SmartInstant's smartlet 'Create Account' did not work by default To make smartlet 'Create Account' function properly, move item 'Security Extension Assembly' (GUID-C37163170E7C4966A31C88A30FFBC031) to a folder which is registered as a folder for virtual assemblies. In case of new implementations: SI_VIRTUALASSEMBLIES. |
9668 | 3 | SmartInstant now includes a new manager Action: Duplicate Design. For more information refer to: http://docs.ixperion.smartsite.nl/doc/Add-On_Modules-SmartInstant/Manager-Action-Duplicate-Design.html. |
9669 | 3 | The option to debug the Javascript and CSS Global Includes has been added to Smartsite. It is now easier to debug Javascript and CSS includes by disabling the Include Aggregator and minification both in the TestSuite in the Debug menu and in the Smartsite.config file in the debug section by enabling the debug feature "DebugIncludes". |
9671 | 3 | SmartletEditor preview CSS item caching would break preview over different channels. To fix this issue in an existing site:
|
9672 | 3 | Configure Smartlet dialog would be unable to determine Security Zone when tree selection changed. |
9673 | 3 | Deleting a rendertemplate together with the channel that uses it failed. Smartsite would detect the relation between the two items, without checking whether the channel is to be deleted as well. |
9679 | 3 | Some debug setting like "Suppress custom error pages" did not work in the TestSuite. |
9680 | 3 | Smartlet Editor would always post to the site's default channel. This would result in an error if the smartlet being edited is not available in the default channel. |
9681 | 3 | The F12 select and find feature in the TestSuite now also works with standard Textboxes Previously, the feature only worked in CodeEditor (SXML) fields. |
9682 | 3 | The Smartlet Preset contenttype is no longer mapped to any publication channel. |
9684 | 3 | Web Guidelines compliant (CSS2.1) adapted version of jQuery-ui.css now included The full version of jQuery-UI.css stylesheet contains non 2.1, and thus non-web guidelines compliant CSS. In the previous release the original jQuery-ui.css was stripped and placed into the /scf/jquery/smoothness/ folder under the same name, but we have now decided to include the full, original version and add an adapted version under a new name, sms-jquery-ui.css. We use progressive enhancement to then reinstall some of the CSS3 functionality, using a sms-jquery-ui.js file. The Empty Site now comes with both the original 1.8.2 jQuery-ui.css and the 2 files needed for Web Guidelines compliancy. By default, the SmartInstant setup and the 1.4b3 publication update use the compliant version of jQuery-UI. To implement the compliant versions in your own sites, make sure the original jQuery-ui.css is no longer referenced, and add the following SXML in your render templates: <!--// customized jquery-ui - CSS2.1 compliant, stripped from unneeded stuff --> <se:placeholder.addcssinclude url="/scf/jquery/smoothness/sms-jquery-ui.css" media="screen"/> <!--// to keep compliancy but enable newer CSS rules --> <se:placeholder.addjavascriptinclude url="/scf/jquery/smoothness/sms-jquery-ui.js" /> |
9685 | 3 | CSS Include Aggregator now moves all @import statements to the top The Includes Aggregator is now able to parse the aggregated CSS and process @import statements. @import statements can either be moved to the top of the document, or be 'expanded' in place. Steps needed to enable Import Processing: Open the Shared /Configuration/Scf/Includes Aggregator/MergeIncludes(dataTable, type, minify) translation Search for: <se:if expression="$isjavascript"> {buffer.set(result, $result)} </se:if> Replace this fragment with: <se:if expression="! $isjavascript"> {buffer.set(result, scf.includes.processaggregatedcssimports($result, Expand))} </se:if> |
9686 | 3 | Enforcing of Translation argument types skipped using translation.arg(index) When using an argument index in translation.arg(), argument type checking was skipped. |
9694 | 3 | SmartInstant: new local translation StockColor simplifies sharing of color definition between several includes. The Design/Stylesheets folder, within a Smartinstant design, now includes a translation named StockColor(name). To initialize the stock color, invloke the translation, without parameters, from the Logic field. You can then use {stockcolor(name)} to apply a stock color value. |
9697 | 3 | The TestSuite's dependency dropdown did not refresh after a transfer() When request.transfer() was used to reroute the request to another location without a client roundtrip, the dependency dropdown list would not refresh. |
9699 | 3 | SXML Visualizer Enhancements The SXML Visualizer has been updated to have better SXML statement to HTML element connectivity. |
9701 | 3 | Database scripts in Publication Setups caused annoying warnings when scripts taking too long |
9710 | 3 | Smartlet Preset contenttype was browsable |
9711 | 3 | SmartInstant now uses the standard Faceted Search Query Definition XML instead of a custom version. |
9713 | 3 | Faceted Search Autocomplete did not always work when Friendly Urls were disabled. This had been fixed in Faceted Search Smartlet/Clientdata/Script. |
9720 | 3 | The Publication Update database scripts log file is now stored for review in the Backup\PubSetupScripts_<dbversion>_<timestamp> folder. |
9725 | 3 | SmartInstant grid_css() translation has been updated. There now is a different set of includes for screen, print and pdf. |
9726 | 3 | Faceted search: type="text" added to searchterm text input. The content of translation ixs_RenderFormControls() has been updated. The searchterm input now includes an additional attribute type="text" to comply with the Webrichtlijnen validation. This has also been changed in SmartInstant which uses its own version of ixs_RenderFormControls(). |
9727 | 3 | BBDecode viper converted all urls to lower case. |
9735 | 3 | SmartInstant: query parameter 'layout' has been removed from CSS includes. De layout parameter for CSS includes is no longer needed. The include item itself can determine the current design using the channel.state.get() viper. This had been implemented in the layout item and other items in the Desisgn\stylesheets folder. |
9739 | 3 | The vipers placeholder.addaggregatedjavascriptinclude and placeholder.addaggregatedcssinclude did not work as expected. The vipers placeholder.addaggregatedjavascriptinclude and placeholder.addaggregatedcssinclude have been deprecated. You should now use the original methods placeholder.addjavascriptinclude and placeholder.addcssinclude instead. |
9743 | 3 | Creating Friendly Urls in Smartlets using the MapLinkUrls property The new MapLinkUrls property of the Smartlet Macro makes the Smartlet.Link() viper generate friendly urls on pages that support UrlParameters. This is especially helpful in strict Web Guidelines envionments, where querystring parameters are not allowed on Urls. |
9745 | 3 | SmartInstant: the hyperlinks for the aggregated includes now include a timestamp query parameter. This ensures that the browser cache is automatically refreshed whenever an aggregated CSS or Javascript include changes. Examples: <link rel="stylesheet" type="text/css" href="/1/Config/GlobalStyles.css?ts=2011-08-17T13:25:22" media="screen" /> |
9746 | 3 | Smi measured visitor only once. Smi's behavior for measuring visitors has been changed. Previously a visitor was only measured on its first visit ever. If the visitor visited your site for the first time yesterday and comes back again today, it was not counted as a new visitor. This could lead to the situation where there were several pageviews but no visitors on a certain day because all visitors has already visited your site before. Because people found this confusing, the behavior was changed such that a visitor is counted as a new visitor if it is a new visitor on that day. You can switch back to the old behavior by sett the attribute "visitormode" to "continuous" on the element "visitors" under the element "logging" in the Smiserver.exe.config file. Documentation is located here: http://docs.ixperion.smartsite.nl/doc/iXperion/Installation_and_Configuration/Smartsite_Configuration_files/Configuration_Files_Reference/SmiServerexeconfig/SmiServerexeconfig-configuration/sites/site/site-logging/visitors/visitormode.html |
9748 | 3 | The title element in the HTML head section is now rendered using a placeholder You can add additional text to the title by adding the following statement to the logic field of an item: {placeholder.add(headtitle, ' additional information')} You can also replace the standard head title: {placeholder.clear(headtitle)} {placeholder.add(headtitle, 'replacement title')} {placeholder.add(headtitle, ' replacement additional information')} |
9749 | 3 | Some Smartlets in WebToolkit and SmartInstant now use the MapLinkUrls property The MapLinkUrls property was introduced purely for Web Guidelines compliance while using the Smartlet.Link() Viper Method. This method normally generates a Url with QueryString variables, but when specifying MapLinkUrls="true" in the Smartlet, it will automatically use Url Parameters (if supported by the hosting item) |
9753 | 3 | Note: in IE9, if Compatibility View is selected, jQuery UI popup dialogs might not render correctly. Make sure you use IE9 Standards mode. |
9755 | 3 | Previewing System Translations is now easier You can now more easily preview System Translations using the Preview Logic field. |
9756 | 3 | Database: the setup deploys a new version of the database function fn_RecurseAIMDependencies(). |
9763 | 3 | Smartsite.config: new release setting SwitchProviderOnSupportedDomainsList has been added The SwitchProviderOnSupportedDomainsList release setting has been added to the smartsite.config of the EmptySix site template. See the article <releaseSettings> element for more information. |
9765 | 3 | Links to blog entries were not Web Guidelines compliant To update existing sites manually, update the links in the rowformat property in smlWeblog() that use the smartlet.link() viper to use channel.link() instead: <a href="{channel.link(this.field(nr))}"> ... </a> |
9766 | 3 | The Config Editor now also supports configuration for multiple (Active Directory / LDAP) membership providers The previous version of the Config Editor only supported the configuration for just one Active Directory membership provider. However, as of iXperion 1.4 build 3, it supports the configuration for multiple membership providers and it supports LDAP membership provider(s) as well. Furthermore, the Config Editor now also makes it possible to edit/review release and debug settings. These settings are available in Advanced Mode. |
9770 | 3 | SmartInstant: design specific script has been moved to global include. The SmartInstant ELBA element javascripts() no longer includes an explicit reference to Design/Javascripts/script.js. Instead, this javascript has been added to the global javascript include. |
9774 | 3 | Form Post Persistance behavior could fail in complex render templates In complex remdertemplates, such as in SmartInstant, Post Persistance handling could fail, resulting in persisted form data not being available using request.form() vipers. |
9778 | 3 | Smartlet Editor preview did not include Global Javascript Include Javascript items marked with 'Add to Global Include', were not loaded during Smartlet Editor previews, causing javascript errors. |
9783 | 3 | Outscaling: the EventSubscriber did flood the log file with messages when database connection problems occurred The Synchronizer object (used within e.g. the Outscaling EventSubscriber) does now checks its database connection regularly, and when there's a problem a new connection is established. This prevents the log file from being flooded with error messages. |
9785 | 3 | SmartInstant installation sets SearchGroup PUB's language to Dutch if still unset |
9788 | 3 | The Smartlet Editor display CSS styling was wrong Checkboxes such as in Faceted Search options selector were not styled correctly. |
9791 | 3 | The Translation.Name() viper method produced errors during AIM scanning |
9792 | 3 | Wrapping code in Sys.Eval() could break code under circumstances Using sys.eval() could break code, due to erroneous checking whether the deprecated sys.eval(code, sciope, fallbackscope) was used. |
9795 | 3 | Cms manager & Outscaling: Import ContentType did raise too many events When importing a contenttype, either using the Import / Export ContentType wizard or the Paste button within the cms manager Manage ContentTypes action, the events raised during the import process were not "consumed" by the import process itself. Therefore, after an import contenttype action, the Outscaling eventqueue was filled with many ContentTypes events. Unfortunately, the Outscaling mechanism to detect duplicate events wasn't optimal as well. When having an Outscaling scenario of multiple cms server instances each having their own database, this resulted in Outscaling sending the changed contenttype (to its cms subscriber instances) as many times as there were ContentTypes events within the queue. Both these issues has been addressed. The Import ContentTypes function now, by default, "consumes" all ContentTypes events raised during the import process and raises a single ContentTypes.AddContentType (when it's a new contenttype) or ContentTypes.Update (when it's an update) event after it has finished the import. And the Outscaling mechanism to detect duplicate events has been adjusted as well. |
9802 | 3 | Column LoginName of table AllUsers is increased to 255 characters This increase is needed when using multi-domaining of which field FQDN (Fully qualified domain name) of the user is stored in AllUsers.LoginName. |
9808 | 3 | The cms manager now uses a new filename convention for the "user.dat" files. The cms manager stores persistant data of users in so-called user.dat files. The naming convention for these files used to be "<username>.dat" (e.g. "admin.dat"). This has been changed into "<userid>.dat" (e.g. "1.dat"). Existing files will be renamed automatically when an user logs in. |
9832 | 4 | Asynchronous Import did not support an returnUrl to a site which uses Windows Authentication As of iXperion 1.4 build 4, the Asynchronous Import also supports a returnUrl to a site which uses (integrated) Windows Authentication. To switch to Windows Autenthication you must specify the parameter "ReturnUrlUseWindowsAuthentication" within the import settings element of the webservice call. Of course, the supplied credentials (ReturnUrlUsername and ReturnUrlPassword) must then represent an domain account. See the article Asynchronous Import for more information. |
9835 | 4 | The PUB server did not automatically use new localization strings that were entered in the manager. |
9836 | 4 | se:webservice macro did remove "empty" namespace declarations (xmlns="") from the specified literalmethodnode |
9861 | 4 | Smartsite was no longer able to serve files from disk if the first directory in the file path was also the friendly name of a Smartsite item. If "Events" was a friendly name of an item, then the file "/Events/foo.html" could no longer be retrieved. This has now been fixed. |
9864 | 4 | Starting the TestSuite would overwrite the Hostheaders in the registry. This would break communication between publication and cms in the manager. |
9878 | 4 | Outscaling: editing an existing datasource within the Outscaling Console did fail due to an too strict check on duplicate codes The check implemented within the DataEditor meta xml file osDatasources.xml was too strict. The onbeforesave script within the logic section has been adjusted to fix this. To fix this issue within existing sites running 1.4 build 2 or 3, change the onbeforesave script to: If Site.AdoHelper.Tables.Exists(data("code")) Then Err.Raise 20002, "Invalid code", Context.Locale("Datasource code shouldn't equal an existing tablename.") Else If Not IsNull(key) Then If Site.AdoHelper.ExecuteScalar("select count(*) from osDatasources where code=? and not nr=?", data("code"), CLng(key)) > 0 Then Err.Raise 20002, "Invalid code", Context.Locale("Datasource code must be unique.") End If Else If Site.AdoHelper.ExecuteScalar("select count(*) from osDatasources where code=?", data("code")) > 0 Then Err.Raise 20002, "Invalid code", Context.Locale("Datasource code must be unique.") End If End If End If |
9882 | 4 | Url Parameters now escapes the '.' character The Url Parameters feature now escapes and unescapes '.' characters in querystrings. |
9883 | 4 | The digid.redirecttologin viper now also supports url parameters The digid.redirecttologin viper generates an url which includes the original source url as query-string viper. The viper now also has overloads which will generate an Web Guidelines compliant url (sourceurl included as url parameter). |
9885 | 4 | The Asynchronous Import didn't encode the '&' within the returnUrl used to report the status of an import job. |
9887 | 4 | The digid.redirecttologin() viper now checks the sourceUrl parameter When you use one of the overloads of the digid.redirecttologin() viper with which you can specify the sourceUrl, the sourceUrl specified is now checked if it contains a valid Item reference. If not, the sourceUrl is not added to the url as querystring parameter (or url parameter when the option useUrlParameterMapping has been set to true). |
9897 | 4 | AIM relations were not found on a virtual contentrelation field. |
9946 | 4 | The error "This key is already associated with an element of this collection." could occur during "Push into Publication". |
9956 | 4 | The ImageServer no longer worked on images in Smartsites if the url started with the channel's default document, like /smartsite.net?id=12345&hid=img |
9957 | 4 | Enforce friendly url no longer worked for urls starting with the channel's default document, like /smartsite.net?id=12345. |
9962 | 4 | Outscaling: in rare occasions, the Windows Application log (Event Viewer) did fill up with error messages The Outscaling background component does check the database connection every 20 seconds, and when doing so a standard log message ("Synchronizer object: Checking ado connection...") is written to the Smartsite log (on level 10). In rare occasions, writing this log message causes the error ("Object variable or With block variable not set"), which is then written to the Windows Application log. Notice that this doesn't affect the Outscaling process at all and/or logging other messages. The "only" downside is that the Windows Application log is flooded with the message: "Error while logging Outscaling\Synchronizer object: Checking ado connection...: Object variable or With block variable not set" (every 20 seconds). To prevent this from happening, the logging of the procedure checking the ado connection has been adjusted. If the problem still occurs, adjust the Outscaling loglevel to a lower level (<10). |
9972 | 4 | XmlProcessor.PopulateDatatable could not handle xpath expressions with a '=' sign in it. |
9977 | 4 | Outscaling: ContentChange.Activation event filtering did cause problems As part of fixing work item 8774 ("when saving an item within the cms manager, the item-cache of that item is now cleared immediately"), the ContentChange.Activation event has been added to the built-in event filtering of Outscaling. This means that the ContentChange.Activation event was always skipped and never sent to another server instance. This did cause problems when using an Outscaling configuration of multiple (cms+pub) server instances with a shared database. When changing an item on a cms server instance, the publication server instance(s) belonging to the other (subscribed) cms server instance(s) never received an event to indicate this change. Therefore, the item-cache wasn't cleared on the publication server instance(s). This problem has been fixed, the ContentChange.Activation event has been removed from the built-in event filtering. |
10025 | 4 | Outscaling: in rare occasions, multiple background components were started When the Outscaling background component thread is busy for over 5 minutes synchronizing a set of items, it could happen that the main Smartsite thread started a new Outscaling background component. This is the AutoRestart behaviour, which is intended to make sure there's always an active Outscaling background component. To prevent this from happening, various changes have been implemented: - The AutoRestart interval (which represents the number of seconds between the last activity - represented by the LastRun property - and the current date/time which must have been passed before a new background component will be started) can now be configured within the registry (AutoRestartInterval string value within the "BackgroundComponents\Outscaling" key, defaults to 300). - The LastRun property (which is used to determine if the Outscaling background component is still active) is now updated more often. - The (internally used) LastActivationDate registered within osDatabaseInstances will now only be updated if the new value is greater than the old value. Notice that the AutoRestart behaviour can be switched off by means of adding AutoRestart string value with value "0" to the "BackgroundComponents\Outscaling" key. |
10028 | 4 | Outscaling: due to a bug within the logging algorithm of the external webservice handler, external file references could not be determined and retrieved when using pulling. |
10061 | 5 | In non-Dutch cultures, the calendar macro could show wrong data Due to a culture-related bug, the calendar macro could show wrong results. |
10331 | 5 | PUB server had insufficient rights to create the <Dynamic Data> registry key after running SetSiteSecurity. To simplify problem detection, Smartsite now fails to start if it has insufficient permissions on the registry. Run SetSiteSecurity to resolve the problem if it occurs. |
7989 | 6 | ItemData of a lookuplist field in preview mode is now represented in the same manner as in normal render mode. In previous versions, a lookuplist was represented as a datatable in normal render mode and as an integer or float in preview mode. This caused preview of such items to fail. With this fix, lookuplist fields are now represented as a datatable in both normal render and preview mode. Note that you may have implemented a workaround in your site for this problem. That workaround may need to be removed. |
10190 | 6 | Outscaling: contenttype synchronization issue fixed When renaming a logical fieldname on a master contenttype (using manage contenttypes), this change is reflected on the derived contenttypes as well. However, in an Outscaling scenario, the master contenttype on the subscriber server instance was updated accordingly, but the derived contenttypes were not. The field was actually been removed from the derived contenttypes. This has been fixed. Also, when using an Outscaling scenario with a shared database, the affected contenttypes were not reloaded. |
10192 | 6 | Import (and outscaling) would miss-apply textfilters on fields whose logical name differs from their physical name. This bug only occurred when an item is updated by the import process, initial creation of the item worked correctly. This would typically result in extra ampersand-escaping for these fields. |
10234 | 6 | Repository workflow did not start under Active Directory. Repository workflows did not start under Active Directory because the Smartsite Middleware user does not exist under Active Directory. A new registry setting has been introduced that allows you to optionally set the user used for repository workflows. You can set the repository user by setting a username in the registry setting <site root>\CMS\Repository\WorkflowUser. |
10286 | 6 | Tabbed Preview caused errors in specific subtree configurations A bug was fixed where the Tabbed Preview component would fail, depending on the SubTree configuration of a channel. |
10289 | 6 | Outscaling: issue when using pulling scenario has been fixed. When pulling was enabled, sometimes an item was pulled incorrectly due to the fact that the OriginitatorInstanceID field was reset to null between two updates. |
10334 | 6 | Edit Thesaurus can now handle ampersands in the terms. Previously, the editor would remove everything after the ampersand. |
10363 | 6 | Outscaling: Synchronize Items dialog issue fixed Synchronizing an item selection without selecting the recursive option didn't work anymore. |
10367 | 6 | Smartsite was emitting the same http header more than once on some requests. |
10368 | 6 | Changes in the CSS used by the webEditor are not reflected immediately. When Internet Explorer has a CSS file in its cache, it doesn't always check the server to see if it has been modified since the file was cached. The cache will be refreshed on an uncertain schedule determined by the browser. Clearing the client cache will result in the changes becoming visible in the editor. |
10399 | 6 | Parent item is not a folder error, during an import of a Smartsite XML import file A Smartsite XML import file can contain a hierarchy of items to import. A parent item usually includes a field stating that the item is a folder. If this field is omitted the importer will automatically assume a folder. This mechanism contained a flaw that occurred if the folder field is omitted and if the item is already present as an item rather than a folder. This is now fixed. |
10616 | 6 | Cms: security update to the legacy rendering |
10620 | 6 | Outscaling: LastRun of Background Component wasn't updated when executing Outscaling.ImportFile events As a result, the AutoRestart option did mistakenly detect that the Outscaling background component wasn't active/running anymore and started a new instance. This resulted in low(er) performance and various errors. |
8282 | 7 | A stored procedure has been added to remove custom events from the SMI database. |
10670 | 7 | SMI PDF reports always used the report length 25 instead of the configured report length. |
10671 | 7 | Smi reports can now be configured for other mail addresses than the default mail address of the Smartsite user. |
10674 | 7 | Smi now register errors per page instead of per site. Now that Smi registers errors per page, you can zoom in a specifc error and see on which page it occurred. |
10676 | 7 | Some Smi charts were missing one or more lines. Due to a logic error, some charts were not displaying all lines. The data displayed in the table below the chart was correct. |
10681 | 7 | More spider and crawlers are now recognized by Smi. |
10688 | 7 | Xml export of an Smi report contains the wrong "until" date. |
10689 | 7 | Smi click path reports can now be exported to pdf. |
10692 | 7 | Smi Xml exports now use the configured report length. In previous releases, an Xml export always contained all rows available. From now on, an Xml export contains the number of rows configured in the report. You can still select 'all rows' if you want to retrieve all rows a specific report. |
10693 | 7 | Smi translations are now prefixed with Smi_ |
10697 | 7 | Smi now registers requests that lead to a 404 "File not found" response and shows the result in a report. |
8810 | 8 | Faceted Search: smartlet update to allow an initial sort order other than by searchrank. In the standard Faceted Search configuration, the initial sort order of the search result is always searchrank desc. This is needed because, as long as the result with the highest searchrank is not known, a relative ranking indicator cannot be shown. By making the changes to the Faceted Search smartlet as listed below, the initial search order can be overruled, and can, for example, be set to publication date. {sml_facetedsearch(orderby="c.ActivationDate DESC")} Note that, as long as the result has not been sorted by searchrank, the ranking indicator is not valid and will not be displayed. item sml_FacetedSearch() Replace {smartlet.set(orderby,"searchrank DESC")} with {smartlet.set(orderby, smartlet.get(orderby,default="searchrank DESC") )} item ixs_ShowRating Enclose existing img-tag with a condition test: <se:if expression="translation.arg(mul,default=0) GT 0" trim="both"> <img ... /> </se:if> |
9799 | 8 | AIM: external URL references were registered in all upper case This caused problems when working with case-sensitive UNIX servers. The urls will now be registered in the casing they have in the site. To fix existing databases, you will have to do a full AIM rescan (with 'Remove all existing AIM data'), using the AIM tab in the System Panel action. |
9967 | 8 | Outscaling: the "sync at" option for scheduled events didn't function properly The scheduled events were not executed on the specified time, but they were executed 24 hours after the last time they had run. |
10013 | 8 | Faceted Search: when using "*" as (single) search term, the query builder did return an invalid sql query if one of the selected sources is of type "thesaurusrelation" |
10030 | 8 | The Active Directory error message "The server is not operational" has been solved. The error could occur if many logins happened in a short amount of time, due to an object, not being disposed immediately. |
10054 | 8 | Cms manager: database error occurred when setting "Not in use" property on a virtual contenttype field |
10058 | 8 | Faceted Search: facets didn't show any result when the search terms did contain one or more stopwords When the search terms did contain one or more stopwords, the main search query gave the correct number of result due to the "exact phrase" condition (which is basically a concatenation of the search terms) which is always added to the full-text predicate. However, the facets didn't show any result due to the fact that this "exact phrase" condition wasn't added to the full-text predicate in case of a facet query. This has been fixed. Notice that this issue only applies when using full-text search. |
10111 | 8 | AIM references were not always cleared on deactivation/archiving/deleting content When setting items inactive or archiving, aim references were kept intact, causing blocking relations. |
10135 | 8 | Login Macro accepted any ReturnUrl location A security issue was fixed in the Login macro. It no longer accepts any url as ReturnUrl parameter: it must point to a valid site HostHeader. |
10285 | 8 | Find in Tree would return too few results when the user is a member of multiple groups. |
10350 | 8 | The image macro did not use the file cache when determining the width or height of a transformed image. Because the image macro did not use the file cache when determining the width or height of a transformed image, the macro was performing the costly transform operation every time it was called. |
10409 | 8 | The Sql.Execute() viper method failed to close Database connections immediately When using the Sql.Execute() viper method instead of a full-fledged SqlQuery macro, the database connection would not be closed immediately after statement execution. This could cause the Database Connection Pool to be overflowed. |
10529 | 8 | Previewing items on isolated channels did not work When isolating channels using the useglobalhostheaders="false" setting, previewing items on that channel in the Smartsite Manager, went wrong. |
10531 | 8 | The WebEditor is now better able to handle links to channels on a different hostheader than where the manager is running. If a specific channel responds to a different hostheader than the default channel, the webeditor would often break internal links within that channel. |
10572 | 8 | Content relations could not be updated with the Bulk Update action. An error occurred when updating a content relation field using the bulk update action. |
10609 | 8 | Copy Design dialog couldn't copy designs with a number higher than 32767. |
10613 | 8 | Legacy Forms component failed to return correct value for Checkboxes When using legacy forms, inputs of type checkbox did not return the correct value. |
10657 | 8 | Cms Manager: Detecting n-to-n relations has been improved The SimpleN2N storage handler now better detects the appropriate n-2-n relation. In some rare scenarios, when a SQL server database had been downgraded from SQL Server 2008 R2 to SQL Server 2008 R1, detecting the appropriate n-2-n relation did cause a problem. This resulted in synchronization problems for channel and render template items. |
10658 | 8 | Restore the original definition of database view vwSchemaLookup. Database view vwSchemaLookup was modified by some customers, as a workaround for an issue with N to N content relations. This issue was solved with a refinement of the involved storage handler. The modification of the view definition is no longer required and 1.4 build 8 restores the original definition. |
10711 | 8 | Channel-specific Login Url failed with seperate channel hostheaders When using seperate channel hostheaders, and useglobalhostheaders="false", you could not use a channel-specific LoginUrl. |
10719 | 8 | The Friendly URL functionality now replaces diacritical marks with corresponding characters. |
10748 | 8 | Cms manager: content validation failed for users not on the default domain when using a multi-domain Active Directory configuration When Smartsite has been configured to use a multi-domain Active Directory configuration, users not on the default domain were unable to save items: the content validation failed with the exception message "User not found in Active Directory store". Notice, when using multi-domain configuration, you need to check if the release setting SwitchProviderOnSupportedDomainsList has been enabled. |
10794 | 8 | HostHeaders were not loaded by the Cms server when reloading the site from the manager. |
10796 | 8 | Cms manager: in some sites, configured to use Active Directory authentication, storing the user's session data did fail |
10839 | 8 | New registry setting: PublicationServerRequestInterval The PublicationServerRequestInterval setting (root of the site registry) can be used to set the interval (in seconds) after which the CMS server will issue a 'keep-alive' request to the Publication Server. The PublicationServerRequestUrl setting can be used to use an alternative url for the keep-alive request (the PublicationServerAddress setting will be used by default). Use the ExecutePublicationServerRequestOnStartUp setting (boolean) to enable or disable the keep-alive. |
10854 | 8 | Single quotes in folder names would break the file dialog. |
10884 | 8 | DigiD: the login using DigiD membership provider failed when the user was redirected back from the DigiD website The returnUrl send to DigiD didn't use the correct escaping/encoding. |
10915 | 8 | SmartInstant shows a warning when incorrect license is used. |
10924 | 8 | Outscaling: contenttype synchronization fix Due to a fix within 1.4 build 6, which had to do with synchronization of a rename action on a contenttype field, adding a contenttype field was not synchronized correctly anymore. The new field was only added to the master contenttype and not its derived contenttypes. This has been fixed, now both adding a contenttype field and renaming an existing contenttype field is correctly synchronized to the master contenttype and its derived contenttypes. |
10936 | 8 | Checkbox fields not always resolved when editing smartlet using the Smartlet editor In some previous versions of Smartsite the SmartletEditorDefaultTypes() item contained the following source: <se:rowformat expression="this.field(type)==Boolean"> <label for="{this.field(name)}">{string.capitalize(this.field(name))}</label> <se:if expression="this.field(defaultvalue)"> <se:then><input type="checkbox" checked="checked" class="Control {this.parent.field(type)}Control" name="{this.parent.field(name)}" id="{this.parent.field(name)}" /><br /></se:then> <se:else><input type="checkbox" class="Control {this.parent.field(type)}Control" name="{this.parent.field(name)}" id="{this.parent.field(name)}" /><br /></se:else> </se:if> </se:rowformat> This se:if must have a this.parent.field. New source should be: <se:rowformat expression="this.field(type)==Boolean"> <label for="{this.field(name)}">{this.field(caption)}</label> <input type="checkbox" se:attr="{sys.iif(this.field(defaultvalue)==true, html.attribute(checked,checked))}" class="Control {this.field(type)}Control" name="{this.field(name)}" id="{this.field(name)}" /><br /> </se:rowformat> |
10939 | 8 | se:webservice failed when connecting to a secured webservice via https using standard basic http binding |
10949 | 8 | se:webservice macro now supports specifying an endpoint configuration The se:webservice macro now supports specifying an endpoint configuration, using the endpointconfiguration parameter. This can be useful in advanced scenarios, where you need to specify behaviorConfiguration. When an EndpointConfiguration has been specified, the webservice macro will create the endpoint using this configuration, including the address property and any behavior- and binding configuration specified on this endpoint. The contract attribute for this endpoint must be set to "System.ServiceModel.Channels.IRequestChannel". The endpoint itself must have been configured within the web.config, within the system.serviceModel/client section. Example: <endpoint address="http://testsite/cms/manager.dws" binding="basicHttpBinding" bindingConfiguration="cmsWebserviceSoapBinding" contract="System.ServiceModel.Channels.IRequestChannel" name="MyEndpoint"/> Notice that when you specify an EndpointConfiguration, the Url and MaxReceivedMessageSize parameters must not be specified (an exception will be thrown if you do). |
11012 | 8 | File Preview and Edit File did not work in the File Explorer if the file has a single quote in its file path. |
10659 | 9 | Using Purge in the DataManagement dialog could create orphaned items. |
11006 | 9 | A variable in stored procedure pr_tsFacetedSearch was of limited size. As a result some Faceted Search views were not usable. The limitation is removed. |
11026 | 9 | Cms: scheduled activation fails when site has been configured to use Active Directory When the site has been configured to use Active Directory (or LDAP), scheduled activation of an item fails. The error that occurs is: "User not found in Active Directory store." This is due to the fact that the activation takes place in a background process, using the system account (Smartsite Middleware). This account, of course, can not be found within the Active Directory. To fix this issue, it is now supported to specify a domain account, which will then be used as the system account within Smartsite iXperion. To do so, change the smartsiteaccounts section within Smartsite.Security.config: <smartsiteaccounts> <guest loginname="guest" /> <system loginname="username@domain.name" /> </smartsiteaccounts> Specify the FQDN (fully qualified domain name) of a domain account as the loginname for the system account. Best practice is to specify the same account which has been configured for the Active Directory membership provider within the web.config. This account must not already exist within AllUsers! If it does, for whatever reason, create/choose another domain account. On the domain, make sure this account is a member of the Smartsite Manager Access Group. Also, make sure that the specified "domain.name" is listed as valid domain within the membershipMappings element: <membershipMappings> <add name="mm1" domain="domain.name" providerName="ADMembershipProvider" /> <add name="mm2" domain="domain.name.alternative" providerName="ADMembershipProvider" /> </membershipMappings> The system user entry within AllUsers (the account with Nr = -99) will be updated automatically when the site has been restarted. (It will also be reverted back to "System" automatically, when the loginname is changed back to "System" or any other account which does not represent a FQDN.) |
11383 | 9 | Performance improved when showing the list of recent edits in the manager. The start page in de manager shows a list of recent edits, filtered given the current user. For large sites building-up this list could take a substantial amount of time. This has been optimized. |
11421 | 9 | Dutch Cookie law adherence Smartsite iXperion now comes with Dutch Cookie Law adherence tooling. See http://docs.ixperion.smartsite.nl/doc/iXperion/Add-On_Modules/Enforcing-Cookie-Policies.html |
11479 | 9 | The Publication Update database scripts didn't raise the correct Outscaling event when a record was added to AccessTypeLevels |
11485 | 9 | Content type Channel is extended with field indicating whether the support for the cookie policy should be enabled Content type Channel is extended with field indicating whether the support for the cookie policy should be enabled. The support is disabled by default. |
11546 | 9 | Config Editor: hash passwords did not function properly When changing the password format (Advanced Mode) from Clear to Hashed, the Config Editor does check if it is necessary to update the passwords within the database to a hashed version. When that's the case, the update did fail due to a bug within a sql statement. This has been fixed. |
10366 | 10 | Smartlet now escapes script tags and CDATA blocks within its JSON output. Because the json was rendered inside a script tag in the head section of the page, a closing script tag inside a string property would break the page. In Internet Explorer this even happens if all the code within the script element is placed inside a CDATA block. To alleviate this problem, the string "</script>" in the json output of a smartlet will be replaced by "<\/script>" and "]]>" by "\]\]>". When using json objects directly, the developer is responsible for escaping these strings. |
10948 | 10 | Faceted Search: error details are only displayed if verbose is enabled. |
11010 | 10 | Outscaling / Importer: DataCache entries were not invalidated when an UserGroup or AccessTypeLevel was added, changed or deleted. |
11019 | 10 | Outscaling - export/import: removing guest access for an item wasn't synchronized correctly Notice this only occured when only guest access was set on the item priorly, which was then removed and no other content access for any other group was set. |
11021 | 10 | Outscaling: synchronization of a Scheduled Event did fail due to a missing meta xml file. |
11023 | 10 | Outscaling: synchronization of a Menu Editor change did fail due to a missing meta xml file. |
11024 | 10 | Outscaling: security events were not synchronized to the publication instance This problem occurred when using the following Outscaling scenario: - two Cms Server Instances (CMS1 and CMS2) - two Publication Instances (PUB1 and PUB2) - all of them using a shared database - CMS1 does have two subscribers: CMS2 and PUB1 - CMS2 does have one subscriber: PUB2. When changing the access rights for a specific item on the CMS1 server instance, the PUB2 instance wasn't notified of this change. |
11025 | 10 | Cms Manager: changing the physical field to which a logical field is bound is no longer allowed for existing contenttype fields. |
11422 | 10 | In rare cases, database connection could be mixed up Under specific load, a situation could occur where database connection of different threads were mixed up, leading to unpredictable results. |
11464 | 10 | Outscaling: the View Item Status dialog has been adjusted This redesigned dialog does not only display the activation dates, but can now be used to actually synchronize out-of-date items to cms subscriber instances. |
11468 | 10 | Outscaling: due to a bug within the database setup scripts, changes to e.g. contenttypes where not synchronized Within the database setup/update scripts, it is common that some records are added or changed, such as contenttypes, contenttype field properties, access type levels, etc. When these database scripts are executed on an Outscaling subscriber instance, these changes are skipped, since it is the responsibility of the Outscaling publisher instance to push these changes to its subscribers. However, the database scripts, when run on the Outscaling publisher instance, did not detect the appropriate publisher instance. Therefore, the required Outscaling events were generated, but for the wrong instance. As a result, Outscaling skipped the events, because the Originator of the events did not match with the local server instance's ID. This has been fixed. |
11476 | 10 | Procedure pr_ConfigSmartNumbering now detects and correct more errors in SmartNumbering ranges. |
11481 | 10 | Outscaling / Importer: when a contenttype has been specified within the xml which does not exist, now an error is raised |
11495 | 10 | Outscaling: synchronization of Access Type Levels did fail due to a missing meta xml file. |
11510 | 10 | Outscaling: synchronization/import errors registration has been improved When a synchronization or import error did occur, the registration of this error was removed when retrying failed items. Now, the error registration is kept within the "Database Sync Errors" subaction of the Outscaling Console and the retry count is increased by one when retrying a failed item. After a while, when on the remote server instance there's no longer an error indication for a specific item, the local copy of the error for that item is removed. |
11557 | 10 | Outscaling: in rare cases, some items were skipped during synchronization. This could happen when within the same time-interval of a background loop of the Outscaling Background component, one or more items have been adjusted and saved to an Active state and at least one item has been Deleted. The Outscaling Background component did use two separate queries to determine which items needs to be synchronized: - The first query to determine which items have been deleted since the last synchronization loop. - The second query to determine which (other) items have been adjusted since the last synchronization loop. The date-input for the second query was wrong. This was especially noticeable when the interval of the Outscaling Background component was set to a higher value (5 seconds or more). To fix this problem, the process of synchronizing items has been redesigned: - To determine which items needs to be synchronized, now a single query is used. - For each item that needs to be synchronized, now a new and specific Outscaling event (Outscaling.SynchronizeSingleItem) is directly added to the Outscaling queue. - Therefore, the recordset can be processed much faster, so it's no longer needed to limit the number of items processed within a background loop. - The fact that events are added to the Outscaling queue to synchronize items gives more insight into which items will be / have been synchronized. |
11660 | 10 | Update for the cookie policy support refined for outscaling scenarios The publication update scripts distinguish whether updating the master database or a subscriber database, when in outscaling scenarios. Logic is added to the update for the cookie policy support in order to correctly handle the scenarios with and without outscaling. |
11661 | 10 | Corrected handling of cookie usage policies for usages without a reference to a cookie usage application Cookie usage policies without a reference to a cookie usage application were not listed in the Cookie Policy Manager action of the Manager. This is fixed. Also these usage policies were not porperly outscaled. This is also fixed. |
11662 | 10 | Image macro did not work with restricted images. |
11690 | 10 | The Embed macro now passes the Request.Files collection to the embedded page. |
11691 | 10 | SignalSmartsite no longer worked in build 9 due to a cookie policy regression. |
11729 | 10 | Update for the cookie policy support refined for outscaling scenarios The publication update scripts distinguish whether updating the master database or a subscriber database, when in outscaling scenarios. Logic is added to the update for the cookie policy support in order to correctly handle the scenarios with and without outscaling. |
11737 | 10 | Database function fn_RecurseAllChildren added and function fn_RecurseChildren improved. A new database function fn_RecurseAllChildren has been added, supporting to recurse all items, including deleted items. The performance of the function has been improved. The existing function fn_RecurseChildren is updated with the improved implementation. The table returned by the existing function now more columns, in addition to the existing columns which remain unaltered. |
11750 | 10 | Empty Personal Profile is constructor too late which may cause NullReferenceExceptions when using Profiles. |
11751 | 10 | New action for Outscaling A new action is made available for Outscaling, allowing to check the outscaling status of a file. A new privilege grants or denies access to an Outscaling tab with details. |
11752 | 10 | The Outscaling console event queue tab shows more information Column "Object / Key" on the event queue tab of the Outscaling console now shows information in more event type cases. |
12000 | 10 | Added Internet Explorer 10 compatibility |
10677 | 11 | The Xml schema of the Chart macro has been improved and now allows vipers on more places. Vipers were not allowed on all attributes in the layout parameter of the chart macro, event though the Chart macro did process the vipers properly. This has been fixed. |
12218 | 11 | The HttpOnly property for cookies is now set to true by default Whenever Smartsite iXperion writes a Http cookie to the client, the HttpOnly property will now be set to true by default. This means that by default, cookies are not accessible by client-side script. For more information, read the article compatInsecureCookieDefaults. |
12219 | 11 | The Secure property for cookies is now set to true by default when the incoming request is on a secure channel (SSL) Whenever Smartsite iXperion writes a Http cookie to the client, the Secure property will now be set to true by default when the incoming request is on a secure channel (that is, SSL). This means that by default, cookies which are created during an incoming request on a secure channel (SSL) will only be transmitted using Secure Sockets Layer, that is, over HTTPS only. For more information, read the article compatInsecureCookieDefaults. |
11020 | 12 | Outscaling: reciprocal relations (Manage Thesauri - Relation Types and Term Data Types) were not synchronized |
12563 | 12 | Original version of fn_RecurseChildren restored. This update restores the original implementation of database function fn_RecurseChildren, using an implementation returning columns Nr and Folder only, and exhibiting a known and acceptable performance. If additional columns are required perform a database join. If additional hierarchical information is required provide a dedicated function. |
12984 | 12 | Smartsite manager now supports Internet Explorer 11 |
12997 | 12 | Using an Active Directory account as system account was not supported within an Outscaling scenario which uses a shared database and Active Directory security for one server instance and Smartsite security for the other server instance(s). |
11614 | 13 | File Upload dialog in the manager will now return the correct file path, so that it is automatically selected in the File Selection dialog. |
12232 | 13 | Outscaling: synchronization issue when using Set Item State on a pulled item has been fixed. |
12608 | 13 | Config Editor: a new version is available, which does support the optional Encrypted password format of the Sql membership provider |
12823 | 13 | Cms manager: option added to disallow multiple sessions per user to the same site IE8+ sessions sharing default behaviour could cause corrupt data within two manager sessions. To prevent this from happening, a new option is available, which can be set to disallow multiple sessions for a single user. This option can be set using the registry setting Manager/AllowMultipleSessionsPerUser. It defaults to True (=1) for backwards compatibility. Set this option to 0 when you want to disallow multiple sessions per user. |
12828 | 13 | Cms: an issue with importing contenttype field properties have been fixed Two issues have been fixed: - When adding a contenttype field property (ctfp) with an empty value, the contenttype importer didn't detect it as a change (the ctfp was not added). - When adding a contenttype field property for role=-1 (All roles) to a field which already did have a ctfp for a specific role(s) set, the contenttype importer didn't update the ctfp correctly. |
12943 | 13 | WebEditor would break hyperlinks containing spaces on sites with multiple host headers. |
12993 | 13 | The Pub Setup now accepts database connection string with a non-standard port number. |
13004 | 13 | AIM scan: processing of AIM references did fail with an "type mismatch" exception when the references did include a reference of type "Invalid, Softlink" |
13006 | 13 | AIM rendering: in some scenarios, the AIM rendering did not use any channel to determine the references Dependent on the hostheaders configuration, the AIM rendering in some scenarios couldn't determine the correct channel to execute the AIM request. Therefore, not all AIM references were detected. |
13007 | 13 | Depending upon the configuration, the sendmail macro encoded certain characters incorrectly. |
13010 | 13 | Lazy loading for binary fields in ItemData was not thread safe. |
13017 | 13 | Winnovative 9.10 has been added to generate PDF's The old Winnovative component is still the default component for generating PDF's. You can switch to the new component by modifying the Smartsite.Pdf.config file and changing the PdfCommand to PdfCommand2. This also gives you the new pdf settings: HeaderFont, FooterFont, HeaderFontSize, FooterFontSize,HeaderXPos, FooterXPos, HeaderYPos, FooterYPos, HeaderHeight and FooterHeight. |
13018 | 13 | Several IE10 and IE11 compatibiliy improvements have been added. |
13020 | 13 | Outscaling: synchronization issue for swtUserItemFeedback has been resolved The tabel swtUserItemFeedback, used by the Web Tool Kit macros Poll and Rating, have been adjusted to fix Outscaling synchronization issues (push/pull). Notice: when you want to synchronize records from swtUserItemFeedback between server instances, you need to create a datasource for this table, since it is not included within the built-in datasources. And when you want to use pulling for this table as well, you need to create two datasources (one for pushing data and one for pulling data). |
13022 | 13 | The Change Password manager action now works with the new password encryption formats. |
13028 | 13 | FileLinks were broken in a previous release. |
13038 | 13 | Smi did not render the corrent PDF when generating a PDF for a custom event. If you need this fix, please remove and purge the item SMI_ROOT and all its children before running the Pub setup. Make sure you have a backup of all modifications made to SMI before removing the items. |
13040 | 13 | Cms manager: previewing an item failed for users not on the default domain when using a multi-domain Active Directory configuration When Smartsite has been configured to use a multi-domain Active Directory configuration, users not on the default domain were unable to preview items: the preview failed with the exception message "User not found in Active Directory store". |
13042 | 13 | Outscaling: content validation did fail when the DigiD membership provider has been configured as the default membership provider |
13043 | 13 | Use a complex password for user System. User system should have a complex password. The publication update sets a suitable password. In an outscaling scenario it is required to set the password manually for the subscriber database, using the following SQL statement: UPDATE AllUsers SET Password=REPLACE(NEWID(), '-', '') WHERE Nr=-99;. The statement must be run if the hashed or encrypted password is still '-'. The statement may be run more than once. |
13047 | 14 | Several IE10 and IE11 compatibiliy improvements have been added. |
6240 | Invoking pr_ConfigureSmartNumbering could unrightfully set RangeCurrent to NULL When a table with SmartNumbering enabled contains one or more records with an identity outside of the SmartNumber range, the RangeCurrent column in table SmartNumberRanges was unrightfully set to NULL. | |
8235 | Search Term History of Faceted Search isn't synchronized to other (cms) server instances The translation that logs the search term history doesn't raise the appropriate Outscaling events. | |
12402 | The JSON parser can now handle nested arrays. |
- Release Notes voor Smartsite 8.1
- Release Notes voor Smartsite 8.0
- Release Notes for 7.11 (build 3)
- Release Notes for 7.11 (build 2)
- Release Notes for 7.10 build 5
- Release Notes for 7.10 build 4
- Release Notes for 7.10 build 3
- Release Notes for 7.10 build 2
- Release Notes for 7.10
- Hotfixes
-
Archief
- Release Notes for 7.9
- Release Notes for 7.8 build 2
- Release Notes for 7.8
- Release Notes for 7.7 build 3
- Release Notes for 7.7 build 2
- Release Notes for 7.7
- Release Notes for 7.6
- Release Notes for 7.5 build 2
- Release Notes for 7.5
- Release Notes for 7.4
- Release Notes for 7.3
- Release Notes for 7.2
- Release Notes for 7.1
- Release Notes for 7.0
- Release Notes for 2.0
- Release Notes for 1.4
- Release Notes for 1.3
- Release Notes for 1.2
- Release Notes for 1.1
- Release Notes for 1.02
- Release Notes for 1.01