From e400e310d2bb60587db4dfc8e5290169d27c33bb Mon Sep 17 00:00:00 2001 From: mindthegab Date: Tue, 8 Jul 2008 11:31:04 +0000 Subject: [PATCH] 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 --- maven-alfresco-extension-archetype/.project | 32 + maven-alfresco-extension-archetype/README.txt | 123 ++++ .../ROADMAP.txt | 32 + maven-alfresco-extension-archetype/pom.xml | 238 ++++++ .../src/changes/changes.xml | 32 + .../META-INF/maven/archetype-metadata.xml | 105 +++ .../resources/META-INF/maven/archetype.xml | 45 ++ .../resources/archetype-resources/PRESS.txt | 119 +++ .../archetype-resources/README-ANT.txt | 78 ++ .../archetype-resources/README-m2.txt | 122 +++ .../resources/archetype-resources/build.xml | 88 +++ .../resources/archetype-resources/pom.xml | 695 ++++++++++++++++++ .../archetype-resources/src/books/manual.xml | 33 + .../properties/local/README-properties.txt | 43 ++ .../properties/local/application.properties | 141 ++++ .../extension/custom-model-context.xml | 34 + .../alfresco/extension/custom-model.xml | 174 +++++ .../extension/custom-repository-context.xml | 53 ++ .../extension/file-servers-custom.xml | 152 ++++ .../extension/ldap-authentication-context.xml | 157 ++++ .../ldap-synchronisation-context.xml | 394 ++++++++++ .../alfresco/extension/restore-context.xml | 88 +++ .../extension/web-client-config-custom.xml | 193 +++++ .../alfresco/extension/webclient.properties | 40 + .../src/main/resources/log4j.properties | 147 ++++ .../main/webapp/WEB-INF/README-WEB-INF.txt | 20 + .../webapp/WEB-INF/faces-config-custom.xml | 33 + .../src/site/apt/book-index.apt | 76 ++ .../src/site/apt/index.apt.vm | 45 ++ .../archetype-resources/src/site/fml/faq.fml | 121 +++ .../archetype-resources/src/site/site.xml | 53 ++ .../target/site/book-index.html | 239 ++++++ .../target/site/books/pdf/manual/manual.pdf | Bin 0 -> 3465 bytes .../target/site/books/pdf/manual/manual.xml | 143 ++++ .../target/site/books/rtf/manual/manual.rtf | 33 + .../target/site/books/rtf/manual/manual.xml | 143 ++++ .../site/books/xdoc/manual/book-index.xml | 93 +++ .../target/site/books/xdoc/manual/index.xml | 40 + .../site/books/xdoc/manual/introduction.xml | 43 ++ .../target/site/css/maven-base.css | 145 ++++ .../target/site/css/maven-theme.css | 141 ++++ .../target/site/css/print.css | 7 + .../target/site/css/site.css | 0 .../target/site/dependencies.html | 346 +++++++++ .../archetype-resources/target/site/faq.html | 316 ++++++++ .../target/site/images/collapsed.gif | Bin 0 -> 53 bytes .../target/site/images/expanded.gif | Bin 0 -> 52 bytes .../target/site/images/external.png | Bin 0 -> 230 bytes .../target/site/images/icon_error_sml.gif | Bin 0 -> 1010 bytes .../target/site/images/icon_info_sml.gif | Bin 0 -> 606 bytes .../target/site/images/icon_success_sml.gif | Bin 0 -> 990 bytes .../target/site/images/icon_warning_sml.gif | Bin 0 -> 576 bytes .../images/logos/build-by-maven-black.png | Bin 0 -> 2294 bytes .../images/logos/build-by-maven-white.png | Bin 0 -> 2260 bytes .../site/images/logos/maven-feather.png | Bin 0 -> 3330 bytes .../target/site/images/newwindow.png | Bin 0 -> 220 bytes .../target/site/index.html | 206 ++++++ .../target/site/integration.html | 217 ++++++ .../target/site/issue-tracking.html | 217 ++++++ .../archetype-resources/target/site/jxr.html | 195 +++++ .../target/site/license.html | 217 ++++++ .../target/site/mail-lists.html | 217 ++++++ .../target/site/project-info.html | 256 +++++++ .../target/site/project-reports.html | 200 +++++ .../target/site/project-summary.html | 252 +++++++ .../target/site/source-repository.html | 217 ++++++ .../target/site/team-list.html | 239 ++++++ .../tools/ant/ant-bootstrap.sh | 55 ++ .../tools/ant/tasks/tomcat-tasks.properties | 25 + .../tools/ant/tasks/tomcat-tasks.xml | 67 ++ .../testRestoreVersion/README-restore.txt | 29 + .../tools/m2/m2-bootstrap.sh | 46 ++ .../tools/mysql/db_remove.sql | 1 + .../tools/mysql/db_setup.sql | 3 + .../src/site/apt/index.apt.vm | 43 ++ .../src/site/apt/readme.apt.vm | 105 +++ .../src/site/fml/faq.fml | 106 +++ .../site/resources/images/logo_noclaim.png | Bin 0 -> 11002 bytes .../src/site/site.xml | 34 + .../META-INF/maven/archetype-metadata.xml | 105 +++ .../classes/META-INF/maven/archetype.xml | 45 ++ .../archetype-resources/README-ANT.txt | 78 ++ .../classes/archetype-resources/README-m2.txt | 122 +++ .../classes/archetype-resources/build.xml | 88 +++ .../classes/archetype-resources/pom.xml | 695 ++++++++++++++++++ .../archetype-resources/src/books/manual.xml | 33 + .../properties/local/README-properties.txt | 43 ++ .../properties/local/application.properties | 141 ++++ .../extension/custom-model-context.xml | 34 + .../alfresco/extension/custom-model.xml | 174 +++++ .../extension/custom-repository-context.xml | 53 ++ .../extension/file-servers-custom.xml | 152 ++++ .../extension/ldap-authentication-context.xml | 157 ++++ .../ldap-synchronisation-context.xml | 394 ++++++++++ .../alfresco/extension/restore-context.xml | 88 +++ .../extension/web-client-config-custom.xml | 193 +++++ .../alfresco/extension/webclient.properties | 40 + .../src/main/resources/log4j.properties | 147 ++++ .../main/webapp/WEB-INF/README-WEB-INF.txt | 20 + .../webapp/WEB-INF/faces-config-custom.xml | 33 + .../src/site/apt/book-index.apt | 76 ++ .../src/site/apt/index.apt.vm | 45 ++ .../archetype-resources/src/site/fml/faq.fml | 121 +++ .../archetype-resources/src/site/site.xml | 53 ++ .../target/site/book-index.html | 239 ++++++ .../target/site/books/pdf/manual/manual.pdf | Bin 0 -> 3465 bytes .../target/site/books/pdf/manual/manual.xml | 143 ++++ .../target/site/books/rtf/manual/manual.rtf | 33 + .../target/site/books/rtf/manual/manual.xml | 143 ++++ .../site/books/xdoc/manual/book-index.xml | 93 +++ .../target/site/books/xdoc/manual/index.xml | 40 + .../site/books/xdoc/manual/introduction.xml | 43 ++ .../target/site/css/maven-base.css | 145 ++++ .../target/site/css/maven-theme.css | 141 ++++ .../target/site/css/print.css | 7 + .../target/site/css/site.css | 0 .../target/site/dependencies.html | 346 +++++++++ .../archetype-resources/target/site/faq.html | 316 ++++++++ .../target/site/images/collapsed.gif | Bin 0 -> 53 bytes .../target/site/images/expanded.gif | Bin 0 -> 52 bytes .../target/site/images/external.png | Bin 0 -> 230 bytes .../target/site/images/icon_error_sml.gif | Bin 0 -> 1010 bytes .../target/site/images/icon_info_sml.gif | Bin 0 -> 606 bytes .../target/site/images/icon_success_sml.gif | Bin 0 -> 990 bytes .../target/site/images/icon_warning_sml.gif | Bin 0 -> 576 bytes .../images/logos/build-by-maven-black.png | Bin 0 -> 2294 bytes .../images/logos/build-by-maven-white.png | Bin 0 -> 2260 bytes .../site/images/logos/maven-feather.png | Bin 0 -> 3330 bytes .../target/site/images/newwindow.png | Bin 0 -> 220 bytes .../target/site/index.html | 206 ++++++ .../target/site/integration.html | 217 ++++++ .../target/site/issue-tracking.html | 217 ++++++ .../archetype-resources/target/site/jxr.html | 195 +++++ .../target/site/license.html | 217 ++++++ .../target/site/mail-lists.html | 217 ++++++ .../target/site/project-info.html | 256 +++++++ .../target/site/project-reports.html | 200 +++++ .../target/site/project-summary.html | 252 +++++++ .../target/site/source-repository.html | 217 ++++++ .../target/site/team-list.html | 239 ++++++ .../tools/ant/ant-bootstrap.sh | 55 ++ .../tools/ant/tasks/tomcat-tasks.properties | 25 + .../tools/ant/tasks/tomcat-tasks.xml | 67 ++ .../testRestoreVersion/README-restore.txt | 29 + .../tools/m2/m2-bootstrap.sh | 44 ++ .../tools/mysql/db_remove.sql | 1 + .../tools/mysql/db_setup.sql | 3 + ...ven-alfresco-extension-archetype-1.0.0.jar | Bin 0 -> 97419 bytes 148 files changed, 15818 insertions(+) create mode 100644 maven-alfresco-extension-archetype/.project create mode 100644 maven-alfresco-extension-archetype/README.txt create mode 100644 maven-alfresco-extension-archetype/ROADMAP.txt create mode 100644 maven-alfresco-extension-archetype/pom.xml create mode 100644 maven-alfresco-extension-archetype/src/changes/changes.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/META-INF/maven/archetype.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/PRESS.txt create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/README-ANT.txt create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/README-m2.txt create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/build.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/pom.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/books/manual.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/properties/local/README-properties.txt create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/properties/local/application.properties create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-model-context.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-model.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-repository-context.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/file-servers-custom.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/ldap-authentication-context.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/ldap-synchronisation-context.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/restore-context.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/web-client-config-custom.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/webclient.properties create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/log4j.properties create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/README-WEB-INF.txt create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/faces-config-custom.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/apt/book-index.apt create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/apt/index.apt.vm create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/fml/faq.fml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/site.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/book-index.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/pdf/manual/manual.pdf create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/pdf/manual/manual.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/rtf/manual/manual.rtf create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/rtf/manual/manual.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/book-index.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/index.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/introduction.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/maven-base.css create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/maven-theme.css create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/print.css create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/site.css create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/dependencies.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/faq.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/collapsed.gif create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/expanded.gif create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/external.png create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/icon_error_sml.gif create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/icon_info_sml.gif create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/icon_success_sml.gif create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/icon_warning_sml.gif create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/logos/build-by-maven-black.png create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/logos/build-by-maven-white.png create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/logos/maven-feather.png create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/newwindow.png create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/index.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/integration.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/issue-tracking.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/jxr.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/license.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/mail-lists.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-info.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-reports.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-summary.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/source-repository.html create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/team-list.html create mode 100755 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/ant-bootstrap.sh create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/tasks/tomcat-tasks.properties create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/tasks/tomcat-tasks.xml create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/export/testRestoreVersion/README-restore.txt create mode 100755 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/m2/m2-bootstrap.sh create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/mysql/db_remove.sql create mode 100644 maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/mysql/db_setup.sql create mode 100644 maven-alfresco-extension-archetype/src/site/apt/index.apt.vm create mode 100644 maven-alfresco-extension-archetype/src/site/apt/readme.apt.vm create mode 100644 maven-alfresco-extension-archetype/src/site/fml/faq.fml create mode 100644 maven-alfresco-extension-archetype/src/site/resources/images/logo_noclaim.png create mode 100644 maven-alfresco-extension-archetype/src/site/site.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/META-INF/maven/archetype-metadata.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/META-INF/maven/archetype.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/README-ANT.txt create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/README-m2.txt create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/build.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/pom.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/books/manual.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/properties/local/README-properties.txt create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/properties/local/application.properties create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-model-context.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-model.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-repository-context.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/file-servers-custom.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/ldap-authentication-context.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/ldap-synchronisation-context.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/restore-context.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/web-client-config-custom.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/webclient.properties create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/log4j.properties create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/webapp/WEB-INF/README-WEB-INF.txt create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/webapp/WEB-INF/faces-config-custom.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/apt/book-index.apt create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/apt/index.apt.vm create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/fml/faq.fml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/site.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/book-index.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/pdf/manual/manual.pdf create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/pdf/manual/manual.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/rtf/manual/manual.rtf create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/rtf/manual/manual.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/book-index.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/index.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/introduction.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/maven-base.css create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/maven-theme.css create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/print.css create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/site.css create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/dependencies.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/faq.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/collapsed.gif create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/expanded.gif create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/external.png create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/icon_error_sml.gif create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/icon_info_sml.gif create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/icon_success_sml.gif create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/icon_warning_sml.gif create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/logos/build-by-maven-black.png create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/logos/build-by-maven-white.png create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/logos/maven-feather.png create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/newwindow.png create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/index.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/integration.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/issue-tracking.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/jxr.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/license.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/mail-lists.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-info.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-reports.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-summary.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/source-repository.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/team-list.html create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/ant-bootstrap.sh create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/tasks/tomcat-tasks.properties create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/tasks/tomcat-tasks.xml create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/export/testRestoreVersion/README-restore.txt create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/m2/m2-bootstrap.sh create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/mysql/db_remove.sql create mode 100644 maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/mysql/db_setup.sql create mode 100644 maven-alfresco-extension-archetype/target/maven-alfresco-extension-archetype-1.0.0.jar diff --git a/maven-alfresco-extension-archetype/.project b/maven-alfresco-extension-archetype/.project new file mode 100644 index 00000000..ff34fdf8 --- /dev/null +++ b/maven-alfresco-extension-archetype/.project @@ -0,0 +1,32 @@ + + + alfresco-extension-archetype + 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. + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + + diff --git a/maven-alfresco-extension-archetype/README.txt b/maven-alfresco-extension-archetype/README.txt new file mode 100644 index 00000000..005114ef --- /dev/null +++ b/maven-alfresco-extension-archetype/README.txt @@ -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= 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/ 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= build property which will automatically pick up ACP files (alfresco package name = "export") found in tools/export/ 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 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 diff --git a/maven-alfresco-extension-archetype/ROADMAP.txt b/maven-alfresco-extension-archetype/ROADMAP.txt new file mode 100644 index 00000000..db3af6c5 --- /dev/null +++ b/maven-alfresco-extension-archetype/ROADMAP.txt @@ -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 \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/pom.xml b/maven-alfresco-extension-archetype/pom.xml new file mode 100644 index 00000000..aabbec19 --- /dev/null +++ b/maven-alfresco-extension-archetype/pom.xml @@ -0,0 +1,238 @@ + + + + 4.0.0 + com.sourcesense.alfresco + maven-alfresco-extension-archetype + 1.0.0 + maven-archetype + Maven alfresco Extension archetype + ${site.url} + + Jira + https://dev.sourcesense.com/jira/secure/BrowseProject.jspa?id=10130 + + + Sourcesense + http://www.sourcesense.com + + + 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). + + + https://dev.sourcesense.com/repos/dev/whiteboard/maven-alfresco-extension-archetype + ${svn.url}/tags + https://repository.sourcesense.com/maven2-sites/${pom.artifactId}-${pom.version} + + ${pom.description} + ${pom.organization.url} + ${pom.groupId} + ${pom.artifactId} + ${pom.version} + ${svn.tags.url} + ${site.url} + + + + ss-public + http://repository.sourcesense.com/maven2 + + + + snapshots.apache + http://people.apache.org/repo/m2-snapshot-repository + + + daily + + + + + scm:svn:https://dev.sourcesense.com/repos/dev/whiteboard/maven-alfresco-extension-archetype/trunk + https://dev.sourcesense.com/repos/dev/whiteboard/maven-alfresco-extension-archetype/trunk + + + + g.columbro + Gabriele Columbro + g.columbro@sourcesense.com + + Alfresco Architect + Developer + + Sourcesense + http://www.sourcesense.com + + + + + Sourcesense Alfresco Dev Mailing list + alfresco-dev-subscribe@lists.sourcesense.com + alfresco-dev-unsubscribe@lists.sourcesense.com + alfresco-dev@lists.sourcesense.com + + + + + + + + org.apache.maven.archetype + archetype-packaging + 2.0-alpha-2 + + + + org.apache.maven.wagon + wagon-webdav + 1.0-beta-3 + + + org.apache.maven.wagon + wagon-ssh + + + + + + maven-archetype-plugin + true + + + org.apache.maven.plugins + maven-release-plugin + + + + clean package + deploy site:site site:deploy + ${svn.tags.url} + + + + org.apache.maven.plugins + maven-changes-plugin + + + + announcement-generate + + announcement-generate + + + + announcement-mail + + announcement-mail + + + + jira-report + + jira-report + + + + + mail.sourcesense.com + 25 + + sysadmin@sourcesense.com + alfresco@sourcesense.com + g.columbro@sourcesense.com + + ${smtp.username} + ${smtp.password} + g.columbro + + + + + + + + maven-compiler-plugin + + 1.5 + 1.5 + + + + maven-surefire-plugin + + + maven-javadoc-plugin + + + org.codehaus.mojo + jxr-maven-plugin + + + maven-clover-plugin + + + org.apache.maven.plugins + maven-changes-plugin + + + + changes-report + + + + + + org.codehaus.mojo + changelog-maven-plugin + + + org.codehaus.mojo + taglist-maven-plugin + + + + diff --git a/maven-alfresco-extension-archetype/src/changes/changes.xml b/maven-alfresco-extension-archetype/src/changes/changes.xml new file mode 100644 index 00000000..68e916cf --- /dev/null +++ b/maven-alfresco-extension-archetype/src/changes/changes.xml @@ -0,0 +1,32 @@ + + + Maven Alfresco extension archetype + Gabriele Columbro + + + + + Added support for doxia for both generated extension and archetype + + + Now there's a working command for zero conf creation of the project from + the remote archetype (deployed on public SS repos ATM) + + + Add support for announcement mail sending + + + Added licensing to all files (apache 2) + + + Added change log and improved documentation a lot + + + + + + Merged all past projects in this archetype + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml b/maven-alfresco-extension-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml new file mode 100644 index 00000000..3f895eba --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml @@ -0,0 +1,105 @@ + + + + src/main/java + + **/*.java + + + + src/main/properties + + **/*.txt + **/*.properties + + + + src/main/resources + + **/*.xml + **/*.properties + + + + src/main/resources + + **/*.js + **/*.ftl + + + + tools/export + + **/*.txt + + + + tools/ant + + **/*.txt + **/*.html + **/*.jsp + **/*.xml + **/*.properties + + + + tools/m2 + + **/*.sh + + + + tools/ant + + **/*.access + **/*.tld + **/*.xsd + **/*.sample + **/*.gif + **/*.ftl + **/*.ico + **/*.MF + **/*.0-community/scripts/ajax/dojo/src/crypto/LICENSE + **/*.as + **/*.fla + **/*.pdf + **/*.0-community/scripts/ajax/dojo/src/i18n/calendar/nls/README + **/*.0-community/scripts/ajax/dojo/src/i18n/currency/nls/README + **/*.svg + **/*.sql + **/*.htm + **/*.password + **/*.exe + **/*.jar + **/*.js + **/*.class + **/*.dtd + **/*.wsdd + **/*.css + **/*.png + **/*.wsdl + **/*.jpg + **/*.smd + **/*.acp + + + + .externalToolBuilders + + **/*.launch + + + + + + .classpath + .project + build.xml + maven-eclipse.xml + README-ANT.txt + README-m2.txt + + + + \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/META-INF/maven/archetype.xml b/maven-alfresco-extension-archetype/src/main/resources/META-INF/maven/archetype.xml new file mode 100644 index 00000000..0657ad18 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/META-INF/maven/archetype.xml @@ -0,0 +1,45 @@ + + + maven-alfresco-extension-archetype + + + src/books/manual.xml + src/site/site.xml + src/site/apt/index.apt.vm + src/site/apt/book-index.apt + src/site/fml/faq.fml + src/main/properties/local/application.properties + src/main/properties/local/README-properties.txt + src/main/resources/alfresco/extension/custom-model-context.xml + src/main/resources/alfresco/extension/custom-model.xml + src/main/resources/alfresco/extension/custom-repository-context.xml + src/main/resources/alfresco/extension/restore-context.xml + src/main/resources/alfresco/extension/web-client-config-custom.xml + src/main/resources/alfresco/extension/webclient.properties + tools/ant/tasks/tomcat-tasks.properties + tools/ant/tasks/tomcat-tasks.xml + tools/ant/ant-bootstrap.sh + tools/m2/m2-bootstrap.sh + README-ANT.txt + README-m2.txt + build.xml + pom.xml + src/main/resources/alfresco/extension/custom-model-context.xml + src/main/resources/alfresco/extension/custom-model.xml + src/main/resources/alfresco/extension/custom-repository-context.xml + src/main/resources/alfresco/extension/file-servers-custom.xml + src/main/resources/alfresco/extension/ldap-authentication-context.xml + src/main/resources/alfresco/extension/ldap-synchronisation-context.xml + src/main/resources/alfresco/extension/restore-context.xml + src/main/resources/alfresco/extension/web-client-config-custom.xml + src/main/resources/alfresco/extension/webclient.properties + src/main/resources/log4j.properties + src/main/webapp/WEB-INF/README-WEB-INF.txt + src/main/webapp/WEB-INF/faces-config-custom.xml + tools/ant/tasks/tomcat-tasks.properties + tools/ant/tasks/tomcat-tasks.xml + tools/export/testRestoreVersion/README-restore.txt + tools/mysql/db_remove.sql + tools/mysql/db_setup.sql + + \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/PRESS.txt b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/PRESS.txt new file mode 100644 index 00000000..3ed0ac57 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/PRESS.txt @@ -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. \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/README-ANT.txt b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/README-ANT.txt new file mode 100644 index 00000000..f3d3a22b --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/README-ANT.txt @@ -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//application.properties and build with -Denv= + (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 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/README-m2.txt b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/README-m2.txt new file mode 100644 index 00000000..5e151479 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/README-m2.txt @@ -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//application.properties +or create a custom src/main/properties//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=, where 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 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/build.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/build.xml new file mode 100644 index 00000000..c753a3b9 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/build.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/pom.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/pom.xml new file mode 100644 index 00000000..5ab2ee3a --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/pom.xml @@ -0,0 +1,695 @@ + + + + 4.0.0 + ${groupId} + ${artifactId} + ${version} + Alfresco extension + war + + Alfresco extension + + + + + + local + alfresco + + ./alf_data_jetty + alf_jetty + ${project.build.directory}/ + + + + ${pom.description} + ${pom.organization.url} + ${pom.groupId} + ${pom.artifactId} + ${pom.version} + ${svn.tags.url} + ${site.url} + + + + + ss-public + http://repository.sourcesense.com/maven2 + + + + + codehaus snapshot repository + http://snapshots.repository.codehaus.org/ + + true + + + + Maven Snapshots + http://snapshots.maven.codehaus.org/maven2/ + + + + false + + + + + + + + + + alfresco.community + alfresco + 2.1.0 + war + + + + alfresco.community + alfresco-web-client + 2.1.0 + provided + + + alfresco.community + alfresco-core + 2.1.0 + provided + + + alfresco.community + alfresco-repository + 2.1.0 + provided + + + alfresco.community + alfresco-remote-api + 2.1.0 + provided + + + + + mysql + mysql-connector-java + 5.0.3 + + + + + + javax.servlet + servlet-api + 2.5 + provided + + + + + + + ${webapp.name} + + + + org.apache.maven.wagon + wagon-webdav + 1.0-beta-3 + + + org.apache.maven.wagon + wagon-ssh + + + + + src/main/properties/${env}/application.properties + + + + + + src/main/resources + + **/restore-context.xml + **/ldap-*.xml + + + + + src/main/properties/${env} + + application.properties + + true + alfresco/extension + + + src/main/resources + + log4j.properties + + alfresco/extension/file-servers-custom.xml + + true + + + tools/mysql + + *.sql + + true + tools/mysql + + + + + + + org.apache.maven.plugins + maven-resources-plugin + + UTF-8 + + + + + org.apache.maven.plugins + maven-eclipse-plugin + + + + + maven-site-plugin + + en + + + + org.apache.maven.plugins + maven-war-plugin + + false + target/${webapp.name} + **classes/tools + + + + org.mortbay.jetty + maven-jetty-plugin + + /${webapp.name} + 10 + + + 8080 + 60000 + + + + + + org.codehaus.cargo + cargo-maven2-plugin + 0.3-SNAPSHOT + + + org.apache.maven.plugins + maven-release-plugin + + + true + clean package + install deploy cargo:undeploy cargo:deploy site:deploy + + + + + + org.apache.maven.doxia + doxia-maven-plugin + 1.0-alpha-10 + + + pre-site + + render-books + + + + + + target/site/books + + + src/site + src/books/manual.xml + + + xdoc + + + pdf + + + rtf + + + + + + + + + + + + + maven-compiler-plugin + + 1.5 + 1.5 + + + + maven-surefire-plugin + + + maven-javadoc-plugin + + + org.codehaus.mojo + jxr-maven-plugin + + + maven-clover-plugin + + + + org.codehaus.mojo + taglist-maven-plugin + + + + + + + + + ss-private + dav:https://dev.sourcesense.com/repos/dev/maven2 + + + ss-site-private + dav:https://dev.sourcesense.com/cargo/maven2-sites + + + + + + + + restore + + + restoreVersion + + + + package + + + src/main/resources + + **/restore-*.xml + + + + tools/export/${restoreVersion} + + ** + + alfresco/extension/restore + + + + + + + ldap + + + enterprise + + + + package + + + src/main/resources + + **/ldap-*-context.xml + + + + + + + + jboss + + + ./alf_data + alf_jboss + + + + cargo:deploy + + + src/main/resources + + **/restore-context.xml + **/ldap-*.xml + + + + src/main/resources + + + + true + + + + + org.codehaus.cargo + cargo-maven2-plugin + + + jboss4x + remote + + + runtime + + 8080 + + + + remote + + + ${pom.groupId} + ${pom.artifactId} + war + + + + + + + + org.apache.maven.plugins + maven-war-plugin + + false + target/${webapp.name} + **/log4j.properties,**/lib/log4j*.jar,log4j.properties + **/log4j.properties,WEB-INF/classes/tools + + + + + + + + tomcat + + + ./alf_data + alf_tomcat + + + + package + + + org.codehaus.cargo + cargo-maven2-plugin + + + tomcat5x + remote + + + + runtime + + tomcat + tomcat + 8080 + + + + remote + + + ${pom.artifactId} + war + + /${webapp.name} + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/books/manual.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/books/manual.xml new file mode 100644 index 00000000..de741200 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/books/manual.xml @@ -0,0 +1,33 @@ + + + + manual + Alfresco Extension Manual + + + introduction + Introduction + +
+ book-index +
+
+
+
+
\ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/properties/local/README-properties.txt b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/properties/local/README-properties.txt new file mode 100644 index 00000000..ca1531a6 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/properties/local/README-properties.txt @@ -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= property is specified at build time properties will be + looked up in folder + + src/main/properties//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. \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/properties/local/application.properties b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/properties/local/application.properties new file mode 100644 index 00000000..56f9e5ae --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/properties/local/application.properties @@ -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 + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-model-context.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-model-context.xml new file mode 100644 index 00000000..f26b0cfe --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-model-context.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + alfresco/extension/custom-model.xml + + + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-model.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-model.xml new file mode 100644 index 00000000..08867368 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-model.xml @@ -0,0 +1,174 @@ + + + + + + + + + + Custom Alfresco model + Sourcesense + 1.0 + + + + + + + + + + + + + + + + + + + Select a Document type... + Brief + E-mail + Fax + E-Form + + + + + + + Select a status... + New + Draft + Proposal + Approved + Public + + + + + + 0 + + + 6 + + + + + 0 + + + 20 + + + + + + + + + Incoming document + cm:content + + + d:text + true + + + + + + d:text + false + + + + + + d:text + false + New + + + + + + + cm:dublincore + cm:versionable + ss:sendable + + + + + + + + + + + d:date + false + + + d:text + false + + + + + + d:text + false + + + + + + d:text + false + + + + + + d:text + false + + + + + + d:text + false + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-repository-context.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-repository-context.xml new file mode 100644 index 00000000..a5c4c409 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/custom-repository-context.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + true + + + + classpath:alfresco/repository.properties + classpath:alfresco/version.properties + classpath:alfresco/domain/transaction.properties + + + classpath:alfresco/extension/application.properties + + + + + + + + classpath:alfresco/domain/hibernate-cfg.properties + + + + + \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/file-servers-custom.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/file-servers-custom.xml new file mode 100644 index 00000000..70faa5b4 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/file-servers-custom.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + Alfresco CIFS Server + + + 255.255.255.0 + + + + + + ${smb.server.bindto} + + + + + + + + + + + + + + + + + + + ${ftp.port} + + + + + + + + + + + + workspace://SpacesStore + /app:company_home + + + + __Alfresco.url + http://${localname}/ + + + + + + + + + + alfresco/desktop/Alfresco.exe + http://${localname}/ + + + org.alfresco.filesys.smb.server.repo.desk.CheckInOutDesktopAction + CheckInOut + __CheckInOut.exe + + + org.alfresco.filesys.smb.server.repo.desk.JavaScriptDesktopAction + JavaScriptURL + __ShowDetails.exe + + anyFiles + copyToTarget + + + + + + + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/ldap-authentication-context.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/ldap-authentication-context.xml new file mode 100644 index 00000000..cfc5f8ea --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/ldap-authentication-context.xml @@ -0,0 +1,157 @@ + + + + + + + + + true + + + classpath:alfresco/extension/application.properties + + + + + + + + + + ${ldap.authentication.allowDeleteUser} + + + + + + + + + + ${ldap.authentication.provider} + + + + + + + ${ldap.authentication.url} + + + ${ldap.authentication.protocol} + + + + + + + + + + ${ldap.authnetication.adminUser} + + + + ${ldap.authnetication.adminPassword} + + + + + + + + + + + cn=%s,ou=Identities,ou=Internal,o=NXP + + + ${ldap.authentication.guestLogin.allowed} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${spaces.store} + + + + + + + + + + + ${server.transaction.allow-writes} + + + ${user.name.caseSensitive} + + + + ${personService.processDuplicates} + + + + ${personService.duplicateMode} + + + ${personService.lastIsBest} + + + ${personService.includeAutoCreated} + + + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/ldap-synchronisation-context.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/ldap-synchronisation-context.xml new file mode 100644 index 00000000..32d954be --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/ldap-synchronisation-context.xml @@ -0,0 +1,394 @@ + + + + + + + + + true + + + classpath:alfresco/extension/application.properties + + + + + + + + + + + + + + + + + + ${ldap.synchronisation.personQuery} + + + + + ${ldap.synchronisation.personSearchBase} + + + + + ${ldap.synchronisation.userIdAttributeName} + + + + + + + + + + + + + + + + + + + ${ldap.synchronisation.userIdAttributeName} + + + + + ${ldap.synchronisation.userFirstNameAttributeName} + + + + + ${ldap.synchronisation.userLastNameAttributeName} + + + + + ${ldap.synchronisation.userEmailAttributeName} + + + + + ${ldap.synchronisation.userOrganizationalIdAttributeName} + + + + + + + + + + + + + ${ldap.synchronisation.defaultHomeFolderProvider} + + + + + + + + + + + ${ldap.synchronisation.groupQuery} + + + + + ${ldap.synchronisation.groupSearchBase} + + + + + ${ldap.synchronisation.userIdAttributeName} + + + + + ${ldap.synchronisation.groupIdAttributeName} + + + + + ${ldap.synchronisation.groupType} + + + + + ${ldap.synchronisation.personType} + + + + + + + + + + + ${ldap.synchronisation.groupMemberAttributeName} + + + + + + + + + + + + + + + + + + + + + org.alfresco.repo.importer.ImporterJob + + + + + + + + + + + + ${ldap.synchronisation.import.person.cron} + + + + + + + + + + + org.alfresco.repo.importer.ImporterJob + + + + + + + + + + + + ${ldap.synchronisation.import.group.cron} + + + + + + + + + + + + + + + + + + + + + + + + + ${spaces.store} + + + + + /${system.system_container.childname}/${system.people_container.childname} + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${alfresco_user_store.store} + + + + + /${alfresco_user_store.system_container.childname}/${alfresco_user_store.authorities_container.childname} + + + + + ${ldap.synchronisation.import.group.clearAllChildren} + + + + + + + + + + + + + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/restore-context.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/restore-context.xml new file mode 100644 index 00000000..5ff92001 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/restore-context.xml @@ -0,0 +1,88 @@ + + + + + + + + + alfresco/extension/restore/export_systeminfo.xml + + + + + + + + / + alfresco/extension/restore/export_users.acp + + + + true + + + + + + + / + alfresco/extension/restore/export_system.acp + + + + true + + + + + + + / + alfresco/extension/restore/export_versions.acp + + + + true + + + + + + + / + alfresco/extension/restore/export_spaces_archive.acp + + + + + + + + + + / + alfresco/extension/restore/export_spaces.acp + + + + true + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/web-client-config-custom.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/web-client-config-custom.xml new file mode 100644 index 00000000..d3464db4 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/web-client-config-custom.xml @@ -0,0 +1,193 @@ + + + + + + + + + Italiano + Dutch + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/webclient.properties b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/webclient.properties new file mode 100644 index 00000000..efa85e7e --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/extension/webclient.properties @@ -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 \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/log4j.properties b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/log4j.properties new file mode 100644 index 00000000..f7a4b7c5 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/resources/log4j.properties @@ -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 + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/README-WEB-INF.txt b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/README-WEB-INF.txt new file mode 100644 index 00000000..974995c6 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/README-WEB-INF.txt @@ -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) diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/faces-config-custom.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/faces-config-custom.xml new file mode 100644 index 00000000..5415178f --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/faces-config-custom.xml @@ -0,0 +1,33 @@ + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/apt/book-index.apt b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/apt/book-index.apt new file mode 100644 index 00000000..3368415a --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/apt/book-index.apt @@ -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> + ++------------------------------------------- + + + + org.apache.maven.doxia + doxia-maven-plugin + 1.0-alpha-10 + + + pre-site + + render-books + + + + + + target/site/books + + + src/site + src/books/manual.xml + + + xdoc + + + pdf + + + rtf + + + + + + + ++------------------------------------------- + +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 + + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/apt/index.apt.vm b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/apt/index.apt.vm new file mode 100644 index 00000000..f3cf465d --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/apt/index.apt.vm @@ -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 +-------------------------------------------- + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/fml/faq.fml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/fml/faq.fml new file mode 100644 index 00000000..fc6e5f94 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/fml/faq.fml @@ -0,0 +1,121 @@ + + + + + General + + How do I configure Eclipse? + +
    +
  • Run ' mvn eclipse:eclipse '
  • +
  • "Refresh" on your Eclipse project
  • +
