diff --git a/config/alfresco/bootstrap/webscripts/readme_de.html b/config/alfresco/bootstrap/webscripts/readme_de.html
new file mode 100755
index 0000000000..1c3417a753
--- /dev/null
+++ b/config/alfresco/bootstrap/webscripts/readme_de.html
@@ -0,0 +1,24 @@
+Please translate me!
+Web Scripts
+
+
Web Scripts allow you to bind new LiveCycle Content Services ES based functionality to a HTTP method and custom URL. A library of URLs may be built up to provide a complete API accessible via HTTP. They are ideal for building data access & update APIs and simple UI components such as Portlets. Development of Web Scripts may be performed within LiveCycle Contentspace ES. Knowledge of Java is not required.
+
+
+For example, you could create the following API for your particular application...
+
+- Execute a search
+
+GET http://<host>:<port>/contentspace/service/blog/category/{category}
+
+- Retrieve meta-data for an item in the repository
+
+GET http://<host>:<port>/contentspace/service/blog/2007/03/04/new-release
+
+- Update meta-data for an item in the repository
+
+POST http://<host>:<port>/contentspace/service/blog/2007/03/04/new-release?status=Draft
+
+- Delete an item in the repository
+
+DELETE http://<host>:<port>/contentspace/service/blog/2007/03/04/new-release
+
diff --git a/config/alfresco/bootstrap/webscripts/readme_fr.html b/config/alfresco/bootstrap/webscripts/readme_fr.html
new file mode 100755
index 0000000000..1c3417a753
--- /dev/null
+++ b/config/alfresco/bootstrap/webscripts/readme_fr.html
@@ -0,0 +1,24 @@
+Please translate me!
+Web Scripts
+
+
Web Scripts allow you to bind new LiveCycle Content Services ES based functionality to a HTTP method and custom URL. A library of URLs may be built up to provide a complete API accessible via HTTP. They are ideal for building data access & update APIs and simple UI components such as Portlets. Development of Web Scripts may be performed within LiveCycle Contentspace ES. Knowledge of Java is not required.
+
+
+For example, you could create the following API for your particular application...
+
+- Execute a search
+
+GET http://<host>:<port>/contentspace/service/blog/category/{category}
+
+- Retrieve meta-data for an item in the repository
+
+GET http://<host>:<port>/contentspace/service/blog/2007/03/04/new-release
+
+- Update meta-data for an item in the repository
+
+POST http://<host>:<port>/contentspace/service/blog/2007/03/04/new-release?status=Draft
+
+- Delete an item in the repository
+
+DELETE http://<host>:<port>/contentspace/service/blog/2007/03/04/new-release
+
diff --git a/config/alfresco/bootstrap/webscripts/readme_ja.html b/config/alfresco/bootstrap/webscripts/readme_ja.html
new file mode 100755
index 0000000000..1c3417a753
--- /dev/null
+++ b/config/alfresco/bootstrap/webscripts/readme_ja.html
@@ -0,0 +1,24 @@
+Please translate me!
+Web Scripts
+
+
Web Scripts allow you to bind new LiveCycle Content Services ES based functionality to a HTTP method and custom URL. A library of URLs may be built up to provide a complete API accessible via HTTP. They are ideal for building data access & update APIs and simple UI components such as Portlets. Development of Web Scripts may be performed within LiveCycle Contentspace ES. Knowledge of Java is not required.
+
+
+For example, you could create the following API for your particular application...
+
+- Execute a search
+
+GET http://<host>:<port>/contentspace/service/blog/category/{category}
+
+- Retrieve meta-data for an item in the repository
+
+GET http://<host>:<port>/contentspace/service/blog/2007/03/04/new-release
+
+- Update meta-data for an item in the repository
+
+POST http://<host>:<port>/contentspace/service/blog/2007/03/04/new-release?status=Draft
+
+- Delete an item in the repository
+
+DELETE http://<host>:<port>/contentspace/service/blog/2007/03/04/new-release
+
diff --git a/config/alfresco/core-services-context.xml b/config/alfresco/core-services-context.xml
index 14d1875a70..34396a9a69 100644
--- a/config/alfresco/core-services-context.xml
+++ b/config/alfresco/core-services-context.xml
@@ -394,6 +394,7 @@
alfresco.messages.coci-service
alfresco.messages.discussion-messages
alfresco.messages.template-service
+ alfresco.messages.templates-messages
alfresco.messages.lock-service
alfresco.messages.patch-service
alfresco.messages.period-provider
@@ -1065,6 +1066,7 @@
alfresco/messages/bpm-messages
alfresco/messages/application-model
alfresco/messages/forum-model
+ alfresco/messages/email-server-model
diff --git a/config/alfresco/import-export-context.xml b/config/alfresco/import-export-context.xml
index 175789d4f0..60b40b4cc9 100644
--- a/config/alfresco/import-export-context.xml
+++ b/config/alfresco/import-export-context.xml
@@ -447,6 +447,7 @@
/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.content.childname}
alfresco/templates/readme_template.xml
+ alfresco/messages/bootstrap-readme-template
/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.email.childname}
@@ -461,6 +462,7 @@
/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.scripts.childname}
alfresco/bootstrap/example_javascripts.acp
+ alfresco/messages/bootstrap-example-javascripts
/${spaces.company_home.childname}/${spaces.dictionary.childname}
@@ -480,19 +482,23 @@
/${spaces.company_home.childname}/${spaces.dictionary.childname}
alfresco/bootstrap/customModelsSpace.acp
+ alfresco/messages/bootstrap-spaces
/${spaces.company_home.childname}/${spaces.dictionary.childname}
alfresco/bootstrap/customMessagesSpace.xml
+ alfresco/messages/bootstrap-spaces
/${spaces.company_home.childname}/${spaces.dictionary.childname}
alfresco/bootstrap/customWebClientExtensionSpace.xml
+ alfresco/messages/bootstrap-spaces
/${spaces.company_home.childname}/${spaces.dictionary.childname}
alfresco/bootstrap/customWorkflowDefsSpace.acp
+ alfresco/messages/bootstrap-spaces
diff --git a/config/alfresco/messages/bootstrap-example-javascripts.properties b/config/alfresco/messages/bootstrap-example-javascripts.properties
new file mode 100755
index 0000000000..961eb89f5c
--- /dev/null
+++ b/config/alfresco/messages/bootstrap-example-javascripts.properties
@@ -0,0 +1,14 @@
+# Javascript Exapmples Localization
+
+javascripts.example.backup.title=Backup Script
+javascripts.example.backup.description=Simple document backup script
+javascripts.example.test.title=Example Test Script
+javascripts.example.test.description=Example of various API calls
+javascripts.example.backupandlog.title=Backup and logging Script
+javascripts.example.backupandlog.description=Backup files and log the date and time
+javascripts.example.appendcopyright.title=Append Copyright to file
+javascripts.example.appendcopyright.description=Append Copyright line to text or HTML files
+javascripts.example.testreturnvalue.title=Return Value Example
+javascripts.example.testreturnvalue.description=Return a value from a script - for the command servlet
+javascripts.example.livecycledocs.title=LiveCycle Lucene Search
+javascripts.example.livecycledocs.description=Search and log all docs containing LiveCycle text
diff --git a/config/alfresco/messages/bootstrap-javascripts.properties b/config/alfresco/messages/bootstrap-javascripts.properties
new file mode 100755
index 0000000000..42db02c543
--- /dev/null
+++ b/config/alfresco/messages/bootstrap-javascripts.properties
@@ -0,0 +1,17 @@
+javascripts.backup.description=Simple document backup script
+javascripts.backup.title=Backup Script
+
+javascripts.examle_test.description=Example of various Alfresco API calls
+javascripts.examle_test.title=Example Test Script
+
+javascripts.backup_and_log.description=Backup files and log the date and time
+javascripts.backup_and_log.title=Backup and logging Script
+
+javascripts.append_copyright.description=Append Copyright line to text or HTML files
+javascripts.append_copyright.title=Append Copyright to file
+
+javascripts.lucene_search.description=Search and log all docs containing Alfresco text
+javascripts.lucene_search.title=Alfresco Lucene Search
+
+javascripts.return_value.description=Return a value from a script - for the command servlet
+javascripts.return_value.title=Return Value Example
\ No newline at end of file
diff --git a/config/alfresco/messages/bootstrap-readme-template.properties b/config/alfresco/messages/bootstrap-readme-template.properties
new file mode 100755
index 0000000000..4cba806f0d
--- /dev/null
+++ b/config/alfresco/messages/bootstrap-readme-template.properties
@@ -0,0 +1,2 @@
+readme.template.description=Display the contents of a readme file (named readme.html or readme.ftl)
+readme.template.title=readme.ftl
diff --git a/config/alfresco/messages/bootstrap-spaces.properties b/config/alfresco/messages/bootstrap-spaces.properties
index 289b89d3db..af8d4fb3e6 100644
--- a/config/alfresco/messages/bootstrap-spaces.properties
+++ b/config/alfresco/messages/bootstrap-spaces.properties
@@ -58,4 +58,32 @@ spaces.templates.email.invite.name=invite
spaces.templates.email.invite.description=Invite email templates
spaces.imap_home.name=IMAP Home
-spaces.imap_home.description=IMAP Home
\ No newline at end of file
+spaces.imap_home.description=IMAP Home
+
+spaces.templates.email.invite1.name=Invite Email Templates
+spaces.templates.email.invite1.description=Invite Email Templates
+
+spaces.templates.email.notify.name=Notify Email Templates
+spaces.templates.email.notify.description=Notify Email Templates
+
+spaces.templates.email.generate_the_invite_email.description=Email template used to generate the invite email for Alfresco Share
+
+email.template.email_template_for_notifying_users=Email template for notifying users from a rule or action
+email.template.email_template_for_notifying_users_of_an_Invite=Email template for notifying users of an Invite to a space or document
+
+spaces.web.client.extension.name=Web Client Extension
+spaces.web.client.extension.title=Customized Web Client
+spaces.web.client.extension.description=Customized Web Client
+
+spaces.models.name=Models
+spaces.models.title=Customized Models
+spaces.models.description=Customized Models
+
+spaces.messages.name=Messages
+spaces.messages.title=Customized Messages
+spaces.messages.description=Customized Messages
+
+spaces.workflow.definitions.name=Workflow Definitions
+spaces.workflow.definitions.title=Customized Workflow Process Definitions
+spaces.workflow.definitions.description=Customized Workflow Process Definitions
+
diff --git a/config/alfresco/messages/content-model.properties b/config/alfresco/messages/content-model.properties
index f7884c101e..43459a598f 100644
--- a/config/alfresco/messages/content-model.properties
+++ b/config/alfresco/messages/content-model.properties
@@ -212,6 +212,11 @@ cm_contentmodel.aspect.cm_generalclassifiable.description=Classifiable
cm_contentmodel.property.cm_categories.title=Categories
cm_contentmodel.property.cm_categories.description=Categories
+cm_contentmodel.aspect.cm_taggable.title=Taggable
+cm_contentmodel.aspect.cm_taggable.description=Taggable
+cm_contentmodel.property.cm_taggable.title=Tags
+cm_contentmodel.property.cm_taggable.description=Tags
+
cm_contentmodel.aspect.cm_attachable.title=Attachable
cm_contentmodel.aspect.cm_attachable.description=Allows other repository objects to be attached
cm_contentmodel.association.cm_attachments.title=Attachments
diff --git a/config/alfresco/messages/email-server-model.properties b/config/alfresco/messages/email-server-model.properties
new file mode 100755
index 0000000000..07297392e4
--- /dev/null
+++ b/config/alfresco/messages/email-server-model.properties
@@ -0,0 +1,5 @@
+emailserver_emailserverModel.aspect.emailserver_aliasable.title=Email Alias
+emailserver_emailserverModel.aspect.emailserver_aliasable.description=Email Alias
+emailserver_emailserverModel.property.emailserver_alias.title=Alias
+emailserver_emailserverModel.property.emailserver_alias.description=Alias
+
diff --git a/config/alfresco/messages/templates-messages.properties b/config/alfresco/messages/templates-messages.properties
new file mode 100755
index 0000000000..5e08c27f22
--- /dev/null
+++ b/config/alfresco/messages/templates-messages.properties
@@ -0,0 +1,89 @@
+#translatable.ftl
+templates.translatable.translatable=Translatable:
+templates.translatable.yes=Yes
+templates.translatable.no=No
+templates.translatable.no_document_found=No document found
+
+#show_audit.ftl
+templates.show_audit.current_document_audit_info=Current Document Audit Info
+templates.show_audit.name=Name:
+templates.show_audit.user_name=User Name
+templates.show_audit.application=Application
+templates.show_audit.service=Service
+templates.show_audit.method=Method
+templates.show_audit.timestamp=Timestamp
+templates.show_audit.failed=Failed
+templates.show_audit.message=Message
+templates.show_audit.arg_1=Arg 1
+templates.show_audit.arg_2=Arg 2
+templates.show_audit.arg_3=Arg 3
+templates.show_audit.arg_4=Arg 4
+templates.show_audit.arg_5=Arg 5
+templates.show_audit.return=Return
+templates.show_audit.thowable=Throwable
+templates.show_audit.tx=TX
+templates.show_audit.current_space_audit_info=Current Space Audit Info:
+
+#recent_docs.ftl
+templates.recent_docs.documents_created_or_modified_in_the_last_week=Documents created or modified in the last week
+templates.recent_docs.name=Name
+templates.recent_docs.created_date=Created Date
+templates.recent_docs.modified_date=Modified Date
+
+#my_summary.ftl
+templates.my_summary.name=Name:
+templates.my_summary.user=User:
+templates.my_summary.home_space_location=Home Space location:
+templates.my_summary.items_in_home_space=Items in Home Space:
+templates.my_summary.items_in_company_space=Items in Company Space:
+
+#my_docs.ftl
+templates.my_docs.name=Name
+templates.my_docs.size=Size
+templates.my_docs.modified.date=Modified Date
+templates.my_docs.locked=Locked
+templates.my_docs.kb=KB
+templates.my_docs.yes=Yes
+
+#localizable.ftl
+templates.localizable.localisable=Localisable:
+templates.localizable.yes=Yes
+templates.localizable.locale=Locale:
+templates.localizable.no=No
+templates.localizable.no_document_found=No document found!
+
+#general_example.ftl
+templates.general_example.example_template_start======Example Template Start=====
+templates.general_example.company_home_space=Company Home Space:
+templates.general_example.my_home_space=My Home Space:
+templates.general_example.company_home_children_count=Company Home children count:
+templates.general_example.company_home_first_child_node_name=Company Home first child node name:
+templates.general_example.current_document_name=Current Document Name:
+templates.general_example.current_space_name=Current Space Name:
+templates.general_example.list_of_child_spaces_in_my_home_space=List of child spaces in my Home Space:
+templates.general_example.path=Path:
+templates.general_example.list_of_docs_in_my_home_space=List of docs in my Home Space (text only content shown inline, JPG images shown as thumbnails):
+templates.general_example.assoc_example=Assoc example:
+templates.general_example.example_template_end======Example Template End=====
+
+#doc_info.ftl
+templates.doc_info.current_document_info=Current Document Info:
+templates.doc_info.name=Name:
+templates.doc_info.ref=Ref:
+templates.doc_info.type=Type:
+templates.doc_info.dbid=DBID:
+templates.doc_info.content_url=Content URL:
+templates.doc_info.locked=Locked:
+templates.doc_info.counter=Counter:
+templates.doc_info.aspects=Aspects:
+templates.doc_info.assocs=Assocs:
+templates.doc_info.properties=Properties:
+templates.doc_info.no_document_found=No document found!
+
+
+
+
+
+
+
+
diff --git a/config/alfresco/patch/patch-services-context.xml b/config/alfresco/patch/patch-services-context.xml
index 7115662906..efb2ebde60 100644
--- a/config/alfresco/patch/patch-services-context.xml
+++ b/config/alfresco/patch/patch-services-context.xml
@@ -767,6 +767,7 @@
/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.content.childname}
alfresco/templates/readme_template.xml
+ alfresco/messages/bootstrap-readme-template
@@ -845,6 +846,7 @@
/${spaces.company_home.childname}/${spaces.dictionary.childname}
alfresco/bootstrap/customModelsSpace.acp
+ alfresco/messages/bootstrap-spaces
@@ -866,6 +868,7 @@
/${spaces.company_home.childname}/${spaces.dictionary.childname}
alfresco/bootstrap/customMessagesSpace.xml
+ alfresco/messages/bootstrap-spaces
@@ -887,6 +890,7 @@
/${spaces.company_home.childname}/${spaces.dictionary.childname}
alfresco/bootstrap/customWebClientExtensionSpace.xml
+ alfresco/messages/bootstrap-spaces
@@ -954,6 +958,7 @@
/${spaces.company_home.childname}/${spaces.dictionary.childname}
alfresco/bootstrap/customWorkflowDefsSpace.acp
+ alfresco/messages/bootstrap-spaces
diff --git a/config/alfresco/templates/content/examples/doc_info.ftl b/config/alfresco/templates/content/examples/doc_info.ftl
index e22792aa1e..e7f50a2725 100644
--- a/config/alfresco/templates/content/examples/doc_info.ftl
+++ b/config/alfresco/templates/content/examples/doc_info.ftl
@@ -1,22 +1,22 @@
<#-- Shows some general info about the current document, including NodeRef and aspects applied -->
<#if document?exists>
- Current Document Info:
- Name: ${document.name}
- Ref: ${document.nodeRef}
- Type: ${document.type}
- DBID: ${document.properties["sys:node-dbid"]}
- Content URL: ${url.context}${document.url}
- Locked: <#if document.isLocked>Yes<#else>No#if>
+ ${message("templates.doc_info.current_document_info")}
+ ${message("templates.doc_info.name")} ${document.name}
+ ${message("templates.doc_info.ref")} ${document.nodeRef}
+ ${message("templates.doc_info.type")} ${document.type}
+ ${message("templates.doc_info.dbid")} ${document.properties["sys:node-dbid"]}
+ ${message("templates.doc_info.content_url")} /contentspace${document.url}
+ ${message("templates.doc_info.locked")} <#if document.isLocked>Yes<#else>No#if>
<#if hasAspect(document, "cm:countable") == 1 && document.properties['cm:counter']?exists>
- Counter: ${document.properties['cm:counter']}
+ ${message("templates.doc_info.counter")} ${document.properties['cm:counter']}
#if>
- Aspects:
+ ${message("templates.doc_info.aspects")}
<#list document.aspects as aspect>
${aspect} |
#list>
- Assocs:
+ ${message("templates.doc_info.assocs")}
<#list document.assocs?keys as key>
${key} |
@@ -26,7 +26,7 @@
|
#list>
- Properties:
+ ${message("templates.doc_info.properties")}
<#-- Get a list of all the property names for the document -->
<#assign props = document.properties?keys>
@@ -53,5 +53,5 @@
#list>
<#else>
- No document found!
+ ${message("templates.doc_info.no_document_found")}
#if>
diff --git a/config/alfresco/templates/content/examples/general_example.ftl b/config/alfresco/templates/content/examples/general_example.ftl
index 566c62ffd5..be48a56d67 100644
--- a/config/alfresco/templates/content/examples/general_example.ftl
+++ b/config/alfresco/templates/content/examples/general_example.ftl
@@ -1,33 +1,33 @@
-=====Example Template Start=====
+${message("templates.general_example.example_template_start")}
-Company Home Space: ${companyhome.properties.name}
+${message("templates.general_example.company_home_space")} ${companyhome.properties.name}
-My Home Space: ${userhome.properties.name}
+${message("templates.general_example.my_home_space")} ${userhome.properties.name}
-Company Home children count: ${companyhome.children?size}
+${message("templates.general_example.company_home_children_count")} ${companyhome.children?size}
-Company Home first child node name: ${companyhome.children[0].properties.name}
+${message("templates.general_example.company_home_first_child_node_name")} ${companyhome.children[0].properties.name}
<#if document?exists>
-Current Document Name: ${document.name}
+${message("templates.general_example.current_document_name")} ${document.name}
#if>
-Current Space Name: ${space.name}
+${message("templates.general_example.current_space_name")} ${space.name}
-List of child spaces in my Home Space:
+${message("templates.general_example.list_of_child_spaces_in_my_home_space")}
<#list userhome.children as child>
<#if child.isContainer>
 |
