Merged V3.2 to HEAD

15506: Fix for ALFCOM-3274 - removed double-encoding of webview dashlet title when set from Configure dialog.
   15543: Fixes for ETHREEOH-2596 and ETHREEOH-2392. Any Admin user now forced to enter old password when editing themselves in the Share User Admin console.
   15620:Merged V3.1 to V3.2
      15595: Merged DEV-TEMPORARY to V3.1
         15446: Appropriate JSP page was modified to align radio buttons.
      15597: Fix for ETHREEOH-2575 - all PNG files now appear in IE6, note that PNG transparency is not supported in IE6.
      15598: Merged DEV-TEMPORARY to V3.1
         15593: ETHREEOH-2445: Localization Issues [Email Templates and RSS Templates ACPs I18N]
      15599: Merged DEV-TEMPORARY to V3.1
         15491: ETHREEOH-2460: Localization Issues - Email template
      15601: *RECORD ONLY* Merged V3.2 to V3.1
         15504: ETHREEOH-2447: My Content page localisation failing. [backport from V3.2]
      15613: *RECORD ONLY* Removed reference to portlets message bundle - as per CHK-8518
   15784: Minor performance improvements to data dictionary classes relating to Permission evaluations.
   15791: Merged V3.1 to V3.2
      15693: Merged DEV-TEMPORARY to V3.1
         15648: ETHREEOH-2549: Templates in 3.1 will need localising
      15743: ETHREEOH-2586: JP:Layout error, the word "....." (cancel) should be in the same line
      15745: ETHREEOH-2493 - HTML and XML encoding fixes to Alfresco OpenSearch keyword and person search HTML/ATOM/RSS feed templates.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15793 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-08-18 15:09:08 +00:00
parent f00d441cae
commit 58c074e716
37 changed files with 446 additions and 109 deletions

View File

@@ -6,10 +6,10 @@
<app:uifacets></app:uifacets> <app:uifacets></app:uifacets>
</view:aspects> </view:aspects>
<view:properties> <view:properties>
<cm:description>Customized Messages</cm:description> <cm:description>${spaces.messages.description}</cm:description>
<app:icon>space-icon-default</app:icon> <app:icon>space-icon-default</app:icon>
<cm:title>Customized Messages</cm:title> <cm:title>${spaces.messages.title}</cm:title>
<cm:name>Messages</cm:name> <cm:name>${spaces.messages.name}</cm:name>
</view:properties> </view:properties>
</cm:folder> </cm:folder>
</view:view> </view:view>

View File

@@ -6,10 +6,10 @@
<app:uifacets></app:uifacets> <app:uifacets></app:uifacets>
</view:aspects> </view:aspects>
<view:properties> <view:properties>
<cm:description>Customized Web Client</cm:description> <cm:description>${spaces.web.client.extension.description}</cm:description>
<app:icon>space-icon-default</app:icon> <app:icon>space-icon-default</app:icon>
<cm:title>Customized Web Client</cm:title> <cm:title>${spaces.web.client.extension.title}</cm:title>
<cm:name>Web Client Extension</cm:name> <cm:name>${spaces.web.client.extension.name}</cm:name>
</view:properties> </view:properties>
</cm:folder> </cm:folder>
</view:view> </view:view>

View File

@@ -7,10 +7,10 @@
<app:uifacets></app:uifacets> <app:uifacets></app:uifacets>
</view:aspects> </view:aspects>
<view:properties> <view:properties>
<cm:description>Invite email templates</cm:description> <cm:description>${spaces.templates.email.invite.description}</cm:description>
<app:icon>space-icon-default</app:icon> <app:icon>space-icon-default</app:icon>
<cm:title>invite</cm:title> <cm:title>${spaces.templates.email.invite.name}</cm:title>
<cm:name>invite</cm:name> <cm:name>${spaces.templates.email.invite.name}</cm:name>
</view:properties> </view:properties>
<view:associations> <view:associations>
<cm:contains> <cm:contains>
@@ -25,7 +25,7 @@
<app:editInline> <app:editInline>
true true
</app:editInline> </app:editInline>
<cm:description>Email template used to generate the invite email for Alfresco Share</cm:description> <cm:description>${spaces.templates.email.generate_the_invite_email.description}</cm:description>
<cm:content>contentUrl=classpath:alfresco\bootstrap\invite\invite-email.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_</cm:content> <cm:content>contentUrl=classpath:alfresco\bootstrap\invite\invite-email.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_</cm:content>
<cm:title>invite-email.ftl</cm:title> <cm:title>invite-email.ftl</cm:title>
<cm:author></cm:author> <cm:author></cm:author>

View File