+
+
+ + Why I cannot access db "alf_[jetty,tomcat,jboss] "? + +

+ Remember to setup appropriate permissions for selected db / build profile. You have 2 methods to configure/remove your db: +

    +
  1. + Properly edit + tools/mysql/db_setup.sql + and run from project home + mysql -u root < tools/mysql/db_setup.sql +
  2. +
  3. + if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase), and run + directly + mysql -u root -p < target/classes/tools/[db_setup,db_remove].sql +
  4. +
+

+
+
+ + Why do I get memory errors running jetty? + +

+ Run your build with : + MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn jetty:[run-war,run-exploded] +

+
+
+
+ + Release + + How do I release? + +
    +
  • Uncommenting in generated POM svn.tags.url and maven-release-plugin configuration
  • +
  • Ensuring dryRun="false" element in that configuration
  • +
  • + Running a single command: + mvn release:prepare release:perforn +
  • +
+
+
+ + Why my release process complains about svn LC_ALL variable? + +

+ 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) +

+
+
+ + Why do I get Content integrity errors on restore running with jetty embedded/during release? + +

Did you remove also alf_data_jetty (or how you renamed it) apart from the alf_jetty (or how you renamed it) db ;) ?

+
+
+
+ + Dependency management + + Why JTA can't be properly found on maven repos? + +

