Changelog 6.3 final - 6.3.1
This page contains the changes in Sense/Net ECMS between versions 220.127.116.1197 and 18.104.22.16840.
Download Sense/Net ECM 6.3.1 Community Edition: http://www.sensenet.com/download
In this article we list all the important new features, bug fixes and breaking changes that were made in the product since the release of the previous version. To check previous changelogs, please visit the following article:
- Sense/Net product has been upgraded to use .Net Framework v4.5.1 and the source is in Visual Studio 2013 format.
- SnAdmin: we created a packaging framework that will handle core product and 3rd party application updates as well in the future.
- Task Management: this is a new framework that supports delegating background tasks to external executor agents. Operators can manage resources in a more flexible way and the tasks are separated from the web process to aid robustness.
- The Distributed Task Manager is able to work with any number of agents installed on separate virtual machines. Available only in the Enterprise edition.
- The Local Task Manager is created for smaller projects for managing tasks locally on the web server. It does the same locally as the distributed task manager: it keeps a configured number of agents alive.
- A separate task database can be used to store tasks if you want to keep them outside of the Content Repository database.
- SignalR and OWIN modules were added to support communication between components.
- Document preview
- Preview images are not indexed from now on to keep the Lucene index smaller. This means that the index will not contain these content and it is not possible to create custom queries for preview images. This behavior can be switched ON or OFF for any content type in the Content Type Definition.
- Jump to a page feature was added to the viewer: automatic scrolling to a selected page is possible.
- Document preview provider (in the Enterprise edition) supports Microsoft Project (mpp) files.
- Image Editor: this new feature makes it easy to edit images (rotate, crop, resize or modify them with many filters) before uploading them to the Content Repository. In this release it works only when uploading new images. In a future release it will support editing existing content and additional scenarios (e.g. use the editor as a field control).
- It is possible to construct OData requests based on content id instead of path. This avoids errors related to content path changes (e.g. move).
- Eventlog entries got a couple of new properties: WorkingMode (e.g. "Import"), Url, Referrer.
- UTC dates: from now on we work only with UTC date and time values in Sense/Net, meaning we store only universal time in the database. The conversion to the local time of the user happens on client side (in fieldcontrol templates, celltemplates for grids, contentviews, renderers). Clients (e.g. OData clients) should always send a UTC time to the server.
- Resolution: it is possible that in some cases you will need to update the datetime values in your database manually, as we assume that every value in the database is in UTC format.
- Binary properties table contained varchar columns for values that could contain unicode characters. These columns were converted to nvarchar.
- Resolution: do the change manually in SQL Management Studio.
- New built-in Operators group was created to allow importing creation date (and other administrative scenarios in the future). Only the members of this group are able to modify the creation date of a content. Administrators are members of this group by default.
- Resolution: create the Operators group manually in Content Explorer before the upgrade.
- Document preview provider cleanup: we removed all code related to preview image generation, as this functionality has been moved to a separate command line tool (AsposePreviewGenerator.exe, available only in the Enterprise edition).
- Resolution: If you are using the Community edition and created your own custom preview provider, you'll need to move your image generator code to a command line tool. For details please visit the Task Management article.
- Special working mode feature changed to be more formal, exposing boolean flags for the well-known special working modes (e.g. Export, Import, etc.). The new property is RepositoryConfiguration.WorkingMode; the old SpecialWorkinMode property has been removed from the system.
- Resolution: if you relied on the old string property, use the new bool properties in RepositoryConfiguration.WorkingMode or the RepositoryConfiguration.WorkingMode.RawValue.
- A couple of methods and properties that were obsolete for a long time have been removed.
- RepositoryPath.PathExists(string path)
- RepositoryPath.IsPathExists(string path)
- RepositoryPath.GetParentPathSafe(string path)
- When a content was deleted to the Trash, we place a new explicite permission entry onto the container Trash Bag for the creator user of the original document. This makes sure that the creator will see the document in the trash, even if there was no permission entry on the original document by his user. This is necessary because the creator of the Trash Bag (the user who deleted the document) may be different than the original creator.
- We eliminated empty mime type in the database when the stream is longer than 0. We write MimeTable.DefaultMimeType into the binary content type if it is empty (which is 'application/octet-stream').
- Content collection portlet is able to display the children of a Smart Folder correctly.
- Client-side string resource objects contain string values defined for the fallback culture if they are missing from the main culture.
- Increased fault-tolerance and better error messages when handling built-in user references (CreatedBy, LockedBy, etc.). In some cases ArgumentException was thrown.
- Settings do not try to load an Aspect if they have a dynamic field with a name that contains a dot.
- Administrators are able to change the password of a user by selecting the Password change item in the menu of the user content in Content Explorer.
- NodeQuery substitution methods run in the context of the current transaction.
- Chunked image upload works correctly.
- Bundling will log a more meaningful error in case a script or css file was not found or inaccessible.
- If a content query could not be executed, the query text will be added to the exception and the log.
- In-memory Application storage invalidation was corrected when an application is deleted to the Trash.
- The login page of a site can be any type of content to let portal builders create more flexible solutions.
- Duplicate authentication headers were removed in case of a 401 response to let Office clients work correctly.
- The grid editor field control allows adding more than 50 items.
- Tag container folder is created correctly, without leading or trailing spaces.
- RepositoryStream Seek is able to work with seekorigin 'End' correctly.
- Invalid characters in content names are not replaced with a simple placeholder character anymore but with their url encoded code to lessen the chance of name collision.
- In some cases the overridden Save methods in classes inherited from GenericContent were executing the same save logic multiple times because of the faulty overrides. We did a refactor to solve this.
- Context bound portlets load and display the correct version of a content if a previous version id was provided in the url.
- Version history page displays the correct version times and users.
- We use IIS-log friendly paths: the log contains the original url instead of the rewritten repository path.
- UnknownActionException causes 404 instead of 500. There is a verbose log entry that contains the missing action name: "Verbose General UnknownActionException: Action 'asdf' does not exist."
- Resource editor links are not html encoded and clickable.
- Upgraded Aspose.Total libraries to the latest versions (Cells: 8.0.1, Diagram: 3.9, Imaging: 2.3, Pdf: 9.1, Slides: 14.2, Words: 14.3).
- Nullreference exception was eliminated in WebdavOpenAction in case of a missing UrlReferrer.
- Uploading files with a name containing special characters works correctly: names are not url encoded.
- TagManager checks tagname correctly, with a unified name algorithm.
- Open in Office action is accessible only if we are on NTLM (Windows) authentication, or using HTTPS.
- Event cancellation flow was corrected in LoginView.
- Operation trace writes the Title property to the log (it will contain query texts for example).
- When error messages are displayed in the OData response, they are html encoded for clients to be able to render them correctly.
- Youtube portlet does not crash when you put it on a page.
- Webdav Get method works with the official binary provider, instead of serving the binaries from the field directly.
- CalendarEvent checks start and end dates and does not allow saving the event if the end occurs before the start date.
- Singlecontent portlet will add new content under the current context, instead of the current page. In case of simple pages these two are the same; this fix was meant to deal with app page scenarios, to avoid adding new web content under app pages, instead of the original context.
- Invisible system structures can be copied: the content and its subree can be copied even if there are system folders under the content and the current user does not have enough permissions for the system folder content type.
- Preview image creation will not be included in notification emails to make them less noisy.
- Performance fix: from now on the system avoids database operations during collecting a content query result. It uses the data stored in the index to check for permissions.
- Performance fix: NodeHead.Get returns with null immediately if we know from the path that the content cannot be in the database. For example the path does not start with "/Root", or it ends with "$count". This feature avoids a number of unnecessary database request.
- Autonaming fix: the SQL script that returned with the last suffixed name was incorrect. IncrementNameSuffix and ParseSuffix methods' parameters and return values had been simplified for clarity.
- Security fix: identified users only have local permission on the profiles container instead of accessing the whole profile tree.
- Modifying creation date in elevated mode: only members of the Operators group may modify the CreationDate of a content. The system user also has this ability.
- Download extensions list (files that got the content-disposition attachment header) and WebDav extension list (accessible for the Open in Office feature) come from the same web.config value, but differ: pdf is included in the former.
- Opening a folder from the browser in Windows Explorer works only in Internet Explorer versions prior to 11. The feature was removed from IE. Please use the map network drive feature instead.
- Visitors do not have permissions for the generic browse application. This may prevent them seeing some search results or items in one of the collection portlets. You may grant run application permission to visitors on the generic browse application, or create browse applications for specific content types.
- If a portal builder provides a TOP value in a collection portlet and the user gives another, it may confuse paging.
- The Slideshare portlet does not work in Internet Explorer 11.
3rd party plugins
For the list of 3rd party plugins used in this release, please visit the following article:
Differences between Community and Enterprise editions
For the list of the differences between Community and Enterprise editions in this release, please visit the following article: