Initial import. Version 1.0.1-SNAPSHOT.

Still have to support AMPS

git-svn-id: http://maven-alfresco-archetypes.googlecode.com/svn/trunk@11 04253f4f-3451-0410-a141-5562f1e59037
This commit is contained in:
mindthegab 2008-07-08 11:31:04 +00:00
parent e61cef5958
commit e400e310d2
148 changed files with 15818 additions and 0 deletions

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>alfresco-extension-archetype</name>
<comment>This archetype developed within Sourcesense aims to provide a standardized approach to development, release and deployment of
Alfresco extensions (as opposed to AMP builds, to be released as a different artifact ).
Using standard m2 lifecycle commands (mvn compile package deploy) and generally available
plugins (cargo, release, assembly) we are able to cover a very high percentage of Alfresco lifecycle common use cases.
It can be used both with Maven2 and Ant build systems, but it must be clear that *only* the Maven2 approach provides all the automation features we will
describe in this website.
In addition to that the m2 approach provides a zero-conf approach while ant requires (as usual) manual gathering and selection of required alfresco
libraries and webapp (please refer to README-ant.txt for further info about the Ant build). Last but not the least, m2 build is more likely to be maintained
and improved (especially in the likely case Alfresco moves to maven2).
For more details on the m2 apprach please refer instead to README Section (or directly and to README-m2.txt of the generated project.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.maven.ide.eclipse.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,123 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
NOTE: This file maybe obsolete. Please refer to documentation site.
Maven2/Ant Alfresco extension archetype
---------------------------------------
What is an Alfresco extension?
------------------------------
We define an "Alfresco extension" (or customization) a custom build of Alfresco which does not impact on Alfresco source code (while depends on binary releases of the libraries and webapp).
This is realized overriding (and in certain particular cases overwriting) Alfresco default configuration using Convention over Configuration hooks (e.g. classpath:alfresco/extension/*-context.xml autoloading), in order to ease integration in enterprise environments and to simplify full lifecycle management (from scratch-start to release and deploy) also for non experienced developers, resulting in a less error prone controlled process.
Alternative to an "Alfresco extension" is the "Alfresco Module" (or AMP) which is meant to be deployed on an existing Alfresco instance and above all to coexist with other modules on top of this instance: as a general rule of thumb an extension is an exclusive customization while a module is one of many customizations which have a separate lifecycle (and owner).
For an maven2 archetype of AMP Alfresco build please have a look at:
https://dev.sourcesense.com/cargo/maven2-sites/maven-alfresco-extension-archetype
Quick Start:
------------
Wanna skip all the discussion (or you know already the thing) and want a zero conf maven2 alfresco customization project generation?
Just run:
mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create -DarchetypeGroupId=${pom.groupId} -DarchetypeArtifactId=${pom.artifactId} -DarchetypeVersion=${pom.version} \
-DgroupId=mycompany.com -DartifactId=my-alfresco-customization -Dversion=0.1-SNAPSHOT
-DremoteRepositories=http://repository.sourcesense.com/maven2 (archetype is deployed there)
-DpomRemoteRepositories=http://repository.sourcesense.com/maven2 (wagon-dav ssh version patched is here)
Introduction:
-------------
This archetype developed within Sourcesense (http://www.sourcesense.com) aims to provide a standardized approach to development, release and deployment of Alfresco extensions (as opposed to AMP builds). Using standard m2 lifecycle commands (mvn compile package deploy) and generally available plugins (cargo, release, assembly) we are able to cover a very high percentage of Alfresco lifecycle common use cases.
It can be used both with Maven2 and Ant build systems, but it must be clear that *only* the Maven2 approach provides all the automation features we will describe in the next paragraphs.
In addition to that the m2 approach provides a zero-conf approach while ant requires (as usual) manual gathering and selection of required alfresco libraries and webapp (please refer to README-ant.txt for further info about the Ant build). Last but not the least, m2 build is more likely to be maintained and improved (especially in the likely case Alfresco moves to maven2).
For more details on the m2 apprach please refer instead to README-m2.txt.
Features (maven2 only):
----------------------
-- Easy dependency management and upgrade testing
Webapp WAR dependency on Alfresco community/enterprise wars (or even environment dependent builds, e.g. WAR without log4j for Jboss-4.0.X) can be easily switched and build
for different platforms in custom maven2 build profiles.
Alfresco JAR dependency are only included for compilation (scope="provided") and IDE configuration and must manually be kept in sync with the WAR version (we used a maven style library naming, renaming Alfresco distributed libraries).
-- Single source environment dependent properties filtering:
One of the biggest flaws (and most frequent cause for runtime errors) for Alfresco (and more in general for webapplications) is a poor build system which requires manual editing of properties in the source code in a developer/environment dependent way. With this build system just by specifying the -Denv=<yourEnv> command line property your able to switch between different buildtime/runtime properties configuration and also have all common properties in one file for simple edit. No more messing up with Spring files when what you need to change is just a property.
Properties files are stored in src/main/properties/<yourEnv> and get automatically copied over the classpath to provide complete code and configuration separation. Typical examples of developer/environment dependent properties are: db connection, LDAP server connection, alf_data location, SMB/FTP server enabling and configuration.
-- Automated (convention over configuration based) full Alfresco repository restore (boostrap)
Alfresco bootstrap process requires manual actions to be taken, and namely to include the restore-context.xml and the 6 full repo export ACP files to be included in the alfresco/extension/restore package. With this build this becomes as easy as specifying the -DrestoreVersion=<myVersion> build property which will automatically pick up ACP files (alfresco package name = "export") found in tools/export/<myVersion> and include them in the right position in the classpath. When the property is specified also the restore-context.xml to load them is automatically included
-- Automated LDAP configuration (and associated personService behaviors)
Fill in your application.properties with appropriate LDAP connection and synchronization values and by specifying the -Denterprise build property on the command line you will have the LDAP authentication and sychronization context already configured. No more hassles in digging into huge Spring files ;)
-- Jboss/Tomcat cargo based deployment
Using cargo we're able to provide (local) Jboss and (local/remote) Tomcat deployment. This comes handy both in the development phases and in the release phases when we want the release operation (scm tagging, m2 repo deployment, version update, appserver deployment) to be transactional and managed by maven. For additional configuration please refer to maven-cargo-plugin configuration and fine tune your $M2_HOME/conf/settings.xml (for system level settings) or ~/.m2/settings.xml (for user level settings) in order to match your host/credentials configuration
-- Zero conf startup
Community artifacts (alfresco 2.x) artifacts are available on Sourcesense public repository (http://repository.sourcesense.com/maven2) and allow all the default dependencies specified in this POM to be successfully retrieved with no additional configuration. If you want to use instead enterprise dependencies you either need to have a private access to Sourcesense private repositories or push alfresco for releasing this artifacts on public Alfresco maven repositories
--- Configurable log location and easy database setup
By editing the <log.dir> POM property in the appropriate profile you can have the setting applied where it makes sense (jboss configures everything centrally).
Database creation/remove scripts are filtered according to the build profile, so you can directly run them for the different environment they were 'built' for.
--- Easy ide (Eclipse) integration
As difficult as running mvn eclipse:eclipse and hitting "Refresh in your eclipse proje"
--- Release process
One command release deploy for this artifact and for the project generated from it. See README-m2.txt for more details.
--- Integrated documentation system
Documentation is integrated and can be modified with one of the supported formats (Xdoc, APT, FML): project resources can be also linked (e.g.physical documents) .
To test an example typing 'mvn site:run' will run your site in jetty embedded on port 8080, with redeployment of sited source files.
To stage the site just type 'mvn site:stage' and to deploy to remote site location, guess what, 'mvn site:deploy'
TODO:
----
See TODO.txt
ROADMAP:
--------
See ROADMAP.txt
REFERENCES:
----------
http://www.mortbay.org/maven-plugin
http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin
http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html
http://maven.apache.org/guides/getting-started/index.html#How_do_I_filter_resource_files
http://maven.apache.org/pom.html#Final
http://maven.apache.org/plugins/maven-resources-plugin/resources-mojo.html
http://jira.codehaus.org/browse/CARGO-416
http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html
http://cargo.codehaus.org/Maven2+Plugin+Installation
http://cargo.codehaus.org/Deploying+to+a+running+container
http://maven.apache.org/plugins/maven-release-plugin/
http://www.javaworld.com/javaworld/jw-02-2006/jw-0227-maven.html?page=2
http://maven.apache.org/doxia/references/apt-format.html
http://maven.apache.org/guides/mini/guide-site.html

View File

@ -0,0 +1,32 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
ISSUES:
-------
- tools/mysql folder scripts are copied over the classpath (because of the filtering feature, shall we remove it?). It's harmless anyways apart from the potential secuity issues (BTW credentials are deployed non encrypted anyways in application.properties)
- fix commented library versions
TODO (in order of priority):
-----
- AMP archetype
- make jetty:run-inplace work for easy runtime editing
- translate other TXT files into APT for maven site generation (as done for README)
- Integration testing with selenium
- unit testing suite
- Configure class/contexts reloading for jetty run
- add multimodule support (and extract release/deploy policies to a super POM for usage also by AMP archetype)
- add amp dependency mgmt or let steer alfresco for a jar artifact (jsp loading from jar or pre extracted?)
- move archetype documentation in mvn site

View File

@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sourcesense.alfresco</groupId>
<artifactId>maven-alfresco-extension-archetype</artifactId>
<version>1.0.0</version>
<packaging>maven-archetype</packaging>
<name>Maven alfresco Extension archetype</name>
<url>${site.url}</url>
<issueManagement>
<system>Jira</system>
<url>https://dev.sourcesense.com/jira/secure/BrowseProject.jspa?id=10130</url>
</issueManagement>
<organization>
<name>Sourcesense</name>
<url>http://www.sourcesense.com</url>
</organization>
<description>
This archetype developed within Sourcesense aims to provide a standardized approach to development, release and deployment of Alfresco extensions (as opposed to AMP builds, to be released as a different artifact ).
Using standard m2 lifecycle commands (mvn compile package deploy) and generally available plugins (cargo, release, assembly)
we are able to cover a very high percentage of Alfresco lifecycle common use cases.
It can be used both with Maven2 and Ant build systems, but it must be clear that *only* the Maven2 approach provides all the
automation features we will describe in this website.
In addition to that the m2 approach provides a zero-conf approach while ant requires (as usual) manual gathering and
selection of required alfresco libraries and webapp (please refer to README-ant.txt for further info about the Ant
build).
Last but not the least, m2 build is more likely to be maintained and improved (especially in the likely case Alfresco moves to
maven2). For more details on the m2 apprach please refer instead to README Section (or directly and to README-m2.txt of the generated project).
</description>
<properties>
<svn.url>https://dev.sourcesense.com/repos/dev/whiteboard/maven-alfresco-extension-archetype</svn.url>
<svn.tags.url>${svn.url}/tags</svn.tags.url>
<site.url>https://repository.sourcesense.com/maven2-sites/${pom.artifactId}-${pom.version}</site.url>
<!-- These redundancies are due to filtering issues of Maven. See here http://maven.apache.org/plugins/maven-site-plugin/usage.html -->
<site_pom_description>${pom.description}</site_pom_description>
<site_pom_url>${pom.organization.url}</site_pom_url>
<site_pom_groupId>${pom.groupId}</site_pom_groupId>
<site_pom_artifactId>${pom.artifactId}</site_pom_artifactId>
<site_pom_version>${pom.version}</site_pom_version>
<site_tags_url>${svn.tags.url}</site_tags_url>
<site_site_url>${site.url}</site_site_url>
</properties>
<repositories>
<repository>
<id>ss-public</id>
<url>http://repository.sourcesense.com/maven2</url>
</repository>
<!-- Enable in case of apache snapshot deps -->
<repository>
<id>snapshots.apache</id>
<url>http://people.apache.org/repo/m2-snapshot-repository</url>
<snapshots>
<enabled />
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
</repositories>
<scm>
<developerConnection>scm:svn:https://dev.sourcesense.com/repos/dev/whiteboard/maven-alfresco-extension-archetype/trunk</developerConnection>
<url>https://dev.sourcesense.com/repos/dev/whiteboard/maven-alfresco-extension-archetype/trunk</url>
</scm>
<developers>
<developer>
<id>g.columbro</id>
<name>Gabriele Columbro</name>
<email>g.columbro@sourcesense.com</email>
<roles>
<role>Alfresco Architect</role>
<role>Developer</role>
</roles>
<organization>Sourcesense</organization>
<organizationUrl>http://www.sourcesense.com</organizationUrl>
</developer>
</developers>
<mailingLists>
<mailingList>
<name>Sourcesense Alfresco Dev Mailing list</name>
<subscribe>alfresco-dev-subscribe@lists.sourcesense.com</subscribe>
<unsubscribe>alfresco-dev-unsubscribe@lists.sourcesense.com</unsubscribe>
<post>alfresco-dev@lists.sourcesense.com</post>
<!-- We need an archive!!! -->
<!--<archive>http://mail-archives.wakaleo.com/modmbox/dev/</archive>-->
</mailingList>
</mailingLists>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>2.0-alpha-2</version>
</extension>
<!-- Unreleased version of webdav wagon plugin which fixes a boring stacktrace logging from this provider.
FIXME: Improve the fix and submit the patch
-->
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav</artifactId>
<version>1.0-beta-3</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
</extension>
</extensions>
<plugins>
<!--
|
| TODO: Integrate mvn-gforge-plugin to release in gforge in the release process.
| See here http://wiki.evolvis.org/mvn-gf-plugin/index.php/Main_Page for more info
<plugin>
<groupId>de.tarent.maven.plugins</groupId>
<artifactId>mvn-gforge-plugin</artifactId>
<configuration>
<gForgeAPIPort_address>http://evolvis.org/soap/index.php</gForgeAPIPort_address>
<fileTypes>
<type>javadoc</type>
<type>sources</type>
</fileTypes>
<processorType>i386</processorType>
</configuration>
</plugin>
-->
<plugin>
<artifactId>maven-archetype-plugin</artifactId>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<!-- useEditMode>true</useEditMode>-->
<!-- dryRun>true</dryRun-->
<preparationGoals>clean package</preparationGoals>
<goals>deploy site:site site:deploy</goals>
<tagBase>${svn.tags.url}</tagBase>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>announcement-generate</goal>
</goals>
<id>announcement-generate</id>
</execution>
<execution>
<goals>
<goal>announcement-mail</goal>
</goals>
<id>announcement-mail</id>
</execution>
<execution>
<goals>
<goal>jira-report</goal>
</goals>
<id>jira-report</id>
</execution>
</executions>
<!-- Automatically notifies the list when release is done. Please supply username and password in the command line -->
<configuration>
<smtpHost>mail.sourcesense.com</smtpHost>
<smtpPort implementation="java.lang.Integer">25</smtpPort>
<toAddresses>
<toAddress implementation="java.lang.String">sysadmin@sourcesense.com</toAddress>
<toAddress implementation="java.lang.String">alfresco@sourcesense.com</toAddress>
<toAddress implementation="java.lang.String">g.columbro@sourcesense.com</toAddress>
</toAddresses>
<username>${smtp.username}</username>
<password>${smtp.password}</password>
<fromDeveloperId>g.columbro</fromDeveloperId>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jxr-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-clover-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>changes-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>changelog-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,32 @@
<document>
<properties>
<title>Maven Alfresco extension archetype</title>
<author email="g.columbro@sourcesense.com">Gabriele Columbro</author>
</properties>
<body>
<release version="1.0.0" date="2008-03-27" description="Public release">
<action dev="g.columbro" type="add">
Added support for doxia for both generated extension and archetype
</action>
<action dev="g.columbro" type="fix" issue="MVNALF-4">
Now there's a working command for zero conf creation of the project from
the remote archetype (deployed on public SS repos ATM)
</action>
<action dev="g.columbro" type="add">
Add support for announcement mail sending
</action>
<action dev="g.columbro" type="add" issue="MVNALF-3">
Added licensing to all files (apache 2)
</action>
<action dev="g.columbro" type="add">
Added change log and improved documentation a lot
</action>
</release>
<release version="0.7" date="2008-03-20" description="First private release">
<action dev="g.columbro" type="update">
Merged all past projects in this archetype
</action>
</release>
</body>
</document>

View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?><archetype-descriptor name="maven-alfresco-extension-archetype">
<fileSets>
<fileSet filtered="true" encoding="UTF-8">
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>src/main/properties</directory>
<includes>
<include>**/*.txt</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory>src/main/resources</directory>
<includes>
<include>**/*.js</include>
<include>**/*.ftl</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>tools/export</directory>
<includes>
<include>**/*.txt</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>tools/ant</directory>
<includes>
<include>**/*.txt</include>
<include>**/*.html</include>
<include>**/*.jsp</include>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory>tools/m2</directory>
<includes>
<include>**/*.sh</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory>tools/ant</directory>
<includes>
<include>**/*.access</include>
<include>**/*.tld</include>
<include>**/*.xsd</include>
<include>**/*.sample</include>
<include>**/*.gif</include>
<include>**/*.ftl</include>
<include>**/*.ico</include>
<include>**/*.MF</include>
<include>**/*.0-community/scripts/ajax/dojo/src/crypto/LICENSE</include>
<include>**/*.as</include>
<include>**/*.fla</include>
<include>**/*.pdf</include>
<include>**/*.0-community/scripts/ajax/dojo/src/i18n/calendar/nls/README</include>
<include>**/*.0-community/scripts/ajax/dojo/src/i18n/currency/nls/README</include>
<include>**/*.svg</include>
<include>**/*.sql</include>
<include>**/*.htm</include>
<include>**/*.password</include>
<include>**/*.exe</include>
<include>**/*.jar</include>
<include>**/*.js</include>
<include>**/*.class</include>
<include>**/*.dtd</include>
<include>**/*.wsdd</include>
<include>**/*.css</include>
<include>**/*.png</include>
<include>**/*.wsdl</include>
<include>**/*.jpg</include>
<include>**/*.smd</include>
<include>**/*.acp</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory>.externalToolBuilders</directory>
<includes>
<include>**/*.launch</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory></directory>
<includes>
<include>.classpath</include>
<include>.project</include>
<include>build.xml</include>
<include>maven-eclipse.xml</include>
<include>README-ANT.txt</include>
<include>README-m2.txt</include>
</includes>
</fileSet>
</fileSets>
</archetype-descriptor>

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<archetype>
<id>maven-alfresco-extension-archetype</id>
<sources></sources>
<resources>
<resource>src/books/manual.xml</resource>
<resource>src/site/site.xml</resource>
<resource>src/site/apt/index.apt.vm</resource>
<resource>src/site/apt/book-index.apt</resource>
<resource>src/site/fml/faq.fml</resource>
<resource>src/main/properties/local/application.properties</resource>
<resource>src/main/properties/local/README-properties.txt</resource>
<resource>src/main/resources/alfresco/extension/custom-model-context.xml</resource>
<resource>src/main/resources/alfresco/extension/custom-model.xml</resource>
<resource>src/main/resources/alfresco/extension/custom-repository-context.xml</resource>
<resource>src/main/resources/alfresco/extension/restore-context.xml</resource>
<resource>src/main/resources/alfresco/extension/web-client-config-custom.xml</resource>
<resource>src/main/resources/alfresco/extension/webclient.properties</resource>
<resource>tools/ant/tasks/tomcat-tasks.properties</resource>
<resource>tools/ant/tasks/tomcat-tasks.xml</resource>
<resource>tools/ant/ant-bootstrap.sh</resource>
<resource>tools/m2/m2-bootstrap.sh</resource>
<resource>README-ANT.txt</resource>
<resource>README-m2.txt</resource>
<resource>build.xml</resource>
<resource>pom.xml</resource>
<resource>src/main/resources/alfresco/extension/custom-model-context.xml</resource>
<resource>src/main/resources/alfresco/extension/custom-model.xml</resource>
<resource>src/main/resources/alfresco/extension/custom-repository-context.xml</resource>
<resource>src/main/resources/alfresco/extension/file-servers-custom.xml</resource>
<resource>src/main/resources/alfresco/extension/ldap-authentication-context.xml</resource>
<resource>src/main/resources/alfresco/extension/ldap-synchronisation-context.xml</resource>
<resource>src/main/resources/alfresco/extension/restore-context.xml</resource>
<resource>src/main/resources/alfresco/extension/web-client-config-custom.xml</resource>
<resource>src/main/resources/alfresco/extension/webclient.properties</resource>
<resource>src/main/resources/log4j.properties</resource>
<resource>src/main/webapp/WEB-INF/README-WEB-INF.txt</resource>
<resource>src/main/webapp/WEB-INF/faces-config-custom.xml</resource>
<resource>tools/ant/tasks/tomcat-tasks.properties</resource>
<resource>tools/ant/tasks/tomcat-tasks.xml</resource>
<resource>tools/export/testRestoreVersion/README-restore.txt</resource>
<resource>tools/mysql/db_remove.sql</resource>
<resource>tools/mysql/db_setup.sql</resource>
</resources>
</archetype>

View File

@ -0,0 +1,119 @@
Maven-alfresco-archetype references
-----------------------------------
AMP Packaging - http://forge.alfresco.com/forum/forum.php?thread_id=662&forum_id=310
Documentation site - http://repository.sourcesense.com/maven2-sites/maven-alfresco-extension-archetype-1.0.0/
Library conventions - http://forums.alfresco.com/viewtopic.php?f=10&t=1017&p=39172#p39172
Maven repositories - http://forums.alfresco.com/viewtopic.php?f=12&t=10210&p=39175#p39175
Running outside a container - http://forums.alfresco.com/viewtopic.php?f=4&t=9317&p=39176#p39176
Maven4alfresco - http://forums.alfresco.com/viewtopic.php?f=32&t=9268&p=39179#p39179
Maven for building Alfresco - http://forums.alfresco.com/viewtopic.php?f=14&t=7619&p=39188#p39188
Release gforge page - http://forge.alfresco.com/frs/?group_id=90
Forum post - Maven for building Alfresco
---------------------------
Hi all, a bit delayed but wanted to leave my 2 cents on this *very interesting* topic.
I believe that independently from the technology that is used, which hardly depends upon the context you plan to adopt and deploy Alfresco in,
using Maven2 can be far more useful in structured enterprise environments where some of the mentioned requirements (strict dependency management and versioning or releasing policies / ownerships) which Ant is certainly the low key entry point for a test drive / evaluation or for very simple customizations for which maven would be overkill.
ATM, as no real news have happened in one year on the Alfresco side on the mavenization of the Alfresco sources,
we proceeded (in Sourcesense, http://www.sourcesense.com, alfresco partner) in using maven to build and customize Alfresco at our clients, typically big and potentially intricate enterprise environments.
To be clear: we use maven ATM to build alfresco extensions (in the future also AMP should be supported) and that does not mandatorily mean that Alfresco itself should build with maven, even if how it works now (basically a maven-webapp-archetype with a war dependency on the alfresco war) is not completely neat as it flattens the whole transitive dependency resolving magic of m2.
The process of improvement of this lifecycle management (more than just build) tool has been later on released on the alfresco forge (http://forge.alfresco.com/projects/m2alfresco/ and http://repository.sourcesense.com/maven ... ype-1.0.0/) and provides a number of interesting features (like jetty embedded run, clean property filtering management, documentation, jboss/tomcat local/remote deploy, maven release support etc.).
For supporting this release, we made alfresco community artifacts (jar and war) available on Sourcesense repositories in order to have a zero conf startup for even junior developers (and to lower the maven learning curve). See http://repository.sourcesense.com/maven2/alfresco.
For enterprise customization instead, we happily use internal repositories (Sourcesense or clients') with the same approach.
About my 2 cents, it would be much better if Alfresco itself releases its artifacts on m2 repos (thus complete the m10n - mavenization - of source tree) for a number of reasons
- standardization of the naming/versioning
- easy startup
- Alfresco declares itself a ECM systems, as we know 'E' stands for "enterprise", and as we all (sadly) know "enterprise" stands for processes, release policies, bureaucracy, ownerships, lifecycle, development vs. maintenance. A m2 structured approach will ease to me integration in highly complex environments (and with many enterprise applications) in which is not just a matter of "taking and xml file, dropping it in the shared folder, and restart the server" , because it's *simply* not possible
- Having an archetype based approach can really gear community development and lower Alfresco "real" learning curve, as it's pretty much easier to have a list of properties to edit more than go-search-crawl-find on the wiki which is the Spring snippet to be modified. This is true for the extension projects (already in the forge) as well as AMP (let's say module build).
- Alfresco grows faster and faster, to me it's the moment (especially with the 3.0 release) to provide a real neat basis for the even greater growth alfresco expects from the great improvements they are doing: Apache maven is basis for most open source projects, and even tough and complex frameworks (e.g. Apache Cocoon) have completed (not without hassles) the m10n process, towards a more integrated and documented open source vision. The bigger it grows the more difficult will be to do this change and to me it may really make it an outstanding example of "enterprise opensource"
- I don't have to maintain a public m2 repository almost just for Alfresco ;)
Ok, now you may think I'm a maven evangelist trying to find useful applications of that technology at all costs ;)
On the other hand I believe that (especially being a partner) we should not impose technologies, while adapt the way we work to the open source (typically high) standards of development, and this is a characteristic that sometimes I see missing in Alfresco extension development: in this sense the archetype we've released builds *also* with Apache Ant (see http://forge.alfresco.com/forum/forum.php?forum_id=512), exploiting the tidy and standard maven project hierarchy and sharing the same property filtering policies.
Of course all the nice m2 features (like jetty run, jboss and tomcat deploy, release management, etc.) are not supported by this build, but what you just need is to checkout the jar, unzip it, and run ant to have a properly packaged, environment aware alfresco WAR build.
This was more a POC for the feasibility of this double approach, so I'm not planning to maintain the ant part while focusing on the interesting growth perspectives of the m2 part, but it can be useful to provide the double point of access I was mentioning before (enterprise vs. community).
So wrapping up:
I would be (and so my company Sourcesense) to see Alfresco move (and to help/support in this transition) to maven for building its source code, document and release it. But I understand it's a complex and risky process (but risks can be lowered supporting a bottom line Ant based build which provides continuity with current developments).
So ATM I'd love to have some feedback on the possibility of building extension (and AMP in a while) using archetypes / prototype based approach (even before an Alfresco official move to maven) and hopefully some contributions to the project. I think that it's vitally important to have a (still agile but) sort of a process when developing and releasing and application.
That's especially true/valuable for a partner but I think that will especially gear the professional open source community interest in Alfresco.
Hope this helps,
Gab
PS:
For some additional references on the maven topic you may be interested in (sorry for the spamming ;) :
Library conventions - viewtopic.php?f=10&t=1017&p=39172#p39172
Maven repositories - viewtopic.php?f=12&t=10210&p=39175#p39175
Running outside a container - viewtopic.php?f=4&t=9317&p=39176#p39176
Maven4alfresco - viewtopic.php?f=32&t=9268&p=39179#p39179
Library conventions:
--------------------
have been working a lot with Maven and Alfresco, especially in enterprise environments where versioning, releasing and dependency management can be really important and tricky.
That's why I've put my efforts in releasing a maven2 archetype which can be used for building Alfresco extensions (and soon AMP, I hope) and managing the artifact in its whole lifecycle as m2 prescribes, e.g providing features like:
- Property filtering
- Rapid prototyping (common properties already available to the - junior - developer rather than Spring conf files)
- Releasing
- Documentation site
- LDAP configuration samples
- Local/remote deploy on tomcat/jboss with cargo
- jetty embedded run
Results are in the m2alfresco forge project here
http://forge.alfresco.com/projects/m2alfresco/,
and the documentation site with the zero conf command to run are here:
http://repository.sourcesense.com/maven ... ype-1.0.0/.
Now the geek part ;)
I used almost your same convention, but you can have a look at the public repo with only community artifacts available (for obvious redistribution rules):
http://repository.sourcesense.com/maven2/alfresco/
Basically the war build overlays the extension to the alfresco WAR dependency (that brings already all the dependencies inside WEB-INF/lib, so no real pom.xml for it). All the other dependencies are directly set by the extension pom.xml with scope="provided" so that they don't get included again in the overlay phase.
I agree that a an Alfresco pom is the most correct approach but I want to have it released by Alfresco itself in order to have the support and all the stuff for my clients.
Maybe you can join the project in the forge and contribute all the (advanced ;) pom studies you've done here in the main pom of the archetype.
Every feedback would be really appreciated.
Ciao!
Gabriele
PS:
BTW, sources are still in Sourcesense private repos but I'm going to move to the forge soon. Sources are available anyways in the maven repo http://repository.sourcesense.com/maven ... archetype/ and in the forge http://forge.alfresco.com/frs/?group_id=90.

View File

@ -0,0 +1,78 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Sourcesense Alfresco Customization (Ant build):
------------------------------------------------
The project can be built by the means of two build systems:
- Ant (suggested for fast startup and offline building)
- Maven2 (suggested for structured team work and release)
Both build systems provide Alfresco customized build and deploy on tomcat.
WARNING: Make sure you run tomcat with appropriate JVM size (JAVA_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m")
Ant Build Prerequisites:
------------------------
In order the build to work properly and resolve alfresco jar and war dependencies,
you have to download a version of alfresco in the folder
$PROJECT_HOME/tools/ant/deps/alfresco
or conveniently run the script:
$PROJECT_HOME/tools/ant/ant-boostrap.sh
which basically downloads a specified (Community) Alfresco distribution from Sourcesense public Maven repositories,
and unpacks it in the mentioned folder. The WEB-INF/lib jars is added to build classpath.
Alfresco ant WAR build:
-----------------------
- use build.xml in the root folder
- configure your BUILDTIME/RUNTIME properties in
src/main/properties/<yourEnv>/application.properties and build with -Denv=<yourEnv>
(you can either commit this file or add it to svn:ignore for local usage)
----
NB: Before you can actually use the build you have to specify where to find the alfresco war (this is not needed for maven build who retrieves dependencies from public sourcesense maven repo, in case of community artifacts, from private maven repo for enterprise artifacts). To do so please create a build.properties file on the project root and fill it with the property:
alfresco.dir
pointing to the exploded war directory of the alfresco instance you want to use
---
Common usage tasks:
-------------------
ant clean package
ant install (in tomcat)
ant remove (from tomcat)
from the command line calls the default target (package) .
For fast one-shot deploy: ANT_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" ant [remove] install
FAQ:
----
WARNING: the ant tomcat plugin is pretty memory intensive so please use ant with appropriate JVM memory size (ANT_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m")
TODO:
----
- Support content restore

View File

@ -0,0 +1,122 @@
---------------------------------------
Archetype Release: Archetype - maven-alfresco-archetype
Author: g.columbro@sourcesense.com
Contacts: alfresco@sourcesense.com
---------------------------------------
M2 Instructions for Alfresco Extension:
The project can be built by the means of two build systems:
- Ant (suggested for fast startup and offline building) --> see README-ant.txt
- Maven2 (suggested for structured team work and release) --> explained in this file
Both build systems provide Alfresco customized build and deploy on tomcat.
WARNING: Make sure you run tomcat/jboss with appropriate memory size (JAVA_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m")
Alfresco maven2 WAR build
-------------------------
FEATURES:
---------
- centralized environment aware properties based configuration (common use cases covered with just properties file editing, contributions are more than welcome!)
- Content Bootstrap
- WAR customized build
- environment dependent deploy
- easy switch of alfresco version
- jetty embedded build
- jboss (local) and tomcat (local/remote) deployment support
PROJECT LAYOUT
--------------
src --------------------------------------------------------> (source folder)
|
|__ main ___ __ resources --------------------------> mapped in the classpath
| | |
| | |__ alfresco/extension ---> alfresco overriding Spring contexts
| |
| |__ properties -------------------------> environment aware application properties files
| | |
| | |__ local -------------> default application.properties
| |
| |__ java -------------------------------> customization java classes
| |
| |__ webapp -----------------------------> alfresco webapp overlay folder - this folder is overlayed (so may overwrite alfresco war)
| |
| |__ WEB-INF ----------------> drop in this folder WEB-INF custom / overwriting files (e.g. faces-config-custom.xml / web.xml)
|
|__ test
tools --
|__ ant ---------------------------------------------> ant tools
|__ m2 ---------------------------------------------> maven2 tools
|__ export ------------------------------------------> support folder for automatic restore (drop acp+xml files here)
|__ mysql -------------------------------------------> mysql setup/remove scripts, filtered based on the profile into
target - Project build dir
Lifecycle HOWTO - Usage
-----------------------
--- Fast one shot build and embedded jetty run-war|run-exploded [and restore bootstrap] [and customize webappName] [and integrate LDAP]:
' MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m mvn jetty:run-war|jetty:run-exploded [-Denv=yourEnv] [-DrestoreVersion=versionToRestore] [-DwebappName=yourCustomWebappName] [-Denterprise] '
(default env=src/main/properties/local/application.properties)
--- [Re]Deploy on Jboss (locally) [or on Tomcat locally or remotely]:
' mvn clean package [cargo:undeploy] cargo:deploy -Pjboss [-Ptomcat] '
Note: Jboss or Tomcat must be running prior to deployment
--- Packaging and Manual Deploy:
- Invoke ' mvn clean package -Denv=targetEnv '
from the root project's folder; for a list of available environments check src/main/properties/<env>/application.properties
or create a custom src/main/properties/<env>/application.properties
- Copy target/${webapp.name}.war in $JBOSS_HOME/server/default/deploy or in $CATALINA_HOME/webapps
--- Import data exports:
- Invoke the maven package goal using -DrestoreVersion=<version>, where <version> is the name of one of the folders listed below tools/export
- NB: Due to http://forums.alfresco.com/viewtopic.php?p=29429#29429 with embedded jetty run we run into this bug, which prevents boostrap from working.
Restore properly works and was tested under Jboss and Tomcat.
--- Release process
Just one command: ' mvn release:prepare release:perform '
You can customize goals to be executed in both phases in the maven-release-plugin configuration section in the POM.
FAQ:
----
--- Eclipse configuration
-Run ' mvn eclipse:eclipse '
-hit "Refresh" on your Eclipse project
--- Db access problems:
Remember to setup appropriate permissions for selected db / build profile.
You can either edit accordingly and then run: mysql -u root < tools/mysql/db_setup.sql
or if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase) in
mysql -u root -p < target/classes/tools/[db_setup,db_remove].sql
--- Out of memory errors:
Run your build with :
MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn ... ...
--- Content integrity errors on restore running with jetty embedded
Did you remove also alf_data_jetty apart from the alf_jetty db ?
--- Release Problems with LC_ALL
If underlying svn complains about LC_ALL variable please consider running your release prepending:
LC_ALL="C" (macosx environments, see http://svn.haxx.se/users/archive-2006-07/0320.shtml)
--- Install manually JTA (if needed):
- Download jta-1_0_1B-classes.zip from http://java.sun.com/products/jta/
- mvn install:install-file -Dfile=./jta-1_0_1B-classes.zip -DgroupId=jta -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar

View File

@ -0,0 +1,88 @@
<?xml version="1.0"?>
<project name="${artifactId}" default="package" basedir=".">
<!-- Build properties -->
<property name="project.dir" value="."/>
<property name="tools.dir" value="tools"/>
<property name="build.dir" value="${project.dir}/target"/>
<property name="web.dir" value="${project.dir}/src/main/webapp" />
<property name="sources.dir" value="${project.dir}/src/main/java"/>
<property name="resources.dir" value="${project.dir}/src/main/resources"/>
<property name="properties.dir" value="${project.dir}/src/main/properties"/>
<property name="lib.dir" value="${tools.dir}/ant/deps"/>
<!-- NB: This must be filled in here or in build.properties pointing to the root folder of the alfresco exploded war you want to build against
<property name="alfresco.dir" value=""/>
-->
<!-- By default loads src/main/properties/local/application.properties -->
<property name="env" value="local"/>
<property name="webapp.name" value="alfresco" />
<property file="${properties.dir}/${env}/application.properties" />
<!-- Import tomcat utility tasks -->
<import file="${tools.dir}/ant/tasks/tomcat-tasks.xml"/>
<path id="build.classpath">
<fileset dir="${lib.dir}">
<include name="build/*.jar"/>
<include name="alfresco/WEB-INF/lib/*.jar"/>
</fileset>
</path>
<target name="clean">
<delete dir="${build.dir}" />
</target>
<target name="prepare">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.dir}/classes"/>
</target>
<target name="compile" depends="prepare">
<javac srcdir="${sources.dir}" destdir="${build.dir}/classes" classpathref="build.classpath"/>
</target>
<target name="process-resources">
<copy todir="${build.dir}/classes">
<fileset dir="${resources.dir}">
<include name="alfresco/extension/*" />
<exclude name="**/restore-context.xml" />
</fileset>
</copy>
<copy file="${properties.dir}/${env}/application.properties" tofile="${build.dir}/classes/alfresco/extension/application.properties"></copy>
</target>
<target name="package" depends="compile,process-resources" description="Packages application - To execute this task the property alfresco.dir must be set">
<fail message="property alfresco.dir must point for alfresco instance you want to build your extension upon">
<condition>
<not>
<isset property="alfresco.dir"/>
</not>
</condition>
</fail>
<copy todir="${build.dir}/${webapp.name}">
<fileset dir="${alfresco.dir}">
<include name="**" />
</fileset>
</copy>
<copy todir="${build.dir}/${webapp.name}/WEB-INF/classes">
<fileset dir="${build.dir}/classes">
<include name="**" />
</fileset>
</copy>
<copy todir="${build.dir}/${webapp.name}/WEB-INF/lib">
<fileset dir="${lib.dir}/runtime">
<include name="**.jar" />
</fileset>
</copy>
<war destfile="${build.dir}/${webapp.name}.war" webxml="${build.dir}/${webapp.name}/WEB-INF/web.xml">
<fileset dir="${build.dir}/${webapp.name}">
<include name="**/**" />
</fileset>
</war>
</target>
</project>

View File

@ -0,0 +1,695 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<name>Alfresco extension</name>
<packaging>war</packaging>
<url></url>
<description>Alfresco extension</description>
<!--
|
| 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>/application.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 application.properties
-->
<!-- Default properties -->
<properties>
<!-- src/main/properties/<env>/application.properties is loaded -->
<env>local</env>
<webapp.name>alfresco</webapp.name>
<!--
|
| By default the src/main/properties/local/application.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>
<log.dir>${project.build.directory}/</log.dir>
<!-- 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>
-->
<!-- These redundancies are due to filtering issues of Maven. See here http://maven.apache.org/plugins/maven-site-plugin/usage.html -->
<site_pom_description>${pom.description}</site_pom_description>
<site_pom_url>${pom.organization.url}</site_pom_url>
<site_pom_groupId>${pom.groupId}</site_pom_groupId>
<site_pom_artifactId>${pom.artifactId}</site_pom_artifactId>
<site_pom_version>${pom.version}</site_pom_version>
<site_tags_url>${svn.tags.url}</site_tags_url>
<site_site_url>${site.url}</site_site_url>
</properties>
<!--
| Alfresco Community dependencies are generally available in ss-public repo.
| FIXME: Alfresco enterprise dependencies are only available on SS repo ATM. Alfresco *needs* to deliver their artifacts on (at least) partner repos
|-->
<repositories>
<repository>
<id>ss-public</id>
<url>http://repository.sourcesense.com/maven2</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>codehaus snapshot repository</id>
<url>http://snapshots.repository.codehaus.org/</url>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
<pluginRepository>
<id>Maven Snapshots</id>
<url>http://snapshots.maven.codehaus.org/maven2/</url>
<snapshots>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</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>
-->
<!-- 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)
-->
<dependency>
<groupId>alfresco.community</groupId>
<artifactId>alfresco</artifactId>
<version>2.1.0</version>
<type>war</type>
</dependency>
<!-- All provided libs (as contained in the war dependency) but useful for development (e.g. IDE configuration) -->
<dependency>
<groupId>alfresco.community</groupId>
<artifactId>alfresco-web-client</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>alfresco.community</groupId>
<artifactId>alfresco-core</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>alfresco.community</groupId>
<artifactId>alfresco-repository</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>alfresco.community</groupId>
<artifactId>alfresco-remote-api</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
<!-- Uncomment if you're using mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.3</version>
</dependency>
<!-- Other provided dependencies. Uncomment for development/test -->
<!-- dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-mock</artifactId>
<version>2.0</version>
<scope>test</scope>
</dependency>
-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!--
The following dependencies are possibly obsolete. Please check inside alfresco WAR lib folder which version you need to depend upon in case you
have classNotFoundException at runtime or you miss static linking for mvn eclipse:eclipse command.
Alfresco should adhere to a strict library naming policy or better build with maven ;)
<dependency>
<groupId>javax.j2ee</groupId>
<artifactId>j2ee</artifactId>
<version>1.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-ejb_2.1_spec</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xmlParserAPIs</artifactId>
<version>2.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>myfaces</groupId>
<artifactId>myfaces-api</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>portlet-api</groupId>
<artifactId>portlet-api</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>jta</groupId>
<artifactId>jta</artifactId>
<version>1.0.1B</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging-api</artifactId>
<version>1.0.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>20040218.194635</version>
<scope>provided</scope>
</dependency>
-->
</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 -->
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav</artifactId>
<version>1.0-beta-3</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
</extension>
</extensions>
<!-- In certain cases we do build time filtering with the single sourcing application.properties -->
<filters>
<filter>src/main/properties/${env}/application.properties</filter>
</filters>
<!-- Default profile to build as an Alfresco extension - resources are copied into classpath-->
<resources>
<!-- By default also no content is restored -->
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/restore-context.xml</exclude>
<exclude>**/ldap-*.xml</exclude>
</excludes>
</resource>
<!--
| Include application properties file in classpath: this allows Spring contexts to have customization properties available at
| classpath:alfresco/extension/application.properties
-->
<resource>
<directory>src/main/properties/${env}</directory>
<includes>
<include>application.properties</include>
</includes>
<filtering>true</filtering>
<targetPath>alfresco/extension</targetPath>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>log4j.properties</include>
<!-- In this case we do build time filtering instead of runtime Spring property loading, as this is based on a CoC from Alfresco -->
<include>alfresco/extension/file-servers-custom.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>tools/mysql</directory>
<includes>
<include>*.sql</include>
</includes>
<filtering>true</filtering>
<targetPath>tools/mysql</targetPath>
</resource>
</resources>
<plugins>
<!-- Needed for cross OS compatibility in acp/zip encoding -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- useful for eclipse project configuration. Run "mvn eclipse:eclipse" and hit "F5" on the project -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<!--
<configuration>
<downloadSources>true</downloadSources>
</configuration>
-->
</plugin>
<!-- Add documentation locales here -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<locales>en</locales>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>false</archiveClasses>
<webappDirectory>target/${webapp.name}</webappDirectory>
<warSourceExcludes>**classes/tools</warSourceExcludes>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<contextPath>/${webapp.name}</contextPath>
<scanIntervalSeconds>10</scanIntervalSeconds>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>0.3-SNAPSHOT</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<!-- useEditMode>true</useEditMode> -->
<dryRun>true</dryRun>
<preparationGoals>clean package</preparationGoals>
<goals>install deploy cargo:undeploy cargo:deploy site:deploy</goals>
<!-- <tagBase>${svn.tags.url}</tagBase> -->
</configuration>
</plugin>
<!-- Adds support for books PDF and RTF generation for single sourced documentation -->
<plugin>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-maven-plugin</artifactId>
<version>1.0-alpha-10</version>
<executions>
<execution>
<phase>pre-site</phase>
<goals>
<goal>render-books</goal>
</goals>
</execution>
</executions>
<configuration>
<!--
| Target books dir: within the site so it can be linked and deployed
| TODO: Use ${pom.target.dir} or so similar property instead of
| hard wiring 'target'
-->
<generatedDocs>target/site/books</generatedDocs>
<books>
<book>
<directory>src/site</directory>
<descriptor>src/books/manual.xml</descriptor>
<formats>
<format>
<id>xdoc</id>
</format>
<format>
<id>pdf</id>
</format>
<format>
<id>rtf</id>
</format>
</formats>
</book>
</books>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<!-- Targeting 1.5 -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jxr-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-clover-plugin</artifactId>
</plugin>
<!-- Enable this plugin only after setting SCM connection, otherwise mvn site will fail
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>changelog-maven-plugin</artifactId>
</plugin>
-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
<!--
| Configured to deploy on SS public repository ATM.
| You'd need a valid uid/pwd in our repo
|
-->
<distributionManagement>
<!--
|
| Enable this repo in case of publicly redistributable artifacts (Sourcesense public repositories via ssh + public key )
|
<repository>
<id>ss-public</id>
<url>scp://repository.sourcesense.com/var/www/demo.sourcesense.com/maven2</url>
</repository>
<distributionManagement>
<site>
<id>ss-site-public</id>
<url>scp://repository.sourcesense.com/var/www/demo.sourcesense.com/maven2-sites</url>
</site>
-->
<!--
|
| Enable this repo in case of non publicly redistributable artifacts (Sourcesense private repositories via webdav)
|
-->
<repository>
<id>ss-private</id>
<url>dav:https://dev.sourcesense.com/repos/dev/maven2</url>
</repository>
<site>
<id>ss-site-private</id>
<url>dav:https://dev.sourcesense.com/cargo/maven2-sites</url>
</site>
</distributionManagement>
<!--
| Build Profiles
-->
<profiles>
<!--
| Profile to automatically restore export files committed under
| "tools/export/<restoreVersion>/export_*.[acp,xml]" and the restore-context.xml.
| Gets automatically activated specifiying a value for the property
| restoreVersion which maps to the name of the folder.
| NB: In order this to work you *MUST* export your full repo with "export" package name
-->
<profile>
<id>restore</id>
<activation>
<property>
<name>restoreVersion</name>
</property>
</activation>
<build>
<defaultGoal>package</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/restore-*.xml</include>
</includes>
</resource>
<resource>
<directory>tools/export/${restoreVersion}</directory>
<includes>
<include>**</include>
</includes>
<targetPath>alfresco/extension/restore</targetPath>
</resource>
</resources>
</build>
</profile>
<!--
| Profile to automatically include ldap configuration files
| (not included by default build)
-->
<profile>
<id>ldap</id>
<activation>
<property>
<name>enterprise</name>
</property>
</activation>
<build>
<defaultGoal>package</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/ldap-*-context.xml</include>
</includes>
</resource>
</resources>
</build>
</profile>
<!-- Profile for deploying (only locally , due to http://jira.codehaus.org/browse/CARGO-416) on jboss.
|
| FIXME: Add <dependencies> override in order to have jboss specific alfresco-*-jboss.war (e.g no log4j.properties and log4j jar)
| being substituted as a depenendency, and avoid log4j classCasts
|
-->
<profile>
<id>jboss</id>
<!--
| By default the src/main/properties/local/application.properties uses the property "alfresco.data.location" to specify where
| alf_data gets created and "alfresco.db.name" for the database name.
| For local jboss deployment default creation dir (alf_data) is under appserver $JBOSS_HOME/bin directory (as location is specified relatively to
| run dir)
|
| 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/' )
|
| NB: Remember to grant appropriate permissions on database you specify here by running the script found in tools/mysql/[jetty/tomcat/jboss]
| sql scripts (after editing them), or run those you find in target/classes/tools/[db_remove,db_setup].sql which are already filtered according to
| ' alfresco.db.name ' property.
|
-->
<properties>
<alfresco.data.location>./alf_data</alfresco.data.location>
<alfresco.db.name>alf_jboss</alfresco.db.name>
<log.dir></log.dir>
</properties>
<build>
<defaultGoal>cargo:deploy</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/restore-context.xml</exclude>
<exclude>**/ldap-*.xml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include></include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>jboss4x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.servlet.port>8080</cargo.servlet.port>
</properties>
</configuration>
<deployer>
<type>remote</type>
<deployables>
<deployable>
<groupId>${pom.groupId}</groupId>
<artifactId>${pom.artifactId}</artifactId>
<type>war</type>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
<!-- log4j.properties is excluded from source and dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>false</archiveClasses>
<webappDirectory>target/${webapp.name}</webappDirectory>
<dependentWarExcludes >**/log4j.properties,**/lib/log4j*.jar,log4j.properties</dependentWarExcludes >
<warSourceExcludes>**/log4j.properties,WEB-INF/classes/tools</warSourceExcludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!--
| Profile for deploying on tomcat 5.x
|
|
-->
<profile>
<id>tomcat</id>
<!--
| By default the src/main/properties/local/application.properties uses the property "alfresco.data.location" to specify where
| alf_data gets created.
| For tomcat deployment default creation dir (alf_data) is under appserver $CATALINA_HOME/bin directory (as location is specified relatively to
| run dir) and db is configurable likewhise.
| 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/' )
|
| NB: Remember to grant appropriate permissions on database you specify here by running the script found in tools/mysql/[jetty/tomcat/jboss]
| mysql scripts (properly edited) or those you find in target/tools/[db_remove,db_setup].sql which are already filtered according to
| ' alfresco.db.name ' property
|
-->
<properties>
<alfresco.data.location>./alf_data</alfresco.data.location>
<alfresco.db.name>alf_tomcat</alfresco.db.name>
<log.dir></log.dir>
</properties>
<build>
<defaultGoal>package</defaultGoal>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>tomcat5x</containerId>
<type>remote</type>
</container>
<!-- Configure here your Tomcat server manager credentials -->
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>tomcat</cargo.remote.username>
<cargo.remote.password>tomcat</cargo.remote.password>
<cargo.servlet.port>8080</cargo.servlet.port>
</properties>
</configuration>
<deployer>
<type>remote</type>
<deployables>
<deployable>
<artifactId>${pom.artifactId}</artifactId>
<type>war</type>
<properties>
<context>/${webapp.name}</context>
</properties>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -0,0 +1,33 @@
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<book>
<id>manual</id>
<title>Alfresco Extension Manual</title>
<chapters>
<chapter>
<id>introduction</id>
<title>Introduction</title>
<sections>
<section>
<id>book-index</id>
</section>
</sections>
</chapter>
</chapters>
</book>

View File

@ -0,0 +1,43 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Ant/m2 runtime properties management
------------------------------------
Both build systems will comply to the following convention for properties:
- if -Denv=<yourEnv> property is specified at build time properties will be
looked up in folder
src/main/properties/<yourEnv>/application.properties
and copied in the classpath under
alfresco/extension/application.properties
- if no "env" system property is specified env=local default value will be used
Buildtime properties management - Note for Ant Users:
-----------------------------------------------------
Here you can also configure buildtime properties which will be loaded in ant
build context with the same aforementioned convention.
This is done for tomcat ATM.
Buildtime properties management - Note for Maven Users:
-----------------------------------------------------
You should configure your buildtime properties as suggested by the maven
cascading build properties system, i.e. externalizing them from the project
by the means of settings.xml file.

View File

@ -0,0 +1,141 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# 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
# -------------------
# Sample custom content and index data location
# This will create alf_data Relative to appserver run folder
# In this default file we take the property from the POM (for compatbility with local jetty and jboss deployments) but it can also be edited here.
dir.root=${alfresco.data.location}
# Allowed values are: NONE, AUTO, FULL
index.recovery.mode=NONE
# Fail or not when there are node integrity checker errors
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.gjt.mm.mysql.Driver
db.url=jdbc:mysql://localhost/${alfresco.db.name}
db.username=alfresco
db.password=alfresco
db.pool.initial=10
db.pool.max=100
# MySQL dialect
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
# Property to control whether schema updates are performed automatically.
# Updates must be enabled during upgrades as, apart from the static upgrade scripts,
# there are also auto-generated update scripts that will need to be executed. After
# upgrading to a new version, this can be disabled.
#db.schema.update=true
# File servers related properties
# For local builds we disable CIFS and FTP. Edit the following property to reenable them
smb.server.enabled=false
smb.server.name=CFS_SHARE_LOCAL
smb.server.domain=mycompany.com
smb.server.bindto=127.0.0.1
smb.tcpip.port=1445
netbios.session.port=1139
netbios.name.port=1137
netbios.datagram.port=1138
ftp.server.enables=false
ftp.port=1121
ftp.authenticator=alfresco
# This properties file is used to configure LDAP authentication
# NB: The following LDAP related properties are read only in case -Denteprise mvn build property is specified
# Wheter to allow silent deletion of users in the Alfresco UI (note: users will be then resynced in the next synchronization)
ldap.authentication.allowDeleteUser=true
# LDAP JNDI provider
ldap.authentication.provider=com.sun.jndi.ldap.LdapCtxFactory
# Url and protocol for LDAP server to carry authentication against
ldap.authentication.url=ldap://ldap.mycompany.com:636
# can be (simple, ssl)
ldap.authentication.protcol=ssl
# Credentials with full access to the directoty used
ldap.authentication.adminUser=ou=Admin,ou=Services,o=Company
ldap.authentication.adminPassword=secret
# Wheter to allow unauthenticated guest a read only login
ldap.authentication.guestLogin.allowed=false
# Wheter users can be created on the fly upon successful external (e.g. LDAP) authentication. Useful to avoid user synchronization in case just uid and pwd are needed for a user
server.transaction.allow-writes=true
# Wheter user names are case sensitive
user.name.caseSensitive=true
# Wheter the synchronization process has to process duplicated users (e.g. synced users and users coming from the sync)
personService.processDuplicates=true
# Which action to take when processin duplicates. One of: LEAVE, SPLIT, DELETE
personService.duplicateMode=DELETE
# Which of the users (in case of SPLIT duplicates policy) should be considered valid
personService.lastIsBest=true
# Wheter auto created users should be considered when processing duplicates
personService.includeAutoCreated=true
# The query to find the people to import
ldap.synchronisation.personQuery=(objectclass=inetOrgPerson)
# The search base of the query to find people to import
ldap.synchronisation.personSearchBase=ou=Identities,ou=mycompany,o=com
# The attribute name on people objects found in LDAP to use as the uid in Alfresco
ldap.synchronisation.userIdAttributeName=cn
# The attribute on person objects in LDAP to map to the first name property in Alfresco
ldap.synchronisation.userFirstNameAttributeName=givenName
# The attribute on person objects in LDAP to map to the last name property in Alfresco
ldap.synchronisation.userLastNameAttributeName=sn
# The attribute on person objects in LDAP to map to the email property in Alfresco
ldap.synchronisation.userEmailAttributeName=cn
# The attribute on person objects in LDAP to map to the organizational id property in Alfresco
ldap.synchronisation.userOrganizationalIdAttributeName=maildomain
# The default home folder provider to use for people created via LDAP import
ldap.synchronisation.defaultHomeFolderProvider=companyHomeFolderProvider
# The query to find group objects
ldap.synchronisation.groupQuery=(objectclass=AlfrescoGroup)
# The search base to use to find group objects
ldap.synchronisation.groupSearchBase=ou=AlfrescoGroups,ou=mycompany,o=com
# The attribute on LDAP group objects to map to the gid property in Alfrecso
ldap.synchronisation.groupIdAttributeName=cn
# The group type in LDAP
ldap.synchronisation.groupType=AlfrescoGroup
# The person type in LDAP
ldap.synchronisation.personType=inetOrgPerson
# The attribute in LDAP on group objects that defines the DN for its members
ldap.synchronisation.groupMemberAttributeName=member
# The cron expression defining when people imports should take place (e.g. every evening at 22:00 hours)
ldap.synchronisation.import.person.cron=0 0 22 * * ?
# The cron expression defining when group imports should take place (e.g. every evening at 21:45 hours)
ldap.synchronisation.import.group.cron=0 45 21 * * ?
# Should all groups be cleared out at import time?
# - this is safe as groups are not used in Alfresco for other things (unlike person objects which you should never clear out during an import)
# - setting this to true means old group definitions will be tidied up.
ldap.synchronisation.import.group.clearAllChildren=false

View File

@ -0,0 +1,34 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- Registration of new models -->
<bean id="extension.dictionaryBootstrap"
parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/extension/custom-model.xml</value>
</list>
</property>
</bean>
</beans>

View File

@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Custom Model -->
<!-- Note: This model is pre-confissred to load at startup of the Repository. So, all custom -->
<!-- types and aspects added here will automatically be registered -->
<model name="ss:customModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.alfresco.org/model/dictionary/1.0">
<!-- Optional meta-data about the model -->
<description>Custom Alfresco model</description>
<author>Sourcesense</author>
<version>1.0</version>
<imports>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
</imports>
<!-- Introduction of new namespaces defined by this model -->
<!-- NOTE: The following namespace custom.model should be changed to reflect your own namespace -->
<namespaces>
<namespace uri="http://www.sourcesense.com/model/1.0" prefix="ss"/>
</namespaces>
<constraints>
<constraint name="ss:documentTypes" type="LIST">
<parameter name="allowedValues">
<list>
<value>Select a Document type...</value>
<value>Brief</value>
<value>E-mail</value>
<value>Fax</value>
<value>E-Form</value>
</list>
</parameter>
</constraint>
<constraint name="ss:statuses" type="LIST">
<parameter name="allowedValues">
<list>
<value>Select a status...</value>
<value>New</value>
<value>Draft</value>
<value>Proposal</value>
<value>Approved</value>
<value>Public</value>
</list>
</parameter>
</constraint>
<constraint name="ss:stringLength6" type="LENGTH">
<parameter name="minLength">
<value>0</value>
</parameter>
<parameter name="maxLength">
<value>6</value>
</parameter>
</constraint>
<constraint name="ss:stringLength30" type="LENGTH">
<parameter name="minLength">
<value>0</value>
</parameter>
<parameter name="maxLength">
<value>20</value>
</parameter>
</constraint>
</constraints>
<types>
<!-- Incoming documents -->
<type name="ss:incoming">
<title>Incoming document</title>
<parent>cm:content</parent>
<properties>
<property name="ss:documentType">
<type>d:text</type>
<mandatory>true</mandatory>
<constraints>
<constraint ref="ss:documentTypes" />
</constraints>
</property>
<property name="ss:scanId">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength30" />
</constraints>
</property>
<property name="ss:status">
<type>d:text</type>
<mandatory>false</mandatory>
<default>New</default>
<constraints>
<constraint ref="ss:statuses" />
</constraints>
</property>
</properties>
<mandatory-aspects>
<aspect>cm:dublincore</aspect>
<aspect>cm:versionable</aspect>
<aspect>ss:sendable</aspect>
</mandatory-aspects>
</type>
</types>
<aspects>
<aspect name="ss:sendable">
<properties>
<property name="ss:dateSent">
<type>d:date</type>
<mandatory>false</mandatory>
</property>
<property name="ss:senderName">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength30" />
</constraints>
</property>
<property name="ss:senderBsn">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength30" />
</constraints>
</property>
<property name="ss:senderAddress">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength30" />
</constraints>
</property>
<property name="ss:senderZipcode">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength6" />
</constraints>
</property>
<property name="ss:senderCity">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength30" />
</constraints>
</property>
</properties>
</aspect>
</aspects>
</model>

View File

@ -0,0 +1,53 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
This shows the common minimum configuration overrides.
By default, the content and indexes are located at a relative location, which should only
be used when doing a quick preview of the Alfresco server.
-->
<beans>
<!-- overriding to point to custom properties -->
<bean id="repository-properties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders">
<value>true</value>
</property>
<property name="locations">
<list>
<value>classpath:alfresco/repository.properties</value>
<value>classpath:alfresco/version.properties</value>
<value>classpath:alfresco/domain/transaction.properties</value>
<!-- Override basic repository properties, dir.root and hibernate dialect -->
<value>classpath:alfresco/extension/application.properties</value>
</list>
</property>
</bean>
<bean id="hibernateConfigProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:alfresco/domain/hibernate-cfg.properties</value>
</list>
</property>
</bean>
</beans>

View File

@ -0,0 +1,152 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
| Default property based configuration.
| Example configurations are also provided.
|
-->
<alfresco-config area="file-servers">
<!-- To override the default Alfresco filesystem use replace="true", to -->
<!-- add additional filesystems remove the replace="true" attribute -->
<!-- Sample passtrhu Novel authentication
<config evaluator="string-compare" condition="Filesystem Security" replace="true">
<authenticator type="passthru">
<Server>passtrhu1.mycompany.com,passthru2.mycompany.com</Server>
</authenticator>
</config>
-->
<!-- Sample kerberos configuration. Untested.
config evaluator="string-compare" condition="Filesystem Security" replace="true">
<authenticator type="enterprise">
<KDC>authserver.company.com</KDC>
<Realm>MYCOMPANY.COM</Realm>
<Password>secret</Password>
<LoginEntry>AlfCommon</LoginEntry>
</authenticator>
</config-->
<config evaluator="string-compare" condition="Filesystem Security" replace="true">
<authenticator type="alfresco"/>
</config>
<config evaluator="string-compare" condition="CIFS Server" replace="true">
<serverEnable enabled="${smb.server.enabled}"/>
<host name="${smb.server.name}" domain="${smb.server.domain}"/>
<comment>Alfresco CIFS Server</comment>
<!-- Set to the broadcast mask for the subnet -->
<broadcast>255.255.255.0</broadcast>
<!-- Use Java socket based NetBIOS over TCP/IP and native SMB on linux -->
<tcpipSMB platforms="linux,solaris,macosx"/>
<netBIOSSMB platforms="linux,solaris,macosx"/>
<!-- bind to the frontend facing interface of this server -->
<bindto>${smb.server.bindto}</bindto>
<!-- Can be mapped to non-privileged ports, then use firewall rules to forward requests from the standard ports -->
<tcpipSMB port="${smb.tcpip.port}" platforms="linux,solaris,macosx"/>
<netBIOSSMB sessionPort="${netbios.session.port}" namePort="${netbios.name.port}" datagramPort="${netbios.datagram.port}" platforms="linux,solaris,macosx"/>
<hostAnnounce interval="5"/>
<!-- Use Win32 NetBIOS interface on Windows -->
<Win32NetBIOS/>
<Win32Announce interval="5"/>
<!--
<WINS>
<primary>1.2.3.4</primary>
<secondary>5.6.7.8</secondary>
</WINS>
-->
<sessionDebug flags="Negotiate,Socket"/>
</config>
<config evaluator="string-compare" condition="FTP Server">
<serverEnable enabled="${ftp.server.enabled}"/>
<port>${ftp.port}</port>
<!-- FTP authentication -->
<authenticator type="${ftp.authenticator}"/>
<!-- <debug flags="File,Search,Error,Directory,Info,DataPort"/> -->
</config>
<config evaluator="string-compare" condition="Filesystems" replace="true">
<filesystems>
<filesystem name="Alfresco">
<store>workspace://SpacesStore</store>
<rootPath>/app:company_home</rootPath>
<!-- Add a URL file to each folder that links back to the web client -->
<urlFile>
<filename>__Alfresco.url</filename>
<webpath>http://${localname}/</webpath>
</urlFile>
<!-- Mark locked files as offline -->
<offlineFiles/>
<!-- Desktop actions -->
<desktopActions>
<global>
<path>alfresco/desktop/Alfresco.exe</path>
<webpath>http://${localname}/</webpath>
</global>
<action>
<class>org.alfresco.filesys.smb.server.repo.desk.CheckInOutDesktopAction</class>
<name>CheckInOut</name>
<filename>__CheckInOut.exe</filename>
</action>
<action>
<class>org.alfresco.filesys.smb.server.repo.desk.JavaScriptDesktopAction</class>
<name>JavaScriptURL</name>
<filename>__ShowDetails.exe</filename>
<script>alfresco/desktop/showDetails.js</script>
<attributes>anyFiles</attributes>
<preprocess>copyToTarget</preprocess>
</action>
</desktopActions>
<!--
<accessControl default="Write">
<user name="admin" access="Write"/>
<address subnet="90.1.0.0" mask="255.255.0.0" access="Write"/>
</accessControl>
-->
</filesystem>
<!-- AVM virtualization view of all stores/versions for WCM -->
<avmfilesystem name="AVM">
<virtualView/>
</avmfilesystem>
</filesystems>
</config>
</alfresco-config>

View File

@ -0,0 +1,157 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean name="ldapAuthenticationPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders">
<value>true</value>
</property>
<property name="locations">
<value>classpath:alfresco/extension/application.properties</value>
</property>
</bean>
<!-- DAO that rejects changes - LDAP is read only at the moment. It does allow users to be deleted with out warnings from the UI. -->
<bean name="authenticationDao" class="org.alfresco.repo.security.authentication.DefaultMutableAuthenticationDao" >
<property name="allowDeleteUser">
<value>${ldap.authentication.allowDeleteUser}</value>
</property>
</bean>
<bean id="ldapInitialDirContextFactory" class="org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl">
<property name="initialDirContextEnvironment">
<map>
<!-- The LDAP provider -->
<entry key="java.naming.factory.initial">
<value>${ldap.authentication.provider}</value>
</entry>
<!-- The url to the LDAP server -->
<!-- Note you can use space separated urls - they will be tried in turn until one works -->
<!-- This could be used to authenticate against one or more ldap servers (you will not know which one ....) -->
<entry key="java.naming.provider.url">
<value>${ldap.authentication.url}</value>
</entry>
<entry key="java.naming.security.protocol">
<value>${ldap.authentication.protocol}</value>
</entry>
<!-- The authentication mechanism to use -->
<!-- Some sasl authentication mechanisms may require a realm to be set -->
<!-- java.naming.security.sasl.realm -->
<!-- The available options will depend on your LDAP provider -->
<!-- The id of a user who can read group and user information -->
<!-- This does not go through the pattern substitution defined above and is used "as is" -->
<entry key="java.naming.security.principal">
<value>${ldap.authnetication.adminUser}</value>
</entry>
<!-- The password for the user defined above -->
<entry key="java.naming.security.credentials">
<value>${ldap.authnetication.adminPassword}</value>
</entry>
</map>
</property>
</bean>
<bean id="authenticationComponent" class="org.alfresco.repo.security.authentication.ldap.LDAPAuthenticationComponentImpl">
<property name="LDAPInitialDirContextFactory">
<ref bean="ldapInitialDirContextFactory"/>
</property>
<property name="userNameFormat">
<value>cn=%s,ou=Identities,ou=Internal,o=NXP</value>
</property>
<property name="allowGuestLogin">
<value>${ldap.authentication.guestLogin.allowed}</value>
</property>
</bean>
<!-- The person service. -->
<bean id="personService" class="org.alfresco.repo.security.person.PersonServiceImpl" init-method="init">
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="searchService">
<ref bean="admSearchService" />
</property>
<property name="permissionServiceSPI">
<ref bean="permissionServiceImpl" />
</property>
<property name="authorityService">
<ref bean="authorityService" />
</property>
<property name="namespacePrefixResolver">
<ref bean="namespaceService" />
</property>
<property name="policyComponent">
<ref bean="policyComponent"/>
</property>
<property name="personCache">
<ref bean="personCache" />
</property>
<!-- Configurable properties. -->
<!-- -->
<!-- TODO: -->
<!-- Add support for creating real home spaces adn setting -->
<!-- permissions on the hame space and people created. -->
<!-- -->
<!-- The store in which people are persisted. -->
<property name="storeUrl">
<value>${spaces.store}</value>
</property>
<!-- Some authentication mechanisms may need to create people -->
<!-- in the repository on demand. This enables that feature. -->
<!-- If dsiabled an error will be generated for missing -->
<!-- people. If enabled then a person will be created and -->
<!-- persisted. -->
<!-- Valid values are -->
<!-- ${server.transaction.allow-writes} -->
<!-- false -->
<property name="createMissingPeople">
<value>${server.transaction.allow-writes}</value>
</property>
<property name="userNamesAreCaseSensitive">
<value>${user.name.caseSensitive}</value>
</property>
<!-- New properties after 1.4.0 to deal with duplicate user ids when found -->
<property name="processDuplicates">
<value>${personService.processDuplicates}</value>
</property>
<!-- one of: LEAVE, SPLIT, DELETE -->
<property name="duplicateMode">
<value>${personService.duplicateMode}</value>
</property>
<property name="lastIsBest">
<value>${personService.lastIsBest}</value>
</property>
<property name="includeAutoCreated">
<value>${personService.includeAutoCreated}</value>
</property>
</bean>
</beans>

View File

@ -0,0 +1,394 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean name="ldapSynchronisationPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders">
<value>true</value>
</property>
<property name="locations">
<value>classpath:alfresco/extension/application.properties</value>
</property>
</bean>
<!--
Wire up the same context as used for LDAP authentication. You could use another context: just replace this
alias with the bean definition
-->
<alias alias="ldapSyncInitialDirContextFactory" name="ldapInitialDirContextFactory"/>
<!-- Ldap Syncronisation support -->
<!--
There can be more than one stack of beans that import users or groups. For example, it may be easier
to have a version of ldapPeopleExportSource, and associated beans, for each sub-tree of your ldap directory
from which you want to import users. You could then limit users to be imported from two or more sub tress and ignore
users found else where. The same applies to the import of groups.
The defaults shown below are for OpenLDAP.
-->
<!-- Extract user information from LDAP and transform this to XML -->
<bean id="ldapPeopleExportSource" class="org.alfresco.repo.security.authentication.ldap.LDAPPersonExportSource">
<!--
The query to select objects that represent the users to import.
For Open LDAP, using a basic schema, the following is probably what you want:
(objectclass=inetOrgPerson)
For Active Directory:
(objectclass=user)
-->
<property name="personQuery">
<value>${ldap.synchronisation.personQuery}</value>
</property>
<!--
The seach base restricts the LDAP query to a sub section of tree on the LDAP server.
-->
<property name="searchBase">
<value>${ldap.synchronisation.personSearchBase}</value>
</property>
<!--
The unique identifier for the user.
THIS MUST MATCH WHAT THE USER TYPES IN AT THE LOGIN PROMPT
For simple LDAP authentication this is likely to be "cn" or, less friendly, "distinguishedName"
In OpenLDAP, using other authentication mechanisms "uid", but this depends on how you map
from the id in the LDAP authentication request to search for the inetOrgPerson against which
to authenticate.
In Active Directory this is most likely to be "sAMAccountName"
This property is mandatory and must appear on all users found by the query defined above.
-->
<property name="userIdAttributeName">
<value>${ldap.synchronisation.userIdAttributeName}</value>
</property>
<!-- Services -->
<property name="LDAPInitialDirContextFactory">
<ref bean="ldapSyncInitialDirContextFactory"/>
</property>
<property name="personService">
<ref bean="personService"></ref>
</property>
<property name="namespaceService">
<ref bean="namespaceService"/>
</property>
<!--
This property defines a mapping between attributes held on LDAP user objects and
the properties of user objects held in the repository. The key is the QName of an attribute in
the repository, the value is the attribute name from the user/inetOrgPerson/.. object in the
LDAP repository.
-->
<property name="attributeMapping">
<map>
<entry key="cm:userName">
<!-- Must match the same attribute as userIdAttributeName -->
<value>${ldap.synchronisation.userIdAttributeName}</value>
</entry>
<entry key="cm:firstName">
<!-- OpenLDAP: "givenName" -->
<!-- Active Directory: "givenName" -->
<value>${ldap.synchronisation.userFirstNameAttributeName}</value>
</entry>
<entry key="cm:lastName">
<!-- OpenLDAP: "sn" -->
<!-- Active Directory: "sn" -->
<value>${ldap.synchronisation.userLastNameAttributeName}</value>
</entry>
<entry key="cm:email">
<!-- OpenLDAP: "mail" -->
<!-- Active Directory: "???" -->
<value>${ldap.synchronisation.userEmailAttributeName}</value>
</entry>
<entry key="cm:organizationId">
<!-- OpenLDAP: "o" -->
<!-- Active Directory: "???" -->
<value>${ldap.synchronisation.userOrganizationalIdAttributeName}</value>
</entry>
<!-- Always use the default -->
<entry key="cm:homeFolderProvider">
<null/>
</entry>
</map>
</property>
<!-- Set a default home folder provider -->
<!-- Defaults only apply for values above -->
<property name="attributeDefaults">
<map>
<entry key="cm:homeFolderProvider">
<value>${ldap.synchronisation.defaultHomeFolderProvider}</value>
</entry>
</map>
</property>
</bean>
<!-- Extract group information from LDAP and transform this to XML -->
<bean id="ldapGroupExportSource" class="org.alfresco.repo.security.authentication.ldap.LDAPGroupExportSource">
<!--
The query to select objects that represent the groups to import.
For Open LDAP, using a basic schema, the following is probably what you want:
(objectclass=groupOfNames)
For Active Directory:
(objectclass=group)
-->
<property name="groupQuery">
<value>${ldap.synchronisation.groupQuery}</value>
</property>
<!--
The seach base restricts the LDAP query to a sub section of tree on the LDAP server.
-->
<property name="searchBase">
<value>${ldap.synchronisation.groupSearchBase}</value>
</property>
<!--
The unique identifier for the user. This must match the userIdAttributeName on the ldapPeopleExportSource bean above.
-->
<property name="userIdAttributeName">
<value>${ldap.synchronisation.userIdAttributeName}</value>
</property>
<!--
An attribute that is a unique identifier for each group found.
This is also the name of the group with the current group implementation.
This is mandatory for any groups found.
OpenLDAP: "cn" as it is mandatory on groupOfNames
Active Directory: "cn"
-->
<property name="groupIdAttributeName">
<value>${ldap.synchronisation.groupIdAttributeName}</value>
</property>
<!--
The objectClass attribute for group members.
For each member of a group, the distinguished name is given.
The object is looked up by its DN. If the object is of this class it is treated as a group.
-->
<property name="groupType">
<value>${ldap.synchronisation.groupType}</value>
</property>
<!--
The objectClass attribute for person members.
For each member of a group, the distinguished name is given.
The object is looked up by its DN. If the object is of this class it is treated as a person.
-->
<property name="personType">
<value>${ldap.synchronisation.personType}</value>
</property>
<property name="LDAPInitialDirContextFactory">
<ref bean="ldapSyncInitialDirContextFactory"/>
</property>
<property name="namespaceService">
<ref bean="namespaceService"/>
</property>
<!--
The repeating attribute on group objects (found by query or as sub groups)
used to define membership of the group. This is assumed to hold distinguished names of
other groups or users/people; the above types are used to determine this.
OpenLDAP: "member" as it is mandatory on groupOfNames
Active Directory: "member"
-->
<property name="memberAttribute">
<value>${ldap.synchronisation.groupMemberAttributeName}</value>
</property>
<property name="authorityDAO">
<ref bean="authorityDAO"/>
</property>
</bean>
<!-- Job definitions to import LDAP people and groups -->
<!-- The triggers register themselves with the scheduler -->
<!-- You may comment in the default scheduler to enable these triggers -->
<!-- If a cron base trigger is what you want seee scheduled-jobs-context.xml for examples. -->
<!-- Trigger to load poeple -->
<!-- Note you can have more than one initial (context, trigger, import job and export source) set -->
<!-- This would allow you to load people from more than one ldap store -->
<bean id="ldapPeopleTrigger" class="org.alfresco.util.CronTriggerBean">
<property name="jobDetail">
<bean id="ldapPeopleJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.importer.ImporterJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="bean">
<ref bean="ldapPeopleImport"/>
</entry>
</map>
</property>
</bean>
</property>
<property name="cronExpression">
<value>${ldap.synchronisation.import.person.cron}</value>
</property>
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
</bean>
<bean id="ldapGroupTrigger" class="org.alfresco.util.CronTriggerBean">
<property name="jobDetail">
<bean id="ldapGroupJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.importer.ImporterJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="bean">
<ref bean="ldapGroupImport"/>
</entry>
</map>
</property>
</bean>
</property>
<property name="cronExpression">
<value>${ldap.synchronisation.import.group.cron}</value>
</property>
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
</bean>
<!-- The bean that imports xml describing people -->
<bean id="ldapPeopleImport" class="org.alfresco.repo.importer.ExportSourceImporter">
<property name="importerService">
<ref bean="importerComponentWithBehaviour"/>
</property>
<property name="transactionService">
<ref bean="transactionComponent"/>
</property>
<property name="authenticationComponent">
<ref bean="authenticationComponent"/>
</property>
<property name="exportSource">
<ref bean="ldapPeopleExportSource"/>
</property>
<!-- The store that contains people - this should not be changed -->
<property name="storeRef">
<value>${spaces.store}</value>
</property>
<!-- The location of people nodes within the store defined above - this should not be changed -->
<property name="path">
<value>/${system.system_container.childname}/${system.people_container.childname}</value>
</property>
<!-- If true, clear all existing people before import, if false update/add people from the xml -->
<property name="clearAllChildren">
<value>false</value>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="searchService">
<ref bean="searchService"/>
</property>
<property name="namespacePrefixResolver">
<ref bean="namespaceService"/>
</property>
<property name="caches">
<set>
<ref bean="permissionsAccessCache"/>
</set>
</property>
</bean>
<!-- The bean that imports xml descibing groups -->
<bean id="ldapGroupImport" class="org.alfresco.repo.importer.ExportSourceImporter">
<property name="importerService">
<ref bean="importerComponentWithBehaviour"/>
</property>
<property name="transactionService">
<ref bean="transactionComponent"/>
</property>
<property name="authenticationComponent">
<ref bean="authenticationComponent"/>
</property>
<property name="exportSource">
<ref bean="ldapGroupExportSource"/>
</property>
<!-- The store that contains group information - this should not be changed -->
<property name="storeRef">
<value>${alfresco_user_store.store}</value>
</property>
<!-- The location of group information in the store above - this should not be changed -->
<property name="path">
<value>/${alfresco_user_store.system_container.childname}/${alfresco_user_store.authorities_container.childname}</value>
</property>
<!-- If true, clear all existing groups before import, if false update/add groups from the xml -->
<property name="clearAllChildren">
<value>${ldap.synchronisation.import.group.clearAllChildren}</value>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="searchService">
<ref bean="searchService"/>
</property>
<property name="namespacePrefixResolver">
<ref bean="namespaceService"/>
</property>
<!-- caches to clear on import of groups -->
<property name="caches">
<set>
<ref bean="userToAuthorityCache"/>
<ref bean="permissionsAccessCache"/>
</set>
</property>
<!-- userToAuthorityCache -->
</bean>
</beans>

View File

@ -0,0 +1,88 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean id="systemInfoBootstrap" parent="systemInfoImporter">
<property name="bootstrapView">
<value>alfresco/extension/restore/export_systeminfo.xml</value>
</property>
</bean>
<bean id="userBootstrap" parent="userStoreImporter">
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/</prop>
<prop key="location">alfresco/extension/restore/export_users.acp</prop>
</props>
</list>
</property>
<property name="log"><value>true</value></property>
</bean>
<bean id="systemBootstrap" parent="systemStoreImporter">
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/</prop>
<prop key="location">alfresco/extension/restore/export_system.acp</prop>
</props>
</list>
</property>
<property name="log"><value>true</value></property>
</bean>
<bean id="versionBootstrap" parent="versionStoreImporter">
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/</prop>
<prop key="location">alfresco/extension/restore/export_versions.acp</prop>
</props>
</list>
</property>
<property name="log"><value>true</value></property>
</bean>
<bean id="spacesArchiveBootstrap" parent="spacesArchiveStoreImporter">
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/</prop>
<prop key="location">alfresco/extension/restore/export_spaces_archive.acp</prop>
</props>
</list>
</property>
</bean>
<bean id="spacesBootstrap" parent="spacesStoreImporter">
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/</prop>
<prop key="location">alfresco/extension/restore/export_spaces.acp</prop>
</props>
</list>
</property>
<property name="log"><value>true</value></property>
</bean>
</beans>

View File

@ -0,0 +1,193 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
|
| Default configuration for showing the few types defined
| in the model.
| A number of typical use cases commented samples is also available
|
-->
<alfresco-config>
<!-- Most common sample alfresco web client configurations are provided here -->
<config evaluator="string-compare" condition="Languages">
<languages>
<language locale="it_IT">Italiano</language>
<language locale="du_NL">Dutch</language>
</languages>
</config>
<config>
<client>
<!--from-email-address>someone@your-domain.com</from-email-address>
<search-max-results>100</search-max-results-->
<!-- set this value to true to enable AND text terms for simple/advanced search by default -->
<search-and-terms>true</search-and-terms>
</client>
</config>
<config evaluator="string-compare" condition="Content Wizards">
<content-types>
<type name="ss:incoming" display-label-id="incoming" />
</content-types>
</config>
<config evaluator="string-compare" condition="Action Wizards">
<!-- The list of types shown in the is-subtype condition -->
<subtypes>
<type name="ss:incoming" />
</subtypes>
</config>
<config evaluator="aspect-name" condition="ss:sendable">
<property-sheet>
<separator name="sendableProperties" display-label-id="sendable.properties" component-generator="HeaderSeparatorGenerator" />
<show-property name="ss:dateSent" display-label-id="sendable.dateSent" />
<show-property name="ss:senderName" display-label-id="sendable.senderName" />
<show-property name="ss:senderBsn" display-label-id="sendable.senderBsn" />
<show-property name="ss:senderAddress" display-label-id="sendable.senderAddress" />
<show-property name="ss:senderZipcode" display-label-id="sendable.senderZipcode" />
<show-property name="ss:senderCity" display-label-id="sendable.senderCity" />
</property-sheet>
</config>
<!-- How to display the detail page / editing form of a custom defined type -->
<config evaluator="node-type" condition="ss:incoming">
<property-sheet>
<separator name="incomingProperties" display-label-id="incoming.properties" component-generator="HeaderSeparatorGenerator" />
<show-property name="ss:documentType" display-label-id="incoming.documentType" />
<show-property name="ss:scanId" display-label-id="incoming.scanId" />
<show-property name="ss:incomingStatus" display-label-id="incoming.status" />
<show-property name="ss:departmentId" display-label-id="incoming.departmentId" />
</property-sheet>
</config>
<!-- How to customize advanced search form -->
<config evaluator="string-compare" condition="Advanced Search">
<advanced-search>
<content-types>
<type name="ss:incoming" display-label-id="incoming" />
</content-types>
<custom-properties>
<meta-data type="ss:incoming" property="ss:documentType" display-label-id="incoming.documentType" />
</custom-properties>
</advanced-search>
</config>
<!--
| Follow a number of examples of custom actions
<config>
<actions>
<action id="manage_categories">
<permissions>
<permission allow="true">Write</permission>
</permissions>
<label>Manage Categories</label>
<image>/images/icons/categories.gif</image>
<action>dialog:manageCategories</action>
</action>
<action id="approve_space">
<permissions>
<permission allow="true">Write</permission>
</permissions>
<evaluator>org.alfresco.web.action.evaluator.ApproveDocEvaluator</evaluator>
<label>#{actionContext["app:approveStep"]}</label>
<image>/images/icons/approve.gif</image>
<action-listener>#{SpaceDetailsBean.approve}</action-listener>
<action>browse</action>
<params>
<param name="id">#{actionContext.id}</param>
</params>
</action>
<action id="approve_space_details">
<permissions>
<permission allow="true">Write</permission>
</permissions>
<evaluator>org.alfresco.web.action.evaluator.ApproveDocEvaluator</evaluator>
<label>#{actionContext.properties["app:approveStep"]}</label>
<image>/images/icons/approve.gif</image>
<action-listener>#{SpaceDetailsBean.approve}</action-listener>
<action>browse</action>
<params>
<param name="id">#{actionContext.id}</param>
</params>
</action>
</actions>
</config>
<config evaluator="node-type" condition="nxp:readOnlyFolder">
<actions>
<action-group id="add_content_menu">
<style>white-space:nowrap</style>
<action idref="add_adm_content" hide="true" />
</action-group>
<action-group id="space_browse">
<action idref="edit_space_properties" />
<action idref="cut_node" hide="true" />
<action idref="copy_node" hide="true" />
<action idref="delete_space" hide="true" />
<action idref="details_space" />
</action-group>
<action-group id="browse_create_menu">
<action idref="create_content" hide="true" />
<action idref="create_form" hide="true" />
<action idref="create_website_wizard" hide="true" />
<action idref="create_space" hide="true" />
<action idref="create_space_wizard" hide="true"/>
</action-group>
<action-group id="browse_actions_menu">
<action idref="edit_space_properties" />
<action idref="delete_space" hide="true" />
<action idref="cut_node" hide="true" />
<action idref="copy_node" hide="true" />
<action idref="paste_all" hide="true" />
<action idref="import_space" hide="true" />
<action idref="manage_space_rules" hide="true" />
<action idref="regenerate_renditions" hide="true" />
</action-group>
<action-group id="space_details_actions">
<action idref="cut_node" hide="true" />
<action idref="copy_node" hide="true" />
<action idref="delete_space" hide="true" />
<action idref="import_space" hide="true" />
<action idref="export_space" hide="true" />
<action idref="take_ownership_space" hide="true" />
<action idref="manage_space_rules" hide="true" />
<action idref="run_action" hide="true" />
</action-group>
</actions>
</config>
-->
</alfresco-config>

View File

@ -0,0 +1,40 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Sample webclient alfresco custom labels (english)
# for additional i18n add files in alfresco/messages/*_{locale}.properties
#========== Document labels ==============#
# Incoming
incoming=Incoming document
incoming.properties=Incoming document additional properties
incoming.moreProperties=Additional document properties
incoming.scanId=Scan ID
incoming.status=Status
incoming.documentType=Document Type
#========== Aspects labels ==============#
# Sendable
sendable=Sendable document
sendable.properties=Sending details
sendable.dateSent=Sending date
sendable.senderName=Sender Name
sendable.senderBsn=Sender BSN
sendable.senderAddress=Sender Address
sendable.senderZipcode=Sender Zip Code
sendable.senderCity=Sender City

View File

@ -0,0 +1,147 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Customized alfresco log location
# Set root logger level to error
log4j.rootLogger=error, Console, File
###### Console appender definition #######
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{3}] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
###### File appender definition #######
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=${log.dir}alfresco.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
###### Hibernate specific appender definition #######
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
###### Log level overrides #######
log4j.logger.org.alfresco.repo.model.filefolder=info
# Hibernate
log4j.logger.org.hibernate=error
log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
#log4j.logger.org.hibernate.cache.EhCacheProvider=warn
log4j.logger.org.hibernate.type=warn
# log4j.logger.org.hibernate.persister.collection=DEBUG
# Spring
log4j.logger.org.springframework=warn
# Axis/WSS4J
log4j.logger.org.apache.axis=info
log4j.logger.org.apache.ws=info
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# log prepared statement cache activity ###
log4j.logger.org.hibernate.ps.PreparedStatementCache=info
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.repo.avm=info
log4j.logger.org.alfresco.config=info
log4j.logger.org.alfresco.sample=info
log4j.logger.org.alfresco.web=info
log4j.logger.org.alfresco.web.scripts=warn
#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
#log4j.logger.org.alfresco.web.bean.clipboard=debug
log4j.logger.org.alfresco.repo.webservice=info
log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
#log4j.logger.org.alfresco.web.ui.common.Utils=info
log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=warn
log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
#log4j.logger.org.alfresco.repo.cache.EhCacheTracerJob=debug
#log4j.logger.org.alfresco.repo.search.Indexer=debug
#log4j.logger.org.alfresco.repo.workflow=info
#log4j.logger.org.alfresco.repo.jscript=DEBUG
log4j.logger.org.alfresco.repo.jscript.AlfrescoRhinoScriptDebugger=off
# CIFS server debugging
#log4j.logger.org.alfresco.smb.protocol=debug
#log4j.logger.org.alfresco.smb.protocol.auth=debug
#log4j.logger.org.alfresco.acegi=debug
# FTP server debugging
#log4j.logger.org.alfresco.ftp.protocol=debug
#log4j.logger.org.alfresco.ftp.server=debug
# WebDAV debugging
#log4j.logger.org.alfresco.webdav.protocol=debug
# NTLM servlet filters
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
log4j.logger.org.alfresco.repo.node.integrity=ERROR
# New indexer debugging
#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
# Audit debugging
# log4j.logger.org.alfresco.repo.audit=DEBUG
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
# Templating debugging
# log4j.logger.org.alfresco.web.forms=debug
# log4j.logger.org.chiba.xml.xforms=debug
# Property sheet and modelling debugging
# change to error to hide the warnings about missing properties and associations
log4j.logger.alfresco.missingProperties=warn
log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn
log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn
#log4j.logger.org.alfresco.web.ui.repo.component.property=debug
#log4j.logger.org.alfresco.repo.dictionary.DictionaryDAO=info
# Virtualization Server Registry
#log4j.logger.org.alfresco.mbeans.VirtServerRegistry=debug
# Link Validation debugging
#log4j.logger.org.alfresco.linkvalidation.LinkValidationServiceImpl=debug
#log4j.logger.org.alfresco.linkvalidation.LinkValidationStoreCallbackHandler=debug

View File

@ -0,0 +1,20 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Readme for the WEB-INF overlay procedures
-----------------------------------------
- Note:
This folder contents will be overlayed to the ${webapp.name}/WEB-INF folder. So for example a web.xml file put into this folder will overwrite (not "override" by classpath or inheritance rules) the existing web.xml.
This is useful for example for configuring external SSO authentication filters (e.g. NTLMAuthenticationFilter)

View File

@ -0,0 +1,33 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<!--
|
| Insert here custom faces configurations like:
| <managed-bean>
| <navigation-rule>
|
| This is loaded as part of the alfresco convention over configuration
-->
</faces-config>

View File

@ -0,0 +1,76 @@
-----
Maven Alfresco Extension Manual
-----
Sourcesense
-----
Introduction
Welcome to the Maven Alfresco Extension Archetype manual
How to edit this manual
This page is generated from <<<$PROJECT_HOME/src/site/book-index.apt>>> file. \
Book sections and chapters can be edited in the <<<$PROJECT_HOME/src/site/manual.xml>>> file. \
While related POM configuration snippet follows>
+-------------------------------------------
<!-- Adds support for books PDF and RTF generation for single sourced documentation -->
<plugin>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-maven-plugin</artifactId>
<version>1.0-alpha-10</version>
<executions>
<execution>
<phase>pre-site</phase>
<goals>
<goal>render-books</goal>
</goals>
</execution>
</executions>
<configuration>
<!--
| Target books dir: within the site so it can be linked and deployed
| TODO: Use ${pom.target.dir} or so similar property instead of
| hard wiring 'target'
-->
<generatedDocs>target/site/books</generatedDocs>
<books>
<book>
<directory>src/site</directory>
<descriptor>src/books/manual.xml</descriptor>
<formats>
<format>
<id>xdoc</id>
</format>
<format>
<id>pdf</id>
</format>
<format>
<id>rtf</id>
</format>
</formats>
</book>
</books>
</configuration>
</plugin>
+-------------------------------------------
Limitations
* Book sections are matched on id, so a file named section.* must be found
at any depth level withing the folder specified in the POM as book folder
* Books cannot use property filtering
* Books cannot use .vm files as filename cannot be specified, so this makes
only static (no filtering needed) APT/XDOC/FML pages usable for both site
and manual in a single sourcing fashion

View File

@ -0,0 +1,45 @@
-----
Maven Alfresco Extension Manual
-----
Sourcesense
-----
Welcome to the Maven Alfresco Extension Archetype manual
You've reached the Sourcesense Maven Alfresco Extension archetype home page (version: ${site_pom_version}) .
Description
${site_pom_description}
Full documentation
You can also download the full application manual {{{books/pdf/manual/manual.pdf} PDF}} or {{{books/rtf/manual/manual.rtf} RTF}} format.
Quick Start (maven2)
For a quick start you can a run alfresco extension project by just running <<(maven 2.0.6+ required)>>:
--------------------------------------------
mvn jetty:run-exploded
--------------------------------------------
Quick Start (Ant)
For a quick start you can package alfresco by running <<(Default target : package)>> :
--------------------------------------------
ant
--------------------------------------------

View File

@ -0,0 +1,121 @@
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<faqs id="Maven Alfresco Extension FAQ">
<part id="General">
<title>General</title>
<faq id="eclipse">
<question>How do I configure Eclipse?</question>
<answer>
<ul>
<li>Run ' mvn eclipse:eclipse '</li>
<li>"Refresh" on your Eclipse project</li>
</ul>
</answer>
</faq>
<faq id="dbaccess">
<question>Why I cannot access db "alf_[jetty,tomcat,jboss] "?</question>
<answer>
<p>
Remember to setup appropriate permissions for selected db / build profile. You have 2 methods to configure/remove your db:
<ol>
<li>
Properly edit
<i>tools/mysql/db_setup.sql</i>
and run from project home
<verbatim>mysql -u root &#60; tools/mysql/db_setup.sql</verbatim>
</li>
<li>
if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase), and run
directly
<verbatim>mysql -u root -p &#60; target/classes/tools/[db_setup,db_remove].sql</verbatim>
</li>
</ol>
</p>
</answer>
</faq>
<faq id="jettymemory">
<question>Why do I get memory errors running jetty?</question>
<answer>
<p>
Run your build with :
<verbatim>MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn jetty:[run-war,run-exploded]</verbatim>
</p>
</answer>
</faq>
</part>
<part id="Release">
<title>Release</title>
<faq id="howo">
<question>How do I release?</question>
<answer>
<ul>
<li>Uncommenting in generated POM svn.tags.url and maven-release-plugin configuration</li>
<li>Ensuring dryRun="false" element in that configuration</li>
<li>
Running a single command:
<verbatim>mvn release:prepare release:perforn</verbatim>
</li>
</ul>
</answer>
</faq>
<faq id="lcall">
<question>Why my release process complains about svn LC_ALL variable?</question>
<answer>
<p>
If underlying svn complains about LC_ALL variable please consider running your release prepending:
<verbatim>LC_ALL="C"</verbatim>
(macosx environments, see http://svn.haxx.se/users/archive-2006-07/0320.shtml)
</p>
</answer>
</faq>
<faq id="integrity">
<question>Why do I get Content integrity errors on restore running with jetty embedded/during release?</question>
<answer>
<p>Did you remove also alf_data_jetty (or how you renamed it) apart from the alf_jetty (or how you renamed it) db ;) ?</p>
</answer>
</faq>
</part>
<part id="Dependencies">
<title>Dependency management</title>
<faq id="jta">
<question>Why JTA can't be properly found on maven repos?</question>
<answer>
<p>
Due to redistribution problems you have to install JTA manuall when you need it with:
<verbatim>
- Download jta-1_0_1B-classes.zip from http://java.sun.com/products/jta/ - mvn install:install-file
-Dfile=./jta-1_0_1B-classes.zip -DgroupId=jta -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar
</verbatim>
</p>
</answer>
</faq>
</part>
<part id="Documentation">
<title>Documentation</title>
<faq id="filtering">
<question>Why I have duplicated properties with '_' character in my POM?</question>
<answer>
<p>
Due to maven/velocity filtering limitation,
dot based properties will not work in filtered site files. That's why a '_' separator is needed.
</p>
</answer>
</faq>
</part>
</faqs>

View File

@ -0,0 +1,53 @@
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project>
<poweredBy>
<logo name="Maven" href="http://maven.apache.org" img="http://maven.apache.org/images/logos/maven-feather.png"/>
</poweredBy>
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-application-skin</artifactId>
<version>1.0</version>
</skin>
<bannerLeft>
<name>Maven Alfresco Generated Sample - v. ${site_pom_version}</name>
<href>${site_site_url}</href>
</bannerLeft>
<bannerRight>
</bannerRight>
<body>
<links>
<item name="Maven" href="http://maven.apache.org/"/>
<item name="Apache" href="http://www.apache.org/"/>
</links>
<menu name="Maven Alfresco Extension Archetype Generated Project Instance - Howto ">
<item name="Introduction" href="index.html"/>
<item name="README" href="${svn.tags.url}/${project.artifactId}-${project.version}/README.txt"/>
<item name="M2 Usage Guide" href="${svn.tags.url}/${project.artifactId}-${project.version}/src/main/resources/archetype-resources/README-m2.txt"/>
<item name="Ant Usage Guide" href="${svn.tags.url}/${project.artifactId}-${project.version}/src/main/resources/archetype-resources/README-ANT.txt"/>
<item name="Roadmap" href="${svn.tags.url}/${project.artifactId}-${project.version}/ROADMAP.txt"/>
<item name="FAQ" href="faq.html"/>
</menu>
<menu ref="reports"/>
</body>
</project>

View File

@ -0,0 +1,239 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Maven Alfresco Extension Manual</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta name="author" content="Sourcesense" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="collapsed">
<a href="project-info.html">Project Information</a>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Introduction</h2>
<p>Welcome to the Maven Alfresco Extension Archetype manual</p>
</div>
<div class="section"><h2>How to edit this manual</h2>
<p>This page is generated from <tt>$PROJECT_HOME/src/site/book-index.apt</tt>
file. <br />
Book sections and chapters can be edited in the <tt>$PROJECT_HOME/src/site/manual.xml</tt>
file. <br />
While related POM configuration snippet follows&gt;</p>
<div class="source"><pre>
&lt;!-- Adds support for books PDF and RTF generation for single sourced documentation --&gt;
&lt;plugin&gt;
&lt;groupId&gt;org.apache.maven.doxia&lt;/groupId&gt;
&lt;artifactId&gt;doxia-maven-plugin&lt;/artifactId&gt;
&lt;version&gt;1.0-alpha-10&lt;/version&gt;
&lt;executions&gt;
&lt;execution&gt;
&lt;phase&gt;pre-site&lt;/phase&gt;
&lt;goals&gt;
&lt;goal&gt;render-books&lt;/goal&gt;
&lt;/goals&gt;
&lt;/execution&gt;
&lt;/executions&gt;
&lt;configuration&gt;
&lt;!--
| Target books dir: within the site so it can be linked and deployed
| TODO: Use ${pom.target.dir} or so similar property instead of
| hard wiring 'target'
--&gt;
&lt;generatedDocs&gt;target/site/books&lt;/generatedDocs&gt;
&lt;books&gt;
&lt;book&gt;
&lt;directory&gt;src/site&lt;/directory&gt;
&lt;descriptor&gt;src/books/manual.xml&lt;/descriptor&gt;
&lt;formats&gt;
&lt;format&gt;
&lt;id&gt;xdoc&lt;/id&gt;
&lt;/format&gt;
&lt;format&gt;
&lt;id&gt;pdf&lt;/id&gt;
&lt;/format&gt;
&lt;format&gt;
&lt;id&gt;rtf&lt;/id&gt;
&lt;/format&gt;
&lt;/formats&gt;
&lt;/book&gt;
&lt;/books&gt;
&lt;/configuration&gt;
&lt;/plugin&gt;
</pre>
</div>
</div>
<div class="section"><h2>Limitations</h2>
<ul><li>Book sections are matched on id, so a file named section.* must be found at any depth level withing the folder specified in the POM as book folder</li>
<li>Books cannot use property filtering</li>
<li>Books cannot use .vm files as filename cannot be specified, so this makes only static (no filtering needed) APT/XDOC/FML pages usable for both site and manual in a single sourcing fashion</li>
</ul>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<itext creationdate="Apr 1, 2008 7:00:08 PM" producer="Doxia iText">
<chapter numberdepth="1" depth="1" indent="1">
<title leading="36.0" font="Helvetica" size="24.0" fontstyle="normal" red="255" green="0" blue="0">
<chunk font="Helvetica" size="24.0" fontstyle="normal" red="255" green="0" blue="0">Introduction</chunk>
</title>
<section numberdepth="1" depth="1" indent="0.0">
<newline/>
<title leading="24.0" font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">
<chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Introduction </chunk>
</title>
<paragraph>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">Welcome to the Maven Alfresco Extension Archetype manual </chunk>
</paragraph>
</section>
<section numberdepth="1" depth="1" indent="0.0">
<newline/>
<title leading="24.0" font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">
<chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">How to edit this manual </chunk>
</title>
<paragraph>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">This page is generated from </chunk>
<chunk font="Courier" size="12.0" fontstyle="normal" blue="0" green="0" red="0">$PROJECT_HOME/src/site/book-index.apt </chunk>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">file. </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">Book sections and chapters can be edited in the </chunk>
<chunk font="Courier" size="12.0" fontstyle="normal" blue="0" green="0" red="0">$PROJECT_HOME/src/site/manual.xml </chunk>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">file. </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">While related POM configuration snippet follows&gt; </chunk>
</paragraph>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">
<table columns="1" left="true" right="true" top="true" bottom="true" align="Center" tablefitspage="true" cellsfitpage="true" cellpadding="10" width="100.0%">
<row>
<cell left="true" right="true" top="true" bottom="true">
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ ]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <!-- Adds support for books PDF and RTF generation for single sourced documentation -->]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <plugin>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <groupId>org.apache.maven.doxia</groupId>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <artifactId>doxia-maven-plugin</artifactId>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <version>1.0-alpha-10</version>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <executions>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <execution>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <phase>pre-site</phase>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <goals>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <goal>render-books</goal>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </goals>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </execution>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </executions>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <configuration>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <!-- ]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ | Target books dir: within the site so it can be linked and deployed]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ | TODO: Use ${pom.target.dir} or so similar property instead of ]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ | hard wiring 'target']]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ -->]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <generatedDocs>target/site/books</generatedDocs>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <books>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <book>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <directory>src/site</directory>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <descriptor>src/books/manual.xml</descriptor>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <formats>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <id>xdoc</id>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <id>pdf</id>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <id>rtf</id>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </formats>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </book>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </books>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </configuration>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </plugin>]]> </chunk>
<newline/>
</cell>
</row>
</table>
</chunk>
</section>
<section numberdepth="1" depth="1" indent="0.0">
<newline/>
<title leading="24.0" font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">
<chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Limitations </chunk>
</title>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">
<list numbered="false" symbolindent="15">
<listitem indentationleft="20.0">
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">Book sections are matched on id, so a file named section.* must be found at any depth level withing the folder specified in the POM as book folder </chunk>
</listitem>
<listitem indentationleft="20.0">
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">Books cannot use property filtering </chunk>
</listitem>
<listitem indentationleft="20.0">
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">Books cannot use .vm files as filename cannot be specified, so this makes only static (no filtering needed) APT/XDOC/FML pages usable for both site and manual in a single sourcing fashion </chunk>
</listitem>
</list>
</chunk>
</section>
</chapter>
</itext>