+ Due to redistribution problems you have to install JTA manuall when you need it with: + + - 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 + +

+
+
+
+ + Documentation + + Why I have duplicated properties with '_' character in my POM? + +

+ Due to maven/velocity filtering limitation, + dot based properties will not work in filtered site files. That's why a '_' separator is needed. +

+
+
+
+
\ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/site.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/site.xml new file mode 100644 index 00000000..31456e56 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/src/site/site.xml @@ -0,0 +1,53 @@ + + + + + + + + org.apache.maven.skins + maven-application-skin + 1.0 + + + Maven Alfresco Generated Sample - v. ${site_pom_version} + ${site_site_url} + + + + + + + + + + + + + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/book-index.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/book-index.html new file mode 100644 index 00000000..c4b72484 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/book-index.html @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + Alfresco extension - Maven Alfresco Extension Manual + + + + + + + + +
+ +
+
+
+

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
  • +
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/pdf/manual/manual.pdf b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/pdf/manual/manual.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dd48a308cd16c04603652c3bfebd19961dd558f1 GIT binary patch literal 3465 zcmcImdpuNm8-MHdMx&&(Z??3ZT2lr&=gfVIDaMe>(zr!54$d$dGnqLPR-0>bt&~fW zHmjS2TGB-lt*B5cmsE-rsdu}+x@^myGs8>i)4Th}o`25o_k4c8=Xrk5_j$h0Lw2;b zSqPiaN#w2vS8tH$00hW<0s(V#&_*o5P&sHLK`_)B^_BUd;7U~Lj|Bj12fld zNTGWQU4tBML%IWdg~2=LS8=-w9lebbHS*%^tx!|FIScg4^KGYT-p(y7`~6MM?Dm5P zV$L1?UAOjJ_}=nY72Qn}k#4MfPUn3sQh9IOxbDWP;F6fDx8mGO(Q}-r*1P<>>sdSQ zey6FkZHguJ&Oo1e`?s&m9SqF56So4nTW3Xwd%F#wS~TnBjxuV9;-C%N^yv( z1HWpi_BGyw*6xJ#^%+wPo$@0)R+k9Aj-zGiWbJjHL=vE=lrTpO>MnVFVi zArR|7-@|YPeSgdYj6@fTBGaZ{pBo6}17z|Y+7qpxUtFK?dd|j_Z5^lTgq>$*bxjqC zqz#pig*@ZSYliTsbU~6q)6L8&Dc@t zGEsbdJKc1M>>CUHfd#D<7N=DR3`1+Zg&T zqwVz!RB*G|f2MX;r*dlj%3>(t$tw7f;mbokPr9b&zl+>I)5SD;UDKV5N9ts=i<92Q zPK-KNn>*u_VR4*B&9@O}%FRf#N=nPJ%8D+pXtrngYXy}01e3GYQJF8Z-vl*LEnlWo ztWKD=B2H=Sm7NyaDq6Ru;6q`3;)j&H+XDA&GmpdlDJk^yv#94Lo|Ru*&H>8C%MU5Z zY-Z2FLs=WoduU49u3CUS5C7Rx@mMF#<@7G-jD>RWrwG!$ulgH>=|<*3_Ajo*FY)$B zSvnBiV{Jv|*X-ZxUF@=ZD#_quIhJ-I+T^~kBt zoGC^-|D!!VyL!#`!lasjXP#A|DQxr2dw#j$uK(^;MNZR;0{%x5#!8W68r z0CYw}F#xm+!c|xe{dq%wJ1@`%S4tEz3{X{yY^VT@Sa9(Vv`78Kh?OjK4TOsr90tIq zQ@yxc!d=2iCNBNIL;!P`qlln+XN68Qq#OArJaLvXasXJuyWss(`Ef9Eo<@X`b9}KZ zD!^b;G;&R+V#V!eAPt!{GKv9$Z4`i@i3 zNz=u8`uwDmntl!2gVQF~ukW2^xa$2hmrl=bCbvBOcQ{sY*=<;p#M zhX!w)F52|-t1Uh63zu!r5ga;>*-kbyu3P)iE~9195o&rwwFae8xx3;A+f=6xvMVcV zzR-@gJ0!X7yz5x3Sn4o*9xEb7e-l=J1|rU%fr!Q$&DAM88l=^bZtSzLM9%diQHJ}@ zpNQDwVR^vd`};m!MqXI-{@T2?M;1m` zg=*dVI=8oZKv;R$gVUMT)L*xG({`u35A-cC4MFUSdbb!&UoJwqXOfWNsGXT4M$*rMcvYmxJrNRuCA4wx-=7#M|uByUC{V+!MjQrnzE!Ug7O``Lj=S^!0Ugmi?M}qT}w2 zO^=0C7U{G}3dPjHPgf~|tuLnv)4H|^PYw^*| zi%eS59S%LzVmlNV1fSi}fGsfoamRh07vyK(`p9!FHodG{b8*AI!MPFth&p;Zb!RJfq$j?VS+I5^2hVu8dYFx2+9)R69KjiVA1Ga!~6uR<<4SEf*QeQfSnYR z%lwqSm{=wSDByPlJHbPgGfXV1y;`-S9Nhq@ObN!AVba*2H$yc8mdQc@Oa|Zth5=ZB zSOEkfQY9k!pG6gij!+pqG}Nf*ld!1rNNtfoW9VUQi1~SoG&5kOI7o~k#IqCtWt8R- zD(A_RIAPPqyyGLS1l0<_m52fli<;;^8#)ReX*qF5Mcbpy5%<-hQ=6l!JBWi4lZd6L zVo38aSSl5&&4`K-Tvfe?=n$Y4qCi!PWvFBWiiv#@&`Ifo5xt2x1cQ7jKK+TM{-B#! zYAIEShxa3DiHNEl`;yv)Rx*j-U)D`D!O@SVjkHY#xI*lwP-iDVP_+P10XnLW!6VmI zuJI5Ik;weP;g|ui8Wf@nE7T2leNoSd2cdFQM1laA zMZ)b2eE^fepfLauFf3!U@%R%TARU%b8T7F-CJle<$LAo32++qeDvOGz$;UDnqT`YM zL`Ea({}UMp8lw-UGjVJ_K1Zdq@YsGLqcO+ar9!MRK2u@l7`s#|YwTSX8!xg?Y_RF0 z&S7#yEJ5WY9A7(YV2wGO#e!ibo5MyBI@1SY`iUTpFT;mUWkEEAiZHq69Ja`ZiqJ*A zxSWA-P`U{9h3O(T%0w7UHXG)8fdZKfFJ0UUUg}Qb?@=5)&`v6n0jg}mhcA)>L*$qW PSt^IcAd$&@2OH8K$@~4W literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/pdf/manual/manual.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/pdf/manual/manual.xml new file mode 100644 index 00000000..deb995cb --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/pdf/manual/manual.xml @@ -0,0 +1,143 @@ + + + + + <chunk font="Helvetica" size="24.0" fontstyle="normal" red="255" green="0" blue="0">Introduction</chunk> + +
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Introduction </chunk> + + + + Welcome to the Maven Alfresco Extension Archetype manual + +
+
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">How to edit this manual </chunk> + + + + 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> + + + + + + + + ]]> + + ]]> + + org.apache.maven.doxia]]> + + doxia-maven-plugin]]> + + 1.0-alpha-10]]> + + ]]> + + ]]> + + pre-site]]> + + ]]> + + render-books]]> + + ]]> + + ]]> + + ]]> + + ]]> + + + + + + + + + + ]]> + + target/site/books]]> + + ]]> + + ]]> + + src/site]]> + + src/books/manual.xml]]> + + ]]> + + ]]> + + xdoc]]> + + ]]> + + ]]> + + pdf]]> + + ]]> + + ]]> + + rtf]]> + + ]]> + + ]]> + + ]]> + + ]]> + + ]]> + + ]]> + + + +
+
+
+
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Limitations </chunk> + + + + + 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 + + + +
+
+
\ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/rtf/manual/manual.rtf b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/rtf/manual/manual.rtf new file mode 100644 index 00000000..c2810c93 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/rtf/manual/manual.rtf @@ -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 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 org.apache.maven.doxia\f0\fs20\cf0 \par \f1\fs20\cf0 doxia-maven-plugin\f0\fs20\cf0 \par \f1\fs20\cf0 1.0-alpha-10\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 pre-site\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 render-books\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 target/site/books\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 src/site\f0\fs20\cf0 \par \f1\fs20\cf0 src/books/manual.xml\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 xdoc\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 pdf\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 rtf\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \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} \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/rtf/manual/manual.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/rtf/manual/manual.xml new file mode 100644 index 00000000..deb995cb --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/rtf/manual/manual.xml @@ -0,0 +1,143 @@ + + + + + <chunk font="Helvetica" size="24.0" fontstyle="normal" red="255" green="0" blue="0">Introduction</chunk> + +
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Introduction </chunk> + + + + Welcome to the Maven Alfresco Extension Archetype manual + +
+
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">How to edit this manual </chunk> + + + + 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> + + + + + + + + ]]> + + ]]> + + org.apache.maven.doxia]]> + + doxia-maven-plugin]]> + + 1.0-alpha-10]]> + + ]]> + + ]]> + + pre-site]]> + + ]]> + + render-books]]> + + ]]> + + ]]> + + ]]> + + ]]> + + + + + + + + + + ]]> + + target/site/books]]> + + ]]> + + ]]> + + src/site]]> + + src/books/manual.xml]]> + + ]]> + + ]]> + + xdoc]]> + + ]]> + + ]]> + + pdf]]> + + ]]> + + ]]> + + rtf]]> + + ]]> + + ]]> + + ]]> + + ]]> + + ]]> + + ]]> + + + +
+
+
+
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Limitations </chunk> + + + + + 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 + + + +
+
+
\ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/book-index.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/book-index.xml new file mode 100644 index 00000000..bdedcc19 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/book-index.xml @@ -0,0 +1,93 @@ + + + +Maven Alfresco Extension Manual +Sourcesense + + + + + + + + + +
Previous: Introduction
End of book
+ +
+

Welcome to the Maven Alfresco Extension +Archetype 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> + +
+
  • 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

    +
  • +
+
+
+ + + + + + + +
Previous: Introduction
End of book
+ + +
diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/index.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/index.xml new file mode 100644 index 00000000..52f7cf0b --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/index.xml @@ -0,0 +1,40 @@ + + + +Alfresco Extension Manual - Table Of Content + + + + + + + +
+ +
+
+
+
+ + + + + +
+ + +
diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/introduction.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/introduction.xml new file mode 100644 index 00000000..bcf9c5de --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/books/xdoc/manual/introduction.xml @@ -0,0 +1,43 @@ + + + +Introduction + + + + + + + + + +
+ +
+
+
+
+ + + + + + + +
+ + +
diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/maven-base.css b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/maven-base.css new file mode 100644 index 00000000..5ccfd476 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/maven-base.css @@ -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; +} diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/maven-theme.css b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/maven-theme.css new file mode 100644 index 00000000..c982168b --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/maven-theme.css @@ -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); +} + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/print.css b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/print.css new file mode 100644 index 00000000..26ad7f0b --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/print.css @@ -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 +} diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/site.css b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/css/site.css new file mode 100644 index 00000000..e69de29b diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/dependencies.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/dependencies.html new file mode 100644 index 00000000..ac6c74da --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/dependencies.html @@ -0,0 +1,346 @@ + + + + + + + + + + + + + + + Alfresco extension - Project Dependencies + + + + + + + +
+ +
+
+
+

Project Dependencies

+

compile

+

The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:

+ + + + + + + + + + + + + + + + + + + + + +
GroupIdArtifactIdVersionClassifierTypeOptional
alfresco.communityalfresco2.1.0-war
mysqlmysql-connector-java5.0.3-jar
+
+

provided

+

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:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GroupIdArtifactIdVersionClassifierTypeOptional
alfresco.communityalfresco-core2.1.0-jar
alfresco.communityalfresco-remote-api2.1.0-jar
alfresco.communityalfresco-repository2.1.0-jar
alfresco.communityalfresco-web-client2.1.0-jar
javax.servletservlet-api2.5-jar
+
+
+

Project Transitive Dependencies

+

The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.

+
+ + +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/faq.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/faq.html new file mode 100644 index 00000000..2be420de --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/faq.html @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + Alfresco extension - FAQ + + + + + + + +
+ +
+
+
+ +

General

+
How do I configure Eclipse? +
+
+
    +
  • Run ' mvn eclipse:eclipse '
  • +
  • "Refresh" on your Eclipse project
  • +
+
[top] +

+
+
Why I cannot access db "alf_[jetty,tomcat,jboss] "? +
+
+

+ Remember to setup appropriate permissions for selected db / build profile. You have 2 methods to configure/remove your db: +

    +
  1. + Properly edit + tools/mysql/db_setup.sql + and run from project home + mysql -u root < tools/mysql/db_setup.sql +
  2. +
  3. + if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase), and run + directly + mysql -u root -p < target/classes/tools/[db_setup,db_remove].sql +
  4. +
+

+
[top] +

+
+
Why do I get memory errors running jetty? +
+
+

+ Run your build with : + MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn jetty:[run-war,run-exploded] +

+
[top] +
+
+
+

Release

+
How do I release? +
+
+
    +
  • Uncommenting in generated POM svn.tags.url and maven-release-plugin configuration
  • +
  • Ensuring dryRun="false" element in that configuration
  • +
  • + Running a single command: + mvn release:prepare release:perforn +
  • +
+
[top] +

+
+
Why my release process complains about svn LC_ALL variable? +
+
+

+ 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) +

+
[top] +

+
+
Why do I get Content integrity errors on restore running with jetty embedded/during release? +
+
+

Did you remove also alf_data_jetty (or how you renamed it) apart from the alf_jetty (or how you renamed it) db ;) ?

+
[top] +
+
+
+

Dependency management

+
Why JTA can't be properly found on maven repos? +
+
+

+ Due to redistribution problems you have to install JTA manuall when you need it with: + + - 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 + +

+
[top] +
+
+
+

Documentation

+
Why I have duplicated properties with '_' character in my POM? +
+
+

+ Due to maven/velocity filtering limitation, + dot based properties will not work in filtered site files. That's why a '_' separator is needed. +

+
[top] +
+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/collapsed.gif b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/collapsed.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e710840640c1bfd9dd76ce7fef56f1004092508 GIT binary patch literal 53 ycmZ?wbhEHbWM^P!XkdT>#h)yUTnvm1Iv_qshJlI4r7uBZ*YkPFU8d4p4Aua}2?(?R literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/expanded.gif b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/expanded.gif new file mode 100644 index 0000000000000000000000000000000000000000..0fef3d89e0df1f8bc49a0cd827f2607c7d7fd2f0 GIT binary patch literal 52 xcmZ?wbhEHbWM^P!XkdT>#h)yUTnvm1Iv_qshJlH@g}+fUi&t{amUB!D)&R0C2fzRT literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/external.png b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/external.png new file mode 100644 index 0000000000000000000000000000000000000000..3f999fc88b360074e41f38c3b4bc06ccb3bb7cf8 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^+(699!3-oX?^2ToQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%@dWsUxR#cd{{R1fCIbVIy!atN z8e~{WkY6y6%iy53@(Yk3;OXKRQgJIOfsI*BO@UFsfhWLBc>*(#PB?Jn2*(o!76E4F z2oaVU3``tH+Kgs0GI5+@Tg}d)z%jd%F@?{8!SRZ5b1yT80-FZIMn)zc2Ca66y`pzY R*nwsJMCn#OVEqF*oew~oaAu*+mN;-=y?VHT3tIe$XQqrDo-uB_a z!$aaK`z6))OKGn34?nwc^SuifkIL#EmDgV_qjg-#8v*0u4q4%1moUw{LZ54UeCgzNF^jX`uv-XK+9g@yFrG9?@ z!9&5&Tgk*j(b!GF&{N4I-Owl3GNQ;Kslp@APSw&&&ux9d>WxL~{EYoKm2KHvv3+ax zZUYB?Ae*8JnchZheXeEaa>@87?_fB*jV>(`erUx0B6j@wa!KnN)QWMO1rn9HC8 zQU}Tt3>@bftT|;oHYhlHH8T8tc{qL2LBC1&wnQeg^-S05<#H=J%;q~&KX!$OXH$lP zifQJ#9>L8|xhAVRHT-xPa*}7JK>(A*!AmL!CQC~j>707p+C5b#ib-SZ5@wfn#-0y8 zor_pb3M^%mkXhlduwjw4dk@RWhYZ<*tSUAV9x3eYyi#^d39lH{872xT#>g14FgCZb z+Lvv}DClhGVU*`8y(Qe}(9I>Lw<6->0~Q`zX3oMH2272dBARI`0wDzxS_G8b_H+a` TZ#n2*^y*Bf^Krq04Gh)*dSnrT literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/icon_info_sml.gif b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/icon_info_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6cb9ad7ce438a798426703e86a7ffc197d51dbb GIT binary patch literal 606 zcmZ?wbhEHb!Rj)7jHhhdgsOUdoQoueZi?7 z>>gViTe&E#V48n=mrru5S3;v}WQB8hiDz7$TU2Fg8RZkU)J)l4H+4sO@7jjxJ4?G(<~7c1nYFul=C0P+d#d`@bj{yi z-npcE!T#Qb2PP~z)H;3B%r(bntUlH>Y2~CvyV|C%UbyM>vTf&9?!2&e&!siHFV0_c zVB`KP8}?n^dg$7Yqc`@PxOMQ%-NWbZ9Xfk=)1K2OFF!hV;r{6>kIr6ua^~ve%eS9j zy7lbD`I|4_et!J??bq+WzI^-n`RfmdkOIfh!pgqYwSCK`t~@$#!^!1aj_y2mzyI{@?vuB79>2N$==JkApPs$`_~ygc*YCf)diVLp z{pXKfy#M&+`?nvze*gIk#Q*;N0|qHLXbBUFKUo+V7>XElKuSSz!oa?}p{S|3rL`#` zEj=M8CWV#D$GthOu#hRgfH^NPHz`Z6or!6tudIJkhF|)EqL_SUmH;#E=*;vU)ut4d z*}1MJ+3|6yK5|W*0YQlwY}}E_93D;*P3)($(!#iHyj&dYc$?gAB*f@)n?~7Mn)5Ze zB*b!gs&gB@F*e|Da`5(ac688Lp~TGAEh5PBlHo`4aV}w%hy?;49h(#+>`NXTD0Bjy;4ci{C-1K14rU#4Xoa9{m6qopA9n0cn|!>ecYkij zwyX=!4*mH3EoqLqSGiVbyFqxD(bS8XSDu{6U1jZO70Ic@{~t&7=B^ zBD)NOoAkU&Gy^LQJ5PtV?u{&65}4ZUmfYbweP{LTy^YnAGv=AGa7*6wj}%~b0?7r5!@qH7P%p1*$L z@#{ODxoUwG+WsY)zWExj-aqxpQS(e!bx&6L`u)?tfB$~}{{8*?cVO&*V`-G2NeC$Z zWMO1r=w{FXnGVVm3>>=|#5rX=HY{-DP?VFNPL-%m%>B+*~5-k^-+4*MLFr;tQ0}^rlS-^!^Q`Mx1hrB$jwn&hk~Xk=#Nl+_9Nu|Y$D G!5RQ;-6)O# literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/icon_warning_sml.gif b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/icon_warning_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..873bbb52cb9768103c27fbb9a9bac16ac615fce5 GIT binary patch literal 576 zcmZ?wbhEHbB!Sy%bj7w z8LP{2I!WYbmF&-Ixi?j6tD|K1XR2M#l>Aw*aXL%wXS3nYW}{zi=4WzsU5r%E6qx+# za{AThd85YVOsT`KDUrWsBtGknIa3>Sy(4;AS@f^Dxt>-=XPXm#FD(1Lr2hBv=9?3X zZS^!XrNw@)>eiN((2|w-y>{aB1+99DGMA?}+UTggT+(Z*rf8+5x~aWVOGcurtl;&U zIa)H3I&#vwvQjJBn`YHj9iKlB7`)(M#!e{yWMO1rC}Yq8NrU2qfqia6SyOXMYa1sM zM_a34eqyRfcQbQJY;^IYGTuzaxglKLqNQEA}OiQec+sQ#rUUjLqg_MpsPmY43 zsgmVV8EHK$eV-B~6*UcAW2+w%1e4o&9#aAczLGF}PmMg|6J0Ey4q A)Bpeg literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/logos/build-by-maven-black.png b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/logos/build-by-maven-black.png new file mode 100644 index 0000000000000000000000000000000000000000..919fd0f66a7f713920dd7422035db1c9d484351d GIT binary patch literal 2294 zcmVKOG`!VuDc=fnx$+R6#>c^>b&wcOS?|$!`a}U6ptjU_J zlBA}l*3{J0)YMd0R~Hr*dU$xO^ie1jhYlTLS+=C4#MRYRCX#twGUSD6Il$6AA+=UAlkY(ZF;m4037Yc>v&!1mPsNXdliHV74&z>zUEv=}iC@U)i zfc^XTJ3BiAKvYyzczAd~K){|od(ip)`}f`5-HnZnv$L~Hzqq=(y7Kb!>gsAwPfu@e z@3gcu0LabFC4?{xBNPh18Fpy3+Tr2hfq{Yc_V$w}PjVdhGtMTH$zU){PfznaPmK)? z4KH52=;-KZX=#a#jlFZ{PF7YH!!Q{c8Taqs=Xt)UsK{tE{@>vc{2Hgh!NL0adH}e0 z@19Df^78Tm0ES@zz{SO7Zf@=upJ1_AP_bIAgpih&mWqmsojZ4GG#a&9{f)&Au~_Wm z<0F^L4;(mPHk)-io!M*-3JMa7#VIK%EBy%}_$g6IPEM9cBvPp~K0f}{t5+6_rMbEJ z(xpqcZ{G$0j^p<2+vnuu^bN3MdU`rLJ3Br;9ss7MrVbuFxUjHLQBhGX6WriQ5|M*_w z@5bUDdV71dTCG;AO-@dx@4a~OA{y)K>k+2N$jAo|9?w z?b_+nr`2k;!{M;o?Qh<^`R=>#RtFA0KR<`Vfh)Li;|5+X!otGn&U<@%H*VaBDU;Gf zr_<5=()7Iqfmk>yLj`}084`48Zf?d|M~)mpOHfeI{QNv2WMN?;Dk=&9GBY#LVzb%$ z`};Aq6GAK&OK4~)&U*g*IT{xh7M8K~%9SgtQ-;OG#ZeC5ym=F=X|vf(9h#b&K7RZN z05+S=X0xGjU|@g-%ePwl!GC`7t=5VDruDp`t9rXwq=tAb*88KQqo~N`a#V_oixKzA z%F4dJzL1cRy1F{CSUfW`qfjWeZ{Hpm7>H$yNF>V6&c<>vGBOgU_w@7}J9g~o(WA6z z#sgc0B0VlH4i&T6{Pyiz)FUDys6$s*7rnXCi!3z)!0DGJ5eITHyM2Q|E@qtti{QRD z*nbiZg+h^&lY>QINl6I+oH}*N-Q67kYHMqqoSd*@fE67^695Pa36aTU0HD+95)%{g zFw)c0Gcqy&K&4WxG906$qk6p_b=txpgmiazqaGF(M)NU+!{3cPsc^{*a`Ja$nXfZ@ zhsL%N4whw0OG`2M6&4oG&CQ8KBHBPHC@3f>C|I^a>__(qFp!^RU zV`F0uhl6EVxm><`_ijATmoHz|)ztxjL?XdmSuB<(Po5A$mM!w}C3kdS~ef}W>dub-Hhz&fI`vJ#oXvTST@?6qsxN=r)tz|+%n^XARiL+I)0 z!HGL|?4Z?OC@z>ppO+fmk zEDIk1FgrV2R8&O&@;qNwR)+h@$;nZx)dqvXVzG2}b>-#d_4oHa!G&Dp59OYMg zd;9A2I}{29&+|ObzkB!Y^XJcKjE;^*({SomlT)I^E^_90Q{xPG;bvU;38ml zcng&pTZhKxAmAX-{xuvUBO`bZu-omWrKK8;X6fkl>(@`5I6;GyySuwkDCBv*tE;QE zwH1kg)0Ijk1~{Qms8A@Vadob6a=9D}VUx-9>C-1l1S|^dcDq`w#&Z*k#hB*+K%>#n z=0$)zo8T)X1Ujc}V+Omw8!O@%0GKp7%(fp1ER{;7QYogYiHQlT)w*&q5{X2iP;Ak literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/logos/build-by-maven-white.png b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/logos/build-by-maven-white.png new file mode 100644 index 0000000000000000000000000000000000000000..7d44c9c2e5742bdf8649ad282f83208f1da9b982 GIT binary patch literal 2260 zcmV;_2rKuAP)4hTLUyOQ{PVbVY5&Y3g!&hN~bnR7}ZgkXUt ziC%zU0gf+&kEv>t|d$x|zXw1mS0D%1b{8z7DF%0wW-8(XBFc`A3vVI|O z^!N97baWg(eE86zLn4uA_wL=Zb@+UKU|=8sJb3V6XlSUctSl!dhm4xd=KJ^W|8h2q zR4NS%3yX+|NKQ`f?d=7Cf`Wo)&z=E5TU%REQIXYZefjbwRvsQ6zIyfQojZ3l8V#{v zv)R(q)39Vr2GBPsa+apV2%%fIZY3ln0Kl+1Y8c*(xe3X6sWFH9kH*UDDLl)ZN`}u~;f9D%P!A2LK5P2`MQl z(b3TuDUC++_U+qm01k;n!Z1u+TwGjS+}X2d^Yil+3Pn;B-~q z{Qdm_z{kf&EEb1^gw)j3R904!x}#RBj~+c578Vv16olc}xpQZGd;7k9`>@WHD_2M| z{%VB2fNVCK&1U^_rTW_bx`C@MK&%ZR^ybZ*=;&yb zN);0mV>X+~OA`|lRVtNAr7A8i#zL)DyJycHxm+$5izO0?QmM?$%p@6le0*H3R;yI1 z=;-LCrlu1oPI!8HIypHhmCA~Wig|;>WHON!GbSbmcN`jxhJ=GssnlpRR;zVzaF8J4 z>+3sJhW@0w{LH6-`(Afr<9kMWBXoSUM7Dox&JGJtojOI96z3EG z*uH)HWN?qO7x!`hzQnzLg5JL3Ui^ps%X$n4`+YK2S-yNZo>gC8kJmXUC#D?-i_a7IlwdR(Kkw#T>s)<( zJ!ZVTycREBO!{t;H9|r{F#q)FQ_`LjAsBnPnnKk2PZ;V3*7{M#@%jyBNObh|^_fg2 zd|f0I3eTTEPf=83VhUbHWgRft|{%MRRMp6H>seM7wV6&k5Vn7H0DDSDT_wn(;aaUDU zWi%QoiptK;CgqIWB$bwy78Mm?w@oI~&6_tPBO~$kExCLno}10)mX;RGM?^%-PjqOt zTFi(#=@4C7NJmxEVK7l6G0yhEp_Lq9)1fj}S-2%Mdrv$L~tStVt%xVSheDG9e5EX$6J zj8GIMm&=bIKaK;TqoYG05D0}r0!Kqb1E0?q2n1`_uAR{_f0E{OgnR$~y~Sd|+0n_# z2@6L?MsUQ^H0|QzLJoDKqobtlneyk|8`Sp{cp}PUC5RRQ^8?;2;Iss$eWk%*n3$Nr z(73v~e)3}s219#$yTM=(2n6o#?!LahxUO>?H!v`O%bZ*;$Ideh!!Qg0h{fVXix$lf i91DLtEx@rr0RIK2cl{g~?Z1Nn0000}s literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/logos/maven-feather.png b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/logos/maven-feather.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ada836e9eb4af4db810f648b013933e72c8fbe GIT binary patch literal 3330 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 literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/newwindow.png b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/images/newwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..6287f72bd08a870908e7361d98c35ee0d6dcbc82 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^+(699!3-oX?^2ToQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%@dWsUxR#cd&SYTt4+aeuCvSob zD+%%o1`04ZXs!GLj7%Iec?BF2%&y2ZFfeUwWbk2P5nvW+xWT~4#-PT{uyM;F);OSv44$rjF6*2U FngH~|K)3(^ literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/index.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/index.html new file mode 100644 index 00000000..5c1b6c77 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/index.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + Alfresco extension - Maven Alfresco Extension Manual + + + + + + + + +
+ +
+
+
+