@@ -70,7 +70,7 @@
</view:aspects> </view:aspects>
<view:properties> <view:properties>
<app:editInline>true</app:editInline> <app:editInline>true</app:editInline>
<cm:description>Email template used to generate the invite email for Alfresco Share</cm:description> <cm:description>${spaces.templates.email.generate_the_invite_email.description}</cm:description>
<cm:content>contentUrl=classpath:alfresco/bootstrap/invite/invite-email.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_</cm:content> <cm:content>contentUrl=classpath:alfresco/bootstrap/invite/invite-email.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_</cm:content>
<cm:title>invite-email.ftl</cm:title> <cm:title>invite-email.ftl</cm:title>
<cm:author></cm:author> <cm:author></cm:author>

View File

@@ -28,6 +28,54 @@
</view:properties> </view:properties>
<view:associations></view:associations> <view:associations></view:associations>
</cm:content> </cm:content>
<cm:content view:childName="cm:readme_ja.html">
<view:aspects>
<cm:titled></cm:titled>
<cm:author></cm:author>
<app:inlineeditable></app:inlineeditable>
</view:aspects>
<view:properties>
<app:editInline>true</app:editInline>
<cm:description>${webscripts.what_are_web_scripts}</cm:description>
<cm:content>contentUrl=classpath:alfresco/bootstrap/webscripts/readme_ja.html|mimetype=text/html|size=|encoding=UTF-8|locale=ja</cm:content>
<cm:title></cm:title>
<cm:author></cm:author>
<cm:name>readme_ja.html</cm:name>
</view:properties>
<view:associations></view:associations>
</cm:content>
<cm:content view:childName="cm:readme_de.html">
<view:aspects>
<cm:titled></cm:titled>
<cm:author></cm:author>
<app:inlineeditable></app:inlineeditable>
</view:aspects>
<view:properties>
<app:editInline>true</app:editInline>
<cm:description>${webscripts.what_are_web_scripts}</cm:description>
<cm:content>contentUrl=classpath:alfresco/bootstrap/webscripts/readme_de.html|mimetype=text/html|size=|encoding=UTF-8|locale=de</cm:content>
<cm:title></cm:title>
<cm:author></cm:author>
<cm:name>readme_de.html</cm:name>
</view:properties>
<view:associations></view:associations>
</cm:content>
<cm:content view:childName="cm:readme_fr.html">
<view:aspects>
<cm:titled></cm:titled>
<cm:author></cm:author>
<app:inlineeditable></app:inlineeditable>
</view:aspects>
<view:properties>
<app:editInline>true</app:editInline>
<cm:description>${webscripts.what_are_web_scripts}</cm:description>
<cm:content>contentUrl=classpath:alfresco/bootstrap/webscripts/readme_fr.html|mimetype=text/html|size=|encoding=UTF-8|locale=fr</cm:content>
<cm:title></cm:title>
<cm:author></cm:author>
<cm:name>readme_fr.html</cm:name>
</view:properties>
<view:associations></view:associations>
</cm:content>
<cm:folder view:childName="cm:org"> <cm:folder view:childName="cm:org">
<view:aspects> <view:aspects>
<app:uifacets></app:uifacets> <app:uifacets></app:uifacets>

View File

@@ -0,0 +1,24 @@
<p>Please translate me!</p>
<h1>Web Scripts</h1>
<p>
<p>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.&nbsp; They are ideal for building data access &amp; update APIs and simple UI components such as Portlets.&nbsp; Development of Web Scripts may be performed within LiveCycle Contentspace ES.&nbsp; Knowledge of Java is <em><strong>not</strong></em> required.<br/>
</p>
<p>
For example, you could create the following API for your particular application...
</p>
<dl><dt><strong>Execute a search</strong> </dt></dl>
<p>
GET http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/category/{category}
</p>
<dl><dt><strong>Retrieve meta-data for an item in the repository</strong> </dt></dl>
<p>
GET http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/2007/03/04/new-release
</p>
<dl><dt><strong>Update meta-data for an item in the repository</strong> </dt></dl>
<p>
POST http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/2007/03/04/new-release?status=Draft
</p>
<dl><dt><strong>Delete an item in the repository</strong></dt></dl>
<p>
DELETE http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/2007/03/04/new-release
</p>

View File

@@ -0,0 +1,24 @@
<p>Please translate me!</p>
<h1>Web Scripts</h1>
<p>
<p>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.&nbsp; They are ideal for building data access &amp; update APIs and simple UI components such as Portlets.&nbsp; Development of Web Scripts may be performed within LiveCycle Contentspace ES.&nbsp; Knowledge of Java is <em><strong>not</strong></em> required.<br/>
</p>
<p>
For example, you could create the following API for your particular application...
</p>
<dl><dt><strong>Execute a search</strong> </dt></dl>
<p>
GET http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/category/{category}
</p>
<dl><dt><strong>Retrieve meta-data for an item in the repository</strong> </dt></dl>
<p>
GET http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/2007/03/04/new-release
</p>
<dl><dt><strong>Update meta-data for an item in the repository</strong> </dt></dl>
<p>
POST http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/2007/03/04/new-release?status=Draft
</p>
<dl><dt><strong>Delete an item in the repository</strong></dt></dl>
<p>
DELETE http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/2007/03/04/new-release
</p>

