-- tested against alfresco community 4.0b

-- updated references to CE / EE repos
-- reverted default to mysql since H2 does not work
-- updated lifecycle / archetypes version number to 3.9.0-SNAPSHOT (pre-release for 4.0 release), targeting to align to alfresco version numbering
-- preparing for 3.9.0 release

git-svn-id: http://maven-alfresco-archetypes.googlecode.com/svn/trunk@342 04253f4f-3451-0410-a141-5562f1e59037
This commit is contained in:
mindthegab 2011-10-26 09:12:32 +00:00
parent 498803c05d
commit a2bf44c33e
22 changed files with 753 additions and 433 deletions

View File

@ -28,7 +28,7 @@
<parent>
<groupId>com.sourcesense.alfresco</groupId>
<artifactId>maven-alfresco-archetypes</artifactId>
<version>1.9.2-SNAPSHOT</version>
<version>3.9.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<build>

View File

@ -22,7 +22,7 @@
<parent>
<groupId>com.sourcesense.alfresco</groupId>
<artifactId>maven-alfresco-archetypes</artifactId>
<version>1.9.2-SNAPSHOT</version>
<version>3.9.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<description>

View File

@ -4,6 +4,14 @@
<author email="gabriele.columbro@alfresco.com">Gabriele Columbro</author>
</properties>
<body>
<release version="1.9.2" date="2011-10-25" description="Tested against Alfresco 4.0b community">
<action dev="columbro" type="remove">
Removed support for H2 since alfresco does not work with it (even in PGSQL compatibility mode)
</action>
<action dev="columbro" type="update">
Tested against 4.0.b Community
</action>
</release>
<release version="1.9.1" date="2009-12-03" description="Consolidated release to maven.alfresco.com">
<action dev="columbro" type="add">
Added -Prun profile to encapsulate jetty embedded running capabilities

View File