View File

@ -0,0 +1,33 @@
{\rtf1\ansi\ansicpg1252
\deff0{\fonttbl{\f0\froman\fcharset0 Times New Roman;}{\f1\fswiss\fcharset0 Arial;}{\f2\froman\fcharset2 Symbol;}}
{\colortbl\red0\green0\blue0;\red255\green255\blue255;\red255\green0\blue0;}
{\*\listtable
{\list\listtemplateid247428345\hybrid
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelstartat1{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f2\fi0\li300\ri0\tx300}
\listid658159304}
}
{\*\listoverridetable
{\listoverride\listid658159304\listoverridecount0\ls1}
}
{\info{\operator iText by lowagie.com}{\creationdate \yr2008\mo3\dy1\hr19\min0\sec8}{\operator Doxia iText}{\creationdate \yr2008\mo3\dy1\hr19\min0\sec8}}
\paperw11907\paperh16840\margl720\margr720\margt720\margb720
{\footer }{\header }\pgwsxn11907\pghsxn16840\sectd{\footer }{\header }\pgwsxn11907\pghsxn16840\pard\li0\ri0\f1\fs48\cf2 1. \f1\fs48\cf2 Introduction\par\par\pard\li0\ri0\f1\fs44\cf0 1. \f1\fs44\cf0 Introduction \par\par\f0\fs20\cf0 \par \pard\li0\ri0\f0\fs20\cf0 \par \f1\fs20\cf0 Welcome to the Maven Alfresco Extension Archetype manual \par\par\pard\li0\ri0\f1\fs44\cf0 2. \f1\fs44\cf0 How to edit this manual \par\par\f0\fs20\cf0 \par \pard\li0\ri0\f0\fs20\cf0 \par \f1\fs20\cf0 This page is generated from $PROJECT_HOME/src/site/book-index.apt file. \f0\fs20\cf0 \par \f1\fs20\cf0 Book sections and chapters can be edited in the $PROJECT_HOME/src/site/manual.xml file. \f0\fs20\cf0 \par \f1\fs20\cf0 While related POM configuration snippet follows>\par\f1\fs20\cf0 \par\trowd
\trftsWidth3\trwWidth10400\trkeep\trqc\trgaph10\trbrdrl\brdrs\brdrw20\brdrcf0
\trbrdrt\brdrs\brdrw20\brdrcf0
\trbrdrb\brdrs\brdrw20\brdrcf0
\trbrdrr\brdrs\brdrw20\brdrcf0
\trbrdrh\brdrs\brdrw20\brdrcf0
\trbrdrv\brdrs\brdrw20\brdrcf0
\trpaddl100\trpaddr100\trpaddfl3\trpaddfr3
\clbrdrl\brdrs\brdrw10\brdrcf0
\clbrdrt\brdrs\brdrw10\brdrcf0
\clbrdrb\brdrs\brdrw10\brdrcf0
\clbrdrr\brdrs\brdrw10\brdrcf0
\clcbpat1
\clftsWidth3
\clwWidth10400
\clpadl100\clpadt100\clpadr100\clpadb100\clpadfl3\clpadft3\clpadfr3\clpadfb3\cellx10400\intbl\pard\intbl\li0\ri0\f0\fs20\cf0 \par \f1\fs20\cf0 <!-- Adds support for books PDF and RTF generation for single sourced documentation -->\f0\fs20\cf0 \par \f1\fs20\cf0 <plugin>\f0\fs20\cf0 \par \f1\fs20\cf0 <groupId>org.apache.maven.doxia</groupId>\f0\fs20\cf0 \par \f1\fs20\cf0 <artifactId>doxia-maven-plugin</artifactId>\f0\fs20\cf0 \par \f1\fs20\cf0 <version>1.0-alpha-10</version>\f0\fs20\cf0 \par \f1\fs20\cf0 <executions>\f0\fs20\cf0 \par \f1\fs20\cf0 <execution>\f0\fs20\cf0 \par \f1\fs20\cf0 <phase>pre-site</phase>\f0\fs20\cf0 \par \f1\fs20\cf0 <goals>\f0\fs20\cf0 \par \f1\fs20\cf0 <goal>render-books</goal>\f0\fs20\cf0 \par \f1\fs20\cf0 </goals>\f0\fs20\cf0 \par \f1\fs20\cf0 </execution>\f0\fs20\cf0 \par \f1\fs20\cf0 </executions>\f0\fs20\cf0 \par \f1\fs20\cf0 <configuration>\f0\fs20\cf0 \par \f1\fs20\cf0 <!-- \f0\fs20\cf0 \par \f1\fs20\cf0 \u124? Target books dir: within the site so it can be linked and deployed\f0\fs20\cf0 \par \f1\fs20\cf0 \u124? TODO: Use $\u123?pom.target.dir\u125? or so similar property instead of \f0\fs20\cf0 \par \f1\fs20\cf0 \u124? hard wiring 'target'\f0\fs20\cf0 \par \f1\fs20\cf0 -->\f0\fs20\cf0 \par \f1\fs20\cf0 <generatedDocs>target/site/books</generatedDocs>\f0\fs20\cf0 \par \f1\fs20\cf0 <books>\f0\fs20\cf0 \par \f1\fs20\cf0 <book>\f0\fs20\cf0 \par \f1\fs20\cf0 <directory>src/site</directory>\f0\fs20\cf0 \par \f1\fs20\cf0 <descriptor>src/books/manual.xml</descriptor>\f0\fs20\cf0 \par \f1\fs20\cf0 <formats>\f0\fs20\cf0 \par \f1\fs20\cf0 <format>\f0\fs20\cf0 \par \f1\fs20\cf0 <id>xdoc</id>\f0\fs20\cf0 \par \f1\fs20\cf0 </format>\f0\fs20\cf0 \par \f1\fs20\cf0 <format>\f0\fs20\cf0 \par \f1\fs20\cf0 <id>pdf</id>\f0\fs20\cf0 \par \f1\fs20\cf0 </format>\f0\fs20\cf0 \par \f1\fs20\cf0 <format>\f0\fs20\cf0 \par \f1\fs20\cf0 <id>rtf</id>\f0\fs20\cf0 \par \f1\fs20\cf0 </format>\f0\fs20\cf0 \par \f1\fs20\cf0 </formats>\f0\fs20\cf0 \par \f1\fs20\cf0 </book>\f0\fs20\cf0 \par \f1\fs20\cf0 </books>\f0\fs20\cf0 \par \f1\fs20\cf0 </configuration>\f0\fs20\cf0 \par \f1\fs20\cf0 </plugin>\f0\fs20\cf0 \par \cell \row
\pard\par\qc\par\pard\li0\ri0\f1\fs44\cf0 3. \f1\fs44\cf0 Limitations \par\par\f0\fs20\cf0 \par \f1\fs20\cf0 \pard\ql\fi0\li300\ri0\fs20\ls1{{\listtext\pard\f2\fi0\li300\ri0 \'b7\tab}\f1\fs20\cf0 Book sections are matched on id, so a file named section.* must be found at any depth level withing the folder specified in the POM as book folder \par
{\listtext\pard\f2\fi0\li300\ri0 \'b7\tab}\f1\fs20\cf0 Books cannot use property filtering \par
{\listtext\pard\f2\fi0\li300\ri0 \'b7\tab}\f1\fs20\cf0 Books cannot use .vm files as filename cannot be specified, so this makes only static (no filtering needed) APT/XDOC/FML pages usable for both site and manual in a single sourcing fashion \par
}\pard\par\sect}

View File

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<itext creationdate="Apr 1, 2008 7:00:08 PM" producer="Doxia iText">
<chapter numberdepth="1" depth="1" indent="1">
<title leading="36.0" font="Helvetica" size="24.0" fontstyle="normal" red="255" green="0" blue="0">
<chunk font="Helvetica" size="24.0" fontstyle="normal" red="255" green="0" blue="0">Introduction</chunk>
</title>
<section numberdepth="1" depth="1" indent="0.0">
<newline/>
<title leading="24.0" font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">
<chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Introduction </chunk>
</title>
<paragraph>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">Welcome to the Maven Alfresco Extension Archetype manual </chunk>
</paragraph>
</section>
<section numberdepth="1" depth="1" indent="0.0">
<newline/>
<title leading="24.0" font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">
<chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">How to edit this manual </chunk>
</title>
<paragraph>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">This page is generated from </chunk>
<chunk font="Courier" size="12.0" fontstyle="normal" blue="0" green="0" red="0">$PROJECT_HOME/src/site/book-index.apt </chunk>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">file. </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">Book sections and chapters can be edited in the </chunk>
<chunk font="Courier" size="12.0" fontstyle="normal" blue="0" green="0" red="0">$PROJECT_HOME/src/site/manual.xml </chunk>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">file. </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">While related POM configuration snippet follows&gt; </chunk>
</paragraph>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">
<table columns="1" left="true" right="true" top="true" bottom="true" align="Center" tablefitspage="true" cellsfitpage="true" cellpadding="10" width="100.0%">
<row>
<cell left="true" right="true" top="true" bottom="true">
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ ]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <!-- Adds support for books PDF and RTF generation for single sourced documentation -->]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <plugin>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <groupId>org.apache.maven.doxia</groupId>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <artifactId>doxia-maven-plugin</artifactId>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <version>1.0-alpha-10</version>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <executions>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <execution>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <phase>pre-site</phase>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <goals>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <goal>render-books</goal>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </goals>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </execution>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </executions>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <configuration>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <!-- ]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ | Target books dir: within the site so it can be linked and deployed]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ | TODO: Use ${pom.target.dir} or so similar property instead of ]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ | hard wiring 'target']]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ -->]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <generatedDocs>target/site/books</generatedDocs>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <books>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <book>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <directory>src/site</directory>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <descriptor>src/books/manual.xml</descriptor>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <formats>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <id>xdoc</id>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <id>pdf</id>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ <id>rtf</id>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </format>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </formats>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </book>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </books>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </configuration>]]> </chunk>
<newline/>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0"><![CDATA[ </plugin>]]> </chunk>
<newline/>
</cell>
</row>
</table>
</chunk>
</section>
<section numberdepth="1" depth="1" indent="0.0">
<newline/>
<title leading="24.0" font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">
<chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Limitations </chunk>
</title>
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">
<list numbered="false" symbolindent="15">
<listitem indentationleft="20.0">
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">Book sections are matched on id, so a file named section.* must be found at any depth level withing the folder specified in the POM as book folder </chunk>
</listitem>
<listitem indentationleft="20.0">
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">Books cannot use property filtering </chunk>
</listitem>
<listitem indentationleft="20.0">
<chunk font="Helvetica" size="12.0" fontstyle="normal" blue="0" green="0" red="0">Books cannot use .vm files as filename cannot be specified, so this makes only static (no filtering needed) APT/XDOC/FML pages usable for both site and manual in a single sourcing fashion </chunk>
</listitem>
</list>
</chunk>
</section>
</chapter>
</itext>