View File

@@ -0,0 +1,24 @@
<p>Please translate me!</p>
<h1>Web Scripts</h1>
<p>
<p>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.&nbsp; They are ideal for building data access &amp; update APIs and simple UI components such as Portlets.&nbsp; Development of Web Scripts may be performed within LiveCycle Contentspace ES.&nbsp; Knowledge of Java is <em><strong>not</strong></em> required.<br/>
</p>
<p>
For example, you could create the following API for your particular application...
</p>
<dl><dt><strong>Execute a search</strong> </dt></dl>
<p>
GET http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/category/{category}
</p>
<dl><dt><strong>Retrieve meta-data for an item in the repository</strong> </dt></dl>
<p>
GET http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/2007/03/04/new-release
</p>
<dl><dt><strong>Update meta-data for an item in the repository</strong> </dt></dl>
<p>
POST http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/2007/03/04/new-release?status=Draft
</p>
<dl><dt><strong>Delete an item in the repository</strong></dt></dl>
<p>
DELETE http://&lt;host&gt;:&lt;port&gt;/contentspace/service/blog/2007/03/04/new-release
</p>

View File

@@ -394,6 +394,7 @@
<value>alfresco.messages.coci-service</value> <value>alfresco.messages.coci-service</value>
<value>alfresco.messages.discussion-messages</value> <value>alfresco.messages.discussion-messages</value>
<value>alfresco.messages.template-service</value> <value>alfresco.messages.template-service</value>
<value>alfresco.messages.templates-messages</value>
<value>alfresco.messages.lock-service</value> <value>alfresco.messages.lock-service</value>
<value>alfresco.messages.patch-service</value> <value>alfresco.messages.patch-service</value>
<value>alfresco.messages.period-provider</value> <value>alfresco.messages.period-provider</value>
@@ -1065,6 +1066,7 @@
<value>alfresco/messages/bpm-messages</value> <value>alfresco/messages/bpm-messages</value>
<value>alfresco/messages/application-model</value> <value>alfresco/messages/application-model</value>
<value>alfresco/messages/forum-model</value> <value>alfresco/messages/forum-model</value>
<value>alfresco/messages/email-server-model</value>
</list> </list>
</property> </property>
</bean> </bean>

View File

@@ -447,6 +447,7 @@
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.content.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.content.childname}</prop>
<prop key="location">alfresco/templates/readme_template.xml</prop> <prop key="location">alfresco/templates/readme_template.xml</prop>
<prop key="messages">alfresco/messages/bootstrap-readme-template</prop>
</props> </props>
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.email.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.email.childname}</prop>
@@ -461,6 +462,7 @@
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.scripts.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.scripts.childname}</prop>
<prop key="location">alfresco/bootstrap/example_javascripts.acp</prop> <prop key="location">alfresco/bootstrap/example_javascripts.acp</prop>
<prop key="messages">alfresco/messages/bootstrap-example-javascripts</prop>
</props> </props>
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
@@ -480,19 +482,23 @@
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
<prop key="location">alfresco/bootstrap/customModelsSpace.acp</prop> <prop key="location">alfresco/bootstrap/customModelsSpace.acp</prop>
<prop key="messages">alfresco/messages/bootstrap-spaces</prop>
</props> </props>
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
<prop key="location">alfresco/bootstrap/customMessagesSpace.xml</prop> <prop key="location">alfresco/bootstrap/customMessagesSpace.xml</prop>
<prop key="messages">alfresco/messages/bootstrap-spaces</prop>
</props> </props>
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
<prop key="location">alfresco/bootstrap/customWebClientExtensionSpace.xml</prop> <prop key="location">alfresco/bootstrap/customWebClientExtensionSpace.xml</prop>
<prop key="messages">alfresco/messages/bootstrap-spaces</prop>
</props> </props>
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
<prop key="location">alfresco/bootstrap/customWorkflowDefsSpace.acp</prop> <prop key="location">alfresco/bootstrap/customWorkflowDefsSpace.acp</prop>
<prop key="messages">alfresco/messages/bootstrap-spaces</prop>
</props> </props>
<props> <props>

View File

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

View File

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

View File

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

View File

@@ -58,4 +58,32 @@ spaces.templates.email.invite.name=invite
spaces.templates.email.invite.description=Invite email templates spaces.templates.email.invite.description=Invite email templates
spaces.imap_home.name=IMAP Home spaces.imap_home.name=IMAP Home
spaces.imap_home.description=IMAP Home 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

