diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/pom.xml b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/pom.xml index 70bd8b2a..3bad8104 100644 --- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/pom.xml +++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/pom.xml @@ -53,25 +53,6 @@ - - - - - alfresco-public - https://artifacts.alfresco.com/nexus/content/groups/public - - - alfresco-public-snapshots - https://artifacts.alfresco.com/nexus/content/groups/public-snapshots - - - - - alfresco-public - https://artifacts.alfresco.com/nexus/content/groups/public - - - alfresco-public-snapshots - https://artifacts.alfresco.com/nexus/content/groups/public-snapshots - - true - daily - - - + diff --git a/archetypes/alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/properties/local/alfresco-global.properties b/archetypes/alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/properties/local/alfresco-global.properties index 419cca75..81be215f 100644 --- a/archetypes/alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/properties/local/alfresco-global.properties +++ b/archetypes/alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/properties/local/alfresco-global.properties @@ -20,7 +20,7 @@ # 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. +# In this default file we take the property from the POM (for compatbility with local tomcat 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 diff --git a/archetypes/alfresco-amp-archetype/src/site/apt/advanced-usage.apt.vm b/archetypes/alfresco-amp-archetype/src/site/apt/advanced-usage.apt.vm index da021400..e82778c3 100644 --- a/archetypes/alfresco-amp-archetype/src/site/apt/advanced-usage.apt.vm +++ b/archetypes/alfresco-amp-archetype/src/site/apt/advanced-usage.apt.vm @@ -34,7 +34,8 @@ AMP Archetype properties * AMP specific properties - In addition to the common properties, the following properties are specific of the AMP archetype: + In addition to the common properties, the following properties are specific of the AMP archetype. You can change + these properties to select a different WAR to install your AMP to (e.g. a pre-customized Alfresco or Share instance): +---+ diff --git a/archetypes/alfresco-amp-archetype/src/site/apt/index.apt.vm b/archetypes/alfresco-amp-archetype/src/site/apt/index.apt.vm index 5490aee3..26d99ed8 100644 --- a/archetypes/alfresco-amp-archetype/src/site/apt/index.apt.vm +++ b/archetypes/alfresco-amp-archetype/src/site/apt/index.apt.vm @@ -9,7 +9,7 @@ Introduction The Alfresco AMP Archetype is a sample fully featured project to manage AMP (Alfresco Module Package) projects. - This archetype can be used both for Alfresco Repository and Alfresco Share AMPs. + This archetype can be used for Alfresco Repository. For Share, please refer to the {{{../share-amp-archetype/index.html}Share AMP archetype}} * Features @@ -19,12 +19,12 @@ Introduction * AMP dependency management in Maven - * Installation of AMPs in an Alfresco or Share WAR + * Installation of AMPs in an Alfresco WAR * AMP Unit Testing support. Just run the standard <<>> and see your <<>> Alfresco unit tests run. An sample Unit Test is provided in this archetype. - * Embedded run in Jetty and embedded H2 database for demo purposes, rapid application development and integration testing + * Embedded run in Tomcat and embedded H2 database for demo purposes, rapid application development and integration testing (<>: this is not a {{{http://www.alfresco.com/services/subscription/supported-platforms/} supported stack}} so use <>) How to create a project: @@ -32,7 +32,7 @@ How to create a project: You can create the latest release archetype with the following command: +---+ -mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -Dfilter=org.alfresco.maven.archetype: +mvn archetype:generate -Dfilter=org.alfresco.maven.archetype: +---+ You should then: diff --git a/archetypes/alfresco-amp-archetype/src/site/apt/usage.apt.vm b/archetypes/alfresco-amp-archetype/src/site/apt/usage.apt.vm index 906a833f..5ce8a008 100644 --- a/archetypes/alfresco-amp-archetype/src/site/apt/usage.apt.vm +++ b/archetypes/alfresco-amp-archetype/src/site/apt/usage.apt.vm @@ -1,5 +1,5 @@ ------ - Alfresco Maven AMP Archetype Usage + Alfresco AMP Archetype Usage ------ Gabriele Columbro ------ @@ -26,7 +26,7 @@ Project layout |-> web/ |-> licenses/ src/main/java //Java classes to be packaged in the AMP embedded JAR) - src/main/resources //resources to the packaged in the AMP embedded JAR) + src/main/resources //resources to the packaged in the AMP embedded JAR src/test/java // Unit tests src/test/resources // Unit test resources src/test/properties/ // Environment aware alfresco-global.properties. By default =local @@ -41,7 +41,9 @@ Usage * packaging - * testing + * rapid development + + * testing (unit and integration) * run embedded @@ -62,11 +64,10 @@ Commands * <<>>: Like <<>> but skips unit tests * <<>> Like <<>> - but also installs and runs the resulting WAR+AMP in Tomcat + H2 embedded for integration testing. - When you run this command then you can access in your browser <<< {{{http://localhost:8080/alfresco}}} >>> or <<< {{{http://localhost:8080/share}}} >>> - depending on the value of the property <<>> + but also installs and runs the resulting WAR+AMP in Tomcat + H2 embedded from running and development. + This also enables rapid application development features, like hot reloading and remote JUnit running. + When you run this command then you can access in your browser <<< {{{http://localhost:8080/alfresco}}} >>>. - * <<>>: Like <<>> but installs the AMP and runs on the Share WAR in Tomcat embedded. * <<>>: Removes DB, alf_data, indexes and log files. Useful to purge the development repo (by default self contained in <<<$\{project.basedir\}/alf_data_dev>>> diff --git a/archetypes/alfresco-amp-archetype/src/site/site.xml b/archetypes/alfresco-amp-archetype/src/site/site.xml index f2e1c9c2..f85c2ab7 100644 --- a/archetypes/alfresco-amp-archetype/src/site/site.xml +++ b/archetypes/alfresco-amp-archetype/src/site/site.xml @@ -26,6 +26,7 @@ + @@ -33,6 +34,7 @@ + diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/pom.xml b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/pom.xml index d9bf6bc2..e67023bb 100644 --- a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/pom.xml +++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/pom.xml @@ -74,27 +74,5 @@ - - - - - alfresco-public - https://artifacts.alfresco.com/nexus/content/groups/public - - - alfresco-public-snapshots - https://artifacts.alfresco.com/nexus/content/groups/public-snapshots - - true - daily - - - + diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/apt/advanced-usage.apt.vm b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/apt/advanced-usage.apt.vm new file mode 100644 index 00000000..c7b25e71 --- /dev/null +++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/apt/advanced-usage.apt.vm @@ -0,0 +1,62 @@ + ------ + Share AMP Archetype Advanced Usage + ------ + Gabriele Columbro + ------ + Aug 2014 + ------ + +AMP Unit Testing + + Unit test your AMP customization is as easy as adding your tests in <<>>. The current module in development + will be added to the test classpath together with all necessary Alfresco Spring contexts. + + Running <<>> will results in your unit tests to be run. You can skip this (<<>>) + adding <<<-DskipTests>>> to your command line. + +Share AMP Archetype properties + + In the AMP archetype (as in the whole Part of the Maven Alfresco SDK\x99) properties are configurable at many levels: + + * as POM properties + + * direclty in *.properties, particularly + + * <<>> (filtered and packaged in the AMP) + + * <</alfresco-global.properties>>> (environment dependent properties for WAR run embedded) + +* Common properties + + Archetype behavior can mostly be controlled directly in the POM, via common properties provided by the parent POM. + See {{{../../poms/alfresco-sdk-parent/sdk-properties.html} SDK properties reference}} for details. + + +* AMP specific properties + + In addition to the common properties, the following properties are specific of the AMP archetype. You can change + these properties to select a different WAR to install your AMP to (e.g. a pre-customized Alfresco or Share instance): + ++---+ + + ... + + + alfresco + ${alfresco.groupId} + ${alfresco.version} + + ... + ++---+ + +Parent POM and behavior customization + + To customize the behavior of your project, check out full set of the properties and plugin configurations defined in the + {{{../../poms/alfresco-sdk-parent/index.html}single entry point parent POM}}. + + One quick way to do that is to use the <<>> to analyze your POM at runtime. + \ No newline at end of file diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/apt/index.apt.vm b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/apt/index.apt.vm new file mode 100644 index 00000000..7c277481 --- /dev/null +++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/apt/index.apt.vm @@ -0,0 +1,52 @@ + ------ + Building AMPs (Alfresco Module Packages) with Maven + ------ + Gabriele Columbro + ------ + Aug 2014 + ------ + +Introduction + + The Share AMP Archetype is a sample fully featured project to manage AMP (Alfresco Module Package) projects for Alfresco Share. + This archetype can be used for Alfresco Share. For Alfresco Repository AMPs, please refer to the {{{../alfresco-amp-archetype/index.html}Alfresco AMP archetype}} + +* Features + + Amongst other features, this archetype provides support for: + + * <<>> packaging support for your projects + + * AMP dependency management in Maven + + * Installation of AMPs in the Share WAR + + * AMP Unit Testing support. Just run the standard <<>> and see your <<>> Alfresco unit tests run. + An sample Unit Test is provided in this archetype. + + * Embedded run in Tomcat and embedded H2 database for demo purposes, rapid application development and integration testing. Share runs on port 8081 by default, but you can control + this setting with the <<>> pom property. + (<>: this is not a {{{http://www.alfresco.com/services/subscription/supported-platforms/} supported stack}} so use <>) + +How to create a project: + + You can create the latest release archetype with the following command: + ++---+ +mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -Dfilter=org.alfresco.maven.archetype: ++---+ + + You should then: + + [[1]] Select the <<>> option + + [[2]] Specify the <<>> and <<>> for the project you want to create + + [[3]] () Select Alfresco Version / Edition (current default is: Alfresco Community 5.0.a) + + You can find new Share AMP project ready to go in the <<>> folder. + +Usage + + Instructions on how to use the Share AMP archetype can be found on the {{{./usage.html}usage page}}, while + for more advanced use cases refer to the {{{./advanced-usage.html}advanced usage page}} diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/apt/usage.apt.vm b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/apt/usage.apt.vm new file mode 100644 index 00000000..cf87e300 --- /dev/null +++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/apt/usage.apt.vm @@ -0,0 +1,73 @@ + ------ + Share AMP Archetype Usage + ------ + Gabriele Columbro + ------ + Nov 2012 + ------ + + +Prerequisites + + See {{{../../prerequisites.html}SDK Pre-Requisites}} to successfully run this archetype. + + +Project layout + + The archetype generated project should look like: + ++---+ + + pom.xml + src/main/amp + |-> module.properties + |-> file-mapping.properties (optional) + |-> config/ + |-> web/ + |-> licenses/ + src/main/java //Java classes to be packaged in the AMP embedded JAR) + src/main/resources //resources to the packaged in the AMP embedded JAR + src/main/resources/META-INF/resource //resources to the packaged in the AMP embedded JAR/META-INF and automatically mapped to the root of the webapp + src/test/java // Unit tests + src/test/resources // Unit test resources + src/test/properties/ // Environment aware alfresco-global.properties. By default =local + ++---+ + + Basically by default the folder <<>> maps the {{{https://wiki.alfresco.com/wiki/AMP_Files#The_structure_of_an_AMP_file}AMP structure}} and it's where you can build your module. + +Usage + + This project manages an AMP and provides support for typical development lifecycle use cases like: + + * packaging + + * rapid development + + * testing (unit and integration) + + * run embedded + + * integration testing + + * release and distribution of your AMP artifact. + + The AMPs produced with this project are fully compatible with Alfresco MMT, in fact the Alfresco Maven plugin used to manage AMPs in this SDK embeds the official Alfresco MMT to install depdended AMPs. + +Commands + + Common AMP project lifecycle commands you want to run are: + + * <<>>: Runs unit tests and packages AMP in <<<$\{project.build.directory\}/$\{project.build.finalName\}.amp>>> + + * <<>>: Like <<>> but also installs AMP in local Maven repository to be depended upon + + * <<>>: Like <<>> but skips unit tests + + * <<>> Like <<>> + but also installs and runs the resulting WAR+AMP in Tomcat + H2 embedded from running and development. + This also enables rapid application development features, like hot reloading and remote JUnit running. + When you run this command then you can access in your browser <<< {{{http://localhost:8081/share}}} >>>. + + * <<>>: Removes DB, alf_data, indexes and log files. Useful to purge the development repo (by default self contained in <<<$\{project.basedir\}/alf_data_dev>>> + diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/site.xml b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/site.xml new file mode 100644 index 00000000..6737ce08 --- /dev/null +++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/site/site.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/archetypes/share-amp-archetype/src/site/apt/index.apt.vm b/archetypes/share-amp-archetype/src/site/apt/index.apt.vm index 5490aee3..234dbf32 100644 --- a/archetypes/share-amp-archetype/src/site/apt/index.apt.vm +++ b/archetypes/share-amp-archetype/src/site/apt/index.apt.vm @@ -24,7 +24,7 @@ Introduction * AMP Unit Testing support. Just run the standard <<>> and see your <<>> Alfresco unit tests run. An sample Unit Test is provided in this archetype. - * Embedded run in Jetty and embedded H2 database for demo purposes, rapid application development and integration testing + * Embedded run in Tomcat and embedded H2 database for demo purposes, rapid application development and integration testing (<>: this is not a {{{http://www.alfresco.com/services/subscription/supported-platforms/} supported stack}} so use <>) How to create a project: @@ -32,7 +32,7 @@ How to create a project: You can create the latest release archetype with the following command: +---+ -mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -Dfilter=org.alfresco.maven.archetype: +mvn archetype:generate -Dfilter=org.alfresco.maven.archetype: +---+ You should then: diff --git a/modules/alfresco-rad/.gitignore b/modules/alfresco-rad/.gitignore new file mode 100644 index 00000000..b83d2226 --- /dev/null +++ b/modules/alfresco-rad/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/plugins/alfresco-maven-plugin/src/site/site.xml b/plugins/alfresco-maven-plugin/src/site/site.xml index dc2280e7..98e8fee0 100644 --- a/plugins/alfresco-maven-plugin/src/site/site.xml +++ b/plugins/alfresco-maven-plugin/src/site/site.xml @@ -28,6 +28,7 @@ + @@ -35,6 +36,7 @@ + diff --git a/pom.xml b/pom.xml index 9bb7f518..28c6c0f0 100644 --- a/pom.xml +++ b/pom.xml @@ -137,7 +137,7 @@ - release + sdk-release https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-lifecycle-aggregator/latest 2.4.2 @@ -186,13 +186,12 @@ - alfresco-internal - https://artifacts.alfresco.com/nexus/content/repositories/releases + central-releases-staging + https://oss.sonatype.org/service/local/staging/deploy/maven2 - alfresco snapshots repository - alfresco-internal-snapshots - https://artifacts.alfresco.com/nexus/content/repositories/snapshots + central-snapshots + https://oss.sonatype.org/content/repositories/snapshots alfresco-docs diff --git a/poms/alfresco-sdk-parent/pom.xml b/poms/alfresco-sdk-parent/pom.xml index 1340971a..9b8bd347 100644 --- a/poms/alfresco-sdk-parent/pom.xml +++ b/poms/alfresco-sdk-parent/pom.xml @@ -122,20 +122,28 @@ 4.11 - - - alfresco-public - https://artifacts.alfresco.com/nexus/content/groups/public - - - alfresco-public-snapshots - https://artifacts.alfresco.com/nexus/content/groups/public-snapshots - - true - daily - - - + + + + alfresco-public + https://artifacts.alfresco.com/nexus/content/groups/public + + + alfresco-public-snapshots + https://artifacts.alfresco.com/nexus/content/groups/public-snapshots + + true + daily + + + diff --git a/poms/alfresco-sdk-parent/src/site/apt/index.apt.vm b/poms/alfresco-sdk-parent/src/site/apt/index.apt.vm index c33be82c..a29c8dc3 100644 --- a/poms/alfresco-sdk-parent/src/site/apt/index.apt.vm +++ b/poms/alfresco-sdk-parent/src/site/apt/index.apt.vm @@ -11,7 +11,7 @@ Introduction The Alfresco SDK Parent POM ${project.version} is the <<>> for all Maven Alfresco SDK\x99 features. It aggregates plugin configurations and dependencies to provide a set of profiles and properties to manage the full Alfresco projects Lifecycle on Maven. - The current version of the POM in use in the Maven Alfresco SDK\x99 ${project.version} is available {{{https://artifacts.alfresco.com/nexus/index.html#nexus-search;gav~org.alfresco.maven~alfresco-sdk-parent~${project.version}~pom~}on Alfresco Maven Repository}}. + The current version of the POM in use in the Maven Alfresco SDK\x99 ${project.version} is available {{{https://oss.sonatype.org/index.html#nexus-search;gav~org.alfresco.maven~alfresco-sdk-parent~${project.version}~pom~}on Maven Central}}. Usage diff --git a/poms/alfresco-sdk-parent/src/site/site.xml b/poms/alfresco-sdk-parent/src/site/site.xml index fabb0bb2..66258605 100644 --- a/poms/alfresco-sdk-parent/src/site/site.xml +++ b/poms/alfresco-sdk-parent/src/site/site.xml @@ -60,6 +60,7 @@ + @@ -67,6 +68,7 @@ + diff --git a/src/main/resources/archetype-resources/jetty/jetty-env.xml b/src/main/resources/archetype-resources/jetty/jetty-env.xml deleted file mode 100644 index 7f1270c1..00000000 --- a/src/main/resources/archetype-resources/jetty/jetty-env.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - jdbc/dataSource - - - jdbc:mysql://${alfresco.db.url}/${alfresco.db.name} - ${alfresco.db.username} - ${alfresco.db.password} - - - - - diff --git a/src/site/apt/index.apt.vm b/src/site/apt/index.apt.vm index 60f55ee6..e5c2d349 100644 --- a/src/site/apt/index.apt.vm +++ b/src/site/apt/index.apt.vm @@ -3,26 +3,37 @@ ------ Gabriele Columbro ------ - Nov 2012 + Aug 2014 ------ Introduction - The Maven Alfresco SDK\x99 - formerly {{{https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/latest/index.html} Maven Alfresco Lifecycle 3.9.1}} - + The (Maven) Alfresco SDK\x99 - formerly {{{https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/latest/index.html} Maven 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. 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. - The Maven Alfresco SDK\x99 is fully documented in the single components websites (links above) as well as updated on {{{https://wiki.alfresco.com/wiki/Maven_Alfresco_SDK}the Alfresco Wiki}}. - -* Rationale + The Maven Alfresco SDK\x99 is fully documented in the single components websites (see menu above). + For official (Enterprise) support of this SDK please refer to the features and tutorials documented in {{{http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html}the Official Alfresco Docs}}. + +How to Use the SDK - The Alfresco Maven SDK introduces a new way of conceiving software development, deployment and release of Alfresco related projects and artifacts. - In contrast to the manual (and error prone) deployment approach based on an installer / Alfresco WAR distribution(s) and the <<<${extensionRoot}>>>, - the Maven SDK provides a unified access to fine grained Artifacts (jar,war,pom files),] that can be easily integrated - in your project by the means of Alfresco-specific Maven components and configurations. The main goal of this SDK is to - enable rapid development and prototyping of Alfresco projects, while enabling agile development practices (i.e. TDD, FDD) - and fostering process reuse due to standardization + The easiest way to use the SDK is to create a sample project using one of the available <> (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. + + +SDK Versions + + As of version 2.0, releases for the Alfresco SDK are available in Maven Central. + + 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/1.x/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. + Maven Alfresco SDK\x99 components @@ -30,7 +41,7 @@ Maven Alfresco SDK\x99 components * {{{./poms/alfresco-sdk-parent/index.html}The SDK parent POM}} providing full Alfresco project lifecycle feature, to be added as a <<<>>> in your projects - * Archetypes like the {{{./archetypes/alfresco-amp-archetype/index.html}AMP}} or {{{./archetypes/alfresco-allinone-archetype/index.html}All-in-One}} providing sample project to kickstart your Alfresco development and boost it with best practices + * Archetypes like the {{{./archetypes/alfresco-amp-archetype/index.html}Repo AMP}}, {{{./archetypes/share-amp-archetype/index.html}Share AMP}} or {{{./archetypes/alfresco-allinone-archetype/index.html}All-in-One}} providing sample project to kickstart your Alfresco development and boost it with best practices * The {{{./plugins/alfresco-maven-plugin/index.html} Alfresco Maven Plugin}} to manage AMP packaging and dependencies @@ -45,12 +56,12 @@ Pre-requisites No manual Alfresco download, application server or database is required. See details in the {{{./prerequisites.html} SDK pre-requisites page}}. -* Alfresco Compatibility +* Rapid development with Spring Loaded - Maven Alfresco SDK\x99 ${project.version} is compatible (for now) with Alfresco Community (4.2b+) and Enterprise (4.1.2+). - The majority of the features might still work when using lower Alfresco versions, but certain artifacts might not be - available in the {{{https://artifacts.alfresco.com}Alfresco Artifacts Repository}}. You can probably fix this with some - Maven configuration, but use at your own risk. + 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. + + Check the {{{./prerequisites.html} SDK pre-requisites page}} to enable spring-loaded rapid development. Project History @@ -67,3 +78,5 @@ Project History * In October 2012 Alfresco finalises the {{{https://issues.alfresco.com/jira/browse/ALF-14353} Maven modularisation and dependency categorisation}}, delivering {{{https://artifacts.alfresco.com}artifacts and poms}} * The new Alfresco Maven SDK 1.0 is released and presented on Tuesday 7 November at {{{http://devcon.alfresco.com/}Alfresco DevCon}} in Berlin. + + * The new Alfresco Maven SDK 2.0 is released and presented on late 2014 November and released on Maven Central diff --git a/src/site/apt/prerequisites.apt.vm b/src/site/apt/prerequisites.apt.vm index a78d0947..4bf50129 100644 --- a/src/site/apt/prerequisites.apt.vm +++ b/src/site/apt/prerequisites.apt.vm @@ -3,30 +3,40 @@ ------ Gabriele Columbro ------ - Nov 2012 + August 2014 ------ Maven Alfresco SDK\x99 Pre-Requisites - The only real prerequisite of the Maven Alfresco SDK\x99 Apache Maven 3.0.3+ installed (and properly configured) on your machine; + The only real prerequisite of the Maven Alfresco SDK\x99 Apache Maven 3.0.4 installed (and properly configured) on your machine; neither <> nor <> 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 <<>> to your environment if your plan to launch tests / run embedded in Jetty + * add <<>> to your environment if your plan to launch tests / run embedded in Tomcat - * Alfresco compability: Communtiy 4.2+ | Enterprise 4.1.2+ + * Refer to this {{{http://docs.alfresco.com/community/concepts/alfresco-sdk-compatibility.html}matrix}} for Alfresco/SDK version compatibility - * Java 1.7 is <> to run Alfresco 4.2.b+ + * Java 1.7 is <> to run Alfresco 4.2.b+ and the SDK 1.1.x + * <> of Alfresco distribution is required. Alfresco platform is retrieved automatically from {{{https://artifacts.alfresco.com} the Alfresco Artifacts Repository}} based on the <<>> and <<>> POM properties + +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. + 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: <<>>. + H2 Embedded Support Pre-Requisites diff --git a/src/site/apt/why.apt.vm b/src/site/apt/why.apt.vm index dfefa101..4bcbe81e 100644 --- a/src/site/apt/why.apt.vm +++ b/src/site/apt/why.apt.vm @@ -6,6 +6,15 @@ Nov 2012 ------ +Rationale + + The Alfresco Maven SDK introduces a new way of conceiving software development, deployment and release of Alfresco related projects and artifacts. + In contrast to the manual (and error prone) deployment approach based on an installer / Alfresco WAR distribution(s) and the <<<${extensionRoot}>>>, + the Maven SDK provides a unified access to fine grained Artifacts (jar,war,pom files),] that can be easily integrated + in your project by the means of Alfresco-specific Maven components and configurations. The main goal of this SDK is to + enable rapid development and prototyping of Alfresco projects, while enabling agile development practices (i.e. TDD, FDD) + and fostering process reuse due to standardization + Why would you use the Maven Alfresco SDK\x99? As a standard de facto, Maven allows you projects to be inherently more reusable and enables of your development practices, diff --git a/src/site/site.xml b/src/site/site.xml index 71fc8ae3..8f350d94 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -55,6 +55,7 @@ + @@ -62,6 +63,7 @@ +