diff --git a/config/alfresco/bootstrap-context.xml b/config/alfresco/bootstrap-context.xml
index aa61568bb4..d594977215 100644
--- a/config/alfresco/bootstrap-context.xml
+++ b/config/alfresco/bootstrap-context.xml
@@ -145,6 +145,10 @@
/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.scripts.childname}
alfresco/bootstrap/example_javascripts.acp
+
+ /${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.childname}
+ alfresco/bootstrap/file_plan.xml
+
diff --git a/config/alfresco/bootstrap/categories.xml b/config/alfresco/bootstrap/categories.xml
index 1b958151e0..87012bd9cc 100644
--- a/config/alfresco/bootstrap/categories.xml
+++ b/config/alfresco/bootstrap/categories.xml
@@ -1,4 +1,5 @@
@@ -1096,10 +1097,106 @@
+
+
+
+Records Categories rm:recordCategory-root
+
+ Review Period rm:reviewPeriod-root
+
+ None rm:reviewPeriod-0
+ TBD rm:reviewPeriod-1
+ Annually rm:reviewPeriod-2
+ Calendar Year End rm:reviewPeriod-3
+ Fiscal Year End rm:reviewPeriod-4
+ Semi-Annually rm:reviewPeriod-5
+ Quarterly rm:reviewPeriod-6
+ Monthly rm:reviewPeriod-7
+ Weekly rm:reviewPeriod-8
+ Daily rm:reviewPeriod-9
+
+
+
+ Media Types rm:mediaTypes-root
+
+ TBD rm:mediaTypes-0
+ Electronic rm:mediaTypes-1
+ Paper rm:mediaTypes-2
+ Microform rm:mediaTypes-3
+ Portable rm:mediaTypes-4
+
+
+
+ Markings rm:markings-root
+
+ NONE rm:markings-0
+
+ Classifications rm:markings-1
+
+ UNCLASSIFIED rm:markings-1-1
+ RESTRICTED rm:markings-1-2
+ CONFIDENTIAL rm:markings-1-3
+ SECRET rm:markings-1-4
+ TOP SECRET rm:markings-1-5
+
+
+
+ Handling rm:markings-2
+
+ COMSEC rm:markings-2-1
+ RD rm:markings-2-2
+ FRD rm:markings-2-3
+ SPECAT-A SIOP-ESI rm:markings-2-4
+ SPECAT-B rm:markings-2-5
+ US-UK EYES ONLY rm:markings-2-6
+ ATOMAL rm:markings-2-7
+ EXCLUSIVE rm:markings-2-8
+ CRYPTO rm:markings-2-9
+ TRC rm:markings-2-10
+ FOR OFFICIAL USE ONLY rm:markings-2-11
+ SBU rm:markings-2-12
+ DEA SENSITIVE rm:markings-2-13
+ DOD UCNI rm:markings-2-14
+ EXDIS rm:markings-2-15
+ LIMDIS rm:markings-2-16
+ NODIS rm:markings-2-17
+ SOSUS rm:markings-2-18
+ EYES ONLY rm:markings-2-19
+
+
+
+ Dissemination rm:markings-3
+
+ ORCON rm:markings-3-1
+ PROPIN rm:markings-3-2
+ NOFORN rm:markings-3-3
+ NOCONTRACT rm:markings-3-34
+ FOUO rm:markings-3-5
+ RELTO rm:markings-3-6
+ EYES ONLY rm:markings-3-7
+
+
+
+ Reason rm:markings-4
+
+ CLASS rm:markings-4-1
+ RSN rm:markings-4-2
+ DERV rm:markings-4-3
+ DNG rm:markings-4-4
+ DECL rm:markings-4-5
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
+
diff --git a/config/alfresco/bootstrap/example_javascripts.acp b/config/alfresco/bootstrap/example_javascripts.acp
index c079c9152d..48bf6636e4 100644
Binary files a/config/alfresco/bootstrap/example_javascripts.acp and b/config/alfresco/bootstrap/example_javascripts.acp differ
diff --git a/config/alfresco/bootstrap/file_plan.xml b/config/alfresco/bootstrap/file_plan.xml
new file mode 100644
index 0000000000..62003b9bb5
--- /dev/null
+++ b/config/alfresco/bootstrap/file_plan.xml
@@ -0,0 +1,828 @@
+
+
+
+ admin
+ 2006-09-02T09:54:43.796+01:00
+ 1.4.0 (Dev @build-number@)
+ /app:company_home/app:dictionary/app:space_templates/cm:File_x0020_Plan
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ N/A
+ ISF
+ /app:company_home/app:dictionary/app:content_templates/cm:records_report.ftl
+ space-icon-cd
+ 15cc634c-3a5c-11db-ae95-09a9ea11d246
+ false
+ GRS 1 item 1
+ /cm:generalclassifiable/cm:Records_x0020_Categories/cm:Review_x0020_Period/cm:Quarterly
+ /cm:generalclassifiable/cm:Records_x0020_Categories/cm:Media_x0020_Types/cm:Electronic
+ 1
+ false
+ 2006-09-02T09:21:51.750+01:00
+ false
+ NARA
+ 1.0
+ admin
+ false
+ false
+ false
+ Obsolete or Superseded
+ File Plan
+ SpacesStore
+ /cm:generalclassifiable/cm:Records_x0020_Categories/cm:Review_x0020_Period/cm:Quarterly
+ File Plan Template for Records Management
+ 458
+ File Plan Template
+ false
+ 5.0
+ false
+ /cm:generalclassifiable/cm:Records_x0020_Categories/cm:Markings/cm:NONE
+ admin
+
+ false
+ 2006-09-02T09:53:17.750+01:00
+ Destroy/delete when superseded by a like survey or study, or when no longer needed, whichever is later.
+ workspace
+ 0000-00
+
+ Defense Information Systems Agency
+ false
+ 2.0
+
+
+
+
+
+
+
+
+
+ admin
+ 2006-09-02T09:41:28.718+01:00
+ 7836ac9c-3a5d-11db-ae95-09a9ea11d246
+ admin
+ 459
+ workspace
+ 7836ac9c-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:31:46.093+01:00
+
+
+
+
+
+
+
+
+
+
+ Add Email Aspect
+ 783b678e-3a5d-11db-ae95-09a9ea11d246
+ 460
+ Email Handling
+ 2006-09-02T09:31:46.109+01:00
+ admin
+ false
+ 2006-09-02T09:31:46.250+01:00
+ true
+ admin
+ workspace
+ false
+
+
+ inbound
+
+
+ 783b678e-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ 78343b97-3a5d-11db-ae95-09a9ea11d246
+ 461
+ 2006-09-02T09:31:46.140+01:00
+ admin
+ 2006-09-02T09:31:46.250+01:00
+
+
+
+ admin
+ composite-action
+ workspace
+ 78343b97-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+ admin
+ 2006-09-02T09:31:46.250+01:00
+ 78343b98-3a5d-11db-ae95-09a9ea11d246
+ admin
+ 462
+ compare-mime-type
+ workspace
+ false
+ 78343b98-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:31:46.171+01:00
+
+
+
+
+
+
+
+
+
+
+ message/rfc822
+
+ admin
+ value
+ 2006-09-02T09:31:46.250+01:00
+ 78474e6f-3a5d-11db-ae95-09a9ea11d246
+ admin
+ 463
+ workspace
+ 78474e6f-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:31:46.187+01:00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ 78343b99-3a5d-11db-ae95-09a9ea11d246
+ 464
+ 2006-09-02T09:31:46.203+01:00
+ admin
+ 2006-09-02T09:31:46.250+01:00
+
+
+
+ admin
+ add-features
+ workspace
+ 78343b99-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+
+ {http://www.alfresco.org/model/content/1.0}emailed
+
+ admin
+ aspect-name
+ 2006-09-02T09:31:46.250+01:00
+ 784c0960-3a5d-11db-ae95-09a9ea11d246
+ admin
+ 465
+ workspace
+ 784c0960-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:31:46.234+01:00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add record aspect and set up record data
+ d091637d-3a5d-11db-ae95-09a9ea11d246
+ 466
+ Record Set-up
+ 2006-09-02T09:34:14.312+01:00
+ admin
+ false
+ 2006-09-02T09:34:14.546+01:00
+ true
+ admin
+ workspace
+ false
+
+
+ inbound
+
+
+ d091637d-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ d08ca886-3a5d-11db-ae95-09a9ea11d246
+ 467
+ 2006-09-02T09:34:14.343+01:00
+ admin
+ 2006-09-02T09:34:14.546+01:00
+
+
+
+ admin
+ composite-action
+ workspace
+ d08ca886-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+ admin
+ 2006-09-02T09:34:14.546+01:00
+ d08ca887-3a5d-11db-ae95-09a9ea11d246
+ admin
+ 468
+ is-subtype
+ workspace
+ false
+ d08ca887-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:34:14.375+01:00
+
+
+
+
+
+
+
+
+
+
+ {http://www.alfresco.org/model/content/1.0}content
+
+ admin
+ type
+ 2006-09-02T09:34:14.546+01:00
+ d09d4a5f-3a5d-11db-ae95-09a9ea11d246
+ admin
+ 469
+ workspace
+ d09d4a5f-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:34:14.390+01:00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ d08ca888-3a5d-11db-ae95-09a9ea11d246
+ 470
+ 2006-09-02T09:34:14.421+01:00
+ admin
+ 2006-09-02T09:34:14.546+01:00
+
+
+
+ admin
+ add-features
+ workspace
+ d08ca888-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+
+ {http://www.alfresco.org/model/record/1.0}record
+
+ admin
+ aspect-name
+ 2006-09-02T09:34:14.546+01:00
+ d0a47550-3a5d-11db-ae95-09a9ea11d246
+ admin
+ 471
+ workspace
+ d0a47550-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:34:14.453+01:00
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ d08ca889-3a5d-11db-ae95-09a9ea11d246
+ 472
+ 2006-09-02T09:34:14.484+01:00
+ admin
+ 2006-09-02T09:34:14.546+01:00
+
+
+
+ admin
+ extract-metadata
+ workspace
+ d08ca889-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ d08ca88a-3a5d-11db-ae95-09a9ea11d246
+ 473
+ 2006-09-02T09:34:14.515+01:00
+ admin
+ 2006-09-02T09:34:14.546+01:00
+
+
+
+ admin
+ script
+ workspace
+ d08ca88a-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+
+ /app:company_home/app:dictionary/app:scripts/cm:record_setup.js
+
+ admin
+ script-ref
+ 2006-09-02T09:34:14.546+01:00
+ d0b2cd31-3a5d-11db-ae95-09a9ea11d246
+ admin
+ 474
+ workspace
+ d0b2cd31-3a5d-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:34:14.531+01:00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set up record folder
+ 96342c65-3a5e-11db-ae95-09a9ea11d246
+ 475
+ Records Folder
+ 2006-09-02T09:39:45.906+01:00
+ admin
+ false
+ 2006-09-02T09:39:46.093+01:00
+ true
+ admin
+ workspace
+ false
+
+
+ inbound
+
+
+ 96342c65-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ 9631e26f-3a5e-11db-ae95-09a9ea11d246
+ 476
+ 2006-09-02T09:39:45.921+01:00
+ admin
+ 2006-09-02T09:39:46.093+01:00
+
+
+
+ admin
+ composite-action
+ workspace
+ 9631e26f-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+ admin
+ 2006-09-02T09:39:46.093+01:00
+ 9631e270-3a5e-11db-ae95-09a9ea11d246
+ admin
+ 477
+ is-subtype
+ workspace
+ false
+ 9631e270-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:39:45.953+01:00
+
+
+
+
+
+
+
+
+
+
+ {http://www.alfresco.org/model/content/1.0}folder
+
+ admin
+ type
+ 2006-09-02T09:39:46.093+01:00
+ 96428447-3a5e-11db-ae95-09a9ea11d246
+ admin
+ 478
+ workspace
+ 96428447-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:39:45.984+01:00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ 9631e271-3a5e-11db-ae95-09a9ea11d246
+ 479
+ 2006-09-02T09:39:46.000+01:00
+ admin
+ 2006-09-02T09:39:46.093+01:00
+
+
+
+ admin
+ add-features
+ workspace
+ 9631e271-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+
+ {http://www.alfresco.org/model/record/1.0}record
+
+ admin
+ aspect-name
+ 2006-09-02T09:39:46.093+01:00
+ 9649b038-3a5e-11db-ae95-09a9ea11d246
+ admin
+ 480
+ workspace
+ 9649b038-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:39:46.031+01:00
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ 9631e272-3a5e-11db-ae95-09a9ea11d246
+ 481
+ 2006-09-02T09:39:46.046+01:00
+ admin
+ 2006-09-02T09:39:46.093+01:00
+
+
+
+ admin
+ script
+ workspace
+ 9631e272-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+
+ /app:company_home/app:dictionary/app:scripts/cm:record_folder.js
+
+ admin
+ script-ref
+ 2006-09-02T09:39:46.093+01:00
+ 964e6b29-3a5e-11db-ae95-09a9ea11d246
+ admin
+ 482
+ workspace
+ 964e6b29-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:39:46.078+01:00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Process record lifecycle based upon the file plan
+ d36b6897-3a5e-11db-ae95-09a9ea11d246
+ 483
+ Record Lifecycle
+ 2006-09-02T09:41:28.609+01:00
+ admin
+ false
+ 2006-09-02T09:41:28.718+01:00
+ true
+ admin
+ workspace
+ false
+
+
+ update
+
+
+ d36b6897-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ d36b6892-3a5e-11db-ae95-09a9ea11d246
+ 484
+ 2006-09-02T09:41:28.640+01:00
+ admin
+ 2006-09-02T09:41:28.734+01:00
+
+
+
+ admin
+ composite-action
+ workspace
+ d36b6892-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+ admin
+ 2006-09-02T09:41:28.734+01:00
+ d36b6893-3a5e-11db-ae95-09a9ea11d246
+ admin
+ 485
+ no-condition
+ workspace
+ false
+ d36b6893-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:41:28.656+01:00
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ d36b6894-3a5e-11db-ae95-09a9ea11d246
+ 486
+ 2006-09-02T09:41:28.687+01:00
+ admin
+ 2006-09-02T09:41:28.734+01:00
+
+
+
+ admin
+ script
+ workspace
+ d36b6894-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+
+
+
+
+
+
+
+
+
+
+ /app:company_home/app:dictionary/app:scripts/cm:record_lifecycle.js
+
+ admin
+ script-ref
+ 2006-09-02T09:41:28.734+01:00
+ d37c3179-3a5e-11db-ae95-09a9ea11d246
+ admin
+ 487
+ workspace
+ d37c3179-3a5e-11db-ae95-09a9ea11d246
+ SpacesStore
+ 2006-09-02T09:41:28.703+01:00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/core-services-context.xml b/config/alfresco/core-services-context.xml
index 4e38f52100..e444cf8ef4 100644
--- a/config/alfresco/core-services-context.xml
+++ b/config/alfresco/core-services-context.xml
@@ -413,6 +413,7 @@
alfresco/model/contentModel.xml
alfresco/model/applicationModel.xml
alfresco/model/forumModel.xml
+ alfresco/model/recordsModel.xml
org/alfresco/repo/security/authentication/userModel.xml
diff --git a/config/alfresco/model/recordsModel.xml b/config/alfresco/model/recordsModel.xml
new file mode 100644
index 0000000000..cf135f6a5a
--- /dev/null
+++ b/config/alfresco/model/recordsModel.xml
@@ -0,0 +1,458 @@
+
+
+
+
+
+
+
+
+ Records Management Model
+ John Newton
+ 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RM: User Specified Data
+
+
+ Privacy Act System
+ d:text
+ false
+
+
+
+
+
+
+
+ RM: File Plan
+
+
+ Record Category Identifier
+ d:text
+ true
+
+
+ Disposition Authority
+ d:text
+ true
+
+
+ Permanent Record Indicator
+ d:boolean
+ true
+
+
+ Disposition Instructions
+ d:text
+ true
+
+
+ Contains Records Folders
+ d:boolean
+ true
+
+
+ Name of Folders
+ d:text
+ false
+
+
+ Default Media Format
+ d:category
+ false
+
+
+ Default Marking List
+ d:category
+ false
+ true
+
+
+ Default Originating Org
+ d:text
+ false
+
+
+
+
+ Vital Record Indicator
+ d:boolean
+ true
+
+
+ Vital Record Review Period
+ d:category
+ true
+
+
+
+
+ Process Cutoff
+ d:boolean
+ false
+
+
+ Event Trigger
+ d:text
+ false
+
+
+ Cutoff Period
+ d:category
+ false
+
+
+ Cutoff When Obsolete
+ d:boolean
+ false
+
+
+ Cutoff When Superseded
+ d:boolean
+ false
+
+
+
+
+ Process Hold
+ d:boolean
+ false
+
+
+ Hold Period in Years
+ d:float
+ false
+
+
+ Discretionary Hold
+ d:boolean
+ false
+
+
+
+
+ Process Transfer
+ d:boolean
+ false
+
+
+ Transfer Location
+ d:text
+ false
+
+
+ Transfer Blocksize in Years
+ d:float
+ false
+
+
+
+
+ Process Accession
+ d:boolean
+ false
+
+
+ Time to Accession in Years
+ d:float
+ false
+
+
+ Accession Location
+ d:text
+ false
+
+
+ Accession Blocksize in Years
+ d:float
+ false
+
+
+
+
+ Process Destruction
+ d:boolean
+ false
+
+
+ Destruction Location
+ d:text
+ false
+
+
+
+
+ Note
+ d:text
+ false
+
+
+ Record Counter
+ d:int
+ false
+
+
+
+ rma:userSpecifiedData
+
+
+
+
+
+ RM: Superseded
+
+
+ Superceded By
+
+ rma:supersededBy
+ false
+ true
+
+
+ cm:content
+ rma:supersedes
+ false
+ true
+
+
+
+
+
+
+
+
+ RM: Record
+
+
+ Unique Record Identifier
+ d:text
+ true
+
+
+ Subject
+ d:text
+
+
+ Format
+ d:text
+ true
+
+
+ Media Format
+ d:category
+ true
+
+
+ Date Filed
+ d:datetime
+ true
+
+
+ Publication Date
+ d:datetime
+ true
+
+
+ Date Received
+ d:datetime
+ false
+
+
+ Originator
+ d:text
+ true
+
+
+ Originating Organization
+ d:text
+ true
+
+
+ Addressee
+ d:text
+ true
+
+
+ Other Addressees
+ d:text
+ false
+
+
+ Supplemental Marking List
+ d:category
+ false
+ true
+
+
+ Obsolete
+ d:boolean
+ false
+
+
+ Note
+ d:text
+ false
+
+
+
+ cm:auditable
+ cm:author
+ rma:userSpecifiedData
+ cm:referencing
+ rma:superseded
+
+
+
+
+
+ RM: Vital Record
+
+
+ Vital Record
+ d:boolean
+ false
+
+
+ Last Review Date
+ d:datetime
+ false
+
+
+ Next Review Date
+ d:datetime
+ false
+
+
+
+
+
+
+
+ RM: Cutoffable
+
+
+ Cutoff Executed
+ d:boolean
+ false
+
+
+ Cutoff Now
+ d:boolean
+ false
+
+
+ Cutoff Date
+ d:datetime
+ false
+
+
+ Cutoff Event
+ d:text
+ false
+
+
+
+
+
+
+
+ RM: Holdable
+
+
+ Hold Executed
+ d:boolean
+ false
+
+
+ Hold Until
+ d:datetime
+ false
+
+
+ Hold Until Event
+ d:text
+ false
+
+
+ Freeze
+ d:boolean
+ false
+
+
+
+
+
+
+
+ RM: Transferable
+
+
+ Transfer Executed
+ d:boolean
+ false
+
+
+ Transfer Date
+ d:datetime
+ false
+
+
+
+
+
+
+
+ RM: Accessionable
+
+
+ Accession Executed
+ d:boolean
+ false
+
+
+ Accession Date
+ d:datetime
+ false
+
+
+
+
+
+
+
+ RM: Destroyable
+
+
+ Destruction Date
+ d:datetime
+ false
+
+
+
+
+ sys:temporary
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/templates/content/examples/records_report.ftl b/config/alfresco/templates/content/examples/records_report.ftl
new file mode 100644
index 0000000000..0d1878a933
--- /dev/null
+++ b/config/alfresco/templates/content/examples/records_report.ftl
@@ -0,0 +1,149 @@
+<#-- Records Report - Template to apply to a records space to report on status of records -->
+
+
+
+<#assign datetimeformat="dd MMM yyyy HH:mm">
+<#assign xqueryformat="'yyyy-MM-dd'T'HH:mm:ss.000'Z'">
+<#-- space.childrenByXPath[".//*[@rma:nextReviewDate < '${date?string(xqueryformat)}']"]?sort_by(['properties', 'rma:nextReviewDate']) -->
+
+<#macro standardHeaders title extra="">
+
${title}
+
+
+ ID
+
+ Title
+
+
+ File Plan
+ Originator
+ Date Filed
+ ${extra}
+
+#macro>
+
+<#macro standardProperties child extraProperty="">
+
+
+ <#assign childRef=child.nodeRef>
+ <#assign childWorkspace=childRef[0..childRef?index_of("://")-1]>
+ <#assign childStorenode=childRef[childRef?index_of("://")+3..]>
+ <#assign childPath="${childWorkspace}/${childStorenode}">
+
+ <#if child.parent.hasAspect("rma:filePlan")>
+ <#assign fileplan=child.parent>
+ <#elseif child.parent.parent?exists && child.parent.hasAspect("rma:filePlan")>
+ <#assign fileplan=child.parent.parent>
+ <#else>
+ <#assign fileplan=child.parent>
+ #if>
+
+ <#assign fpRef=fileplan.nodeRef>
+ <#assign fpWorkspace=fpRef[0..fpRef?index_of("://")-1]>
+ <#assign fpStorenode=fpRef[fpRef?index_of("://")+3..]>
+ <#assign fileplanPath="${fpWorkspace}/${fpStorenode}">
+
+ <#-- Record properties icon -->
+
+
+
+ <#-- Record identifier -->
+
+ ${child.properties["rma:recordIdentifier"]}
+
+ <#-- Record icon -->
+
+
+
+ <#-- Record title -->
+
+ ${child.properties["cm:title"]}
+
+ <#-- Fileplan icon -->
+
+
+
+ <#-- Fileplan properties icon -->
+
+
+
+
+
+ ${fileplan.name}
+
+
+ ${child.properties["rma:originator"]}
+
+
+ ${child.properties["rma:dateFiled"]?string(datetimeformat)}
+
+
+ ${extraProperty}
+
+
+#macro>
+
+<#macro standardFooters>
+
+
+#macro>
+
+
+
+
+<@standardHeaders title="Recent Records" extra="Date"/>
+<#list space.childrenByXPath[".//*[@rma:dateReceived]"]?sort_by(['properties', 'rma:dateReceived']) as child>
+ <#if (dateCompare(child.properties["cm:modified"], date, 1000*60*60*24*7) == 1) || (dateCompare(child.properties["cm:created"], date, 1000*60*60*24*7) == 1)>
+ <@standardProperties child=child extraProperty=child.properties["rma:dateReceived"]?string(datetimeformat) />
+ #if>
+#list>
+<@standardFooters/>
+
+
+<@standardHeaders title="Vital Records Due for Review" extra="Next Review Due"/>
+<#list space.childrenByXPath[".//*[@rma:nextReviewDate]"]?sort_by(['properties', 'rma:nextReviewDate']) as child>
+ <#if (dateCompare(date, child.properties["rma:nextReviewDate"], 1000*60*60*24*7) == 1)>
+ <@standardProperties child=child extraProperty=child.properties["rma:nextReviewDate"]?string(datetimeformat) />
+ #if>
+#list>
+<@standardFooters/>
+
+
+<@standardHeaders title="Records Due for Cutoff" extra="Cutoff Date"/>
+<#list space.childrenByXPath[".//*[@rma:cutoffDateTime]"]?sort_by(['properties', 'rma:cutoffDateTime']) as child>
+ <#if (dateCompare(date, child.properties["rma:cutoffDateTime"], 1000*60*60*24*7) == 1)>
+ <@standardProperties child=child extraProperty=child.properties["rma:cutoffDateTime"]?string(datetimeformat) />
+ #if>
+#list>
+<@standardFooters/>
+
+
+<@standardHeaders title="Records Retention Due for Expiry" extra="Expiry Date"/>
+<#list space.childrenByXPath[".//*[@rma:holdUntil]"]?sort_by(['properties', 'rma:holdUntil']) as child>
+ <#if (dateCompare(date, child.properties["rma:holdUntil"], 1000*60*60*24*7) == 1)>
+ <@standardProperties child=child extraProperty=child.properties["rma:holdUntil"]?string(datetimeformat) />
+ #if>
+#list>
+<@standardFooters/>
+
+
+<@standardHeaders title="Records Due for Transfer" extra="Transfer Date"/>
+<#list space.childrenByXPath[".//*[@rma:transferDate]"]?sort_by(['properties', 'rma:transferDate']) as child>
+ <#if (dateCompare(date, child.properties["rma:transferDate"], 1000*60*60*24*7) == 1)>
+ <@standardProperties child=child extraProperty=child.properties["rma:transferDate"]?string(datetimeformat) />
+ #if>
+#list>
+<@standardFooters/>
+
+
+<@standardHeaders title="Records Due for Destruction" extra="Destruction Due Date"/>
+<#list space.childrenByXPath[".//*[@rma:destructionDate]"]?sort_by(['properties', 'rma:destructionDate']) as child>
+ <#if (dateCompare(date, child.properties["rma:destructionDate"], 1000*60*60*24*7) == 1)>
+ <@standardProperties child=child extraProperty=child.properties["rma:destructionDate"]?string(datetimeformat) />
+ #if>
+#list>
+<@standardFooters/>
+
+
\ No newline at end of file
diff --git a/config/alfresco/templates/content_template_examples.xml b/config/alfresco/templates/content_template_examples.xml
index e0ae7574bc..85ac61c026 100644
--- a/config/alfresco/templates/content_template_examples.xml
+++ b/config/alfresco/templates/content_template_examples.xml
@@ -126,4 +126,18 @@
+
+
+
+
+
+
+ true
+ Displays the current state of records in a file plan space or a space containing a file plan.
+ contentUrl=classpath:alfresco/templates/content/examples/records_report.ftl|mimetype=text/plain|size=6134|encoding=UTF-8
+ records_report.ftl
+ records_report.ftl
+
+
+
\ No newline at end of file