View File

@@ -212,6 +212,11 @@ cm_contentmodel.aspect.cm_generalclassifiable.description=Classifiable
cm_contentmodel.property.cm_categories.title=Categories cm_contentmodel.property.cm_categories.title=Categories
cm_contentmodel.property.cm_categories.description=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.title=Attachable
cm_contentmodel.aspect.cm_attachable.description=Allows other repository objects to be attached cm_contentmodel.aspect.cm_attachable.description=Allows other repository objects to be attached
cm_contentmodel.association.cm_attachments.title=Attachments cm_contentmodel.association.cm_attachments.title=Attachments

View File

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

View File

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

View File

@@ -767,6 +767,7 @@
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.content.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.content.childname}</prop>
<prop key="location">alfresco/templates/readme_template.xml</prop> <prop key="location">alfresco/templates/readme_template.xml</prop>
<prop key="messages">alfresco/messages/bootstrap-readme-template</prop>
</props> </props>
</property> </property>
</bean> </bean>
@@ -845,6 +846,7 @@
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
<prop key="location">alfresco/bootstrap/customModelsSpace.acp</prop> <prop key="location">alfresco/bootstrap/customModelsSpace.acp</prop>
<prop key="messages">alfresco/messages/bootstrap-spaces</prop>
</props> </props>
</property> </property>
</bean> </bean>
@@ -866,6 +868,7 @@
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
<prop key="location">alfresco/bootstrap/customMessagesSpace.xml</prop> <prop key="location">alfresco/bootstrap/customMessagesSpace.xml</prop>
<prop key="messages">alfresco/messages/bootstrap-spaces</prop>
</props> </props>
</property> </property>
</bean> </bean>
@@ -887,6 +890,7 @@
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
<prop key="location">alfresco/bootstrap/customWebClientExtensionSpace.xml</prop> <prop key="location">alfresco/bootstrap/customWebClientExtensionSpace.xml</prop>
<prop key="messages">alfresco/messages/bootstrap-spaces</prop>
</props> </props>
</property> </property>
</bean> </bean>
@@ -954,6 +958,7 @@
<props> <props>
<prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop> <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
<prop key="location">alfresco/bootstrap/customWorkflowDefsSpace.acp</prop> <prop key="location">alfresco/bootstrap/customWorkflowDefsSpace.acp</prop>
<prop key="messages">alfresco/messages/bootstrap-spaces</prop>
</props> </props>
</property> </property>
</bean> </bean>

View File

@@ -1,22 +1,22 @@
<#-- Shows some general info about the current document, including NodeRef and aspects applied --> <#-- Shows some general info about the current document, including NodeRef and aspects applied -->
<#if document?exists> <#if document?exists>
<h4>Current Document Info:</h4> <h4>${message("templates.doc_info.current_document_info")}</h4>
<b>Name:</b> ${document.name}<br> <b>${message("templates.doc_info.name")}</b> ${document.name}<br>
<b>Ref:</b> ${document.nodeRef}<br> <b>${message("templates.doc_info.ref")}</b> ${document.nodeRef}<br>
<b>Type:</b> ${document.type}<br> <b>${message("templates.doc_info.type")}</b> ${document.type}<br>
<b>DBID:</b> ${document.properties["sys:node-dbid"]}<br> <b>${message("templates.doc_info.dbid")}</b> ${document.properties["sys:node-dbid"]}<br>
<b>Content URL:</b> <a href="${url.context}${document.url}">${url.context}${document.url}</a><br> <b>${message("templates.doc_info.content_url")}</b> <a href="${url.context}${document.url}">/contentspace${document.url}</a><br>
<b>Locked:</b> <#if document.isLocked>Yes<#else>No</#if><br> <b>${message("templates.doc_info.locked")}</b> <#if document.isLocked>Yes<#else>No</#if><br>
<#if hasAspect(document, "cm:countable") == 1 && document.properties['cm:counter']?exists> <#if hasAspect(document, "cm:countable") == 1 && document.properties['cm:counter']?exists>
<b>Counter:</b> ${document.properties['cm:counter']}<br> <b>${message("templates.doc_info.counter")}</b> ${document.properties['cm:counter']}<br>
</#if> </#if>
<b>Aspects:</b> <b>${message("templates.doc_info.aspects")}</b>
<table> <table>
<#list document.aspects as aspect> <#list document.aspects as aspect>
<tr><td>${aspect}</td></tr> <tr><td>${aspect}</td></tr>
</#list> </#list>
</table> </table>
<b>Assocs:</b> <b>${message("templates.doc_info.assocs")}</b>
<table> <table>
<#list document.assocs?keys as key> <#list document.assocs?keys as key>
<tr><td>${key}</td><td> <tr><td>${key}</td><td>
@@ -26,7 +26,7 @@
</td></tr> </td></tr>
</#list> </#list>
</table> </table>
<b>Properties:</b> <b>${message("templates.doc_info.properties")}</b>
<table> <table>
<#-- Get a list of all the property names for the document --> <#-- Get a list of all the property names for the document -->
<#assign props = document.properties?keys> <#assign props = document.properties?keys>
@@ -53,5 +53,5 @@
</#list> </#list>
</table> </table>
<#else> <#else>
No document found! ${message("templates.doc_info.no_document_found")}
</#if> </#if>