View File

@ -0,0 +1,93 @@
<?xml version="1.0" ?>
<document>
<properties>
<title>Maven Alfresco Extension Manual</title>
<author>Sourcesense</author>
</properties>
<body>
<!--Navigation Panel-->
<table width="100%" align="center">
<tr>
<td><div align='left'>Previous: <a href='introduction.html'>Introduction</a></div></td>
<td><div align='center'>Up: <a href='introduction.html'>Introduction</a></div></td>
<td><div align='right'><i>End of book</i></div></td>
</tr>
</table>
<!--End of Navigation Panel-->
<hr />
<section name="Introduction"><p>Welcome to the Maven Alfresco Extension
Archetype manual</p>
</section>
<section name="How to edit this manual"><p>This page is generated from
<tt>$PROJECT_HOME/src/site/book-index.apt</tt>
file. <br />
Book sections and chapters can be edited in the
<tt>$PROJECT_HOME/src/site/manual.xml</tt>
file. <br />
While related POM configuration snippet follows&gt;</p>
<source>
&lt;!-- Adds support for books PDF and RTF generation for single sourced documentation --&gt;
&lt;plugin&gt;
&lt;groupId&gt;org.apache.maven.doxia&lt;/groupId&gt;
&lt;artifactId&gt;doxia-maven-plugin&lt;/artifactId&gt;
&lt;version&gt;1.0-alpha-10&lt;/version&gt;
&lt;executions&gt;
&lt;execution&gt;
&lt;phase&gt;pre-site&lt;/phase&gt;
&lt;goals&gt;
&lt;goal&gt;render-books&lt;/goal&gt;
&lt;/goals&gt;
&lt;/execution&gt;
&lt;/executions&gt;
&lt;configuration&gt;
&lt;!--
| Target books dir: within the site so it can be linked and deployed
| TODO: Use ${pom.target.dir} or so similar property instead of
| hard wiring 'target'
--&gt;
&lt;generatedDocs&gt;target/site/books&lt;/generatedDocs&gt;
&lt;books&gt;
&lt;book&gt;
&lt;directory&gt;src/site&lt;/directory&gt;
&lt;descriptor&gt;src/books/manual.xml&lt;/descriptor&gt;
&lt;formats&gt;
&lt;format&gt;
&lt;id&gt;xdoc&lt;/id&gt;
&lt;/format&gt;
&lt;format&gt;
&lt;id&gt;pdf&lt;/id&gt;
&lt;/format&gt;
&lt;format&gt;
&lt;id&gt;rtf&lt;/id&gt;
&lt;/format&gt;
&lt;/formats&gt;
&lt;/book&gt;
&lt;/books&gt;
&lt;/configuration&gt;
&lt;/plugin&gt;
</source>
</section>
<section name="Limitations"><ul><li><p>Book sections are matched on id, so a
file named section.* must be found at any depth level withing the folder
specified in the POM as book folder</p>
</li>
<li><p>Books cannot use property filtering</p>
</li>
<li><p>Books cannot use .vm files as filename cannot be specified, so this
makes only static (no filtering needed) APT/XDOC/FML pages usable for both
site and manual in a single sourcing fashion</p>
</li>
</ul>
</section>
<hr />
<!--Navigation Panel-->
<table width="100%" align="center">
<tr>
<td><div align='left'>Previous: <a href='introduction.html'>Introduction</a></div></td>
<td><div align='center'>Up: <a href='introduction.html'>Introduction</a></div></td>
<td><div align='right'><i>End of book</i></div></td>
</tr>
</table>
<!--End of Navigation Panel-->
</body>
</document>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" ?>
<document>
<properties>
<title>Alfresco Extension Manual - Table Of Content</title>
</properties>
<body>
<!--Navigation Panel-->
<table width="100%" align="center">
<tr>
<td><div align='right'>Next: <a href='introduction.html'>Introduction</a></div></td>
</tr>
</table>
<!--End of Navigation Panel-->
<hr />
<section name="Alfresco Extension Manual - Table Of
Content"><ul><li><a href="introduction.html">Introduction</a>
<ul><li><a href="book-index.html">Maven Alfresco Extension Manual</a>
<ul><li><a href="book-index.html#Introduction">Introduction</a>
</li>
<li><a href="book-index.html#How_to_edit_this_manual">How to edit this
manual</a>
</li>
<li><a href="book-index.html#Limitations">Limitations</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
<hr />
<!--Navigation Panel-->
<table width="100%" align="center">
<tr>
<td><div align='right'>Next: <a href='introduction.html'>Introduction</a></div></td>
</tr>
</table>
<!--End of Navigation Panel-->
</body>
</document>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" ?>
<document>
<properties>
<title>Introduction</title>
</properties>
<body>
<!--Navigation Panel-->
<table width="100%" align="center">
<tr>
<td><div align='left'>Previous:<a href='index.html'>Table Of Content</a></div></td>
<td><div align='center'>Up: <a href='index.html'>Table Of Content</a></div></td>
<td><div align='right'>Next: <a href='book-index.html'>Maven Alfresco
Extension Manual</a></div></td>
</tr>
</table>
<!--End of Navigation Panel-->
<hr />
<section name="Introduction"><ul><li><a href="book-index.html">Maven Alfresco
Extension Manual</a>
<ul><li><a href="book-index.html#Introduction">Introduction</a>
</li>
<li><a href="book-index.html#How_to_edit_this_manual">How to edit this
manual</a>
</li>
<li><a href="book-index.html#Limitations">Limitations</a>
</li>
</ul>
</li>
</ul>
</section>
<hr />
<!--Navigation Panel-->
<table width="100%" align="center">
<tr>
<td><div align='left'>Previous:<a href='index.html'>Table Of Content</a></div></td>
<td><div align='center'>Up: <a href='index.html'>Table Of Content</a></div></td>
<td><div align='right'>Next: <a href='book-index.html'>Maven Alfresco
Extension Manual</a></div></td>
</tr>
</table>
<!--End of Navigation Panel-->
</body>
</document>