${child.properties.name} (${child.children?size}) |
- Path: ${child.displayPath} |
+ ${message("templates.general_example.path")} ${child.displayPath} |
#if>
#list>
-List of docs in my Home Space (text only content shown inline, JPG images shown as thumbnails):
+${message("templates.general_example.list_of_docs_in_my_home_space")}
<#list userhome.children as child>
<#if child.isDocument>
@@ -41,9 +41,9 @@
#list>
-Assoc example:
+${message("templates.general_example.assoc_example")}
<#if userhome.children[0].assocs["cm:contains"]?exists>
${userhome.children[0].assocs["cm:contains"][0].name}
#if>
-=====Example Template End=====
\ No newline at end of file
+${message("templates.general_example.example_template_end")}
\ No newline at end of file
diff --git a/config/alfresco/templates/content/examples/localizable.ftl b/config/alfresco/templates/content/examples/localizable.ftl
index 5b634a08e2..cd252f76fc 100644
--- a/config/alfresco/templates/content/examples/localizable.ftl
+++ b/config/alfresco/templates/content/examples/localizable.ftl
@@ -1,14 +1,14 @@
<#-- Shows if a document is localizable and the locale if set -->
-Localisable:
+${message("templates.localizable.localisable")}
<#if document?exists>
<#if hasAspect(document, "cm:localizable") = 1>
- Yes
+ ${message("templates.localizable.yes")}
<#if document.properties.locale?exists>
- Locale: ${document.properties.locale.properties.name}
+ ${message("templates.localizable.locale")} ${document.properties.locale.properties.name}
#if>
<#else>
- No
+ ${message("templates.localizable.no")}
#if>
<#else>
- No document found!
+ ${message("templates.localizable.no_document_found")}
#if>
\ No newline at end of file
diff --git a/config/alfresco/templates/content/examples/my_docs.ftl b/config/alfresco/templates/content/examples/my_docs.ftl
index c7cb2a43ab..8351b4a13b 100644
--- a/config/alfresco/templates/content/examples/my_docs.ftl
+++ b/config/alfresco/templates/content/examples/my_docs.ftl
@@ -3,17 +3,17 @@
|
- Name |
- Size |
- Locked |
+ ${message("templates.my_docs.name")} |
+ ${message("templates.my_docs.size")} |
+ ${message("templates.my_docs.locked")} |
<#list userhome.children as child>
<#if child.isDocument>
 |