View File

@@ -1,33 +1,33 @@
<h3>=====Example Template Start=====</h3> <h3>${message("templates.general_example.example_template_start")}</h3>
<b>Company Home Space:</b> ${companyhome.properties.name} <b>${message("templates.general_example.company_home_space")}</b> ${companyhome.properties.name}
<br> <br>
<b>My Home Space:</b> ${userhome.properties.name} <b>${message("templates.general_example.my_home_space")}</b> ${userhome.properties.name}
<br> <br>
<b>Company Home children count:</b> ${companyhome.children?size} <b>${message("templates.general_example.company_home_children_count")}</b> ${companyhome.children?size}
<br> <br>
<b>Company Home first child node name:</b> ${companyhome.children[0].properties.name} <b>${message("templates.general_example.company_home_first_child_node_name")}</b> ${companyhome.children[0].properties.name}
<br> <br>
<#if document?exists> <#if document?exists>
<b>Current Document Name:</b> ${document.name} <b>${message("templates.general_example.current_document_name")}</b> ${document.name}
<br> <br>
</#if> </#if>
<b>Current Space Name:</b> ${space.name} <b>${message("templates.general_example.current_space_name")}</b> ${space.name}
<h4>List of child spaces in my Home Space:</h4> <h4>${message("templates.general_example.list_of_child_spaces_in_my_home_space")}</h4>
<table> <table>
<#list userhome.children as child> <#list userhome.children as child>
<#if child.isContainer> <#if child.isContainer>
<tr> <tr>
<td><img src="${url.context}${child.icon32}"></td> <td><img src="${url.context}${child.icon32}"></td>
<td><b>${child.properties.name}</b> (${child.children?size})</td> <td><b>${child.properties.name}</b> (${child.children?size})</td>
<td><b>Path:</b> ${child.displayPath}</td> <td><b>${message("templates.general_example.path")}</b> ${child.displayPath}</td>
</tr> </tr>
</#if> </#if>
</#list> </#list>
</table> </table>
<h4>List of docs in my Home Space (text only content shown inline, JPG images shown as thumbnails):</h4> <h4>${message("templates.general_example.list_of_docs_in_my_home_space")}</h4>
<table> <table>
<#list userhome.children as child> <#list userhome.children as child>
<#if child.isDocument> <#if child.isDocument>
@@ -41,9 +41,9 @@
</#list> </#list>
</table> </table>
<h4>Assoc example:</h4> <h4>${message("templates.general_example.assoc_example")}</h4>
<#if userhome.children[0].assocs["cm:contains"]?exists> <#if userhome.children[0].assocs["cm:contains"]?exists>
${userhome.children[0].assocs["cm:contains"][0].name} ${userhome.children[0].assocs["cm:contains"][0].name}
</#if> </#if>
<h3>=====Example Template End=====</h3> <h3>${message("templates.general_example.example_template_end")}</h3>

View File

@@ -1,14 +1,14 @@
<#-- Shows if a document is localizable and the locale if set --> <#-- Shows if a document is localizable and the locale if set -->
<b>Localisable:</b> <b>${message("templates.localizable.localisable")}</b>
<#if document?exists> <#if document?exists>
<#if hasAspect(document, "cm:localizable") = 1> <#if hasAspect(document, "cm:localizable") = 1>
Yes<br> ${message("templates.localizable.yes")}<br>
<#if document.properties.locale?exists> <#if document.properties.locale?exists>
Locale: ${document.properties.locale.properties.name} ${message("templates.localizable.locale")} ${document.properties.locale.properties.name}
</#if> </#if>
<#else> <#else>
No<br> ${message("templates.localizable.no")}<br>
</#if> </#if>
<#else> <#else>
No document found! ${message("templates.localizable.no_document_found")}
</#if> </#if>

View File