View File

@ -0,0 +1,145 @@
body {
margin: 0px;
padding: 0px;
}
img {
border:none;
}
table {
padding:0px;
width: 100%;
margin-left: -2px;
margin-right: -2px;
}
acronym {
cursor: help;
border-bottom: 1px dotted #feb;
}
table.bodyTable th, table.bodyTable td {
padding: 2px 4px 2px 4px;
vertical-align: top;
}
div.clear{
clear:both;
visibility: hidden;
}
div.clear hr{
display: none;
}
#bannerLeft, #bannerRight {
font-size: xx-large;
font-weight: bold;
}
#bannerLeft img, #bannerRight img {
margin: 0px;
}
.xleft, #bannerLeft img {
float:left;
text-shadow: #7CFC00 1px 1px 1px;
}
.xright, #bannerRight {
float:right;
text-shadow: #7CFC00 1px 1px 1px;
}
#banner {
padding: 0px;
}
#banner img {
border: none;
}
#breadcrumbs {
padding: 3px 10px 3px 10px;
}
#leftColumn {
width: 170px;
float:left;
overflow: auto;
}
#bodyColumn {
margin-right: 1.5em;
margin-left: 197px;
}
#legend {
padding: 8px 0 8px 0;
}
#navcolumn {
padding: 8px 4px 0 8px;
}
#navcolumn h5 {
margin: 0;
padding: 0;
font-size: small;
}
#navcolumn ul {
margin: 0;
padding: 0;
font-size: small;
}
#navcolumn li {
list-style-type: none;
background-image: none;
background-repeat: no-repeat;
background-position: 0 0.4em;
padding-left: 16px;
list-style-position: outside;
line-height: 1.2em;
font-size: smaller;
}
#navcolumn li.expanded {
background-image: url(../images/expanded.gif);
}
#navcolumn li.collapsed {
background-image: url(../images/collapsed.gif);
}
#poweredBy {
text-align: center;
}
#navcolumn img {
margin-top: 10px;
margin-bottom: 3px;
}
#poweredBy img {
display:block;
margin: 20px 0 20px 17px;
}
#search img {
margin: 0px;
display: block;
}
#search #q, #search #btnG {
border: 1px solid #999;
margin-bottom:10px;
}
#search form {
margin: 0px;
}
#lastPublished {
font-size: x-small;
}
.navSection {
margin-bottom: 2px;
padding: 8px;
}
.navSectionHead {
font-weight: bold;
font-size: x-small;
}
.section {
padding: 4px;
}
#footer {
padding: 3px 10px 3px 10px;
font-size: x-small;
}
#breadcrumbs {
font-size: x-small;
margin: 0pt;
}
.source {
padding: 12px;
margin: 1em 7px 1em 7px;
}
.source pre {
margin: 0px;
padding: 0px;
}

