diff --git a/config/alfresco/bootstrap/customMessagesSpace.xml b/config/alfresco/bootstrap/customMessagesSpace.xml index b284b8b270..0417b57a47 100755 --- a/config/alfresco/bootstrap/customMessagesSpace.xml +++ b/config/alfresco/bootstrap/customMessagesSpace.xml @@ -6,10 +6,10 @@ - Customized Messages + ${spaces.messages.description} space-icon-default - Customized Messages - Messages + ${spaces.messages.title} + ${spaces.messages.name} \ No newline at end of file diff --git a/config/alfresco/bootstrap/customModelsSpace.acp b/config/alfresco/bootstrap/customModelsSpace.acp index b83c561a31..46e73a8a0d 100644 Binary files a/config/alfresco/bootstrap/customModelsSpace.acp and b/config/alfresco/bootstrap/customModelsSpace.acp differ diff --git a/config/alfresco/bootstrap/customWebClientExtensionSpace.xml b/config/alfresco/bootstrap/customWebClientExtensionSpace.xml index 3c9d6d86a6..3a9f5bcb5f 100755 --- a/config/alfresco/bootstrap/customWebClientExtensionSpace.xml +++ b/config/alfresco/bootstrap/customWebClientExtensionSpace.xml @@ -6,10 +6,10 @@ - Customized Web Client + ${spaces.web.client.extension.description} space-icon-default - Customized Web Client - Web Client Extension + ${spaces.web.client.extension.title} + ${spaces.web.client.extension.name} \ No newline at end of file diff --git a/config/alfresco/bootstrap/customWorkflowDefsSpace.acp b/config/alfresco/bootstrap/customWorkflowDefsSpace.acp index e0750a5037..7f31412f1a 100644 Binary files a/config/alfresco/bootstrap/customWorkflowDefsSpace.acp and b/config/alfresco/bootstrap/customWorkflowDefsSpace.acp differ diff --git a/config/alfresco/bootstrap/example_javascripts.acp b/config/alfresco/bootstrap/example_javascripts.acp index 4aea5d4048..45332799ab 100644 Binary files a/config/alfresco/bootstrap/example_javascripts.acp and b/config/alfresco/bootstrap/example_javascripts.acp differ diff --git a/config/alfresco/bootstrap/invite/invite-email.xml b/config/alfresco/bootstrap/invite/invite-email.xml index 698e0abfb6..8138f23988 100644 --- a/config/alfresco/bootstrap/invite/invite-email.xml +++ b/config/alfresco/bootstrap/invite/invite-email.xml @@ -7,10 +7,10 @@ - Invite email templates + ${spaces.templates.email.invite.description} space-icon-default - invite - invite + ${spaces.templates.email.invite.name} + ${spaces.templates.email.invite.name} @@ -25,7 +25,7 @@ true - Email template used to generate the invite email for Alfresco Share + ${spaces.templates.email.generate_the_invite_email.description} contentUrl=classpath:alfresco\bootstrap\invite\invite-email.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_ invite-email.ftl diff --git a/config/alfresco/bootstrap/spaces.xml b/config/alfresco/bootstrap/spaces.xml index 13adb72acd..b5b5078609 100644 --- a/config/alfresco/bootstrap/spaces.xml +++ b/config/alfresco/bootstrap/spaces.xml @@ -70,7 +70,7 @@ true - Email template used to generate the invite email for Alfresco Share + ${spaces.templates.email.generate_the_invite_email.description} contentUrl=classpath:alfresco/bootstrap/invite/invite-email.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_ invite-email.ftl diff --git a/config/alfresco/bootstrap/webScripts.xml b/config/alfresco/bootstrap/webScripts.xml index 7042587e0c..19d6422120 100644 --- a/config/alfresco/bootstrap/webScripts.xml +++ b/config/alfresco/bootstrap/webScripts.xml @@ -28,6 +28,54 @@ + + + + + + + + true + ${webscripts.what_are_web_scripts} + contentUrl=classpath:alfresco/bootstrap/webscripts/readme_ja.html|mimetype=text/html|size=|encoding=UTF-8|locale=ja + + + readme_ja.html + + + + + + + + + + + true + ${webscripts.what_are_web_scripts} + contentUrl=classpath:alfresco/bootstrap/webscripts/readme_de.html|mimetype=text/html|size=|encoding=UTF-8|locale=de + + + readme_de.html + + + + + + + + + + + true + ${webscripts.what_are_web_scripts} + contentUrl=classpath:alfresco/bootstrap/webscripts/readme_fr.html|mimetype=text/html|size=|encoding=UTF-8|locale=fr + + + readme_fr.html + + + 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
+

${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 hasAspect(document, "cm:countable") == 1 && document.properties['cm:counter']?exists> - Counter: ${document.properties['cm:counter']}
+ ${message("templates.doc_info.counter")} ${document.properties['cm:counter']}
- Aspects: + ${message("templates.doc_info.aspects")} <#list document.aspects as aspect>
${aspect}
- Assocs: + ${message("templates.doc_info.assocs")} <#list document.assocs?keys as key>
${key} @@ -26,7 +26,7 @@
- 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 @@
<#else> - No document found! + ${message("templates.doc_info.no_document_found")} 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}
-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}
-

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 @@
-

Assoc example:

+

${message("templates.general_example.assoc_example")}

<#if userhome.children[0].assocs["cm:contains"]?exists> ${userhome.children[0].assocs["cm:contains"][0].name} -

=====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} <#else> - No
+ ${message("templates.localizable.no")}
<#else> - No document found! + ${message("templates.localizable.no_document_found")} \ 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 @@ - - - + + + <#list userhome.children as child> <#if child.isDocument> - - + + 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 -->
NameSizeLocked${message("templates.my_docs.name")}${message("templates.my_docs.size")}${message("templates.my_docs.locked")}
${child.properties.name}${(child.size / 1000)?string("0.##")} KB <#if child.isLocked>Yes${(child.size / 1000)?string("0.##")} ${message("templates.my_docs.kb")} <#if child.isLocked>${message("templates.my_docs.yes")}
- - - - - + + + + +
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")}

- - - + + + <#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}
NameCreated DateModified Date${message("templates.recent_docs.name")}${message("templates.recent_docs.created_date")}${message("templates.recent_docs.modified_date")}
- - - - - - - - - - - - - - - + + + + + + + + + + + + + + + <#list document.auditTrail as t> @@ -85,25 +85,25 @@
User NameApplicationServiceMethodTimestampFailedMessageArg 1Arg 2Arg 3Arg 4Arg 5ReturnThowableTX${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")}
<#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}
- - - - - - - - - - - - - - - + + + + + + + + + + + + + + + <#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")}
User NameApplicationServiceMethodTimestampFailedMessageArg 1Arg 2Arg 3Arg 4Arg 5ReturnThowableTX${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")}
<#if document.assocs["cm:translations"]?exists> <#list document.assocs["cm:translations"] as t> @@ -11,8 +11,8 @@
<#else> - No
+ ${message("templates.translatable.no")}
<#else> - No document found! + ${message("templates.translatable.no_document_found")}
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> +--> +<#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 space.childByNamePath["${ftlFilename}"]?exists> + <#include space.childByNamePath["${ftlFilename}"].nodeRef> + + 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