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
Update Java API to store the classification schedule properties.
Fix the classification aspect behaviour to check newly classified
documents.
Add an application context test that the downgrade instructions are
mandatory when the downgrade date is set.
+review RM
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109015 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Create a new data transfer object and add all the classification fields to
it. Update everywhere we're classifying content with the API to use the
data transfer object. Also update the new edit classification API.
Break the classifyContent implementation into several smaller methods and
update unit tests to target these methods.
Don't actually use new fields in this commit, as there was plenty in this
commit as it was!
+review RM
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108928 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* only process services that start with an upper case character. We were being over zealous in our checking which was causing problems, we only care about public services.
* add enable/disable/isenabled methods to pre-processor
* switch off pre-processing when post-processing
* remove method black list
* unit tests, integration tests and UI tests run locally
+review RM @taksoy
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108613 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Changed Classification Agency to optional throughtout the stack and added a new mandatory property Classified By throughout the stack.
Addressing the fallout in the existing tests due to these changes.
Also enhanced some existing tests to validate the classified by value persistence.
Still to do: need to initialise the Classified By field in the Classify dialog to the current user's full name (not as easy as I'd thought) and add additional AC tests.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@107433 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Make sure this is executed as a patch and also bootstrapped into a clean
system using the BootstrapImporterModuleComponent.
Also restrict access to the classification levels (via the get API) to
only the levels that the user has clearance to.
+review RM
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104376 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Move methods to do with content from the ClassificationService and the
SecurityClearanceService into the ContentClassificationService.
Remove the dependency of SecurityClearanceService on ClassificationService
which will allow us to reverse this dependency in the next commit. This is
needed in order to filter classifications by the current user's clearance.
Nb. This included adding a method in the SecurityClearanceService called
isClearedForClassification, which looks quite similar to a new API Roy
created hasClearance (see ContentClassificationService). In the future we
should look to see if we can consolidate these.
Remove dependency of ClassificationServiceBootstrap on the services, so that
it can be passed into them. This allows us to provide access to the POJO
managers in the services (this is made harder as the POJO managers aren't
Spring beans). In order to initialise these objects, change the POJO
managers to use setters rather than constructor arguments. This allows us
to store a reference to the manager before the data has been loaded.
Move the attribute service keys for classification levels and reasons into
the ClassifiedContentModel.
Expect NO_CLEARANCE to be passed into the ClearanceLevelManager, as
otherwise we have to have logic to exclude it (see initialise in the old
SecurityClearanceService) and then more logic to include it again (see the
old constructor for ClearanceLevelManager).
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104375 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261