${child.properties.name} |
- ${(child.size / 1000)?string("0.##")} KB |
- <#if child.isLocked>Yes#if> |
+ ${(child.size / 1000)?string("0.##")} ${message("templates.my_docs.kb")} |
+ <#if child.isLocked>${message("templates.my_docs.yes")}#if> |
#if>
#list>
diff --git a/config/alfresco/templates/content/examples/my_summary.ftl b/config/alfresco/templates/content/examples/my_summary.ftl
index 583556207a..200e33f3f5 100644
--- a/config/alfresco/templates/content/examples/my_summary.ftl
+++ b/config/alfresco/templates/content/examples/my_summary.ftl
@@ -1,8 +1,8 @@
<#-- Table of some summary details about the current user -->
- Name: | ${person.properties.firstName?html} ${person.properties.lastName?html} |
- User: | ${person.properties.userName} |
- Home Space location: | ${userhome.displayPath}/${userhome.name} |
- Items in Home Space: | ${userhome.children?size} |
- Items in Company Space: | ${companyhome.children?size} |
+ ${message("templates.my_summary.name")} | ${person.properties.firstName?html} ${person.properties.lastName?html} |
+ ${message("templates.my_summary.user")} | ${person.properties.userName} |
+ ${message("templates.my_summary.home_space_location")} | ${userhome.displayPath}/${userhome.name} |
+ ${message("templates.my_summary.items_in_home_space")} | ${userhome.children?size} |
+ ${message("templates.my_summary.items_in_company_space")} | ${companyhome.children?size} |
\ No newline at end of file
diff --git a/config/alfresco/templates/content/examples/recent_docs.ftl b/config/alfresco/templates/content/examples/recent_docs.ftl
index ece6127202..be239000ae 100644
--- a/config/alfresco/templates/content/examples/recent_docs.ftl
+++ b/config/alfresco/templates/content/examples/recent_docs.ftl
@@ -1,11 +1,11 @@
<#-- Table of docs in a specific folder, that have been created or modified in the last week -->
-Documents created or modified in the last week
+${message("templates.recent_docs.documents_created_or_modified_in_the_last_week")}
|
- Name |
- Created Date |
- Modified Date |
+ ${message("templates.recent_docs.name")} |
+ ${message("templates.recent_docs.created_date")} |
+ ${message("templates.recent_docs.modified_date")} |
<#list space.childrenByXPath[".//*[subtypeOf('cm:content')]"] as child>
<#if (dateCompare(child.properties["cm:modified"], date, 1000*60*60*24*7) == 1) || (dateCompare(child.properties["cm:created"], date, 1000*60*60*24*7) == 1)>
diff --git a/config/alfresco/templates/content/examples/show_audit.ftl b/config/alfresco/templates/content/examples/show_audit.ftl
index 73a12ccdd6..a72b90a80d 100644
--- a/config/alfresco/templates/content/examples/show_audit.ftl
+++ b/config/alfresco/templates/content/examples/show_audit.ftl
@@ -1,24 +1,24 @@
<#-- Shows some general audit info about the current document -->
<#if document?exists>
- Current Document Audit Info
- Name: ${document.name}
+ ${message("templates.show_audit.current_document_audit_info")}
+ ${message("templates.show_audit.name")} ${document.name}
- User Name |
- Application |
- Service |
- Method |
- Timestamp |
- Failed |
- Message |
- Arg 1 |
- Arg 2 |
- Arg 3 |
- Arg 4 |
- Arg 5 |
- Return |
- Thowable |
- TX |
+ ${message("templates.show_audit.user_name")} |
+ ${message("templates.show_audit.application")} |
+ ${message("templates.show_audit.service")} |
+ ${message("templates.show_audit.method")} |
+ ${message("templates.show_audit.timestamp")} |
+ ${message("templates.show_audit.failed")} |
+ ${message("templates.show_audit.message")} |
+ ${message("templates.show_audit.arg_1")} |
+ ${message("templates.show_audit.arg_2")} |
+ ${message("templates.show_audit.arg_3")} |
+ ${message("templates.show_audit.arg_4")} |
+ ${message("templates.show_audit.arg_5")} |
+ ${message("templates.show_audit.return")} |
+ ${message("templates.show_audit.thowable")} |
+ ${message("templates.show_audit.tx")} |
<#list document.auditTrail as t>
@@ -85,25 +85,25 @@
#list>
<#elseif space?exists>
- Current Space Audit Info:
- Name: ${space.name}
+ ${message("templates.show_audit.current_space_audit_info")}
+ ${message("templates.show_audit.name")} ${space.name}
- User Name |
- Application |
- Service |
- Method |
- Timestamp |
- Failed |
- Message |
- Arg 1 |
- Arg 2 |
- Arg 3 |
- Arg 4 |
- Arg 5 |
- Return |
- Thowable |
- TX |
+ ${message("templates.show_audit.user_name")} |
+ ${message("templates.show_audit.application")} |
+ ${message("templates.show_audit.service")} |
+ ${message("templates.show_audit.method")} |
+ ${message("templates.show_audit.timestamp")} |
+ ${message("templates.show_audit.failed")} |
+ ${message("templates.show_audit.message")} |
+ ${message("templates.show_audit.arg_1")} |
+ ${message("templates.show_audit.arg_2")} |
+ ${message("templates.show_audit.arg_3")} |
+ ${message("templates.show_audit.arg_4")} |
+ ${message("templates.show_audit.arg_5")} |
+ ${message("templates.show_audit.return")} |
+ ${message("templates.show_audit.thowable")} |
+ ${message("templates.show_audit.tx")} |
<#list space.auditTrail as t>
diff --git a/config/alfresco/templates/content/examples/translatable.ftl b/config/alfresco/templates/content/examples/translatable.ftl
index 6d6e692a28..970463e74c 100644
--- a/config/alfresco/templates/content/examples/translatable.ftl
+++ b/config/alfresco/templates/content/examples/translatable.ftl
@@ -1,8 +1,8 @@
<#-- Shows the translations applied to a doc through the translatable aspect -->
-Translatable:
+${message("templates.translatable.translatable")}
<#if document?exists>
<#if hasAspect(document, "cm:translatable") = 1>
- Yes
+ ${message("templates.translatable.yes")}
<#if document.assocs["cm:translations"]?exists>
<#list document.assocs["cm:translations"] as t>
@@ -11,8 +11,8 @@
#if>
<#else>
- No
+ ${message("templates.translatable.no")}
#if>
<#else>
- No document found!
+ ${message("templates.translatable.no_document_found")}
#if>
diff --git a/config/alfresco/templates/email_templates.acp b/config/alfresco/templates/email_templates.acp
index 75006346e6..5b1348edee 100644
Binary files a/config/alfresco/templates/email_templates.acp and b/config/alfresco/templates/email_templates.acp differ
diff --git a/config/alfresco/templates/readme.ftl b/config/alfresco/templates/readme.ftl
index 9b9b3bf73f..f2c5ae1fe0 100644
--- a/config/alfresco/templates/readme.ftl
+++ b/config/alfresco/templates/readme.ftl
@@ -1,5 +1,5 @@
<#-- Displays the contents of readme.html and/or the evaluated readme.ftl if they exist in the current space. -->
-
+<#-- Old template
<#assign htmlFilename = "readme.html"/>
<#assign ftlFilename = "readme.ftl"/>
@@ -11,3 +11,22 @@
<#include space.childByNamePath["${ftlFilename}"].nodeRef>
#if>
#if>
+-->
+<#assign filename = "readme"/>
+<#assign htmlExt = "html"/>
+<#assign suffix = .lang />
+<#assign ftlExt = "ftl"/>
+<#assign htmlFilename = "${filename}_${suffix}.${htmlExt}"/>
+<#assign ftlFilename = "${filename}.${ftlExt}"/>
+<#assign messageError="File ${htmlFilename} does not exist!"/>
+
+<#if space?exists>
+ <#if space.childByNamePath["${htmlFilename}"]?exists>
+ ${space.childByNamePath[htmlFilename].content}
+ <#else>
+ ${messageError}
+ #if>
+ <#if space.childByNamePath["${ftlFilename}"]?exists>
+ <#include space.childByNamePath["${ftlFilename}"].nodeRef>
+ #if>
+#if>
diff --git a/config/alfresco/templates/readme_template.xml b/config/alfresco/templates/readme_template.xml
index 8bfab61f76..3f604bb2de 100644
--- a/config/alfresco/templates/readme_template.xml
+++ b/config/alfresco/templates/readme_template.xml
@@ -8,9 +8,9 @@
true
- Display the contents of a readme file (named readme.html or readme.ftl)
+ ${readme.template.description}
contentUrl=/alfresco/templates/readme.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_
- readme.ftl
+ ${readme.template.title}
Mike Farman
readme.ftl
diff --git a/config/alfresco/templates/rss_templates.acp b/config/alfresco/templates/rss_templates.acp
index 6ca240207f..40babcb637 100644
Binary files a/config/alfresco/templates/rss_templates.acp and b/config/alfresco/templates/rss_templates.acp differ
diff --git a/source/java/org/alfresco/repo/dictionary/M2AnonymousTypeDefinition.java b/source/java/org/alfresco/repo/dictionary/M2AnonymousTypeDefinition.java
index 812206898b..65c2d277f2 100644
--- a/source/java/org/alfresco/repo/dictionary/M2AnonymousTypeDefinition.java
+++ b/source/java/org/alfresco/repo/dictionary/M2AnonymousTypeDefinition.java
@@ -30,6 +30,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import org.alfresco.service.cmr.dictionary.AspectDefinition;
import org.alfresco.service.cmr.dictionary.AssociationDefinition;
@@ -101,6 +102,14 @@ import org.alfresco.service.namespace.QName;
return type.getDefaultAspects(inherited);
}
+ /* (non-Javadoc)
+ * @see org.alfresco.service.cmr.dictionary.ClassDefinition#getDefaultAspectNames()
+ */
+ public Set getDefaultAspectNames()
+ {
+ return type.getDefaultAspectNames();
+ }
+
/* (non-Javadoc)
* @see org.alfresco.repo.dictionary.ClassDefinition#getName()
*/
diff --git a/source/java/org/alfresco/repo/dictionary/M2ClassDefinition.java b/source/java/org/alfresco/repo/dictionary/M2ClassDefinition.java
index a212968d8e..1996e43c04 100644
--- a/source/java/org/alfresco/repo/dictionary/M2ClassDefinition.java
+++ b/source/java/org/alfresco/repo/dictionary/M2ClassDefinition.java
@@ -29,8 +29,10 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import org.alfresco.service.cmr.dictionary.AspectDefinition;
import org.alfresco.service.cmr.dictionary.AssociationDefinition;
@@ -65,6 +67,7 @@ import org.alfresco.service.namespace.QName;
private List defaultAspects = new ArrayList();
private List defaultAspectNames = new ArrayList();
private List inheritedDefaultAspects = new ArrayList();
+ private Set inheritedDefaultAspectNames = new HashSet();
private Boolean archive = null;
private Boolean inheritedArchive = null;
@@ -299,6 +302,12 @@ import org.alfresco.service.namespace.QName;
}
}
+ // Convert to set of names
+ for (AspectDefinition aspDef : inheritedDefaultAspects)
+ {
+ inheritedDefaultAspectNames.add(aspDef.getName());
+ }
+
// resolve archive inheritance
if (parentClass != null && archive == null)
{
@@ -436,6 +445,14 @@ import org.alfresco.service.namespace.QName;
{
return inherited ? getDefaultAspects() : defaultAspects;
}
+
+ /**
+ * @see org.alfresco.service.cmr.dictionary.ClassDefinition#getDefaultAspectNames()
+ */
+ public Set getDefaultAspectNames()
+ {
+ return inheritedDefaultAspectNames;
+ }
/* (non-Javadoc)
* @see org.alfresco.service.cmr.dictionary.ClassDefinition#isContainer()
diff --git a/source/java/org/alfresco/repo/security/permissions/impl/model/PermissionModel.java b/source/java/org/alfresco/repo/security/permissions/impl/model/PermissionModel.java
index 6cd47881c5..7b2f53a179 100644
--- a/source/java/org/alfresco/repo/security/permissions/impl/model/PermissionModel.java
+++ b/source/java/org/alfresco/repo/security/permissions/impl/model/PermissionModel.java
@@ -491,26 +491,19 @@ public class PermissionModel implements ModelDAO, InitializingBean
private Set getAllPermissionsImpl(QName typeName, Set aspects, boolean exposedOnly)
{
- Set permissions = new LinkedHashSet(256, 1.0f);
+ Set permissions = new LinkedHashSet(128, 1.0f);
ClassDefinition cd = dictionaryService.getClass(typeName);
permissions.addAll(getAllPermissionsImpl(typeName, exposedOnly));
- if (cd != null)
+ if (cd != null && aspects != null)
{
- Set defaultAspects = new HashSet();
- for (AspectDefinition aspDef : cd.getDefaultAspects())
+ Set defaultAspects = cd.getDefaultAspectNames();
+ for (QName aspect : aspects)
{
- defaultAspects.add(aspDef.getName());
- }
- if (aspects != null)
- {
- for (QName aspect : aspects)
+ if (!defaultAspects.contains(aspect))
{
- if (!defaultAspects.contains(aspect))
- {
- addAspectPermissions(aspect, permissions, exposedOnly);
- }
+ addAspectPermissions(aspect, permissions, exposedOnly);
}
}
}
diff --git a/source/java/org/alfresco/service/cmr/dictionary/ClassDefinition.java b/source/java/org/alfresco/service/cmr/dictionary/ClassDefinition.java
index bdf7383223..b0e2510955 100644
--- a/source/java/org/alfresco/service/cmr/dictionary/ClassDefinition.java
+++ b/source/java/org/alfresco/service/cmr/dictionary/ClassDefinition.java
@@ -27,6 +27,7 @@ package org.alfresco.service.cmr.dictionary;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import org.alfresco.service.namespace.QName;
@@ -115,6 +116,11 @@ public interface ClassDefinition
*/
public List getDefaultAspects();
+ /**
+ * @return the set of default aspects names associated with this type
+ */
+ public Set getDefaultAspectNames();
+
/**
* @param inherited include default aspects inherited from super types
* @return the default aspects