diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015-context.xml
index 85db9e087f..48816440e8 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015-context.xml
@@ -12,7 +12,7 @@
- alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model
+ alfresco/module/org_alfresco_module_rm/dod5015/dod5015-model
@@ -21,22 +21,12 @@
- alfresco.module.org_alfresco_module_rm.dod5015.messages.dod5015
+ alfresco.module.org_alfresco_module_rm.dod5015.dod5015
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015Model.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015Model.xml
index 85bf755290..c96a58b304 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015Model.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015Model.xml
@@ -26,7 +26,6 @@
-
Image Formats
@@ -57,100 +56,6 @@
-
-
-
-
-
- DOD5015 Record
- rma:recordMetaData
-
-
-
-
- Publication Date
- d:date
- true
-
-
-
- Originator
- d:text
- true
-
- true
- false
- false
-
-
-
-
- Originating Organization
- d:text
- true
-
- true
- false
- false
-
-
-
-
- Media Type
- d:text
- false
-
- true
- false
- false
-
-
-
-
- Format
- d:text
- false
-
- true
- false
- false
-
-
-
-
- Date Received
- d:date
- false
-
-
-
-
- Addressee
- d:text
- false
-
- true
- false
- false
-
-
-
- Other Addressee
- d:text
- false
-
- true
- false
- false
-
-
-
-
-
-
Scanned Record
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model.properties
deleted file mode 100644
index 72b68b6a6c..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model.properties
+++ /dev/null
@@ -1,92 +0,0 @@
-dod_dod5015.description=DOD5015 Content Model
-
-dod_dod5015.type.dod_recordSeries.title=Record Series (Deprecated)
-dod_dod5015.type.dod_recordSeries.description=Record Series (Deprecated)
-
-dod_dod5015.aspect.dod_dod5015record.title=DOD5015 Record
-dod_dod5015.aspect.dod_dod5015record.description=DOD5015 Record
-dod_dod5015.property.rma_publicationDate.title=Publication Date
-dod_dod5015.property.rma_publicationDate.decription=Publication Date
-dod_dod5015.property.rma_originator.title=Originator
-dod_dod5015.property.rma_originator.decription=Originator
-dod_dod5015.property.rma_originatingOrganization.title=Originating Organization
-dod_dod5015.property.rma_originatingOrganization.decription=Originating Organization
-dod_dod5015.property.rma_mediaType.title=Media Type
-dod_dod5015.property.rma_mediaType.decription=Media Type
-dod_dod5015.property.rma_format.title=Format
-dod_dod5015.property.rma_format.decription=Format
-dod_dod5015.property.rma_dateReceived.title=Date Received
-dod_dod5015.property.rma_dateReceived.decription=Date Received
-dod_dod5015.property.rma_address.title=Addressee
-dod_dod5015.property.rma_address.decription=Addressee
-dod_dod5015.property.rma_otherAddress.title=Other Addressee
-dod_dod5015.property.rma_otherAddress.decription=Other Addressee
-
-dod_dod5015.aspect.dod_scannedRecord.title=Scanned Record
-dod_dod5015.aspect.dod_scannedRecord.description=Scanned Record
-dod_dod5015.property.dod_scannedFormat.title=Image Format
-dod_dod5015.property.dod_scannedFormat.description=Image Format
-dod_dod5015.property.dod_scannedFormatVersion.title=Image Format and Version
-dod_dod5015.property.dod_scannedFormatVersion.description=Image Format and Version
-dod_dod5015.property.dod_resolutionX.title=Image Resolution X
-dod_dod5015.property.dod_resolutionX.description=Image Resolution X
-dod_dod5015.property.dod_resolutionY.title=Image Resolution Y
-dod_dod5015.property.dod_resolutionY.description=Image Resolution Y
-dod_dod5015.property.dod_scannedBitDepth.title=Scanned Bit Depth
-dod_dod5015.property.dod_scannedBitDepth.description=Scanned Bit Depth
-
-dod_dod5015.aspect.dod_pdfRecord.title=PDF Record
-dod_dod5015.aspect.dod_pdfRecord.description=PDF Record
-dod_dod5015.property.dod_producingApplication.title=Producing Application
-dod_dod5015.property.dod_producingApplication.description=Producing Application
-dod_dod5015.property.dod_producingApplicationVersion.title=Producing Application Version
-dod_dod5015.property.dod_producingApplicationVersion.description=Producing Application Version
-dod_dod5015.property.dod_pdfVersion.title=PDF Version
-dod_dod5015.property.dod_pdfVersion.description=PDF Version
-dod_dod5015.property.dod_creatingApplication.title=Creating Application
-dod_dod5015.property.dod_creatingApplication.description=Creating Application
-dod_dod5015.property.dod_documentSecuritySettings.title=Document Security Settings
-dod_dod5015.property.dod_documentSecuritySettings.description=Document Security Settings
-
-dod_dod5015.aspect.dod_digitalPhotographRecord.title=Digital Photograph Record
-dod_dod5015.aspect.dod_digitalPhotographRecord.description=Digital Photograph Record
-dod_dod5015.property.dod_caption.title=Caption
-dod_dod5015.property.dod_caption.description=Caption
-dod_dod5015.property.dod_photographer.title=Photographer
-dod_dod5015.property.dod_photographer.description=Photographer
-dod_dod5015.property.dod_copyright.title=Copyright
-dod_dod5015.property.dod_copyright.description=Copyright
-dod_dod5015.property.dod_bitDepth.title=Bit Depth
-dod_dod5015.property.dod_bitDepth.description=Bit Depth
-dod_dod5015.property.dod_imageSizeX.title=Image Size X
-dod_dod5015.property.dod_imageSizeX.description=Image Size X
-dod_dod5015.property.dod_imageSizeY.title=Image Size Y
-dod_dod5015.property.dod_imageSizeY.description=Image Size Y
-dod_dod5015.property.dod_imageSource.title=Image Source
-dod_dod5015.property.dod_imageSource.description=Image Source
-dod_dod5015.property.dod_compression.title=Compression
-dod_dod5015.property.dod_compression.description=Compression
-dod_dod5015.property.dod_iccIcmProfile.title=ICC/ICM Profile
-dod_dod5015.property.dod_iccIcmProfile.description=ICC/ICM Profile
-dod_dod5015.property.dod_exifInformation.title=EXIF Information
-dod_dod5015.property.dod_exifInformation.description=EXIF Information
-
-dod_dod5015.aspect.dod_webRecord.title=Web Record
-dod_dod5015.aspect.dod_webRecord.description=Web Record
-dod_dod5015.property.dod_webFileName.title=Web File Name
-dod_dod5015.property.dod_webFileName.description=Web File Name
-dod_dod5015.property.dod_webPlatform.title=Web Platform
-dod_dod5015.property.dod_webPlatform.description=Web Platform
-dod_dod5015.property.dod_webSiteName.title=Web Site Name
-dod_dod5015.property.dod_webSiteName.description=Web Site Name
-dod_dod5015.property.dod_webSiteURL.title=Web Site URL
-dod_dod5015.property.dod_webSiteURL.description=Web Site URL
-dod_dod5015.property.dod_captureMethod.title=Capture Method
-dod_dod5015.property.dod_captureMethod.description=Capture Method
-dod_dod5015.property.dod_captureDate.title=Capture Date
-dod_dod5015.property.dod_captureDate.description=Capture Date
-dod_dod5015.property.dod_contact.title=Contact
-dod_dod5015.property.dod_contact.description=Contact
-dod_dod5015.property.dod_contentManagementSystem.title=Content Management System
-dod_dod5015.property.dod_contentManagementSystem.description=Content Management System
-
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_de.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_de.properties
deleted file mode 100644
index 241681f191..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_de.properties
+++ /dev/null
@@ -1,73 +0,0 @@
-dod_dod5015.description=DOD5015 Content Model
-
-dod_dod5015.type.dod_recordSeries.title=Datensatzserie (veraltet)
-dod_dod5015.type.dod_recordSeries.description=Datensatzserie (veraltet)
-
-dod_dod5015.aspect.dod_scannedRecord.title=Eingescannter Datensatz
-dod_dod5015.aspect.dod_scannedRecord.description=Eingescannter Datensatz
-dod_dod5015.property.dod_scannedFormat.title=Bildformat
-dod_dod5015.property.dod_scannedFormat.description=Bildformat
-dod_dod5015.property.dod_scannedFormatVersion.title=Bildformat und Version
-dod_dod5015.property.dod_scannedFormatVersion.description=Bildformat und Version
-dod_dod5015.property.dod_resolutionX.title=Bildaufl\u00f6sung X
-dod_dod5015.property.dod_resolutionX.description=Bildaufl\u00f6sung X
-dod_dod5015.property.dod_resolutionY.title=Bildaufl\u00f6sung Y
-dod_dod5015.property.dod_resolutionY.description=Bildaufl\u00f6sung Y
-dod_dod5015.property.dod_scannedBitDepth.title=Gescannte Bittiefe
-dod_dod5015.property.dod_scannedBitDepth.description=Gescannte Bittiefe
-
-dod_dod5015.aspect.dod_pdfRecord.title=PDF-Datensatz
-dod_dod5015.aspect.dod_pdfRecord.description=PDF-Datensatz
-dod_dod5015.property.dod_producingApplication.title=Ausgebende Anwendung
-dod_dod5015.property.dod_producingApplication.description=Ausgebende Anwendung
-dod_dod5015.property.dod_producingApplicationVersion.title=Version der ausgebenden Anwendung
-dod_dod5015.property.dod_producingApplicationVersion.description=Version der ausgebenden Anwendung
-dod_dod5015.property.dod_pdfVersion.title=PDF-Version
-dod_dod5015.property.dod_pdfVersion.description=PDF-Version
-dod_dod5015.property.dod_creatingApplication.title=Erstellende Anwendung
-dod_dod5015.property.dod_creatingApplication.description=Erstellende Anwendung
-dod_dod5015.property.dod_documentSecuritySettings.title=Sicherheitseinstellungen des Dokuments
-dod_dod5015.property.dod_documentSecuritySettings.description=Sicherheitseinstellungen des Dokuments
-
-dod_dod5015.aspect.dod_digitalPhotographRecord.title=Digitaler Fotodatensatz
-dod_dod5015.aspect.dod_digitalPhotographRecord.description=Digitaler Fotodatensatz
-dod_dod5015.property.dod_caption.title=Beschriftung
-dod_dod5015.property.dod_caption.description=Beschriftung
-dod_dod5015.property.dod_photographer.title=Fotograf
-dod_dod5015.property.dod_photographer.description=Fotograf
-dod_dod5015.property.dod_copyright.title=Copyright
-dod_dod5015.property.dod_copyright.description=Copyright
-dod_dod5015.property.dod_bitDepth.title=Bittiefe
-dod_dod5015.property.dod_bitDepth.description=Bittiefe
-dod_dod5015.property.dod_imageSizeX.title=Bildgr\u00f6\u00dfe X
-dod_dod5015.property.dod_imageSizeX.description=Bildgr\u00f6\u00dfe X
-dod_dod5015.property.dod_imageSizeY.title=Bildgr\u00f6\u00dfe Y
-dod_dod5015.property.dod_imageSizeY.description=Bildgr\u00f6\u00dfe Y
-dod_dod5015.property.dod_imageSource.title=Bildquelle
-dod_dod5015.property.dod_imageSource.description=Bildquelle
-dod_dod5015.property.dod_compression.title=Komprimierung
-dod_dod5015.property.dod_compression.description=Komprimierung
-dod_dod5015.property.dod_iccIcmProfile.title=ICC/ICM-Profil
-dod_dod5015.property.dod_iccIcmProfile.description=ICC/ICM-Profil
-dod_dod5015.property.dod_exifInformation.title=EXIF-Informationen
-dod_dod5015.property.dod_exifInformation.description=EXIF-Informationen
-
-dod_dod5015.aspect.dod_webRecord.title=Webdatensatz
-dod_dod5015.aspect.dod_webRecord.description=Webdatensatz
-dod_dod5015.property.dod_webFileName.title=Webdateiname
-dod_dod5015.property.dod_webFileName.description=Webdateiname
-dod_dod5015.property.dod_webPlatform.title=Webplattform
-dod_dod5015.property.dod_webPlatform.description=Webplattform
-dod_dod5015.property.dod_webSiteName.title=Website-Name
-dod_dod5015.property.dod_webSiteName.description=Website-Name
-dod_dod5015.property.dod_webSiteURL.title=Website-URL
-dod_dod5015.property.dod_webSiteURL.description=Website-URL
-dod_dod5015.property.dod_captureMethod.title=Erfassungsmethode
-dod_dod5015.property.dod_captureMethod.description=Erfassungsmethode
-dod_dod5015.property.dod_captureDate.title=Erfassungsdatum
-dod_dod5015.property.dod_captureDate.description=Erfassungsdatum
-dod_dod5015.property.dod_contact.title=Kontakt
-dod_dod5015.property.dod_contact.description=Kontakt
-dod_dod5015.property.dod_contentManagementSystem.title=Content Management System
-dod_dod5015.property.dod_contentManagementSystem.description=Content Management System
-
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_es.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_es.properties
deleted file mode 100644
index 3a2e219927..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_es.properties
+++ /dev/null
@@ -1,73 +0,0 @@
-dod_dod5015.description=Modelo de contenido DOD5015
-
-dod_dod5015.type.dod_recordSeries.title=Series de documentos de archivo (obsoletas)
-dod_dod5015.type.dod_recordSeries.description=Series de documentos de archivo (obsoletas)
-
-dod_dod5015.aspect.dod_scannedRecord.title=Documento de archivo escaneado
-dod_dod5015.aspect.dod_scannedRecord.description=Documento de archivo escaneado
-dod_dod5015.property.dod_scannedFormat.title=Formato de imagen
-dod_dod5015.property.dod_scannedFormat.description=Formato de imagen
-dod_dod5015.property.dod_scannedFormatVersion.title=Formato de imagen y versi\u00f3n
-dod_dod5015.property.dod_scannedFormatVersion.description=Formato de imagen y versi\u00f3n
-dod_dod5015.property.dod_resolutionX.title=Resoluci\u00f3n de imagen X
-dod_dod5015.property.dod_resolutionX.description=Resoluci\u00f3n de imagen X
-dod_dod5015.property.dod_resolutionY.title=Resoluci\u00f3n de imagen Y
-dod_dod5015.property.dod_resolutionY.description=Resoluci\u00f3n de imagen Y
-dod_dod5015.property.dod_scannedBitDepth.title=Profundidad de bits de escaneado
-dod_dod5015.property.dod_scannedBitDepth.description=Profundidad de bits de escaneado
-
-dod_dod5015.aspect.dod_pdfRecord.title=Archivo PDF
-dod_dod5015.aspect.dod_pdfRecord.description=Archivo PDF
-dod_dod5015.property.dod_producingApplication.title=Produciendo aplicaci\u00f3n
-dod_dod5015.property.dod_producingApplication.description=Produciendo aplicaci\u00f3n
-dod_dod5015.property.dod_producingApplicationVersion.title=Produciendo versi\u00f3n de la aplicaci\u00f3n
-dod_dod5015.property.dod_producingApplicationVersion.description=Produciendo versi\u00f3n de la aplicaci\u00f3n
-dod_dod5015.property.dod_pdfVersion.title=Versi\u00f3n PDF
-dod_dod5015.property.dod_pdfVersion.description=Versi\u00f3n PDF
-dod_dod5015.property.dod_creatingApplication.title=Creando aplicaci\u00f3n
-dod_dod5015.property.dod_creatingApplication.description=Creando aplicaci\u00f3n
-dod_dod5015.property.dod_documentSecuritySettings.title=Configuraci\u00f3n de seguridad del documento
-dod_dod5015.property.dod_documentSecuritySettings.description=Configuraci\u00f3n de seguridad del documento
-
-dod_dod5015.aspect.dod_digitalPhotographRecord.title=Documento de archivo fotogr\u00e1fico digital
-dod_dod5015.aspect.dod_digitalPhotographRecord.description=Documento de archivo fotogr\u00e1fico digital
-dod_dod5015.property.dod_caption.title=T\u00edtulo
-dod_dod5015.property.dod_caption.description=T\u00edtulo
-dod_dod5015.property.dod_photographer.title=Fot\u00f3grafo
-dod_dod5015.property.dod_photographer.description=Fot\u00f3grafo
-dod_dod5015.property.dod_copyright.title=Copyright
-dod_dod5015.property.dod_copyright.description=Copyright
-dod_dod5015.property.dod_bitDepth.title=Profundidad de bits
-dod_dod5015.property.dod_bitDepth.description=Profundidad de bits
-dod_dod5015.property.dod_imageSizeX.title=Tama\u00f1o de imagen X
-dod_dod5015.property.dod_imageSizeX.description=Tama\u00f1o de imagen X
-dod_dod5015.property.dod_imageSizeY.title=Tama\u00f1o de imagen Y
-dod_dod5015.property.dod_imageSizeY.description=Tama\u00f1o de imagen Y
-dod_dod5015.property.dod_imageSource.title=Procedencia de la imagen
-dod_dod5015.property.dod_imageSource.description=Procedencia de la imagen
-dod_dod5015.property.dod_compression.title=Compresi\u00f3n
-dod_dod5015.property.dod_compression.description=Compresi\u00f3n
-dod_dod5015.property.dod_iccIcmProfile.title=Perfil ICC/ICM
-dod_dod5015.property.dod_iccIcmProfile.description=Perfil ICC/ICM
-dod_dod5015.property.dod_exifInformation.title=Informaci\u00f3n EXIF
-dod_dod5015.property.dod_exifInformation.description=Informaci\u00f3n EXIF
-
-dod_dod5015.aspect.dod_webRecord.title=Documento de archivo web
-dod_dod5015.aspect.dod_webRecord.description=Documento de archivo web
-dod_dod5015.property.dod_webFileName.title=Nombre del fichero web
-dod_dod5015.property.dod_webFileName.description=Nombre del fichero web
-dod_dod5015.property.dod_webPlatform.title=Plataforma web
-dod_dod5015.property.dod_webPlatform.description=Plataforma web
-dod_dod5015.property.dod_webSiteName.title=Nombre del sitio web
-dod_dod5015.property.dod_webSiteName.description=Nombre del sitio web
-dod_dod5015.property.dod_webSiteURL.title=URL del sitio web
-dod_dod5015.property.dod_webSiteURL.description=URL del sitio web
-dod_dod5015.property.dod_captureMethod.title=M\u00e9todo de captura
-dod_dod5015.property.dod_captureMethod.description=M\u00e9todo de captura
-dod_dod5015.property.dod_captureDate.title=Fecha de captura
-dod_dod5015.property.dod_captureDate.description=Fecha de captura
-dod_dod5015.property.dod_contact.title=Contacto
-dod_dod5015.property.dod_contact.description=Contacto
-dod_dod5015.property.dod_contentManagementSystem.title=Sistema de gesti\u00f3n de contenidos
-dod_dod5015.property.dod_contentManagementSystem.description=Sistema de gesti\u00f3n de contenidos
-
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_fr.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_fr.properties
deleted file mode 100644
index 6ac118614a..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_fr.properties
+++ /dev/null
@@ -1,73 +0,0 @@
-dod_dod5015.description=Mod\u00e8le de contenu DOD5015
-
-dod_dod5015.type.dod_recordSeries.title=S\u00e9rie de document d'archives (Obsol\u00e8te)
-dod_dod5015.type.dod_recordSeries.description=S\u00e9rie de document d'archives (Obsol\u00e8te)
-
-dod_dod5015.aspect.dod_scannedRecord.title=Document d'archives num\u00e9ris\u00e9
-dod_dod5015.aspect.dod_scannedRecord.description=Document d'archives num\u00e9ris\u00e9
-dod_dod5015.property.dod_scannedFormat.title=Format d'image
-dod_dod5015.property.dod_scannedFormat.description=Format d'image
-dod_dod5015.property.dod_scannedFormatVersion.title=Format et version d'image
-dod_dod5015.property.dod_scannedFormatVersion.description=Format et version d'mage
-dod_dod5015.property.dod_resolutionX.title=R\u00e9solution d'image X
-dod_dod5015.property.dod_resolutionX.description=R\u00e9solution d'image X
-dod_dod5015.property.dod_resolutionY.title=R\u00e9solution d'image Y
-dod_dod5015.property.dod_resolutionY.description=R\u00e9solution d'image Y
-dod_dod5015.property.dod_scannedBitDepth.title=Profondeur de couleur num\u00e9ris\u00e9e
-dod_dod5015.property.dod_scannedBitDepth.description=Profondeur de couleur num\u00e9ris\u00e9e
-
-dod_dod5015.aspect.dod_pdfRecord.title=Document d'archives PDF
-dod_dod5015.aspect.dod_pdfRecord.description=Document d'archives PDF
-dod_dod5015.property.dod_producingApplication.title=Application de production
-dod_dod5015.property.dod_producingApplication.description=Application de production
-dod_dod5015.property.dod_producingApplicationVersion.title=Version de l'application de production
-dod_dod5015.property.dod_producingApplicationVersion.description=Version de l'application de production
-dod_dod5015.property.dod_pdfVersion.title=Version PDF
-dod_dod5015.property.dod_pdfVersion.description=Version PDF
-dod_dod5015.property.dod_creatingApplication.title=Application de cr\u00e9ation
-dod_dod5015.property.dod_creatingApplication.description=Application de cr\u00e9ation
-dod_dod5015.property.dod_documentSecuritySettings.title=Param\u00e8tres de s\u00e9curit\u00e9 de document
-dod_dod5015.property.dod_documentSecuritySettings.description=Param\u00e8tres de s\u00e9curit\u00e9 de document
-
-dod_dod5015.aspect.dod_digitalPhotographRecord.title=Document d'archives de photographie num\u00e9rique
-dod_dod5015.aspect.dod_digitalPhotographRecord.description=Document d'archives de photographie num\u00e9rique
-dod_dod5015.property.dod_caption.title=L\u00e9gende
-dod_dod5015.property.dod_caption.description=L\u00e9gende
-dod_dod5015.property.dod_photographer.title=Photographe
-dod_dod5015.property.dod_photographer.description=Photographe
-dod_dod5015.property.dod_copyright.title=Copyright
-dod_dod5015.property.dod_copyright.description=Copyright
-dod_dod5015.property.dod_bitDepth.title=Profondeur de couleur
-dod_dod5015.property.dod_bitDepth.description=Profondeur de couleur
-dod_dod5015.property.dod_imageSizeX.title=Taille d'image X
-dod_dod5015.property.dod_imageSizeX.description=Taille d'image X
-dod_dod5015.property.dod_imageSizeY.title=Taille d'image Y
-dod_dod5015.property.dod_imageSizeY.description=Taille d'image Y
-dod_dod5015.property.dod_imageSource.title=Source d'image
-dod_dod5015.property.dod_imageSource.description=Source d'image
-dod_dod5015.property.dod_compression.title=Compression
-dod_dod5015.property.dod_compression.description=Compression
-dod_dod5015.property.dod_iccIcmProfile.title=Profil ICC/ICM
-dod_dod5015.property.dod_iccIcmProfile.description=Profil ICC/ICM
-dod_dod5015.property.dod_exifInformation.title=Informations EXIF
-dod_dod5015.property.dod_exifInformation.description=Informations EXIF
-
-dod_dod5015.aspect.dod_webRecord.title=Document d'archives Web
-dod_dod5015.aspect.dod_webRecord.description=Document d'archives Web
-dod_dod5015.property.dod_webFileName.title=Nom de fichier Web
-dod_dod5015.property.dod_webFileName.description=Nom de fichier Web
-dod_dod5015.property.dod_webPlatform.title=Plate-forme Web
-dod_dod5015.property.dod_webPlatform.description=Plate-forme Web
-dod_dod5015.property.dod_webSiteName.title=Nom de site Web
-dod_dod5015.property.dod_webSiteName.description=Nom de site Web
-dod_dod5015.property.dod_webSiteURL.title=URL de site Web
-dod_dod5015.property.dod_webSiteURL.description=URL de site Web
-dod_dod5015.property.dod_captureMethod.title=M\u00e9thode de capture
-dod_dod5015.property.dod_captureMethod.description=M\u00e9thode de capture
-dod_dod5015.property.dod_captureDate.title=Date de capture
-dod_dod5015.property.dod_captureDate.description=Date de capture
-dod_dod5015.property.dod_contact.title=Contact
-dod_dod5015.property.dod_contact.description=Contact
-dod_dod5015.property.dod_contentManagementSystem.title=Syst\u00e8me de gestion du contenu
-dod_dod5015.property.dod_contentManagementSystem.description=Syst\u00e8me de gestion du contenu
-
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_it.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_it.properties
deleted file mode 100644
index 06489bf3b0..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_it.properties
+++ /dev/null
@@ -1,73 +0,0 @@
-dod_dod5015.description=Modello di contenuto DOD5015
-
-dod_dod5015.type.dod_recordSeries.title=Serie di record (obsoleto)
-dod_dod5015.type.dod_recordSeries.description=Serie di record (obsoleto)
-
-dod_dod5015.aspect.dod_scannedRecord.title=Record scansionato
-dod_dod5015.aspect.dod_scannedRecord.description=Record scansionato
-dod_dod5015.property.dod_scannedFormat.title=Formato immagine
-dod_dod5015.property.dod_scannedFormat.description=Formato immagine
-dod_dod5015.property.dod_scannedFormatVersion.title=Formato immagine e versione
-dod_dod5015.property.dod_scannedFormatVersion.description=Formato immagine e versione
-dod_dod5015.property.dod_resolutionX.title=Risoluzione immagine X
-dod_dod5015.property.dod_resolutionX.description=Risoluzione immagine X
-dod_dod5015.property.dod_resolutionY.title=Risoluzione immagine Y
-dod_dod5015.property.dod_resolutionY.description=Risoluzione immagine Y
-dod_dod5015.property.dod_scannedBitDepth.title=Profondit\u00e0 in bit scansionata
-dod_dod5015.property.dod_scannedBitDepth.description=Profondit\u00e0 in bit scansionata
-
-dod_dod5015.aspect.dod_pdfRecord.title=Record PDF
-dod_dod5015.aspect.dod_pdfRecord.description=Record PDF
-dod_dod5015.property.dod_producingApplication.title=Generazione applicazione
-dod_dod5015.property.dod_producingApplication.description=Generazione applicazione
-dod_dod5015.property.dod_producingApplicationVersion.title=Generazione versione applicazione
-dod_dod5015.property.dod_producingApplicationVersion.description=Generazione versione applicazione
-dod_dod5015.property.dod_pdfVersion.title=Versione PDF
-dod_dod5015.property.dod_pdfVersion.description=Versione PDF
-dod_dod5015.property.dod_creatingApplication.title=Creazione applicazione
-dod_dod5015.property.dod_creatingApplication.description=Creazione applicazione
-dod_dod5015.property.dod_documentSecuritySettings.title=Impostazioni di protezione documento
-dod_dod5015.property.dod_documentSecuritySettings.description=Impostazioni di protezione documento
-
-dod_dod5015.aspect.dod_digitalPhotographRecord.title=Record fotografia digitale
-dod_dod5015.aspect.dod_digitalPhotographRecord.description=Record fotografia digitale
-dod_dod5015.property.dod_caption.title=Didascalia
-dod_dod5015.property.dod_caption.description=Didascalia
-dod_dod5015.property.dod_photographer.title=Fotografo
-dod_dod5015.property.dod_photographer.description=Fotografo
-dod_dod5015.property.dod_copyright.title=Copyright
-dod_dod5015.property.dod_copyright.description=Copyright
-dod_dod5015.property.dod_bitDepth.title=Profondit\u00e0 in bit
-dod_dod5015.property.dod_bitDepth.description=Profondit\u00e0 in bit
-dod_dod5015.property.dod_imageSizeX.title=Dimensioni immagine X
-dod_dod5015.property.dod_imageSizeX.description=Dimensioni immagine X
-dod_dod5015.property.dod_imageSizeY.title=Dimensioni immagine Y
-dod_dod5015.property.dod_imageSizeY.description=Dimensioni immagine Y
-dod_dod5015.property.dod_imageSource.title=Origine immagine
-dod_dod5015.property.dod_imageSource.description=Origine immagine
-dod_dod5015.property.dod_compression.title=Compressione
-dod_dod5015.property.dod_compression.description=Compressione
-dod_dod5015.property.dod_iccIcmProfile.title=Profilo ICC/ICM
-dod_dod5015.property.dod_iccIcmProfile.description=Profilo ICC/ICM
-dod_dod5015.property.dod_exifInformation.title=Informazioni EXIF
-dod_dod5015.property.dod_exifInformation.description=Informazioni EXIF
-
-dod_dod5015.aspect.dod_webRecord.title=Record Web
-dod_dod5015.aspect.dod_webRecord.description=Record Web
-dod_dod5015.property.dod_webFileName.title=Nome file Web
-dod_dod5015.property.dod_webFileName.description=Nome file Web
-dod_dod5015.property.dod_webPlatform.title=Piattaforma Web
-dod_dod5015.property.dod_webPlatform.description=Piattaforma Web
-dod_dod5015.property.dod_webSiteName.title=Nome sito Web
-dod_dod5015.property.dod_webSiteName.description=Nome sito Web
-dod_dod5015.property.dod_webSiteURL.title=URL sito Web
-dod_dod5015.property.dod_webSiteURL.description=URL sito Web
-dod_dod5015.property.dod_captureMethod.title=Metodo di acquisizione
-dod_dod5015.property.dod_captureMethod.description=Metodo di acquisizione
-dod_dod5015.property.dod_captureDate.title=Data di acquisizione
-dod_dod5015.property.dod_captureDate.description=Data di acquisizione
-dod_dod5015.property.dod_contact.title=Contatto
-dod_dod5015.property.dod_contact.description=Contatto
-dod_dod5015.property.dod_contentManagementSystem.title=Sistema di gestione dei contenuti
-dod_dod5015.property.dod_contentManagementSystem.description=Sistema di gestione dei contenuti
-
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_ja.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_ja.properties
deleted file mode 100644
index 9620bdf261..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_ja.properties
+++ /dev/null
@@ -1,73 +0,0 @@
-dod_dod5015.description=DOD5015\u30b3\u30f3\u30c6\u30f3\u30c4\u30e2\u30c7\u30eb
-
-dod_dod5015.type.dod_recordSeries.title=\u30ec\u30b3\u30fc\u30c9\u30b7\u30ea\u30fc\u30ba\uff08\u975e\u63a8\u5968\uff09
-dod_dod5015.type.dod_recordSeries.description=\u30ec\u30b3\u30fc\u30c9\u30b7\u30ea\u30fc\u30ba\uff08\u975e\u63a8\u5968\uff09
-
-dod_dod5015.aspect.dod_scannedRecord.title=\u30b9\u30ad\u30e3\u30f3\u6e08\u307f\u30ec\u30b3\u30fc\u30c9
-dod_dod5015.aspect.dod_scannedRecord.description=\u30b9\u30ad\u30e3\u30f3\u6e08\u307f\u30ec\u30b3\u30fc\u30c9
-dod_dod5015.property.dod_scannedFormat.title=\u30a4\u30e1\u30fc\u30b8\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8
-dod_dod5015.property.dod_scannedFormat.description=\u30a4\u30e1\u30fc\u30b8\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8
-dod_dod5015.property.dod_scannedFormatVersion.title=\u30a4\u30e1\u30fc\u30b8\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3068\u30d0\u30fc\u30b8\u30e7\u30f3
-dod_dod5015.property.dod_scannedFormatVersion.description=\u30a4\u30e1\u30fc\u30b8\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3068\u30d0\u30fc\u30b8\u30e7\u30f3
-dod_dod5015.property.dod_resolutionX.title=\u30a4\u30e1\u30fc\u30b8\u306e\u89e3\u50cf\u5ea6X
-dod_dod5015.property.dod_resolutionX.description=\u30a4\u30e1\u30fc\u30b8\u306e\u89e3\u50cf\u5ea6X
-dod_dod5015.property.dod_resolutionY.title=\u30a4\u30e1\u30fc\u30b8\u306e\u89e3\u50cf\u5ea6Y
-dod_dod5015.property.dod_resolutionY.description=\u30a4\u30e1\u30fc\u30b8\u306e\u89e3\u50cf\u5ea6Y
-dod_dod5015.property.dod_scannedBitDepth.title=\u30b9\u30ad\u30e3\u30f3\u3057\u305f\u30d3\u30c3\u30c8\u6df1\u5ea6
-dod_dod5015.property.dod_scannedBitDepth.description=\u30b9\u30ad\u30e3\u30f3\u3057\u305f\u30d3\u30c3\u30c8\u6df1\u5ea6
-
-dod_dod5015.aspect.dod_pdfRecord.title=PDF\u30ec\u30b3\u30fc\u30c9
-dod_dod5015.aspect.dod_pdfRecord.description=PDF\u30ec\u30b3\u30fc\u30c9
-dod_dod5015.property.dod_producingApplication.title=\u88fd\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
-dod_dod5015.property.dod_producingApplication.description=\u88fd\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
-dod_dod5015.property.dod_producingApplicationVersion.title=\u88fd\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d0\u30fc\u30b8\u30e7\u30f3
-dod_dod5015.property.dod_producingApplicationVersion.description=\u88fd\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d0\u30fc\u30b8\u30e7\u30f3
-dod_dod5015.property.dod_pdfVersion.title=PDF\u30d0\u30fc\u30b8\u30e7\u30f3
-dod_dod5015.property.dod_pdfVersion.description=PDF\u30d0\u30fc\u30b8\u30e7\u30f3
-dod_dod5015.property.dod_creatingApplication.title=\u5275\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
-dod_dod5015.property.dod_creatingApplication.description=\u5275\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
-dod_dod5015.property.dod_documentSecuritySettings.title=\u6587\u66f8\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8a2d\u5b9a
-dod_dod5015.property.dod_documentSecuritySettings.description=\u6587\u66f8\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8a2d\u5b9a
-
-dod_dod5015.aspect.dod_digitalPhotographRecord.title=\u30c7\u30b8\u30bf\u30eb\u5199\u771f\u30ec\u30b3\u30fc\u30c9
-dod_dod5015.aspect.dod_digitalPhotographRecord.description=\u30c7\u30b8\u30bf\u30eb\u5199\u771f\u30ec\u30b3\u30fc\u30c9
-dod_dod5015.property.dod_caption.title=\u30ad\u30e3\u30d7\u30b7\u30e7\u30f3
-dod_dod5015.property.dod_caption.description=\u30ad\u30e3\u30d7\u30b7\u30e7\u30f3
-dod_dod5015.property.dod_photographer.title=\u5199\u771f\u5bb6
-dod_dod5015.property.dod_photographer.description=\u5199\u771f\u5bb6
-dod_dod5015.property.dod_copyright.title=\u8457\u4f5c\u6a29
-dod_dod5015.property.dod_copyright.description=\u8457\u4f5c\u6a29
-dod_dod5015.property.dod_bitDepth.title=\u30d3\u30c3\u30c8\u6df1\u5ea6
-dod_dod5015.property.dod_bitDepth.description=\u30d3\u30c3\u30c8\u6df1\u5ea6
-dod_dod5015.property.dod_imageSizeX.title=\u30a4\u30e1\u30fc\u30b8\u306e\u30b5\u30a4\u30baX
-dod_dod5015.property.dod_imageSizeX.description=\u30a4\u30e1\u30fc\u30b8\u306e\u30b5\u30a4\u30baX
-dod_dod5015.property.dod_imageSizeY.title=\u30a4\u30e1\u30fc\u30b8\u306e\u30b5\u30a4\u30baY
-dod_dod5015.property.dod_imageSizeY.description=\u30a4\u30e1\u30fc\u30b8\u306e\u30b5\u30a4\u30baY
-dod_dod5015.property.dod_imageSource.title=\u30a4\u30e1\u30fc\u30b8\u30bd\u30fc\u30b9
-dod_dod5015.property.dod_imageSource.description=\u30a4\u30e1\u30fc\u30b8\u30bd\u30fc\u30b9
-dod_dod5015.property.dod_compression.title=\u5727\u7e2e
-dod_dod5015.property.dod_compression.description=\u5727\u7e2e
-dod_dod5015.property.dod_iccIcmProfile.title=ICC/ICM\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb
-dod_dod5015.property.dod_iccIcmProfile.description=ICC/ICM\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb
-dod_dod5015.property.dod_exifInformation.title=EXIF\u60c5\u5831
-dod_dod5015.property.dod_exifInformation.description=EXIF\u60c5\u5831
-
-dod_dod5015.aspect.dod_webRecord.title=Web\u30ec\u30b3\u30fc\u30c9
-dod_dod5015.aspect.dod_webRecord.description=Web\u30ec\u30b3\u30fc\u30c9
-dod_dod5015.property.dod_webFileName.title=Web\u30d5\u30a1\u30a4\u30eb\u540d
-dod_dod5015.property.dod_webFileName.description=Web\u30d5\u30a1\u30a4\u30eb\u540d
-dod_dod5015.property.dod_webPlatform.title=Web\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0
-dod_dod5015.property.dod_webPlatform.description=Web\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0
-dod_dod5015.property.dod_webSiteName.title=Web\u30b5\u30a4\u30c8\u540d
-dod_dod5015.property.dod_webSiteName.description=Web\u30b5\u30a4\u30c8\u540d
-dod_dod5015.property.dod_webSiteURL.title=Web\u30b5\u30a4\u30c8URL
-dod_dod5015.property.dod_webSiteURL.description=Web\u30b5\u30a4\u30c8URL
-dod_dod5015.property.dod_captureMethod.title=\u30ad\u30e3\u30d7\u30c1\u30e3\u624b\u6cd5
-dod_dod5015.property.dod_captureMethod.description=\u30ad\u30e3\u30d7\u30c1\u30e3\u624b\u6cd5
-dod_dod5015.property.dod_captureDate.title=\u30ad\u30e3\u30d7\u30c1\u30e3\u65e5
-dod_dod5015.property.dod_captureDate.description=\u30ad\u30e3\u30d7\u30c1\u30e3\u65e5
-dod_dod5015.property.dod_contact.title=\u9023\u7d61\u5148
-dod_dod5015.property.dod_contact.description=\u9023\u7d61\u5148
-dod_dod5015.property.dod_contentManagementSystem.title=\u30b3\u30f3\u30c6\u30f3\u30c4\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0
-dod_dod5015.property.dod_contentManagementSystem.description=\u30b3\u30f3\u30c6\u30f3\u30c4\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0
-
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015.properties
deleted file mode 100644
index ae0fd1111b..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-# Classified Records Capabilities
-capability.group.classifiedRecords.title=Classified Records
-capability.UpdateClassificationDates.title=Update Classification Dates
-capability.CreateModifyDestroyClassificationGuides.title=Create Modify Destroy Classification Guides
-capability.UpgradeDowngradeAndDeclassifyRecords.title=Upgrade Downgrade and Declassify Records
-capability.UpdateExemptionCategories.title=Update Exemption Categories
-capability.MapClassificationGuideMetadata.title=Map Classification Guide Metadata
-capability.CreateModifyDestroyTimeframes.title=Create Modify Destroy Time Frames
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_de.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_de.properties
deleted file mode 100644
index 72a9f222c2..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_de.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-# Classified Records Capabilities
-capability.group.classifiedRecords.title=Klassifizierte Datens\u00e4tze
-capability.UpdateClassificationDates.title=Klassifizierungsdaten aktualisieren
-capability.CreateModifyDestroyClassificationGuides.title=Klassifizierungsleitfaden erstellen/\u00e4ndern/vernichten
-capability.UpgradeDowngradeAndDeclassifyRecords.title=Datens\u00e4tze h\u00f6her-/herunterstufen und ihre Klassifizierung aufheben
-capability.UpdateExemptionCategories.title=Ausnahmekategorien aktualisieren
-capability.MapClassificationGuideMetadata.title=Metadaten f\u00fcr Klassifizierungsleitfaden zuordnen
-capability.CreateModifyDestroyTimeframes.title=Zeitrahmen erstellen/\u00e4ndern/vernichten
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_es.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_es.properties
deleted file mode 100644
index a1e5dd3aab..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_es.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-# Classified Records Capabilities
-capability.group.classifiedRecords.title=Documentos de archivo clasificados
-capability.UpdateClassificationDates.title=Actualizar fechas de clasificaci\u00f3n
-capability.CreateModifyDestroyClassificationGuides.title=Crear, modificar o destruir gu\u00edas de clasificaci\u00f3n
-capability.UpgradeDowngradeAndDeclassifyRecords.title=Subir, bajar y desclasificar documentos de archivo
-capability.UpdateExemptionCategories.title=Actualizar categor\u00edas de exenci\u00f3n
-capability.MapClassificationGuideMetadata.title=Asignar metadatos de gu\u00eda de clasificaci\u00f3n
-capability.CreateModifyDestroyTimeframes.title=Crear, modificar o destruir plazos de tiempo
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_fr.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_fr.properties
deleted file mode 100644
index e83b6808fe..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_fr.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-# Classified Records Capabilities
-capability.group.classifiedRecords.title=Documents d'archives classifi\u00e9s
-capability.UpdateClassificationDates.title=Dates de mise \u00e0 jour des classifications
-capability.CreateModifyDestroyClassificationGuides.title=Guides de cr\u00e9ation, de modification et de destruction de classification
-capability.UpgradeDowngradeAndDeclassifyRecords.title=Mettre \u00e0 jour, r\u00e9trograder et d\u00e9classifier des documents d'archives
-capability.UpdateExemptionCategories.title=Mettre \u00e0 jour des cat\u00e9gories d'exemptions
-capability.MapClassificationGuideMetadata.title=Mapper les m\u00e9tadonn\u00e9es de guide de classification
-capability.CreateModifyDestroyTimeframes.title=Cr\u00e9er, modifier, d\u00e9truire des p\u00e9riodes
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_it.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_it.properties
deleted file mode 100644
index 53ee730540..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_it.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-# Classified Records Capabilities
-capability.group.classifiedRecords.title=Record classificati
-capability.UpdateClassificationDates.title=Aggiorna date di classificazione
-capability.CreateModifyDestroyClassificationGuides.title=Crea, modifica, elimina definitivamente le guide di classificazione
-capability.UpgradeDowngradeAndDeclassifyRecords.title=Aggiorna, esegui downgrade e declassifica record
-capability.UpdateExemptionCategories.title=Aggiorna categorie di esclusione
-capability.MapClassificationGuideMetadata.title=Esegui mapping dei metadati delle guide di classificazione
-capability.CreateModifyDestroyTimeframes.title=Crea, modifica, elimina definitivamente gli intervalli di tempo
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_ja.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_ja.properties
deleted file mode 100644
index 6fc51c1f4b..0000000000
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_ja.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-# Classified Records Capabilities
-capability.group.classifiedRecords.title=\u5206\u985e\u6e08\u307f\u30ec\u30b3\u30fc\u30c9
-capability.UpdateClassificationDates.title=\u5206\u985e\u65e5\u306e\u66f4\u65b0
-capability.CreateModifyDestroyClassificationGuides.title=\u5206\u985e\u30ac\u30a4\u30c9\u306e\u4f5c\u6210/\u4fee\u6b63/\u7834\u68c4
-capability.UpgradeDowngradeAndDeclassifyRecords.title=\u30ec\u30b3\u30fc\u30c9\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9/\u30c0\u30a6\u30f3\u30b0\u30ec\u30fc\u30c9/\u5206\u985e\u89e3\u9664
-capability.UpdateExemptionCategories.title=\u9069\u7528\u9664\u5916\u30ab\u30c6\u30b4\u30ea\u306e\u66f4\u65b0
-capability.MapClassificationGuideMetadata.title=\u5206\u985e\u30ac\u30a4\u30c9\u30e1\u30bf\u30c7\u30fc\u30bf\u306e\u30de\u30c3\u30d7
-capability.CreateModifyDestroyTimeframes.title=\u6642\u9593\u67a0\u306e\u4f5c\u6210/\u4fee\u6b63/\u7834\u68c4
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/log4j.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/log4j.properties
index 232fb9847f..baf53dd4bf 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/log4j.properties
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/log4j.properties
@@ -4,11 +4,6 @@
log4j.logger.org.alfresco.module.org_alfresco_module_rm.caveat=warn
log4j.logger.org.alfresco.module.org_alfresco_module_rm.security.RMMethodSecurityPostProcessor=warn
-#
-# Module patches
-#
-log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info
-
#
# RM permission debug
#
@@ -24,5 +19,10 @@ log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info
#
# Behaviour debug
#
-log4j.logger.org.alfresco.repo.policy.annotation.AnnotatedBehaviourPostProcessor=debug
-log4j.logger.org.alfresco.module.org_alfresco_module_rm.behaviour.BaseBehaviourBean=debug
\ No newline at end of file
+log4j.logger.org.alfresco.repo.policy.annotation.AnnotatedBehaviourPostProcessor=info
+log4j.logger.org.alfresco.module.org_alfresco_module_rm.behaviour.BaseBehaviourBean=info
+
+#
+# Patch debug
+#
+log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/records-model.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/records-model.properties
index 71dcabdf8e..c4a8f6abc7 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/records-model.properties
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/records-model.properties
@@ -160,6 +160,22 @@ rma_recordsmanagement.aspect.rma_record.title=Record
rma_recordsmanagement.aspect.rma_record.decription=Record
rma_recordsmanagement.property.rma_dateFiled.title=Date Filed
rma_recordsmanagement.property.rma_dateFiled.decription=Date Filed
+rma_recordsmanagement.property.rma_publicationDate.title=Publication Date
+rma_recordsmanagement.property.rma_publicationDate.decription=Publication Date
+rma_recordsmanagement.property.rma_originator.title=Originator
+rma_recordsmanagement.property.rma_originator.decription=Originator
+rma_recordsmanagement.property.rma_originatingOrganization.title=Originating Organization
+rma_recordsmanagement.property.rma_originatingOrganization.decription=Originating Organization
+rma_recordsmanagement.property.rma_mediaType.title=Media Type
+rma_recordsmanagement.property.rma_mediaType.decription=Media Type
+rma_recordsmanagement.property.rma_format.title=Format
+rma_recordsmanagement.property.rma_format.decription=Format
+rma_recordsmanagement.property.rma_dateReceived.title=Date Received
+rma_recordsmanagement.property.rma_dateReceived.decription=Date Received
+rma_recordsmanagement.property.rma_address.title=Addressee
+rma_recordsmanagement.property.rma_address.decription=Addressee
+rma_recordsmanagement.property.rma_otherAddress.title=Other Addressee
+rma_recordsmanagement.property.rma_otherAddress.decription=Other Addressee
rma_recordsmanagement.property.rma_origionalName=Original Name
rma_recordsmanagement.aspect.rma_recordMetaData.title=Record Meta-data
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml
index 21c6b126e4..f1506022ac 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml
@@ -610,7 +610,6 @@
-
Records Management Root
@@ -733,7 +732,88 @@
Original Name
d:text
true
-
+
+
+
+ Publication Date
+ d:date
+ true
+
+
+
+ Originator
+ d:text
+ true
+
+ true
+ false
+ false
+
+
+
+
+ Originating Organization
+ d:text
+ true
+
+ true
+ false
+ false
+
+
+
+
+ Media Type
+ d:text
+ false
+
+ true
+ false
+ false
+
+
+
+
+ Format
+ d:text
+ false
+
+ true
+ false
+ false
+
+
+
+
+ Date Received
+ d:date
+ false
+
+
+
+
+ Addressee
+ d:text
+ false
+
+ true
+ false
+ false
+
+
+
+ Other Addressee
+ d:text
+ false
+
+ true
+ false
+ false
+
+
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml
index ef3ba4d3ca..d2597c510e 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml
@@ -24,6 +24,7 @@
+
@@ -86,7 +87,7 @@
-
+
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/module-schema.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/module-schema.properties
new file mode 100755
index 0000000000..dc4bce14b5
--- /dev/null
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/module-schema.properties
@@ -0,0 +1,6 @@
+#
+# Alfresco Records Management Module Schema Version
+#
+# @since 2.2
+#
+org_alfresco_module_rm.schema=1000
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-context.xml
new file mode 100644
index 0000000000..ba47c77f86
--- /dev/null
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-context.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v20-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v20-context.xml
new file mode 100644
index 0000000000..863cc68bac
--- /dev/null
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v20-context.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-patch-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v21-context.xml
similarity index 52%
rename from rm-server/config/alfresco/module/org_alfresco_module_rm/rm-patch-context.xml
rename to rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v21-context.xml
index e64be41bde..65930dcf9a 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-patch-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v21-context.xml
@@ -3,84 +3,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ class="org.alfresco.module.org_alfresco_module_rm.patch.v21.NotificationTemplatePatch_v21">
@@ -98,7 +25,7 @@
+ class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21InPlacePatch">
@@ -113,20 +40,23 @@
+ parent="rm.baseModulePatch"
+ class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21CapabilityPatch">
+
+
+
-
+ class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21RMAdminUserPatch">
-
+
@@ -139,7 +69,7 @@
+ class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21RecordInheritancePatch">
@@ -154,7 +84,7 @@
+ class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21RolesPatch">
@@ -167,7 +97,7 @@
+ class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21ReportServicePatch">
@@ -179,7 +109,7 @@
+ class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21BehaviorScriptsPatch">
@@ -188,34 +118,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v22-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v22-context.xml
new file mode 100644
index 0000000000..9962527d11
--- /dev/null
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v22-context.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml
old mode 100644
new mode 100755
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-disposition-properties-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-disposition-properties-context.xml
index b83ba6243b..c16bd5567d 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-disposition-properties-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-disposition-properties-context.xml
@@ -33,8 +33,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rm-server/config/readme.txt b/rm-server/config/readme.txt
new file mode 100644
index 0000000000..4659be670f
--- /dev/null
+++ b/rm-server/config/readme.txt
@@ -0,0 +1 @@
+Files in this directory will be added to the amp.
\ No newline at end of file
diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CannotApplyConstraintMetadataException.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CannotApplyConstraintMetadataException.java
index 5550b8f4ae..163c50e5d6 100644
--- a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CannotApplyConstraintMetadataException.java
+++ b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CannotApplyConstraintMetadataException.java
@@ -1,36 +1,36 @@
-/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.module.org_alfresco_module_rm;
-
-import org.alfresco.service.namespace.QName;
-import org.springframework.extensions.surf.util.I18NUtil;
-
-/**
- * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.CannotApplyConstraintMetadataException}
- */
-public class CannotApplyConstraintMetadataException extends CustomMetadataException
-{
- private static final long serialVersionUID = -6194867814140009959L;
- public static final String MSG_CANNOT_APPLY_CONSTRAINT = "rm.admin.cannot-apply-constraint";
-
- public CannotApplyConstraintMetadataException(QName lovConstraint, String propIdAsString, QName dataType)
- {
- super(I18NUtil.getMessage(CannotApplyConstraintMetadataException.MSG_CANNOT_APPLY_CONSTRAINT, lovConstraint, propIdAsString, dataType));
- }
-}
+/*
+ * Copyright (C) 2005-2011 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm;
+
+import org.alfresco.service.namespace.QName;
+import org.springframework.extensions.surf.util.I18NUtil;
+
+/**
+ * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.CannotApplyConstraintMetadataException}
+ */
+public class CannotApplyConstraintMetadataException extends CustomMetadataException
+{
+ private static final long serialVersionUID = -6194867814140009959L;
+ public static final String MSG_CANNOT_APPLY_CONSTRAINT = "rm.admin.cannot-apply-constraint";
+
+ public CannotApplyConstraintMetadataException(QName lovConstraint, String propIdAsString, QName dataType)
+ {
+ super(I18NUtil.getMessage(CannotApplyConstraintMetadataException.MSG_CANNOT_APPLY_CONSTRAINT, lovConstraint, propIdAsString, dataType));
+ }
+}
diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CustomMetadataException.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CustomMetadataException.java
index ac98c5467c..6b360ef97a 100644
--- a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CustomMetadataException.java
+++ b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CustomMetadataException.java
@@ -1,32 +1,32 @@
-/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.module.org_alfresco_module_rm;
-
-/**
- * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.CustomMetadataException}
- */
-public abstract class CustomMetadataException extends Exception
-{
- private static final long serialVersionUID = -6676112294794381360L;
-
- public CustomMetadataException(String msg)
- {
- super(msg);
- }
-}
+/*
+ * Copyright (C) 2005-2011 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm;
+
+/**
+ * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.CustomMetadataException}
+ */
+public abstract class CustomMetadataException extends Exception
+{
+ private static final long serialVersionUID = -6676112294794381360L;
+
+ public CustomMetadataException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/InvalidCustomAspectMetadataException.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/InvalidCustomAspectMetadataException.java
index f468610476..6ffe9b7bbd 100644
--- a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/InvalidCustomAspectMetadataException.java
+++ b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/InvalidCustomAspectMetadataException.java
@@ -1,36 +1,36 @@
-/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.module.org_alfresco_module_rm;
-
-import org.alfresco.service.namespace.QName;
-import org.springframework.extensions.surf.util.I18NUtil;
-
-/**
- * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.InvalidCustomAspectMetadataException}
- */
-public class InvalidCustomAspectMetadataException extends CustomMetadataException
-{
- private static final long serialVersionUID = -6194867814140009959L;
- public static final String MSG_INVALID_CUSTOM_ASPECT = "rm.admin.invalid-custom-aspect";
-
- public InvalidCustomAspectMetadataException(QName customAspect, String aspectName)
- {
- super(I18NUtil.getMessage(MSG_INVALID_CUSTOM_ASPECT, customAspect, aspectName));
- }
-}
+/*
+ * Copyright (C) 2005-2011 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm;
+
+import org.alfresco.service.namespace.QName;
+import org.springframework.extensions.surf.util.I18NUtil;
+
+/**
+ * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.InvalidCustomAspectMetadataException}
+ */
+public class InvalidCustomAspectMetadataException extends CustomMetadataException
+{
+ private static final long serialVersionUID = -6194867814140009959L;
+ public static final String MSG_INVALID_CUSTOM_ASPECT = "rm.admin.invalid-custom-aspect";
+
+ public InvalidCustomAspectMetadataException(QName customAspect, String aspectName)
+ {
+ super(I18NUtil.getMessage(MSG_INVALID_CUSTOM_ASPECT, customAspect, aspectName));
+ }
+}
diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/NotCustomisableMetadataException.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/NotCustomisableMetadataException.java
index 75e35e4fce..dff3eb4e7e 100644
--- a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/NotCustomisableMetadataException.java
+++ b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/NotCustomisableMetadataException.java
@@ -1,35 +1,35 @@
-/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.module.org_alfresco_module_rm;
-
-import org.springframework.extensions.surf.util.I18NUtil;
-
-/**
- * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.NotCustomisableMetadataException}
- */
-public class NotCustomisableMetadataException extends CustomMetadataException
-{
- private static final long serialVersionUID = -6194867814140009959L;
- public static final String MSG_NOT_CUSTOMISABLE = "rm.admin.not-customisable";
-
- public NotCustomisableMetadataException(String aspectName)
- {
- super(I18NUtil.getMessage(MSG_NOT_CUSTOMISABLE, aspectName));
- }
-}
+/*
+ * Copyright (C) 2005-2011 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm;
+
+import org.springframework.extensions.surf.util.I18NUtil;
+
+/**
+ * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.NotCustomisableMetadataException}
+ */
+public class NotCustomisableMetadataException extends CustomMetadataException
+{
+ private static final long serialVersionUID = -6194867814140009959L;
+ public static final String MSG_NOT_CUSTOMISABLE = "rm.admin.not-customisable";
+
+ public NotCustomisableMetadataException(String aspectName)
+ {
+ super(I18NUtil.getMessage(MSG_NOT_CUSTOMISABLE, aspectName));
+ }
+}
diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/PropertyAlreadyExistsMetadataException.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/PropertyAlreadyExistsMetadataException.java
index 292b8029a4..e902e2cc0a 100644
--- a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/PropertyAlreadyExistsMetadataException.java
+++ b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/PropertyAlreadyExistsMetadataException.java
@@ -1,36 +1,36 @@
-/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.module.org_alfresco_module_rm;
-
-import org.springframework.extensions.surf.util.I18NUtil;
-
-/**
- * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.PropertyAlreadyExistsMetadataException}
- */
-public class PropertyAlreadyExistsMetadataException extends CustomMetadataException
-{
- private static final long serialVersionUID = -6194867814140009959L;
-
- public static final String MSG_PROPERTY_ALREADY_EXISTS = "rm.admin.property-already-exists";
-
- public PropertyAlreadyExistsMetadataException(String propIdAsString)
- {
- super(I18NUtil.getMessage(MSG_PROPERTY_ALREADY_EXISTS, propIdAsString));
- }
-}
+/*
+ * Copyright (C) 2005-2011 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm;
+
+import org.springframework.extensions.surf.util.I18NUtil;
+
+/**
+ * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.PropertyAlreadyExistsMetadataException}
+ */
+public class PropertyAlreadyExistsMetadataException extends CustomMetadataException
+{
+ private static final long serialVersionUID = -6194867814140009959L;
+
+ public static final String MSG_PROPERTY_ALREADY_EXISTS = "rm.admin.property-already-exists";
+
+ public PropertyAlreadyExistsMetadataException(String propIdAsString)
+ {
+ super(I18NUtil.getMessage(MSG_PROPERTY_ALREADY_EXISTS, propIdAsString));
+ }
+}
diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceDeprecated.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceDeprecated.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/AuditableActionExecuterAbstractBase.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/AuditableActionExecuterAbstractBase.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/constraint/ManualEventParameterConstraint.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/constraint/ManualEventParameterConstraint.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/ExecuteScriptAction.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/ExecuteScriptAction.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreateObjectAuditEvent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreateObjectAuditEvent.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreatePersonAuditEvent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreatePersonAuditEvent.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/DeleteObjectAuditEvent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/DeleteObjectAuditEvent.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/UpdateObjectAuditEvent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/UpdateObjectAuditEvent.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/bootstrap/BootstrapImporterModuleComponent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/bootstrap/BootstrapImporterModuleComponent.java
index 3df844e692..4549f7edd8 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/bootstrap/BootstrapImporterModuleComponent.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/bootstrap/BootstrapImporterModuleComponent.java
@@ -18,6 +18,7 @@
*/
package org.alfresco.module.org_alfresco_module_rm.bootstrap;
+import org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchExecuter;
import org.alfresco.repo.module.ImporterModuleComponent;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
@@ -31,15 +32,31 @@ import org.alfresco.service.cmr.repository.StoreRef;
*/
public class BootstrapImporterModuleComponent extends ImporterModuleComponent
{
+ /** root config nore id */
private static final String CONFIG_NODEID = "rm_config_folder";
+ /** node service */
private NodeService nodeService;
+ /** module patch executer */
+ private ModulePatchExecuter modulePatchExecuter;
+
+ /**
+ * @param nodeService node service
+ */
public void setNodeService(NodeService nodeService)
{
this.nodeService = nodeService;
}
+ /**
+ * @param modulePatchExecuter module patch executer
+ */
+ public void setModulePatchExecuter(ModulePatchExecuter modulePatchExecuter)
+ {
+ this.modulePatchExecuter = modulePatchExecuter;
+ }
+
/**
* Need to check whether this module has already been executed.
*
@@ -53,7 +70,13 @@ public class BootstrapImporterModuleComponent extends ImporterModuleComponent
NodeRef nodeRef = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, CONFIG_NODEID);
if (nodeService.exists(nodeRef) == false)
{
+ // execute internal
super.executeInternal();
+
+ System.out.println("Initialising schema version from config value");
+
+ // initialise the schema version (based on current configured value)
+ modulePatchExecuter.initSchemaVersion();
}
}
catch (Throwable exception)
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/CompositeCapability.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/CompositeCapability.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/DOD5015Model.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/DOD5015Model.java
index 454ead7431..1562e72f96 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/DOD5015Model.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/DOD5015Model.java
@@ -32,16 +32,7 @@ public interface DOD5015Model
public static final String DOD_URI = "http://www.alfresco.org/model/dod5015/1.0";
public static final String DOD_PREFIX = "dod";
- // DOD Record
-
- public static final QName ASPECT_DOD_5015_RECORD = QName.createQName(DOD_URI, "dod5015record");
- public static final QName PROP_ORIGINATOR = QName.createQName(DOD_URI, "originator");
- public static final QName PROP_ORIGINATING_ORGANIZATION = QName.createQName(DOD_URI, "originatingOrganization");
- public static final QName PROP_PUBLICATION_DATE = QName.createQName(DOD_URI, "publicationDate");
- public static final QName PROP_MEDIA_TYPE = QName.createQName(DOD_URI, "mediaType");
- public static final QName PROP_FORMAT = QName.createQName(DOD_URI, "format");
- public static final QName PROP_DATE_RECEIVED = QName.createQName(DOD_URI, "dateReceived");
-
+ // DOD 5015 Custom Type aspects and their properties
// Scanned Record
public static final QName ASPECT_SCANNED_RECORD = QName.createQName(DOD_URI, "scannedRecord");
public static final QName PROP_SCANNED_FORMAT = QName.createQName(DOD_URI, "scannedFormat");
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/model/dod/aspect/DOD5015RecordAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/model/dod/aspect/DOD5015RecordAspect.java
deleted file mode 100644
index 9cc6235fbf..0000000000
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/model/dod/aspect/DOD5015RecordAspect.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.module.org_alfresco_module_rm.dod5015.model.dod.aspect;
-
-import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model;
-import org.alfresco.module.org_alfresco_module_rm.model.BaseBehaviourBean;
-import org.alfresco.repo.node.NodeServicePolicies;
-import org.alfresco.repo.policy.Behaviour.NotificationFrequency;
-import org.alfresco.repo.policy.annotation.Behaviour;
-import org.alfresco.repo.policy.annotation.BehaviourBean;
-import org.alfresco.repo.policy.annotation.BehaviourKind;
-import org.alfresco.service.cmr.repository.NodeRef;
-import org.alfresco.service.namespace.QName;
-
-/**
- * dod:dod5015record behaviour bean
- *
- * @author Roy Wetherall
- * @since 2.2
- */
-@BehaviourBean
-public class DOD5015RecordAspect extends BaseBehaviourBean
- implements NodeServicePolicies.OnAddAspectPolicy,
- DOD5015Model
-{
- /**
- * Ensure that the DOD record aspect meta-data is applied.
- *
- * @see org.alfresco.repo.node.NodeServicePolicies.OnAddAspectPolicy#onAddAspect(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.namespace.QName)
- */
- @Behaviour
- (
- kind=BehaviourKind.CLASS,
- type="rma:record",
- notificationFrequency = NotificationFrequency.FIRST_EVENT
- )
- @Override
- public void onAddAspect(NodeRef nodeRef, QName aspect)
- {
- if (nodeService.exists(nodeRef) == true &&
- nodeService.hasAspect(nodeRef, ASPECT_DOD_5015_RECORD) == false)
- {
- nodeService.addAspect(nodeRef, ASPECT_DOD_5015_RECORD, null);
- }
- }
-
-}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java
index 0c39199086..2ab354fc31 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java
@@ -426,7 +426,8 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
ParameterCheck.mandatory("filePlan", filePlan);
if (isFilePlan(filePlan) == false)
{
- throw new AlfrescoRuntimeException("Unable to get the container " + containerName + ", because passed node is not a file plan.");
+ throw new AlfrescoRuntimeException("Unable to get the container " + containerName +
+ ", because passed node is not a file plan. (type=" + nodeService.getType(filePlan).toString() + ")");
}
NodeRef result = null;
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementFormFilter.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementFormFilter.java
index 99d285277b..733da7320d 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementFormFilter.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementFormFilter.java
@@ -124,7 +124,7 @@ public abstract class RecordsManagementFormFilter extends AbstractFilt
* @param props
* @param setId
*/
- protected void addPropertyFieldsToGroup(Form form, Map props, String setId, String setLabel)
+ protected void addPropertyFieldsToGroup(Form form, Map props, String setId)
{
if (props != null)
{
@@ -137,7 +137,7 @@ public abstract class RecordsManagementFormFilter extends AbstractFilt
NodeRef nodeRef = new NodeRef(id);
Serializable value = nodeService.getProperty(nodeRef, entry.getKey());
- FieldGroup group = new FieldGroup(setId, setLabel, false, false, null);
+ FieldGroup group = new FieldGroup(setId, null, false, false, null);
Field field = FieldUtils.makePropertyField(prop, value, group, namespaceService, dictionaryService);
form.addField(field);
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java
index d0b740615f..21ad07f4ca 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java
@@ -39,9 +39,7 @@ import org.alfresco.repo.forms.Form;
import org.alfresco.repo.forms.PropertyFieldDefinition;
import org.alfresco.repo.forms.processor.node.FieldUtils;
import org.alfresco.repo.forms.processor.node.FormFieldConstants;
-import org.alfresco.repo.i18n.StaticMessageLookup;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
-import org.alfresco.service.cmr.dictionary.AspectDefinition;
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
import org.alfresco.service.cmr.dictionary.PropertyDefinition;
import org.alfresco.service.cmr.repository.NodeRef;
@@ -171,7 +169,7 @@ public class RecordsManagementNodeFormFilter extends RecordsManagementFormFilter
for (QName customisable : customisables)
{
- addPropertyFieldsToGroup(form, rmAdminService.getCustomPropertyDefinitions(customisable), CUSTOM_RM_FIELD_GROUP_ID, null);
+ addPropertyFieldsToGroup(form, rmAdminService.getCustomPropertyDefinitions(customisable), CUSTOM_RM_FIELD_GROUP_ID);
}
}
@@ -190,15 +188,7 @@ public class RecordsManagementNodeFormFilter extends RecordsManagementFormFilter
{
String aspectName = aspect.getPrefixedQName(namespaceService).toPrefixString().replace(":", "-");
String setId = RM_METADATA_PREFIX + aspectName;
-
- String setLabel = null;
- AspectDefinition aspectDefinition = dictionaryService.getAspect(aspect);
- if (aspectDefinition != null)
- {
- setLabel = aspectDefinition.getTitle(new StaticMessageLookup());
- }
-
- addPropertyFieldsToGroup(form, dictionaryService.getPropertyDefs(aspect), setId, setLabel);
+ addPropertyFieldsToGroup(form, dictionaryService.getPropertyDefs(aspect), setId);
}
}
}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java
index 44e39bea27..b6e560e244 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java
@@ -100,12 +100,12 @@ public interface RecordsManagementModel extends RecordsManagementCustomModel
public static final QName ASPECT_RECORD = QName.createQName(RM_URI, "record");
public static final QName PROP_DATE_FILED = QName.createQName(RM_URI, "dateFiled");
public static final QName PROP_ORIGIONAL_NAME = QName.createQName(RM_URI, "origionalName");
- // public static final QName PROP_ORIGINATOR = QName.createQName(RM_URI, "originator");
- // public static final QName PROP_ORIGINATING_ORGANIZATION = QName.createQName(RM_URI, "originatingOrganization");
- // public static final QName PROP_PUBLICATION_DATE = QName.createQName(RM_URI, "publicationDate");
- // public static final QName PROP_MEDIA_TYPE = QName.createQName(RM_URI, "mediaType");
- // public static final QName PROP_FORMAT = QName.createQName(RM_URI, "format");
- // public static final QName PROP_DATE_RECEIVED = QName.createQName(RM_URI, "dateReceived");
+ public static final QName PROP_ORIGINATOR = QName.createQName(RM_URI, "originator");
+ public static final QName PROP_ORIGINATING_ORGANIZATION = QName.createQName(RM_URI, "originatingOrganization");
+ public static final QName PROP_PUBLICATION_DATE = QName.createQName(RM_URI, "publicationDate");
+ public static final QName PROP_MEDIA_TYPE = QName.createQName(RM_URI, "mediaType");
+ public static final QName PROP_FORMAT = QName.createQName(RM_URI, "format");
+ public static final QName PROP_DATE_RECEIVED = QName.createQName(RM_URI, "dateReceived");
// Common record details
public static final QName PROP_LOCATION = QName.createQName(RM_URI, "location");
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/DispositionLifecycleAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/DispositionLifecycleAspect.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/GhostedAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/GhostedAspect.java
index 977f95ee44..cc7aa4bbb2 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/GhostedAspect.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/GhostedAspect.java
@@ -21,7 +21,6 @@ package org.alfresco.module.org_alfresco_module_rm.model.rma.aspect;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.module.org_alfresco_module_rm.model.BaseBehaviourBean;
import org.alfresco.repo.content.ContentServicePolicies;
-import org.alfresco.repo.policy.Behaviour.NotificationFrequency;
import org.alfresco.repo.policy.annotation.Behaviour;
import org.alfresco.repo.policy.annotation.BehaviourBean;
import org.alfresco.repo.policy.annotation.BehaviourKind;
@@ -34,9 +33,9 @@ import org.springframework.extensions.surf.util.I18NUtil;
* @author Roy Wetherall
* @since 2.2
*/
-@BehaviourBean
+@BehaviourBean
(
- defaultType = "rma:ghosted" // optional
+ defaultType = "rma:ghosted"
)
public class GhostedAspect extends BaseBehaviourBean
implements ContentServicePolicies.OnContentUpdatePolicy
@@ -48,18 +47,11 @@ public class GhostedAspect extends BaseBehaviourBean
* Ensure that the content of a ghosted node can not be updated.
*
* @see org.alfresco.repo.content.ContentServicePolicies.OnContentUpdatePolicy#onContentUpdate(org.alfresco.service.cmr.repository.NodeRef, boolean)
- */
+ */
@Override
@Behaviour
(
- kind = BehaviourKind.CLASS, // required, use ASSOC for association behaviors
- notificationFrequency = NotificationFrequency.EVERY_EVENT, // (defaults to EVERY_EVENT)
- policy = "alf:onContentUpdate", // (defaults to alf:)
- type = "rma:ghosted" // required, unless defaultType set
-
- // isService (default false)
- // name (only needs to specified if associated behvaiour object needs to be accessed)
- // assocType (defaults to cm:contains, used with BehaviourKind.ASSOC)
+ kind = BehaviourKind.CLASS
)
public void onContentUpdate(NodeRef Content, boolean bNew)
{
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordSearchAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordSearchAspect.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/VitalRecordAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/VitalRecordAspect.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordFolderType.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordFolderType.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/AbstractModulePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/AbstractModulePatch.java
new file mode 100755
index 0000000000..097c3ebba2
--- /dev/null
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/AbstractModulePatch.java
@@ -0,0 +1,260 @@
+/*
+ * Copyright (C) 2005-2014 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm.patch;
+
+import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
+import org.alfresco.service.transaction.TransactionService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.BeanNameAware;
+
+/**
+ * Abstract module patch implementation.
+ *
+ * @author Roy Wetherall
+ * @since 2.2
+ */
+public abstract class AbstractModulePatch implements ModulePatch, BeanNameAware
+{
+ /** logger */
+ protected static Log logger = LogFactory.getLog(ModulePatch.class);
+
+ /** module patch service */
+ private ModulePatchExecuter modulePatchExecuter;
+
+ /** transaction service */
+ protected TransactionService transactionService;
+
+ /** module patch id */
+ private String id;
+
+ /** module patch description */
+ private String description;
+
+ /** module id */
+ private String moduleId;
+
+ /** module patch fixes from module schema number */
+ private int fixesFromSchema;
+
+ /** module patch fixes to module schema number */
+ private int fixesToSchema;
+
+ /** module patch target module schema number */
+ private int targetSchema;
+
+ /**
+ * Initiialisation method
+ */
+ public void init()
+ {
+ modulePatchExecuter.register(this);
+ }
+
+ /**
+ * @param modulePatchExecuter module patch executer
+ */
+ public void setModulePatchExecuter(ModulePatchExecuter modulePatchExecuter)
+ {
+ this.modulePatchExecuter = modulePatchExecuter;
+ }
+
+ /**
+ * @param transactionService transaction service
+ */
+ public void setTransactionService(TransactionService transactionService)
+ {
+ this.transactionService = transactionService;
+ }
+
+ /**
+ * @param id module patch id
+ */
+ public void setId(String id)
+ {
+ this.id = id;
+ }
+
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getId()
+ */
+ @Override
+ public String getId()
+ {
+ return id;
+ }
+
+ /**
+ * Convenience method to set the module patch id to the bean name (if not already specified)
+ */
+ @Override
+ public void setBeanName(String beanName)
+ {
+ if (id == null)
+ {
+ id = beanName;
+ }
+ }
+
+ /**
+ * @param description module patch description
+ */
+ public void setDescription(String description)
+ {
+ this.description = description;
+ }
+
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getDescription()
+ */
+ @Override
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * @param moduleId module id
+ */
+ public void setModuleId(String moduleId)
+ {
+ this.moduleId = moduleId;
+ }
+
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getModuleId()
+ */
+ @Override
+ public String getModuleId()
+ {
+ return moduleId;
+ }
+
+ public void setFixesFromSchema(int fixesFromSchema)
+ {
+ this.fixesFromSchema = fixesFromSchema;
+ }
+
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getFixesFromSchema()
+ */
+ @Override
+ public int getFixesFromSchema()
+ {
+ return fixesFromSchema;
+ }
+
+ public void setFixesToSchema(int fixesToSchema)
+ {
+ this.fixesToSchema = fixesToSchema;
+ }
+
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getFixesToSchema()
+ */
+ @Override
+ public int getFixesToSchema()
+ {
+ return fixesToSchema;
+ }
+
+ public void setTargetSchema(int targetSchema)
+ {
+ this.targetSchema = targetSchema;
+ }
+
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getTargetSchema()
+ */
+ @Override
+ public int getTargetSchema()
+ {
+ return targetSchema;
+ }
+
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#apply()
+ */
+ @Override
+ public void apply()
+ {
+ if (logger.isInfoEnabled() == true)
+ {
+ logger.info("Executing module patch \"" + description + "\"");
+ }
+ if (logger.isDebugEnabled() == true)
+ {
+ logger.debug(" ... id=" + id +
+ ",moduleId=" + moduleId +
+ ",from=" + fixesFromSchema +
+ ",to=" + fixesToSchema +
+ ",target=" + targetSchema);
+ }
+
+ transactionService.getRetryingTransactionHelper().doInTransaction(
+ new ApplyCallback(),
+ true,
+ false);
+
+ if (logger.isDebugEnabled() == true)
+ {
+ logger.debug(" ... module patch applied");
+ }
+ }
+
+ /**
+ * Apply patch internal method. Implementations can assume a transaction has
+ * been started.
+ */
+ public abstract void applyInternal();
+
+ /**
+ * Apply callback worker class implementation
+ */
+ private class ApplyCallback implements RetryingTransactionCallback
+ {
+ /**
+ * @see org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback#execute()
+ */
+ @Override
+ public Void execute() throws Throwable
+ {
+ applyInternal();
+ return null;
+ }
+ }
+
+ /**
+ * @see java.lang.Comparable#compareTo(java.lang.Object)
+ */
+ @Override
+ public int compareTo(ModulePatch o)
+ {
+ int result = 0;
+ if (getTargetSchema() < o.getTargetSchema())
+ {
+ result = -1;
+ }
+ else if (getTargetSchema() > o.getTargetSchema())
+ {
+ result = 1;
+ }
+ return result;
+ }
+}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatch.java
new file mode 100755
index 0000000000..4c0bc086d6
--- /dev/null
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatch.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2005-2014 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm.patch;
+
+/**
+ * Module Patch Interface
+ *
+ * @author Roy Wetherall
+ * @since 2.2
+ */
+public interface ModulePatch extends Comparable
+{
+ /**
+ * @return module patch id
+ */
+ String getId();
+
+ /**
+ * @return module patch description
+ */
+ String getDescription();
+
+ /**
+ * @return module id this patch applies to
+ */
+ String getModuleId();
+
+ /**
+ * @return smallest module schema number that this patch may be applied to
+ */
+ int getFixesFromSchema();
+
+ /**
+ * @return largest module schema number that this patch may be applied to
+ */
+ int getFixesToSchema();
+
+ /**
+ * @return module schema number that this patch attempts to bring the repo up to
+ */
+ int getTargetSchema();
+
+ /**
+ * Apply the module patch
+ */
+ void apply();
+
+}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuter.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuter.java
new file mode 100755
index 0000000000..670c4df3fc
--- /dev/null
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuter.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2005-2015 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm.patch;
+
+/**
+ * Module patch service interface
+ *
+ * @author Roy Wetherall
+ * @since 2.2
+ */
+public interface ModulePatchExecuter
+{
+ /**
+ * Register module patch with the module patch executer
+ *
+ * @param modulePatch module patch
+ */
+ void register(ModulePatch modulePatch);
+
+ /**
+ * Init the schema version number
+ */
+ void initSchemaVersion();
+}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuterImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuterImpl.java
new file mode 100755
index 0000000000..0f9d048472
--- /dev/null
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuterImpl.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (C) 2005-2014 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm.patch;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.alfresco.error.AlfrescoRuntimeException;
+import org.alfresco.repo.module.AbstractModuleComponent;
+import org.alfresco.service.cmr.attributes.AttributeService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Module patch executer base implementation
+ *
+ * @author Roy Wetherall
+ * @since 2.2
+ */
+public class ModulePatchExecuterImpl extends AbstractModuleComponent
+ implements ModulePatchExecuter
+{
+ /** logger */
+ protected static Log logger = LogFactory.getLog(ModulePatchExecuterImpl.class);
+
+ /** default start schema */
+ private static final int START_SCHEMA = 0;
+
+ /** attribute key */
+ private static final String KEY_MODULE_SCHEMA = "module-schema";
+
+ /** configured module schema version */
+ protected int moduleSchema = START_SCHEMA;
+
+ /** attribute service */
+ protected AttributeService attributeService;
+
+ /** module patches */
+ protected Map modulePatches = new HashMap(21);
+
+ /**
+ * @param attributeService attribute service
+ */
+ public void setAttributeService(AttributeService attributeService)
+ {
+ this.attributeService = attributeService;
+ }
+
+ /**
+ * @param moduleSchema configured module schema version
+ */
+ public void setModuleSchema(int moduleSchema)
+ {
+ this.moduleSchema = moduleSchema;
+ }
+
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchExecuter#register(org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch)
+ */
+ @Override
+ public void register(ModulePatch modulePatch)
+ {
+ // ensure that the module patch being registered relates to the module id
+ if (getModuleId().equals(modulePatch.getModuleId()) == false)
+ {
+ throw new AlfrescoRuntimeException("Unable to register module patch, becuase module id is invalid.");
+ }
+
+ if (logger.isDebugEnabled() == true)
+ {
+ logger.debug("Registering module patch " + modulePatch.getId() + " for module " + getModuleId());
+ }
+
+ modulePatches.put(modulePatch.getId(), modulePatch);
+ }
+
+ /**
+ * @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal()
+ */
+ @Override
+ protected void executeInternal() throws Throwable
+ {
+ // get current schema version
+ int currentSchema = getCurrentSchema();
+
+ if (logger.isDebugEnabled() == true)
+ {
+ logger.debug("Running module patch executer (currentSchema=" + currentSchema + ", configuredSchema=" + moduleSchema + ")");
+ }
+
+ if (moduleSchema > currentSchema)
+ {
+ // determine what patches should be applied
+ List patchesToApply = new ArrayList(13);
+ for (ModulePatch modulePatch : modulePatches.values())
+ {
+ if (modulePatch.getFixesFromSchema() <= currentSchema &&
+ modulePatch.getFixesToSchema() >= currentSchema)
+ {
+ patchesToApply.add(modulePatch);
+ }
+ }
+
+ // apply the patches in the correct order
+ Collections.sort(patchesToApply);
+ for (ModulePatch patchToApply : patchesToApply)
+ {
+ patchToApply.apply();
+ }
+
+ // update the schema
+ updateSchema(moduleSchema);
+ }
+ }
+
+ /**
+ * Get the currently recorded schema version for the module
+ *
+ * @return int currently recorded schema version
+ */
+ protected int getCurrentSchema()
+ {
+ Integer result = START_SCHEMA;
+ if (attributeService.exists(KEY_MODULE_SCHEMA, getModuleId()) == true)
+ {
+ result = (Integer)attributeService.getAttribute(KEY_MODULE_SCHEMA, getModuleId());
+ }
+ return result;
+ }
+
+ /**
+ * Update the recorded schema version for the module.
+ *
+ * @param newSchema new schema version
+ */
+ protected void updateSchema(int newSchema)
+ {
+ attributeService.setAttribute(new Integer(newSchema), KEY_MODULE_SCHEMA, getModuleId());
+ }
+
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchExecuter#initSchemaVersion()
+ */
+ @Override
+ public void initSchemaVersion()
+ {
+ updateSchema(moduleSchema);
+ }
+}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22CapabilityPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22CapabilityPatch.java
deleted file mode 100644
index b3316e92c1..0000000000
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22CapabilityPatch.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2005-2013 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.module.org_alfresco_module_rm.patch;
-
-import java.util.Set;
-
-import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
-import org.alfresco.service.cmr.repository.NodeRef;
-
-/**
- * RM v2.2 patch to updated modified capabilities.
- *
- * @author Tuna Aksoy
- * @since 2.2
- */
-public class RMv22CapabilityPatch extends BaseRMCapabilityPatch
-{
- /**
- * @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal()
- */
- @Override
- protected void executePatch() throws Throwable
- {
- Set filePlans = getFilePlans();
-
- if (logger.isDebugEnabled() == true)
- {
- logger.debug(" ... updating " + filePlans.size() + " file plans");
- }
-
- for (NodeRef filePlan : filePlans)
- {
- if (logger.isDebugEnabled() == true)
- {
- logger.debug(" ... updating file plan " + filePlan.toString());
- }
-
- // add new capability
- addCapability(filePlan,
- "FileDestructionReport",
- FilePlanRoleService.ROLE_ADMIN,
- FilePlanRoleService.ROLE_RECORDS_MANAGER);
- }
- }
-}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchComponent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/compatibility/ModulePatchComponent.java
old mode 100644
new mode 100755
similarity index 81%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchComponent.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/compatibility/ModulePatchComponent.java
index cdd04dc257..b9dffa8015
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchComponent.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/compatibility/ModulePatchComponent.java
@@ -16,8 +16,9 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.compatibility;
+import org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchExecuterImpl;
import org.alfresco.repo.module.AbstractModuleComponent;
import org.alfresco.repo.policy.BehaviourFilter;
import org.alfresco.repo.transaction.RetryingTransactionHelper;
@@ -31,6 +32,7 @@ import org.apache.commons.logging.LogFactory;
* @author Roy Wetherall
* @since 2.1
*/
+@Deprecated
public abstract class ModulePatchComponent extends AbstractModuleComponent
{
/** logger */
@@ -42,6 +44,9 @@ public abstract class ModulePatchComponent extends AbstractModuleComponent
/** Behaviour filter */
protected BehaviourFilter behaviourFilter;
+ /** module patch executer */
+ protected ModulePatchExecuterImpl modulePatchExecuter;
+
/**
* @param retryingTransactionHelper retrying transaction helper
*/
@@ -58,6 +63,24 @@ public abstract class ModulePatchComponent extends AbstractModuleComponent
this.behaviourFilter = behaviourFilter;
}
+ /**
+ * @param modulePatchExecuter module patch executer
+ */
+ public void setModulePatchExecuter(ModulePatchExecuterImpl modulePatchExecuter)
+ {
+ this.modulePatchExecuter = modulePatchExecuter;
+ }
+
+ /**
+ * Init method
+ */
+ @Override
+ public void init()
+ {
+ super.init();
+ modulePatchExecuter.getDependsOn().add(this);
+ }
+
/**
* @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal()
*/
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/NotificationTemplatePatch.java
old mode 100644
new mode 100755
similarity index 93%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/NotificationTemplatePatch.java
index 82ee7714c0..74a09160a2
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/NotificationTemplatePatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
+ * Copyright (C) 2005-2014 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v20;
import java.io.InputStream;
import java.io.Serializable;
@@ -25,6 +25,7 @@ import java.util.Map;
import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.notification.RecordsManagementNotificationHelper;
+import org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent;
import org.alfresco.repo.version.VersionModel;
import org.alfresco.service.cmr.audit.AuditService;
import org.alfresco.service.cmr.repository.ContentService;
@@ -39,8 +40,12 @@ import org.alfresco.service.namespace.QName;
import org.springframework.beans.factory.BeanNameAware;
/**
+ * Notification template patch implementation
+ *
* @author Roy Wetherall
+ * @since 2.0
*/
+@SuppressWarnings("deprecation")
public class NotificationTemplatePatch extends ModulePatchComponent
implements BeanNameAware
{
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2FilePlanNodeRefPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2FilePlanNodeRefPatch.java
old mode 100644
new mode 100755
similarity index 94%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2FilePlanNodeRefPatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2FilePlanNodeRefPatch.java
index e3d50124ac..212a2a0947
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2FilePlanNodeRefPatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2FilePlanNodeRefPatch.java
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v20;
import java.io.Serializable;
import java.util.List;
@@ -26,6 +26,7 @@ import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model;
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanComponentKind;
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
+import org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent;
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
import org.alfresco.module.org_alfresco_module_rm.role.Role;
import org.alfresco.repo.domain.node.NodeDAO;
@@ -43,7 +44,9 @@ import org.springframework.beans.factory.BeanNameAware;
* RM v2.0 File Plan Node Ref Patch
*
* @author Roy Wetherall
+ * @since 2.0
*/
+@SuppressWarnings("deprecation")
public class RMv2FilePlanNodeRefPatch extends ModulePatchComponent
implements BeanNameAware, RecordsManagementModel, DOD5015Model
{
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2ModelPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2ModelPatch.java
old mode 100644
new mode 100755
similarity index 93%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2ModelPatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2ModelPatch.java
index f142d9b972..65f22ed719
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2ModelPatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2ModelPatch.java
@@ -16,12 +16,13 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v20;
import java.util.List;
import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
+import org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent;
import org.alfresco.repo.domain.node.NodeDAO;
import org.alfresco.repo.domain.patch.PatchDAO;
import org.alfresco.repo.domain.qname.QNameDAO;
@@ -33,9 +34,10 @@ import org.springframework.beans.factory.BeanNameAware;
/**
* RM v2.0 Model Updates Patch
*
- *
* @author Roy Wetherall
+ * @since 2.0
*/
+@SuppressWarnings("deprecation")
public class RMv2ModelPatch extends ModulePatchComponent
implements BeanNameAware, RecordsManagementModel, DOD5015Model
{
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2SavedSearchPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2SavedSearchPatch.java
similarity index 92%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2SavedSearchPatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2SavedSearchPatch.java
index 1d6cb69455..e97256f02a 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2SavedSearchPatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2SavedSearchPatch.java
@@ -16,13 +16,14 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v20;
import java.util.List;
import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
+import org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent;
import org.alfresco.module.org_alfresco_module_rm.search.RecordsManagementSearchService;
import org.alfresco.module.org_alfresco_module_rm.search.SavedSearchDetails;
import org.alfresco.service.cmr.repository.ContentService;
@@ -34,9 +35,10 @@ import org.springframework.beans.factory.BeanNameAware;
/**
* RM v2.0 Saved Search Patch
*
- *
* @author Roy Wetherall
+ * @since 2.0
*/
+@SuppressWarnings("deprecation")
public class RMv2SavedSearchPatch extends ModulePatchComponent
implements BeanNameAware, RecordsManagementModel, DOD5015Model
{
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch_v21.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/NotificationTemplatePatch_v21.java
similarity index 94%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch_v21.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/NotificationTemplatePatch_v21.java
index d646df8a52..2bd10940a3 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch_v21.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/NotificationTemplatePatch_v21.java
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v21;
import java.io.InputStream;
import java.io.Serializable;
@@ -40,7 +40,7 @@ import org.alfresco.service.namespace.QName;
* @author Tuna Aksoy
* @since 2.1
*/
-public class NotificationTemplatePatch_v21 extends ModulePatchComponent
+public class NotificationTemplatePatch_v21 extends RMv21PatchComponent
{
/** Email template path */
private static final String PATH_REJECTED = "alfresco/module/org_alfresco_module_rm/bootstrap/content/record-rejected-email.ftl";
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21BehaviorScriptsPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21BehaviorScriptsPatch.java
old mode 100644
new mode 100755
similarity index 93%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21BehaviorScriptsPatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21BehaviorScriptsPatch.java
index 77990a6850..ccc17d1444
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21BehaviorScriptsPatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21BehaviorScriptsPatch.java
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v21;
import java.io.Serializable;
import java.util.HashMap;
@@ -44,7 +44,8 @@ import org.springframework.beans.factory.BeanNameAware;
* @author Craig Tan
* @since 2.1
*/
-public class RMv21BehaviorScriptsPatch extends ModulePatchComponent implements BeanNameAware
+@SuppressWarnings("deprecation")
+public class RMv21BehaviorScriptsPatch extends RMv21PatchComponent implements BeanNameAware
{
/** rm config folder root lookup */
protected static final NodeRef RM_CONFIG = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, "rm_config_folder");
@@ -81,7 +82,7 @@ public class RMv21BehaviorScriptsPatch extends ModulePatchComponent implements B
}
/**
- * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchComponent#executePatch()
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent#executePatch()
*/
@Override
protected void executePatch() throws Throwable
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21CapabilityPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21CapabilityPatch.java
similarity index 53%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21CapabilityPatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21CapabilityPatch.java
index 94d01534cf..159b2712aa 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21CapabilityPatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21CapabilityPatch.java
@@ -16,11 +16,16 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v21;
import java.util.Set;
+import org.alfresco.error.AlfrescoRuntimeException;
+import org.alfresco.module.org_alfresco_module_rm.capability.Capability;
+import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService;
+import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
+import org.alfresco.module.org_alfresco_module_rm.role.Role;
import org.alfresco.service.cmr.repository.NodeRef;
/**
@@ -29,8 +34,91 @@ import org.alfresco.service.cmr.repository.NodeRef;
* @author Roy Wetherall
* @since 2.1
*/
-public class RMv21CapabilityPatch extends BaseRMCapabilityPatch
+@SuppressWarnings("deprecation")
+public class RMv21CapabilityPatch extends RMv21PatchComponent
{
+ /** File plan service */
+ private FilePlanService filePlanService;
+
+ /** File plan role service */
+ private FilePlanRoleService filePlanRoleService;
+
+ /** Capability service */
+ private CapabilityService capabilityService;
+
+ /**
+ * @param filePlanRoleService file plan role service
+ */
+ public void setFilePlanRoleService(FilePlanRoleService filePlanRoleService)
+ {
+ this.filePlanRoleService = filePlanRoleService;
+ }
+
+ /**
+ * @param capabilityService capability service
+ */
+ public void setCapabilityService(CapabilityService capabilityService)
+ {
+ this.capabilityService = capabilityService;
+ }
+
+ /**
+ * @param filePlanService file plan service
+ */
+ public void setFilePlanService(FilePlanService filePlanService)
+ {
+ this.filePlanService = filePlanService;
+ }
+
+ /**
+ * Helper method to get the file plans
+ *
+ * @return Set of file plan node references
+ */
+ protected Set getFilePlans()
+ {
+ return filePlanService.getFilePlans();
+ }
+
+ /**
+ * Adds a new capability to the specified roles.
+ *
+ * @param filePlan file plan
+ * @param capabilityName capability name
+ * @param roles roles
+ */
+ protected void addCapability(NodeRef filePlan, String capabilityName, String ... roles)
+ {
+ Capability capability = capabilityService.getCapability(capabilityName);
+ if (capability == null)
+ {
+ throw new AlfrescoRuntimeException("Unable to bootstrap RMv21 capabilities, because capability " + capabilityName + " does not exist.");
+ }
+
+ for (String roleName : roles)
+ {
+ Role role = filePlanRoleService.getRole(filePlan, roleName);
+
+ if (role != null)
+ {
+ // get the roles current capabilities
+ Set capabilities = role.getCapabilities();
+
+ // only update if the capability is missing
+ if (capabilities.contains(capability) == false)
+ {
+ if (logger.isDebugEnabled() == true)
+ {
+ logger.debug(" ... adding capability " + capabilityName + " to role " + role.getName());
+ }
+
+ capabilities.add(capability);
+ filePlanRoleService.updateRole(filePlan, role.getName(), role.getDisplayLabel(), capabilities);
+ }
+ }
+ }
+ }
+
/**
* @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal()
*/
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21InPlacePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21InPlacePatch.java
old mode 100644
new mode 100755
similarity index 95%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21InPlacePatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21InPlacePatch.java
index 83d3e842c6..7a4ef261c5
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21InPlacePatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21InPlacePatch.java
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v21;
import java.util.HashSet;
import java.util.List;
@@ -47,7 +47,8 @@ import org.springframework.beans.factory.BeanNameAware;
* @author Roy Wetherall
* @since 2.1
*/
-public class RMv21InPlacePatch extends ModulePatchComponent
+@SuppressWarnings("deprecation")
+public class RMv21InPlacePatch extends RMv21PatchComponent
implements BeanNameAware, RecordsManagementModel, DOD5015Model
{
/** Extended reader and writer role details */
@@ -202,7 +203,6 @@ public class RMv21InPlacePatch extends ModulePatchComponent
NodeRef container = filePlanService.getHoldContainer(filePlan);
- @SuppressWarnings("deprecation")
List assocs = nodeService.getChildAssocs(filePlan, ASSOC_HOLDS, RegexQNamePattern.MATCH_ALL);
for (ChildAssociationRef assoc : assocs)
{
@@ -221,7 +221,6 @@ public class RMv21InPlacePatch extends ModulePatchComponent
NodeRef container = filePlanService.getTransferContainer(filePlan);
- @SuppressWarnings("deprecation")
List assocs = nodeService.getChildAssocs(filePlan, ASSOC_TRANSFERS, RegexQNamePattern.MATCH_ALL);
for (ChildAssociationRef assoc : assocs)
{
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21PatchComponent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21PatchComponent.java
new file mode 100644
index 0000000000..a447417f66
--- /dev/null
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21PatchComponent.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2005-2011 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm.patch.v21;
+
+import java.util.List;
+
+import org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent;
+import org.alfresco.repo.module.ModuleComponent;
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+
+/**
+ * Convenience class to ensure all V2.0 patches are executed before v2.1
+ *
+ * @author Roy Wetherall
+ * @since 2.2
+ */
+@SuppressWarnings("deprecation")
+public abstract class RMv21PatchComponent extends ModulePatchComponent
+ implements ApplicationContextAware
+{
+ /** application context */
+ private ApplicationContext applicationContext;
+
+ /**
+ * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
+ */
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
+ {
+ this.applicationContext = applicationContext;
+ }
+
+ /**
+ * init method
+ */
+ @Override
+ public void init()
+ {
+ super.init();
+
+ // manual addition of V20 patch dependencies
+ List depends = getDependsOn();
+ addDependency(depends, "org_alfresco_module_rm_notificationTemplatePatch");
+ addDependency(depends, "org_alfresco_module_rm_RMv2ModelPatch");
+ addDependency(depends, "org_alfresco_module_rm_RMv2FilePlanNodeRefPatch");
+ addDependency(depends, "org_alfresco_module_rm_RMv2SavedSearchPatch");
+ }
+
+ /**
+ * @param depends list of module dependencies
+ * @param beanName bean name
+ */
+ private void addDependency(List depends, String beanName)
+ {
+ ModuleComponent moduleComponent = (ModuleComponent)applicationContext.getBean(beanName);
+ depends.add(moduleComponent);
+ }
+}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2RMAdminUserPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RMAdminUserPatch.java
old mode 100644
new mode 100755
similarity index 94%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2RMAdminUserPatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RMAdminUserPatch.java
index b39867284c..5b4b42e391
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2RMAdminUserPatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RMAdminUserPatch.java
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v21;
import java.io.Serializable;
import java.util.HashMap;
@@ -40,7 +40,8 @@ import org.springframework.extensions.surf.util.I18NUtil;
*
* @author Roy Wetherall
*/
-public class RMv2RMAdminUserPatch extends ModulePatchComponent implements BeanNameAware
+@SuppressWarnings("deprecation")
+public class RMv21RMAdminUserPatch extends RMv21PatchComponent implements BeanNameAware
{
/** I18N */
private static final String MSG_FIRST_NAME = "bootstrap.rmadmin.firstName";
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RecordInheritancePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RecordInheritancePatch.java
old mode 100644
new mode 100755
similarity index 93%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RecordInheritancePatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RecordInheritancePatch.java
index 362780261b..86bf79d8a1
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RecordInheritancePatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RecordInheritancePatch.java
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v21;
import java.util.List;
@@ -39,7 +39,8 @@ import org.springframework.beans.factory.BeanNameAware;
* @author Roy Wetherall
* @since 2.1
*/
-public class RMv21RecordInheritancePatch extends ModulePatchComponent
+@SuppressWarnings("deprecation")
+public class RMv21RecordInheritancePatch extends RMv21PatchComponent
implements BeanNameAware, RecordsManagementModel, DOD5015Model
{
/** file plan permission service */
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21ReportServicePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21ReportServicePatch.java
old mode 100644
new mode 100755
similarity index 94%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21ReportServicePatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21ReportServicePatch.java
index 6c05d61354..f32688a230
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21ReportServicePatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21ReportServicePatch.java
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v21;
import java.io.InputStream;
import java.io.Serializable;
@@ -40,7 +40,8 @@ import org.springframework.beans.factory.BeanNameAware;
* @author Roy Wetherall
* @since 2.1
*/
-public class RMv21ReportServicePatch extends ModulePatchComponent
+@SuppressWarnings("deprecation")
+public class RMv21ReportServicePatch extends RMv21PatchComponent
implements BeanNameAware
{
private static final NodeRef TEMPLATE_ROOT = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, "rm_report_templates");
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RolesPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RolesPatch.java
old mode 100644
new mode 100755
similarity index 90%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RolesPatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RolesPatch.java
index aa45d143c2..8215e7f297
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RolesPatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RolesPatch.java
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v21;
import java.util.Arrays;
import java.util.HashSet;
@@ -36,7 +36,8 @@ import org.springframework.beans.factory.BeanNameAware;
* @author Tuna Aksoy
* @since 2.1
*/
-public class RMv21RolesPatch extends ModulePatchComponent implements BeanNameAware
+@SuppressWarnings("deprecation")
+public class RMv21RolesPatch extends RMv21PatchComponent implements BeanNameAware
{
/** file plan service */
private FilePlanService filePlanService;
@@ -63,7 +64,7 @@ public class RMv21RolesPatch extends ModulePatchComponent implements BeanNameAwa
}
/**
- * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchComponent#executePatch()
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent#executePatch()
*/
@Override
protected void executePatch() throws Throwable
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/BaseRMCapabilityPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22CapabilityPatch.java
similarity index 75%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/BaseRMCapabilityPatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22CapabilityPatch.java
index 2f2263b7af..73199bcb9d 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/BaseRMCapabilityPatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22CapabilityPatch.java
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v22;
import java.util.Set;
@@ -24,18 +24,20 @@ import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.module.org_alfresco_module_rm.capability.Capability;
import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService;
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
+import org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch;
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
import org.alfresco.module.org_alfresco_module_rm.role.Role;
import org.alfresco.service.cmr.repository.NodeRef;
/**
- * Base class for the capability patch classes
+ * RM v2.2 patch to updated modified capabilities.
*
* @author Tuna Aksoy
* @since 2.2
*/
-public abstract class BaseRMCapabilityPatch extends ModulePatchComponent
+public class RMv22CapabilityPatch extends AbstractModulePatch
{
+
/** File plan service */
private FilePlanService filePlanService;
@@ -117,4 +119,32 @@ public abstract class BaseRMCapabilityPatch extends ModulePatchComponent
}
}
}
+
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch#applyInternal()
+ */
+ @Override
+ public void applyInternal()
+ {
+ Set filePlans = getFilePlans();
+
+ if (logger.isDebugEnabled() == true)
+ {
+ logger.debug(" ... updating " + filePlans.size() + " file plans");
+ }
+
+ for (NodeRef filePlan : filePlans)
+ {
+ if (logger.isDebugEnabled() == true)
+ {
+ logger.debug(" ... updating file plan " + filePlan.toString());
+ }
+
+ // add new capability
+ addCapability(filePlan,
+ "FileDestructionReport",
+ FilePlanRoleService.ROLE_ADMIN,
+ FilePlanRoleService.ROLE_RECORDS_MANAGER);
+ }
+ }
}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22ReportTemplatePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22ReportTemplatePatch.java
similarity index 89%
rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22ReportTemplatePatch.java
rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22ReportTemplatePatch.java
index 0832522c96..2fa4a4eb54 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22ReportTemplatePatch.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22ReportTemplatePatch.java
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
-package org.alfresco.module.org_alfresco_module_rm.patch;
+package org.alfresco.module.org_alfresco_module_rm.patch.v22;
import java.io.InputStream;
import java.io.Serializable;
@@ -24,6 +24,7 @@ import java.util.HashMap;
import java.util.Map;
import org.alfresco.model.ContentModel;
+import org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.ContentService;
import org.alfresco.service.cmr.repository.ContentWriter;
@@ -39,7 +40,7 @@ import org.alfresco.service.namespace.QName;
* @author Tuna Aksoy
* @since 2.2
*/
-public class RMv22ReportTemplatePatch extends ModulePatchComponent
+public class RMv22ReportTemplatePatch extends AbstractModulePatch
{
/** Report template path */
private static final String REPORT_TEMPLATE_PATH = "alfresco/module/org_alfresco_module_rm/bootstrap/report/report_rmr_transferReport.html.ftl";
@@ -70,8 +71,11 @@ public class RMv22ReportTemplatePatch extends ModulePatchComponent
this.contentService = contentService;
}
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch#applyInternal()
+ */
@Override
- protected void executePatch() throws Throwable
+ public void applyInternal()
{
NodeRef transferReport = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, TRANSFER_REPORT);
NodeRef destructionReport = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, DESTRUCTION_REPORT);
diff --git a/rm-server/source/java/org/alfresco/repo/admin/patch/AppliedModulePatch.java b/rm-server/source/java/org/alfresco/repo/admin/patch/AppliedModulePatch.java
new file mode 100755
index 0000000000..d038c9bfb2
--- /dev/null
+++ b/rm-server/source/java/org/alfresco/repo/admin/patch/AppliedModulePatch.java
@@ -0,0 +1,33 @@
+package org.alfresco.repo.admin.patch;
+
+/**
+ *
+ * @author Roy Wetherall
+ */
+public class AppliedModulePatch extends AppliedPatch
+{
+
+ private String moduleId;
+
+ public AppliedModulePatch()
+ {
+ super();
+ }
+
+ public AppliedModulePatch(AppliedModulePatch appliedModulePatch)
+ {
+ super(appliedModulePatch);
+
+ this.moduleId = appliedModulePatch.getModuleId();
+ }
+
+ public String getModuleId()
+ {
+ return this.moduleId;
+ }
+
+ public void setModuleId(String moduleId)
+ {
+ this.moduleId = moduleId;
+ }
+}
diff --git a/rm-server/source/java/org/alfresco/repo/policy/annotation/BehaviourRegistry.java b/rm-server/source/java/org/alfresco/repo/policy/annotation/BehaviourRegistry.java
old mode 100644
new mode 100755
diff --git a/rm-server/source/resources/readme.txt b/rm-server/source/resources/readme.txt
new file mode 100644
index 0000000000..c3322908fb
--- /dev/null
+++ b/rm-server/source/resources/readme.txt
@@ -0,0 +1 @@
+Files in this directory will be added to the jar.
\ No newline at end of file