Commit Graph

1037 Commits

Author SHA1 Message Date
Neil McErlean
a7cbab1cec Merge of classified_renditions branch which introduces MetadataReferralService and fixes RM-2549.
==============================================================================

Merged  to :
   111287: Common utility classes developed as part of refactor for RM-2549.
       asSet method that works like java.util.Arrays.asList.
       Also variants of java.util.Arrays.asList that take Supplier<T> rather than T.
   111292: This checkin provides the non-RM-specific parts of metadata delegation, which are required for the refactor of classified renditions needed for RM-2549.
   111633: Massive renaming. Delegate/Delegation becomes Referrer, Referent and things *do* make a little more sense.
   111643: This is the RM-specific parts of the refactor for classified renditions - see RM-2549.
   111696: Addressing code review comments.
   111703: Addressing code review comments
   111707: Addressing review comments. Clearer use of lambdas due to default methods in java.util.Collection.
   111768: Addition of tidyup code for when clf:classified aspect is removed. Also added notes on what's to do if this ever becomes a core service.
   111772: Slight refactor. ReferredMetadataService uses the registry to look up Referrals rather than the AdminService. Seems neater.
   111779: Addressing review comment - don't have assoc types in the service API - have aspect names instead.
       I agree with this comment. I think assoc types are an implementation detail of this service.
   111855: Applying code review comment. I added an 'mr' prefix to the spring beans, which we hope will make our lives easier if this Metadata Referral stuff ever makes it into core.




git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@111864 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-09-10 13:34:40 +00:00
Neil McErlean
aeafa9fbbd Addressing review comment - don't have assoc types in the service API - have aspect names instead.
I agree with this comment. I think assoc types are an implementation detail of this service.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/classified_renditions@111779 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-09-09 10:42:29 +00:00
Neil McErlean
3efb64f11b Slight refactor. ReferredMetadataService uses the registry to look up Referrals rather than the AdminService. Seems neater.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/classified_renditions@111772 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-09-09 09:26:02 +00:00
Neil McErlean
2896e71423 Addition of tidyup code for when clf:classified aspect is removed. Also added notes on what's to do if this ever becomes a core service.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/classified_renditions@111768 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-09-09 09:12:02 +00:00
Neil McErlean
1e84916582 This is the RM-specific parts of the refactor for classified renditions - see RM-2549.
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
2015-09-08 15:32:10 +00:00
Neil McErlean
7ec55f4830 Massive renaming. Delegate/Delegation becomes Referrer, Referent and things *do* make a little more sense.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/classified_renditions@111633 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-09-08 14:29:30 +00:00
Tom Page
d17fc36a4e Change 3.0.a to 2.4.a in @Since annotations and patch number.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@111379 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-09-03 10:18:30 +00:00
Neil McErlean
9e4ccdd053 This checkin provides the non-RM-specific parts of metadata delegation, which are required for the refactor of classified renditions needed for RM-2549.
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
2015-09-02 12:03:38 +00:00
Alexandru Balan
ef714a911d Merged BRANCHES/V2.3 to HEAD:
111065: Merged BRANCHES/V2.2 to BRANCHES/V2.3:
      111064: RM-2391 - also check for the access audit capability on each node from the report

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@111067 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-28 06:23:49 +00:00
Alexandru Balan
01f60528a0 Merged BRANCHES/V2.2 to BRANCHES/V2.3:
111064: RM-2391 - also check for the access audit capability on each node from the report

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@111065 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-28 06:12:58 +00:00
Neil McErlean
7b87cf446e Fix for RM-2549. The copyAspect implementation needs to be very careful to use addProperties not setPropertiesand it also needs to not copy inherited properties.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110844 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-25 16:12:45 +00:00
Roy Wetherall
95d7013517 Merged DEV/ROYTEST to HEAD:
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
2015-08-20 02:51:23 +00:00
Tuna Aksoy
33edc6feb0 RM-2533 (Extend service API to retrieve and set last reclassified information)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110504 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-19 19:14:40 +00:00
Alexandru Balan
05db2733f7 Merged BRANCHES/V2.3 to HEAD:
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
2015-08-19 14:17:10 +00:00
Alexandru Balan
cb81b00beb 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/BRANCHES/V2.3@110464 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-19 14:08:27 +00:00
Neil McErlean
3e201f1abf Fix for RM-2547. Added URL decoding to the username provided to the Security Clearance REST API.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110454 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-19 12:13:54 +00:00
Neil McErlean
1d216cba00 Speculative fix for RM-2530. This commit explicitly checks the FreezeService to ensure that, on classification, the node in question is not in a hold.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110335 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-18 12:31:42 +00:00
Roy Wetherall
2bcebc2abe Classification permission pre-processor unit test
+review RM-166



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ROYTEST@110301 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-18 04:38:47 +00:00
Roy Wetherall
08b43e39b0 Extended permission service unit test
+review RM-166



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ROYTEST@110191 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-17 04:35:31 +00:00
Tom Page
2e0c28fe1b RM-2502 Create new constraint for initial classification.
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
2015-08-14 13:34:56 +00:00
Tom Page
3c4becdd85 RM-2529 Add classified aspect as system rather than the user "admin".
This change causes ClassifyTest.testClassifyFrozenRecord() to fail. The
test is accurately reflecting a bug in the server that this change reveals
(or introduces).  See RM-2530.

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110137 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-14 12:48:57 +00:00
Neil McErlean
9355bddfe8 Implementation and unit tests for RM-2481, RM-2482, RM-2483 and RM-2489.
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
2015-08-13 16:29:38 +00:00
Roy Wetherall
1613bba6e1 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 



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ROYTEST@110013 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-13 03:46:43 +00:00
Roy Wetherall
a239935668 Classification enforcement refactor
* added permission veto registry
 * extend permission service to check vetos before permission evaluation
 * register classification veto
 * unit and integration tests run
 * UI tests run



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ROYTEST@109931 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-12 04:57:37 +00:00
Roy Wetherall
eace8ef026 RM-2509: The destruction of electronic records is not possible as it gets ghosted before destruction.
* unit test added to reproduce issue



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109872 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-11 04:18:12 +00:00
Tom Page
05da180731 RM-2500 Enable editing of classification scheme.
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
2015-08-10 13:45:44 +00:00
Tom Page
43ea2e5bc4 RM-2477 Treat the empty string in the same way as null.
Fix an issue in the behaviour checking where the empty string was being
passed as the instructions when nothing was set.

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109843 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-10 10:24:57 +00:00
Roy Wetherall
c24479e4b5 Remove catch Throwables identified by Sonar
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109736 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-07 02:57:57 +00:00
Roy Wetherall
8f2f5258d1 Acceptance Criteria Automation for RM-1997: Content store data cleansing
* added @AlfrescoTest annotation dependency to help track AC's back to JIRA
 * feedback from previous review
 * see RM-2460, RM-2461, RM-2462, RM-2505, RM-2506, RM-2507