@@ -3,17 +3,17 @@
<table> <table>
<tr> <tr>
<td></td> <td></td>
<td><b>Name</b></td> <td><b>${message("templates.my_docs.name")}</b></td>
<td><b>Size</b></td> <td><b>${message("templates.my_docs.size")}</b></td>
<td><b>Locked</b></td> <td><b>${message("templates.my_docs.locked")}</b></td>
</tr> </tr>
<#list userhome.children as child> <#list userhome.children as child>
<#if child.isDocument> <#if child.isDocument>
<tr> <tr>
<td><a href="${url.context}${child.url}" target="new"><img src="${url.context}${child.icon16}" border=0></a></td> <td><a href="${url.context}${child.url}" target="new"><img src="${url.context}${child.icon16}" border=0></a></td>
<td><a href="${url.context}${child.url}" target="new">${child.properties.name}</a></td> <td><a href="${url.context}${child.url}" target="new">${child.properties.name}</a></td>
<td>${(child.size / 1000)?string("0.##")} KB</td> <td>${(child.size / 1000)?string("0.##")} ${message("templates.my_docs.kb")}</td>
<td>&nbsp;<#if child.isLocked>Yes</#if></td> <td>&nbsp;<#if child.isLocked>${message("templates.my_docs.yes")}</#if></td>
</tr> </tr>
</#if> </#if>
</#list> </#list>

View File

@@ -1,8 +1,8 @@
<#-- Table of some summary details about the current user --> <#-- Table of some summary details about the current user -->
<table> <table>
<tr><td><b>Name:</b></td> <td>${person.properties.firstName?html} ${person.properties.lastName?html}</td></tr> <tr><td><b>${message("templates.my_summary.name")}</b></td> <td>${person.properties.firstName?html} ${person.properties.lastName?html}</td></tr>
<tr><td><b>User:</b></td> <td>${person.properties.userName}</td></tr> <tr><td><b>${message("templates.my_summary.user")}</b></td> <td>${person.properties.userName}</td></tr>
<tr><td><b>Home Space location:</b></td> <td>${userhome.displayPath}/${userhome.name}</td></tr> <tr><td><b>${message("templates.my_summary.home_space_location")}</b></td> <td>${userhome.displayPath}/${userhome.name}</td></tr>
<tr><td><b>Items in Home Space:</b></td> <td>${userhome.children?size}</td></tr> <tr><td><b>${message("templates.my_summary.items_in_home_space")}</b></td> <td>${userhome.children?size}</td></tr>
<tr><td><b>Items in Company Space:</b></td> <td>${companyhome.children?size}</td></tr> <tr><td><b>${message("templates.my_summary.items_in_company_space")}</b></td> <td>${companyhome.children?size}</td></tr>
</table> </table>

View File

@@ -1,11 +1,11 @@
<#-- Table of docs in a specific folder, that have been created or modified in the last week --> <#-- Table of docs in a specific folder, that have been created or modified in the last week -->
<h3>Documents created or modified in the last week</h3> <h3>${message("templates.recent_docs.documents_created_or_modified_in_the_last_week")}</h3>
<table cellpadding=2> <table cellpadding=2>
<tr> <tr>
<td></td> <td></td>
<td><b>Name</b></td> <td><b>${message("templates.recent_docs.name")}</b></td>
<td><b>Created Date</b></td> <td><b>${message("templates.recent_docs.created_date")}</b></td>
<td><b>Modified Date</b></td> <td><b>${message("templates.recent_docs.modified_date")}</b></td>
</tr> </tr>
<#list space.childrenByXPath[".//*[subtypeOf('cm:content')]"] as child> <#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)> <#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)>

View File

