Changelog 6.5 PATCH 4

From Sense/Net Wiki
Jump to: navigation, search
  • 100%
  • 6.5.3
  • Enterprise
  • Community
  • Planned

This page contains information about the following patch published for Sense/Net ECM Enterprise Edition:

  • version before the patch:
  • version after the patch:

Release date: 27th April, 2016

Please note that patches, upgrades and other packages are published only for the Enterprise Edition.

Community customers may perform the upgrade manually after the next community release.

Installing the patch

To install this patch, please follow the following steps.

SnAdmin folder and configuration

Make sure that you have a complete SnAdmin folder in your web folder and the configuration (connection string, paths of other web folders in NLB system) is correct (especially for the SnAdminRuntime.exe tool in the Tools folder). Please read that article carefully about executing a package - for example when to stop and start the web site, how to configure the tool.

Execute the package

This patch contains the following package. You should copy it to the SnAdmin folder and execute it (the SnAdmin tool is inside the Admin\bin folder):

SnAdmin snent-patch-

It is highly advisable to make a complete backup before executing a patch to make sure that no information gets lost.

Copy task executors

You will have to update task executor tools manually on agent machines. Sense/Net ECM deploys the new versions of these tools into the web\TaskManagement\TaskExecutors folder. Please copy over all files/libraries, except the configuration files.

Check the results

You can review the log files created for the execution or - after restarting the website - you may open the Version Info page accessible from the Root Console in Content Explorer.

Patch contents

In this section we list all the important new features, bug fixes and breaking changes that were made in the product since the release of the previous patch. To check previous change logs, please visit the following article:


  • Speedup
    • We optimized our indexing mechanism to lessen the number of Lucene index reopen operations. This makes save operations faster, especially if there are many concurrent updates in the database at the same time.
    • Indexing overflow: we maximize the number of activities that can be in the indexing queue to prevent memory overflow.
    • User uniqueness checker algorithm is triggered only when "Path", "Name" or "LoginName" fields have changed.
  • Controls
    • The Url list field control was redesigned to use a more modern client side approach for editing site urls.
    • Versioning and Approving mode choice controls became more streamlined and user-friendly.
    • CommandButtons and AdvancedPanelButton controls can be customized under a skin (works with a skin-relative path).

For developers

  • SnTrace: a new tracing module and API for logging many events that are usually not necessary to be logged, only in case of debugging scenarios. The tracing mechanism can be switched on or off easily (from the portal UI) and it logs events to the file system.
  • Tools library: we started decoupling small, independent components from the core Sense/Net ECMS codebase (e.g. tracing or retry logic). These 'tools' will be available for 3rd party developers as separate libraries - the first one is SenseNet.Tools.dll itself.
  • Fields and controls
    • Number and integer field configuration has a new option called Step that may be used by field controls when changing the value.
    • Number and integer field controls render their format data in a hidden JSON field.
  • In case of system operations (e.g. setting page count on a document) related workflows should not be aborted. A new method (KeepWorkflowsAlive) has been added to the GenericContent class for developers to be able to prevent that before saving a content.
  • EventRegistration form: number of participants is accessible from the UI through a field (NumParticipants).

Breaking changes

  • As the new SenseNet.Tools library was added to the project, we had to rename the original Tools class to RepositoryTools. Please search in your custom code or ascx files or workflows (!) and replace all occurrences of the class SenseNet.ContentRepository.Tools to SenseNet.ContentRepository.RepositoryTools.
  • The OperationTrace and page trace features were completely removed from the product. All previous calls are converted to SnTrace calls (or were deleted). If you use the old operation trace API in your custom code, please do the same.
  • The Sense/Net TaskManager bridge class has been moved to the Storage layer to let lower layers access task management features. Old class became obsolete, please rewrite your calls to use the new one.

Resolved bugs

  • Document viewer displays redactions correctly if the redaction rectangle was drawn backwards and has negative coordinates.
  • When a new user is created and we save initial properties on the content (e.g. creator), we retry the operation several times to handle lock or node is out of date exceptions.
  • Document viewer: loading the previews folder happens with a system account during preview image copy when the document is checked out to avoid permission issues.
  • Repository path comparison uses the invariant culture when comparing two paths during 'in tree' check.
  • Workflow operations that use RelatedContentProtector (e.g. Approve or Reject activities) will work with the correct context instead of the shared one.
  • Event registration form
    • The Actions field will not throw an exception if there was an error with one of the actions.
    • To Cancel an event you can use the Delete action from now on.
  • OData
    • Sending a POST request to a non-existing parent will result in a 404 response.
  • RebuildIndex_NoRecursive method refreshes all versions of the content correctly.
  • Delete stored procedure deletes all versions of the content in the current delete partition - this prevents having orphaned version rows in the database.
  • async calls in TaskManager are extended with ConfigureAwait to avoid memory deadlock around the calling context.
  • NodeIsOutOfDate exception was thrown incorrectly when a content save operation was retried after a Transaction.Rollback. This typically occured during heavy load.
  • We skip dynamic assemblies when loading types. This will prevent some type load exceptions.
  • In some cases localized values were not searchable because lower case conversion was missing in the search engine.

Feature previews

We are workig on the next major version of Sense/Net ECM: SN7. We document the process on our blog. These are just a few examples of the changes that we are making under the hood to prepare for that:

  • New field control templates (and their corresponding REST APIs) are being created for our modern skins (one of the more complex ones is the Allowed child types control)

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 the Community and the Enterprise editions in this release, please visit the following article:

Related links