@ -6,6 +6,12 @@
<include>**/*.java</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>jetty</directory>
<includes>
<include>*.xml</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>src/main/webapp</directory>
<includes>

View File

@ -7,8 +7,8 @@
class="org.mortbay.jetty.plus.naming.Resource">
<Arg>jdbc/dataSource</Arg>
<Arg>
<New class="org.h2.jdbcx.JdbcDataSource">
<Set name="URL">jdbc:h2:${alfresco.data.location}/h2_data/${alfresco.db.name}</Set>
<New class="${alfresco.db.datasource.class}">
<Set name="URL">${alfresco.db.url}</Set>
<Set name="User">${alfresco.db.username}</Set>
<Set name="Password">${alfresco.db.password}</Set>
</New>

View File

@ -15,6 +15,17 @@
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!--
| Prerequisites: Mysql installed. Just run mvn clean install -Prun to run Alfresco
| How it works:
| By default the project is overlayed to the alfresco war which depends upon and deployed as a WAR (local development and testing purposes)
| Available properties:
| -Denv ==> toggles src/main/properties/<env>/alfresco-global.properties files (default local)
| -DrestoreVersion=<restoreVersion> - toggles profile "restore" in order to include tools/export/<restoreVersion>/restore/*.acp files in alfresco/extension/restore (default: no restore)
| -Dcustomization.name=<customizationName> - name of the jar artifact containing classes and resources for this extension |
| -Dwebapp.name=<extensionName> - name of the WAR artifact to be built (default: ${artifactId}-{version}.jar )
| DEPRECATED: -Denterprise - Includes LDAP configuration as defined in alfresco-global.properties
-->
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
@ -23,62 +34,46 @@
<packaging>war</packaging>
<url></url>
<description>Alfresco extension</description>
<!--
| | Prerequisite: | - Mysql local instance running and db alf_jetty
created with permissions for alfresco/alfresco user. | | How it works:
| By default the project is overlayed to the alfresco war which
depends upon and deployed as a WAR (local development and testing
purposes) | Available properties: | | -Denv - toggles
src/main/properties/<env>/alfresco-global.properties files (default:
local) | -DrestoreVersion=<restoreVersion> - toggles profile "restore"
in order to include tools/export/<restoreVersion>/restore/*.acp files
in | alfresco/extension/restore (default: no restore) |
-Dcustomization.name=<customizationName> - name of the jar artifact
containing classes and resources for this extension |
-Dwebapp.name=<extensionName> - name of the WAR artifact to be built
(default: ${artifactId}-{version}.jar ) | -Denterprise - Includes LDAP
configuration as defined in alfresco-global.properties
-->
<!-- Default properties -->
<!-- oOo SINGLE POINT OF CONFIGURATION FOR COMMON ALFRESCO PROPERTIES oOo -->
<properties>
<!-- src/main/properties/<env>/alfresco-global.properties is loaded -->
<!-- Alfresco version/edition selection -->
<alfresco.version>4.0.b</alfresco.version>
<alfresco.edition>community</alfresco.edition>
<!-- Build environment ==> src/main/properties/<env>/alfresco-global.properties is loaded -->
<env>local</env>
<!-- Webapp packaged name -->
<webapp.name>alfresco</webapp.name>
<!--
| | By default the src/main/properties/local/alfresco-global.properties
uses the property "alfresco.data.location" to specify where |
alf_data gets created. | For local jetty:run deployment default
creation dir is under project root folder (as location is specified
relatively to run | dir). Please add alf_data_jetty in svn/cvs
ignores in order not to commit that. You can also specified a
different (out of the | sproject) folder | by editing the following
properties. | DB is also configurable here. Of course keep in sync
these two values otherwise you'll get integrity errors. | | Empty log
dir creates file alfresco.log in appserver default dir. You can also
specify a meaningful log directory for the server | (add a trailing
slash, e.g. '/var/log/alfresco/' ) | | Jetty embedded run logs by
default in target/alfresco.log
-->
<alfresco.data.location>./alf_data_jetty</alfresco.data.location>
<alfresco.db.name>alf_jetty</alfresco.db.name>
<alfresco.db.username>alfresco</alfresco.db.username>
<alfresco.db.password>alfresco</alfresco.db.password>
<alfresco.version>3.4.a</alfresco.version>
<!-- Used for 2.1.0 -->
<desktop.action.package>org.alfresco.filesys.repo.desk</desktop.action.package>
<!-- Used for 2.9.0+ -->
<!--
desktop.action.package>org.alfresco.filesys.repo.desk</desktop.action.package
| Empty log dir creates file alfresco.log in the current root folder.
| You can also specify a meaningful log directory for the server (add a trailing slash, e.g. '/var/log/alfresco/' )
| Jetty embedded run logs by default in ${project.basedir}/alfresco.log
-->
<log.dir></log.dir>
<!--
Uncomment this property together with the <scm> section downwards
<svn.url> https://mycompany.com/repos/my-test-project </svn.url>
| By default the src/main/properties/local/alfresco-global.properties uses the property "alfresco.data.location" to specify where
| alf_data gets created. For env=local you can use this shortcut property below, which gets filtered in the alfresco-global.properties file
| DEFAULT: alf_data_jetty relativel to run dir
-->
<!-- For env=local DB is also configurable here. Of course keep in sync these two values otherwise you'll get integrity errors. Default Mysql-->
<alfresco.data.location>./alf_data_jetty</alfresco.data.location>
<alfresco.db.name>alf_jetty</alfresco.db.name>
<alfresco.db.url>jdbc:mysql://localhost:3306/${alfresco.db.name}</alfresco.db.url>
<alfresco.db.driver>org.gjt.mm.mysql.Driver</alfresco.db.driver>
<alfresco.db.datasource.class>com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource</alfresco.db.datasource.class>
<alfresco.db.username>alfresco</alfresco.db.username>
<alfresco.db.password>alfresco</alfresco.db.password>
<!-- H2 configuration: To be fixed <alfresco.db.url>jdbc:h2:${alfresco.data.location}/h2_data/${alfresco.db.name}</alfresco.db.url> -->
<!-- DEPRECATED -->
<desktop.action.package>org.alfresco.filesys.repo.desk</desktop.action.package>
<!--
| Uncomment this property together with the <scm> section downwards
|
| <svn.url> https://mycompany.com/repos/my-test-project </svn.url>
-->
<!--
Uncomment this property together with the maven-release-plugin
<plugin><configuration><tagBase/></configuration></plugin> section
downwards <svn.tags.url>${svn.url}/tags</svn.tags.url>
| Uncomment this property together with the maven-release-plugin <plugin><configuration><tagBase/></configuration></plugin> section downwards
| <svn.tags.url>${svn.url}/tags</svn.tags.url>
-->
<!--
These redundancies are due to filtering issues of Maven. See here
@ -106,6 +101,16 @@
<repository>
<id>alfresco-public-snapshots</id>
<url>http://maven.alfresco.com/nexus/content/groups/public-snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>alfresco-maven-repo</id>
<url>http://maven.alfresco.com/nexus/content/groups/enterprise-snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
@ -121,26 +126,26 @@
</snapshots>
</pluginRepository>
</pluginRepositories>
<!--
Uncomment SCM definitions in order to have mvn release:perform to
actually tag the code <scm>
<developerConnection>scm:svn:${svn.url}</developerConnection>
<url>${svn.url}</url> </scm>
| Uncomment SCM definitions in order to have mvn release:perform to actually tag the code <scm>
| <developerConnection>scm:svn:${svn.url}</developerConnection>
| <url>${svn.url}</url> </scm>
-->
<!-- Alfresco dependencies -->
<dependencies>
<!--
Alfresco Dependencies | NB: These files are not publicly available.
Please vote for Alfresco to release them :) | Jboss alfresco build
(e.g. no log4j.properties and fix for myFaces)
| Alfresco Dependencies
| NB: These files are not publicly available. Please vote for Alfresco to release them if you care :)
| Jboss alfresco build (e.g. no log4j.properties and fix for myFaces)
-->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco</artifactId>
<version>${alfresco.version}</version>
<type>war</type>
<classifier>community</classifier>
<classifier>${alfresco.edition}</classifier>
</dependency>
<!--
All provided libs (as contained in the war dependency) but useful for
@ -151,28 +156,28 @@
<artifactId>alfresco-web-client</artifactId>
<version>${alfresco.version}</version>
<scope>provided</scope>
<classifier>community</classifier>
<classifier>${alfresco.edition}</classifier>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-core</artifactId>
<version>${alfresco.version}</version>
<scope>provided</scope>
<classifier>community</classifier>
<classifier>${alfresco.edition}</classifier>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-repository</artifactId>
<version>${alfresco.version}</version>
<scope>provided</scope>
<classifier>community</classifier>
<classifier>${alfresco.edition}</classifier>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-remote-api</artifactId>
<version>${alfresco.version}</version>
<scope>provided</scope>
<classifier>community</classifier>
<classifier>${alfresco.edition}</classifier>
</dependency>
<!--
@ -180,10 +185,15 @@
Alfresco WAR (no more need for AMP): this can be either an AMP built
with maven-amp-plugin and deployed on an accessible maven repo or a
generally available AMP previously deployed to a repo using mvn
deploy:deploy-file <dependency> <scope>runtime</scope>
<type>amp</type> <artifactId>recordsmanagement</artifactId>
deploy:deploy-file
<dependency>
<scope>runtime</scope>
<type>amp</type>
<artifactId>recordsmanagement</artifactId>
<version>${alfresco.version}</version>
<groupId>org.alfresco</groupId> </dependency>
<groupId>org.alfresco</groupId>
</dependency>
-->
<dependency>
@ -195,12 +205,7 @@
</dependencies>
<build>
<!-- Customize here your webapp name - default: alfresco.war -->
<finalName>${webapp.name}</finalName>
<!--
Used to access Sourcesense repository for writing. Public version not
available, see README.txt
-->
<!--
In certain cases we do build time filtering with the single sourcing
alfresco-global.properties
@ -222,9 +227,8 @@
</excludes>
</resource>
<!--
| Include application properties file in classpath: this allows
Spring contexts to have customization properties available at |
classpath:alfresco-global.properties
| Include application properties file in classpath: this allows Spring contexts to have customization properties available at
| classpath:alfresco-global.properties
-->
<resource>
<directory>src/main/properties/${env}</directory>
@ -433,7 +437,6 @@
<distributionManagement>
<!--
| | Enable this repo in case of publicly redistributable artifacts
(Sourcesense public repositories via ssh + public key ) |
<repository> <id>yourcompany</id>
<url>scp://yourcompany/var/maven2</url> </repository>
<distributionManagement> <site> <id>yourcompany-site</id>
@ -731,25 +734,9 @@
</build>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.158</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.7.ga</version>
<exclusions>
<exclusion>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>it.sk.alfresco</groupId>
<artifactId>h2-support</artifactId>
<version>1.0</version>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
</dependency>
</dependencies>
</profile>

View File

@ -13,17 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# BUILD TIME PROPERTIES
# ---------------------
# NB: This group of properties is only used by ant for tomcat deployment, and may not be maintained.
# Appserver to deploy to (tomcat) - used only by ant ATM.
# Use $M2_HOME/conf/settings.xml (or ~/.m2/settings.xml) for maven2 appservers username/password
appserver.dir=/your/appserver/dir
appserver.host=localhost
appserver.manager.url=http://${appserver.host}:8080/manager
appserver.username=tomcat
appserver.password=tomcat
# RUN TIME PROPERTIES
# -------------------
@ -41,15 +31,16 @@ integrity.failOnError=true
# database connection properties
# MySQL connection (This is default and requires mysql-connector-java-5.0.3-bin.jar, which ships with the Alfresco server)
db.driver=org.h2.Driver
db.url=jdbc:h2:${alfresco.data.location}/h2_data/${alfresco.db.name}
db.driver=${alfresco.db.driver}
db.url=${alfresco.db.url}
db.username=${alfresco.db.username}
db.password=${alfresco.db.password}
db.pool.initial=10
db.pool.max=100
# Dialect is autodetected starting from 3.2
# H2 dialect
hibernate.dialect=org.hibernate.dialect.H2Dialect
#hibernate.dialect=org.hibernate.dialect.H2Dialect
# Property to control whether schema updates are performed automatically.
@ -137,5 +128,15 @@ ldap.synchronisation.import.group.cron=0 45 21 * * ?
# - setting this to true means old group definitions will be tidied up.
ldap.synchronisation.import.group.clearAllChildren=false
# BUILD TIME PROPERTIES
# ---------------------
# NB: This group of properties is only used by ant for tomcat deployment, and may not be maintained.
# Appserver to deploy to (tomcat) - used only by ant ATM.
# Use $M2_HOME/conf/settings.xml (or ~/.m2/settings.xml) for maven2 appservers username/password
appserver.dir=/your/appserver/dir
appserver.host=localhost
appserver.manager.url=http://${appserver.host}:8080/manager
appserver.username=tomcat
appserver.password=tomcat

View File

@ -9,7 +9,7 @@
<parent>
<groupId>com.sourcesense.alfresco</groupId>
<artifactId>maven-alfresco-archetypes</artifactId>
<version>1.9.2-SNAPSHOT</version>
<version>3.9.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<build>

View File

@ -4,6 +4,11 @@
<author email="gabriele.columbro@alfresco.com">Gabriele Columbro</author>
</properties>
<body>
<release version="1.9.2" date="2011-10-25" description="Tested against Share 4.0">
<action dev="columbro" type="add">
Updated samples and tested against 4.0
</action>
</release>
<release version="1.9.1" date="2009-12-03" description="First public release working against Share 3.2r">
<action dev="columbro" type="add">
Support for Alfresco Share Closes issue 17 (http://code.google.com/p/maven-alfresco-archetypes/issues/detail?id=17")

View File

@ -17,14 +17,24 @@
<id>alfresco-public-snapshots</id>
<url>http://maven.alfresco.com/nexus/content/groups/public-snapshots</url>
</repository>
<repository>
<id>alfresco-maven-repo</id>
<url>http://maven.alfresco.com/nexus/content/repository/enterprise-snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<!-- Configuration point for the build time properties -->
<properties>
<env>local</env>
<alfresco.version>3.4.a</alfresco.version>
<alfresco.version>4.0.b</alfresco.version>
<alfresco.edition>community</alfresco.edition>
<share.log.level>info</share.log.level>
<share.servlet.port>8081</share.servlet.port>
<surf.wiring.mode>development</surf.wiring.mode><!-- "production" is the other allowed value -->
</properties>
<!-- Alfresco dependencies -->
@ -37,7 +47,7 @@
<artifactId>share</artifactId>
<type>war</type>
<version>${alfresco.version}</version>
<classifier>community</classifier>
<classifier>${alfresco.edition}</classifier>
</dependency>
<!-- Share module dependencies
| As of Alfresco 3.3 you can add here below Share Dashlets/Pages packaged as Jars (see http://blogs.alfresco.com/wp/kevinr/2010/01/28/alfresco-share-33-extensions-and-springsurf/)
@ -110,6 +120,7 @@
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.21</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">

View File

@ -1,77 +0,0 @@
<#import "/org/alfresco/components/form/form.lib.ftl" as formLib />
<#if error?exists>
<div class="error">${error}</div>
<#elseif form?exists>
<#assign formId=args.htmlid + "-form">
<#assign formUI><#if args.formUI??>${args.formUI}<#else>true</#if></#assign>
<#if formUI == "true">
<@formLib.renderFormsRuntime formId=formId />
</#if>
<div id="${formId}-container" class="form-container">
<#if form.showCaption?exists && form.showCaption>
<div id="${formId}-caption" class="caption"><span class="mandatory-indicator">*</span>${msg("form.required.fields")}</div>
</#if>
<#if form.mode != "view">
<form id="${formId}" method="${form.method}" accept-charset="utf-8" enctype="${form.enctype}" action="${form.submissionUrl}">
</#if>
<div id="${formId}-fields" class="form-fields">
<#list form.structure as item>
<#if item.kind == "set">
<@renderSetWithColumns set=item />
<#else>
<@formLib.renderField field=form.fields[item.id] />
</#if>
</#list>
</div>
<#if form.mode != "view">
<@formLib.renderFormButtons formId=formId />
</form>
</#if>
</div>
</#if>
<#macro renderSetWithColumns set>
<#if set.appearance?exists>
<#if set.appearance == "fieldset">
<fieldset><legend>${set.label}</legend>
<#elseif set.appearance == "panel">
<div class="form-panel">
<div class="form-panel-heading">${set.label}</div>
<div class="form-panel-body">
</#if>
</#if>
<#list set.children as item>
<#if item.kind == "set">
<@renderSetWithColumns set=item />
<#else>
<#if (item_index % 2) == 0>
<div class="yui-g"><div class="yui-u first">
<#else>
<div class="yui-u">
</#if>
<@formLib.renderField field=form.fields[item.id] />
</div>
<#if ((item_index % 2) != 0) || !item_has_next></div></#if>
</#if>
</#list>
<#if set.appearance?exists>
<#if set.appearance == "fieldset">
</fieldset>
<#elseif set.appearance == "panel">
</div>
</div>
</#if>
</#if>
</#macro>

View File

@ -0,0 +1,213 @@
<alfresco-config>
<config evaluator="model-type" condition="ws:indexPage">
<forms>
<!-- Default form configuration for the ws:indexPage type -->
<form>
<field-visibility>
<show id="cm:name" />
<show id="cm:title" force="true" />
<show id="cm:description" force="true" />
<show id="cm:content" force="true" />
<show id="ws:templateName" force="true" />
</field-visibility>
<appearance>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl" />
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true
</control-param>
</control>
</field>
<field id="cm:content">
<control template="/org/alfresco/components/form/controls/content.ftl">
<control-param name="forceEditor">true
</control-param>
<control-param name="editorHeight">400</control-param>
<control-param name="editorWidth">600</control-param>
<control-param name="richMimeTypes">text/html,text/xhtml</control-param>
<control-param name="editorAppearance">custom</control-param>
<control-param name="editorParameters">
plugins: "fullscreen,paste",
file_browser_callback :
'shareFileBrowser',
paste_create_paragraphs : false,
paste_create_linebreaks : false,
paste_use_dialog : true,
paste_auto_cleanup_on_paste : true,
paste_convert_middot_lists : false,
paste_unindented_list_class : "unindentedList",
paste_convert_headers_to_strong : true,
theme_advanced_buttons1:
"bold,italic,separator,formatselect,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,link,unlink,separator,image,separator,undo,redo,separator,cut,copy,paste,pastetext,pasteword,image,help,code,fullscreen",
theme_advanced_buttons2: "",
theme_advanced_buttons3: "",
theme_advanced_resizing: true
</control-param>
</control>
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="model-type" condition="ws:article">
<forms>
<!-- Default form configuration for the ws:article type -->
<form>
<field-visibility>
<show id="cm:name" />
<show id="cm:title" force="true" />
<show id="cm:description" force="true" />
<show id="cm:content" force="true" />
<show id="ws:templateName" force="true" />
</field-visibility>
<appearance>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl" />
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true
</control-param>
</control>
</field>
<field id="cm:content">
<control template="/org/alfresco/components/form/controls/content.ftl">
<control-param name="forceEditor">true
</control-param>
<control-param name="editorHeight">400</control-param>
<control-param name="editorWidth">600</control-param>
<control-param name="richMimeTypes">text/html,text/xhtml</control-param>
<control-param name="editorAppearance">custom</control-param>
<control-param name="editorParameters">
plugins: "fullscreen,paste",
file_browser_callback :
'shareFileBrowser',
paste_create_paragraphs : false,
paste_create_linebreaks : false,
paste_use_dialog : true,
paste_auto_cleanup_on_paste : true,
paste_convert_middot_lists : false,
paste_unindented_list_class : "unindentedList",
paste_convert_headers_to_strong : true,
theme_advanced_buttons1:
"bold,italic,separator,formatselect,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,link,unlink,separator,image,separator,undo,redo,separator,cut,copy,paste,pastetext,pasteword,image,help,code,fullscreen",
theme_advanced_buttons2: "",
theme_advanced_buttons3: "",
theme_advanced_resizing: true
</control-param>
</control>
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="node-type" condition="ws:indexPage">
<forms>
<!-- Default form configuration for the ws:indexPage type -->
<form>
<field-visibility>
<show id="cm:name" />
<show id="cm:title" force="true" />
<show id="cm:description" force="true" />
<show id="cm:content" force="true" />
<show id="ws:templateName" force="true" />
</field-visibility>
<appearance>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl" />
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true
</control-param>
</control>
</field>
<field id="cm:content">
<control template="/org/alfresco/components/form/controls/content.ftl">
<control-param name="forceEditor">true
</control-param>
<control-param name="editorHeight">400</control-param>
<control-param name="editorWidth">600</control-param>
<control-param name="richMimeTypes">text/html,text/xhtml</control-param>
<control-param name="editorAppearance">custom</control-param>
<control-param name="editorParameters">
plugins: "fullscreen,paste",
file_browser_callback :
'shareFileBrowser',
paste_create_paragraphs : false,
paste_create_linebreaks : false,
paste_use_dialog : true,
paste_auto_cleanup_on_paste : true,
paste_convert_middot_lists : false,
paste_unindented_list_class : "unindentedList",
paste_convert_headers_to_strong : true,
theme_advanced_buttons1:
"bold,italic,separator,formatselect,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,link,unlink,separator,image,separator,undo,redo,separator,cut,copy,paste,pastetext,pasteword,image,help,code,fullscreen",
theme_advanced_buttons2: "",
theme_advanced_buttons3: "",
theme_advanced_resizing: true
</control-param>
</control>
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="node-type" condition="ws:article">
<forms>
<!-- Default form configuration for the ws:article type -->
<form>
<field-visibility>
<show id="cm:name" />
<show id="cm:title" force="true" />
<show id="cm:description" force="true" />
<show id="cm:content" force="true" />
<show id="ws:templateName" force="true" />
</field-visibility>
<appearance>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl" />
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true
</control-param>
</control>
</field>
<field id="cm:content">
<control template="/org/alfresco/components/form/controls/content.ftl">
<control-param name="forceEditor">true
</control-param>
<control-param name="editorHeight">400</control-param>
<control-param name="editorWidth">600</control-param>
<control-param name="richMimeTypes">text/html,text/xhtml</control-param>
<control-param name="editorAppearance">custom</control-param>
<control-param name="editorParameters">
plugins: "fullscreen,paste",
file_browser_callback :
'shareFileBrowser',
paste_create_paragraphs : false,
paste_create_linebreaks : false,
paste_use_dialog : true,
paste_auto_cleanup_on_paste : true,
paste_convert_middot_lists : false,
paste_unindented_list_class : "unindentedList",
paste_convert_headers_to_strong : true,
theme_advanced_buttons1:
"bold,italic,separator,formatselect,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,link,unlink,separator,image,separator,undo,redo,separator,cut,copy,paste,pastetext,pasteword,image,help,code,fullscreen",
theme_advanced_buttons2: "",
theme_advanced_buttons3: "",
theme_advanced_resizing: true
</control-param>
</control>
</field>
</appearance>
</form>
</forms>
</config>
</alfresco-config>

View File

@ -1,47 +0,0 @@
<#if form.fields["prop_cm_publisher"]??>
<#if form.mode == "view">
<@formLib.renderField field=form.fields["prop_cm_publisher"] />
<@formLib.renderField field=form.fields["prop_cm_contributor"] />
<@formLib.renderField field=form.fields["prop_cm_type"] />
<@formLib.renderField field=form.fields["prop_cm_identifier"] />
<@formLib.renderField field=form.fields["prop_cm_dcsource"] />
<@formLib.renderField field=form.fields["prop_cm_coverage"] />
<@formLib.renderField field=form.fields["prop_cm_rights"] />
<@formLib.renderField field=form.fields["prop_cm_subject"] />
<#else>
<div class="yui-g">
<div class="yui-u first">
<@formLib.renderField field=form.fields["prop_cm_publisher"] />
</div>
<div class="yui-u">
<@formLib.renderField field=form.fields["prop_cm_contributor"] />
</div>
</div>
<div class="yui-g">
<div class="yui-u first">
<@formLib.renderField field=form.fields["prop_cm_type"] />
</div>
<div class="yui-u">
<@formLib.renderField field=form.fields["prop_cm_identifier"] />
</div>
</div>
<div class="yui-g">
<div class="yui-u first">
<@formLib.renderField field=form.fields["prop_cm_dcsource"] />
</div>
<div class="yui-u">
<@formLib.renderField field=form.fields["prop_cm_coverage"] />
</div>
</div>
<div class="yui-g">
<div class="yui-u first">
<@formLib.renderField field=form.fields["prop_cm_rights"] />
</div>
<div class="yui-u">
<@formLib.renderField field=form.fields["prop_cm_subject"] />
</div>
</div>
<div style="clear: both;"></div>
</#if>
</#if>

View File

@ -1,50 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- Custom application properties loading -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreResourceNotFound" value="true" />
<property name="ignoreUnresolvablePlaceholders" value="true"/>
<property name="locations">
<list>
<value>classpath:alfresco/web-extension/application.properties</value>
</list>
</property>
</bean>
<!-- uncomment this section (or override bean def in custom app context) for remote component deploy -->
<!-- Override WebScripts searchpath - to include remote store -->
<!--
<bean id="webframework.searchpath" class="org.alfresco.web.scripts.SearchPath">
<property name="searchPath">
<list>
<ref bean="webframework.remotestore.webscripts" />
<ref bean="webframework.store.webscripts.custom" />
<ref bean="webframework.store.webscripts" />
<ref bean="webscripts.store" />
</list>
</property>
</bean>
-->
<!-- uncomment this section (or override bean def in custom app context) for remote component deploy -->
<!-- Override Templates and Scripts searchpath - to include remote store -->
<!--
<bean id="webframework.templates.searchpath" class="org.alfresco.web.scripts.SearchPath">
<property name="searchPath">
<list>
<ref bean="webframework.remotestore.webscripts" />
<ref bean="webframework.store.webscripts.custom" />
<ref bean="webframework.store.system-templates" />
<ref bean="webframework.store.templates" />
<ref bean="webframework.store.webscripts" />
</list>
</property>
</bean>
-->
</beans>

View File

@ -0,0 +1,63 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- Web-tier cluster configuration -->
<!-- Enable this section if you are clustering or load balancing the share.war i.e. multiple web-tiers behind a proxy -->
<!-- If you have a single web-tier running against an Alfresco cluster via a reverse proxy you don't need this -->
<!--
<bean id="webframework.slingshot.persister.remote" class="org.springframework.extensions.surf.persister.PathStoreObjectPersister" parent="webframework.sitedata.persister.abstract">
<property name="store" ref="webframework.webapp.store.remote" />
<property name="pathPrefix"><value>alfresco/site-data/${objectTypeIds}</value></property>
<property name="noncachableObjectTypes">
<set>
<value>page</value>
<value>component</value>
</set>
</property>
</bean>
-->
<!-- Override WebScripts searchpath - to include remote store -->
<!-- This enables remote component load via a central Alfresco server -->
<!--
<bean id="webframework.webscripts.store.alfresco.remote" parent="webframework.store.remote.abstract">
<property name="path"><value>alfresco/site-webscripts</value></property>
</bean>
<bean id="webframework.webscripts.searchpath" class="org.springframework.extensions.webscripts.SearchPath">
<property name="searchPath">
<list>
<ref bean="webframework.webscripts.store.alfresco.remote" />
<ref bean="webframework.webscripts.store.alfresco.custom" />
<ref bean="webframework.webscripts.store.alfresco.classpath" />
<ref bean="webframework.webscripts.store.classpath" />
<ref bean="webscripts.store.alfresco" />
<ref bean="webscripts.store" />
</list>
</property>
</bean>
-->
<!-- Override Templates and Scripts searchpath - to include remote store -->
<!-- This enables remote component load via a central Alfresco server -->
<!--
<bean id="webframework.templates.store.alfresco.remote" parent="webframework.store.remote.abstract">
<property name="path"><value>alfresco/templates</value></property>
</bean>
<bean id="webframework.templates.searchpath" class="org.springframework.extensions.webscripts.SearchPath">
<property name="searchPath">
<list>
<ref bean="webframework.templates.store.alfresco.remote" />
<ref bean="webframework.templates.store.alfresco.custom" />
<ref bean="webframework.webscripts.store.alfresco.custom" />
<ref bean="webframework.templates.store.alfresco.classpath" />
<ref bean="webframework.webscripts.store.alfresco.classpath" />
<ref bean="webframework.templates.store.classpath" />
<ref bean="webframework.webscripts.store.classpath" />
</list>
</property>
</bean>
-->
</beans>

View File

@ -1,6 +1,5 @@
<alfresco-config>
<config evaluator="string-compare" condition="Server">
<server>
<!--
@ -14,8 +13,246 @@
</server>
</config>
<!-- Global config section -->
<config replace="true">
<flags>
<!--
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
-->
<client-debug>false</client-debug>
<!-- Overriding endpoints to reference a remote Alfresco server -->
<!--
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
This flag automatically activates logging on page load.
-->
<client-debug-autologging>false</client-debug-autologging>
</flags>
</config>
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<!-- SpringSurf Autowire Runtime Settings -->
<!--
Developers can set mode to 'development' to disable; SpringSurf caches,
FreeMarker template caching and Rhino JavaScript compilation.
-->
<autowire>
<!-- Pick the mode: "production" or "development" -->
<mode>${surf.development.mode}</mode>
</autowire>
</web-framework>
</config>
<config evaluator="string-compare" condition="Replication">
<share-urls>
<!--
To discover a Repository Id, browse to the remote server's CMIS landing page at:
http://{server}:{port}/alfresco/service/cmis/index.html
The Repository Id field is found under the "CMIS Repository Information" expandable panel.
Example config entry:
<share-url repositoryId="622f9533-2a1e-48fe-af4e-ee9e41667ea4">http://new-york-office:8080/share/</share-url>
-->
</share-urls>
</config>
<!-- Document Library config section -->
<config evaluator="string-compare" condition="DocumentLibrary" replace="true">
<tree>
<!--
Whether the folder Tree component should enumerate child folders or not.
This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures.
-->
<evaluate-child-folders>false</evaluate-child-folders>
<!--
Optionally limit the number of folders shown in treeview throughout Share.
-->
<maximum-folder-count>-1</maximum-folder-count>
</tree>
<!--
Used by the "Manage Aspects" action
For custom aspects, remember to also add the relevant i18n string(s)
cm_myaspect=My Aspect
-->
<aspects>
<!-- Aspects that a user can see -->
<visible>
<aspect name="cm:generalclassifiable" />
<aspect name="cm:complianceable" />
<aspect name="cm:dublincore" />
<aspect name="cm:effectivity" />
<aspect name="cm:summarizable" />
<aspect name="cm:versionable" />
<aspect name="cm:templatable" />
<aspect name="cm:emailed" />
<aspect name="emailserver:aliasable" />
<aspect name="cm:taggable" />
<aspect name="app:inlineeditable" />
<aspect name="gd:googleEditable" />
<aspect name="cm:geographic" />
<aspect name="exif:exif" />
</visible>
<!-- Aspects that a user can add. Same as "visible" if left empty -->
<addable>
</addable>
<!-- Aspects that a user can remove. Same as "visible" if left empty -->
<removeable>
</removeable>
</aspects>
<!--
Used by the "Change Type" action
Define valid subtypes using the following example:
<type name="cm:content">
<subtype name="cm:mysubtype" />
</type>
Remember to also add the relevant i18n string(s):
cm_mysubtype=My SubType
-->
<types>
<type name="cm:content">
</type>
<type name="cm:folder">
</type>
</types>
<!--
If set, will present a WebDAV link for the current item on the Document and Folder details pages.
Also used to generate the "View in Alfresco Explorer" action for folders.
-->
<repository-url>${alfresco.server.scheme}://${alfresco.server.name}:${alfresco.server.port}/alfresco</repository-url>
<!--
Google Docs™ integration
-->
<google-docs>
<!--
Enable/disable the Google Docs UI integration (Extra types on Create Content menu, Google Docs actions).
-->
<enabled>false</enabled>
<!--
The mimetypes of documents Google Docs allows you to create via the Share interface.
The I18N label is created from the "type" attribute, e.g. google-docs.doc=Google Docs&trade; Document
-->
<creatable-types>
<creatable type="doc">application/msword</creatable>
<creatable type="xls">application/vnd.ms-excel</creatable>
<creatable type="ppt">application/vnd.ms-powerpoint</creatable>
</creatable-types>
</google-docs>
<!--
File upload configuration
-->
<file-upload>
<!--
Adobe Flash™
In certain environments, an HTTP request originating from Flash cannot be authenticated using an existing session.
See: http://bugs.adobe.com/jira/browse/FP-4830
For these cases, it is useful to disable the Flash-based uploader for Share Document Libraries.
-->
<adobe-flash-enabled>true</adobe-flash-enabled>
</file-upload>
</config>
<!-- Custom DocLibActions config section -->
<config evaluator="string-compare" condition="DocLibActions">
<actionGroups>
<actionGroup id="document-browse">
<!-- Simple Repo Actions -->
<!--
<action index="340" id="document-extract-metadata" />
<action index="350" id="document-increment-counter" />
-->
<!-- Dialog Repo Actions -->
<!--
<action index="360" id="document-transform" />
<action index="370" id="document-transform-image" />
<action index="380" id="document-execute-script" />
-->
</actionGroup>
</actionGroups>
</config>
<!-- Global folder picker config section -->
<config evaluator="string-compare" condition="GlobalFolder">
<siteTree>
<container type="cm:folder">
<!-- Use a specific label for this container type in the tree -->
<rootLabel>location.path.documents</rootLabel>
<!-- Use a specific uri to retreive the child nodes for this container type in the tree -->
<uri>slingshot/doclib/treenode/site/{site}/{container}{path}?children={evaluateChildFoldersSite}&amp;max={maximumFolderCountSite}</uri>
</container>
</siteTree>
</config>
<!-- Repository Library config section -->
<config evaluator="string-compare" condition="RepositoryLibrary" replace="true">
<!--
Root nodeRef or xpath expression for top-level folder.
e.g. alfresco://user/home, /app:company_home/st:sites/cm:site1
If using an xpath expression, ensure it is properly ISO9075 encoded here.
-->
<root-node>alfresco://company/home</root-node>
<tree>
<!--
Whether the folder Tree component should enumerate child folders or not.
This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures.
-->
<evaluate-child-folders>false</evaluate-child-folders>
<!--
Optionally limit the number of folders shown in treeview throughout Share.
-->
<maximum-folder-count>500</maximum-folder-count>
</tree>
</config>
<!-- Kerberos settings -->
<!-- To enable kerberos rename this condition to "Kerberos" -->
<config evaluator="string-compare" condition="KerberosDisabled" replace="true">
<kerberos>
<!--
Password for HTTP service account.
The account name *must* be built from the HTTP server name, in the format :
HTTP/<server_name>@<realm>
(NB this is because the web browser requests an ST for the
HTTP/<server_name> principal in the current realm, so if we're to decode
that ST, it has to match.)
-->
<password>secret</password>
<!--
Kerberos realm and KDC address.
-->
<realm>ALFRESCO.ORG</realm>
<!--
Service Principal Name to use on the repository tier.
This must be like: HTTP/host.name@REALM
-->
<endpoint-spn>HTTP/repository.server.com@ALFRESCO.ORG</endpoint-spn>
<!--
JAAS login configuration entry name.
-->
<config-entry>ShareHTTP</config-entry>
</kerberos>
</config>
<!-- example port config used to access remote Alfresco server (default is 8080) -->
<config evaluator="string-compare" condition="Remote">
<remote>
@ -24,9 +261,7 @@
<name>Alfresco - unauthenticated access</name>
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>
${alfresco.server.scheme}://${alfresco.server.name}:${alfresco.server.port}/${alfresco.webapp.name}/s
</endpoint-url>
<endpoint-url>${alfresco.server.scheme}://${alfresco.server.name}:${alfresco.server.port}/alfresco/s</endpoint-url>
<identity>none</identity>
</endpoint>
@ -35,49 +270,62 @@
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>
${alfresco.server.scheme}://${alfresco.server.name}:${alfresco.server.port}/${alfresco.webapp.name}/s
</endpoint-url>
<endpoint-url>${alfresco.server.scheme}://${alfresco.server.name}:${alfresco.server.port}/alfresco/s</endpoint-url>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-feed</id>
<name>Alfresco Feed</name>
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
<connector-id>http</connector-id>
<endpoint-url>${alfresco.server.scheme}://${alfresco.server.name}:${alfresco.server.port}/alfresco/s</endpoint-url>
<basic-auth>true</basic-auth>
<identity>user</identity>
</endpoint>
</remote>
</config>
<!--
Overriding endpoints to reference an Alfresco server with external SSO enabled
NOTE: If utilising a load balancer between web-tier and repository cluster, the "sticky
sessions" feature of your load balancer must be used.
NOTE: If alfresco server location is not localhost:8080 then also combine changes from the
"example port config" section below.
*Optional* keystore contains SSL client certificate + trusted CAs.
Used to authenticate share to an external SSO system such as CAS
Remove the keystore section if not required i.e. for NTLM.
<!--
Overriding endpoints to reference an Alfresco server with external SSO
or NTLM enabled
-->
<!--
NOTE: For NTLM, the NTLM Authentication Filter must also be enabled in
share web.xml
-->
<!--
NOTE: if utilising a load balancer between web-tier and repository
cluster, the "sticky
-->
<!-- sessions" feature of your load balancer must be used -->
<!--
Uses SSL client certificate + trusted CAs. Optionally used to
authenticate share to an external SSO system such as CAS <config
evaluator="string-compare" condition="Remote"> <remote> <keystore>
NOTE: For Kerberos SSO rename the "KerberosDisabled" condition above to "Kerberos"
<config evaluator="string-compare" condition="Remote">
<remote>
<keystore>
<path>alfresco/web-extension/alfresco-system.p12</path>
<type>pkcs12</type> <password>alfresco-system</password> </keystore>
<type>pkcs12</type>
<password>alfresco-system</password>
</keystore>
<connector> <id>alfrescoCookie</id> <name>Alfresco Connector</name>
<description>Connects to an Alfresco instance using cookie-based
authentication</description>
<class>org.alfresco.connector.AlfrescoConnector</class> </connector>
<connector>
<id>alfrescoCookie</id>
<name>Alfresco Connector</name>
<description>Connects to an Alfresco instance using cookie-based authentication</description>
<class>org.springframework.extensions.webscripts.connector.AlfrescoConnector</class>
</connector>
<endpoint> <id>alfresco</id> <name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require
user authentication</description>
<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfrescoCookie</connector-id>
<endpoint-url>http://localhost/alfresco/wcs</endpoint-url>
<identity>user</identity> <external-auth>true</external-auth>
</endpoint> </remote> </config>
<endpoint-url>${alfresco.server.scheme}://${alfresco.server.name}:${alfresco.server.port}/alfresco/wcs</endpoint-url>
<identity>user</identity>
<external-auth>true</external-auth>
</endpoint>
</remote>
</config>
-->
</alfresco-config>

View File

@ -1,46 +0,0 @@
<alfresco-config>
<!-- Disabling caches for components and pages - to allow share web-app clustering (web farm) -->
<!-- A load balancer may then be enabled between multiple web-app instances and the client browser -->
<!-- NOTE: the "sticky sessions" feature of your load balancer must be enabled -->
<!--
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<model-type>
<id>component</id>
<version>1.0</version>
<name>Component</name>
<description>Component</description>
<namespace></namespace>
<class>org.alfresco.web.framework.model.Component</class>
<search-path-id>webframework.searchpath.component</search-path-id>
<default-store-id>webframework.remotestore.component</default-store-id>
<cache-enabled>false</cache-enabled>
</model-type>
<model-type>
<id>page</id>
<version>1.0</version>
<name>Page</name>
<description>Page</description>
<namespace></namespace>
<class>org.alfresco.web.framework.model.Page</class>
<search-path-id>webframework.searchpath.page</search-path-id>
<default-store-id>webframework.remotestore.page</default-store-id>
<cache-enabled>false</cache-enabled>
</model-type>
</web-framework>
</config>
-->
<!-- Specify another theme as the default theme -->
<!--
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<application-defaults>
<theme>default</theme>
</application-defaults>
</web-framework>
</config>
-->
</alfresco-config>

View File

@ -4,13 +4,12 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.alfresco.maven</groupId>
<artifactId>maven-alfresco-share-module-archetype</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>maven-archetype</packaging>
<name>Maven Archetype to build Alfresco Share JAR modules (dashlets,pages,etc.)</name>
<parent>
<groupId>com.sourcesense.alfresco</groupId>
<artifactId>maven-alfresco-archetypes</artifactId>
<version>1.9.2-SNAPSHOT</version>
<version>3.9.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<build>

View File

@ -3,7 +3,6 @@
<groupId>com.sourcesense.alfresco</groupId>
<artifactId>maven-alfresco-archetypes</artifactId>
<packaging>pom</packaging>
<version>1.9.2-SNAPSHOT</version>
<name>Maven Alfresco Archetypes base project</name>
<description>
This project is meant to gather all commons configurations and settings between the two maven-alfresco-*-archetypes, i.e. maven-alfresco-extension-archetype and maven-alfresco-amp-archetype
@ -11,7 +10,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>maven-alfresco-lifecycle</artifactId>
<version>1.1.1-SNAPSHOT</version>
<version>3.9.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<organization>

View File

@ -3,7 +3,7 @@
<groupId>org.alfresco</groupId>
<artifactId>maven-alfresco-lifecycle</artifactId>
<packaging>pom</packaging>
<version>1.1.1-SNAPSHOT</version>
<version>3.9.0-SNAPSHOT</version>
<name>Maven Alfresco Lifecycle support base project</name>
<url>http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle</url>
<description>