@@ -1,24 +1,24 @@
<#-- Shows some general audit info about the current document --> <#-- Shows some general audit info about the current document -->
<#if document?exists> <#if document?exists>
<h4>Current Document Audit Info</h4> <h4>${message("templates.show_audit.current_document_audit_info")}</h4>
<b>Name:</b> ${document.name}<br> <b>${message("templates.show_audit.name")}</b> ${document.name}<br>
<table border="1" cellspacing="0" cellpadding="4"> <table border="1" cellspacing="0" cellpadding="4">
<tr> <tr>
<th>User Name</th> <th>${message("templates.show_audit.user_name")}</th>
<th>Application</th> <th>${message("templates.show_audit.application")}</th>
<th>Service</th> <th>${message("templates.show_audit.service")}</th>
<th>Method</th> <th>${message("templates.show_audit.method")}</th>
<th>Timestamp</th> <th>${message("templates.show_audit.timestamp")}</th>
<th>Failed</th> <th>${message("templates.show_audit.failed")}</th>
<th>Message</th> <th>${message("templates.show_audit.message")}</th>
<th>Arg 1</th> <th>${message("templates.show_audit.arg_1")}</th>
<th>Arg 2</th> <th>${message("templates.show_audit.arg_2")}</th>
<th>Arg 3</th> <th>${message("templates.show_audit.arg_3")}</th>
<th>Arg 4</th> <th>${message("templates.show_audit.arg_4")}</th>
<th>Arg 5</th> <th>${message("templates.show_audit.arg_5")}</th>
<th>Return</th> <th>${message("templates.show_audit.return")}</th>
<th>Thowable</th> <th>${message("templates.show_audit.thowable")}</th>
<th>TX</th> <th>${message("templates.show_audit.tx")}</th>
</tr> </tr>
<#list document.auditTrail as t> <#list document.auditTrail as t>
<tr> <tr>
@@ -85,25 +85,25 @@
</#list> </#list>
</table> </table>
<#elseif space?exists> <#elseif space?exists>
<h4>Current Space Audit Info:</h4> <h4>${message("templates.show_audit.current_space_audit_info")}</h4>
<b>Name:</b> ${space.name}<br> <b>${message("templates.show_audit.name")}</b> ${space.name}<br>
<table border="1" cellspacing="0" cellpadding="4"> <table border="1" cellspacing="0" cellpadding="4">
<tr> <tr>
<th>User Name</th> <th>${message("templates.show_audit.user_name")}</th>
<th>Application</th> <th>${message("templates.show_audit.application")}</th>
<th>Service</th> <th>${message("templates.show_audit.service")}</th>
<th>Method</th> <th>${message("templates.show_audit.method")}</th>
<th>Timestamp</th> <th>${message("templates.show_audit.timestamp")}</th>
<th>Failed</th> <th>${message("templates.show_audit.failed")}</th>
<th>Message</th> <th>${message("templates.show_audit.message")}</th>
<th>Arg 1</th> <th>${message("templates.show_audit.arg_1")}</th>
<th>Arg 2</th> <th>${message("templates.show_audit.arg_2")}</th>
<th>Arg 3</th> <th>${message("templates.show_audit.arg_3")}</th>
<th>Arg 4</th> <th>${message("templates.show_audit.arg_4")}</th>
<th>Arg 5</th> <th>${message("templates.show_audit.arg_5")}</th>
<th>Return</th> <th>${message("templates.show_audit.return")}</th>
<th>Thowable</th> <th>${message("templates.show_audit.thowable")}</th>
<th>TX</th> <th>${message("templates.show_audit.tx")}</th>
</tr> </tr>
<#list space.auditTrail as t> <#list space.auditTrail as t>

View File

@@ -1,8 +1,8 @@
<#-- Shows the translations applied to a doc through the translatable aspect --> <#-- Shows the translations applied to a doc through the translatable aspect -->
<b>Translatable:</b> <b>${message("templates.translatable.translatable")}</b>
<#if document?exists> <#if document?exists>
<#if hasAspect(document, "cm:translatable") = 1> <#if hasAspect(document, "cm:translatable") = 1>
Yes<br> ${message("templates.translatable.yes")}<br>
<table> <table>
<#if document.assocs["cm:translations"]?exists> <#if document.assocs["cm:translations"]?exists>
<#list document.assocs["cm:translations"] as t> <#list document.assocs["cm:translations"] as t>
@@ -11,8 +11,8 @@
</#if> </#if>
</table> </table>
<#else> <#else>
No<br> ${message("templates.translatable.no")}<br>
</#if> </#if>
<#else> <#else>
No document found! ${message("templates.translatable.no_document_found")}<br>
</#if> </#if>

View File

@@ -1,5 +1,5 @@
<#-- Displays the contents of readme.html and/or the evaluated readme.ftl if they exist in the current space. --> <#-- 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 htmlFilename = "readme.html"/>
<#assign ftlFilename = "readme.ftl"/> <#assign ftlFilename = "readme.ftl"/>
@@ -11,3 +11,22 @@
<#include space.childByNamePath["${ftlFilename}"].nodeRef> <#include space.childByNamePath["${ftlFilename}"].nodeRef>
</#if> </#if>
</#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>

View File

@@ -8,9 +8,9 @@
</view:aspects> </view:aspects>
<view:properties> <view:properties>
<app:editInline>true</app:editInline> <app:editInline>true</app:editInline>
<cm:description>Display the contents of a readme file (named readme.html or readme.ftl)</cm:description> <cm:description>${readme.template.description}</cm:description>
<cm:content>contentUrl=/alfresco/templates/readme.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_</cm:content> <cm:content>contentUrl=/alfresco/templates/readme.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_</cm:content>
<cm:title>readme.ftl</cm:title> <cm:title>${readme.template.title}</cm:title>
<cm:author>Mike Farman</cm:author> <cm:author>Mike Farman</cm:author>
<cm:name>readme.ftl</cm:name> <cm:name>readme.ftl</cm:name>
</view:properties> </view:properties>

View File