View File

@ -0,0 +1,141 @@
body {
padding: 0px 0px 10px 0px;
}
body, td, select, input, li{
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 13px;
}
code{
font-family: Courier, monospace;
font-size: 13px;
}
a {
text-decoration: none;
}
a:link {
color:#36a;
}
a:visited {
color:#47a;
}
a:active, a:hover {
color:#69c;
}
#legend li.externalLink {
background: url(../images/external.png) left top no-repeat;
padding-left: 18px;
}
a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
background: url(../images/external.png) right center no-repeat;
padding-right: 18px;
}
#legend li.newWindow {
background: url(../images/newwindow.png) left top no-repeat;
padding-left: 18px;
}
a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
background: url(../images/newwindow.png) right center no-repeat;
padding-right: 18px;
}
h2 {
padding: 4px 4px 4px 6px;
border: 1px solid #999;
color: #900;
background-color: #ddd;
font-weight:900;
font-size: x-large;
}
h3 {
padding: 4px 4px 4px 6px;
border: 1px solid #aaa;
color: #900;
background-color: #eee;
font-weight: normal;
font-size: large;
}
h4 {
padding: 4px 4px 4px 6px;
border: 1px solid #bbb;
color: #900;
background-color: #fff;
font-weight: normal;
font-size: large;
}
h5 {
padding: 4px 4px 4px 6px;
color: #900;
font-size: normal;
}
p {
line-height: 1.3em;
font-size: small;
}
#breadcrumbs {
border-top: 1px solid #aaa;
border-bottom: 1px solid #aaa;
background-color: #ccc;
}
#leftColumn {
margin: 10px 0 0 5px;
border: 1px solid #999;
background-color: #eee;
}
#navcolumn h5 {
font-size: smaller;
border-bottom: 1px solid #aaaaaa;
padding-top: 2px;
color: #000;
}
table.bodyTable th {
color: white;
background-color: #bbb;
text-align: left;
font-weight: bold;
}
table.bodyTable th, table.bodyTable td {
font-size: 1em;
}
table.bodyTable tr.a {
background-color: #ddd;
}
table.bodyTable tr.b {
background-color: #eee;
}
.source {
border: 1px solid #999;
}
dl {
padding: 4px 4px 4px 6px;
border: 1px solid #aaa;
background-color: #ffc;
}
dt {
color: #900;
}
#organizationLogo img, #projectLogo img, #projectLogo span{
margin: 8px;
}
#banner {
border-bottom: 1px solid #fff;
}
.errormark, .warningmark, .donemark, .infomark {
background: url(../images/icon_error_sml.gif) no-repeat;
}
.warningmark {
background-image: url(../images/icon_warning_sml.gif);
}
.donemark {
background-image: url(../images/icon_success_sml.gif);
}
.infomark {
background-image: url(../images/icon_info_sml.gif);
}

View File

@ -0,0 +1,7 @@
#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
display: none !important;
}
#bodyColumn, body.docs div.docs {
margin: 0 !important;
border: none !important
}

View File

@ -0,0 +1,346 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Project Dependencies</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="expanded">
<a href="project-info.html">Project Information</a>
<ul>
<li class="none">
<a href="integration.html">Continuous Integration</a>
</li>
<li class="none">
<strong>Dependencies</strong>
</li>
<li class="none">
<a href="issue-tracking.html">Issue Tracking</a>
</li>
<li class="none">
<a href="mail-lists.html">Mailing Lists</a>
</li>
<li class="none">
<a href="license.html">Project License</a>
</li>
<li class="none">
<a href="project-summary.html">Project Summary</a>
</li>
<li class="none">
<a href="team-list.html">Project Team</a>
</li>
<li class="none">
<a href="source-repository.html">Source Repository</a>
</li>
</ul>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Project Dependencies</h2>
<div class="section"><h3>compile</h3>
<p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p>
<table class="bodyTable"><tr class="a"><th>GroupId</th>
<th>ArtifactId</th>
<th>Version</th>
<th>Classifier</th>
<th>Type</th>
<th>Optional</th>
</tr>
<tr class="b"><td>alfresco.community</td>
<td>alfresco</td>
<td>2.1.0</td>
<td>-</td>
<td>war</td>
<td> </td>
</tr>
<tr class="a"><td>mysql</td>
<td>mysql-connector-java</td>
<td>5.0.3</td>
<td>-</td>
<td>jar</td>
<td> </td>
</tr>
</table>
</div>
<div class="section"><h3>provided</h3>
<p>The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:</p>
<table class="bodyTable"><tr class="b"><th>GroupId</th>
<th>ArtifactId</th>
<th>Version</th>
<th>Classifier</th>
<th>Type</th>
<th>Optional</th>
</tr>
<tr class="a"><td>alfresco.community</td>
<td>alfresco-core</td>
<td>2.1.0</td>
<td>-</td>
<td>jar</td>
<td> </td>
</tr>
<tr class="b"><td>alfresco.community</td>
<td>alfresco-remote-api</td>
<td>2.1.0</td>
<td>-</td>
<td>jar</td>
<td> </td>
</tr>
<tr class="a"><td>alfresco.community</td>
<td>alfresco-repository</td>
<td>2.1.0</td>
<td>-</td>
<td>jar</td>
<td> </td>
</tr>
<tr class="b"><td>alfresco.community</td>
<td>alfresco-web-client</td>
<td>2.1.0</td>
<td>-</td>
<td>jar</td>
<td> </td>
</tr>
<tr class="a"><td>javax.servlet</td>
<td>servlet-api</td>
<td>2.5</td>
<td>-</td>
<td>jar</td>
<td> </td>
</tr>
</table>
</div>
</div>
<div class="section"><h2>Project Transitive Dependencies</h2>
<p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p>
</div>
<div class="section"><h2>Project Dependency Graph</h2>
<div class="section"><h3>Dependency Tree</h3>
<p><ul><li><a href="#test:testart:war">test:testart:war</a>
<ul><li><a href="#alfresco.community:alfresco:war">alfresco.community:alfresco:war</a>
</li>
<li><a href="#alfresco.community:alfresco-web-client:jar">alfresco.community:alfresco-web-client:jar</a>
</li>
<li><a href="#alfresco.community:alfresco-core:jar">alfresco.community:alfresco-core:jar</a>
</li>
<li><a href="#alfresco.community:alfresco-repository:jar">alfresco.community:alfresco-repository:jar</a>
</li>
<li><a href="#alfresco.community:alfresco-remote-api:jar">alfresco.community:alfresco-remote-api:jar</a>
</li>
<li><a href="#mysql:mysql-connector-java:jar">mysql:mysql-connector-java:jar</a>
</li>
<li><a href="#javax.servlet:servlet-api:jar">javax.servlet:servlet-api:jar</a>
</li>
</ul>
</p>
</li>
</ul>
</p>
</div>
<div class="section"><h3>Dependency Listings</h3>
<p><a name="test:testart:war"><b>Alfresco extension</b>
</a>
</p>
<p>Alfresco extension</p>
<p><a href=""></a>
</p>
<p><a name="alfresco.community:alfresco:war"><b>Unnamed - alfresco.community:alfresco:war:2.1.0</b>
</a>
</p>
<p><a name="alfresco.community:alfresco-web-client:jar"><b>Unnamed - alfresco.community:alfresco-web-client:jar:2.1.0</b>
</a>
</p>
<p><a name="alfresco.community:alfresco-core:jar"><b>Unnamed - alfresco.community:alfresco-core:jar:2.1.0</b>
</a>
</p>
<p><a name="alfresco.community:alfresco-repository:jar"><b>Unnamed - alfresco.community:alfresco-repository:jar:2.1.0</b>
</a>
</p>
<p><a name="alfresco.community:alfresco-remote-api:jar"><b>Unnamed - alfresco.community:alfresco-remote-api:jar:2.1.0</b>
</a>
</p>
<p><a name="mysql:mysql-connector-java:jar"><b>MySQL java connector</b>
</a>
</p>
<p>MySQL java connector</p>
<p><a href="http://dev.mysql.com/usingmysql/java/" class="externalLink">http://dev.mysql.com/usingmysql/java/</a>
</p>
<p><a name="javax.servlet:servlet-api:jar"><b>Unnamed - javax.servlet:servlet-api:jar:2.5</b>
</a>
</p>
</div>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,316 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - FAQ</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="collapsed">
<a href="project-info.html">Project Information</a>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2><a name="top">FAQ</a>
</h2>
<p><b>General</b>
</p>
<ol type="1"><li><a href="#eclipse">How do I configure Eclipse?</a>
</li>
<li><a href="#dbaccess">Why I cannot access db "alf_[jetty,tomcat,jboss] "?</a>
</li>
<li><a href="#jettymemory">Why do I get memory errors running jetty?</a>
</li>
</ol>
<p><b>Release</b>
</p>
<ol type="1"><li><a href="#howo">How do I release?</a>
</li>
<li><a href="#lcall">Why my release process complains about svn LC_ALL variable?</a>
</li>
<li><a href="#integrity">Why do I get Content integrity errors on restore running with jetty embedded/during release?</a>
</li>
</ol>
<p><b>Dependency management</b>
</p>
<ol type="1"><li><a href="#jta">Why JTA can't be properly found on maven repos?</a>
</li>
</ol>
<p><b>Documentation</b>
</p>
<ol type="1"><li><a href="#filtering">Why I have duplicated properties with '_' character in my POM?</a>
</li>
</ol>
</div>
<div class="section"><h2>General</h2>
<dl><dt><a name="eclipse">How do I configure Eclipse?</a>
</dt>
<dd>
<ul>
<li>Run ' mvn eclipse:eclipse '</li>
<li>"Refresh" on your Eclipse project</li>
</ul>
<table border="0"><tr><td align="right"><a href="#top">[top]</a>
</td></tr></table><hr />
</dd>
<dt><a name="dbaccess">Why I cannot access db "alf_[jetty,tomcat,jboss] "?</a>
</dt>
<dd>
<p>
Remember to setup appropriate permissions for selected db / build profile. You have 2 methods to configure/remove your db:
<ol>
<li>
Properly edit
<i>tools/mysql/db_setup.sql</i>
and run from project home
<verbatim>mysql -u root &lt; tools/mysql/db_setup.sql</verbatim>
</li>
<li>
if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase), and run
directly
<verbatim>mysql -u root -p &lt; target/classes/tools/[db_setup,db_remove].sql</verbatim>
</li>
</ol>
</p>
<table border="0"><tr><td align="right"><a href="#top">[top]</a>
</td></tr></table><hr />
</dd>
<dt><a name="jettymemory">Why do I get memory errors running jetty?</a>
</dt>
<dd>
<p>
Run your build with :
<verbatim>MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn jetty:[run-war,run-exploded]</verbatim>
</p>
<table border="0"><tr><td align="right"><a href="#top">[top]</a>
</td></tr></table></dd>
</dl>
</div>
<div class="section"><h2>Release</h2>
<dl><dt><a name="howo">How do I release?</a>
</dt>
<dd>
<ul>
<li>Uncommenting in generated POM svn.tags.url and maven-release-plugin configuration</li>
<li>Ensuring dryRun="false" element in that configuration</li>
<li>
Running a single command:
<verbatim>mvn release:prepare release:perforn</verbatim>
</li>
</ul>
<table border="0"><tr><td align="right"><a href="#top">[top]</a>
</td></tr></table><hr />
</dd>
<dt><a name="lcall">Why my release process complains about svn LC_ALL variable?</a>
</dt>
<dd>
<p>
If underlying svn complains about LC_ALL variable please consider running your release prepending:
<verbatim>LC_ALL="C"</verbatim>
(macosx environments, see http://svn.haxx.se/users/archive-2006-07/0320.shtml)
</p>
<table border="0"><tr><td align="right"><a href="#top">[top]</a>
</td></tr></table><hr />
</dd>
<dt><a name="integrity">Why do I get Content integrity errors on restore running with jetty embedded/during release?</a>
</dt>
<dd>
<p>Did you remove also alf_data_jetty (or how you renamed it) apart from the alf_jetty (or how you renamed it) db ;) ?</p>
<table border="0"><tr><td align="right"><a href="#top">[top]</a>
</td></tr></table></dd>
</dl>
</div>
<div class="section"><h2>Dependency management</h2>
<dl><dt><a name="jta">Why JTA can't be properly found on maven repos?</a>
</dt>
<dd>
<p>
Due to redistribution problems you have to install JTA manuall when you need it with:
<verbatim>
- Download jta-1_0_1B-classes.zip from http://java.sun.com/products/jta/ - mvn install:install-file
-Dfile=./jta-1_0_1B-classes.zip -DgroupId=jta -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar
</verbatim>
</p>
<table border="0"><tr><td align="right"><a href="#top">[top]</a>
</td></tr></table></dd>
</dl>
</div>
<div class="section"><h2>Documentation</h2>
<dl><dt><a name="filtering">Why I have duplicated properties with '_' character in my POM?</a>
</dt>
<dd>
<p>
Due to maven/velocity filtering limitation,
dot based properties will not work in filtered site files. That's why a '_' separator is needed.
</p>
<table border="0"><tr><td align="right"><a href="#top">[top]</a>
</td></tr></table></dd>
</dl>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1010 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

View File

@ -0,0 +1,206 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Maven Alfresco Extension Manual</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta name="author" content="Sourcesense" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="collapsed">
<a href="project-info.html">Project Information</a>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Welcome to the Maven Alfresco Extension Archetype manual</h2>
<p>You've reached the Sourcesense Maven Alfresco Extension archetype home page (version: 1.0) </p>
</div>
<div class="section"><h2>Description</h2>
<p>Alfresco extension</p>
</div>
<div class="section"><h2>Full documentation</h2>
<p>You can also download the full application manual <a href="books/pdf/manual/manual.pdf"> PDF</a>
or <a href="books/rtf/manual/manual.rtf"> RTF</a>
format.</p>
</div>
<div class="section"><h2>Quick Start (maven2)</h2>
<p>For a quick start you can a run alfresco extension project by just running <b>(maven 2.0.6+ required)</b>
:</p>
<div class="source"><pre>
mvn jetty:run-exploded
</pre>
</div>
</div>
<div class="section"><h2>Quick Start (Ant)</h2>
<p>For a quick start you can package alfresco by running <b>(Default target : package)</b>
:</p>
<div class="source"><pre>ant </pre>
</div>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,217 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Continuous Integration</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="expanded">
<a href="project-info.html">Project Information</a>
<ul>
<li class="none">
<strong>Continuous Integration</strong>
</li>
<li class="none">
<a href="dependencies.html">Dependencies</a>
</li>
<li class="none">
<a href="issue-tracking.html">Issue Tracking</a>
</li>
<li class="none">
<a href="mail-lists.html">Mailing Lists</a>
</li>
<li class="none">
<a href="license.html">Project License</a>
</li>
<li class="none">
<a href="project-summary.html">Project Summary</a>
</li>
<li class="none">
<a href="team-list.html">Project Team</a>
</li>
<li class="none">
<a href="source-repository.html">Source Repository</a>
</li>
</ul>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Continuous Integration</h2>
<p>No continuous integration management system is defined. Please check back at a later date.</p>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,217 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Issue Tracking</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="expanded">
<a href="project-info.html">Project Information</a>
<ul>
<li class="none">
<a href="integration.html">Continuous Integration</a>
</li>
<li class="none">
<a href="dependencies.html">Dependencies</a>
</li>
<li class="none">
<strong>Issue Tracking</strong>
</li>
<li class="none">
<a href="mail-lists.html">Mailing Lists</a>
</li>
<li class="none">
<a href="license.html">Project License</a>
</li>
<li class="none">
<a href="project-summary.html">Project Summary</a>
</li>
<li class="none">
<a href="team-list.html">Project Team</a>
</li>
<li class="none">
<a href="source-repository.html">Source Repository</a>
</li>
</ul>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Issue Tracking</h2>
<p>No issue management system is defined. Please check back at a later date.</p>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,195 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Source Xref report</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="collapsed">
<a href="project-info.html">Project Information</a>
</li>
<li class="expanded">
<a href="project-reports.html">Project Reports</a>
<ul>
<li class="none">
<strong>Source Xref</strong>
</li>
</ul>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Cross-reference Java source code</h2>
<p>This report includes a cross-reference of the project's sources. Each source entry is also linked with its corresponding Javadoc (if Javadoc was generated).</p>
<div class="section"><h3>Project sources</h3>
<p>No project sources were found. </p>
</div>
<div class="section"><h3>Test sources</h3>
<p>No test sources were found. </p>
</div>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,217 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Project License</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="expanded">
<a href="project-info.html">Project Information</a>
<ul>
<li class="none">
<a href="integration.html">Continuous Integration</a>
</li>
<li class="none">
<a href="dependencies.html">Dependencies</a>
</li>
<li class="none">
<a href="issue-tracking.html">Issue Tracking</a>
</li>
<li class="none">
<a href="mail-lists.html">Mailing Lists</a>
</li>
<li class="none">
<strong>Project License</strong>
</li>
<li class="none">
<a href="project-summary.html">Project Summary</a>
</li>
<li class="none">
<a href="team-list.html">Project Team</a>
</li>
<li class="none">
<a href="source-repository.html">Source Repository</a>
</li>
</ul>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Project License</h2>
<p>No project license is defined for this project.</p>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,217 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Project Mailing Lists</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="expanded">
<a href="project-info.html">Project Information</a>
<ul>
<li class="none">
<a href="integration.html">Continuous Integration</a>
</li>
<li class="none">
<a href="dependencies.html">Dependencies</a>
</li>
<li class="none">
<a href="issue-tracking.html">Issue Tracking</a>
</li>
<li class="none">
<strong>Mailing Lists</strong>
</li>
<li class="none">
<a href="license.html">Project License</a>
</li>
<li class="none">
<a href="project-summary.html">Project Summary</a>
</li>
<li class="none">
<a href="team-list.html">Project Team</a>
</li>
<li class="none">
<a href="source-repository.html">Source Repository</a>
</li>
</ul>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Project Mailing Lists</h2>
<p>There are no mailing lists currently associated with this project.</p>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,256 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Project Information</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="expanded">
<strong>Project Information</strong>
<ul>
<li class="none">
<a href="integration.html">Continuous Integration</a>
</li>
<li class="none">
<a href="dependencies.html">Dependencies</a>
</li>
<li class="none">
<a href="issue-tracking.html">Issue Tracking</a>
</li>
<li class="none">
<a href="mail-lists.html">Mailing Lists</a>
</li>
<li class="none">
<a href="license.html">Project License</a>
</li>
<li class="none">
<a href="project-summary.html">Project Summary</a>
</li>
<li class="none">
<a href="team-list.html">Project Team</a>
</li>
<li class="none">
<a href="source-repository.html">Source Repository</a>
</li>
</ul>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Project Information</h2>
<p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a href="http://maven.apache.org" class="externalLink">Maven</a>
on behalf of the project.</p>
<div class="section"><h3>Overview</h3>
<table class="bodyTable"><tr class="a"><th>Document</th>
<th>Description</th>
</tr>
<tr class="b"><td><a href="integration.html">Continuous Integration</a>
</td>
<td>This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.</td>
</tr>
<tr class="a"><td><a href="dependencies.html">Dependencies</a>
</td>
<td>This document lists the projects dependencies and provides information on each dependency.</td>
</tr>
<tr class="b"><td><a href="issue-tracking.html">Issue Tracking</a>
</td>
<td>This is a link to the issue management system for this project. Issues (bugs, features, change requests) can be created and queried using this link.</td>
</tr>
<tr class="a"><td><a href="mail-lists.html">Mailing Lists</a>
</td>
<td>This document provides subscription and archive information for this project's mailing lists.</td>
</tr>
<tr class="b"><td><a href="license.html">Project License</a>
</td>
<td>This is a link to the definitions of project licenses.</td>
</tr>
<tr class="a"><td><a href="project-summary.html">Project Summary</a>
</td>
<td>This document lists other related information of this project</td>
</tr>
<tr class="b"><td><a href="team-list.html">Project Team</a>
</td>
<td>This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.</td>
</tr>
<tr class="a"><td><a href="source-repository.html">Source Repository</a>
</td>
<td>This is a link to the online source repository that can be viewed via a web browser.</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,200 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Generated Reports</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="collapsed">
<a href="project-info.html">Project Information</a>
</li>
<li class="expanded">
<strong>Project Reports</strong>
<ul>
<li class="none">
<a href="jxr.html">Source Xref</a>
</li>
</ul>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Generated Reports</h2>
<p>This document provides an overview of the various reports that are automatically generated by <a href="http://maven.apache.org" class="externalLink">Maven</a>
Each report is briefly described below.</p>
<div class="section"><h3>Overview</h3>
<table class="bodyTable"><tr class="a"><th>Document</th>
<th>Description</th>
</tr>
<tr class="b"><td><a href="jxr.html">Source Xref</a>
</td>
<td>HTML based, cross-reference version of Java source code.</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,252 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Project Summary</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="expanded">
<a href="project-info.html">Project Information</a>
<ul>
<li class="none">
<a href="integration.html">Continuous Integration</a>
</li>
<li class="none">
<a href="dependencies.html">Dependencies</a>
</li>
<li class="none">
<a href="issue-tracking.html">Issue Tracking</a>
</li>
<li class="none">
<a href="mail-lists.html">Mailing Lists</a>
</li>
<li class="none">
<a href="license.html">Project License</a>
</li>
<li class="none">
<strong>Project Summary</strong>
</li>
<li class="none">
<a href="team-list.html">Project Team</a>
</li>
<li class="none">
<a href="source-repository.html">Source Repository</a>
</li>
</ul>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Project Summary</h2>
<div class="section"><h3>Project Information</h3>
<table class="bodyTable"><tr class="a"><th>Field</th>
<th>Value</th>
</tr>
<tr class="b"><td>Name</td>
<td>Alfresco extension</td>
</tr>
<tr class="a"><td>Description</td>
<td>Alfresco extension</td>
</tr>
<tr class="b"><td>Homepage</td>
<td></td>
</tr>
</table>
</div>
<div class="section"><h3>Project Organization</h3>
<p>This project does not belong to an organization.</p>
</div>
<div class="section"><h3>Build Information</h3>
<table class="bodyTable"><tr class="a"><th>Field</th>
<th>Value</th>
</tr>
<tr class="b"><td>GroupId</td>
<td>test</td>
</tr>
<tr class="a"><td>ArtifactId</td>
<td>testart</td>
</tr>
<tr class="b"><td>Version</td>
<td>1.0</td>
</tr>
<tr class="a"><td>Type</td>
<td>war</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,217 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Source Repository</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="expanded">
<a href="project-info.html">Project Information</a>
<ul>
<li class="none">
<a href="integration.html">Continuous Integration</a>
</li>
<li class="none">
<a href="dependencies.html">Dependencies</a>
</li>
<li class="none">
<a href="issue-tracking.html">Issue Tracking</a>
</li>
<li class="none">
<a href="mail-lists.html">Mailing Lists</a>
</li>
<li class="none">
<a href="license.html">Project License</a>
</li>
<li class="none">
<a href="project-summary.html">Project Summary</a>
</li>
<li class="none">
<a href="team-list.html">Project Team</a>
</li>
<li class="none">
<strong>Source Repository</strong>
</li>
</ul>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>Source Repository</h2>
<p>No source configuration management system is defined. Please check back at a later date.</p>
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,239 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alfresco extension - Team list</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources" id="bannerLeft">
Maven Alfresco Generated Sample - v. 1.0
</a>
<span id="bannerRight">
$banner.name
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 2008-04-01
</div>
<div class="xright"> <a href="http://maven.apache.org/" class="externalLink">Maven</a>
|
<a href="http://www.apache.org/" class="externalLink">Apache</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Maven Alfresco Extension Archetype Generated Project Instance - Howto</h5>
<ul>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Introduction</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">README</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">M2 Usage Guide</a>
</li>
<li class="none">
<a href="../../../../../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Ant Usage Guide</a>
</li>
<li class="none">
<a href="../../../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">Roadmap</a>
</li>
<li class="none">
<a href="../Users/mindthegab/projectz/alfresco/workspace/alfresco-extension-archetype/src/main/resources/archetype-resources">FAQ</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="expanded">
<a href="project-info.html">Project Information</a>
<ul>
<li class="none">
<a href="integration.html">Continuous Integration</a>
</li>
<li class="none">
<a href="dependencies.html">Dependencies</a>
</li>
<li class="none">
<a href="issue-tracking.html">Issue Tracking</a>
</li>
<li class="none">
<a href="mail-lists.html">Mailing Lists</a>
</li>
<li class="none">
<a href="license.html">Project License</a>
</li>
<li class="none">
<a href="project-summary.html">Project Summary</a>
</li>
<li class="none">
<strong>Project Team</strong>
</li>
<li class="none">
<a href="source-repository.html">Source Repository</a>
</li>
</ul>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org" title="Maven" class="poweredBy">
<img alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<div class="section"><h2>The Team</h2>
<p>A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.</p>
<p>The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.</p>
<div class="section"><h3>Members</h3>
<p>There are no developers working on this project.</p>
</div>
<div class="section"><h3>Contributors</h3>
<p>There are no contributors listed for this project. Please check back again later.</p>
</div>
</div>
<script type="text/javascript">
function offsetDate(id, offset) {
var now = new Date();
var nowTime = now.getTime();
var localOffset = now.getTimezoneOffset();
var developerTime = nowTime + ( offset * 60 * 60 * 1000 ) + ( localOffset * 60 * 1000 );
var developerDate = new Date(developerTime);
document.getElementById(id).innerHTML = developerDate;
}
function init(){
}
window.onLoad = init();
</script>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2008
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,55 @@
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# This script is needed *only* in case you use Ant.
# You *need* to run this script otherwise build will fail without finding JAR and WAR artifacts.
# It will fetch alfresco dependencies specified in this file
# and download them when the Ant build process is able to find them,
# e.g.
# - the alfresco war unpacked in the $PROJECT_HOME/tools/ant/deps/alfresco folder
# - jars in $PROJECT_HOME/tools/ant/deps/alfresco/WEB-INF/lib will be used as jar dependencies by the build process. Change ALFRESCO_DIR accordingly to corresponding build.xml property.
#
# Use these properties to specify alfresco version/release from command line
ALFRESCO_DIR=deps/alfresco
ALFRESCO_VERSION="2.1.0"
ALFRESCO_RELEASE="community"
if [ $1 ]; then
echo "Using command line specified ALFRESCO_VERSION=${1}"
ALFRESCO_VERSION=$1
else
echo "Defaulting at ALFRESCO_VERSION=${ALFRESCO_VERSION}"
fi
if [ $2 ]; then
echo "Using command line specified ALFRESCO_RELEASE=${2}"
ALFRESCO_RELEASE=$2
else
echo "Defaulting at ALFRESCO_RELEASE=${ALFRESCO_RELEASE}"
fi
echo "[INFO]" - Downloading Alfresco ${ALFRESCO_RELEASE} ${ALFRESCO_VERSION} WAR into ${ALFRESCO_DIR}
# Go to the target folder
cd ${ALFRESCO_DIR}
# Downloads alfresco
echo "[INFO]" - Unzipping Alfresco ${ALFRESCO_RELEASE} ${ALFRESCO_VERSION} WAR into ${ALFRESCO_DIR}
wget http://repository.sourcesense.com/maven2/alfresco/${ALFRESCO_RELEASE}/alfresco/${ALFRESCO_VERSION}/alfresco-${ALFRESCO_VERSION}.war
unzip alfresco-${ALFRESCO_VERSION}.war
rm -Rf alfresco-${ALFRESCO_VERSION}.war