+review RM 



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109733 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-07 02:04:51 +00:00
Tuna Aksoy
7e61856833 RM-2402 (Extend classification schedule REST API)
RM-2433 (Extend reclassification REST API)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109730 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-06 22:10:14 +00:00
Neil McErlean
fbeafa2b6e RM-2440. Ensuring that users reclassifying content see the correct set of levels.
Added a new test case where an admin and an RM Manager (only cleared to secret) both try to reclassify a record.
Added a new group (GROUP_RM_MANAGER_FILE_CATEGORY_ONE) for an RM Manager who can file records as well as read.
Added some utility methods and fields.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109524 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-04 11:20:07 +00:00
Alexandru Balan
f0758989f4 RM-2271 - added the job lock refresh mechanism so that for long running jobs that exceed the locks TTL the lock will be refreshed.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.2@109406 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-03 09:27:17 +00:00
Alexandru Balan
8a3717bef4 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.2@109401 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-03 08:43:40 +00:00
Tuna Aksoy
355f17d2b3 RM-2433 (Extend REST API for content reclassification)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109307 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-31 15:30:43 +00:00
Tom Page
50bbb2b4ff RM-2470 Remove unnecessary cast (code review fix).
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109203 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-30 10:21:10 +00:00
Tuna Aksoy
1049d16238 RM-2448 (Extend classified document properties view)
RM-2449 (Extend classified record properties view)

+review RM-137

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109185 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-29 21:42:31 +00:00
Tuna Aksoy
63e0466482 RM-2402 (Extend classification REST API)
+review RM-143

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109184 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-29 20:11:28 +00:00
Tom Page
9edd378291 RM-2470 Change security clearance sorting to be by full name.
Enable sorting by multiple fields and configure the security clearance page
to use first name, last name and then fall back to user name as a tie
breaker.

The rm-automation test fails for me locally, as the person search is case
sensitive. I'm pushing this anyway because Bamboo didn't protest at the
old sorting method (which also failed locally due to case sensitivity).

Remove "final" from UserQueryParams so it can be mocked.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109169 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-29 15:16:25 +00:00
Tuna Aksoy
10495abb88 Temporary fix for the failing UI tests
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109158 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-29 13:35:05 +00:00
Tuna Aksoy
d895833b56 RM-2448 (Extend classified document properties view)
RM-2449 (Extend classified record properties view)

+review RM-137

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109139 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-29 10:25:32 +00:00
Tuna Aksoy
a08ea6908a RM-2402 (Extend classification REST API)
+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109137 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-29 10:23:26 +00:00
Roy Wetherall
24b6655eeb Data destruction and cleansing
* added content destruction component which ensures all records and classified content are immediately destroyed and optionally cleansed
 * extension to eager content cleaner to allow cleansing to take place just before the content is deleted from the content store
 * base content cleanser
 * simple implementation of DoD 5220-22M cleansing algoritm
 * data cleansing enabled global configuration
 * data cleansing bean configuration
 * unit tests
 * see RM-2463 and RM-2464

+review RM 



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109121 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-29 01:26:49 +00:00
Tuna Aksoy
8c441c8835 Fixed typo
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109021 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-27 12:43:31 +00:00
Tom Page
d8da135d63 RM-2401, RM-2400, RM-2409 Store classification schedule properties.
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
2015-07-27 10:27:16 +00:00
Neil McErlean
7322da8f66 Addressing review comments from RM-132. Original issues were RM-2431 and RM-2432.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108993 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-25 07:24:34 +00:00
Tom Page
49de2937c9 RM-2400 Add policy for classification schedule properties.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108941 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-24 13:19:09 +00:00
Tom Page
b1d88d737c RM-2401 Pass classification schedule fields when classifying content.
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
2015-07-24 09:36:52 +00:00
Tuna Aksoy
39aa063654 Fixed failing integration tests
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108913 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-23 22:07:23 +00:00
Tuna Aksoy
4376c2a152 Fixed version number in some java and js files
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108912 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-23 21:38:31 +00:00
Tuna Aksoy
992a3be30e RM-2421 (Add PUT method to classify content REST API)
+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108911 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-23 21:15:31 +00:00