Welcome to the Maven Alfresco Extension Archetype manual

+

You've reached the Sourcesense Maven Alfresco Extension archetype home page (version: 1.0)

+
+

Description

+

Alfresco extension

+
+

Full documentation

+

You can also download the full application manual PDF + or 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 
+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/integration.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/integration.html new file mode 100644 index 00000000..5345bae7 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/integration.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + Alfresco extension - Continuous Integration + + + + + + + +
+ +
+
+
+

Continuous Integration

+

No continuous integration management system is defined. Please check back at a later date.

+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/issue-tracking.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/issue-tracking.html new file mode 100644 index 00000000..a021cf4c --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/issue-tracking.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + Alfresco extension - Issue Tracking + + + + + + + +
+ +
+
+
+

Issue Tracking

+

No issue management system is defined. Please check back at a later date.

+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/jxr.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/jxr.html new file mode 100644 index 00000000..657f448e --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/jxr.html @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + Alfresco extension - Source Xref report + + + + + + + +
+ +
+
+
+

Cross-reference Java source code

+

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).

+

Project sources

+

No project sources were found.

+
+

Test sources

+

No test sources were found.

+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/license.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/license.html new file mode 100644 index 00000000..4a2a53a0 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/license.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + Alfresco extension - Project License + + + + + + + +
+ +
+
+
+

Project License

+

No project license is defined for this project.

+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/mail-lists.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/mail-lists.html new file mode 100644 index 00000000..b1bd02a0 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/mail-lists.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + Alfresco extension - Project Mailing Lists + + + + + + + +
+ +
+
+
+

Project Mailing Lists

+

There are no mailing lists currently associated with this project.

+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-info.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-info.html new file mode 100644 index 00000000..fb715cf4 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-info.html @@ -0,0 +1,256 @@ + + + + + + + + + + + + + + + Alfresco extension - Project Information + + + + + + + +
+ +
+
+
+

Project Information

+

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 Maven + on behalf of the project.

+

Overview

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
DocumentDescription
Continuous Integration +This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.
Dependencies +This document lists the projects dependencies and provides information on each dependency.
Issue Tracking +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.
Mailing Lists +This document provides subscription and archive information for this project's mailing lists.
Project License +This is a link to the definitions of project licenses.
Project Summary +This document lists other related information of this project
Project Team +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.
Source Repository +This is a link to the online source repository that can be viewed via a web browser.
+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-reports.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-reports.html new file mode 100644 index 00000000..609b4f5d --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-reports.html @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + Alfresco extension - Generated Reports + + + + + + + +
+ +
+
+
+

Generated Reports

+

This document provides an overview of the various reports that are automatically generated by Maven + Each report is briefly described below.

+

Overview

+ + + + + + +
DocumentDescription
Source Xref +HTML based, cross-reference version of Java source code.
+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-summary.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-summary.html new file mode 100644 index 00000000..c39449a7 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/project-summary.html @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + Alfresco extension - Project Summary + + + + + + + +
+ +
+
+
+

Project Summary

+

Project Information

+ + + + + + + + + + + + +
FieldValue
NameAlfresco extension
DescriptionAlfresco extension
Homepage
+
+

Project Organization

+

This project does not belong to an organization.

+
+

Build Information

+ + + + + + + + + + + + + + + +
FieldValue
GroupIdtest
ArtifactIdtestart
Version1.0
Typewar
+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/source-repository.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/source-repository.html new file mode 100644 index 00000000..4047455f --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/source-repository.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + Alfresco extension - Source Repository + + + + + + + +
+ +
+
+
+

Source Repository

+

No source configuration management system is defined. Please check back at a later date.

+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/team-list.html b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/team-list.html new file mode 100644 index 00000000..495501d8 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/target/site/team-list.html @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + Alfresco extension - Team list + + + + + + + +
+ +
+
+
+

The Team

+

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.

+

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.

+

Members

+

There are no developers working on this project.

+
+

Contributors

+

There are no contributors listed for this project. Please check back again later.

+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/ant-bootstrap.sh b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/ant-bootstrap.sh new file mode 100755 index 00000000..b8e9e7f8 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/ant-bootstrap.sh @@ -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 \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/tasks/tomcat-tasks.properties b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/tasks/tomcat-tasks.properties new file mode 100644 index 00000000..e6c69c25 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/tasks/tomcat-tasks.properties @@ -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 \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/tasks/tomcat-tasks.xml b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/tasks/tomcat-tasks.xml new file mode 100644 index 00000000..447c251a --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/ant/tasks/tomcat-tasks.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/export/testRestoreVersion/README-restore.txt b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/export/testRestoreVersion/README-restore.txt new file mode 100644 index 00000000..486c2499 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/export/testRestoreVersion/README-restore.txt @@ -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 \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/m2/m2-bootstrap.sh b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/m2/m2-bootstrap.sh new file mode 100755 index 00000000..78373531 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/m2/m2-bootstrap.sh @@ -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 diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/mysql/db_remove.sql b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/mysql/db_remove.sql new file mode 100644 index 00000000..b0d925ba --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/mysql/db_remove.sql @@ -0,0 +1 @@ +drop database ${alfresco.db.name}; \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/mysql/db_setup.sql b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/mysql/db_setup.sql new file mode 100644 index 00000000..3cb054aa --- /dev/null +++ b/maven-alfresco-extension-archetype/src/main/resources/archetype-resources/tools/mysql/db_setup.sql @@ -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; \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/site/apt/index.apt.vm b/maven-alfresco-extension-archetype/src/site/apt/index.apt.vm new file mode 100644 index 00000000..39214041 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/site/apt/index.apt.vm @@ -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 +------------------------------------------- \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/site/apt/readme.apt.vm b/maven-alfresco-extension-archetype/src/site/apt/readme.apt.vm new file mode 100644 index 00000000..daa4bb39 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/site/apt/readme.apt.vm @@ -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): + + * <> \ + 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). + + * <> \ + 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= 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/ 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. + + * <> \ + 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= build property which will automatically pick up ACP files (alfresco package name = "export") found in tools/export/ 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 + + * <> \ + 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 ;) + + * <> \ + 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 + + * <> \ + 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. + + * <> \ + By editing the 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. + + * <> \ + As difficult as running mvn <<>> and hitting "Refresh in your eclipse proje" + + * <> \ + One command release deploy for this artifact and for the project generated from it. See README-m2.txt for more details. + + * <> \ + 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 <<>> will run your site in jetty embedded on port 8080, with redeployment of site source files. + To stage the site just type <<>> and to deploy to remote site location, guess what, <<>> + +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}} diff --git a/maven-alfresco-extension-archetype/src/site/fml/faq.fml b/maven-alfresco-extension-archetype/src/site/fml/faq.fml new file mode 100644 index 00000000..e29900e9 --- /dev/null +++ b/maven-alfresco-extension-archetype/src/site/fml/faq.fml @@ -0,0 +1,106 @@ + + + + General + + How do I configure Eclipse? + +
    +
  • Run ' mvn eclipse:eclipse '
  • +
  • "Refresh" on your Eclipse project
  • +
+
+
+ + Why I cannot access db "alf_[jetty,tomcat,jboss] "? + +

+ Remember to setup appropriate permissions for selected db / build profile. You have 2 methods to configure/remove your db: +

    +
  1. + Properly edit + tools/mysql/db_setup.sql + and run from project home + mysql -u root < tools/mysql/db_setup.sql +
  2. +
  3. + if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase), and run + directly + mysql -u root -p < target/classes/tools/[db_setup,db_remove].sql +
  4. +
+

+
+
+ + Why do I get memory errors running jetty? + +

+ Run your build with : + MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn jetty:[run-war,run-exploded] +

+
+
+
+ + Release + + How do I release? + +
    +
  • Uncommenting in generated POM svn.tags.url and maven-release-plugin configuration
  • +
  • Ensuring dryRun="false" element in that configuration
  • +
  • + Running a single command: + mvn release:prepare release:perforn +
  • +
+
+
+ + Why my release process complains about svn LC_ALL variable? + +

+ 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) +

+
+
+ + Why do I get Content integrity errors on restore running with jetty embedded/during release? + +

Did you remove also alf_data_jetty (or how you renamed it) apart from the alf_jetty (or how you renamed it) db ;) ?

+
+
+
+ + Dependency management + + Why for creating the archetype we need an older version of the archetype plugin? + +

+ As described here + the -DremoteRepositories switch is broken in the latest versions of + the maven-archetype-archetype-plugin and that's why in the command + line for creating an artifact we manually specify an older version of the plugin: + + mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create ... ... ... + +

+
+
+ + Why JTA can't be properly found on maven repos? + +

+ Due to redistribution problems you have to install JTA manuall when you need it with: + + - 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 + +

