Update site, still work in progress

This commit is contained in:
Ole Hejlskov
2017-03-27 13:28:44 +02:00
parent 1a8d8b76b6
commit f54fb5e3d3
13 changed files with 106 additions and 174 deletions

View File

@@ -3,7 +3,7 @@
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<packaging>maven-plugin</packaging>
<name>Maven Alfresco Plugin</name>
<name>Alfresco Maven Plugin</name>
<parent>
<groupId>org.alfresco.maven</groupId>

View File

@@ -1,33 +1,23 @@
------
Introduction
------
Gabriele Columbro
------
Nov 2012
------
Introduction
The Maven Alfresco Plugin provides development features to manage {{{http://www.alfresco.com}Alfresco ECM}} WAR and {{{https://wiki.alfresco.com/wiki/AMP_Files}AMP}} project lifecycles.
The Alfresco Maven Plugin provides development features to manage {{{http://www.alfresco.com}Alfresco Platform}} WAR, JAR and {{{https://community.alfresco.com/docs/DOC-5146-amp-files}AMP}} project lifecycles.
* Goals Overview
The Maven Alfresco plugin has three goals:
The Alfresco Maven Plugin has three goals:
*{{{./amp-mojo.html}alfresco:amp}} Packages an AMP file
*{{{./run-mojo.html}alfresco:run}} Starts up Alfresco Platform, Share and Solr with your and 3rd party customizations
*{{{./install-mojo.html}alfresco:install}} Installs one or multiple AMPs into an Alfresco WAR / exploded WAR folder embedding {{{http://wiki.alfresco.com/wiki/Module_Management_Tool} Alfresco MMT}}
*{{{./set-version-mojo.html}alfresco:version}} Parses <<<$\{project.version\}>>> removing literals (for AMP compatibility) and making the <<<$\{noSnapshotVersion\}>>> property available in the POM
Full information is available at the {{{./plugin-info.html}goals page}}.
* Usage
General instructions on how to use the Maven Alfresco Plugin can be found on the {{{./usage.html}usage page}}.
The Maven Alfresco Plugin provides support for <<<amp>>> packaging in your Maven projects and allows you to
build AMPs as well as used them as standard Maven dependencies. You can also use AMPs as part of the standard
{{{http://maven.apache.org/plugins/maven-war-plugin/overlays.html}maven-war-plugin}} <<< <overlays> >>> configuration.
General instructions on how to use the Alfresco Maven Plugin can be found on the {{{./usage.html}usage page}}.
For more complex usage of the Maven Alfresco Plugin check the {{{./advanced-usage.html}advanced usage page}}.

View File

@@ -1,62 +1,28 @@
------
Usage
------
Gabriele Columbro
------
Nov 2012
------
How to use this plugin?
There are fundamentally 3 methods to use this plugin:
There are fundamentally two methods to use this plugin:
[[1]] Using Archetypes provided in the Alfresco SDK
[[2]] By using the Alfresco SDK Parent POM
[[3]] Via direct configuration in your POM
[[2]] Via direct configuration in your POM
* Method 1 - Using Alfresco SDK Archetypes
Two sample archetypes already use the plugin and provide best practice example on how to use it:
[[1]] The {{{../../archetypes/alfresco-amp-archetype/index.html} Alfresco AMP Archetype}} provides a sample of AMP packaging
[[1]] The {{{../../archetypes/alfresco-platform-jar-archetype/index.html} Alfresco Platform JAR Archetype}} provides a sample of JAR packaging with AMP as an optional assembly for 3rd party dependencies
[[2]] The {{{../../archetypes/alfresco-allinone-archetype/index.html} Alfresco All-in-One Archetype}} provides a sample using AMPs as dependencies and WAR overlay
[[2]] The {{{../../archetypes/alfresco-allinone-archetype/index.html} Alfresco All-in-One Archetype}} provides a sample using JARs for both Alfresco Platform and Share
This is the <<recommended>> and less error-prone way of using the plugin.
* Method 2 - Using Alfresco SDK Parent POM
The {{{../../poms/alfresco-sdk-parent/index.html}Alfresco SDK Parent POM}} provides a single entry point for all SDK features.
By using it as parent as follows:
+---+
<project>
...
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-parent</artifactId>
<version>1.0</version>
</parent>
...
</project>
+---+
you will have automatic support for AMP packaging of your project (just add you sources in <<<src/main/amp>>>).
* Method 3 - Direct configuration in POM
If you want more control over the plugin behavior you can use it directly in your POM.
<<NOTE>>: The following configuration is not required when using the SDK parent, as it's already included there.
In order to manage AMP artifacts with the Maven Alfresco plugin you need to:
* Declare the plugin in your POM with <<<<extensions>>>> enabled, to allow AMP packaging lifecycle:
+---+
<project>
[...]
@@ -67,33 +33,29 @@ How to use this plugin?
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<version>${project.version}</version>
<extensions>true</extensions>
<plugin>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<alfrescoEdition>community</alfrescoEdition>
<enableH2>true</enableH2>
<enablePlatform>true</enablePlatform>
<enableSolr>true</enableSolr>
<enableShare>false</enableShare>*
<platformModules>
<moduleDependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-share-services</artifactId>
<version>${alfresco.share.version}</version>
<type>amp</type>
</moduleDependency>
</platformModules>
</configuration>
</plugin>
...
</plugins>
</build>
[...]
</project>
+---+
* If you want to package an Alfresco Module Package from your <<<amp>>> packaging project you also need to make sure
your AMP content gets copied to <<<\${project.build.directory}/\${project.build.finalName}>>> so the plugin can pick them up.
Supposing your AMP sources are in <<<src/main/amp>>> you should configure the following <<<<resource>>>> block:
+---+
<project>
[...]
<build>
<resources>
...
<resource>
<directory>src/main/amp</directory>
<!-- This is relative to \${project.build.outputDirectory} -->
<targetPath>../\${project.build.finalName}</targetPath>
<filtering>${app.filtering.enabled}</filtering>
</resource>
</resources>
</build>
[...]
</project>
+---+

View File

@@ -0,0 +1,5 @@
.pippo {}
body.topBarEnabled {
padding-top: 100px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@@ -1,9 +1,8 @@
<project>
<body>
<!--<menu ref="parent" inherit="bottom"/>-->
<head>
<![CDATA[
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '${gaTrackingId}']);
_gaq.push(['_trackPageview']);
@@ -13,16 +12,14 @@
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
]]>
</head>
<menu name="Maven Alfresco Plugin">
<menu name="Alfresco Maven Plugin">
<item name="Introduction" href="index.html"/>
<item name="Goals" href="plugin-info.html"/>
<item name="Usage" href="usage.html"/>
<item name="Advanced Usage" href="advanced-usage.html"/>
<item name="Plexus Components" href="plexus-components.html"/>
</menu>
<menu name="SDK components">

51
pom.xml
View File

@@ -34,33 +34,7 @@
</scm>
<developers>
<developer>
<id>mindthegab</id>
<name>Gabriele Columbro</name>
<email>gabriele.columbro@alfresco.com</email>
<url>http://mindthegab.com</url>
<organization>Alfresco Software</organization>
<organizationUrl>http://www.alfresco.com</organizationUrl>
<timezone>-5</timezone>
<roles>
<role>Founder</role>
<role>Architect</role>
<role>Developer</role>
</roles>
</developer>
<developer>
<id>maoo</id>
<name>Maurizio Pillitu</name>
<email>maurizio.pillitu@alfresco.com</email>
<url>http://session.it</url>
<organization>Alfresco Software</organization>
<organizationUrl>http://www.alfresco.com</organizationUrl>
<timezone>+1</timezone>
<roles>
<role>Architect</role>
<role>Developer</role>
</roles>
</developer>
<developer>
<id>ohej</id>
<name>Ole Hejlskov</name>
@@ -89,6 +63,22 @@
</developers>
<contributors>
<contributor>
<name>Gabriele Columbro</name>
<email>gabriele.columbro@alfresco.com</email>
<url>http://mindthegab.com</url>
<organization>Alfresco Software</organization>
<organizationUrl>http://www.alfresco.com</organizationUrl>
<timezone>-5</timezone>
</contributor>
<contributor>
<name>Maurizio Pillitu</name>
<email>maurizio.pillitu@alfresco.com</email>
<url>http://session.it</url>
<organization>Alfresco Software</organization>
<organizationUrl>http://www.alfresco.com</organizationUrl>
<timezone>+1</timezone>
</contributor>
<contributor>
<name>Carlo Sciolla</name>
<email>carlo@backbase.com</email>
@@ -282,6 +272,11 @@
<releaseProfiles>sdk-release,enterprise-tests</releaseProfiles>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
</plugin>
</plugins>
<pluginManagement>
<plugins>
@@ -308,6 +303,8 @@
</reportSets>
<configuration>
<onlyCurrentVersion>true</onlyCurrentVersion>
<includeOpenIssues>false</includeOpenIssues>
</configuration>
</plugin>
</plugins>

View File

@@ -1,15 +1,10 @@
------
Alfresco SDK\x99
------
Gabriele Columbro
------
Aug 2014
------
Introduction
The Alfresco SDK\x99 - formerly Maven Alfresco SDK\x99, formerly {{{https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/latest/index.html} Alfresco Lifecycle 3.9.1}} -
provides a fully fledged Maven support for {{{http://www.alfresco.com}Alfresco ECM}} WAR and {{{https://wiki.alfresco.com/wiki/AMP_Files}AMP}} project development.
provides a fully fledged Maven support for {{{http://www.alfresco.com}Alfresco Content Services}} WAR, JAR and {{{https://community.alfresco.com/docs/DOC-5146-amp-files}AMP}} project development.
Being fully integrated with Maven it allows to both leverage the vast number of Maven plugins for your Alfresco project as well as integrated your
project easily in Open Source and Enterprise development processes.
@@ -18,10 +13,9 @@ Introduction
How to Use the SDK
The easiest way to use the SDK is to create a sample project using one of the available <<archetypes>> (Repo AMP, Share AMP, All in One).
You can also use the Alfresco SDK Parent POM directly in your Maven project to inherit Alfresco behaviors and configurations.
The easiest way to use the SDK is to create a sample project using one of the available <<archetypes>> (Platform JAR, Share JAR or All in One).
You can also use the Alfresco Maven Plugin directly on any JAR project.
SDK Versions
@@ -30,6 +24,7 @@ SDK Versions
Maven Alfresco SDK 1.x versions rely on the {{{https://artifacts.alfresco.com/nexus/content/groups/public/}Alfresco Artifacts Repository}}.
For documentation on the Maven Alfresco SDK\x99 1.x please refer to {{{https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-lifecycle-aggregator/latest/index.html} Maven Alfresco SDK 1.x}}
SDK Alfresco Compatibility
Please refer to the {{{http://docs.alfresco.com/community/concepts/alfresco-sdk-compatibility.html}official Alfresco docs}} for details of SDK / Alfresco compatibility.
@@ -39,35 +34,34 @@ Alfresco SDK\x99 components
The Alfresco SDK relies on a number of components:
* {{{./poms/alfresco-sdk-parent/index.html}The SDK parent POM}} providing full Alfresco project lifecycle feature, to be added as a <<<<parent>>>> in your projects
* Archetypes providing sample project to kickstart your Alfresco development and boost it with best practices
* the {{{./archetypes/alfresco-amp-archetype/index.html}Repo AMP}}, a single project that customizes Alfresco Repository
* the {{{./archetypes/alfresco-platform-jar-archetype/index.html}Platform JAR}}, a single project that customizes Alfresco Repository
* the {{{./archetypes/share-amp-archetype/index.html}Share AMP}}, a single project that customizes Alfresco Share
* the {{{./archetypes/alfresco-share-jar-archetype/index.html}Share JAR}}, a single project that customizes Alfresco Share
* the {{{./archetypes/alfresco-allinone-archetype/index.html}All-in-One}}, a multi-module project to customize and run all components
* The {{{./plugins/alfresco-maven-plugin/index.html} Maven Alfresco Plugin}} to manage AMP packaging and dependencies
* The {{{./plugins/alfresco-maven-plugin/index.html} Maven Alfresco Plugin}} to setup, build, test and run your customizations
* {{{https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-platform-distribution/latest}Alfresco Platform Distribution POM}} can (optionally) be used to provide centralized <<<<dependencyManagement>>>> on a particular Alfresco version / edition (Community / Enterprise)
* The {{{https://artifacts.alfresco.com}Alfresco Artifacts Repository}} provides backing for this SDK. Check the {{{http://wiki.alfresco.com/wiki/Alfresco_Artifacts_Repository}Alfresco Wiki}} for Community / Enterprise access information.
* The {{{https://artifacts.alfresco.com}Alfresco Artifacts Repository}} provides backing for this SDK.
Pre-requisites
* System prerequisites
No manual Alfresco download, application server or database is required.
No manual Alfresco download, application server or database is required. The {{{./plugins/alfresco-maven-plugin/index.html} Maven Alfresco Plugin}} will by default launch an embedded
H2 Database along with an embedded Tomcat server. Advanced use cases can be configured to use external databases such as MySQL, PostgreSQL or various enterprise databases. See the
{{{./plugins/alfresco-maven-plugin/index.html} Maven Alfresco Plugin}} documentation for more information.
See details in the {{{./prerequisites.html} SDK pre-requisites page}}.
* Rapid development with Spring Loaded
* Rapid development with HotSwap Agent or JRebel
The SDK (as of 2.0) support true rapid development and IDE integration. To allow hot reload of Java classes the SDK leverages
{{{https://github.com/spring-projects/spring-loaded}spring-loaded}}, a library which allows seamless reloading of classfiles.
The SDK (as of 3.0) support true rapid development and IDE integration. To allow hot reload of Java classes the SDK leverages
{{{http://hotswapagent.org}HotSwap Agent}}, a library which allows seamless reloading of classfiles. JRebel is also supported out of the box.
Check the {{{./prerequisites.html} SDK pre-requisites page}} to enable spring-loaded rapid development.
Check the {{{./prerequisites.html} SDK pre-requisites page}} to enable rapid development.
Project History
@@ -86,3 +80,5 @@ Project History
* The new Maven Alfresco SDK 1.0 is released and presented on Tuesday 7 November at {{{http://devcon.alfresco.com/}Alfresco DevCon}} in Berlin.
* The new Alfresco SDK 2.0 is released and presented on late 2014 November and released on Maven Central
* In March 2017 Alfresco SDK 3.0 is released

View File

@@ -1,27 +1,20 @@
------
Alfresco SDK Prerequisites
------
Gabriele Columbro
------
August 2014
------
Alfresco SDK\x99 Pre-Requisites
The only real prerequisite of the Alfresco SDK\x99 Apache Maven 3.0.4 installed (and properly configured) on your machine;
The only real prerequisite of the Alfresco SDK\x99 Apache Maven 3.3.0 (or later) installed (and properly configured) on your machine;
neither <<an IDE>> nor <<web container or database>> are required.
Additional tips:
* It is strongly advised to use the Apache Maven official binary distributions downloaded from the {{{http://maven.apache.org}official mirrors}}; avoid OS-specific distributions as much as possible.
* add <<<MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m">>> to your environment if your plan to launch tests / run embedded in Tomcat
* It is strongly advised to use the latest Apache Maven official binary distributions downloaded from the {{{http://maven.apache.org}official mirrors}}; avoid OS-specific distributions as much as possible.
* Refer to this {{{http://docs.alfresco.com/community/concepts/alfresco-sdk-compatibility.html}matrix}} for Alfresco/SDK version compatibility
* Java 1.7 is <<required>> to run Alfresco 4.2.b+ and the SDK 1.1.x +
* Java 1.8 is <<required>> to run Alfresco 5.1.c+ and the SDK3
* <<No manual downloading>> of Alfresco distribution is required.
Alfresco platform is retrieved automatically from {{{https://artifacts.alfresco.com} the Alfresco Artifacts Repository}}
@@ -32,22 +25,10 @@ Alfresco SDK\x99 Pre-Requisites
Enable hot class reload with spring-loaded
In order to enable hot class reload you should use the spring-loaded agent and run all your maven builds with it configured in the JVM.
In order to enable hot class reload you should use the {{{http://hotswapagent.org}HotSwap Agent}} and run all your maven builds with it configured in the JVM.
To achieve this you can:
* Download the spring-loaded library from {{{http://search.maven.org/remotecontent?filepath=org/springframework/springloaded/1.2.0.RELEASE/springloaded-1.2.0.RELEASE.jar}here}}.
* Export the following MAVEN_OPTS: <<<MAVEN_OPTS="$MAVEN_OPTS -javaagent:/path/to/your/springloaded/jar/springloaded-1.2.0.RELEASE.jar -noverify">>>.
H2 Embedded Support Pre-Requisites
This SDK allows H2 embedded run of Alfresco (<<NOTE>>: this is an unsupported configuration for Alfresco Enterprise) leveraging
the open source effort {{{https://github.com/skuro/alfresco-h2-support} Alfresco H2 Support}}. This bridge allows to emulate
Alfresco expected DB behavior and is therefore very specific to every Alfresco version.
Alfresco SDK\x99 ${project.version} uses version 1.5 of the Alfresco H2 Support. In case you experience
issues with the embedded DB support, please check the {{{https://github.com/skuro/alfresco-h2-support/wiki/H2-Database-support-for-Alfresco} H2 Support Compatibility matrix}}.
Alternatively, you can easily setup your DB access by defining {{{./poms/alfresco-sdk-parent/sdk-properties.html}POM properties}}
* Follow the {{{http://hotswapagent.org/mydoc_quickstart.html}install instructions for HotSwap Agent}}.
This includes installing the correct {{{https://github.com/dcevm/dcevm/releases}DCEVM Java Patch}} and enabling HotSwap Agent in your MAVEN_OPTS
* Export the following MAVEN_OPTS: <<<MAVEN_OPTS="$MAVEN_OPTS -javaagent:/path/to/your/hotswap-agent.jar">>>.

View File

@@ -1 +1,5 @@
.pippo {}
body.topBarEnabled {
padding-top: 100px;
}

View File

@@ -2,14 +2,14 @@
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-fluido-skin</artifactId>
<version>1.3.1</version>
<version>1.6</version>
</skin>
<custom>
<fluidoSkin>
<topBarIcon>
<name>Alfresco Software</name>
<alt>Alfresco Software</alt>
<src>https://wiki.alfresco.com/skins/alfresco/community_theme/alfresco-org-logo.png</src>
<src>https://community.alfresco.com/resources/images/palette-1015/logo.png</src>
<href>http://www.alfresco.com</href>
</topBarIcon>
<topBarEnabled>true</topBarEnabled>
@@ -32,8 +32,8 @@
<body>
<head>
<![CDATA[
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '${gaTrackingId}']);
_gaq.push(['_trackPageview']);
@@ -43,8 +43,8 @@
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
]]>
</head>
<menu name="Alfresco SDK">
<item name="Introduction" href="index.html"/>