View File

@ -0,0 +1,25 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
deploy=org.apache.catalina.ant.DeployTask
install=org.apache.catalina.ant.InstallTask
list=org.apache.catalina.ant.ListTask
reload=org.apache.catalina.ant.ReloadTask
remove=org.apache.catalina.ant.RemoveTask
resources=org.apache.catalina.ant.ResourcesTask
roles=org.apache.catalina.ant.RolesTask
start=org.apache.catalina.ant.StartTask
stop=org.apache.catalina.ant.StopTask
undeploy=org.apache.catalina.ant.UndeployTask

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project name="tomcat-tasks">
<dirname property="tomcat-tasks.basedir" file="${ant.file.tomcat-tasks}"/>
<path id="tomcat.ant.classpath">
<fileset dir="${appserver.dir}/server/lib">
<include name="catalina-ant.jar"/>
</fileset>
</path>
<!-- Define tasks for tomcat management -->
<taskdef file="${tomcat-tasks.basedir}/tomcat-tasks.properties" classpathref="tomcat.ant.classpath"/>
<target name="reload" description="Reload application in Tomcat">
<reload url="${appserver.manager.url}"
username="${appserver.username}"
password="${appserver.password}"
path="/${webapp.name}"/>
</target>
<target name="start" description="Starts fca-web application in Tomcat">
<start url="${appserver.manager.url}"
username="${appserver.username}"
password="${appserver.password}"
path="/${webapp.name}"/>
</target>
<target name="install" depends="package" description="Install application in Tomcat">
<deploy url="${appserver.manager.url}"
username="${appserver.username}"
password="${appserver.password}"
path="/${webapp.name}"
war="${build.dir}/${webapp.name}.war"/>
</target>
<target name="remove" description="Remove application in Tomcat">
<undeploy url="${appserver.manager.url}"
username="${appserver.username}"
password="${appserver.password}"
path="/${webapp.name}" />
</target>
<target name="list" description="List Tomcat applications">
<list url="${appserver.manager.url}"
username="${appserver.username}"
password="${appserver.password}"/>
</target>
</project>

View File

@ -0,0 +1,29 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Restore procedure:
------------------
(README: Only supported for WAR integrated build ATM)
1. Place here your 6 full repository export files (5 acp + 1 xml) calling the export
package "export" (so that your file will appear like export_spaces.acp, export_users.acp, etc.)
2. run your build with the property
mvn clean package -DrestoreVersion=testRestoreVersion
3. deploy as a war (mvn jboss:deploy)
4. if you had a consistent repository/database you should have your repo fully imported

View File

@ -0,0 +1,46 @@
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# This script is needed *only* in case you *don't* have you don't have alfresco artifacts available in any public repo,
# and you can't connect to Sourcesense public repo.
#
# So you can manually downlaod JAR and WAR alfresco artifacts in $BASE_DIR
# and have them deployed to $TARGET_REPO (id here) and $TARGET_REPO_URL (url here)
# by running this script and passing the 3 params in the command line
#
# Note: This script works for alfresco 2.1.0 community artifacts. It must be modified for
# other versions.
#
# TODO: Make alfresco version and release parametric
#
# 1st command line param: directory where jar and war dependencies are stored
BASE_DIR=$1
# 2st command line param: target repo id (matches in settings)
TARGET_REPO=$2
# 3rd command line param: target repo url
TARGET_REPO_URL=$3
# 4th command line param: Version
VERSION=$4
mvn deploy:deploy-file -Dfile=${BASE_DIR}/alfresco-core.jar -DrepositoryId=${TARGET_REPO} -DgroupId=alfresco.community -DartifactId=alfresco-core -Dversion=${VERSION} -Durl=${TARGET_REPO_URL} -Dpackaging=jar
mvn deploy:deploy-file -Dfile=${BASE_DIR}/alfresco-repository.jar -DrepositoryId=${TARGET_REPO} -DgroupId=alfresco.community -DartifactId=alfresco-repository -Dversion=${VERSION} -Durl=${TARGET_REPO_URL} -Dpackaging=jar
mvn deploy:deploy-file -Dfile=${BASE_DIR}/alfresco.war -DrepositoryId=${TARGET_REPO} -DgroupId=alfresco.community -DartifactId=alfresco -Dversion=${VERSION} -Durl=${TARGET_REPO_URL} -Dpackaging=war
mvn deploy:deploy-file -Dfile=${BASE_DIR}/alfresco-web-client.jar -DrepositoryId=${TARGET_REPO} -DgroupId=alfresco.community -DartifactId=alfresco-web-client -Dversion=${VERSION} -Durl=${TARGET_REPO_URL} -Dpackaging=jar
mvn deploy:deploy-file -Dfile=${BASE_DIR}/alfresco-mbeans.jar -DrepositoryId=${TARGET_REPO} -DgroupId=alfresco.community -DartifactId=alfresco-mbeans -Dversion=${VERSION} -Durl=${TARGET_REPO_URL} -Dpackaging=jar
mvn deploy:deploy-file -Dfile=${BASE_DIR}/alfresco-remote-api.jar -DrepositoryId=${TARGET_REPO} -DgroupId=alfresco.community -DartifactId=alfresco-remote-api -Dversion=${VERSION} -Durl=${TARGET_REPO_URL} -Dpackaging=jar

View File

@ -0,0 +1 @@
drop database ${alfresco.db.name};

View File

@ -0,0 +1,3 @@
create database ${alfresco.db.name};
grant all on ${alfresco.db.name}.* to 'alfresco'@'localhost' identified by 'alfresco' with grant option;
grant all on ${alfresco.db.name}.* to 'alfresco'@'localhost.localdomain' identified by 'alfresco' with grant option;

View File