+
+
+
+
\ No newline at end of file diff --git a/maven-alfresco-extension-archetype/src/site/resources/images/logo_noclaim.png b/maven-alfresco-extension-archetype/src/site/resources/images/logo_noclaim.png new file mode 100644 index 0000000000000000000000000000000000000000..0114b0b8bb2214132b226eb3bd3131a3781d8642 GIT binary patch literal 11002 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 INEikF52yLy#Q*>R literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/src/site/site.xml b/maven-alfresco-extension-archetype/src/site/site.xml new file mode 100644 index 00000000..812b3bcf --- /dev/null +++ b/maven-alfresco-extension-archetype/src/site/site.xml @@ -0,0 +1,34 @@ + + + org.apache.maven.skins + maven-stylus-skin + 1.0 + + + + + + + + Maven alfresco archetype - v. ${project.version} + ${site_site_url} + images/logo_noclaim.png + + + + + + + + + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/META-INF/maven/archetype-metadata.xml b/maven-alfresco-extension-archetype/target/classes/META-INF/maven/archetype-metadata.xml new file mode 100644 index 00000000..3f895eba --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/META-INF/maven/archetype-metadata.xml @@ -0,0 +1,105 @@ + + + + src/main/java + + **/*.java + + + + src/main/properties + + **/*.txt + **/*.properties + + + + src/main/resources + + **/*.xml + **/*.properties + + + + src/main/resources + + **/*.js + **/*.ftl + + + + tools/export + + **/*.txt + + + + tools/ant + + **/*.txt + **/*.html + **/*.jsp + **/*.xml + **/*.properties + + + + tools/m2 + + **/*.sh + + + + tools/ant + + **/*.access + **/*.tld + **/*.xsd + **/*.sample + **/*.gif + **/*.ftl + **/*.ico + **/*.MF + **/*.0-community/scripts/ajax/dojo/src/crypto/LICENSE + **/*.as + **/*.fla + **/*.pdf + **/*.0-community/scripts/ajax/dojo/src/i18n/calendar/nls/README + **/*.0-community/scripts/ajax/dojo/src/i18n/currency/nls/README + **/*.svg + **/*.sql + **/*.htm + **/*.password + **/*.exe + **/*.jar + **/*.js + **/*.class + **/*.dtd + **/*.wsdd + **/*.css + **/*.png + **/*.wsdl + **/*.jpg + **/*.smd + **/*.acp + + + + .externalToolBuilders + + **/*.launch + + + + + + .classpath + .project + build.xml + maven-eclipse.xml + README-ANT.txt + README-m2.txt + + + + \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/META-INF/maven/archetype.xml b/maven-alfresco-extension-archetype/target/classes/META-INF/maven/archetype.xml new file mode 100644 index 00000000..0657ad18 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/META-INF/maven/archetype.xml @@ -0,0 +1,45 @@ + + + maven-alfresco-extension-archetype + + + src/books/manual.xml + src/site/site.xml + src/site/apt/index.apt.vm + src/site/apt/book-index.apt + src/site/fml/faq.fml + src/main/properties/local/application.properties + src/main/properties/local/README-properties.txt + src/main/resources/alfresco/extension/custom-model-context.xml + src/main/resources/alfresco/extension/custom-model.xml + src/main/resources/alfresco/extension/custom-repository-context.xml + src/main/resources/alfresco/extension/restore-context.xml + src/main/resources/alfresco/extension/web-client-config-custom.xml + src/main/resources/alfresco/extension/webclient.properties + tools/ant/tasks/tomcat-tasks.properties + tools/ant/tasks/tomcat-tasks.xml + tools/ant/ant-bootstrap.sh + tools/m2/m2-bootstrap.sh + README-ANT.txt + README-m2.txt + build.xml + pom.xml + src/main/resources/alfresco/extension/custom-model-context.xml + src/main/resources/alfresco/extension/custom-model.xml + src/main/resources/alfresco/extension/custom-repository-context.xml + src/main/resources/alfresco/extension/file-servers-custom.xml + src/main/resources/alfresco/extension/ldap-authentication-context.xml + src/main/resources/alfresco/extension/ldap-synchronisation-context.xml + src/main/resources/alfresco/extension/restore-context.xml + src/main/resources/alfresco/extension/web-client-config-custom.xml + src/main/resources/alfresco/extension/webclient.properties + src/main/resources/log4j.properties + src/main/webapp/WEB-INF/README-WEB-INF.txt + src/main/webapp/WEB-INF/faces-config-custom.xml + tools/ant/tasks/tomcat-tasks.properties + tools/ant/tasks/tomcat-tasks.xml + tools/export/testRestoreVersion/README-restore.txt + tools/mysql/db_remove.sql + tools/mysql/db_setup.sql + + \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/README-ANT.txt b/maven-alfresco-extension-archetype/target/classes/archetype-resources/README-ANT.txt new file mode 100644 index 00000000..f3d3a22b --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/README-ANT.txt @@ -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//application.properties and build with -Denv= + (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 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/README-m2.txt b/maven-alfresco-extension-archetype/target/classes/archetype-resources/README-m2.txt new file mode 100644 index 00000000..5e151479 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/README-m2.txt @@ -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//application.properties +or create a custom src/main/properties//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=, where 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 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/build.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/build.xml new file mode 100644 index 00000000..c753a3b9 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/build.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/pom.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/pom.xml new file mode 100644 index 00000000..5ab2ee3a --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/pom.xml @@ -0,0 +1,695 @@ + + + + 4.0.0 + ${groupId} + ${artifactId} + ${version} + Alfresco extension + war + + Alfresco extension + + + + + + local + alfresco + + ./alf_data_jetty + alf_jetty + ${project.build.directory}/ + + + + ${pom.description} + ${pom.organization.url} + ${pom.groupId} + ${pom.artifactId} + ${pom.version} + ${svn.tags.url} + ${site.url} + + + + + ss-public + http://repository.sourcesense.com/maven2 + + + + + codehaus snapshot repository + http://snapshots.repository.codehaus.org/ + + true + + + + Maven Snapshots + http://snapshots.maven.codehaus.org/maven2/ + + + + false + + + + + + + + + + alfresco.community + alfresco + 2.1.0 + war + + + + alfresco.community + alfresco-web-client + 2.1.0 + provided + + + alfresco.community + alfresco-core + 2.1.0 + provided + + + alfresco.community + alfresco-repository + 2.1.0 + provided + + + alfresco.community + alfresco-remote-api + 2.1.0 + provided + + + + + mysql + mysql-connector-java + 5.0.3 + + + + + + javax.servlet + servlet-api + 2.5 + provided + + + + + + + ${webapp.name} + + + + org.apache.maven.wagon + wagon-webdav + 1.0-beta-3 + + + org.apache.maven.wagon + wagon-ssh + + + + + src/main/properties/${env}/application.properties + + + + + + src/main/resources + + **/restore-context.xml + **/ldap-*.xml + + + + + src/main/properties/${env} + + application.properties + + true + alfresco/extension + + + src/main/resources + + log4j.properties + + alfresco/extension/file-servers-custom.xml + + true + + + tools/mysql + + *.sql + + true + tools/mysql + + + + + + + org.apache.maven.plugins + maven-resources-plugin + + UTF-8 + + + + + org.apache.maven.plugins + maven-eclipse-plugin + + + + + maven-site-plugin + + en + + + + org.apache.maven.plugins + maven-war-plugin + + false + target/${webapp.name} + **classes/tools + + + + org.mortbay.jetty + maven-jetty-plugin + + /${webapp.name} + 10 + + + 8080 + 60000 + + + + + + org.codehaus.cargo + cargo-maven2-plugin + 0.3-SNAPSHOT + + + org.apache.maven.plugins + maven-release-plugin + + + true + clean package + install deploy cargo:undeploy cargo:deploy site:deploy + + + + + + org.apache.maven.doxia + doxia-maven-plugin + 1.0-alpha-10 + + + pre-site + + render-books + + + + + + target/site/books + + + src/site + src/books/manual.xml + + + xdoc + + + pdf + + + rtf + + + + + + + + + + + + + maven-compiler-plugin + + 1.5 + 1.5 + + + + maven-surefire-plugin + + + maven-javadoc-plugin + + + org.codehaus.mojo + jxr-maven-plugin + + + maven-clover-plugin + + + + org.codehaus.mojo + taglist-maven-plugin + + + + + + + + + ss-private + dav:https://dev.sourcesense.com/repos/dev/maven2 + + + ss-site-private + dav:https://dev.sourcesense.com/cargo/maven2-sites + + + + + + + + restore + + + restoreVersion + + + + package + + + src/main/resources + + **/restore-*.xml + + + + tools/export/${restoreVersion} + + ** + + alfresco/extension/restore + + + + + + + ldap + + + enterprise + + + + package + + + src/main/resources + + **/ldap-*-context.xml + + + + + + + + jboss + + + ./alf_data + alf_jboss + + + + cargo:deploy + + + src/main/resources + + **/restore-context.xml + **/ldap-*.xml + + + + src/main/resources + + + + true + + + + + org.codehaus.cargo + cargo-maven2-plugin + + + jboss4x + remote + + + runtime + + 8080 + + + + remote + + + ${pom.groupId} + ${pom.artifactId} + war + + + + + + + + org.apache.maven.plugins + maven-war-plugin + + false + target/${webapp.name} + **/log4j.properties,**/lib/log4j*.jar,log4j.properties + **/log4j.properties,WEB-INF/classes/tools + + + + + + + + tomcat + + + ./alf_data + alf_tomcat + + + + package + + + org.codehaus.cargo + cargo-maven2-plugin + + + tomcat5x + remote + + + + runtime + + tomcat + tomcat + 8080 + + + + remote + + + ${pom.artifactId} + war + + /${webapp.name} + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/books/manual.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/books/manual.xml new file mode 100644 index 00000000..de741200 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/books/manual.xml @@ -0,0 +1,33 @@ + + + + manual + Alfresco Extension Manual + + + introduction + Introduction + +
+ book-index +
+
+
+
+
\ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/properties/local/README-properties.txt b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/properties/local/README-properties.txt new file mode 100644 index 00000000..ca1531a6 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/properties/local/README-properties.txt @@ -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= property is specified at build time properties will be + looked up in folder + + src/main/properties//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. \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/properties/local/application.properties b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/properties/local/application.properties new file mode 100644 index 00000000..56f9e5ae --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/properties/local/application.properties @@ -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 + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-model-context.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-model-context.xml new file mode 100644 index 00000000..f26b0cfe --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-model-context.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + alfresco/extension/custom-model.xml + + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-model.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-model.xml new file mode 100644 index 00000000..08867368 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-model.xml @@ -0,0 +1,174 @@ + + + + + + + + + + Custom Alfresco model + Sourcesense + 1.0 + + + + + + + + + + + + + + + + + + + Select a Document type... + Brief + E-mail + Fax + E-Form + + + + + + + Select a status... + New + Draft + Proposal + Approved + Public + + + + + + 0 + + + 6 + + + + + 0 + + + 20 + + + + + + + + + Incoming document + cm:content + + + d:text + true + + + + + + d:text + false + + + + + + d:text + false + New + + + + + + + cm:dublincore + cm:versionable + ss:sendable + + + + + + + + + + + d:date + false + + + d:text + false + + + + + + d:text + false + + + + + + d:text + false + + + + + + d:text + false + + + + + + d:text + false + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-repository-context.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-repository-context.xml new file mode 100644 index 00000000..a5c4c409 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/custom-repository-context.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + true + + + + classpath:alfresco/repository.properties + classpath:alfresco/version.properties + classpath:alfresco/domain/transaction.properties + + + classpath:alfresco/extension/application.properties + + + + + + + + classpath:alfresco/domain/hibernate-cfg.properties + + + + + \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/file-servers-custom.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/file-servers-custom.xml new file mode 100644 index 00000000..70faa5b4 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/file-servers-custom.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + Alfresco CIFS Server + + + 255.255.255.0 + + + + + + ${smb.server.bindto} + + + + + + + + + + + + + + + + + + + ${ftp.port} + + + + + + + + + + + + workspace://SpacesStore + /app:company_home + + + + __Alfresco.url + http://${localname}/ + + + + + + + + + + alfresco/desktop/Alfresco.exe + http://${localname}/ + + + org.alfresco.filesys.smb.server.repo.desk.CheckInOutDesktopAction + CheckInOut + __CheckInOut.exe + + + org.alfresco.filesys.smb.server.repo.desk.JavaScriptDesktopAction + JavaScriptURL + __ShowDetails.exe + + anyFiles + copyToTarget + + + + + + + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/ldap-authentication-context.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/ldap-authentication-context.xml new file mode 100644 index 00000000..cfc5f8ea --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/ldap-authentication-context.xml @@ -0,0 +1,157 @@ + + + + + + + + + true + + + classpath:alfresco/extension/application.properties + + + + + + + + + + ${ldap.authentication.allowDeleteUser} + + + + + + + + + + ${ldap.authentication.provider} + + + + + + + ${ldap.authentication.url} + + + ${ldap.authentication.protocol} + + + + + + + + + + ${ldap.authnetication.adminUser} + + + + ${ldap.authnetication.adminPassword} + + + + + + + + + + + cn=%s,ou=Identities,ou=Internal,o=NXP + + + ${ldap.authentication.guestLogin.allowed} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${spaces.store} + + + + + + + + + + + ${server.transaction.allow-writes} + + + ${user.name.caseSensitive} + + + + ${personService.processDuplicates} + + + + ${personService.duplicateMode} + + + ${personService.lastIsBest} + + + ${personService.includeAutoCreated} + + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/ldap-synchronisation-context.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/ldap-synchronisation-context.xml new file mode 100644 index 00000000..32d954be --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/ldap-synchronisation-context.xml @@ -0,0 +1,394 @@ + + + + + + + + + true + + + classpath:alfresco/extension/application.properties + + + + + + + + + + + + + + + + + + ${ldap.synchronisation.personQuery} + + + + + ${ldap.synchronisation.personSearchBase} + + + + + ${ldap.synchronisation.userIdAttributeName} + + + + + + + + + + + + + + + + + + + ${ldap.synchronisation.userIdAttributeName} + + + + + ${ldap.synchronisation.userFirstNameAttributeName} + + + + + ${ldap.synchronisation.userLastNameAttributeName} + + + + + ${ldap.synchronisation.userEmailAttributeName} + + + + + ${ldap.synchronisation.userOrganizationalIdAttributeName} + + + + + + + + + + + + + ${ldap.synchronisation.defaultHomeFolderProvider} + + + + + + + + + + + ${ldap.synchronisation.groupQuery} + + + + + ${ldap.synchronisation.groupSearchBase} + + + + + ${ldap.synchronisation.userIdAttributeName} + + + + + ${ldap.synchronisation.groupIdAttributeName} + + + + + ${ldap.synchronisation.groupType} + + + + + ${ldap.synchronisation.personType} + + + + + + + + + + + ${ldap.synchronisation.groupMemberAttributeName} + + + + + + + + + + + + + + + + + + + + + org.alfresco.repo.importer.ImporterJob + + + + + + + + + + + + ${ldap.synchronisation.import.person.cron} + + + + + + + + + + + org.alfresco.repo.importer.ImporterJob + + + + + + + + + + + + ${ldap.synchronisation.import.group.cron} + + + + + + + + + + + + + + + + + + + + + + + + + ${spaces.store} + + + + + /${system.system_container.childname}/${system.people_container.childname} + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${alfresco_user_store.store} + + + + + /${alfresco_user_store.system_container.childname}/${alfresco_user_store.authorities_container.childname} + + + + + ${ldap.synchronisation.import.group.clearAllChildren} + + + + + + + + + + + + + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/restore-context.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/restore-context.xml new file mode 100644 index 00000000..5ff92001 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/restore-context.xml @@ -0,0 +1,88 @@ + + + + + + + + + alfresco/extension/restore/export_systeminfo.xml + + + + + + + + / + alfresco/extension/restore/export_users.acp + + + + true + + + + + + + / + alfresco/extension/restore/export_system.acp + + + + true + + + + + + + / + alfresco/extension/restore/export_versions.acp + + + + true + + + + + + + / + alfresco/extension/restore/export_spaces_archive.acp + + + + + + + + + + / + alfresco/extension/restore/export_spaces.acp + + + + true + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/web-client-config-custom.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/web-client-config-custom.xml new file mode 100644 index 00000000..d3464db4 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/web-client-config-custom.xml @@ -0,0 +1,193 @@ + + + + + + + + + Italiano + Dutch + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/webclient.properties b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/webclient.properties new file mode 100644 index 00000000..efa85e7e --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/alfresco/extension/webclient.properties @@ -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 \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/log4j.properties b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/log4j.properties new file mode 100644 index 00000000..f7a4b7c5 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/resources/log4j.properties @@ -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 + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/webapp/WEB-INF/README-WEB-INF.txt b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/webapp/WEB-INF/README-WEB-INF.txt new file mode 100644 index 00000000..974995c6 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/webapp/WEB-INF/README-WEB-INF.txt @@ -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) diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/webapp/WEB-INF/faces-config-custom.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/webapp/WEB-INF/faces-config-custom.xml new file mode 100644 index 00000000..5415178f --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/main/webapp/WEB-INF/faces-config-custom.xml @@ -0,0 +1,33 @@ + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/apt/book-index.apt b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/apt/book-index.apt new file mode 100644 index 00000000..3368415a --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/apt/book-index.apt @@ -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> + ++------------------------------------------- + + + + org.apache.maven.doxia + doxia-maven-plugin + 1.0-alpha-10 + + + pre-site + + render-books + + + + + + target/site/books + + + src/site + src/books/manual.xml + + + xdoc + + + pdf + + + rtf + + + + + + + ++------------------------------------------- + +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 + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/apt/index.apt.vm b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/apt/index.apt.vm new file mode 100644 index 00000000..f3cf465d --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/apt/index.apt.vm @@ -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 +-------------------------------------------- + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/fml/faq.fml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/fml/faq.fml new file mode 100644 index 00000000..fc6e5f94 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/fml/faq.fml @@ -0,0 +1,121 @@ + + + + + General + + How do I configure Eclipse? + +
    +
  • Run ' mvn eclipse:eclipse '
  • +
  • "Refresh" on your Eclipse project
  • +
+
+
+ + Why I cannot access db "alf_[jetty,tomcat,jboss] "? + +

+ Remember to setup appropriate permissions for selected db / build profile. You have 2 methods to configure/remove your db: +

    +
  1. + Properly edit + tools/mysql/db_setup.sql + and run from project home + mysql -u root < tools/mysql/db_setup.sql +
  2. +
  3. + if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase), and run + directly + mysql -u root -p < target/classes/tools/[db_setup,db_remove].sql +
  4. +
