* extended version service implementation that can use the file plan as an alternative version store, thus recording versions
* extended version node service implementation that can retrieve recorded version information from the file plan (rather than the version frozen state) (properties only atm)
* recordable version model including recorded version information and versionable aspect extension with auto recordable version policy defined
* Recordable version service unit tests
* Simple AdHoc recorded version integration test (shows recorded created and frozen property state recovered via file plan record)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@80223 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* focus on in-place scenarios with large numbers of DM users and large numbers of in-place records (based on issue informally reported by partner)
* improve performance of dynamic authorities used for in-place security evaluation (L1 transaction cache and more preformant authority look up)
* remove unwanted queries in tree (N+1 for every node) .. killed it for large file plans
* L1 transaction cache for capability condition evaluation .. these are called a LOT so removes some of the bottle necks when evaluating the permissions of a large sets of nodes
* extend helper system test used to load up fileplan and now also create in-place records
* unit and integration tests run .. sanity testing done via the UI
* overall performance of the display of 1000 in-place records in the file plan down from minutes to a few seconds!
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@75186 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* added helper code to load large numbers of users and groups into RM roles
* improved performance of role user/group management console from 13 seconds with 100 groups with a 100 users, down to less than a second
* role user/group console now only shows users and groups explicitly assigned to the role to help scale the UI (and make more sense!)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@75102 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* general browse experience better
* viewing record category list (with one folder) down from seconds to almost immediately
* viewing of record details page down from 20 plus seconds to under a second
* although view of 15k records is still slow to render (around 10/15 seconds) this is still much better then previously and over 80% of that time is spent in the repo getting the children .. could look at getting a reduced result set?
* cached 'hasHeldChildren' state on record folders .. this was a significant overhead previously and is now a simple property lookup, maintained by behaviours
* unit tests for above to ensure nothing is broken
* TODO more caching of frequently asked for state, optimisation of more node service intensive capability conditions
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@74932 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
RM-1561: Edit/Delete Hold actions are not displayed for user with proper capabilities
* editHold and deleteHold specific capabilities added and UI actions wired up accordingly
* capability patch addeded
* freeze, unfreeze and related capabilities deprecated (but still avaialble if required)
* some of the old freeze UI actions removed
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@74506 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* includes a couple of fixes from the demo prep
* override of MethodSecurityInterceptor to allow us to report detailed information when an AccessDenied exception is reported as the result of a capability evaluation failure.
* integration tests
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@69801 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* FileHoldReport capability added (and patched)
* hold report type added to report model
* hold template added, bootstraped (and patched)
* UI action to file hold report added and sensitive to capability
* report actions refactored into a single, general purpose, file report action (can be exposed as rule in future)
* refactoring and extending of report generators (including declarative report generator)
* unit test for file report action
* integration test for hold report generation
* added Sprin custom property editor registrar and registered QName property editor, this allows short name string forms of
QNames to be specified and converted to QName from bean definitions (perhaps something useful for core)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@68235 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* some refactoring to ensure complete, undo and refresh logic was encapsulated in the service layer (not in the actions)
* integration test for complete event to check interactions
* restructure integration test packages
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@67986 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* read permissions not inherited to root categories, holds or items in the root of the unfiled record container .. this matches
the current behaviour of the file plan and is a partial work around for the issue of inheriting "path" read permissions vs actual read permissions.
* consolidation of permission initialisation code (there is only one route now)
* resolved RM-1317
* unit tests
* update server integration tests
* knock on minor simplifications on the file plan and transfer service
* moved more frequently used methods into the service base to reduce unessesary service interlinking
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@67030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* HoldService API explanded beyound immediate use case needs to form a more complete API, plus some tweaks to method names
* unit test (via Mockito) added .. still some todo's (see RM-1326)
* integration test added .. to test behaviour interactions (see RM-1326)
* method level permissions added to Hold service .. should see filtering of results based on permissions
* added behaviour to HoldService to unfreeze records and record folders when hold is deleted (same as old relinquish action)
* deprecation of dupliacte methods found in FreezeService
* fix up use of deprecated methods throughout code .. note that warnings have only been hidden in actions that are soon to be deprecated too
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@64834 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* record metadata aspects are now configured via spring and includes which file plan type they are relevant for
* added 'unit test' structure .. for 'real' unit tests, ie anything that doesn't load the application context
* included Mockito, new source location and unit test suite into POM
* added unit and functional tests for feature (server)
* refactored accordingly (webscripts, UI, etc)
* visual test of UI .. automation tests to follow
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@63013 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
59208: RM-1115: Manage Rules action is available for a Frozen folder - Added condition that manage rules isn't shown for frozen folders
59343: RM-1114: 'Loading the Document Library' message is displayed on a New Rule page in RM Site - Added appropriate message.loading properties to all languages for rule-details.get and rule-edit.get where this message is used
59361: RM-1105: Adding the RM module causes exceptions when listing the existing audit applications through the audit webscript - Added a try/catch for a ClassCastException around the check to see if the returned object contained a PROP_HOLD_REASON in the RMAfterInvocationProvider. The reason for this is that the containsKeys method will throw a class cast exception if we attempt to see if the keys contain an instance of QName if the returnedObject instance is a TreeMap containing strings as is the case when listing the audit applications through the RESTful interface.
59510: RM-1087: Increase default max number of site pages to 5 instead of 3 - Increased default maximum number of sites pages to 5 in rm-share-config.xml. This threw up an issue in the code that adds the RM Console widget so fixed that too. Important test case for this are that the number of widgets added to the site are smaller than, equal to and greater than the maximum displayed to ensure that the code adding the RM console is fully exercised.
60429: RM-1162: CLONE - Alfresco 4.2.1 could not start with RM module
* see MNT-10259
60430: RM-1162: CLONE - Alfresco 4.2.1 could not start with RM module
* see MNT-10259
* missed files
60431: RM-1162: CLONE - Alfresco 4.2.1 could not start with RM module
* failing tests
* see MNT-10259
60478: RM-1174 (Unable to view record details)
60698: RM-1175: Internal Error on details page of category/folder/record
60699: RM-1177: User's name link on User Rights Report page directs to Admin Console instead of User Profile Page
60700: RM-1176: Couldn't load email mappings
61227: RM-1164: RM 2.1.1 core language bundle refresh
62414: RM-1165 (RM 2.1.1 translation into Simplified Chineese)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@62565 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261