@ -0,0 +1,43 @@
-----
Maven Alfresco Extension Archetype
-----
Sourcesense
-----
Welcome to the Maven Alfresco Extension Archetype home
You've reached the Sourcesense ({{ ${site_pom_url} }}) Maven Alfresco Extension archetype home page (version: ${site_pom_version})
Description
${site_pom_description}
Quick Start (maven2)
For a quick start you can a maven alfresco extension project created by just running <<(maven 2.0.6+ required)>>:
--------------------------------------------
mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create -DarchetypeGroupId=${site_pom_groupId} -DarchetypeVersion=${site_pom_version} \
-DarchetypeArtifactId=${site_pom_artifactId} \
-DgroupId=mycompany.com -DartifactId=my-alfresco-customization -Dversion=0.1-SNAPSHOT \
-DremoteRepositories=http://repository.sourcesense.com/maven2 \
-DpomRemoteRepositories=http://repository.sourcesense.com/maven2
--------------------------------------------
Quick Start (Ant)
For a quick start you can a ant alfresco extension project created by running <<(Default target : package)>> :
--------------------------------------------
Download archetype - (On unix like you could : wget http://repository.sourcesense.com/maven2/com/sourcesense/alfresco/maven-alfresco-extension-archetype/1.0.0/maven-alfresco-extension-archetype-1.0.0.jar)
Unzip maven-alfresco-extension-archetype-1.0.0.jar
Rename mv archetype-resources folder into your desired project name - (On unix like you could : mv archetype-resources my-alfresco-customization)
Enter my-alfresco-customization folder
ant
-------------------------------------------

View File

@ -0,0 +1,105 @@
What is an Alfresco extension?
We define an "Alfresco extension" (or customization) a custom build of Alfresco which does not impact on Alfresco source code (while depends on binary releases of the libraries and webapp). \
This is realized overriding (and in certain particular cases overwriting) Alfresco default configuration using Convention over Configuration hooks (e.g. classpath:alfresco/extension/*-context.xml autoloading), in order to ease integration in enterprise environments and to simplify full lifecycle management (from scratch-start to release and deploy) also for non experienced developers, resulting in a less error prone controlled process. \
Alternative to an "Alfresco extension" is the "Alfresco Module" (or AMP) which is meant to be deployed on an existing Alfresco instance and above all to coexist with other modules on top of this instance: as a general rule of thumb an extension is an exclusive customization while a module is one of many customizations which have a separate lifecycle (and owner). \
For an maven2 archetype of AMP Alfresco build please have a look at:
{{${site_site_url}}}
Introduction:
This archetype developed within Sourcesense (http://www.sourcesense.com) aims to provide a standardized approach to development, release and deployment of Alfresco extensions (as opposed to AMP builds). Using standard m2 lifecycle commands (mvn compile package deploy) and generally available plugins (cargo, release, assembly) we are able to cover a very high percentage of Alfresco lifecycle common use cases. \
It can be used both with Maven2 and Ant build systems, but it must be clear that *only* the Maven2 approach provides all the automation features we will describe in the next paragraphs. \
In addition to that the m2 approach provides a zero-conf approach while ant requires (as usual) manual gathering and selection of required alfresco libraries and webapp (please refer to README-ant.txt for further info about the Ant build). Last but not the least, m2 build is more likely to be maintained and improved (especially in the likely case Alfresco moves to maven2). \
For more details on the Ant apprach please refer instead to {{{${site_tags_url}/${site_pom_artifactId}-${site_pom_version}Úsrc/main/resources/archetype-resources/readme-ANT.txt} Ant Readme}}.
Features (maven2 only):
* <<Easy dependency management and upgrade testing>> \
Webapp WAR dependency on Alfresco community/enterprise wars (or even environment dependent builds, e.g. WAR without log4j for Jboss-4.0.X) can be easily switched and build
` for different platforms in custom maven2 build profiles.
Alfresco JAR dependency are only included for compilation (scope="provided") and IDE configuration and must manually be kept in sync with the WAR version (we used a maven style library naming, renaming Alfresco distributed libraries).
* <<Single source environment dependent properties filtering:>> \
One of the biggest flaws (and most frequent cause for runtime errors) for Alfresco (and more in general for webapplications) is a poor build system which requires manual editing of properties in the source code in a developer/environment dependent way. With this build system just by specifying the -Denv=<yourEnv> command line property your able to switch between different buildtime/runtime properties configuration and also have all common properties in one file for simple edit. No more messing up with Spring files when what you need to change is just a property.
Properties files are stored in src/main/properties/<yourEnv> and get automatically copied over the classpath to provide complete code and configuration separation. Typical examples of developer/environment dependent properties are: db connection, LDAP server connection, alf_data location, SMB/FTP server enabling and configuration.
* <<Automated (convention over configuration based) full Alfresco repository restore (boostrap)>> \
Alfresco bootstrap process requires manual actions to be taken, and namely to include the restore-context.xml and the 6 full repo export ACP files to be included in the alfresco/extension/restore package. With this build this becomes as easy as specifying the -DrestoreVersion=<myVersion> build property which will automatically pick up ACP files (alfresco package name = "export") found in tools/export/<myVersion> and include them in the right position in the classpath. \
When the property is specified also the restore-context.xml to load them is automatically included
* <<Automated LDAP configuration (and associated personService behaviors)>> \
Fill in your application.properties with appropriate LDAP connection and synchronization values \
and by specifying the -Denterprise build property on the command line you will have the LDAP authentication and \
sychronization context already configured. No more hassles in digging into huge Spring files ;)
* <<Jboss/Tomcat cargo based deployment>> \
Using cargo we're able to provide (local) Jboss and (local/remote) Tomcat deployment. \
This comes handy both in the development phases and in the release phases when we want \
the release operation (scm tagging, m2 repo deployment, version update, appserver deployment) to be transactional and managed by maven. \
For additional configuration please refer to maven-cargo-plugin configuration and fine tune your $M2_HOME/conf/settings.xml (for system level settings) or ~/.m2/settings.xml (for user level settings) in order to match your host/credentials configuration
* <<Zero conf startup>> \
Community artifacts (alfresco 2.x) artifacts are available on Sourcesense public repository (http://repository.sourcesense.com/maven2) and allow all the default dependencies specified in this POM to be successfully retrieved with no additional configuration. \
If you want to use instead enterprise dependencies you either need to have a private access to Sourcesense private repositories or push alfresco for releasing this artifacts on public Alfresco maven repositories.
* <<Configurable log location and easy database setup>> \
By editing the <log.dir> POM property in the appropriate profile you can have the setting applied where it makes sense (jboss configures everything centrally).
Database creation/remove scripts are filtered according to the build profile, so you can directly run them for the different environment they were 'built' for.
* <<Easy ide (Eclipse) integration>> \
As difficult as running mvn <<<eclipse:eclipse>>> and hitting "Refresh in your eclipse proje"
* <<Release process>> \
One command release deploy for this artifact and for the project generated from it. See README-m2.txt for more details.
* <<Integrated documentation system>> \
Documentation is integrated and can be modified with one of the supported formats (Xdoc, APT, FML):
project resources can be also linked (e.g.physical documents).\+
Through Doxia also PDF and RTF output is supported from single sourced source files (apart from Doxia limitations) for easy enterprise integration. \
To test an example typing <<<mvn site:run>>> will run your site in jetty embedded on port 8080, with redeployment of site source files.
To stage the site just type <<<mvn site:stage>>> and to deploy to remote site location, guess what, <<<mvn site:deploy>>>
TODO:
See ${svn.url}/TODO.txt
ROADMAP:
See ${svn.url}/ROADMAP.txt
REFERENCES:
* {{http://www.mortbay.org/maven-plugin}}
* {{http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin}}
* {{http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html}}
* {{http://maven.apache.org/guides/getting-started/index.html#How_do_I_filter_resource_files}}
* {{http://maven.apache.org/pom.html#Final}}
* {{http://maven.apache.org/plugins/maven-resources-plugin/resources-mojo.html}}
* {{http://jira.codehaus.org/browse/CARGO-416}}
* {{http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html}}
* {{http://cargo.codehaus.org/Maven2+Plugin+Installation}}
* {{http://cargo.codehaus.org/Deploying+to+a+running+container}}
* {{http://maven.apache.org/plugins/maven-release-plugin/}}
* {{http://www.javaworld.com/javaworld/jw-02-2006/jw-0227-maven.html?page=2}}
* {{http://maven.apache.org/doxia/references/apt-format.html}}
* {{http://maven.apache.org/guides/mini/guide-site.html}}

View File

@ -0,0 +1,106 @@
<?xml version="1.0"?>
<faqs id="Maven Alfresco Extension FAQ">
<part id="General">
<title>General</title>
<faq id="eclipse">
<question>How do I configure Eclipse?</question>
<answer>
<ul>
<li>Run ' mvn eclipse:eclipse '</li>
<li>"Refresh" on your Eclipse project</li>
</ul>
</answer>
</faq>
<faq id="dbaccess">
<question>Why I cannot access db "alf_[jetty,tomcat,jboss] "?</question>
<answer>
<p>
Remember to setup appropriate permissions for selected db / build profile. You have 2 methods to configure/remove your db:
<ol>
<li>
Properly edit
<i>tools/mysql/db_setup.sql</i>
and run from project home
<verbatim>mysql -u root &#60; tools/mysql/db_setup.sql</verbatim>
</li>
<li>
if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase), and run
directly
<verbatim>mysql -u root -p &#60; target/classes/tools/[db_setup,db_remove].sql</verbatim>
</li>
</ol>
</p>
</answer>
</faq>
<faq id="jettymemory">
<question>Why do I get memory errors running jetty?</question>
<answer>
<p>
Run your build with :
<verbatim>MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn jetty:[run-war,run-exploded]</verbatim>
</p>
</answer>
</faq>
</part>
<part id="Release">
<title>Release</title>
<faq id="howo">
<question>How do I release?</question>
<answer>
<ul>
<li>Uncommenting in generated POM svn.tags.url and maven-release-plugin configuration</li>
<li>Ensuring dryRun="false" element in that configuration</li>
<li>
Running a single command:
<verbatim>mvn release:prepare release:perforn</verbatim>
</li>
</ul>
</answer>
</faq>
<faq id="lcall">
<question>Why my release process complains about svn LC_ALL variable?</question>
<answer>
<p>
If underlying svn complains about LC_ALL variable please consider running your release prepending:
<verbatim>LC_ALL="C"</verbatim>
(macosx environments, see http://svn.haxx.se/users/archive-2006-07/0320.shtml)
</p>
</answer>
</faq>
<faq id="integrity">
<question>Why do I get Content integrity errors on restore running with jetty embedded/during release?</question>
<answer>
<p>Did you remove also alf_data_jetty (or how you renamed it) apart from the alf_jetty (or how you renamed it) db ;) ?</p>
</answer>
</faq>
</part>
<part id="Dependencies">
<title>Dependency management</title>
<faq id="maven-archetype-archetype">
<question>Why for creating the archetype we need an older version of the archetype plugin?</question>
<answer>
<p>
As described <a href="http://www.nabble.com/-test--Instructions-to-test-Cocoon-2.2-final-td16453873.html">here</a>
the <verbatim>-DremoteRepositories</verbatim> switch is broken in the latest versions of
the <verbatim>maven-archetype-archetype-plugin</verbatim> and that's why in the command
line for creating an artifact we manually specify an older version of the plugin:
<verbatim>
mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create ... ... ...
</verbatim>
</p>
</answer>
</faq>
<faq id="jta">
<question>Why JTA can't be properly found on maven repos?</question>
<answer>
<p>
Due to redistribution problems you have to install JTA manuall when you need it with:
<verbatim>
- Download jta-1_0_1B-classes.zip from http://java.sun.com/products/jta/ - mvn install:install-file
-Dfile=./jta-1_0_1B-classes.zip -DgroupId=jta -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar
</verbatim>
</p>
</answer>
</faq>
</part>
</faqs>

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,34 @@
<project>
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-stylus-skin</artifactId>
<version>1.0</version>
</skin>
<poweredBy>
<logo name="Maven" href="http://maven.apache.org" img="http://maven.apache.org/images/logos/maven-feather.png"/>
<logo name="Alfresco - Open source ECM" img="http://alfresco.com/assets/images/icons/powered_by_alfresco.gif" href="http://www.sourcesense.com" />
</poweredBy>
<publishDate position="navigation-bottom" format="MM-dd-yy"/>
<bannerLeft>
<name>Maven alfresco archetype - v. ${project.version}</name>
<href>${site_site_url}</href>
<src>images/logo_noclaim.png</src>
</bannerLeft>
<body>
<links>
<item name="Maven" href="http://maven.apache.org/"/>
<item name="Apache" href="http://www.apache.org/"/>
</links>
<menu name="M2 Alfresco Extension Archetype">
<item name="Introduction" href="/index.html"/>
<item name="README" href="/readme.html"/>
<item name="M2 Usage Guide" href="http://forge.alfresco.com/docman/view.php/90/1643/README-m2.txt"/>
<item name="Ant Usage Guide" href="http://forge.alfresco.com/docman/view.php/90/1644/README-ANT.txt"/>
<item name="Roadmap" href="http://forge.alfresco.com/docman/view.php/90/1645/ROADMAP.txt"/>
<item name="FAQ" href="faq.html"/>
</menu>
<menu ref="reports"/>
</body>
</project>

View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?><archetype-descriptor name="maven-alfresco-extension-archetype">
<fileSets>
<fileSet filtered="true" encoding="UTF-8">
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>src/main/properties</directory>
<includes>
<include>**/*.txt</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory>src/main/resources</directory>
<includes>
<include>**/*.js</include>
<include>**/*.ftl</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>tools/export</directory>
<includes>
<include>**/*.txt</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>tools/ant</directory>
<includes>
<include>**/*.txt</include>
<include>**/*.html</include>
<include>**/*.jsp</include>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory>tools/m2</directory>
<includes>
<include>**/*.sh</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory>tools/ant</directory>
<includes>
<include>**/*.access</include>
<include>**/*.tld</include>
<include>**/*.xsd</include>
<include>**/*.sample</include>
<include>**/*.gif</include>
<include>**/*.ftl</include>
<include>**/*.ico</include>
<include>**/*.MF</include>
<include>**/*.0-community/scripts/ajax/dojo/src/crypto/LICENSE</include>
<include>**/*.as</include>
<include>**/*.fla</include>
<include>**/*.pdf</include>
<include>**/*.0-community/scripts/ajax/dojo/src/i18n/calendar/nls/README</include>
<include>**/*.0-community/scripts/ajax/dojo/src/i18n/currency/nls/README</include>
<include>**/*.svg</include>
<include>**/*.sql</include>
<include>**/*.htm</include>
<include>**/*.password</include>
<include>**/*.exe</include>
<include>**/*.jar</include>
<include>**/*.js</include>
<include>**/*.class</include>
<include>**/*.dtd</include>
<include>**/*.wsdd</include>
<include>**/*.css</include>
<include>**/*.png</include>
<include>**/*.wsdl</include>
<include>**/*.jpg</include>
<include>**/*.smd</include>
<include>**/*.acp</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory>.externalToolBuilders</directory>
<includes>
<include>**/*.launch</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory></directory>
<includes>
<include>.classpath</include>
<include>.project</include>
<include>build.xml</include>
<include>maven-eclipse.xml</include>
<include>README-ANT.txt</include>
<include>README-m2.txt</include>
</includes>
</fileSet>
</fileSets>
</archetype-descriptor>

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<archetype>
<id>maven-alfresco-extension-archetype</id>
<sources></sources>
<resources>
<resource>src/books/manual.xml</resource>
<resource>src/site/site.xml</resource>
<resource>src/site/apt/index.apt.vm</resource>
<resource>src/site/apt/book-index.apt</resource>
<resource>src/site/fml/faq.fml</resource>
<resource>src/main/properties/local/application.properties</resource>
<resource>src/main/properties/local/README-properties.txt</resource>
<resource>src/main/resources/alfresco/extension/custom-model-context.xml</resource>
<resource>src/main/resources/alfresco/extension/custom-model.xml</resource>
<resource>src/main/resources/alfresco/extension/custom-repository-context.xml</resource>
<resource>src/main/resources/alfresco/extension/restore-context.xml</resource>
<resource>src/main/resources/alfresco/extension/web-client-config-custom.xml</resource>
<resource>src/main/resources/alfresco/extension/webclient.properties</resource>
<resource>tools/ant/tasks/tomcat-tasks.properties</resource>
<resource>tools/ant/tasks/tomcat-tasks.xml</resource>
<resource>tools/ant/ant-bootstrap.sh</resource>
<resource>tools/m2/m2-bootstrap.sh</resource>
<resource>README-ANT.txt</resource>
<resource>README-m2.txt</resource>
<resource>build.xml</resource>
<resource>pom.xml</resource>
<resource>src/main/resources/alfresco/extension/custom-model-context.xml</resource>
<resource>src/main/resources/alfresco/extension/custom-model.xml</resource>
<resource>src/main/resources/alfresco/extension/custom-repository-context.xml</resource>
<resource>src/main/resources/alfresco/extension/file-servers-custom.xml</resource>
<resource>src/main/resources/alfresco/extension/ldap-authentication-context.xml</resource>
<resource>src/main/resources/alfresco/extension/ldap-synchronisation-context.xml</resource>
<resource>src/main/resources/alfresco/extension/restore-context.xml</resource>
<resource>src/main/resources/alfresco/extension/web-client-config-custom.xml</resource>
<resource>src/main/resources/alfresco/extension/webclient.properties</resource>
<resource>src/main/resources/log4j.properties</resource>
<resource>src/main/webapp/WEB-INF/README-WEB-INF.txt</resource>
<resource>src/main/webapp/WEB-INF/faces-config-custom.xml</resource>
<resource>tools/ant/tasks/tomcat-tasks.properties</resource>
<resource>tools/ant/tasks/tomcat-tasks.xml</resource>
<resource>tools/export/testRestoreVersion/README-restore.txt</resource>
<resource>tools/mysql/db_remove.sql</resource>
<resource>tools/mysql/db_setup.sql</resource>
</resources>
</archetype>

View File

@ -0,0 +1,78 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Sourcesense Alfresco Customization (Ant build):
------------------------------------------------
The project can be built by the means of two build systems:
- Ant (suggested for fast startup and offline building)
- Maven2 (suggested for structured team work and release)
Both build systems provide Alfresco customized build and deploy on tomcat.
WARNING: Make sure you run tomcat with appropriate JVM size (JAVA_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m")
Ant Build Prerequisites:
------------------------
In order the build to work properly and resolve alfresco jar and war dependencies,
you have to download a version of alfresco in the folder
$PROJECT_HOME/tools/ant/deps/alfresco
or conveniently run the script:
$PROJECT_HOME/tools/ant/ant-boostrap.sh
which basically downloads a specified (Community) Alfresco distribution from Sourcesense public Maven repositories,
and unpacks it in the mentioned folder. The WEB-INF/lib jars is added to build classpath.
Alfresco ant WAR build:
-----------------------
- use build.xml in the root folder
- configure your BUILDTIME/RUNTIME properties in
src/main/properties/<yourEnv>/application.properties and build with -Denv=<yourEnv>
(you can either commit this file or add it to svn:ignore for local usage)
----
NB: Before you can actually use the build you have to specify where to find the alfresco war (this is not needed for maven build who retrieves dependencies from public sourcesense maven repo, in case of community artifacts, from private maven repo for enterprise artifacts). To do so please create a build.properties file on the project root and fill it with the property:
alfresco.dir
pointing to the exploded war directory of the alfresco instance you want to use
---
Common usage tasks:
-------------------
ant clean package
ant install (in tomcat)
ant remove (from tomcat)
from the command line calls the default target (package) .
For fast one-shot deploy: ANT_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" ant [remove] install
FAQ:
----
WARNING: the ant tomcat plugin is pretty memory intensive so please use ant with appropriate JVM memory size (ANT_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m")
TODO:
----
- Support content restore

View File

@ -0,0 +1,122 @@
---------------------------------------
Archetype Release: Archetype - maven-alfresco-archetype
Author: g.columbro@sourcesense.com
Contacts: alfresco@sourcesense.com
---------------------------------------
M2 Instructions for Alfresco Extension:
The project can be built by the means of two build systems:
- Ant (suggested for fast startup and offline building) --> see README-ant.txt
- Maven2 (suggested for structured team work and release) --> explained in this file
Both build systems provide Alfresco customized build and deploy on tomcat.
WARNING: Make sure you run tomcat/jboss with appropriate memory size (JAVA_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m")
Alfresco maven2 WAR build
-------------------------
FEATURES:
---------
- centralized environment aware properties based configuration (common use cases covered with just properties file editing, contributions are more than welcome!)
- Content Bootstrap
- WAR customized build
- environment dependent deploy
- easy switch of alfresco version
- jetty embedded build
- jboss (local) and tomcat (local/remote) deployment support
PROJECT LAYOUT
--------------
src --------------------------------------------------------> (source folder)
|
|__ main ___ __ resources --------------------------> mapped in the classpath
| | |
| | |__ alfresco/extension ---> alfresco overriding Spring contexts
| |
| |__ properties -------------------------> environment aware application properties files
| | |
| | |__ local -------------> default application.properties
| |
| |__ java -------------------------------> customization java classes
| |
| |__ webapp -----------------------------> alfresco webapp overlay folder - this folder is overlayed (so may overwrite alfresco war)
| |
| |__ WEB-INF ----------------> drop in this folder WEB-INF custom / overwriting files (e.g. faces-config-custom.xml / web.xml)
|
|__ test
tools --
|__ ant ---------------------------------------------> ant tools
|__ m2 ---------------------------------------------> maven2 tools
|__ export ------------------------------------------> support folder for automatic restore (drop acp+xml files here)
|__ mysql -------------------------------------------> mysql setup/remove scripts, filtered based on the profile into
target - Project build dir
Lifecycle HOWTO - Usage
-----------------------
--- Fast one shot build and embedded jetty run-war|run-exploded [and restore bootstrap] [and customize webappName] [and integrate LDAP]:
' MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m mvn jetty:run-war|jetty:run-exploded [-Denv=yourEnv] [-DrestoreVersion=versionToRestore] [-DwebappName=yourCustomWebappName] [-Denterprise] '
(default env=src/main/properties/local/application.properties)
--- [Re]Deploy on Jboss (locally) [or on Tomcat locally or remotely]:
' mvn clean package [cargo:undeploy] cargo:deploy -Pjboss [-Ptomcat] '
Note: Jboss or Tomcat must be running prior to deployment
--- Packaging and Manual Deploy:
- Invoke ' mvn clean package -Denv=targetEnv '
from the root project's folder; for a list of available environments check src/main/properties/<env>/application.properties
or create a custom src/main/properties/<env>/application.properties
- Copy target/${webapp.name}.war in $JBOSS_HOME/server/default/deploy or in $CATALINA_HOME/webapps
--- Import data exports:
- Invoke the maven package goal using -DrestoreVersion=<version>, where <version> is the name of one of the folders listed below tools/export
- NB: Due to http://forums.alfresco.com/viewtopic.php?p=29429#29429 with embedded jetty run we run into this bug, which prevents boostrap from working.
Restore properly works and was tested under Jboss and Tomcat.
--- Release process
Just one command: ' mvn release:prepare release:perform '
You can customize goals to be executed in both phases in the maven-release-plugin configuration section in the POM.
FAQ:
----
--- Eclipse configuration
-Run ' mvn eclipse:eclipse '
-hit "Refresh" on your Eclipse project
--- Db access problems:
Remember to setup appropriate permissions for selected db / build profile.
You can either edit accordingly and then run: mysql -u root < tools/mysql/db_setup.sql
or if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase) in
mysql -u root -p < target/classes/tools/[db_setup,db_remove].sql
--- Out of memory errors:
Run your build with :
MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn ... ...
--- Content integrity errors on restore running with jetty embedded
Did you remove also alf_data_jetty apart from the alf_jetty db ?
--- Release Problems with LC_ALL
If underlying svn complains about LC_ALL variable please consider running your release prepending:
LC_ALL="C" (macosx environments, see http://svn.haxx.se/users/archive-2006-07/0320.shtml)
--- Install manually JTA (if needed):
- Download jta-1_0_1B-classes.zip from http://java.sun.com/products/jta/
- mvn install:install-file -Dfile=./jta-1_0_1B-classes.zip -DgroupId=jta -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar

View File

@ -0,0 +1,88 @@
<?xml version="1.0"?>
<project name="${artifactId}" default="package" basedir=".">
<!-- Build properties -->
<property name="project.dir" value="."/>
<property name="tools.dir" value="tools"/>
<property name="build.dir" value="${project.dir}/target"/>
<property name="web.dir" value="${project.dir}/src/main/webapp" />
<property name="sources.dir" value="${project.dir}/src/main/java"/>
<property name="resources.dir" value="${project.dir}/src/main/resources"/>
<property name="properties.dir" value="${project.dir}/src/main/properties"/>
<property name="lib.dir" value="${tools.dir}/ant/deps"/>
<!-- NB: This must be filled in here or in build.properties pointing to the root folder of the alfresco exploded war you want to build against
<property name="alfresco.dir" value=""/>
-->
<!-- By default loads src/main/properties/local/application.properties -->
<property name="env" value="local"/>
<property name="webapp.name" value="alfresco" />
<property file="${properties.dir}/${env}/application.properties" />
<!-- Import tomcat utility tasks -->
<import file="${tools.dir}/ant/tasks/tomcat-tasks.xml"/>
<path id="build.classpath">
<fileset dir="${lib.dir}">
<include name="build/*.jar"/>
<include name="alfresco/WEB-INF/lib/*.jar"/>
</fileset>
</path>
<target name="clean">
<delete dir="${build.dir}" />
</target>
<target name="prepare">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.dir}/classes"/>
</target>
<target name="compile" depends="prepare">
<javac srcdir="${sources.dir}" destdir="${build.dir}/classes" classpathref="build.classpath"/>
</target>
<target name="process-resources">
<copy todir="${build.dir}/classes">
<fileset dir="${resources.dir}">
<include name="alfresco/extension/*" />
<exclude name="**/restore-context.xml" />
</fileset>
</copy>
<copy file="${properties.dir}/${env}/application.properties" tofile="${build.dir}/classes/alfresco/extension/application.properties"></copy>
</target>
<target name="package" depends="compile,process-resources" description="Packages application - To execute this task the property alfresco.dir must be set">
<fail message="property alfresco.dir must point for alfresco instance you want to build your extension upon">
<condition>
<not>
<isset property="alfresco.dir"/>
</not>
</condition>
</fail>
<copy todir="${build.dir}/${webapp.name}">
<fileset dir="${alfresco.dir}">
<include name="**" />
</fileset>
</copy>
<copy todir="${build.dir}/${webapp.name}/WEB-INF/classes">
<fileset dir="${build.dir}/classes">
<include name="**" />
</fileset>
</copy>
<copy todir="${build.dir}/${webapp.name}/WEB-INF/lib">
<fileset dir="${lib.dir}/runtime">
<include name="**.jar" />
</fileset>
</copy>
<war destfile="${build.dir}/${webapp.name}.war" webxml="${build.dir}/${webapp.name}/WEB-INF/web.xml">
<fileset dir="${build.dir}/${webapp.name}">
<include name="**/**" />
</fileset>
</war>
</target>
</project>

View File

@ -0,0 +1,695 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<name>Alfresco extension</name>
<packaging>war</packaging>
<url></url>
<description>Alfresco extension</description>
<!--
|
| 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>/application.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 application.properties
-->
<!-- Default properties -->
<properties>
<!-- src/main/properties/<env>/application.properties is loaded -->
<env>local</env>
<webapp.name>alfresco</webapp.name>
<!--
|
| By default the src/main/properties/local/application.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>
<log.dir>${project.build.directory}/</log.dir>
<!-- 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>
-->
<!-- These redundancies are due to filtering issues of Maven. See here http://maven.apache.org/plugins/maven-site-plugin/usage.html -->
<site_pom_description>${pom.description}</site_pom_description>
<site_pom_url>${pom.organization.url}</site_pom_url>
<site_pom_groupId>${pom.groupId}</site_pom_groupId>
<site_pom_artifactId>${pom.artifactId}</site_pom_artifactId>
<site_pom_version>${pom.version}</site_pom_version>
<site_tags_url>${svn.tags.url}</site_tags_url>
<site_site_url>${site.url}</site_site_url>
</properties>
<!--
| Alfresco Community dependencies are generally available in ss-public repo.
| FIXME: Alfresco enterprise dependencies are only available on SS repo ATM. Alfresco *needs* to deliver their artifacts on (at least) partner repos
|-->
<repositories>
<repository>
<id>ss-public</id>
<url>http://repository.sourcesense.com/maven2</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>codehaus snapshot repository</id>
<url>http://snapshots.repository.codehaus.org/</url>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
<pluginRepository>
<id>Maven Snapshots</id>
<url>http://snapshots.maven.codehaus.org/maven2/</url>
<snapshots>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</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>
-->
<!-- 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)
-->
<dependency>
<groupId>alfresco.community</groupId>
<artifactId>alfresco</artifactId>
<version>2.1.0</version>
<type>war</type>
</dependency>
<!-- All provided libs (as contained in the war dependency) but useful for development (e.g. IDE configuration) -->
<dependency>
<groupId>alfresco.community</groupId>
<artifactId>alfresco-web-client</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>alfresco.community</groupId>
<artifactId>alfresco-core</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>alfresco.community</groupId>
<artifactId>alfresco-repository</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>alfresco.community</groupId>
<artifactId>alfresco-remote-api</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
<!-- Uncomment if you're using mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.3</version>
</dependency>
<!-- Other provided dependencies. Uncomment for development/test -->
<!-- dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-mock</artifactId>
<version>2.0</version>
<scope>test</scope>
</dependency>
-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!--
The following dependencies are possibly obsolete. Please check inside alfresco WAR lib folder which version you need to depend upon in case you
have classNotFoundException at runtime or you miss static linking for mvn eclipse:eclipse command.
Alfresco should adhere to a strict library naming policy or better build with maven ;)
<dependency>
<groupId>javax.j2ee</groupId>
<artifactId>j2ee</artifactId>
<version>1.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-ejb_2.1_spec</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xmlParserAPIs</artifactId>
<version>2.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>myfaces</groupId>
<artifactId>myfaces-api</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>portlet-api</groupId>
<artifactId>portlet-api</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>jta</groupId>
<artifactId>jta</artifactId>
<version>1.0.1B</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging-api</artifactId>
<version>1.0.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>20040218.194635</version>
<scope>provided</scope>
</dependency>
-->
</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 -->
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav</artifactId>
<version>1.0-beta-3</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
</extension>
</extensions>
<!-- In certain cases we do build time filtering with the single sourcing application.properties -->
<filters>
<filter>src/main/properties/${env}/application.properties</filter>
</filters>
<!-- Default profile to build as an Alfresco extension - resources are copied into classpath-->
<resources>
<!-- By default also no content is restored -->
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/restore-context.xml</exclude>
<exclude>**/ldap-*.xml</exclude>
</excludes>
</resource>
<!--
| Include application properties file in classpath: this allows Spring contexts to have customization properties available at
| classpath:alfresco/extension/application.properties
-->
<resource>
<directory>src/main/properties/${env}</directory>
<includes>
<include>application.properties</include>
</includes>
<filtering>true</filtering>
<targetPath>alfresco/extension</targetPath>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>log4j.properties</include>
<!-- In this case we do build time filtering instead of runtime Spring property loading, as this is based on a CoC from Alfresco -->
<include>alfresco/extension/file-servers-custom.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>tools/mysql</directory>
<includes>
<include>*.sql</include>
</includes>
<filtering>true</filtering>
<targetPath>tools/mysql</targetPath>
</resource>
</resources>
<plugins>
<!-- Needed for cross OS compatibility in acp/zip encoding -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- useful for eclipse project configuration. Run "mvn eclipse:eclipse" and hit "F5" on the project -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<!--
<configuration>
<downloadSources>true</downloadSources>
</configuration>
-->
</plugin>
<!-- Add documentation locales here -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<locales>en</locales>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>false</archiveClasses>
<webappDirectory>target/${webapp.name}</webappDirectory>
<warSourceExcludes>**classes/tools</warSourceExcludes>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<contextPath>/${webapp.name}</contextPath>
<scanIntervalSeconds>10</scanIntervalSeconds>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>0.3-SNAPSHOT</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<!-- useEditMode>true</useEditMode> -->
<dryRun>true</dryRun>
<preparationGoals>clean package</preparationGoals>
<goals>install deploy cargo:undeploy cargo:deploy site:deploy</goals>
<!-- <tagBase>${svn.tags.url}</tagBase> -->
</configuration>
</plugin>
<!-- Adds support for books PDF and RTF generation for single sourced documentation -->
<plugin>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-maven-plugin</artifactId>
<version>1.0-alpha-10</version>
<executions>
<execution>
<phase>pre-site</phase>
<goals>
<goal>render-books</goal>
</goals>
</execution>
</executions>
<configuration>
<!--
| Target books dir: within the site so it can be linked and deployed
| TODO: Use ${pom.target.dir} or so similar property instead of
| hard wiring 'target'
-->
<generatedDocs>target/site/books</generatedDocs>
<books>
<book>
<directory>src/site</directory>
<descriptor>src/books/manual.xml</descriptor>
<formats>
<format>
<id>xdoc</id>
</format>
<format>
<id>pdf</id>
</format>
<format>
<id>rtf</id>
</format>
</formats>
</book>
</books>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<!-- Targeting 1.5 -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jxr-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-clover-plugin</artifactId>
</plugin>
<!-- Enable this plugin only after setting SCM connection, otherwise mvn site will fail
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>changelog-maven-plugin</artifactId>
</plugin>
-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
<!--
| Configured to deploy on SS public repository ATM.
| You'd need a valid uid/pwd in our repo
|
-->
<distributionManagement>
<!--
|
| Enable this repo in case of publicly redistributable artifacts (Sourcesense public repositories via ssh + public key )
|
<repository>
<id>ss-public</id>
<url>scp://repository.sourcesense.com/var/www/demo.sourcesense.com/maven2</url>
</repository>
<distributionManagement>
<site>
<id>ss-site-public</id>
<url>scp://repository.sourcesense.com/var/www/demo.sourcesense.com/maven2-sites</url>
</site>
-->
<!--
|
| Enable this repo in case of non publicly redistributable artifacts (Sourcesense private repositories via webdav)
|
-->
<repository>
<id>ss-private</id>
<url>dav:https://dev.sourcesense.com/repos/dev/maven2</url>
</repository>
<site>
<id>ss-site-private</id>
<url>dav:https://dev.sourcesense.com/cargo/maven2-sites</url>
</site>
</distributionManagement>
<!--
| Build Profiles
-->
<profiles>
<!--
| Profile to automatically restore export files committed under
| "tools/export/<restoreVersion>/export_*.[acp,xml]" and the restore-context.xml.
| Gets automatically activated specifiying a value for the property
| restoreVersion which maps to the name of the folder.
| NB: In order this to work you *MUST* export your full repo with "export" package name
-->
<profile>
<id>restore</id>
<activation>
<property>
<name>restoreVersion</name>
</property>
</activation>
<build>
<defaultGoal>package</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/restore-*.xml</include>
</includes>
</resource>
<resource>
<directory>tools/export/${restoreVersion}</directory>
<includes>
<include>**</include>
</includes>
<targetPath>alfresco/extension/restore</targetPath>
</resource>
</resources>
</build>
</profile>
<!--
| Profile to automatically include ldap configuration files
| (not included by default build)
-->
<profile>
<id>ldap</id>
<activation>
<property>
<name>enterprise</name>
</property>
</activation>
<build>
<defaultGoal>package</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/ldap-*-context.xml</include>
</includes>
</resource>
</resources>
</build>
</profile>
<!-- Profile for deploying (only locally , due to http://jira.codehaus.org/browse/CARGO-416) on jboss.
|
| FIXME: Add <dependencies> override in order to have jboss specific alfresco-*-jboss.war (e.g no log4j.properties and log4j jar)
| being substituted as a depenendency, and avoid log4j classCasts
|
-->
<profile>
<id>jboss</id>
<!--
| By default the src/main/properties/local/application.properties uses the property "alfresco.data.location" to specify where
| alf_data gets created and "alfresco.db.name" for the database name.
| For local jboss deployment default creation dir (alf_data) is under appserver $JBOSS_HOME/bin directory (as location is specified relatively to
| run dir)
|
| 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/' )
|
| NB: Remember to grant appropriate permissions on database you specify here by running the script found in tools/mysql/[jetty/tomcat/jboss]
| sql scripts (after editing them), or run those you find in target/classes/tools/[db_remove,db_setup].sql which are already filtered according to
| ' alfresco.db.name ' property.
|
-->
<properties>
<alfresco.data.location>./alf_data</alfresco.data.location>
<alfresco.db.name>alf_jboss</alfresco.db.name>
<log.dir></log.dir>
</properties>
<build>
<defaultGoal>cargo:deploy</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/restore-context.xml</exclude>
<exclude>**/ldap-*.xml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include></include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>jboss4x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.servlet.port>8080</cargo.servlet.port>
</properties>
</configuration>
<deployer>
<type>remote</type>
<deployables>
<deployable>
<groupId>${pom.groupId}</groupId>
<artifactId>${pom.artifactId}</artifactId>
<type>war</type>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
<!-- log4j.properties is excluded from source and dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>false</archiveClasses>
<webappDirectory>target/${webapp.name}</webappDirectory>
<dependentWarExcludes >**/log4j.properties,**/lib/log4j*.jar,log4j.properties</dependentWarExcludes >
<warSourceExcludes>**/log4j.properties,WEB-INF/classes/tools</warSourceExcludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!--
| Profile for deploying on tomcat 5.x
|
|
-->
<profile>
<id>tomcat</id>
<!--
| By default the src/main/properties/local/application.properties uses the property "alfresco.data.location" to specify where
| alf_data gets created.
| For tomcat deployment default creation dir (alf_data) is under appserver $CATALINA_HOME/bin directory (as location is specified relatively to
| run dir) and db is configurable likewhise.
| 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/' )
|
| NB: Remember to grant appropriate permissions on database you specify here by running the script found in tools/mysql/[jetty/tomcat/jboss]
| mysql scripts (properly edited) or those you find in target/tools/[db_remove,db_setup].sql which are already filtered according to
| ' alfresco.db.name ' property
|
-->
<properties>
<alfresco.data.location>./alf_data</alfresco.data.location>
<alfresco.db.name>alf_tomcat</alfresco.db.name>
<log.dir></log.dir>
</properties>
<build>
<defaultGoal>package</defaultGoal>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>tomcat5x</containerId>
<type>remote</type>
</container>
<!-- Configure here your Tomcat server manager credentials -->
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>tomcat</cargo.remote.username>
<cargo.remote.password>tomcat</cargo.remote.password>
<cargo.servlet.port>8080</cargo.servlet.port>
</properties>
</configuration>
<deployer>
<type>remote</type>
<deployables>
<deployable>
<artifactId>${pom.artifactId}</artifactId>
<type>war</type>
<properties>
<context>/${webapp.name}</context>
</properties>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -0,0 +1,33 @@
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<book>
<id>manual</id>
<title>Alfresco Extension Manual</title>
<chapters>
<chapter>
<id>introduction</id>
<title>Introduction</title>
<sections>
<section>
<id>book-index</id>
</section>
</sections>
</chapter>
</chapters>
</book>

View File

@ -0,0 +1,43 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Ant/m2 runtime properties management
------------------------------------
Both build systems will comply to the following convention for properties:
- if -Denv=<yourEnv> property is specified at build time properties will be
looked up in folder
src/main/properties/<yourEnv>/application.properties
and copied in the classpath under
alfresco/extension/application.properties
- if no "env" system property is specified env=local default value will be used
Buildtime properties management - Note for Ant Users:
-----------------------------------------------------
Here you can also configure buildtime properties which will be loaded in ant
build context with the same aforementioned convention.
This is done for tomcat ATM.
Buildtime properties management - Note for Maven Users:
-----------------------------------------------------
You should configure your buildtime properties as suggested by the maven
cascading build properties system, i.e. externalizing them from the project
by the means of settings.xml file.

View File

@ -0,0 +1,141 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# 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
# -------------------
# Sample custom content and index data location
# This will create alf_data Relative to appserver run folder
# In this default file we take the property from the POM (for compatbility with local jetty and jboss deployments) but it can also be edited here.
dir.root=${alfresco.data.location}
# Allowed values are: NONE, AUTO, FULL
index.recovery.mode=NONE
# Fail or not when there are node integrity checker errors
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.gjt.mm.mysql.Driver
db.url=jdbc:mysql://localhost/${alfresco.db.name}
db.username=alfresco
db.password=alfresco
db.pool.initial=10
db.pool.max=100
# MySQL dialect
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
# Property to control whether schema updates are performed automatically.
# Updates must be enabled during upgrades as, apart from the static upgrade scripts,
# there are also auto-generated update scripts that will need to be executed. After
# upgrading to a new version, this can be disabled.
#db.schema.update=true
# File servers related properties
# For local builds we disable CIFS and FTP. Edit the following property to reenable them
smb.server.enabled=false
smb.server.name=CFS_SHARE_LOCAL
smb.server.domain=mycompany.com
smb.server.bindto=127.0.0.1
smb.tcpip.port=1445
netbios.session.port=1139
netbios.name.port=1137
netbios.datagram.port=1138
ftp.server.enables=false
ftp.port=1121
ftp.authenticator=alfresco
# This properties file is used to configure LDAP authentication
# NB: The following LDAP related properties are read only in case -Denteprise mvn build property is specified
# Wheter to allow silent deletion of users in the Alfresco UI (note: users will be then resynced in the next synchronization)
ldap.authentication.allowDeleteUser=true
# LDAP JNDI provider
ldap.authentication.provider=com.sun.jndi.ldap.LdapCtxFactory
# Url and protocol for LDAP server to carry authentication against
ldap.authentication.url=ldap://ldap.mycompany.com:636
# can be (simple, ssl)
ldap.authentication.protcol=ssl
# Credentials with full access to the directoty used
ldap.authentication.adminUser=ou=Admin,ou=Services,o=Company
ldap.authentication.adminPassword=secret
# Wheter to allow unauthenticated guest a read only login
ldap.authentication.guestLogin.allowed=false
# Wheter users can be created on the fly upon successful external (e.g. LDAP) authentication. Useful to avoid user synchronization in case just uid and pwd are needed for a user
server.transaction.allow-writes=true
# Wheter user names are case sensitive
user.name.caseSensitive=true
# Wheter the synchronization process has to process duplicated users (e.g. synced users and users coming from the sync)
personService.processDuplicates=true
# Which action to take when processin duplicates. One of: LEAVE, SPLIT, DELETE
personService.duplicateMode=DELETE
# Which of the users (in case of SPLIT duplicates policy) should be considered valid
personService.lastIsBest=true
# Wheter auto created users should be considered when processing duplicates
personService.includeAutoCreated=true
# The query to find the people to import
ldap.synchronisation.personQuery=(objectclass=inetOrgPerson)
# The search base of the query to find people to import
ldap.synchronisation.personSearchBase=ou=Identities,ou=mycompany,o=com
# The attribute name on people objects found in LDAP to use as the uid in Alfresco
ldap.synchronisation.userIdAttributeName=cn
# The attribute on person objects in LDAP to map to the first name property in Alfresco
ldap.synchronisation.userFirstNameAttributeName=givenName
# The attribute on person objects in LDAP to map to the last name property in Alfresco
ldap.synchronisation.userLastNameAttributeName=sn
# The attribute on person objects in LDAP to map to the email property in Alfresco
ldap.synchronisation.userEmailAttributeName=cn
# The attribute on person objects in LDAP to map to the organizational id property in Alfresco
ldap.synchronisation.userOrganizationalIdAttributeName=maildomain
# The default home folder provider to use for people created via LDAP import
ldap.synchronisation.defaultHomeFolderProvider=companyHomeFolderProvider
# The query to find group objects
ldap.synchronisation.groupQuery=(objectclass=AlfrescoGroup)
# The search base to use to find group objects
ldap.synchronisation.groupSearchBase=ou=AlfrescoGroups,ou=mycompany,o=com
# The attribute on LDAP group objects to map to the gid property in Alfrecso
ldap.synchronisation.groupIdAttributeName=cn
# The group type in LDAP
ldap.synchronisation.groupType=AlfrescoGroup
# The person type in LDAP
ldap.synchronisation.personType=inetOrgPerson
# The attribute in LDAP on group objects that defines the DN for its members
ldap.synchronisation.groupMemberAttributeName=member
# The cron expression defining when people imports should take place (e.g. every evening at 22:00 hours)
ldap.synchronisation.import.person.cron=0 0 22 * * ?
# The cron expression defining when group imports should take place (e.g. every evening at 21:45 hours)
ldap.synchronisation.import.group.cron=0 45 21 * * ?
# Should all groups be cleared out at import time?
# - this is safe as groups are not used in Alfresco for other things (unlike person objects which you should never clear out during an import)
# - setting this to true means old group definitions will be tidied up.
ldap.synchronisation.import.group.clearAllChildren=false

View File

@ -0,0 +1,34 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- Registration of new models -->
<bean id="extension.dictionaryBootstrap"
parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/extension/custom-model.xml</value>
</list>
</property>
</bean>
</beans>

View File

@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Custom Model -->
<!-- Note: This model is pre-confissred to load at startup of the Repository. So, all custom -->
<!-- types and aspects added here will automatically be registered -->
<model name="ss:customModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.alfresco.org/model/dictionary/1.0">
<!-- Optional meta-data about the model -->
<description>Custom Alfresco model</description>
<author>Sourcesense</author>
<version>1.0</version>
<imports>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
</imports>
<!-- Introduction of new namespaces defined by this model -->
<!-- NOTE: The following namespace custom.model should be changed to reflect your own namespace -->
<namespaces>
<namespace uri="http://www.sourcesense.com/model/1.0" prefix="ss"/>
</namespaces>
<constraints>
<constraint name="ss:documentTypes" type="LIST">
<parameter name="allowedValues">
<list>
<value>Select a Document type...</value>
<value>Brief</value>
<value>E-mail</value>
<value>Fax</value>
<value>E-Form</value>
</list>
</parameter>
</constraint>
<constraint name="ss:statuses" type="LIST">
<parameter name="allowedValues">
<list>
<value>Select a status...</value>
<value>New</value>
<value>Draft</value>
<value>Proposal</value>
<value>Approved</value>
<value>Public</value>
</list>
</parameter>
</constraint>
<constraint name="ss:stringLength6" type="LENGTH">
<parameter name="minLength">
<value>0</value>
</parameter>
<parameter name="maxLength">
<value>6</value>
</parameter>
</constraint>
<constraint name="ss:stringLength30" type="LENGTH">
<parameter name="minLength">
<value>0</value>
</parameter>
<parameter name="maxLength">
<value>20</value>
</parameter>
</constraint>
</constraints>
<types>
<!-- Incoming documents -->
<type name="ss:incoming">
<title>Incoming document</title>
<parent>cm:content</parent>
<properties>
<property name="ss:documentType">
<type>d:text</type>
<mandatory>true</mandatory>
<constraints>
<constraint ref="ss:documentTypes" />
</constraints>
</property>
<property name="ss:scanId">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength30" />
</constraints>
</property>
<property name="ss:status">
<type>d:text</type>
<mandatory>false</mandatory>
<default>New</default>
<constraints>
<constraint ref="ss:statuses" />
</constraints>
</property>
</properties>
<mandatory-aspects>
<aspect>cm:dublincore</aspect>
<aspect>cm:versionable</aspect>
<aspect>ss:sendable</aspect>
</mandatory-aspects>
</type>
</types>
<aspects>
<aspect name="ss:sendable">
<properties>
<property name="ss:dateSent">
<type>d:date</type>
<mandatory>false</mandatory>
</property>
<property name="ss:senderName">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength30" />
</constraints>
</property>
<property name="ss:senderBsn">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength30" />
</constraints>
</property>
<property name="ss:senderAddress">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength30" />
</constraints>
</property>
<property name="ss:senderZipcode">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength6" />
</constraints>
</property>
<property name="ss:senderCity">
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="ss:stringLength30" />
</constraints>
</property>
</properties>
</aspect>
</aspects>
</model>

View File

@ -0,0 +1,53 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
This shows the common minimum configuration overrides.
By default, the content and indexes are located at a relative location, which should only
be used when doing a quick preview of the Alfresco server.
-->
<beans>
<!-- overriding to point to custom properties -->
<bean id="repository-properties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders">
<value>true</value>
</property>
<property name="locations">
<list>
<value>classpath:alfresco/repository.properties</value>
<value>classpath:alfresco/version.properties</value>
<value>classpath:alfresco/domain/transaction.properties</value>
<!-- Override basic repository properties, dir.root and hibernate dialect -->
<value>classpath:alfresco/extension/application.properties</value>
</list>
</property>
</bean>
<bean id="hibernateConfigProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:alfresco/domain/hibernate-cfg.properties</value>
</list>
</property>
</bean>
</beans>

View File

@ -0,0 +1,152 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
| Default property based configuration.
| Example configurations are also provided.
|
-->
<alfresco-config area="file-servers">
<!-- To override the default Alfresco filesystem use replace="true", to -->
<!-- add additional filesystems remove the replace="true" attribute -->
<!-- Sample passtrhu Novel authentication
<config evaluator="string-compare" condition="Filesystem Security" replace="true">
<authenticator type="passthru">
<Server>passtrhu1.mycompany.com,passthru2.mycompany.com</Server>
</authenticator>
</config>
-->
<!-- Sample kerberos configuration. Untested.
config evaluator="string-compare" condition="Filesystem Security" replace="true">
<authenticator type="enterprise">
<KDC>authserver.company.com</KDC>
<Realm>MYCOMPANY.COM</Realm>
<Password>secret</Password>
<LoginEntry>AlfCommon</LoginEntry>
</authenticator>
</config-->
<config evaluator="string-compare" condition="Filesystem Security" replace="true">
<authenticator type="alfresco"/>
</config>
<config evaluator="string-compare" condition="CIFS Server" replace="true">
<serverEnable enabled="${smb.server.enabled}"/>
<host name="${smb.server.name}" domain="${smb.server.domain}"/>
<comment>Alfresco CIFS Server</comment>
<!-- Set to the broadcast mask for the subnet -->
<broadcast>255.255.255.0</broadcast>
<!-- Use Java socket based NetBIOS over TCP/IP and native SMB on linux -->
<tcpipSMB platforms="linux,solaris,macosx"/>
<netBIOSSMB platforms="linux,solaris,macosx"/>
<!-- bind to the frontend facing interface of this server -->
<bindto>${smb.server.bindto}</bindto>
<!-- Can be mapped to non-privileged ports, then use firewall rules to forward requests from the standard ports -->
<tcpipSMB port="${smb.tcpip.port}" platforms="linux,solaris,macosx"/>
<netBIOSSMB sessionPort="${netbios.session.port}" namePort="${netbios.name.port}" datagramPort="${netbios.datagram.port}" platforms="linux,solaris,macosx"/>
<hostAnnounce interval="5"/>
<!-- Use Win32 NetBIOS interface on Windows -->
<Win32NetBIOS/>
<Win32Announce interval="5"/>
<!--
<WINS>
<primary>1.2.3.4</primary>
<secondary>5.6.7.8</secondary>
</WINS>
-->
<sessionDebug flags="Negotiate,Socket"/>
</config>
<config evaluator="string-compare" condition="FTP Server">
<serverEnable enabled="${ftp.server.enabled}"/>
<port>${ftp.port}</port>
<!-- FTP authentication -->
<authenticator type="${ftp.authenticator}"/>
<!-- <debug flags="File,Search,Error,Directory,Info,DataPort"/> -->
</config>
<config evaluator="string-compare" condition="Filesystems" replace="true">
<filesystems>
<filesystem name="Alfresco">
<store>workspace://SpacesStore</store>
<rootPath>/app:company_home</rootPath>
<!-- Add a URL file to each folder that links back to the web client -->
<urlFile>
<filename>__Alfresco.url</filename>
<webpath>http://${localname}/</webpath>
</urlFile>
<!-- Mark locked files as offline -->
<offlineFiles/>
<!-- Desktop actions -->
<desktopActions>
<global>
<path>alfresco/desktop/Alfresco.exe</path>
<webpath>http://${localname}/</webpath>
</global>
<action>
<class>org.alfresco.filesys.smb.server.repo.desk.CheckInOutDesktopAction</class>
<name>CheckInOut</name>
<filename>__CheckInOut.exe</filename>
</action>
<action>
<class>org.alfresco.filesys.smb.server.repo.desk.JavaScriptDesktopAction</class>
<name>JavaScriptURL</name>
<filename>__ShowDetails.exe</filename>
<script>alfresco/desktop/showDetails.js</script>
<attributes>anyFiles</attributes>
<preprocess>copyToTarget</preprocess>
</action>
</desktopActions>
<!--
<accessControl default="Write">
<user name="admin" access="Write"/>
<address subnet="90.1.0.0" mask="255.255.0.0" access="Write"/>
</accessControl>
-->
</filesystem>
<!-- AVM virtualization view of all stores/versions for WCM -->
<avmfilesystem name="AVM">
<virtualView/>
</avmfilesystem>
</filesystems>
</config>
</alfresco-config>

View File

@ -0,0 +1,157 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean name="ldapAuthenticationPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders">
<value>true</value>
</property>
<property name="locations">
<value>classpath:alfresco/extension/application.properties</value>
</property>
</bean>
<!-- DAO that rejects changes - LDAP is read only at the moment. It does allow users to be deleted with out warnings from the UI. -->
<bean name="authenticationDao" class="org.alfresco.repo.security.authentication.DefaultMutableAuthenticationDao" >
<property name="allowDeleteUser">
<value>${ldap.authentication.allowDeleteUser}</value>
</property>
</bean>
<bean id="ldapInitialDirContextFactory" class="org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl">
<property name="initialDirContextEnvironment">
<map>
<!-- The LDAP provider -->
<entry key="java.naming.factory.initial">
<value>${ldap.authentication.provider}</value>
</entry>
<!-- The url to the LDAP server -->
<!-- Note you can use space separated urls - they will be tried in turn until one works -->
<!-- This could be used to authenticate against one or more ldap servers (you will not know which one ....) -->
<entry key="java.naming.provider.url">
<value>${ldap.authentication.url}</value>
</entry>
<entry key="java.naming.security.protocol">
<value>${ldap.authentication.protocol}</value>
</entry>
<!-- The authentication mechanism to use -->
<!-- Some sasl authentication mechanisms may require a realm to be set -->
<!-- java.naming.security.sasl.realm -->
<!-- The available options will depend on your LDAP provider -->
<!-- The id of a user who can read group and user information -->
<!-- This does not go through the pattern substitution defined above and is used "as is" -->
<entry key="java.naming.security.principal">
<value>${ldap.authnetication.adminUser}</value>
</entry>
<!-- The password for the user defined above -->
<entry key="java.naming.security.credentials">
<value>${ldap.authnetication.adminPassword}</value>
</entry>
</map>
</property>
</bean>
<bean id="authenticationComponent" class="org.alfresco.repo.security.authentication.ldap.LDAPAuthenticationComponentImpl">
<property name="LDAPInitialDirContextFactory">
<ref bean="ldapInitialDirContextFactory"/>
</property>
<property name="userNameFormat">
<value>cn=%s,ou=Identities,ou=Internal,o=NXP</value>
</property>
<property name="allowGuestLogin">
<value>${ldap.authentication.guestLogin.allowed}</value>
</property>
</bean>
<!-- The person service. -->
<bean id="personService" class="org.alfresco.repo.security.person.PersonServiceImpl" init-method="init">
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="searchService">
<ref bean="admSearchService" />
</property>
<property name="permissionServiceSPI">
<ref bean="permissionServiceImpl" />
</property>
<property name="authorityService">
<ref bean="authorityService" />
</property>
<property name="namespacePrefixResolver">
<ref bean="namespaceService" />
</property>
<property name="policyComponent">
<ref bean="policyComponent"/>
</property>
<property name="personCache">
<ref bean="personCache" />
</property>
<!-- Configurable properties. -->
<!-- -->
<!-- TODO: -->
<!-- Add support for creating real home spaces adn setting -->
<!-- permissions on the hame space and people created. -->
<!-- -->
<!-- The store in which people are persisted. -->
<property name="storeUrl">
<value>${spaces.store}</value>
</property>
<!-- Some authentication mechanisms may need to create people -->
<!-- in the repository on demand. This enables that feature. -->
<!-- If dsiabled an error will be generated for missing -->
<!-- people. If enabled then a person will be created and -->
<!-- persisted. -->
<!-- Valid values are -->
<!-- ${server.transaction.allow-writes} -->
<!-- false -->
<property name="createMissingPeople">
<value>${server.transaction.allow-writes}</value>
</property>
<property name="userNamesAreCaseSensitive">
<value>${user.name.caseSensitive}</value>
</property>
<!-- New properties after 1.4.0 to deal with duplicate user ids when found -->
<property name="processDuplicates">
<value>${personService.processDuplicates}</value>
</property>
<!-- one of: LEAVE, SPLIT, DELETE -->
<property name="duplicateMode">
<value>${personService.duplicateMode}</value>
</property>
<property name="lastIsBest">
<value>${personService.lastIsBest}</value>
</property>
<property name="includeAutoCreated">
<value>${personService.includeAutoCreated}</value>
</property>
</bean>
</beans>

View File

@ -0,0 +1,394 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean name="ldapSynchronisationPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders">
<value>true</value>
</property>
<property name="locations">
<value>classpath:alfresco/extension/application.properties</value>
</property>
</bean>
<!--
Wire up the same context as used for LDAP authentication. You could use another context: just replace this
alias with the bean definition
-->
<alias alias="ldapSyncInitialDirContextFactory" name="ldapInitialDirContextFactory"/>
<!-- Ldap Syncronisation support -->
<!--
There can be more than one stack of beans that import users or groups. For example, it may be easier
to have a version of ldapPeopleExportSource, and associated beans, for each sub-tree of your ldap directory
from which you want to import users. You could then limit users to be imported from two or more sub tress and ignore
users found else where. The same applies to the import of groups.
The defaults shown below are for OpenLDAP.
-->
<!-- Extract user information from LDAP and transform this to XML -->
<bean id="ldapPeopleExportSource" class="org.alfresco.repo.security.authentication.ldap.LDAPPersonExportSource">
<!--
The query to select objects that represent the users to import.
For Open LDAP, using a basic schema, the following is probably what you want:
(objectclass=inetOrgPerson)
For Active Directory:
(objectclass=user)
-->
<property name="personQuery">
<value>${ldap.synchronisation.personQuery}</value>
</property>
<!--
The seach base restricts the LDAP query to a sub section of tree on the LDAP server.
-->
<property name="searchBase">
<value>${ldap.synchronisation.personSearchBase}</value>
</property>
<!--
The unique identifier for the user.
THIS MUST MATCH WHAT THE USER TYPES IN AT THE LOGIN PROMPT
For simple LDAP authentication this is likely to be "cn" or, less friendly, "distinguishedName"
In OpenLDAP, using other authentication mechanisms "uid", but this depends on how you map
from the id in the LDAP authentication request to search for the inetOrgPerson against which
to authenticate.
In Active Directory this is most likely to be "sAMAccountName"
This property is mandatory and must appear on all users found by the query defined above.
-->
<property name="userIdAttributeName">
<value>${ldap.synchronisation.userIdAttributeName}</value>
</property>
<!-- Services -->
<property name="LDAPInitialDirContextFactory">
<ref bean="ldapSyncInitialDirContextFactory"/>
</property>
<property name="personService">
<ref bean="personService"></ref>
</property>
<property name="namespaceService">
<ref bean="namespaceService"/>
</property>
<!--
This property defines a mapping between attributes held on LDAP user objects and
the properties of user objects held in the repository. The key is the QName of an attribute in
the repository, the value is the attribute name from the user/inetOrgPerson/.. object in the
LDAP repository.
-->
<property name="attributeMapping">
<map>
<entry key="cm:userName">
<!-- Must match the same attribute as userIdAttributeName -->
<value>${ldap.synchronisation.userIdAttributeName}</value>
</entry>
<entry key="cm:firstName">
<!-- OpenLDAP: "givenName" -->
<!-- Active Directory: "givenName" -->
<value>${ldap.synchronisation.userFirstNameAttributeName}</value>
</entry>
<entry key="cm:lastName">
<!-- OpenLDAP: "sn" -->
<!-- Active Directory: "sn" -->
<value>${ldap.synchronisation.userLastNameAttributeName}</value>
</entry>
<entry key="cm:email">
<!-- OpenLDAP: "mail" -->
<!-- Active Directory: "???" -->
<value>${ldap.synchronisation.userEmailAttributeName}</value>
</entry>
<entry key="cm:organizationId">
<!-- OpenLDAP: "o" -->
<!-- Active Directory: "???" -->
<value>${ldap.synchronisation.userOrganizationalIdAttributeName}</value>
</entry>
<!-- Always use the default -->
<entry key="cm:homeFolderProvider">
<null/>
</entry>
</map>
</property>
<!-- Set a default home folder provider -->
<!-- Defaults only apply for values above -->
<property name="attributeDefaults">
<map>
<entry key="cm:homeFolderProvider">
<value>${ldap.synchronisation.defaultHomeFolderProvider}</value>
</entry>
</map>
</property>
</bean>
<!-- Extract group information from LDAP and transform this to XML -->
<bean id="ldapGroupExportSource" class="org.alfresco.repo.security.authentication.ldap.LDAPGroupExportSource">
<!--
The query to select objects that represent the groups to import.
For Open LDAP, using a basic schema, the following is probably what you want:
(objectclass=groupOfNames)
For Active Directory:
(objectclass=group)
-->
<property name="groupQuery">
<value>${ldap.synchronisation.groupQuery}</value>
</property>
<!--
The seach base restricts the LDAP query to a sub section of tree on the LDAP server.
-->
<property name="searchBase">
<value>${ldap.synchronisation.groupSearchBase}</value>
</property>
<!--
The unique identifier for the user. This must match the userIdAttributeName on the ldapPeopleExportSource bean above.
-->
<property name="userIdAttributeName">
<value>${ldap.synchronisation.userIdAttributeName}</value>
</property>
<!--
An attribute that is a unique identifier for each group found.
This is also the name of the group with the current group implementation.
This is mandatory for any groups found.
OpenLDAP: "cn" as it is mandatory on groupOfNames
Active Directory: "cn"
-->
<property name="groupIdAttributeName">
<value>${ldap.synchronisation.groupIdAttributeName}</value>
</property>
<!--
The objectClass attribute for group members.
For each member of a group, the distinguished name is given.
The object is looked up by its DN. If the object is of this class it is treated as a group.
-->
<property name="groupType">
<value>${ldap.synchronisation.groupType}</value>
</property>
<!--
The objectClass attribute for person members.
For each member of a group, the distinguished name is given.
The object is looked up by its DN. If the object is of this class it is treated as a person.
-->
<property name="personType">
<value>${ldap.synchronisation.personType}</value>
</property>
<property name="LDAPInitialDirContextFactory">
<ref bean="ldapSyncInitialDirContextFactory"/>
</property>
<property name="namespaceService">
<ref bean="namespaceService"/>
</property>
<!--
The repeating attribute on group objects (found by query or as sub groups)
used to define membership of the group. This is assumed to hold distinguished names of
other groups or users/people; the above types are used to determine this.
OpenLDAP: "member" as it is mandatory on groupOfNames
Active Directory: "member"
-->
<property name="memberAttribute">
<value>${ldap.synchronisation.groupMemberAttributeName}</value>
</property>
<property name="authorityDAO">
<ref bean="authorityDAO"/>
</property>
</bean>
<!-- Job definitions to import LDAP people and groups -->
<!-- The triggers register themselves with the scheduler -->
<!-- You may comment in the default scheduler to enable these triggers -->
<!-- If a cron base trigger is what you want seee scheduled-jobs-context.xml for examples. -->
<!-- Trigger to load poeple -->
<!-- Note you can have more than one initial (context, trigger, import job and export source) set -->
<!-- This would allow you to load people from more than one ldap store -->
<bean id="ldapPeopleTrigger" class="org.alfresco.util.CronTriggerBean">
<property name="jobDetail">
<bean id="ldapPeopleJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.importer.ImporterJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="bean">
<ref bean="ldapPeopleImport"/>
</entry>
</map>
</property>
</bean>
</property>
<property name="cronExpression">
<value>${ldap.synchronisation.import.person.cron}</value>
</property>
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
</bean>
<bean id="ldapGroupTrigger" class="org.alfresco.util.CronTriggerBean">
<property name="jobDetail">
<bean id="ldapGroupJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.importer.ImporterJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="bean">
<ref bean="ldapGroupImport"/>
</entry>
</map>
</property>
</bean>
</property>
<property name="cronExpression">
<value>${ldap.synchronisation.import.group.cron}</value>
</property>
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
</bean>
<!-- The bean that imports xml describing people -->
<bean id="ldapPeopleImport" class="org.alfresco.repo.importer.ExportSourceImporter">
<property name="importerService">
<ref bean="importerComponentWithBehaviour"/>
</property>
<property name="transactionService">
<ref bean="transactionComponent"/>
</property>
<property name="authenticationComponent">
<ref bean="authenticationComponent"/>
</property>
<property name="exportSource">
<ref bean="ldapPeopleExportSource"/>
</property>
<!-- The store that contains people - this should not be changed -->
<property name="storeRef">
<value>${spaces.store}</value>
</property>
<!-- The location of people nodes within the store defined above - this should not be changed -->
<property name="path">
<value>/${system.system_container.childname}/${system.people_container.childname}</value>
</property>
<!-- If true, clear all existing people before import, if false update/add people from the xml -->
<property name="clearAllChildren">
<value>false</value>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="searchService">
<ref bean="searchService"/>
</property>
<property name="namespacePrefixResolver">
<ref bean="namespaceService"/>
</property>
<property name="caches">
<set>
<ref bean="permissionsAccessCache"/>
</set>
</property>
</bean>
<!-- The bean that imports xml descibing groups -->
<bean id="ldapGroupImport" class="org.alfresco.repo.importer.ExportSourceImporter">
<property name="importerService">
<ref bean="importerComponentWithBehaviour"/>
</property>
<property name="transactionService">
<ref bean="transactionComponent"/>
</property>
<property name="authenticationComponent">
<ref bean="authenticationComponent"/>
</property>
<property name="exportSource">
<ref bean="ldapGroupExportSource"/>
</property>
<!-- The store that contains group information - this should not be changed -->
<property name="storeRef">
<value>${alfresco_user_store.store}</value>
</property>
<!-- The location of group information in the store above - this should not be changed -->
<property name="path">
<value>/${alfresco_user_store.system_container.childname}/${alfresco_user_store.authorities_container.childname}</value>
</property>
<!-- If true, clear all existing groups before import, if false update/add groups from the xml -->
<property name="clearAllChildren">
<value>${ldap.synchronisation.import.group.clearAllChildren}</value>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="searchService">
<ref bean="searchService"/>
</property>
<property name="namespacePrefixResolver">
<ref bean="namespaceService"/>
</property>
<!-- caches to clear on import of groups -->
<property name="caches">
<set>
<ref bean="userToAuthorityCache"/>
<ref bean="permissionsAccessCache"/>
</set>
</property>
<!-- userToAuthorityCache -->
</bean>
</beans>

View File

@ -0,0 +1,88 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean id="systemInfoBootstrap" parent="systemInfoImporter">
<property name="bootstrapView">
<value>alfresco/extension/restore/export_systeminfo.xml</value>
</property>
</bean>
<bean id="userBootstrap" parent="userStoreImporter">
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/</prop>
<prop key="location">alfresco/extension/restore/export_users.acp</prop>
</props>
</list>
</property>
<property name="log"><value>true</value></property>
</bean>
<bean id="systemBootstrap" parent="systemStoreImporter">
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/</prop>
<prop key="location">alfresco/extension/restore/export_system.acp</prop>
</props>
</list>
</property>
<property name="log"><value>true</value></property>
</bean>
<bean id="versionBootstrap" parent="versionStoreImporter">
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/</prop>
<prop key="location">alfresco/extension/restore/export_versions.acp</prop>
</props>
</list>
</property>
<property name="log"><value>true</value></property>
</bean>
<bean id="spacesArchiveBootstrap" parent="spacesArchiveStoreImporter">
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/</prop>
<prop key="location">alfresco/extension/restore/export_spaces_archive.acp</prop>
</props>
</list>
</property>
</bean>
<bean id="spacesBootstrap" parent="spacesStoreImporter">
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/</prop>
<prop key="location">alfresco/extension/restore/export_spaces.acp</prop>
</props>
</list>
</property>
<property name="log"><value>true</value></property>
</bean>
</beans>

View File

@ -0,0 +1,193 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
|
| Default configuration for showing the few types defined
| in the model.
| A number of typical use cases commented samples is also available
|
-->
<alfresco-config>
<!-- Most common sample alfresco web client configurations are provided here -->
<config evaluator="string-compare" condition="Languages">
<languages>
<language locale="it_IT">Italiano</language>
<language locale="du_NL">Dutch</language>
</languages>
</config>
<config>
<client>
<!--from-email-address>someone@your-domain.com</from-email-address>
<search-max-results>100</search-max-results-->
<!-- set this value to true to enable AND text terms for simple/advanced search by default -->
<search-and-terms>true</search-and-terms>
</client>
</config>
<config evaluator="string-compare" condition="Content Wizards">
<content-types>
<type name="ss:incoming" display-label-id="incoming" />
</content-types>
</config>
<config evaluator="string-compare" condition="Action Wizards">
<!-- The list of types shown in the is-subtype condition -->
<subtypes>
<type name="ss:incoming" />
</subtypes>
</config>
<config evaluator="aspect-name" condition="ss:sendable">
<property-sheet>
<separator name="sendableProperties" display-label-id="sendable.properties" component-generator="HeaderSeparatorGenerator" />
<show-property name="ss:dateSent" display-label-id="sendable.dateSent" />
<show-property name="ss:senderName" display-label-id="sendable.senderName" />
<show-property name="ss:senderBsn" display-label-id="sendable.senderBsn" />
<show-property name="ss:senderAddress" display-label-id="sendable.senderAddress" />
<show-property name="ss:senderZipcode" display-label-id="sendable.senderZipcode" />
<show-property name="ss:senderCity" display-label-id="sendable.senderCity" />
</property-sheet>
</config>
<!-- How to display the detail page / editing form of a custom defined type -->
<config evaluator="node-type" condition="ss:incoming">
<property-sheet>
<separator name="incomingProperties" display-label-id="incoming.properties" component-generator="HeaderSeparatorGenerator" />
<show-property name="ss:documentType" display-label-id="incoming.documentType" />
<show-property name="ss:scanId" display-label-id="incoming.scanId" />
<show-property name="ss:incomingStatus" display-label-id="incoming.status" />
<show-property name="ss:departmentId" display-label-id="incoming.departmentId" />
</property-sheet>
</config>
<!-- How to customize advanced search form -->
<config evaluator="string-compare" condition="Advanced Search">
<advanced-search>
<content-types>
<type name="ss:incoming" display-label-id="incoming" />
</content-types>
<custom-properties>
<meta-data type="ss:incoming" property="ss:documentType" display-label-id="incoming.documentType" />
</custom-properties>
</advanced-search>
</config>
<!--
| Follow a number of examples of custom actions
<config>
<actions>
<action id="manage_categories">
<permissions>
<permission allow="true">Write</permission>
</permissions>
<label>Manage Categories</label>
<image>/images/icons/categories.gif</image>
<action>dialog:manageCategories</action>
</action>
<action id="approve_space">
<permissions>
<permission allow="true">Write</permission>
</permissions>
<evaluator>org.alfresco.web.action.evaluator.ApproveDocEvaluator</evaluator>
<label>#{actionContext["app:approveStep"]}</label>
<image>/images/icons/approve.gif</image>
<action-listener>#{SpaceDetailsBean.approve}</action-listener>
<action>browse</action>
<params>
<param name="id">#{actionContext.id}</param>
</params>
</action>
<action id="approve_space_details">
<permissions>
<permission allow="true">Write</permission>
</permissions>
<evaluator>org.alfresco.web.action.evaluator.ApproveDocEvaluator</evaluator>
<label>#{actionContext.properties["app:approveStep"]}</label>
<image>/images/icons/approve.gif</image>
<action-listener>#{SpaceDetailsBean.approve}</action-listener>
<action>browse</action>
<params>
<param name="id">#{actionContext.id}</param>
</params>
</action>
</actions>
</config>
<config evaluator="node-type" condition="nxp:readOnlyFolder">
<actions>
<action-group id="add_content_menu">
<style>white-space:nowrap</style>
<action idref="add_adm_content" hide="true" />
</action-group>
<action-group id="space_browse">
<action idref="edit_space_properties" />
<action idref="cut_node" hide="true" />
<action idref="copy_node" hide="true" />
<action idref="delete_space" hide="true" />
<action idref="details_space" />
</action-group>
<action-group id="browse_create_menu">
<action idref="create_content" hide="true" />
<action idref="create_form" hide="true" />
<action idref="create_website_wizard" hide="true" />
<action idref="create_space" hide="true" />
<action idref="create_space_wizard" hide="true"/>
</action-group>
<action-group id="browse_actions_menu">
<action idref="edit_space_properties" />
<action idref="delete_space" hide="true" />
<action idref="cut_node" hide="true" />
<action idref="copy_node" hide="true" />
<action idref="paste_all" hide="true" />
<action idref="import_space" hide="true" />
<action idref="manage_space_rules" hide="true" />
<action idref="regenerate_renditions" hide="true" />
</action-group>
<action-group id="space_details_actions">
<action idref="cut_node" hide="true" />
<action idref="copy_node" hide="true" />
<action idref="delete_space" hide="true" />
<action idref="import_space" hide="true" />
<action idref="export_space" hide="true" />
<action idref="take_ownership_space" hide="true" />
<action idref="manage_space_rules" hide="true" />
<action idref="run_action" hide="true" />
</action-group>
</actions>
</config>
-->
</alfresco-config>

View File

@ -0,0 +1,40 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Sample webclient alfresco custom labels (english)
# for additional i18n add files in alfresco/messages/*_{locale}.properties
#========== Document labels ==============#
# Incoming
incoming=Incoming document
incoming.properties=Incoming document additional properties
incoming.moreProperties=Additional document properties
incoming.scanId=Scan ID
incoming.status=Status
incoming.documentType=Document Type
#========== Aspects labels ==============#
# Sendable
sendable=Sendable document
sendable.properties=Sending details
sendable.dateSent=Sending date
sendable.senderName=Sender Name
sendable.senderBsn=Sender BSN
sendable.senderAddress=Sender Address
sendable.senderZipcode=Sender Zip Code
sendable.senderCity=Sender City

View File

@ -0,0 +1,147 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Customized alfresco log location
# Set root logger level to error
log4j.rootLogger=error, Console, File
###### Console appender definition #######
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{3}] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
###### File appender definition #######
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=${log.dir}alfresco.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
###### Hibernate specific appender definition #######
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
###### Log level overrides #######
log4j.logger.org.alfresco.repo.model.filefolder=info
# Hibernate
log4j.logger.org.hibernate=error
log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
#log4j.logger.org.hibernate.cache.EhCacheProvider=warn
log4j.logger.org.hibernate.type=warn
# log4j.logger.org.hibernate.persister.collection=DEBUG
# Spring
log4j.logger.org.springframework=warn
# Axis/WSS4J
log4j.logger.org.apache.axis=info
log4j.logger.org.apache.ws=info
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# log prepared statement cache activity ###
log4j.logger.org.hibernate.ps.PreparedStatementCache=info
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.repo.avm=info
log4j.logger.org.alfresco.config=info
log4j.logger.org.alfresco.sample=info
log4j.logger.org.alfresco.web=info
log4j.logger.org.alfresco.web.scripts=warn
#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
#log4j.logger.org.alfresco.web.bean.clipboard=debug
log4j.logger.org.alfresco.repo.webservice=info
log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
#log4j.logger.org.alfresco.web.ui.common.Utils=info
log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=warn
log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
#log4j.logger.org.alfresco.repo.cache.EhCacheTracerJob=debug
#log4j.logger.org.alfresco.repo.search.Indexer=debug
#log4j.logger.org.alfresco.repo.workflow=info
#log4j.logger.org.alfresco.repo.jscript=DEBUG
log4j.logger.org.alfresco.repo.jscript.AlfrescoRhinoScriptDebugger=off
# CIFS server debugging
#log4j.logger.org.alfresco.smb.protocol=debug
#log4j.logger.org.alfresco.smb.protocol.auth=debug
#log4j.logger.org.alfresco.acegi=debug
# FTP server debugging
#log4j.logger.org.alfresco.ftp.protocol=debug
#log4j.logger.org.alfresco.ftp.server=debug
# WebDAV debugging
#log4j.logger.org.alfresco.webdav.protocol=debug
# NTLM servlet filters
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
log4j.logger.org.alfresco.repo.node.integrity=ERROR
# New indexer debugging
#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
# Audit debugging
# log4j.logger.org.alfresco.repo.audit=DEBUG
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
# Templating debugging
# log4j.logger.org.alfresco.web.forms=debug
# log4j.logger.org.chiba.xml.xforms=debug
# Property sheet and modelling debugging
# change to error to hide the warnings about missing properties and associations
log4j.logger.alfresco.missingProperties=warn
log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn
log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn
#log4j.logger.org.alfresco.web.ui.repo.component.property=debug
#log4j.logger.org.alfresco.repo.dictionary.DictionaryDAO=info
# Virtualization Server Registry
#log4j.logger.org.alfresco.mbeans.VirtServerRegistry=debug
# Link Validation debugging
#log4j.logger.org.alfresco.linkvalidation.LinkValidationServiceImpl=debug
#log4j.logger.org.alfresco.linkvalidation.LinkValidationStoreCallbackHandler=debug

View File

@ -0,0 +1,20 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Readme for the WEB-INF overlay procedures
-----------------------------------------
- Note:
This folder contents will be overlayed to the ${webapp.name}/WEB-INF folder. So for example a web.xml file put into this folder will overwrite (not "override" by classpath or inheritance rules) the existing web.xml.
This is useful for example for configuring external SSO authentication filters (e.g. NTLMAuthenticationFilter)

View File

@ -0,0 +1,33 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<!--
|
| Insert here custom faces configurations like:
| <managed-bean>
| <navigation-rule>
|
| This is loaded as part of the alfresco convention over configuration
-->
</faces-config>

Some files were not shown because too many files have changed in this diff Show More