+

+
+
+ + Why do I get memory errors running jetty? + +

+ Run your build with : + MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn jetty:[run-war,run-exploded] +

+
+
+
+ + Release + + How do I release? + +
    +
  • Uncommenting in generated POM svn.tags.url and maven-release-plugin configuration
  • +
  • Ensuring dryRun="false" element in that configuration
  • +
  • + Running a single command: + mvn release:prepare release:perforn +
  • +
+
+
+ + Why my release process complains about svn LC_ALL variable? + +

+ 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) +

+
+
+ + Why do I get Content integrity errors on restore running with jetty embedded/during release? + +

Did you remove also alf_data_jetty (or how you renamed it) apart from the alf_jetty (or how you renamed it) db ;) ?

+
+
+
+ + Dependency management + + Why JTA can't be properly found on maven repos? + +

+ Due to redistribution problems you have to install JTA manuall when you need it with: + + - 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 + +

+
+
+
+ + Documentation + + Why I have duplicated properties with '_' character in my POM? + +

+ Due to maven/velocity filtering limitation, + dot based properties will not work in filtered site files. That's why a '_' separator is needed. +

+
+
+
+
\ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/site.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/site.xml new file mode 100644 index 00000000..31456e56 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/src/site/site.xml @@ -0,0 +1,53 @@ + + + + + + + + org.apache.maven.skins + maven-application-skin + 1.0 + + + Maven Alfresco Generated Sample - v. ${site_pom_version} + ${site_site_url} + + + + + + + + + + + + + + + + + + + + + + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/book-index.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/book-index.html new file mode 100644 index 00000000..c4b72484 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/book-index.html @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + Alfresco extension - Maven Alfresco Extension Manual + + + + + + + + +
+ +
+
+
+

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
  • +
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/pdf/manual/manual.pdf b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/pdf/manual/manual.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dd48a308cd16c04603652c3bfebd19961dd558f1 GIT binary patch literal 3465 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 PSt^IcAd$&@2OH8K$@~4W literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/pdf/manual/manual.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/pdf/manual/manual.xml new file mode 100644 index 00000000..deb995cb --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/pdf/manual/manual.xml @@ -0,0 +1,143 @@ + + + + + <chunk font="Helvetica" size="24.0" fontstyle="normal" red="255" green="0" blue="0">Introduction</chunk> + +
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Introduction </chunk> + + + + Welcome to the Maven Alfresco Extension Archetype manual + +
+
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">How to edit this manual </chunk> + + + + 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> + + + + + + + + ]]> + + ]]> + + org.apache.maven.doxia]]> + + doxia-maven-plugin]]> + + 1.0-alpha-10]]> + + ]]> + + ]]> + + pre-site]]> + + ]]> + + render-books]]> + + ]]> + + ]]> + + ]]> + + ]]> + + + + + + + + + + ]]> + + target/site/books]]> + + ]]> + + ]]> + + src/site]]> + + src/books/manual.xml]]> + + ]]> + + ]]> + + xdoc]]> + + ]]> + + ]]> + + pdf]]> + + ]]> + + ]]> + + rtf]]> + + ]]> + + ]]> + + ]]> + + ]]> + + ]]> + + ]]> + + + +
+
+
+
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Limitations </chunk> + + + + + 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 + + + +
+
+
\ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/rtf/manual/manual.rtf b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/rtf/manual/manual.rtf new file mode 100644 index 00000000..c2810c93 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/rtf/manual/manual.rtf @@ -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 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 org.apache.maven.doxia\f0\fs20\cf0 \par \f1\fs20\cf0 doxia-maven-plugin\f0\fs20\cf0 \par \f1\fs20\cf0 1.0-alpha-10\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 pre-site\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 render-books\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 target/site/books\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 src/site\f0\fs20\cf0 \par \f1\fs20\cf0 src/books/manual.xml\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 xdoc\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 pdf\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 rtf\f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \f0\fs20\cf0 \par \f1\fs20\cf0 \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} \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/rtf/manual/manual.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/rtf/manual/manual.xml new file mode 100644 index 00000000..deb995cb --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/rtf/manual/manual.xml @@ -0,0 +1,143 @@ + + + + + <chunk font="Helvetica" size="24.0" fontstyle="normal" red="255" green="0" blue="0">Introduction</chunk> + +
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Introduction </chunk> + + + + Welcome to the Maven Alfresco Extension Archetype manual + +
+
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">How to edit this manual </chunk> + + + + 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> + + + + + + + + ]]> + + ]]> + + org.apache.maven.doxia]]> + + doxia-maven-plugin]]> + + 1.0-alpha-10]]> + + ]]> + + ]]> + + pre-site]]> + + ]]> + + render-books]]> + + ]]> + + ]]> + + ]]> + + ]]> + + + + + + + + + + ]]> + + target/site/books]]> + + ]]> + + ]]> + + src/site]]> + + src/books/manual.xml]]> + + ]]> + + ]]> + + xdoc]]> + + ]]> + + ]]> + + pdf]]> + + ]]> + + ]]> + + rtf]]> + + ]]> + + ]]> + + ]]> + + ]]> + + ]]> + + ]]> + + + +
+
+
+
+ + + <chunk font="Helvetica" size="22.0" fontstyle="bold" blue="0" green="0" red="0">Limitations </chunk> + + + + + 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 + + + +
+
+
\ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/book-index.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/book-index.xml new file mode 100644 index 00000000..bdedcc19 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/book-index.xml @@ -0,0 +1,93 @@ + + + +Maven Alfresco Extension Manual +Sourcesense + + + + + + + + + +
Previous: Introduction
End of book
+ +
+

Welcome to the Maven Alfresco Extension +Archetype 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> + +
+
  • 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

    +
  • +
+
+
+ + + + + + + +
Previous: Introduction
End of book
+ + +
diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/index.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/index.xml new file mode 100644 index 00000000..52f7cf0b --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/index.xml @@ -0,0 +1,40 @@ + + + +Alfresco Extension Manual - Table Of Content + + + + + + + +
+ +
+
+
+
+ + + + + +
+ + +
diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/introduction.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/introduction.xml new file mode 100644 index 00000000..bcf9c5de --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/books/xdoc/manual/introduction.xml @@ -0,0 +1,43 @@ + + + +Introduction + + + + + + + + + +
+ +
+
+
+
+ + + + + + + +
+ + +
diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/maven-base.css b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/maven-base.css new file mode 100644 index 00000000..5ccfd476 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/maven-base.css @@ -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; +} diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/maven-theme.css b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/maven-theme.css new file mode 100644 index 00000000..c982168b --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/maven-theme.css @@ -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); +} + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/print.css b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/print.css new file mode 100644 index 00000000..26ad7f0b --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/print.css @@ -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 +} diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/site.css b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/css/site.css new file mode 100644 index 00000000..e69de29b diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/dependencies.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/dependencies.html new file mode 100644 index 00000000..ac6c74da --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/dependencies.html @@ -0,0 +1,346 @@ + + + + + + + + + + + + + + + Alfresco extension - Project Dependencies + + + + + + + +
+ +
+
+
+

Project Dependencies

+

compile

+

The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:

+ + + + + + + + + + + + + + + + + + + + + +
GroupIdArtifactIdVersionClassifierTypeOptional
alfresco.communityalfresco2.1.0-war
mysqlmysql-connector-java5.0.3-jar
+
+

provided

+

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:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GroupIdArtifactIdVersionClassifierTypeOptional
alfresco.communityalfresco-core2.1.0-jar
alfresco.communityalfresco-remote-api2.1.0-jar
alfresco.communityalfresco-repository2.1.0-jar
alfresco.communityalfresco-web-client2.1.0-jar
javax.servletservlet-api2.5-jar
+
+
+

Project Transitive Dependencies

+

The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.

+
+ + +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/faq.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/faq.html new file mode 100644 index 00000000..2be420de --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/faq.html @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + Alfresco extension - FAQ + + + + + + + +
+ +
+
+
+ +

General

+
How do I configure Eclipse? +
+
+
    +
  • Run ' mvn eclipse:eclipse '
  • +
  • "Refresh" on your Eclipse project
  • +
+
[top] +

+
+
Why I cannot access db "alf_[jetty,tomcat,jboss] "? +
+
+

+ Remember to setup appropriate permissions for selected db / build profile. You have 2 methods to configure/remove your db: +

    +
  1. + Properly edit + tools/mysql/db_setup.sql + and run from project home + mysql -u root < tools/mysql/db_setup.sql +
  2. +
  3. + if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase), and run + directly + mysql -u root -p < target/classes/tools/[db_setup,db_remove].sql +
  4. +
+

+
[top] +

+
+
Why do I get memory errors running jetty? +
+
+

+ Run your build with : + MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn jetty:[run-war,run-exploded] +

+
[top] +
+
+
+

Release

+
How do I release? +
+
+
    +
  • Uncommenting in generated POM svn.tags.url and maven-release-plugin configuration
  • +
  • Ensuring dryRun="false" element in that configuration
  • +
  • + Running a single command: + mvn release:prepare release:perforn +
  • +
+
[top] +

+
+
Why my release process complains about svn LC_ALL variable? +
+
+

+ 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) +

+
[top] +

+
+
Why do I get Content integrity errors on restore running with jetty embedded/during release? +
+
+

Did you remove also alf_data_jetty (or how you renamed it) apart from the alf_jetty (or how you renamed it) db ;) ?

+
[top] +
+
+
+

Dependency management

+
Why JTA can't be properly found on maven repos? +
+
+

+ Due to redistribution problems you have to install JTA manuall when you need it with: + + - 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 + +

+
[top] +
+
+
+

Documentation

+
Why I have duplicated properties with '_' character in my POM? +
+
+

+ Due to maven/velocity filtering limitation, + dot based properties will not work in filtered site files. That's why a '_' separator is needed. +