@@ -30,6 +30,7 @@ import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import org.alfresco.service.cmr.dictionary.AspectDefinition; import org.alfresco.service.cmr.dictionary.AspectDefinition;
import org.alfresco.service.cmr.dictionary.AssociationDefinition; import org.alfresco.service.cmr.dictionary.AssociationDefinition;
@@ -101,6 +102,14 @@ import org.alfresco.service.namespace.QName;
return type.getDefaultAspects(inherited); return type.getDefaultAspects(inherited);
} }
/* (non-Javadoc)
* @see org.alfresco.service.cmr.dictionary.ClassDefinition#getDefaultAspectNames()
*/
public Set<QName> getDefaultAspectNames()
{
return type.getDefaultAspectNames();
}
/* (non-Javadoc) /* (non-Javadoc)
* @see org.alfresco.repo.dictionary.ClassDefinition#getName() * @see org.alfresco.repo.dictionary.ClassDefinition#getName()
*/ */

View File

@@ -29,8 +29,10 @@ import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import org.alfresco.service.cmr.dictionary.AspectDefinition; import org.alfresco.service.cmr.dictionary.AspectDefinition;
import org.alfresco.service.cmr.dictionary.AssociationDefinition; import org.alfresco.service.cmr.dictionary.AssociationDefinition;
@@ -65,6 +67,7 @@ import org.alfresco.service.namespace.QName;
private List<AspectDefinition> defaultAspects = new ArrayList<AspectDefinition>(); private List<AspectDefinition> defaultAspects = new ArrayList<AspectDefinition>();
private List<QName> defaultAspectNames = new ArrayList<QName>(); private List<QName> defaultAspectNames = new ArrayList<QName>();
private List<AspectDefinition> inheritedDefaultAspects = new ArrayList<AspectDefinition>(); private List<AspectDefinition> inheritedDefaultAspects = new ArrayList<AspectDefinition>();
private Set<QName> inheritedDefaultAspectNames = new HashSet<QName>();
private Boolean archive = null; private Boolean archive = null;
private Boolean inheritedArchive = 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 // resolve archive inheritance
if (parentClass != null && archive == null) if (parentClass != null && archive == null)
{ {
@@ -436,6 +445,14 @@ import org.alfresco.service.namespace.QName;
{ {
return inherited ? getDefaultAspects() : defaultAspects; return inherited ? getDefaultAspects() : defaultAspects;
} }
/**
* @see org.alfresco.service.cmr.dictionary.ClassDefinition#getDefaultAspectNames()
*/
public Set<QName> getDefaultAspectNames()
{
return inheritedDefaultAspectNames;
}
/* (non-Javadoc) /* (non-Javadoc)
* @see org.alfresco.service.cmr.dictionary.ClassDefinition#isContainer() * @see org.alfresco.service.cmr.dictionary.ClassDefinition#isContainer()

View File

@@ -491,26 +491,19 @@ public class PermissionModel implements ModelDAO, InitializingBean
private Set<PermissionReference> getAllPermissionsImpl(QName typeName, Set<QName> aspects, boolean exposedOnly) private Set<PermissionReference> getAllPermissionsImpl(QName typeName, Set<QName> aspects, boolean exposedOnly)
{ {
Set<PermissionReference> permissions = new LinkedHashSet<PermissionReference>(256, 1.0f); Set<PermissionReference> permissions = new LinkedHashSet<PermissionReference>(128, 1.0f);
ClassDefinition cd = dictionaryService.getClass(typeName); ClassDefinition cd = dictionaryService.getClass(typeName);
permissions.addAll(getAllPermissionsImpl(typeName, exposedOnly)); permissions.addAll(getAllPermissionsImpl(typeName, exposedOnly));
if (cd != null) if (cd != null && aspects != null)
{ {
Set<QName> defaultAspects = new HashSet<QName>(); Set<QName> defaultAspects = cd.getDefaultAspectNames();
for (AspectDefinition aspDef : cd.getDefaultAspects()) for (QName aspect : aspects)
{ {
defaultAspects.add(aspDef.getName()); if (!defaultAspects.contains(aspect))
}
if (aspects != null)
{
for (QName aspect : aspects)
{ {
if (!defaultAspects.contains(aspect)) addAspectPermissions(aspect, permissions, exposedOnly);
{
addAspectPermissions(aspect, permissions, exposedOnly);
}
} }
} }
} }

View File

@@ -27,6 +27,7 @@ package org.alfresco.service.cmr.dictionary;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
@@ -115,6 +116,11 @@ public interface ClassDefinition
*/ */
public List<AspectDefinition> getDefaultAspects(); public List<AspectDefinition> getDefaultAspects();
/**
* @return the set of default aspects names associated with this type
*/
public Set<QName> getDefaultAspectNames();
/** /**
* @param inherited include default aspects inherited from super types * @param inherited include default aspects inherited from super types
* @return the default aspects * @return the default aspects