
Treemanager release notes
Release 2.2
New features:
Implemented support for OpenID Connect authentication and authorization (can be used with Azure AD) |
Implemented ExternalKey (string) property on node, which can be used to map a node to an external system
|
Added version number to UI (tooltip appears on mouse-over of application title) |
Implemented version number in API (/API/version) |
Implemented OData HTTP support (/OData) |
Implemented workflow engine |
Implemented caching for node read permissions |
Changes:
Changed favicon to TreeManager logo |
Altered SQL implementation to support batch processing |
Bug fixes:
A validation error occured on saving a securityset with the same permissions |
Delta analyzer threw timeout on large time windows |
It was possible to create roles with duplicate names |
Designer menu did not show scrollbar on small screens |
Node properties window did not show scrollbar on small screens |
Bulk attribute add shows collection attributes |
Release 2.1
New Features:
Added auto-import functionality, which makes it possible to automatically import and maintain nodes and attributes from other sources |
Changes:
Increased default labelwidth in attribute add/modify panels |
Changed password encryption mechanism to Hash (Rijndael) |
Bug fixes:
E-mail address cannot be changed from user preference |
Attribute date fields cannot be cleared |
Passwords are stored using a reversible method |
Unable to search for nodes based on attribute value |
TreeDesigner menu items do not work in IE |
Reset button on bulk value import form does not work in IE |
HTTP 500 error when right clicking on a node in IE |
Transfer button was visible although user role has no access to transfer tab |
Unable to add a user to a role from role panel in TreeDesigner |
Single valued stackable attribute shows in add panel even if a value is already present on the node |
Boolean values (database bit) are persisted as NULL instead of 0 |
Tree/node is visible in the UI while the user is not in a role with Read permission |
Unable to modify a collection attribute value |
Release 2.0
Breaking:
TaskRunner.aspx has been removed. Processes now run automatically in the background |
Replaced the SOAP API with a JSON REST API. A new TreeManagerController is included in the installation package |
Upgraded to .NET 4.5.2 (.NET update on IIS server may be required when upgrading from 1.x) |
Connection string has moved from ApplicationSettings.config to Connections.config to simplify deployments |
AppSettings have moved from web.config to AppSettings.config to simplify deployements |
Host url has to be set in tm_HostSettings table for every host (see Designer -> System configuration) |
EEP has moved to /api/emergencyReset (see Designer -> System configuration) |
Plugin architecture changed. All plugins have to be replaced with the ones in the installation package |
New Features:
Added criteria tab for use in ABAC modeling |
Self-service password reset (by using the account e-mail address) |
End users can sort nodes in TreePanel by DisplayName or CreatedDate |
End users can change the page size for gridpanels. Defaults to 20 items per page |
Ability to choose the format of unique identifiers during export |
Ability to show an informational message when adding/modifying an attribute value |
End users can import attribute values from a CSV file |
Editable grids can be navigated using the TAB and ENTER keys |
Added a test button to the attribute value plugin settings panel |
End users can configure email digests with updates on a daily/weekly/monthly/yearly interval |
Automatically remove audit entries after a configurable amount of months (optional) |
Changes:
Moved EEP from frontend to API |
The user interface is completely rebuild in MVC (less bandwidth, faster loading, more responsive) |
Implemented paging in all grid panels. This improves browser performance and greatly reduces loading times. |
Popup windows can use the whole browser window and are no longer limited to the main (right) panel |
Export opens a new window so long running exports do not interfere with the main interface |
On creating a new node, pressing enter in the displayname field will submit the request |
A localized string can be used in the nodetype regular expression validation message |
A localized string can be used in the attribute regular expression validation message |
Altered application startup so startup errors are logged, displayed and retried |
The IP address of the user is logged after a configuration change |
Release 1.40
New features:
Exports can be generated in Excel format |
SQL command timeout can be changed through ApplicationSettings.config |
Added a scheduled browser to server ping to keep the session alive |
Added attention required attribute to enable node-based notifications to end users |
Added IAttributeValueActionPlugin interface to allow modular attribute value buttons |
Extended options for exporting nodes in the UI |
Added the ability to define an account to use for background processes |
Added unique value partner to Attribute, which makes it possible to force value uniqueness between attributes |
Automatically remove inactive accounts |
Validation rules can be disabled through TreeDesigner (Tools -> Validation rules) |
Added Delta analyzer to TreeDesigner to simplify troubleshooting (Tools -> Delta analyzer) |
Added possibility to migrate nodes, trees and attribute values to Notification plugins |
Changes:
Added DisablePluginQueueProcessing setting to disable plugin processing on a specific server |
Removed 2nd level caching because of unpredictable results |
Raised timeout for time-consuming events in TreeDesigner |
Set initial language to browser language and fallback to system default when not supported |
Improved the initial setup page |
All settings in ApplicationSettings.config can be changed from the UI |
Removed collapse functionality from left panel (trees) for improved browser performance |
Release 1.34
New features:
Possibility to prohibit attribute value creation if a dependent attribute is not already present |
Duplicate node names at the same level now possible |
Additional information for plugin values can now be retrieved from the attribute values page |
Notification plugins now support retries (number of retries customizable per plugin) |
Emergency Envelope Procedure support for resetting a lost admin password |
Added e-mail address to personal preferences |
Added grid filter to localization page for easy searching |
Rename warning can be set on a per NodeType basis, and (custom) locale resources can be used in it |
General and Attributes tabs can be renamed on a per NodeType basis, and (custom) locale resources can be used in it |
Possibility to define an internal ID when creating any type of object in TreeDesigner |
Possibility to define an external ID and/or internal ID when creating a new node in TreeManager |
NodeTypes can be configured to require approval from a second party before actually deleting a node |
Accounts can be managed through the webservice interface |
Role/account relations can be managed through the webservice interface |
Access roles can be disabled and enabled on demand |
Regular expression validation on attribute value now supports a custom error message |
Exchange mailbox attribute plugin can now filter on UPN domains and SMTP domains |
End user export functionality. Export to: CSV, HTML, PDF, XML. Can be disabled on a per-role basis |
Initial width of the tree panel can be dynamically determined to create enough space for nodes with large names |
Ability to keep the window open after adding an attribute value, so another value can be added immediately |
Changes:
Added rename right to securityset, which replaces the write right for nodes |
Guid datatype is now multivalued |
Added more filter options to the AV_ActiveDirectoryObject plugin |
Added to possibility to filter on the key column in custom filter plugins |
ExternalId is always visible on the general properties tab of a node, even if hide system attributes is enabled |
Attribute values were not grouped by attribute in user exports |
Notification plugins must be enabled in TreeDesigner before they are activated |
Removed permission check for users that belong to the Administrators role |
Delta generation now also returns the (deleted) attribute values for the node |
Raised timeout for adding attribute values to 2 minutes (was 30 seconds) |
Child count limit of nodetype/child relation can now be altered from the UI |
UI access can be disabled separately from API access |
Improved caching model which supports multiple active servers (load balancing) by using SQL notifications |
Tree name and NodeType name are constraint to be unique |
ExternalId of node is constraint to be unique |
MaxResultCount added to SQL Attribute plugin for better performance |
TreeDesigner UI localization customizable |
TreeDesigner security improvements |
Auto redirect to setup page in case TreeManager is not configured yet |
Release 1.33
New features:
TreeManagerController password can stored as a hash for increased security |
Prohibit node modifications if an attribute (optionally with a specific value) is present |
Bulk attribute creation: Adding an attribute value to multiple nodes at once |
Attribute value exclusions can be modified (date fields) |
Webservice is extended with LoadConsolidatedNode method. This method provides all node related objects at once |
Cross tree binding can be provided with a startdate and an enddate |
Attribute values can be provided with a weight property. |
New attribute value plugin: AV_ActiveDirectoryObject. Able to retrieve Active Directory objectGUID for configurable objectclasses |
Most modal popups are now closed when user presses the escape key |
Version information can be hidden in personal preferences |
Ability to prohibit empty attribute values |
Ability to mark attribute values as not modifiable |
Ability to reapply the default name after a transfer |
Ability to allow only valid Windows folder/netbios characters in node names |
Ability to automatically transfer dependent nodes when transferring a node |
Changes:
A notification can be shown after logout instead of immediately redirecting to the login page |
Logout button can be made visible even when a user logged in by using SSO |
Stack traces are written to log in case of a server error (previously only the exception message was logged) |
After login, current role assignments are checked for validity before background role check is scheduled |
Attribute encryption can be set on creation of an attribute or by pressing the button on the property page |
Required property of ValueCollection attribute can now be toggled |
Orphaned nodes now appear on top of the tree |
Added close button to modal message popup |
Added version information to the bottom of the personal preferences panel |
Added 64 character limit to windows folder naming conventions (NodeType) |
Hide default tree selection in preferences if only one tree is available |
A node cannot be created, renamed or transferred if a node with the same name already exists at that level |
Release 1.32
New features:
Encrypted attributes: values are masked in the interface, and encrypted in the database |
Hierarchical overview of parent and childs nodes cross tree |
Ability to get delta’s through the webservice |
Ability to prohibit node creation from the UI (nodetype setting) |
Childs nodes can only be created if a transfer handshake is present on the parent (if configured) |
Tree nodes without a transfer handshake can be shown in a different color (if configured) |
Added NodeType dependency to NodeType. This way a certain NodeType can only be created if a dependent |
Nodetype already exists at the same level |
Ability to show attribute values on the General tab instead of the attributes tab |
Attributes that are configured this way cannot be added/modified/removed through the UI |
Ability to automatically select passthrough on new attribute values (attribute setting) |
Ability to hide attribute values that derived from other nodes (role setting) |
Nodetype conversion during transfer (nodetype setting) |
Ability to prohibit nodetype deletion from the UI (nodetype setting) |
Ability to prohibit nodetype rename from the UI (nodetype setting) |
Ability to keep child nodes when deleting the parent instead of deleting them (nodetype setting) |
Single sign-on plugin system. An Active Directory SSO plugin is available by default |
Attributevalue plugins can now show a grid with filters instead of the standard combobox |
Using the combobox is still possible |
Ability to add a custom header to the web interface |
Localization strings can be overridden through the TreeDesigner interface |
Introduced transfer functionality to allow nodes to be moved outside of the user managed scope |
NodeType en Tree icons can be set through CSS |
Introduced ValueCollection attribute type, which makes it possible to store multiple attribute/value pairs in a single attribute value |
Introduced parent/child relation in nodetypes on a per-tree basis |
Introduced child node count limit on a per nodetype basis |
Exchange Mailbox Database attribute value plugin. Provides selecting a mailbox database from an Exchange system |
Progress bar while loading attribute value input when adding a new attribute |
Multiple attribute values can be removed with a single click |
Shortcut-icon (favicon) added |
Selecting attribute values from a plugin now supports filtering (useful when using large datasets) |
Name of the application can be overridden through configuration |
Implementation specific controls in TreeManager UI can be shown/hidden through configuration |
Better support for theming |
Cookie lifetime can be set through configuration |
Improved language determination: User setting -> Browser language -> System configured language |
Changes:
History panel improved in Manager interface |
Attribute menu (also) added as a contextual menu |
Updated to Ext.NET 2.5.2 |
Redesign of search functionality in web interface for more flexible searching |
Redesign of NHibernate (database) session management |
Moved database altering from NHibernate to FluentMigrator |
Attribute caching features removed |
Release 1.31
New features:
Logical en Conditinal operators can be set on attribute values |
Calculated attribute values are stored in cache to speed up the retrieval process |
Authentication plugin structure added to perform authentication against a remote system. |
An LDAP plugin is provided by default |
Plugins are provided with a new configuration structure, making it possible to mask confidential fields in the web interface |
Changes:
Updated to Ext.NET 2.5.1 |
Cache manager will not rebuild bij default at startup / pool recycle |
Enhanced logging |
Removed debug logging for succesfull API authentication |
Added AttributeTypeId to AttributeValue entity for speeding up requests |
Release 1.30
New features:
Plugins can be managed from the web interface |
String attributes can be populated with a predefined list of values |
String and Int attributes can be validated against a regular expression |
Attributes can be multivalued |
Attributes can be stacked |
New attribute type: node. You can select a node from another tree as attribute value |
Authentication mechanism (local database) |
Authorization mechanism (local database) |
User sessions can be closed by an administrator, forcing the user to login again |
Search nodes bases on attribute value |
Export plugin structure. Ability to export data. |
Internal identifiers are now shown for nodes in TreeManager, and for everything in TreeDesigner |
Changes:
Upgraded to Ext.NET 2.5.0 |
API access moved to account |
Implemented AutoFac to make codebase even more flexible |
DateModified for node also changes when an attribute value is added/modified/removed/excluded |