This builds on the separate MetadataReferral services to link renditions to classified source nodes via a new classifiedRendition aspect which defines a new classifiedRendition assoc. The spring bean 'classifiedRenditionAssoc' defines that only the clf:classified aspect and its metadata will be linked.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/classified_renditions@111643 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
We essentially have two new services, MetadataDelegationService and MetadataDelegationAdminService, along with some spring configuration and content model configuration (this will come in the subsequent RM-specific checkin.)
metadata-delegation-context.xml defines the spring beans that form the Metadata Delegation services.
The DelegationAdminService is used to attach/detach nodes in pairs such that one node can ‘inherit’ some aspect metadata from another node - the ‘delegate’.
The Delegation class is the definition of a type of link - it’s defined by the aspects that it handles and the type of peer association that it uses to link pairs of nodes.
Delegations must be defined as spring beans in the system to be available for use and they are exposed to Java code via the DelegationRegistry class.
Note that chains of delegations (node A -> node B -> node C) are not supported. Any attempt to attach nodes in a way that would lead to a delegation chain is detected and prevented.
The DelegationService is not about the creation and destruction of links, but is about accessing the metadata on a delegate node.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/classified_renditions@111292 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
109931: Classification enforcement refactor
110013: Classification enforecment refactor
* rename veto as permission pre-processor
* add support for permission post-processors
* add transaction cache to classification enforcement
* add records management permission post processor to remove code from extended permission service
110191: Extended permission service unit test
110301: Classification permission pre-processor unit test
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110507 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Merged BRANCHES/V2.2 to BRANCHES/V2.3:
109406: RM-2271 - added the job lock refresh mechanism so that for long running jobs that exceed the locks TTL the lock will be refreshed.
109401: RM-2391 - Added capability checking to the AuditLog Get REST API. Added a unit test. Minor changes on the Share side to forward the forbidden status.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110465 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
109406: RM-2271 - added the job lock refresh mechanism so that for long running jobs that exceed the locks TTL the lock will be refreshed.
109401: RM-2391 - Added capability checking to the AuditLog Get REST API. Added a unit test. Minor changes on the Share side to forward the forbidden status.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@110464 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Previously we were restricting the initial classification to be a level
that the current user could access, but this is not always the case for
downgraded content.
Also add new integration test for initial classification constraint.
I tried adding a test that extended our BaseRMTestCase, but the
transactions all happened as system (or admin maybe?), and so the level 2
user is always allowed to reclassify level 1 content (by the constraint).
Consequently I ended up creating a stand-alone test for this.
+review RM
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110144 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This checkin adds behaviours for ensuring that classification aspect/properties are correclty copied between nodes and their renditions on the creation of new renditions, on the classification or reclassification of nodes with existing renditions.
To do this I needed what should be, in my opinion, a common Alfresco utility method - the ability to copy an aspect from one node to another (aspect meaning property group i.e. no assocs).
I've created that method and put it in CoreServicesExtras. It should really be moved to core.
+ review RM
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110069 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* rename veto as permission pre-processor
* add support for permission post-processors
* add transaction cache to classification enforcement
* add records management permission post processor to remove code from extended permission service
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ROYTEST@110013 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Allow adding and removing classification levels, classification reasons and
exemption categories after the server has been started for the first time.
It is also possible to alter the display text associated with an existing
level, reason or category. All changes require a server restart.
+review RM
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109854 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261