+
[top] +
+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/collapsed.gif b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/collapsed.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e710840640c1bfd9dd76ce7fef56f1004092508 GIT binary patch literal 53 ycmZ?wbhEHbWM^P!XkdT>#h)yUTnvm1Iv_qshJlI4r7uBZ*YkPFU8d4p4Aua}2?(?R literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/expanded.gif b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/expanded.gif new file mode 100644 index 0000000000000000000000000000000000000000..0fef3d89e0df1f8bc49a0cd827f2607c7d7fd2f0 GIT binary patch literal 52 xcmZ?wbhEHbWM^P!XkdT>#h)yUTnvm1Iv_qshJlH@g}+fUi&t{amUB!D)&R0C2fzRT literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/external.png b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/external.png new file mode 100644 index 0000000000000000000000000000000000000000..3f999fc88b360074e41f38c3b4bc06ccb3bb7cf8 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^+(699!3-oX?^2ToQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%@dWsUxR#cd{{R1fCIbVIy!atN z8e~{WkY6y6%iy53@(Yk3;OXKRQgJIOfsI*BO@UFsfhWLBc>*(#PB?Jn2*(o!76E4F z2oaVU3``tH+Kgs0GI5+@Tg}d)z%jd%F@?{8!SRZ5b1yT80-FZIMn)zc2Ca66y`pzY R*nwsJMCn#OVEqF*oew~oaAu*+mN;-=y?VHT3tIe$XQqrDo-uB_a z!$aaK`z6))OKGn34?nwc^SuifkIL#EmDgV_qjg-#8v*0u4q4%1moUw{LZ54UeCgzNF^jX`uv-XK+9g@yFrG9?@ z!9&5&Tgk*j(b!GF&{N4I-Owl3GNQ;Kslp@APSw&&&ux9d>WxL~{EYoKm2KHvv3+ax zZUYB?Ae*8JnchZheXeEaa>@87?_fB*jV>(`erUx0B6j@wa!KnN)QWMO1rn9HC8 zQU}Tt3>@bftT|;oHYhlHH8T8tc{qL2LBC1&wnQeg^-S05<#H=J%;q~&KX!$OXH$lP zifQJ#9>L8|xhAVRHT-xPa*}7JK>(A*!AmL!CQC~j>707p+C5b#ib-SZ5@wfn#-0y8 zor_pb3M^%mkXhlduwjw4dk@RWhYZ<*tSUAV9x3eYyi#^d39lH{872xT#>g14FgCZb z+Lvv}DClhGVU*`8y(Qe}(9I>Lw<6->0~Q`zX3oMH2272dBARI`0wDzxS_G8b_H+a` TZ#n2*^y*Bf^Krq04Gh)*dSnrT literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/icon_info_sml.gif b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/icon_info_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6cb9ad7ce438a798426703e86a7ffc197d51dbb GIT binary patch literal 606 zcmZ?wbhEHb!Rj)7jHhhdgsOUdoQoueZi?7 z>>gViTe&E#V48n=mrru5S3;v}WQB8hiDz7$TU2Fg8RZkU)J)l4H+4sO@7jjxJ4?G(<~7c1nYFul=C0P+d#d`@bj{yi z-npcE!T#Qb2PP~z)H;3B%r(bntUlH>Y2~CvyV|C%UbyM>vTf&9?!2&e&!siHFV0_c zVB`KP8}?n^dg$7Yqc`@PxOMQ%-NWbZ9Xfk=)1K2OFF!hV;r{6>kIr6ua^~ve%eS9j zy7lbD`I|4_et!J??bq+WzI^-n`RfmdkOIfh!pgqYwSCK`t~@$#!^!1aj_y2mzyI{@?vuB79>2N$==JkApPs$`_~ygc*YCf)diVLp z{pXKfy#M&+`?nvze*gIk#Q*;N0|qHLXbBUFKUo+V7>XElKuSSz!oa?}p{S|3rL`#` zEj=M8CWV#D$GthOu#hRgfH^NPHz`Z6or!6tudIJkhF|)EqL_SUmH;#E=*;vU)ut4d z*}1MJ+3|6yK5|W*0YQlwY}}E_93D;*P3)($(!#iHyj&dYc$?gAB*f@)n?~7Mn)5Ze zB*b!gs&gB@F*e|Da`5(ac688Lp~TGAEh5PBlHo`4aV}w%hy?;49h(#+>`NXTD0Bjy;4ci{C-1K14rU#4Xoa9{m6qopA9n0cn|!>ecYkij zwyX=!4*mH3EoqLqSGiVbyFqxD(bS8XSDu{6U1jZO70Ic@{~t&7=B^ zBD)NOoAkU&Gy^LQJ5PtV?u{&65}4ZUmfYbweP{LTy^YnAGv=AGa7*6wj}%~b0?7r5!@qH7P%p1*$L z@#{ODxoUwG+WsY)zWExj-aqxpQS(e!bx&6L`u)?tfB$~}{{8*?cVO&*V`-G2NeC$Z zWMO1r=w{FXnGVVm3>>=|#5rX=HY{-DP?VFNPL-%m%>B+*~5-k^-+4*MLFr;tQ0}^rlS-^!^Q`Mx1hrB$jwn&hk~Xk=#Nl+_9Nu|Y$D G!5RQ;-6)O# literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/icon_warning_sml.gif b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/icon_warning_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..873bbb52cb9768103c27fbb9a9bac16ac615fce5 GIT binary patch literal 576 zcmZ?wbhEHbB!Sy%bj7w z8LP{2I!WYbmF&-Ixi?j6tD|K1XR2M#l>Aw*aXL%wXS3nYW}{zi=4WzsU5r%E6qx+# za{AThd85YVOsT`KDUrWsBtGknIa3>Sy(4;AS@f^Dxt>-=XPXm#FD(1Lr2hBv=9?3X zZS^!XrNw@)>eiN((2|w-y>{aB1+99DGMA?}+UTggT+(Z*rf8+5x~aWVOGcurtl;&U zIa)H3I&#vwvQjJBn`YHj9iKlB7`)(M#!e{yWMO1rC}Yq8NrU2qfqia6SyOXMYa1sM zM_a34eqyRfcQbQJY;^IYGTuzaxglKLqNQEA}OiQec+sQ#rUUjLqg_MpsPmY43 zsgmVV8EHK$eV-B~6*UcAW2+w%1e4o&9#aAczLGF}PmMg|6J0Ey4q A)Bpeg literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/logos/build-by-maven-black.png b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/logos/build-by-maven-black.png new file mode 100644 index 0000000000000000000000000000000000000000..919fd0f66a7f713920dd7422035db1c9d484351d GIT binary patch literal 2294 zcmVKOG`!VuDc=fnx$+R6#>c^>b&wcOS?|$!`a}U6ptjU_J zlBA}l*3{J0)YMd0R~Hr*dU$xO^ie1jhYlTLS+=C4#MRYRCX#twGUSD6Il$6AA+=UAlkY(ZF;m4037Yc>v&!1mPsNXdliHV74&z>zUEv=}iC@U)i zfc^XTJ3BiAKvYyzczAd~K){|od(ip)`}f`5-HnZnv$L~Hzqq=(y7Kb!>gsAwPfu@e z@3gcu0LabFC4?{xBNPh18Fpy3+Tr2hfq{Yc_V$w}PjVdhGtMTH$zU){PfznaPmK)? z4KH52=;-KZX=#a#jlFZ{PF7YH!!Q{c8Taqs=Xt)UsK{tE{@>vc{2Hgh!NL0adH}e0 z@19Df^78Tm0ES@zz{SO7Zf@=upJ1_AP_bIAgpih&mWqmsojZ4GG#a&9{f)&Au~_Wm z<0F^L4;(mPHk)-io!M*-3JMa7#VIK%EBy%}_$g6IPEM9cBvPp~K0f}{t5+6_rMbEJ z(xpqcZ{G$0j^p<2+vnuu^bN3MdU`rLJ3Br;9ss7MrVbuFxUjHLQBhGX6WriQ5|M*_w z@5bUDdV71dTCG;AO-@dx@4a~OA{y)K>k+2N$jAo|9?w z?b_+nr`2k;!{M;o?Qh<^`R=>#RtFA0KR<`Vfh)Li;|5+X!otGn&U<@%H*VaBDU;Gf zr_<5=()7Iqfmk>yLj`}084`48Zf?d|M~)mpOHfeI{QNv2WMN?;Dk=&9GBY#LVzb%$ z`};Aq6GAK&OK4~)&U*g*IT{xh7M8K~%9SgtQ-;OG#ZeC5ym=F=X|vf(9h#b&K7RZN z05+S=X0xGjU|@g-%ePwl!GC`7t=5VDruDp`t9rXwq=tAb*88KQqo~N`a#V_oixKzA z%F4dJzL1cRy1F{CSUfW`qfjWeZ{Hpm7>H$yNF>V6&c<>vGBOgU_w@7}J9g~o(WA6z z#sgc0B0VlH4i&T6{Pyiz)FUDys6$s*7rnXCi!3z)!0DGJ5eITHyM2Q|E@qtti{QRD z*nbiZg+h^&lY>QINl6I+oH}*N-Q67kYHMqqoSd*@fE67^695Pa36aTU0HD+95)%{g zFw)c0Gcqy&K&4WxG906$qk6p_b=txpgmiazqaGF(M)NU+!{3cPsc^{*a`Ja$nXfZ@ zhsL%N4whw0OG`2M6&4oG&CQ8KBHBPHC@3f>C|I^a>__(qFp!^RU zV`F0uhl6EVxm><`_ijATmoHz|)ztxjL?XdmSuB<(Po5A$mM!w}C3kdS~ef}W>dub-Hhz&fI`vJ#oXvTST@?6qsxN=r)tz|+%n^XARiL+I)0 z!HGL|?4Z?OC@z>ppO+fmk zEDIk1FgrV2R8&O&@;qNwR)+h@$;nZx)dqvXVzG2}b>-#d_4oHa!G&Dp59OYMg zd;9A2I}{29&+|ObzkB!Y^XJcKjE;^*({SomlT)I^E^_90Q{xPG;bvU;38ml zcng&pTZhKxAmAX-{xuvUBO`bZu-omWrKK8;X6fkl>(@`5I6;GyySuwkDCBv*tE;QE zwH1kg)0Ijk1~{Qms8A@Vadob6a=9D}VUx-9>C-1l1S|^dcDq`w#&Z*k#hB*+K%>#n z=0$)zo8T)X1Ujc}V+Omw8!O@%0GKp7%(fp1ER{;7QYogYiHQlT)w*&q5{X2iP;Ak literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/logos/build-by-maven-white.png b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/logos/build-by-maven-white.png new file mode 100644 index 0000000000000000000000000000000000000000..7d44c9c2e5742bdf8649ad282f83208f1da9b982 GIT binary patch literal 2260 zcmV;_2rKuAP)4hTLUyOQ{PVbVY5&Y3g!&hN~bnR7}ZgkXUt ziC%zU0gf+&kEv>t|d$x|zXw1mS0D%1b{8z7DF%0wW-8(XBFc`A3vVI|O z^!N97baWg(eE86zLn4uA_wL=Zb@+UKU|=8sJb3V6XlSUctSl!dhm4xd=KJ^W|8h2q zR4NS%3yX+|NKQ`f?d=7Cf`Wo)&z=E5TU%REQIXYZefjbwRvsQ6zIyfQojZ3l8V#{v zv)R(q)39Vr2GBPsa+apV2%%fIZY3ln0Kl+1Y8c*(xe3X6sWFH9kH*UDDLl)ZN`}u~;f9D%P!A2LK5P2`MQl z(b3TuDUC++_U+qm01k;n!Z1u+TwGjS+}X2d^Yil+3Pn;B-~q z{Qdm_z{kf&EEb1^gw)j3R904!x}#RBj~+c578Vv16olc}xpQZGd;7k9`>@WHD_2M| z{%VB2fNVCK&1U^_rTW_bx`C@MK&%ZR^ybZ*=;&yb zN);0mV>X+~OA`|lRVtNAr7A8i#zL)DyJycHxm+$5izO0?QmM?$%p@6le0*H3R;yI1 z=;-LCrlu1oPI!8HIypHhmCA~Wig|;>WHON!GbSbmcN`jxhJ=GssnlpRR;zVzaF8J4 z>+3sJhW@0w{LH6-`(Afr<9kMWBXoSUM7Dox&JGJtojOI96z3EG z*uH)HWN?qO7x!`hzQnzLg5JL3Ui^ps%X$n4`+YK2S-yNZo>gC8kJmXUC#D?-i_a7IlwdR(Kkw#T>s)<( zJ!ZVTycREBO!{t;H9|r{F#q)FQ_`LjAsBnPnnKk2PZ;V3*7{M#@%jyBNObh|^_fg2 zd|f0I3eTTEPf=83VhUbHWgRft|{%MRRMp6H>seM7wV6&k5Vn7H0DDSDT_wn(;aaUDU zWi%QoiptK;CgqIWB$bwy78Mm?w@oI~&6_tPBO~$kExCLno}10)mX;RGM?^%-PjqOt zTFi(#=@4C7NJmxEVK7l6G0yhEp_Lq9)1fj}S-2%Mdrv$L~tStVt%xVSheDG9e5EX$6J zj8GIMm&=bIKaK;TqoYG05D0}r0!Kqb1E0?q2n1`_uAR{_f0E{OgnR$~y~Sd|+0n_# z2@6L?MsUQ^H0|QzLJoDKqobtlneyk|8`Sp{cp}PUC5RRQ^8?;2;Iss$eWk%*n3$Nr z(73v~e)3}s219#$yTM=(2n6o#?!LahxUO>?H!v`O%bZ*;$Ideh!!Qg0h{fVXix$lf i91DLtEx@rr0RIK2cl{g~?Z1Nn0000}s literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/logos/maven-feather.png b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/logos/maven-feather.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ada836e9eb4af4db810f648b013933e72c8fbe GIT binary patch literal 3330 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 literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/newwindow.png b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/images/newwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..6287f72bd08a870908e7361d98c35ee0d6dcbc82 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^+(699!3-oX?^2ToQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%@dWsUxR#cd&SYTt4+aeuCvSob zD+%%o1`04ZXs!GLj7%Iec?BF2%&y2ZFfeUwWbk2P5nvW+xWT~4#-PT{uyM;F);OSv44$rjF6*2U FngH~|K)3(^ literal 0 HcmV?d00001 diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/index.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/index.html new file mode 100644 index 00000000..5c1b6c77 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/index.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + Alfresco extension - Maven Alfresco Extension Manual + + + + + + + + +
+ +
+
+
+

Welcome to the Maven Alfresco Extension Archetype manual

+

You've reached the Sourcesense Maven Alfresco Extension archetype home page (version: 1.0)

+
+

Description

+

Alfresco extension

+
+

Full documentation

+

You can also download the full application manual PDF + or 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 
+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/integration.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/integration.html new file mode 100644 index 00000000..5345bae7 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/integration.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + Alfresco extension - Continuous Integration + + + + + + + +
+ +
+
+
+

Continuous Integration

+

No continuous integration management system is defined. Please check back at a later date.

+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/issue-tracking.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/issue-tracking.html new file mode 100644 index 00000000..a021cf4c --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/issue-tracking.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + Alfresco extension - Issue Tracking + + + + + + + +
+ +
+
+
+

Issue Tracking

+

No issue management system is defined. Please check back at a later date.

+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/jxr.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/jxr.html new file mode 100644 index 00000000..657f448e --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/jxr.html @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + Alfresco extension - Source Xref report + + + + + + + +
+ +
+
+
+

Cross-reference Java source code

+

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).

+

Project sources

+

No project sources were found.

+
+

Test sources

+

No test sources were found.

+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/license.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/license.html new file mode 100644 index 00000000..4a2a53a0 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/license.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + Alfresco extension - Project License + + + + + + + +
+ +
+
+
+

Project License

+

No project license is defined for this project.

+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/mail-lists.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/mail-lists.html new file mode 100644 index 00000000..b1bd02a0 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/mail-lists.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + Alfresco extension - Project Mailing Lists + + + + + + + +
+ +
+
+
+

Project Mailing Lists

+

There are no mailing lists currently associated with this project.

+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-info.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-info.html new file mode 100644 index 00000000..fb715cf4 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-info.html @@ -0,0 +1,256 @@ + + + + + + + + + + + + + + + Alfresco extension - Project Information + + + + + + + +
+ +
+
+
+

Project Information

+

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 Maven + on behalf of the project.

+

Overview

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
DocumentDescription
Continuous Integration +This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.
Dependencies +This document lists the projects dependencies and provides information on each dependency.
Issue Tracking +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.
Mailing Lists +This document provides subscription and archive information for this project's mailing lists.
Project License +This is a link to the definitions of project licenses.
Project Summary +This document lists other related information of this project
Project Team +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.
Source Repository +This is a link to the online source repository that can be viewed via a web browser.
+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-reports.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-reports.html new file mode 100644 index 00000000..609b4f5d --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-reports.html @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + Alfresco extension - Generated Reports + + + + + + + +
+ +
+
+
+

Generated Reports

+

This document provides an overview of the various reports that are automatically generated by Maven + Each report is briefly described below.

+

Overview

+ + + + + + +
DocumentDescription
Source Xref +HTML based, cross-reference version of Java source code.
+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-summary.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-summary.html new file mode 100644 index 00000000..c39449a7 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/project-summary.html @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + Alfresco extension - Project Summary + + + + + + + +
+ +
+
+
+

Project Summary

+

Project Information

+ + + + + + + + + + + + +
FieldValue
NameAlfresco extension
DescriptionAlfresco extension
Homepage
+
+

Project Organization

+

This project does not belong to an organization.

+
+

Build Information

+ + + + + + + + + + + + + + + +
FieldValue
GroupIdtest
ArtifactIdtestart
Version1.0
Typewar
+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/source-repository.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/source-repository.html new file mode 100644 index 00000000..4047455f --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/source-repository.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + Alfresco extension - Source Repository + + + + + + + +
+ +
+
+
+

Source Repository

+

No source configuration management system is defined. Please check back at a later date.

+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/team-list.html b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/team-list.html new file mode 100644 index 00000000..495501d8 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/target/site/team-list.html @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + Alfresco extension - Team list + + + + + + + +
+ +
+
+
+

The Team

+

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.

+

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.

+

Members

+

There are no developers working on this project.

+
+

Contributors

+

There are no contributors listed for this project. Please check back again later.

+
+
+ +
+
+
+
+
+ + + diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/ant-bootstrap.sh b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/ant-bootstrap.sh new file mode 100644 index 00000000..b8e9e7f8 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/ant-bootstrap.sh @@ -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 \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/tasks/tomcat-tasks.properties b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/tasks/tomcat-tasks.properties new file mode 100644 index 00000000..e6c69c25 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/tasks/tomcat-tasks.properties @@ -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 \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/tasks/tomcat-tasks.xml b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/tasks/tomcat-tasks.xml new file mode 100644 index 00000000..447c251a --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/ant/tasks/tomcat-tasks.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/export/testRestoreVersion/README-restore.txt b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/export/testRestoreVersion/README-restore.txt new file mode 100644 index 00000000..486c2499 --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/export/testRestoreVersion/README-restore.txt @@ -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 \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/m2/m2-bootstrap.sh b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/m2/m2-bootstrap.sh new file mode 100644 index 00000000..2ceb089b --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/m2/m2-bootstrap.sh @@ -0,0 +1,44 @@ +#!/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 + +mvn deploy:deploy-file -Dfile=${BASE_DIR}/alfresco-core.jar -DrepositoryId=${TARGET_REPO} -DgroupId=alfresco.community -DartifactId=alfresco-core -Dversion=2.1.0 -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=2.1.0 -Durl=${TARGET_REPO_URL} -Dpackaging=jar +mvn deploy:deploy-file -Dfile=${BASE_DIR}/alfresco.war -DrepositoryId=${TARGET_REPO} -DgroupId=alfresco.community -DartifactId=alfresco -Dversion=2.1.0 -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=2.1.0 -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=2.1.0 -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=2.1.0 -Durl=${TARGET_REPO_URL} -Dpackaging=jar diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/mysql/db_remove.sql b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/mysql/db_remove.sql new file mode 100644 index 00000000..b0d925ba --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/mysql/db_remove.sql @@ -0,0 +1 @@ +drop database ${alfresco.db.name}; \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/mysql/db_setup.sql b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/mysql/db_setup.sql new file mode 100644 index 00000000..3cb054aa --- /dev/null +++ b/maven-alfresco-extension-archetype/target/classes/archetype-resources/tools/mysql/db_setup.sql @@ -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; \ No newline at end of file diff --git a/maven-alfresco-extension-archetype/target/maven-alfresco-extension-archetype-1.0.0.jar b/maven-alfresco-extension-archetype/target/maven-alfresco-extension-archetype-1.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..5ad9fac9bc4267acf1377d2b69d2f22c70724418 GIT binary patch literal 97419 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 literal 0 HcmV?d00001