├── .gitignore ├── LICENSE ├── README.md ├── dwg-transform-support ├── README.md ├── dwg2bmp_alfresco_fallback ├── dwg2svg_alfresco_fallback └── install-qcad-ubuntu.sh ├── pom.xml ├── repo-amp ├── pom.xml ├── src │ ├── main │ │ └── amp │ │ │ ├── config │ │ │ └── alfresco │ │ │ │ ├── extension │ │ │ │ └── subsystems │ │ │ │ │ └── thirdparty │ │ │ │ │ └── default │ │ │ │ │ └── default │ │ │ │ │ └── dwg-transform-context.xml │ │ │ │ └── module │ │ │ │ └── repo-amp │ │ │ │ ├── alfresco-global.properties │ │ │ │ ├── context │ │ │ │ └── cad-transform-context.xml │ │ │ │ └── module-context.xml │ │ │ └── module.properties │ └── test │ │ ├── properties │ │ └── local │ │ │ └── alfresco-global.properties │ │ └── resources │ │ ├── alfresco │ │ └── extension │ │ │ └── disable-webscript-caching-context.xml │ │ └── test-log4j.properties └── tomcat │ └── context.xml ├── repo ├── pom.xml └── src │ └── main │ ├── properties │ └── local │ │ └── alfresco-global.properties │ └── resources │ └── alfresco │ └── extension │ └── dev-log4j.properties ├── run.sh ├── runner ├── pom.xml ├── src │ └── main │ │ └── webapp │ │ └── index.html └── tomcat │ ├── context-repo.xml │ ├── context-share.xml │ └── context-solr.xml ├── share-amp ├── pom.xml ├── src │ ├── main │ │ ├── amp │ │ │ ├── file-mapping.properties │ │ │ └── module.properties │ │ └── resources │ │ │ └── META-INF │ │ │ └── share-config-custom.xml.sample │ └── test │ │ └── resources │ │ ├── alfresco │ │ └── web-extension │ │ │ └── share-config-custom.xml │ │ └── log4j.properties └── tomcat │ └── context.xml ├── share ├── pom.xml └── src │ └── main │ ├── properties │ └── local │ │ └── application.properties │ └── resources │ ├── alfresco │ └── web-extension │ │ ├── custom-slingshot-application-context.xml.sample │ │ └── share-config-custom.xml.sample │ └── log4j.properties └── solr ├── pom.xml ├── solr_home ├── archive-SpacesStore │ └── conf │ │ ├── solrconfig.xml │ │ └── solrcore.properties ├── log4j-solr.properties └── workspace-SpacesStore │ └── conf │ ├── solrconfig.xml │ └── solrcore.properties └── src ├── assembly └── solr-config-assembly.xml └── main └── solr-properties ├── archive ├── solrconfig.xml └── solrcore.properties ├── log4j-solr.properties └── workspace ├── solrconfig.xml └── solrcore.properties /.gitignore: -------------------------------------------------------------------------------- 1 | alf_data_dev 2 | overlays 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | 9 | This version of the GNU Lesser General Public License incorporates 10 | the terms and conditions of version 3 of the GNU General Public 11 | License, supplemented by the additional permissions listed below. 12 | 13 | 0. Additional Definitions. 14 | 15 | As used herein, "this License" refers to version 3 of the GNU Lesser 16 | General Public License, and the "GNU GPL" refers to version 3 of the GNU 17 | General Public License. 18 | 19 | "The Library" refers to a covered work governed by this License, 20 | other than an Application or a Combined Work as defined below. 21 | 22 | An "Application" is any work that makes use of an interface provided 23 | by the Library, but which is not otherwise based on the Library. 24 | Defining a subclass of a class defined by the Library is deemed a mode 25 | of using an interface provided by the Library. 26 | 27 | A "Combined Work" is a work produced by combining or linking an 28 | Application with the Library. The particular version of the Library 29 | with which the Combined Work was made is also called the "Linked 30 | Version". 31 | 32 | The "Minimal Corresponding Source" for a Combined Work means the 33 | Corresponding Source for the Combined Work, excluding any source code 34 | for portions of the Combined Work that, considered in isolation, are 35 | based on the Application, and not on the Linked Version. 36 | 37 | The "Corresponding Application Code" for a Combined Work means the 38 | object code and/or source code for the Application, including any data 39 | and utility programs needed for reproducing the Combined Work from the 40 | Application, but excluding the System Libraries of the Combined Work. 41 | 42 | 1. Exception to Section 3 of the GNU GPL. 43 | 44 | You may convey a covered work under sections 3 and 4 of this License 45 | without being bound by section 3 of the GNU GPL. 46 | 47 | 2. Conveying Modified Versions. 48 | 49 | If you modify a copy of the Library, and, in your modifications, a 50 | facility refers to a function or data to be supplied by an Application 51 | that uses the facility (other than as an argument passed when the 52 | facility is invoked), then you may convey a copy of the modified 53 | version: 54 | 55 | a) under this License, provided that you make a good faith effort to 56 | ensure that, in the event an Application does not supply the 57 | function or data, the facility still operates, and performs 58 | whatever part of its purpose remains meaningful, or 59 | 60 | b) under the GNU GPL, with none of the additional permissions of 61 | this License applicable to that copy. 62 | 63 | 3. Object Code Incorporating Material from Library Header Files. 64 | 65 | The object code form of an Application may incorporate material from 66 | a header file that is part of the Library. You may convey such object 67 | code under terms of your choice, provided that, if the incorporated 68 | material is not limited to numerical parameters, data structure 69 | layouts and accessors, or small macros, inline functions and templates 70 | (ten or fewer lines in length), you do both of the following: 71 | 72 | a) Give prominent notice with each copy of the object code that the 73 | Library is used in it and that the Library and its use are 74 | covered by this License. 75 | 76 | b) Accompany the object code with a copy of the GNU GPL and this license 77 | document. 78 | 79 | 4. Combined Works. 80 | 81 | You may convey a Combined Work under terms of your choice that, 82 | taken together, effectively do not restrict modification of the 83 | portions of the Library contained in the Combined Work and reverse 84 | engineering for debugging such modifications, if you also do each of 85 | the following: 86 | 87 | a) Give prominent notice with each copy of the Combined Work that 88 | the Library is used in it and that the Library and its use are 89 | covered by this License. 90 | 91 | b) Accompany the Combined Work with a copy of the GNU GPL and this license 92 | document. 93 | 94 | c) For a Combined Work that displays copyright notices during 95 | execution, include the copyright notice for the Library among 96 | these notices, as well as a reference directing the user to the 97 | copies of the GNU GPL and this license document. 98 | 99 | d) Do one of the following: 100 | 101 | 0) Convey the Minimal Corresponding Source under the terms of this 102 | License, and the Corresponding Application Code in a form 103 | suitable for, and under terms that permit, the user to 104 | recombine or relink the Application with a modified version of 105 | the Linked Version to produce a modified Combined Work, in the 106 | manner specified by section 6 of the GNU GPL for conveying 107 | Corresponding Source. 108 | 109 | 1) Use a suitable shared library mechanism for linking with the 110 | Library. A suitable mechanism is one that (a) uses at run time 111 | a copy of the Library already present on the user's computer 112 | system, and (b) will operate properly with a modified version 113 | of the Library that is interface-compatible with the Linked 114 | Version. 115 | 116 | e) Provide Installation Information, but only if you would otherwise 117 | be required to provide such information under section 6 of the 118 | GNU GPL, and only to the extent that such information is 119 | necessary to install and execute a modified version of the 120 | Combined Work produced by recombining or relinking the 121 | Application with a modified version of the Linked Version. (If 122 | you use option 4d0, the Installation Information must accompany 123 | the Minimal Corresponding Source and Corresponding Application 124 | Code. If you use option 4d1, you must provide the Installation 125 | Information in the manner specified by section 6 of the GNU GPL 126 | for conveying Corresponding Source.) 127 | 128 | 5. Combined Libraries. 129 | 130 | You may place library facilities that are a work based on the 131 | Library side by side in a single library together with other library 132 | facilities that are not Applications and are not covered by this 133 | License, and convey such a combined library under terms of your 134 | choice, if you do both of the following: 135 | 136 | a) Accompany the combined library with a copy of the same work based 137 | on the Library, uncombined with any other library facilities, 138 | conveyed under the terms of this License. 139 | 140 | b) Give prominent notice with the combined library that part of it 141 | is a work based on the Library, and explaining where to find the 142 | accompanying uncombined form of the same work. 143 | 144 | 6. Revised Versions of the GNU Lesser General Public License. 145 | 146 | The Free Software Foundation may publish revised and/or new versions 147 | of the GNU Lesser General Public License from time to time. Such new 148 | versions will be similar in spirit to the present version, but may 149 | differ in detail to address new problems or concerns. 150 | 151 | Each version is given a distinguishing version number. If the 152 | Library as you received it specifies that a certain numbered version 153 | of the GNU Lesser General Public License "or any later version" 154 | applies to it, you have the option of following the terms and 155 | conditions either of that published version or of any later version 156 | published by the Free Software Foundation. If the Library as you 157 | received it does not specify a version number of the GNU Lesser 158 | General Public License, you may choose any version of the GNU Lesser 159 | General Public License ever published by the Free Software Foundation. 160 | 161 | If the Library as you received it specifies that a proxy can decide 162 | whether future versions of the GNU Lesser General Public License shall 163 | apply, that proxy's public statement of acceptance of any version is 164 | permanent authorization for you to choose that version for the 165 | Library. 166 | 167 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Alfresco Vector Transformations Module 2 | 3 | ### Introduction 4 | This module adds transformation support for vector file types including SVG (Scalable Vector Graphics) and DWG (AutoCAD). 5 | 6 | ### Announcement 7 | 8 | ![](http://loftux.se/files/.thumbs/blog_images/20150209_vector_transformations/720x400e/blog_image.006.jpg) 9 | 10 | For the official announcement from [Loftux AB](http://www.loftux.se?ref=avt-git), please see the following blog post. 11 | 12 | - [http://loftux.se/en/blog/announcing-alfresco-vector-transformations-module](http://loftux.se/en/blog/announcing-alfresco-vector-transformations-module) 13 | 14 | ### Supported Transformations 15 | - DWG to PNG 16 | - DWG to SVG 17 | - SVG to PNG 18 | 19 | ### Prerequisites 20 | - rsvg-convert ([http://webadventures.at/2012/04/29/convert-svg-png/](http://webadventures.at/2012/04/29/convert-svg-png/)) 21 | - QCad with terminal tools ([http://www.qcad.org/en/qcad-downloads-trial](http://www.qcad.org/en/qcad-downloads-trial)) 22 | 23 | ### Adding to your existing Alfresco Project 24 | 25 | 1. Build the project and install it on your local Maven repository using `mvn clean install` 26 | 2. Add the following as a dependency in your repository AMP module. 27 | 28 | ```xml 29 | 30 | se.loftux.modules.vector-transformations 31 | repo-amp 32 | 1.0-SNAPSHOT 33 | amp 34 | 35 | ``` 36 | 37 | * Add additional overlay configurations necessary based on the Maven archetype being in the project. 38 | 39 | ### Configuration 40 | 1. Copy `dwg2bmp_alfresco_fallback` and `dwg2svg_alfresco_fallback` in containing folder for dwg2bmp and dwg2svg from QCad. 41 | 2. Specify paths in `alfresco-global.properties` 42 | 43 | *Example configuration:* 44 | 45 | #DWG -> PNG, SVG 46 | dwg-convert.dir=/Applications/QCAD.app/Contents/Resources 47 | dwg-convert.exe=${dwg-convert.dir}/dwg2bmp_alfresco_fallback 48 | dwg-svg-convert.exe=${dwg-convert.dir}/dwg2svg_alfresco_fallback 49 | content.transformer.Dwg2png.extensions.dwg.png.supported=true 50 | content.transformer.Dwg2svg.extensions.dwg.svg.supported=true 51 | 52 | #SVG -> PNG 53 | svg-png-convert.dir=/usr/local/bin 54 | svg-png-convert.exe=${svg-png-convert.dir}/rsvg-convert 55 | content.transformer.Svg2png.extensions.svg.png.supported=true 56 | 57 | ###Frequently Asked Questions 58 | __How can I improve the quality of the transformations from DWG to PNG?__ 59 | You can try removing the direct transformation from DWG to PNG and creating DWG -> SVG -> PNG chain. 60 | 61 | __Does[ Zoomable for Alfresco](https://loftux.com/en/blog/announcing-the-zoomable-image-viewer-for-alfresco) come bundled with this module?__ 62 | No. [Zoomable for Alfresco](https://loftux.com/en/products-and-add-ons/alfresco-add-ons/zoomable-for-alfresco) is not available with this module. However, Zoomable for Alfresco will include Alfresco Vector Transformations module. 63 | 64 | For more information on Zoomable for Alfresco, please [contact](https://loftux.com/en/contact) Loftux AB. 65 | 66 | ### Contributing 67 | 68 | Please feel free to contribute your transformations back in to this project. 69 | 70 | If you notice any issues, please feel free to fork and contribute a pull request or file an issue. 71 | 72 | ### License 73 | 74 | Please see LICENSE.md 75 | 76 | ### Author 77 | - Bhagya Silva ([http://www.about.me/bhagyas](http://www.about.me/bhagyas)), Software Architect, Loftux AB ([http://www.loftux.com](http://www.loftux.com)). 78 | 79 | ### Sponsored By 80 | 81 | Loftux AB (English) [https://loftux.com](https://loftux.com/en/?ref=avt-github "loftux.com") / 82 | Loftux AB (Swedish/Svenska) [https://loftux.se](https://loftux.se/?ref=avt-github "loftux.com") 83 | 84 | [![Loftux AB](https://loftux.se/themes/loftux_theme/assets/images/loftux-logo/logo-loftux-prefixed-small.png?ref=avt-github)](https://loftux.com?ref=avt-github) 85 | -------------------------------------------------------------------------------- /dwg-transform-support/README.md: -------------------------------------------------------------------------------- 1 | ## Alfresco Vector Transformations Module 2 | 3 | ### Introduction 4 | This module adds transformation support for vector file types including SVG and DWG (AutoCAD) 5 | 6 | ### Supported Transformations 7 | - DWG to PNG 8 | - DWG to SVG 9 | - SVG to PNG 10 | 11 | #### Requirements 12 | - rsvg-convert ([http://webadventures.at/2012/04/29/convert-svg-png/]()) 13 | - QCad with terminal tools ([http://www.qcad.org/en/qcad-downloads-trial]()) 14 | 15 | ### Installation 16 | - Copy `dwg2bmp_alfresco_fallback` and `dwg2svg_alfresco_fallback` in containing folder for dwg2bmp and dwg2svg from QCad. 17 | - Specify paths in alfresco-global.properties 18 | 19 | 20 | ### Author 21 | - Bhagya Silva ([http://www.about.me/bhagyas]()), Software Architect, Loftux AB ([http://www.loftux.com]()). -------------------------------------------------------------------------------- /dwg-transform-support/dwg2bmp_alfresco_fallback: -------------------------------------------------------------------------------- 1 | #!/bin/bash +x 2 | echo "****" 3 | DIR=${0%/*} 4 | echo "DIR: $DIR" 5 | 6 | cd $DIR 7 | pwd 8 | #binary="$DIR/qcad" 9 | binary="./qcad" 10 | echo "Binary: $binary" 11 | echo "Setting autostart script..." 12 | autostart="./scripts/Pro/Tools/Dwg2Bmp/Dwg2Bmp.js" 13 | #autostart="$DIR/scripts/Pro/Tools/Dwg2Bmp/Dwg2Bmp.js" 14 | echo "Autostart: $autostart" 15 | echo "Other params: $@" 16 | echo "****" 17 | 18 | #"$binary" -no-dock-icon -no-gui -allow-multiple-instances -autostart "$autostart" "$0" "$@" 19 | 20 | 21 | "$binary" -no-dock-icon -no-gui -allow-multiple-instances -enable-script-debugger -autostart "$autostart" "$0" "$1" "$2" -q 100 -r 10 -f "$3" | grep -q 'Conversion finished.' 22 | 23 | 24 | #"$binary" -no-dock-icon -no-gui -allow-multiple-instances -enable-script-debugger -autostart "$autostart" "$0" "$@" 25 | 26 | OUT=$? 27 | if [ $OUT -eq 0 ];then 28 | echo "Actual image conversion completed with high quality." 29 | else 30 | "$binary" -no-dock-icon -no-gui -allow-multiple-instances -enable-script-debugger -autostart "$autostart" "$0" "$1" "$2" -q 100 -f "$3" | grep -q 'Conversion finished.' 31 | echo "Fallback image render completed." 32 | fi 33 | -------------------------------------------------------------------------------- /dwg-transform-support/dwg2svg_alfresco_fallback: -------------------------------------------------------------------------------- 1 | #!/bin/bash +x 2 | echo "****" 3 | DIR=${0%/*} 4 | echo "DIR: $DIR" 5 | 6 | cd $DIR 7 | pwd 8 | #binary="$DIR/qcad" 9 | binary="./qcad" 10 | echo "Binary: $binary" 11 | echo "Setting autostart script..." 12 | autostart="./scripts/Pro/Tools/Dwg2Svg/Dwg2Svg.js" 13 | #autostart="$DIR/scripts/Pro/Tools/Dwg2Bmp/Dwg2Bmp.js" 14 | echo "Autostart: $autostart" 15 | echo "Other params: $@" 16 | echo "****" 17 | 18 | #"$binary" -no-dock-icon -no-gui -allow-multiple-instances -autostart "$autostart" "$0" "$@" 19 | 20 | 21 | "$binary" -no-dock-icon -no-gui -allow-multiple-instances -enable-script-debugger -autostart "$autostart" "$0" "$1" "$2" -q 100 -r 10 -f "$3" | grep -q 'Conversion finished.' 22 | 23 | 24 | #"$binary" -no-dock-icon -no-gui -allow-multiple-instances -enable-script-debugger -autostart "$autostart" "$0" "$@" 25 | 26 | OUT=$? 27 | if [ $OUT -eq 0 ];then 28 | echo "Actual image conversion completed with high quality." 29 | else 30 | "$binary" -no-dock-icon -no-gui -allow-multiple-instances -enable-script-debugger -autostart "$autostart" "$0" "$1" "$2" -q 100 -f "$3" | grep -q 'Conversion finished.' 31 | echo "Fallback image render completed." 32 | fi 33 | -------------------------------------------------------------------------------- /dwg-transform-support/install-qcad-ubuntu.sh: -------------------------------------------------------------------------------- 1 | if [ "$(whoami)" != "root" ]; then 2 | echo "*************************************" 3 | echo "You need to run this script with sudo" 4 | echo "*************************************" 5 | echo "Sorry, you are not root." 6 | exit 1 7 | fi 8 | 9 | wget https://www.ribbonsoft.com/archives/qcad/qcad-3.8.1-linux-x86_64.run 10 | chmod +x qcad-3.8.1-linux-x86_64.run 11 | ./qcad-3.8.1-linux-x86_64.run 12 | echo "Downloading Vector Transformations module wrappers..." 13 | wget https://raw.githubusercontent.com/loftuxab/alfresco-vector-transformations-module/master/dwg-transform-support/dwg2bmp_alfresco_fallback -P ~/opt/qcad-3.8.1-linux-x86_64/ 14 | wget https://raw.githubusercontent.com/loftuxab/alfresco-vector-transformations-module/master/dwg-transform-support/dwg2svg_alfresco_fallback -P ~/opt/qcad-3.8.1-linux-x86_64/ 15 | echo "QCad installation completed." 16 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | se.loftux.modules.vector-transformations 5 | vector-transformations 6 | 1.0-SNAPSHOT 7 | Alfresco Repository and Share Quickstart with database and an embedded runner. 8 | This All-in-One project allows to manage all the components involved in Alfresco development (Repo, Share, Solr, AMPs) in one project 9 | pom 10 | 11 | 12 | org.alfresco.maven 13 | alfresco-sdk-parent 14 | 2.0.0 15 | 16 | 17 | 21 | 22 | 26 | 27 | 30 | 31 | 32 | WARN 33 | 34 | alf_data_dev 35 | 36 | local 37 | 38 | 39 | 40 | 41 | 42 | 47 | 48 | ${alfresco.groupId} 49 | alfresco-platform-distribution 50 | ${alfresco.version} 51 | pom 52 | import 53 | 54 | 55 | 56 | 57 | 60 | 61 | 62 | run 63 | 64 | 67 | false 68 | 69 | 70 | 71 | 72 | rm 73 | 74 | 2.3.a.1 75 | ${project.build.directory}/rm-amps 76 | ${project.build.directory}/${project.build.finalName}.war 77 | org.alfresco:${alfresco.rm.artifactId}:${alfresco.rm.version}:amp 78 | 79 | 80 | 81 | 82 | repo-amp 83 | share-amp 84 | repo 85 | solr 86 | share 87 | runner 88 | 89 | -------------------------------------------------------------------------------- /repo-amp/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | repo-amp 5 | AVT - Alfresco Repository AMP Module 6 | amp 7 | This is a sample Alfresco repository AMP project, depended upon by the alfresco WAR aggregator 8 | 9 | 10 | se.loftux.modules.vector-transformations 11 | vector-transformations 12 | 1.0-SNAPSHOT 13 | 14 | 15 | 16 | 18 | alfresco 19 | 20 | 21 | 27 | 28 | 29 | ${alfresco.groupId} 30 | alfresco-repository 31 | 32 | 33 | 34 | 35 | 36 | 37 | rm 38 | 39 | 40 | ${alfresco.groupId} 41 | alfresco-rm 42 | ${alfresco.rm.version} 43 | jar 44 | classes 45 | 46 | 47 | 48 | 49 | 50 | enterprise 51 | 52 | 53 | ${alfresco.groupId} 54 | alfresco-enterprise-repository 55 | ${alfresco.version} 56 | jar 57 | provided 58 | 59 | 60 | 61 | 62 | run 63 | 64 | true 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /repo-amp/src/main/amp/config/alfresco/extension/subsystems/thirdparty/default/default/dwg-transform-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | ${dwg-convert.exe} -l 16 | 17 | 18 | 19 | 20 | 1 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ${dwg-convert.exe} -o ${target} ${source} 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 1 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | application/vnd.dwg 48 | 49 | 50 | image/png 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | ${dwg-svg-convert.exe} -l 66 | 67 | 68 | 69 | 70 | 1 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | ${dwg-svg-convert.exe} -o ${target} ${source} 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 1 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | application/vnd.dwg 98 | 99 | 100 | image/svg+xml 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | ${svg-png-convert.exe} --version 118 | 119 | 120 | 121 | 122 | 1 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | ${svg-png-convert.exe} -h 10000 ${source} -o ${target} 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 1 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | image/svg+xml 150 | 151 | 152 | image/png 153 | 154 | 155 | 156 | 157 | 158 | 159 | -------------------------------------------------------------------------------- /repo-amp/src/main/amp/config/alfresco/module/repo-amp/alfresco-global.properties: -------------------------------------------------------------------------------- 1 | #DWG -> PNG, SVG 2 | dwg-convert.dir=/Applications/QCAD.app/Contents/Resources 3 | dwg-convert.exe=${dwg-convert.dir}/dwg2bmp_alfresco_fallback 4 | dwg-svg-convert.exe=${dwg-convert.dir}/dwg2svg_alfresco_fallback 5 | content.transformer.Dwg2png.extensions.dwg.png.supported=true 6 | content.transformer.Dwg2svg.extensions.dwg.svg.supported=true 7 | 8 | 9 | #SVG -> PNG 10 | svg-png-convert.dir=/usr/local/bin 11 | svg-png-convert.exe=${svg-png-convert.dir}/rsvg-convert 12 | content.transformer.Svg2png.extensions.svg.png.supported=true -------------------------------------------------------------------------------- /repo-amp/src/main/amp/config/alfresco/module/repo-amp/context/cad-transform-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | transformer.worker.Dwg2png 12 | 13 | 14 | 15 | org.alfresco.repo.content.transform.ContentTransformerWorker 16 | 17 | 18 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | transformer.worker.Dwg2svg 34 | 35 | 36 | 37 | org.alfresco.repo.content.transform.ContentTransformerWorker 38 | 39 | 40 | 41 | 42 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | transformer.worker.Svg2png 55 | 56 | 57 | 58 | org.alfresco.repo.content.transform.ContentTransformerWorker 59 | 60 | 61 | 62 | 63 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /repo-amp/src/main/amp/config/alfresco/module/repo-amp/module-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /repo-amp/src/main/amp/module.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | 17 | 18 | # SDK Sample module 19 | 20 | # ==== Beginning of Alfresco required/optional properties ====== # 21 | 22 | module.id=${project.artifactId} 23 | #module.aliases=myModule-123, my-module 24 | module.title=${project.name} 25 | module.description=${project.description} 26 | module.version=${noSnapshotVersion} 27 | 28 | # The following optional properties can be used to prevent the module from being added 29 | # to inappropriate versions of the WAR file. 30 | # module.repo.version.min=2.0 31 | # module.repo.version.max=2.1 32 | 33 | # FIXME: This dependencies should come out of mvn dependencies on amp 34 | 35 | # The following describe dependencies on other modules 36 | # Depends on net.sf.myproject.module.SupportModuleA version ${version} or later 37 | # module.depends.net.sf.myproject.module.SupportModuleA=${version}-* 38 | # Depends on net.sf.myproject.module.SupportModuleA version ${version} to 2.0 39 | # module.depends.net.sf.myproject.module.SupportModuleB=${version}-2.0 40 | # Depends on net.sf.myproject.module.SupportModuleC - any version 41 | # module.depends.net.sf.myproject.module.SupportModuleB=* 42 | 43 | 44 | # ==== End of Alfresco required/optional properties ======= # 45 | 46 | 47 | # ==== Beginning of module required properties/optional ====== # -------------------------------------------------------------------------------- /repo-amp/src/test/properties/local/alfresco-global.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | 17 | 18 | # RUN TIME PROPERTIES 19 | # ------------------- 20 | 21 | # Sample custom content and index data location 22 | # This will create alf_data Relative to appserver run folder 23 | # 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. 24 | dir.root=${alfresco.data.location} 25 | # Allowed values are: NONE, AUTO, FULL 26 | index.recovery.mode=NONE 27 | # This is default. Allowed values are: solr, lucene, noindex 28 | index.subsystem.name=solr 29 | 30 | #dir.keystore=. 31 | #keystore.password=storepassword 32 | #metadata.password=metapassword 33 | 34 | # Fail or not when there are node integrity checker errors 35 | integrity.failOnError=true 36 | 37 | # Database connection properties 38 | db.driver=${alfresco.db.datasource.class} 39 | db.url=${alfresco.db.url} 40 | db.username=${alfresco.db.username} 41 | db.password=${alfresco.db.password} 42 | db.pool.initial=10 43 | db.pool.max=100 44 | 45 | # File servers related properties 46 | # For local builds we disable CIFS and FTP. Edit the following property to reenable them 47 | smb.server.enabled=false 48 | smb.server.name=CFS_SHARE_LOCAL 49 | smb.server.domain=mycompany.com 50 | smb.server.bindto=127.0.0.1 51 | smb.tcpip.port=1445 52 | netbios.session.port=1139 53 | netbios.name.port=1137 54 | netbios.datagram.port=1138 55 | ftp.server.enables=false 56 | ftp.port=1121 57 | ftp.authenticator=alfresco -------------------------------------------------------------------------------- /repo-amp/src/test/resources/alfresco/extension/disable-webscript-caching-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | javascript 24 | 25 | 26 | js 27 | 28 | 29 | 30 | false 31 | 32 | 33 | 34 | 35 | true 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | ${spaces.store} 46 | 47 | 48 | ${spaces.company_home.childname} 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /repo-amp/src/test/resources/test-log4j.properties: -------------------------------------------------------------------------------- 1 | # Overrides only log4j locations and add the test logging properties 2 | # This gets merged with the main file 3 | 4 | # Set root logger level to error 5 | log4j.rootLogger=${app.log.root.level}, Console, File 6 | 7 | ###### Console appender definition ####### 8 | 9 | # All outputs currently set to be a ConsoleAppender. 10 | log4j.appender.Console=org.apache.log4j.ConsoleAppender 11 | log4j.appender.Console.layout=org.apache.log4j.PatternLayout 12 | 13 | # use log4j NDC to replace %x with tenant domain / username 14 | log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n 15 | #log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n 16 | 17 | ###### File appender definition ####### 18 | log4j.appender.File=org.apache.log4j.DailyRollingFileAppender 19 | log4j.appender.File.File=${app.log.dir}alfresco.log 20 | log4j.appender.File.Append=true 21 | log4j.appender.File.DatePattern='.'yyyy-MM-dd 22 | log4j.appender.File.layout=org.apache.log4j.PatternLayout 23 | log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n -------------------------------------------------------------------------------- /repo-amp/tomcat/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 12 | 13 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /repo/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 15 | 4.0.0 16 | repo 17 | Alfresco Repository WAR Aggregator 18 | war 19 | Alfresco Repository aggregator, installs your repository AMPs in the Alfresco WAR for aggregation and easy deployment purposes 20 | 21 | 22 | se.loftux.modules.vector-transformations 23 | vector-transformations 24 | 1.0-SNAPSHOT 25 | 26 | 27 | 28 | 29 | ${alfresco.groupId} 30 | ${alfresco.repo.artifactId} 31 | ${alfresco.version} 32 | war 33 | 34 | 35 | 36 | ${project.groupId} 37 | repo-amp 38 | ${project.version} 39 | amp 40 | 41 | 42 | 50 | 51 | 52 | 53 | 54 | 55 | maven-war-plugin 56 | 57 | 63 | 64 | 65 | 66 | 67 | 68 | ${alfresco.groupId} 69 | ${alfresco.repo.artifactId} 70 | war 71 | 72 | 73 | 74 | 75 | 76 | ${project.groupId} 77 | repo-amp 78 | amp 79 | 80 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | run 96 | 97 | 98 | 99 | maven-war-plugin 100 | 101 | 102 | prepare-exploded-war 103 | 104 | exploded 105 | 106 | prepare-package 107 | 108 | 109 | default-war 110 | 111 | ${project.build.directory}/${project.build.finalName}-nossl/WEB-INF/web.xml 112 | 113 | 114 | 115 | 116 | 117 | 118 | com.google.code.maven-replacer-plugin 119 | replacer 120 | 121 | 122 | disable-securecomms 123 | prepare-package 124 | 125 | replace 126 | 127 | 128 | 129 | 130 | true 131 | ${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml 132 | ${project.build.directory}/${project.build.finalName}-nossl/WEB-INF/ 133 | false 134 | 135 | 136 | ]]> 137 | 138 | 139 | 140 | ]]> 141 | ]]> 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | org.alfresco.maven 151 | alfresco-rad 152 | ${maven.alfresco.version} 153 | 154 | 155 | 156 | 157 | 158 | rm 159 | 160 | alfresco-rm 161 | 162 | 163 | 164 | 165 | 166 | org.apache.maven.plugins 167 | maven-dependency-plugin 168 | 169 | 170 | get-rm-repo 171 | package 172 | 173 | copy 174 | 175 | 176 | ${app.rm.artifact} 177 | ${app.rm.amps.location} 178 | 179 | 180 | 181 | 182 | 183 | 184 | org.alfresco.maven.plugin 185 | alfresco-maven-plugin 186 | 187 | 188 | install-rm-repo 189 | package 190 | 191 | install 192 | 193 | 194 | 195 | 196 | ${app.rm.amps.location} 197 | ${app.rm.war.location} 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | -------------------------------------------------------------------------------- /repo/src/main/properties/local/alfresco-global.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # RUN TIME PROPERTIES 16 | # ------------------- 17 | 18 | # Sample custom content and index data location 19 | # This will create alf_data Relative to appserver run folder 20 | # 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. 21 | 22 | ############################### 23 | ## Common Alfresco Properties # 24 | ############################### 25 | 26 | 27 | dir.root=${alfresco.data.location} 28 | # Allowed values are: NONE, AUTO, FULL 29 | index.recovery.mode=FULL 30 | 31 | index.subsystem.name=solr 32 | solr.host=localhost 33 | solr.port=8080 34 | solr.secureComms=none 35 | # Setting Solr backup for the future. Tweak this if needed (ideally in other env properties files) 36 | solr.backup.alfresco.cronExpression=0 30 2 * * ? 2050 37 | solr.backup.archive.cronExpression=0 30 3 * * ? 2050 38 | solr.backup.alfresco.remoteBackupLocation=${dir.root}/solrBackup/alfresco 39 | solr.backup.archive.remoteBackupLocation=${dir.root}/solrBackup/archive 40 | # We are in the local DEV properties file, no need for Solr backup 41 | solr.backup.alfresco.numberToKeep=0 42 | solr.backup.archive.numberToKeep=0 43 | 44 | # These jobs seem to require Lucene (Unsupported Operation with Solr) so we disasble them / set to future date 45 | # See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597 46 | # If you want to enable them (and so full WQS functionality), please also set index.subsystem.name=lucene 47 | wcmqs.dynamicCollectionProcessor.schedule=0 30 2 * * ? 2060 48 | wcmqs.feedbackProcessor.schedule=0 40 2 * * ? 2060 49 | wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060 50 | 51 | # Fail or not when there are node integrity checker errors 52 | integrity.failOnError=true 53 | 54 | # database connection properties 55 | # MySQL connection (This is default and requires mysql-connector-java-5.0.3-bin.jar, which ships with the Alfresco server) 56 | 57 | db.driver=${alfresco.db.datasource.class} 58 | db.url=${alfresco.db.url} 59 | db.username=${alfresco.db.username} 60 | db.password=${alfresco.db.password} 61 | db.pool.initial=10 62 | db.pool.max=100 63 | 64 | 65 | # 66 | # Sample custom content and index data location 67 | # 68 | #dir.root=/srv/alfresco/alf_data 69 | #dir.keystore=${dir.root}/keystore 70 | 71 | # 72 | # Sample database connection properties 73 | # 74 | #db.username=alfresco 75 | #db.password=alfresco 76 | 77 | # 78 | # External locations 79 | #------------- 80 | #ooo.exe=soffice 81 | #ooo.enabled=false 82 | #jodconverter.officeHome=./OpenOffice.org 83 | #jodconverter.portNumbers=8101 84 | #jodconverter.enabled=true 85 | #img.root=./ImageMagick 86 | #swf.exe=./bin/pdf2swf 87 | 88 | # 89 | # Property to control whether schema updates are performed automatically. 90 | # Updates must be enabled during upgrades as, apart from the static upgrade scripts, 91 | # there are also auto-generated update scripts that will need to be executed. After 92 | # upgrading to a new version, this can be disabled. 93 | # 94 | #db.schema.update=true 95 | 96 | # 97 | # MySQL connection 98 | # 99 | #db.driver=org.gjt.mm.mysql.Driver 100 | #db.url=jdbc:mysql://localhost/alfresco?useUnicode=yes&characterEncoding=UTF-8 101 | 102 | # 103 | # Oracle connection 104 | # 105 | #db.driver=oracle.jdbc.OracleDriver 106 | #db.url=jdbc:oracle:thin:@localhost:1521:alfresco 107 | 108 | # 109 | # SQLServer connection 110 | # Requires jTDS driver version 1.2.5 and SNAPSHOT isolation mode 111 | # Enable TCP protocol on fixed port 1433 112 | # Prepare the database with: 113 | # ALTER DATABASE alfresco SET ALLOW_SNAPSHOT_ISOLATION ON; 114 | # 115 | #db.driver=net.sourceforge.jtds.jdbc.Driver 116 | #db.url=jdbc:jtds:sqlserver://localhost:1433/alfresco 117 | #db.txn.isolation=4096 118 | 119 | # 120 | # PostgreSQL connection (requires postgresql-8.2-504.jdbc3.jar or equivalent) 121 | # 122 | #db.driver=org.postgresql.Driver 123 | #db.url=jdbc:postgresql://localhost:5432/alfresco 124 | 125 | # 126 | # DB2 connection 127 | # 128 | #db.driver=com.ibm.db2.jcc.DB2Driver 129 | #db.url=jdbc:db2://localhost:50000/alfresco:retrieveMessagesFromServerOnGetMessage=true; 130 | 131 | # 132 | # Index Recovery Mode 133 | #------------- 134 | #index.recovery.mode=AUTO 135 | 136 | # 137 | # Outbound Email Configuration 138 | #------------- 139 | #mail.host= 140 | #mail.port=25 141 | #mail.username=anonymous 142 | #mail.password= 143 | #mail.encoding=UTF-8 144 | #mail.from.default=alfresco@alfresco.org 145 | #mail.smtp.auth=false 146 | 147 | # 148 | # Alfresco Email Service and Email Server 149 | #------------- 150 | 151 | # Enable/Disable the inbound email service. The service could be used by processes other than 152 | # the Email Server (e.g. direct RMI access) so this flag is independent of the Email Service. 153 | #------------- 154 | #email.inbound.enabled=true 155 | 156 | # Email Server properties 157 | #------------- 158 | #email.server.enabled=true 159 | #email.server.port=25 160 | #email.server.domain=alfresco.com 161 | #email.inbound.unknownUser=anonymous 162 | 163 | # A comma separated list of email REGEX patterns of allowed senders. 164 | # If there are any values in the list then all sender email addresses 165 | # must match. For example: 166 | # .*\@alfresco\.com, .*\@alfresco\.org 167 | # Allow anyone: 168 | #------------- 169 | #email.server.allowed.senders=.* 170 | 171 | # 172 | # The default authentication chain 173 | # To configure external authentication subsystems see: 174 | # http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems 175 | #------------- 176 | #authentication.chain=alfrescoNtlm1:alfrescoNtlm 177 | 178 | # 179 | # URL Generation Parameters (The ${localname} token is replaced by the local server name) 180 | #------------- 181 | #alfresco.context=alfresco 182 | #alfresco.host=${localname} 183 | #alfresco.port=8080 184 | #alfresco.protocol=http 185 | # 186 | #share.context=share 187 | #share.host=${localname} 188 | #share.port=8080 189 | #share.protocol=http 190 | 191 | #imap.server.enabled=true 192 | #imap.server.port=143 193 | #imap.server.host=localhost 194 | 195 | # Default value of alfresco.rmi.services.host is 0.0.0.0 which means 'listen on all adapters'. 196 | # This allows connections to JMX both remotely and locally. 197 | # 198 | alfresco.rmi.services.host=0.0.0.0 199 | 200 | # 201 | # RMI service ports for the individual services. 202 | # These seven services are available remotely. 203 | # 204 | # Assign individual ports for each service for best performance 205 | # or run several services on the same port. You can even run everything on 50500 if needed. 206 | # 207 | # Select 0 to use a random unused port. 208 | # 209 | #avm.rmi.service.port=50501 210 | #avmsync.rmi.service.port=50502 211 | #attribute.rmi.service.port=50503 212 | #authentication.rmi.service.port=50504 213 | #repo.rmi.service.port=50505 214 | #action.rmi.service.port=50506 215 | #wcm-deployment-receiver.rmi.service.port=50507 216 | #monitor.rmi.service.port=50508 217 | 218 | 219 | # Dialect is autodetected starting from 3.2 220 | # H2 dialect 221 | #hibernate.dialect=org.hibernate.dialect.H2Dialect 222 | 223 | 224 | # Property to control whether schema updates are performed automatically. 225 | # Updates must be enabled during upgrades as, apart from the static upgrade scripts, 226 | # there are also auto-generated update scripts that will need to be executed. After 227 | # upgrading to a new version, this can be disabled. 228 | #db.schema.update=true 229 | 230 | # File servers related properties 231 | # For local builds we disable CIFS and FTP. Edit the following property to reenable them 232 | cifs.enabled=false 233 | 234 | ftp.enabled=false 235 | ftp.port=1121 236 | ftp.authenticator=alfresco 237 | 238 | # This properties file is used to configure LDAP authentication 239 | # NB: The following LDAP related properties are read only in case -Denteprise mvn build property is specified 240 | # Wheter to allow silent deletion of users in the Alfresco UI (note: users will be then resynced in the next synchronization) 241 | ldap.authentication.allowDeleteUser=true 242 | # LDAP JNDI provider 243 | ldap.authentication.provider=com.sun.jndi.ldap.LdapCtxFactory 244 | # Url and protocol for LDAP server to carry authentication against 245 | ldap.authentication.url=ldap://ldap.mycompany.com:636 246 | # can be (simple, ssl) 247 | ldap.authentication.protcol=ssl 248 | # Credentials with full access to the directoty used 249 | ldap.authentication.adminUser=ou=Admin,ou=Services,o=Company 250 | ldap.authentication.adminPassword=secret 251 | # Wheter to allow unauthenticated guest a read only login 252 | ldap.authentication.guestLogin.allowed=false 253 | # 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 254 | server.transaction.allow-writes=true 255 | # Wheter user names are case sensitive 256 | user.name.caseSensitive=true 257 | # Wheter the synchronization process has to process duplicated users (e.g. synced users and users coming from the sync) 258 | personService.processDuplicates=true 259 | # Which action to take when processin duplicates. One of: LEAVE, SPLIT, DELETE 260 | personService.duplicateMode=DELETE 261 | # Which of the users (in case of SPLIT duplicates policy) should be considered valid 262 | personService.lastIsBest=true 263 | # Wheter auto created users should be considered when processing duplicates 264 | personService.includeAutoCreated=true 265 | # The query to find the people to import 266 | ldap.synchronisation.personQuery=(objectclass=inetOrgPerson) 267 | # The search base of the query to find people to import 268 | ldap.synchronisation.personSearchBase=ou=Identities,ou=mycompany,o=com 269 | # The attribute name on people objects found in LDAP to use as the uid in Alfresco 270 | ldap.synchronisation.userIdAttributeName=cn 271 | # The attribute on person objects in LDAP to map to the first name property in Alfresco 272 | ldap.synchronisation.userFirstNameAttributeName=givenName 273 | # The attribute on person objects in LDAP to map to the last name property in Alfresco 274 | ldap.synchronisation.userLastNameAttributeName=sn 275 | # The attribute on person objects in LDAP to map to the email property in Alfresco 276 | ldap.synchronisation.userEmailAttributeName=cn 277 | # The attribute on person objects in LDAP to map to the organizational id property in Alfresco 278 | ldap.synchronisation.userOrganizationalIdAttributeName=maildomain 279 | # The default home folder provider to use for people created via LDAP import 280 | ldap.synchronisation.defaultHomeFolderProvider=companyHomeFolderProvider 281 | # The query to find group objects 282 | ldap.synchronisation.groupQuery=(objectclass=AlfrescoGroup) 283 | # The search base to use to find group objects 284 | ldap.synchronisation.groupSearchBase=ou=AlfrescoGroups,ou=mycompany,o=com 285 | # The attribute on LDAP group objects to map to the gid property in Alfrecso 286 | ldap.synchronisation.groupIdAttributeName=cn 287 | # The group type in LDAP 288 | ldap.synchronisation.groupType=AlfrescoGroup 289 | # The person type in LDAP 290 | ldap.synchronisation.personType=inetOrgPerson 291 | # The attribute in LDAP on group objects that defines the DN for its members 292 | ldap.synchronisation.groupMemberAttributeName=member 293 | # The cron expression defining when people imports should take place (e.g. every evening at 22:00 hours) 294 | ldap.synchronisation.import.person.cron=0 0 22 * * ? 295 | # The cron expression defining when group imports should take place (e.g. every evening at 21:45 hours) 296 | ldap.synchronisation.import.group.cron=0 45 21 * * ? 297 | # Should all groups be cleared out at import time? 298 | # - 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) 299 | # - setting this to true means old group definitions will be tidied up. 300 | ldap.synchronisation.import.group.clearAllChildren=false 301 | 302 | -------------------------------------------------------------------------------- /repo/src/main/resources/alfresco/extension/dev-log4j.properties: -------------------------------------------------------------------------------- 1 | # You can add here custom log4j classes. This will be merged with the main log4j.properties 2 | # See http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#Best_Log4j_Configuration_Practices -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Downloads the spring-loaded lib if not existing and runs the full all-in-one 3 | # (Alfresco + Share + Solr) using the runner project 4 | springloadedfile=~/.m2/repository/org/springframework/springloaded/1.2.0.RELEASE/springloaded-1.2.0.RELEASE.jar 5 | 6 | if [ ! -f $springloadedfile ]; then 7 | mvn validate -Psetup 8 | fi 9 | MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G -XX:PermSize=300m" mvn install -Prun -------------------------------------------------------------------------------- /runner/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | runner 5 | Alfresco, Share and Solr Tomcat Runner 6 | pom 7 | Alfresco, Share and Solr Tomcat Runner 8 | 9 | 10 | se.loftux.modules.vector-transformations 11 | vector-transformations 12 | 1.0-SNAPSHOT 13 | 14 | 15 | 16 | 17 | run 18 | 19 | 20 | 21 | org.apache.maven.plugins 22 | maven-resources-plugin 23 | 24 | 25 | copy-tomcat-resources 26 | prepare-package 27 | 28 | copy-resources 29 | 30 | 31 | ${project.build.directory}/contexts 32 | 33 | 34 | tomcat 35 | true 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | org.apache.tomcat.maven 44 | tomcat7-maven-plugin 45 | 46 | 47 | run-wars 48 | 49 | run 50 | 51 | pre-integration-test 52 | 53 | 54 | 55 | true 56 | true 57 | / 58 | 59 | ${project.parent.basedir}/solr/solr_home 60 | 61 | 62 | 63 | ${project.groupId} 64 | solr 65 | ${project.version} 66 | war 67 | true 68 | /solr 69 | ${project.build.directory}/contexts/context-solr.xml 70 | 71 | 72 | ${project.groupId} 73 | repo 74 | ${project.version} 75 | war 76 | true 77 | /alfresco 78 | ${project.build.directory}/contexts/context-repo.xml 79 | 80 | 81 | ${project.groupId} 82 | share 83 | ${project.version} 84 | war 85 | true 86 | /share 87 | ${project.build.directory}/contexts/context-share.xml 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 97 | 98 | regression 99 | 100 | true 101 | 102 | http://localhost:8080/share 103 | 104 | 105 | 106 | 107 | 108 | org.apache.maven.plugins 109 | maven-dependency-plugin 110 | 111 | 112 | prepare-regression-test-resources 113 | pre-integration-test 114 | 115 | unpack 116 | 117 | 118 | ${alfresco.groupId}:share-po:${alfresco.version}:jar:tests 119 | ${project.build.directory}/testng-resources 120 | 121 | 122 | 123 | 124 | 125 | org.apache.maven.plugins 126 | maven-surefire-plugin 127 | 2.17 128 | 129 | 130 | run-regression-tests 131 | 132 | test 133 | 134 | integration-test 135 | 136 | 137 | ${app.share.url} 138 | 139 | 140 | ${alfresco.groupId}:share-po 141 | 142 | 143 | ${project.build.directory}/testng-resources 144 | 145 | 146 | ${project.build.directory}/testng-resources/testng.xml 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | ${alfresco.groupId} 157 | share-po 158 | ${alfresco.version} 159 | test 160 | 161 | 162 | ${alfresco.groupId} 163 | share-po 164 | ${alfresco.version} 165 | tests 166 | 167 | 168 | commons-cli 169 | commons-cli 170 | 1.2 171 | test 172 | 173 | 174 | org.springframework 175 | spring-beans 176 | 3.1.1.RELEASE 177 | test 178 | 179 | 180 | org.springframework 181 | spring-context 182 | 3.1.1.RELEASE 183 | test 184 | 185 | 186 | org.testng 187 | testng 188 | 6.8.8 189 | test 190 | 191 | 192 | org.hamcrest 193 | hamcrest-core 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | -------------------------------------------------------------------------------- /runner/src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Alfresco SDK 2.0.0 - Running Alfresco ${alfresco.version} 4 | 5 | 6 | Maven Alfresco SDK 7 |

Congratulations, you are successfully running the All in One project from the Alfresco SDK 2.0.0, powered by Apache Maven! 8 |
9 | You can access the Alfresco components running embedded below:

10 | 15 |

Resources:

16 | 23 | 24 | -------------------------------------------------------------------------------- /runner/tomcat/context-repo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /runner/tomcat/context-share.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /runner/tomcat/context-solr.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /share-amp/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | share-amp 6 | Alfresco Share AMP Module 7 | amp 8 | This is a sample Alfresco Share AMP project, depended upon by the share WAR module 9 | 10 | 11 | se.loftux.modules.vector-transformations 12 | vector-transformations 13 | 1.0-SNAPSHOT 14 | 15 | 16 | 21 | 22 | 24 | share 25 | 26 | 27 | 8081 28 | 29 | 30 | http://localhost:8080/alfresco 31 | 32 | 33 | WARN 34 | 35 | 36 | 37 | 40 | 41 | 42 | ${alfresco.groupId} 43 | share 44 | ${alfresco.version} 45 | classes 46 | provided 47 | 48 | 49 | 50 | org.springframework.extensions.surf 51 | spring-surf-api 52 | provided 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /share-amp/src/main/amp/file-mapping.properties: -------------------------------------------------------------------------------- 1 | # Custom AMP to WAR location mappings 2 | 3 | # 4 | # The following property can be used to include the standard set of mappings. 5 | # The contents of this file will override any defaults. The default is 6 | # 'true', i.e. the default mappings will be augmented or modified by values in 7 | # this file. 8 | # 9 | include.default=true 10 | 11 | # 12 | # Custom mappings. If 'include.default' is false, then this is the complete set. 13 | # 14 | /web=/ 15 | -------------------------------------------------------------------------------- /share-amp/src/main/amp/module.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | 17 | 18 | # SDK Sample module 19 | 20 | # ==== Beginning of Alfresco required/optional properties ====== # 21 | # NB: These properties are filtered at build time by Maven, single 22 | # sourcing from POM properties 23 | module.id=${project.artifactId} 24 | #module.aliases=myModule-123, my-module 25 | module.title=${project.name} 26 | module.description=${project.description} 27 | module.version=${noSnapshotVersion} 28 | 29 | # The following optional properties can be used to prevent the module from being added 30 | # to inappropriate versions of the WAR file. 31 | # module.repo.version.min=2.0 32 | # module.repo.version.max=2.1 33 | 34 | # FIXME: This dependencies should come out of mvn dependencies on amp 35 | 36 | # The following describe dependencies on other modules 37 | # Depends on net.sf.myproject.module.SupportModuleA version ${version} or later 38 | # module.depends.net.sf.myproject.module.SupportModuleA=${version}-* 39 | # Depends on net.sf.myproject.module.SupportModuleA version ${version} to 2.0 40 | # module.depends.net.sf.myproject.module.SupportModuleB=${version}-2.0 41 | # Depends on net.sf.myproject.module.SupportModuleC - any version 42 | # module.depends.net.sf.myproject.module.SupportModuleB=* 43 | 44 | 45 | # ==== End of Alfresco required/optional properties ======= # 46 | 47 | 48 | # ==== Beginning of module required properties/optional ====== # -------------------------------------------------------------------------------- /share-amp/src/main/resources/META-INF/share-config-custom.xml.sample: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | false 10 | 11 | 15 | false 16 | 17 | 18 | 19 | 20 | 21 | 22 | 26 | 27 | 28 | production 29 | 30 | 31 | 32 | 33 | manual 34 | true 35 | 36 | 37 | 38 | 39 | 40 | 45 | 46 | 57 | 58 | 62 | 70 | 71 | 72 | 82 | 83 | 84 | 94 | 95 | 96 | 97 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 116 | false 117 | 118 | 121 | 1000 122 | 123 | 126 | 7000 127 | 128 | 129 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 193 | http://localhost:8080/alfresco 194 | 195 | 198 | 199 | 202 | false 203 | 204 | 208 | 209 | application/msword 210 | application/vnd.ms-excel 211 | application/vnd.ms-powerpoint 212 | 213 | 214 | 215 | 218 | 219 | 225 | true 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 240 | 241 | 242 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | location.path.documents 258 | 259 | slingshot/doclib/treenode/site/{site}/{container}{path}?children={evaluateChildFoldersSite}&max={maximumFolderCountSite} 260 | 261 | 262 | 263 | 264 | 265 | 266 | 271 | alfresco://company/home 272 | 273 | 274 | 278 | false 279 | 280 | 283 | 500 284 | 285 | 286 | 289 | true 290 | 291 | 292 | 293 | 294 | 295 | 296 | 304 | secret 305 | 308 | ALFRESCO.ORG 309 | 313 | HTTP/repository.server.com@ALFRESCO.ORG 314 | 317 | ShareHTTP 318 | 319 | 320 | 321 | 322 | 327 | 328 | 329 | 330 | 331 | alfresco-noauth 332 | Alfresco - unauthenticated access 333 | Access to Alfresco Repository WebScripts that do not require authentication 334 | alfresco 335 | http://localhost:8080/alfresco/s 336 | none 337 | 338 | 339 | 340 | alfresco 341 | Alfresco - user access 342 | Access to Alfresco Repository WebScripts that require user authentication 343 | alfresco 344 | http://localhost:8080/alfresco/s 345 | user 346 | 347 | 348 | 349 | alfresco-feed 350 | Alfresco Feed 351 | Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet 352 | http 353 | http://localhost:8080/alfresco/s 354 | true 355 | user 356 | 357 | 358 | 359 | activiti-admin 360 | Activiti Admin UI - user access 361 | Access to Activiti Admin UI, that requires user authentication 362 | activiti-admin-connector 363 | http://localhost:8080/alfresco/activiti-admin 364 | user 365 | 366 | 367 | 368 | 369 | 385 | 421 | 422 | -------------------------------------------------------------------------------- /share-amp/src/test/resources/alfresco/web-extension/share-config-custom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | development 7 | 8 | true 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 19 | true 20 | 24 | false 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | alfresco-noauth 38 | Alfresco - unauthenticated access 39 | Access to Alfresco Repository WebScripts that do not require authentication 40 | alfresco 41 | ${alfresco.repo.url}/s 42 | none 43 | 44 | 45 | 46 | alfresco 47 | Alfresco - user access 48 | Access to Alfresco Repository WebScripts that require user authentication 49 | alfresco 50 | ${alfresco.repo.url}/s 51 | user 52 | 53 | 54 | 55 | alfresco-feed 56 | Alfresco Feed 57 | Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet 58 | http 59 | ${alfresco.repo.url}/s 60 | true 61 | user 62 | 63 | 64 | 65 | activiti-admin 66 | Activiti Admin UI - user access 67 | Access to Activiti Admin UI, that requires user authentication 68 | activiti-admin-connector 69 | ${alfresco.repo.url}/activiti-admin 70 | user 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /share-amp/src/test/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # This is a full override of Alfresco 4.2.b log4j.properties 2 | # This file overwrites the alfresco.war log4j.properties 3 | 4 | # Set root logger level to error 5 | log4j.rootLogger=${app.log.root.level}, Console, File 6 | 7 | ###### Console appender definition ####### 8 | 9 | # All outputs currently set to be a ConsoleAppender. 10 | log4j.appender.Console=org.apache.log4j.ConsoleAppender 11 | log4j.appender.Console.layout=org.apache.log4j.PatternLayout 12 | 13 | # use log4j NDC to replace %x with tenant domain / username 14 | log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n 15 | #log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n 16 | 17 | ###### File appender definition ####### 18 | log4j.appender.File=org.apache.log4j.DailyRollingFileAppender 19 | log4j.appender.File.File=${app.log.dir}alfresco.log 20 | log4j.appender.File.Append=true 21 | log4j.appender.File.DatePattern='.'yyyy-MM-dd 22 | log4j.appender.File.layout=org.apache.log4j.PatternLayout 23 | log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n 24 | 25 | ###### Hibernate specific appender definition ####### 26 | #log4j.appender.file=org.apache.log4j.FileAppender 27 | #log4j.appender.file.File=hibernate.log 28 | #log4j.appender.file.layout=org.apache.log4j.PatternLayout 29 | #log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 30 | 31 | ###### Log level overrides ####### 32 | 33 | # Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit) 34 | # Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime 35 | # control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via 36 | # Log4j addLoggerMBean as long as the logger exists and has been loaded. 37 | 38 | # Hibernate 39 | log4j.logger.org.hibernate=error 40 | log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal 41 | log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal 42 | log4j.logger.org.hibernate.type=warn 43 | log4j.logger.org.hibernate.cfg.SettingsFactory=warn 44 | 45 | # Spring 46 | log4j.logger.org.springframework=warn 47 | # Turn off Spring remoting warnings that should really be info or debug. 48 | log4j.logger.org.springframework.remoting.support=error 49 | log4j.logger.org.springframework.util=error 50 | 51 | # Axis/WSS4J 52 | log4j.logger.org.apache.axis=info 53 | log4j.logger.org.apache.ws=info 54 | 55 | # CXF 56 | log4j.logger.org.apache.cxf=error 57 | 58 | # MyFaces 59 | log4j.logger.org.apache.myfaces.util.DebugUtils=info 60 | log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error 61 | log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error 62 | log4j.logger.org.apache.myfaces.taglib=error 63 | 64 | # OpenOfficeConnection 65 | log4j.logger.net.sf.jooreports.openoffice.connection=fatal 66 | 67 | # log prepared statement cache activity ### 68 | log4j.logger.org.hibernate.ps.PreparedStatementCache=info 69 | 70 | # Alfresco 71 | log4j.logger.org.alfresco=error 72 | log4j.logger.org.alfresco.repo.admin=info 73 | log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn 74 | log4j.logger.org.alfresco.repo.model.filefolder=warn 75 | log4j.logger.org.alfresco.repo.tenant=info 76 | log4j.logger.org.alfresco.repo.avm=info 77 | log4j.logger.org.alfresco.config=warn 78 | log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn 79 | log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn 80 | log4j.logger.org.alfresco.repo.management.subsystems=warn 81 | log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info 82 | log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn 83 | log4j.logger.org.alfresco.repo.security.sync=info 84 | log4j.logger.org.alfresco.repo.security.person=info 85 | 86 | log4j.logger.org.alfresco.sample=info 87 | log4j.logger.org.alfresco.web=info 88 | #log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug 89 | #log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug 90 | #log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug 91 | #log4j.logger.org.alfresco.web.bean.clipboard=debug 92 | log4j.logger.org.alfresco.repo.webservice=info 93 | log4j.logger.org.alfresco.service.descriptor.DescriptorService=info 94 | #log4j.logger.org.alfresco.web.page=debug 95 | 96 | log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error 97 | #log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info 98 | 99 | log4j.logger.org.alfresco.web.ui.common.Utils=error 100 | #log4j.logger.org.alfresco.web.ui.common.Utils=info 101 | 102 | log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info 103 | log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info 104 | 105 | # Specific patches 106 | log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info 107 | log4j.logger.org.alfresco.repo.version.VersionMigrator=info 108 | log4j.logger.org.alfresco.repo.admin.patch.impl.ResetWCMToGroupBasedPermissionsPatch=info 109 | 110 | log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info 111 | log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info 112 | log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info 113 | log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn 114 | log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn 115 | log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info 116 | log4j.logger.org.alfresco.repo.node.index.AVMFullIndexRecoveryComponent=info 117 | log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info 118 | log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn 119 | log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn 120 | log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn 121 | log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn 122 | log4j.logger.org.alfresco.util.AbstractTriggerBean=warn 123 | log4j.logger.org.alfresco.enterprise.repo.cache.cluster.KeepAliveHeartbeatReceiver=info 124 | log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn 125 | 126 | #log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug 127 | 128 | log4j.logger.org.alfresco.repo.workflow=info 129 | 130 | # CIFS server debugging 131 | log4j.logger.org.alfresco.smb.protocol=error 132 | #log4j.logger.org.alfresco.smb.protocol.auth=debug 133 | #log4j.logger.org.alfresco.acegi=debug 134 | 135 | # FTP server debugging 136 | log4j.logger.org.alfresco.ftp.protocol=error 137 | #log4j.logger.org.alfresco.ftp.server=debug 138 | 139 | # WebDAV debugging 140 | #log4j.logger.org.alfresco.webdav.protocol=debug 141 | log4j.logger.org.alfresco.webdav.protocol=error 142 | 143 | # NTLM servlet filters 144 | #log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug 145 | #log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug 146 | 147 | # Kerberos servlet filters 148 | #log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug 149 | #log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug 150 | 151 | # File servers 152 | log4j.logger.org.alfresco.fileserver=warn 153 | 154 | # Repo filesystem debug logging 155 | #log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug 156 | 157 | # AVM filesystem debug logging 158 | #log4j.logger.org.alfresco.filesys.avm.AVMDiskDriver=debug 159 | 160 | # Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated 161 | log4j.logger.org.alfresco.repo.node.integrity=ERROR 162 | 163 | # Indexer debugging 164 | log4j.logger.org.alfresco.repo.search.Indexer=error 165 | #log4j.logger.org.alfresco.repo.search.Indexer=debug 166 | 167 | log4j.logger.org.alfresco.repo.search.impl.lucene.index=error 168 | log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn 169 | #log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG 170 | 171 | # Audit debugging 172 | # log4j.logger.org.alfresco.repo.audit=DEBUG 173 | # log4j.logger.org.alfresco.repo.audit.model=DEBUG 174 | 175 | # Forms debugging 176 | # log4j.logger.org.alfresco.web.forms=debug 177 | # log4j.logger.org.chiba.xml.xforms=debug 178 | log4j.logger.org.alfresco.web.forms.xforms.XFormsBean=error 179 | log4j.logger.org.alfresco.web.forms.XSLTRenderingEngine=error 180 | 181 | # Property sheet and modelling debugging 182 | # change to error to hide the warnings about missing properties and associations 183 | log4j.logger.alfresco.missingProperties=warn 184 | log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn 185 | log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn 186 | #log4j.logger.org.alfresco.web.ui.repo.component.property=debug 187 | 188 | # Dictionary/Model debugging 189 | log4j.logger.org.alfresco.repo.dictionary=warn 190 | log4j.logger.org.alfresco.repo.dictionary.types.period=warn 191 | 192 | # Virtualization Server Registry 193 | log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error 194 | 195 | # Spring context runtime property setter 196 | log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info 197 | 198 | # Debugging options for clustering 199 | log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error 200 | log4j.logger.org.alfresco.repo.content.replication=error 201 | 202 | #log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug 203 | 204 | # Activity service 205 | log4j.logger.org.alfresco.repo.activities=warn 206 | 207 | # User usage tracking 208 | log4j.logger.org.alfresco.repo.usage=info 209 | 210 | # Sharepoint 211 | log4j.logger.org.alfresco.module.vti=info 212 | 213 | # Forms Engine 214 | log4j.logger.org.alfresco.repo.forms=info 215 | log4j.logger.org.alfresco.web.config.forms=info 216 | log4j.logger.org.alfresco.web.scripts.forms=info 217 | 218 | # CMIS 219 | log4j.logger.org.alfresco.opencmis=error 220 | log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error 221 | log4j.logger.org.alfresco.cmis=error 222 | log4j.logger.org.alfresco.cmis.dictionary=warn 223 | log4j.logger.org.apache.chemistry.opencmis=info 224 | 225 | # IMAP 226 | log4j.logger.org.alfresco.repo.imap=info 227 | 228 | # JBPM 229 | # Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler 230 | log4j.logger.org.jbpm.graph.def.GraphElement=fatal 231 | 232 | #log4j.logger.org.alfresco.repo.googledocs=debug 233 | 234 | ###### Scripting ####### 235 | 236 | # Web Framework 237 | log4j.logger.org.springframework.extensions.webscripts=info 238 | log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn 239 | log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off 240 | 241 | # Repository 242 | log4j.logger.org.alfresco.repo.web.scripts=warn 243 | log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info 244 | log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off 245 | log4j.logger.org.alfresco.repo.jscript=error 246 | log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn 247 | log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info 248 | 249 | log4j.logger.org.alfresco.repo.avm.actions=info 250 | 251 | # Freemarker 252 | # Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler 253 | log4j.logger.freemarker.runtime= 254 | 255 | # Metadata extraction 256 | log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn 257 | 258 | # Reduces PDFont error level due to ALF-7105 259 | log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal 260 | log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal 261 | log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal 262 | 263 | # no index support 264 | log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal 265 | log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal 266 | log4j.logger.org.alfresco.demoamp.test=DEBUG -------------------------------------------------------------------------------- /share-amp/tomcat/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 12 | 13 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /share/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | share 6 | Alfresco Share WAR Aggregator 7 | war 8 | Alfresco Share aggregator, installs your Share AMPs in the Share WAR for aggregation and easy deployment purposes 9 | 10 | 11 | se.loftux.modules.vector-transformations 12 | vector-transformations 13 | 1.0-SNAPSHOT 14 | 15 | 16 | 17 | 18 | ${alfresco.groupId} 19 | ${alfresco.share.artifactId} 20 | ${alfresco.version} 21 | war 22 | 23 | 24 | 25 | ${project.groupId} 26 | share-amp 27 | ${project.version} 28 | amp 29 | 30 | 31 | 32 | 33 | 34 | maven-war-plugin 35 | 36 | 42 | 43 | 44 | 45 | 46 | 47 | ${alfresco.groupId} 48 | ${alfresco.share.artifactId} 49 | war 50 | 51 | 52 | 53 | 54 | 55 | ${project.groupId} 56 | share-amp 57 | amp 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | rm 68 | 69 | alfresco-rm-share 70 | 71 | 72 | 73 | 74 | 75 | org.apache.maven.plugins 76 | maven-dependency-plugin 77 | 78 | 79 | get-rm-share 80 | package 81 | 82 | copy 83 | 84 | 85 | ${app.rm.artifact} 86 | ${app.rm.amps.location} 87 | 88 | 89 | 90 | 91 | 92 | 93 | org.alfresco.maven.plugin 94 | alfresco-maven-plugin 95 | 96 | 97 | install-rm-share 98 | package 99 | 100 | install 101 | 102 | 103 | 104 | 105 | ${app.rm.amps.location} 106 | ${app.rm.war.location} 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | -------------------------------------------------------------------------------- /share/src/main/properties/local/application.properties: -------------------------------------------------------------------------------- 1 | # SHARE client environment dependent properties (local build) 2 | share.server.scheme=http 3 | share.server.name=localhost 4 | share.server.port=${jetty.port} 5 | alfresco.server.scheme=http 6 | alfresco.server.name=localhost 7 | alfresco.server.port=${jetty.port} 8 | alfresco.webapp.name=alfresco -------------------------------------------------------------------------------- /share/src/main/resources/alfresco/web-extension/custom-slingshot-application-context.xml.sample: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 16 | 17 | 18 | 19 | 53 | 54 | 55 | 56 | 69 | 70 | 71 | 72 | 73 | 90 | 91 | 92 | 93 | 111 | 112 | -------------------------------------------------------------------------------- /share/src/main/resources/alfresco/web-extension/share-config-custom.xml.sample: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | false 11 | 12 | 16 | false 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 | 29 | production 30 | 31 | 32 | 33 | 34 | manual 35 | true 36 | 37 | 38 | 39 | 40 | 41 | 42 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 61 | false 62 | 63 | 66 | -1 67 | 68 | 69 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 126 | http://localhost:8080/alfresco 127 | 128 | 131 | 132 | 135 | false 136 | 137 | 141 | 142 | application/msword 143 | application/vnd.ms-excel 144 | application/vnd.ms-powerpoint 145 | 146 | 147 | 148 | 151 | 152 | 158 | true 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 173 | 174 | 175 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | location.path.documents 191 | 192 | slingshot/doclib/treenode/site/{site}/{container}{path}?children={evaluateChildFoldersSite}&max={maximumFolderCountSite} 193 | 194 | 195 | 196 | 197 | 198 | 199 | 204 | alfresco://company/home 205 | 206 | 207 | 211 | false 212 | 213 | 216 | 500 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 232 | secret 233 | 236 | ALFRESCO.ORG 237 | 241 | HTTP/repository.server.com@ALFRESCO.ORG 242 | 245 | ShareHTTP 246 | 247 | 248 | 249 | 250 | 292 | 293 | 309 | 345 | 346 | -------------------------------------------------------------------------------- /share/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # Set root logger level to error 2 | log4j.rootLogger=${app.log.root.level}, Console, File 3 | 4 | ###### Console appender definition ####### 5 | 6 | # All outputs currently set to be a ConsoleAppender. 7 | log4j.appender.Console=org.apache.log4j.ConsoleAppender 8 | log4j.appender.Console.layout=org.apache.log4j.PatternLayout 9 | 10 | # use log4j NDC to replace %x with tenant domain / username 11 | log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n 12 | #log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n 13 | 14 | ###### File appender definition ####### 15 | log4j.appender.File=org.apache.log4j.DailyRollingFileAppender 16 | log4j.appender.File.File=${app.log.dir}share.log 17 | log4j.appender.File.Append=true 18 | log4j.appender.File.DatePattern='.'yyyy-MM-dd 19 | log4j.appender.File.layout=org.apache.log4j.PatternLayout 20 | log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n 21 | 22 | ###### Hibernate specific appender definition ####### 23 | #log4j.appender.file=org.apache.log4j.FileAppender 24 | #log4j.appender.file.File=hibernate.log 25 | #log4j.appender.file.layout=org.apache.log4j.PatternLayout 26 | #log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 27 | 28 | ###### Log level overrides ####### 29 | 30 | # Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit) 31 | # Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime 32 | # control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via 33 | # Log4j addLoggerMBean as long as the logger exists and has been loaded. 34 | 35 | # Hibernate 36 | log4j.logger.org.hibernate=error 37 | log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal 38 | log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal 39 | log4j.logger.org.hibernate.type=warn 40 | log4j.logger.org.hibernate.cfg.SettingsFactory=warn 41 | 42 | # Spring 43 | log4j.logger.org.springframework=warn 44 | # Turn off Spring remoting warnings that should really be info or debug. 45 | log4j.logger.org.springframework.remoting.support=error 46 | log4j.logger.org.springframework.util=error 47 | 48 | # Axis/WSS4J 49 | log4j.logger.org.apache.axis=info 50 | log4j.logger.org.apache.ws=info 51 | 52 | # CXF 53 | log4j.logger.org.apache.cxf=error 54 | 55 | # MyFaces 56 | log4j.logger.org.apache.myfaces.util.DebugUtils=info 57 | log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error 58 | log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error 59 | log4j.logger.org.apache.myfaces.taglib=error 60 | 61 | # OpenOfficeConnection 62 | log4j.logger.net.sf.jooreports.openoffice.connection=fatal 63 | 64 | # log prepared statement cache activity ### 65 | log4j.logger.org.hibernate.ps.PreparedStatementCache=info 66 | 67 | # Alfresco 68 | log4j.logger.org.alfresco=error 69 | log4j.logger.org.alfresco.repo.admin=info 70 | log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn 71 | log4j.logger.org.alfresco.repo.model.filefolder=warn 72 | log4j.logger.org.alfresco.repo.tenant=info 73 | log4j.logger.org.alfresco.repo.avm=info 74 | log4j.logger.org.alfresco.config=warn 75 | log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn 76 | log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn 77 | log4j.logger.org.alfresco.repo.management.subsystems=warn 78 | log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info 79 | log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn 80 | log4j.logger.org.alfresco.repo.security.sync=info 81 | log4j.logger.org.alfresco.repo.security.person=info 82 | 83 | log4j.logger.org.alfresco.sample=info 84 | log4j.logger.org.alfresco.web=info 85 | #log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug 86 | #log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug 87 | #log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug 88 | #log4j.logger.org.alfresco.web.bean.clipboard=debug 89 | log4j.logger.org.alfresco.repo.webservice=info 90 | log4j.logger.org.alfresco.service.descriptor.DescriptorService=info 91 | #log4j.logger.org.alfresco.web.page=debug 92 | 93 | log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error 94 | #log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info 95 | 96 | log4j.logger.org.alfresco.web.ui.common.Utils=error 97 | #log4j.logger.org.alfresco.web.ui.common.Utils=info 98 | 99 | log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info 100 | log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info 101 | 102 | # Specific patches 103 | log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info 104 | log4j.logger.org.alfresco.repo.version.VersionMigrator=info 105 | log4j.logger.org.alfresco.repo.admin.patch.impl.ResetWCMToGroupBasedPermissionsPatch=info 106 | 107 | log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info 108 | log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info 109 | log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info 110 | log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn 111 | log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn 112 | log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info 113 | log4j.logger.org.alfresco.repo.node.index.AVMFullIndexRecoveryComponent=info 114 | log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info 115 | log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn 116 | log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn 117 | log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn 118 | log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn 119 | log4j.logger.org.alfresco.util.AbstractTriggerBean=warn 120 | log4j.logger.org.alfresco.enterprise.repo.cache.cluster.KeepAliveHeartbeatReceiver=info 121 | log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn 122 | 123 | #log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug 124 | 125 | log4j.logger.org.alfresco.repo.workflow=info 126 | 127 | # CIFS server debugging 128 | log4j.logger.org.alfresco.smb.protocol=error 129 | #log4j.logger.org.alfresco.smb.protocol.auth=debug 130 | #log4j.logger.org.alfresco.acegi=debug 131 | 132 | # FTP server debugging 133 | log4j.logger.org.alfresco.ftp.protocol=error 134 | #log4j.logger.org.alfresco.ftp.server=debug 135 | 136 | # WebDAV debugging 137 | #log4j.logger.org.alfresco.webdav.protocol=debug 138 | log4j.logger.org.alfresco.webdav.protocol=error 139 | 140 | # NTLM servlet filters 141 | #log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug 142 | #log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug 143 | 144 | # Kerberos servlet filters 145 | #log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug 146 | #log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug 147 | 148 | # File servers 149 | log4j.logger.org.alfresco.fileserver=warn 150 | 151 | # Repo filesystem debug logging 152 | #log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug 153 | 154 | # AVM filesystem debug logging 155 | #log4j.logger.org.alfresco.filesys.avm.AVMDiskDriver=debug 156 | 157 | # Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated 158 | log4j.logger.org.alfresco.repo.node.integrity=ERROR 159 | 160 | # Indexer debugging 161 | log4j.logger.org.alfresco.repo.search.Indexer=error 162 | #log4j.logger.org.alfresco.repo.search.Indexer=debug 163 | 164 | log4j.logger.org.alfresco.repo.search.impl.lucene.index=error 165 | log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn 166 | #log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG 167 | 168 | # Audit debugging 169 | # log4j.logger.org.alfresco.repo.audit=DEBUG 170 | # log4j.logger.org.alfresco.repo.audit.model=DEBUG 171 | 172 | # Forms debugging 173 | # log4j.logger.org.alfresco.web.forms=debug 174 | # log4j.logger.org.chiba.xml.xforms=debug 175 | log4j.logger.org.alfresco.web.forms.xforms.XFormsBean=error 176 | log4j.logger.org.alfresco.web.forms.XSLTRenderingEngine=error 177 | 178 | # Property sheet and modelling debugging 179 | # change to error to hide the warnings about missing properties and associations 180 | log4j.logger.alfresco.missingProperties=warn 181 | log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn 182 | log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn 183 | #log4j.logger.org.alfresco.web.ui.repo.component.property=debug 184 | 185 | # Dictionary/Model debugging 186 | log4j.logger.org.alfresco.repo.dictionary=warn 187 | log4j.logger.org.alfresco.repo.dictionary.types.period=warn 188 | 189 | # Virtualization Server Registry 190 | log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error 191 | 192 | # Spring context runtime property setter 193 | log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info 194 | 195 | # Debugging options for clustering 196 | log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error 197 | log4j.logger.org.alfresco.repo.content.replication=error 198 | 199 | #log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug 200 | 201 | # Activity service 202 | log4j.logger.org.alfresco.repo.activities=warn 203 | 204 | # User usage tracking 205 | log4j.logger.org.alfresco.repo.usage=info 206 | 207 | # Sharepoint 208 | log4j.logger.org.alfresco.module.vti=info 209 | 210 | # Forms Engine 211 | log4j.logger.org.alfresco.repo.forms=info 212 | log4j.logger.org.alfresco.web.config.forms=info 213 | log4j.logger.org.alfresco.web.scripts.forms=info 214 | 215 | # CMIS 216 | log4j.logger.org.alfresco.opencmis=error 217 | log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error 218 | log4j.logger.org.alfresco.cmis=error 219 | log4j.logger.org.alfresco.cmis.dictionary=warn 220 | log4j.logger.org.apache.chemistry.opencmis=info 221 | 222 | # IMAP 223 | log4j.logger.org.alfresco.repo.imap=info 224 | 225 | # JBPM 226 | # Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler 227 | log4j.logger.org.jbpm.graph.def.GraphElement=fatal 228 | 229 | #log4j.logger.org.alfresco.repo.googledocs=debug 230 | 231 | ###### Scripting ####### 232 | 233 | # Web Framework 234 | log4j.logger.org.springframework.extensions.webscripts=info 235 | log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn 236 | log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off 237 | 238 | # Repository 239 | log4j.logger.org.alfresco.repo.web.scripts=warn 240 | log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info 241 | log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off 242 | log4j.logger.org.alfresco.repo.jscript=error 243 | log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn 244 | log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info 245 | 246 | log4j.logger.org.alfresco.repo.avm.actions=info 247 | 248 | # Freemarker 249 | # Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler 250 | log4j.logger.freemarker.runtime= 251 | 252 | # Metadata extraction 253 | log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn 254 | 255 | # Reduces PDFont error level due to ALF-7105 256 | log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal 257 | log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal 258 | log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal 259 | 260 | # no index support 261 | log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal 262 | log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal -------------------------------------------------------------------------------- /solr/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | solr 5 | Alfresco Apache Solr Customization Project 6 | war 7 | Alfresco Apache Solr Customization 8 | 9 | 10 | se.loftux.modules.vector-transformations 11 | vector-transformations 12 | 1.0-SNAPSHOT 13 | 14 | 15 | 16 | 17 | ${project.basedir}/solr_home 18 | 19 | 20 | 21 | 22 | 23 | org.apache.maven.plugins 24 | maven-resources-plugin 25 | 26 | 27 | 28 | copy-solr-properties 29 | prepare-package 30 | 31 | copy-resources 32 | 33 | 34 | ${alfresco.solr.dir} 35 | 36 | 37 | src/main/solr-properties/archive 38 | true 39 | ${alfresco.solr.dir}/archive-SpacesStore/conf 40 | 41 | 42 | src/main/solr-properties/workspace 43 | true 44 | ${alfresco.solr.dir}/workspace-SpacesStore/conf 45 | 46 | 47 | src/main/solr-properties 48 | true 49 | 50 | log4j-solr.properties 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | maven-assembly-plugin 61 | 2.4.1 62 | 63 | 64 | make-assembly 65 | package 66 | 67 | single 68 | 69 | 70 | 71 | src/assembly/solr-config-assembly.xml 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | ${alfresco.groupId} 85 | alfresco-solr 86 | ${alfresco.version} 87 | war 88 | 89 | 90 | 91 | ${alfresco.groupId} 92 | alfresco-solr 93 | ${alfresco.version} 94 | classes 95 | jar 96 | provided 97 | 98 | 99 | 100 | ${alfresco.groupId} 101 | alfresco-solr 102 | config 103 | ${alfresco.version} 104 | zip 105 | 106 | 107 | 108 | 109 | 110 | 111 | run 112 | 113 | ${project.build.directory}/${project.build.finalName}-patches 114 | 115 | 116 | 117 | 118 | org.apache.maven.plugins 119 | maven-dependency-plugin 120 | 121 | 122 | unpack-alfresco-config 123 | 124 | unpack 125 | 126 | generate-resources 127 | 128 | ${alfresco.solr.dir} 129 | 130 | 131 | alfresco-solr 132 | ${alfresco.groupId} 133 | config 134 | ${alfresco.version} 135 | zip 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | maven-war-plugin 144 | 145 | 146 | unpack-solr-war 147 | prepare-package 148 | 149 | exploded 150 | 151 | 152 | 153 | default-war 154 | 155 | ${app.solr.patches.folder}/WEB-INF/web.xml 156 | 157 | 158 | 159 | 160 | 161 | 162 | com.google.code.maven-replacer-plugin 163 | replacer 164 | 165 | 166 | disable-securecomms 167 | prepare-package 168 | 169 | replace 170 | 171 | 172 | 173 | 174 | ${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml 175 | ${app.solr.patches.folder}/WEB-INF 176 | false 177 | 178 | 179 | ]]> 180 | ]]> 181 | 182 | 183 | -->]]> 184 | ]]> 185 | 186 | 187 | ]]> 188 | ]]> 189 | 190 | 191 | ]]> 192 | -->]]> 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | -------------------------------------------------------------------------------- /solr/solr_home/archive-SpacesStore/conf/solrcore.properties: -------------------------------------------------------------------------------- 1 | # 2 | # solrcore.properties - used in solrconfig.xml 3 | # 4 | # data is in ${data.dir.root}/${data.dir.store} 5 | 6 | data.dir.root=/Users/bhagyasilva/work-projects/alfresco-vector-transformations-module/vector-transformations/solr/solr_home 7 | data.dir.store=archive/SpacesStore 8 | enable.alfresco.tracking=true 9 | cache.alfresco.size=100 10 | max.field.length=2147483647 11 | 12 | 13 | # 14 | # Properties loaded during alfresco tracking 15 | # 16 | 17 | alfresco.host=localhost 18 | alfresco.port=8080 19 | alfresco.port.ssl=8443 20 | alfresco.baseUrl=/alfresco 21 | alfresco.cron=0/15 * * * * ? * 22 | alfresco.stores=archive://SpacesStore 23 | alfresco.lag=1000 24 | alfresco.hole.retention=3600000 25 | alfresco.batch.count=1000 26 | 27 | # encryption 28 | 29 | # none, https 30 | alfresco.secureComms=none 31 | 32 | # ssl 33 | alfresco.encryption.ssl.keystore.type=JCEKS 34 | alfresco.encryption.ssl.keystore.provider= 35 | alfresco.encryption.ssl.keystore.location=ssl.repo.client.keystore 36 | alfresco.encryption.ssl.keystore.passwordFileLocation=ssl-keystore-passwords.properties 37 | alfresco.encryption.ssl.truststore.type=JCEKS 38 | alfresco.encryption.ssl.truststore.provider= 39 | alfresco.encryption.ssl.truststore.location=ssl.repo.client.truststore 40 | alfresco.encryption.ssl.truststore.passwordFileLocation=ssl-truststore-passwords.properties 41 | 42 | ## Tracking 43 | 44 | alfresco.enableMultiThreadedTracking=true 45 | alfresco.corePoolSize=3 46 | alfresco.maximumPoolSize=-1 47 | alfresco.keepAliveTime=120 48 | alfresco.threadPriority=5 49 | alfresco.threadDaemon=true 50 | alfresco.workQueueSize=-1 51 | 52 | # HTTP Client 53 | 54 | alfresco.maxTotalConnections=40 55 | alfresco.maxHostConnections=40 56 | alfresco.socketTimeout=60000 57 | 58 | # SOLR caching 59 | 60 | solr.filterCache.size=64 61 | solr.filterCache.initialSize=64 62 | solr.queryResultCache.size=64 63 | solr.queryResultCache.initialSize=64 64 | solr.documentCache.size=64 65 | solr.documentCache.initialSize=64 66 | solr.queryResultMaxDocsCached=200 67 | 68 | solr.authorityCache.size=64 69 | solr.authorityCache.initialSize=64 70 | solr.pathCache.size=64 71 | solr.pathCache.initialSize=64 72 | 73 | # SOLR 74 | 75 | solr.maxBooleanClauses=10000 76 | 77 | # 78 | # TODO 79 | # 80 | # cross language support 81 | # locale expansion 82 | # logging check report .... 83 | # 84 | # 85 | -------------------------------------------------------------------------------- /solr/solr_home/log4j-solr.properties: -------------------------------------------------------------------------------- 1 | # Set root logger level to error 2 | log4j.rootLogger=WARN, Console, File 3 | 4 | ###### Console appender definition ####### 5 | 6 | # All outputs currently set to be a ConsoleAppender. 7 | log4j.appender.Console=org.apache.log4j.ConsoleAppender 8 | log4j.appender.Console.layout=org.apache.log4j.PatternLayout 9 | 10 | log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n 11 | 12 | ###### File appender definition ####### 13 | log4j.appender.File=org.apache.log4j.DailyRollingFileAppender 14 | log4j.appender.File.File=/Users/bhagyasilva/work-projects/alfresco-vector-transformations-module/vector-transformations/solr/target/solr.log 15 | log4j.appender.File.Append=true 16 | log4j.appender.File.DatePattern='.'yyyy-MM-dd 17 | log4j.appender.File.layout=org.apache.log4j.PatternLayout 18 | log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n -------------------------------------------------------------------------------- /solr/solr_home/workspace-SpacesStore/conf/solrcore.properties: -------------------------------------------------------------------------------- 1 | # 2 | # solrcore.properties - used in solrconfig.xml 3 | # 4 | # data is in ${data.dir.root}/${data.dir.store} 5 | 6 | data.dir.root=/Users/bhagyasilva/work-projects/alfresco-vector-transformations-module/vector-transformations/solr/solr_home 7 | data.dir.store=workspace/SpacesStore 8 | enable.alfresco.tracking=true 9 | cache.alfresco.size=100 10 | max.field.length=2147483647 11 | 12 | 13 | # 14 | # Properties loaded during alfresco tracking 15 | # 16 | 17 | alfresco.host=localhost 18 | alfresco.port=8080 19 | alfresco.port.ssl=8443 20 | alfresco.baseUrl=/alfresco 21 | alfresco.cron=0/15 * * * * ? * 22 | alfresco.stores=workspace://SpacesStore 23 | #alfresco.index.transformContent=false 24 | #alfresco.ignore.datatype.1=d:content 25 | alfresco.lag=1000 26 | alfresco.hole.retention=3600000 27 | # alfresco.hole.check.after is not used yet 28 | # It will reduce the hole checking load 29 | alfresco.hole.check.after=300000 30 | alfresco.batch.count=1000 31 | 32 | # encryption 33 | 34 | # none, https 35 | alfresco.secureComms=none 36 | 37 | # ssl 38 | alfresco.encryption.ssl.keystore.type=JCEKS 39 | alfresco.encryption.ssl.keystore.provider= 40 | alfresco.encryption.ssl.keystore.location=ssl.repo.client.keystore 41 | alfresco.encryption.ssl.keystore.passwordFileLocation=ssl-keystore-passwords.properties 42 | alfresco.encryption.ssl.truststore.type=JCEKS 43 | alfresco.encryption.ssl.truststore.provider= 44 | alfresco.encryption.ssl.truststore.location=ssl.repo.client.truststore 45 | alfresco.encryption.ssl.truststore.passwordFileLocation=ssl-truststore-passwords.properties 46 | 47 | # Tracking 48 | 49 | alfresco.enableMultiThreadedTracking=true 50 | alfresco.corePoolSize=3 51 | alfresco.maximumPoolSize=-1 52 | alfresco.keepAliveTime=120 53 | alfresco.threadPriority=5 54 | alfresco.threadDaemon=true 55 | alfresco.workQueueSize=-1 56 | 57 | # HTTP Client 58 | 59 | alfresco.maxTotalConnections=40 60 | alfresco.maxHostConnections=40 61 | alfresco.socketTimeout=60000 62 | 63 | # SOLR caching 64 | 65 | solr.filterCache.size=64 66 | solr.filterCache.initialSize=64 67 | solr.queryResultCache.size=1024 68 | solr.queryResultCache.initialSize=1024 69 | solr.documentCache.size=64 70 | solr.documentCache.initialSize=64 71 | solr.queryResultMaxDocsCached=2000 72 | 73 | solr.authorityCache.size=64 74 | solr.authorityCache.initialSize=64 75 | solr.pathCache.size=64 76 | solr.pathCache.initialSize=64 77 | 78 | solr.readerToAclIdsCache.size=64 79 | solr.readerToAclIdsCache.initialSize=64 80 | 81 | # SOLR 82 | 83 | solr.maxBooleanClauses=10000 84 | 85 | # Batch fetch 86 | 87 | alfresco.transactionDocsBatchSize=100 88 | alfresco.changeSetAclsBatchSize=100 89 | alfresco.aclBatchSize=10 90 | 91 | # Warming 92 | 93 | solr.filterCache.autowarmCount=128 94 | solr.authorityCache.autowarmCount=0 95 | solr.pathCache.autowarmCount=128 96 | 97 | solr.queryResultWindowSize=200 98 | 99 | 100 | # 101 | # TODO 102 | # 103 | # cross language support 104 | # locale expansion 105 | # logging check report .... 106 | # 107 | # 108 | 109 | 110 | alfresco.doPermissionChecks=true -------------------------------------------------------------------------------- /solr/src/assembly/solr-config-assembly.xml: -------------------------------------------------------------------------------- 1 | 4 | config 5 | 6 | zip 7 | 8 | false 9 | 10 | 11 | ${project.basedir}/solr_home 12 | 13 | 14 | archive/** 15 | workspace/** 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /solr/src/main/solr-properties/archive/solrcore.properties: -------------------------------------------------------------------------------- 1 | # 2 | # solrcore.properties - used in solrconfig.xml 3 | # 4 | # data is in ${data.dir.root}/${data.dir.store} 5 | 6 | data.dir.root=${alfresco.solr.dir} 7 | data.dir.store=archive/SpacesStore 8 | enable.alfresco.tracking=true 9 | cache.alfresco.size=100 10 | max.field.length=2147483647 11 | 12 | 13 | # 14 | # Properties loaded during alfresco tracking 15 | # 16 | 17 | alfresco.host=localhost 18 | alfresco.port=8080 19 | alfresco.port.ssl=8443 20 | alfresco.baseUrl=/alfresco 21 | alfresco.cron=0/15 * * * * ? * 22 | alfresco.stores=archive://SpacesStore 23 | alfresco.lag=1000 24 | alfresco.hole.retention=3600000 25 | alfresco.batch.count=1000 26 | 27 | # encryption 28 | 29 | # none, https 30 | alfresco.secureComms=none 31 | 32 | # ssl 33 | alfresco.encryption.ssl.keystore.type=JCEKS 34 | alfresco.encryption.ssl.keystore.provider= 35 | alfresco.encryption.ssl.keystore.location=ssl.repo.client.keystore 36 | alfresco.encryption.ssl.keystore.passwordFileLocation=ssl-keystore-passwords.properties 37 | alfresco.encryption.ssl.truststore.type=JCEKS 38 | alfresco.encryption.ssl.truststore.provider= 39 | alfresco.encryption.ssl.truststore.location=ssl.repo.client.truststore 40 | alfresco.encryption.ssl.truststore.passwordFileLocation=ssl-truststore-passwords.properties 41 | 42 | ## Tracking 43 | 44 | alfresco.enableMultiThreadedTracking=true 45 | alfresco.corePoolSize=3 46 | alfresco.maximumPoolSize=-1 47 | alfresco.keepAliveTime=120 48 | alfresco.threadPriority=5 49 | alfresco.threadDaemon=true 50 | alfresco.workQueueSize=-1 51 | 52 | # HTTP Client 53 | 54 | alfresco.maxTotalConnections=40 55 | alfresco.maxHostConnections=40 56 | alfresco.socketTimeout=60000 57 | 58 | # SOLR caching 59 | 60 | solr.filterCache.size=64 61 | solr.filterCache.initialSize=64 62 | solr.queryResultCache.size=64 63 | solr.queryResultCache.initialSize=64 64 | solr.documentCache.size=64 65 | solr.documentCache.initialSize=64 66 | solr.queryResultMaxDocsCached=200 67 | 68 | solr.authorityCache.size=64 69 | solr.authorityCache.initialSize=64 70 | solr.pathCache.size=64 71 | solr.pathCache.initialSize=64 72 | 73 | # SOLR 74 | 75 | solr.maxBooleanClauses=10000 76 | 77 | # 78 | # TODO 79 | # 80 | # cross language support 81 | # locale expansion 82 | # logging check report .... 83 | # 84 | # 85 | -------------------------------------------------------------------------------- /solr/src/main/solr-properties/log4j-solr.properties: -------------------------------------------------------------------------------- 1 | # Set root logger level to error 2 | log4j.rootLogger=${app.log.root.level}, Console, File 3 | 4 | ###### Console appender definition ####### 5 | 6 | # All outputs currently set to be a ConsoleAppender. 7 | log4j.appender.Console=org.apache.log4j.ConsoleAppender 8 | log4j.appender.Console.layout=org.apache.log4j.PatternLayout 9 | 10 | log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n 11 | 12 | ###### File appender definition ####### 13 | log4j.appender.File=org.apache.log4j.DailyRollingFileAppender 14 | log4j.appender.File.File=${app.log.dir}solr.log 15 | log4j.appender.File.Append=true 16 | log4j.appender.File.DatePattern='.'yyyy-MM-dd 17 | log4j.appender.File.layout=org.apache.log4j.PatternLayout 18 | log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n -------------------------------------------------------------------------------- /solr/src/main/solr-properties/workspace/solrcore.properties: -------------------------------------------------------------------------------- 1 | # 2 | # solrcore.properties - used in solrconfig.xml 3 | # 4 | # data is in ${data.dir.root}/${data.dir.store} 5 | 6 | data.dir.root=${alfresco.solr.dir} 7 | data.dir.store=workspace/SpacesStore 8 | enable.alfresco.tracking=true 9 | cache.alfresco.size=100 10 | max.field.length=2147483647 11 | 12 | 13 | # 14 | # Properties loaded during alfresco tracking 15 | # 16 | 17 | alfresco.host=localhost 18 | alfresco.port=8080 19 | alfresco.port.ssl=8443 20 | alfresco.baseUrl=/alfresco 21 | alfresco.cron=0/15 * * * * ? * 22 | alfresco.stores=workspace://SpacesStore 23 | #alfresco.index.transformContent=false 24 | #alfresco.ignore.datatype.1=d:content 25 | alfresco.lag=1000 26 | alfresco.hole.retention=3600000 27 | # alfresco.hole.check.after is not used yet 28 | # It will reduce the hole checking load 29 | alfresco.hole.check.after=300000 30 | alfresco.batch.count=1000 31 | 32 | # encryption 33 | 34 | # none, https 35 | alfresco.secureComms=none 36 | 37 | # ssl 38 | alfresco.encryption.ssl.keystore.type=JCEKS 39 | alfresco.encryption.ssl.keystore.provider= 40 | alfresco.encryption.ssl.keystore.location=ssl.repo.client.keystore 41 | alfresco.encryption.ssl.keystore.passwordFileLocation=ssl-keystore-passwords.properties 42 | alfresco.encryption.ssl.truststore.type=JCEKS 43 | alfresco.encryption.ssl.truststore.provider= 44 | alfresco.encryption.ssl.truststore.location=ssl.repo.client.truststore 45 | alfresco.encryption.ssl.truststore.passwordFileLocation=ssl-truststore-passwords.properties 46 | 47 | # Tracking 48 | 49 | alfresco.enableMultiThreadedTracking=true 50 | alfresco.corePoolSize=3 51 | alfresco.maximumPoolSize=-1 52 | alfresco.keepAliveTime=120 53 | alfresco.threadPriority=5 54 | alfresco.threadDaemon=true 55 | alfresco.workQueueSize=-1 56 | 57 | # HTTP Client 58 | 59 | alfresco.maxTotalConnections=40 60 | alfresco.maxHostConnections=40 61 | alfresco.socketTimeout=60000 62 | 63 | # SOLR caching 64 | 65 | solr.filterCache.size=64 66 | solr.filterCache.initialSize=64 67 | solr.queryResultCache.size=1024 68 | solr.queryResultCache.initialSize=1024 69 | solr.documentCache.size=64 70 | solr.documentCache.initialSize=64 71 | solr.queryResultMaxDocsCached=2000 72 | 73 | solr.authorityCache.size=64 74 | solr.authorityCache.initialSize=64 75 | solr.pathCache.size=64 76 | solr.pathCache.initialSize=64 77 | 78 | solr.readerToAclIdsCache.size=64 79 | solr.readerToAclIdsCache.initialSize=64 80 | 81 | # SOLR 82 | 83 | solr.maxBooleanClauses=10000 84 | 85 | # Batch fetch 86 | 87 | alfresco.transactionDocsBatchSize=100 88 | alfresco.changeSetAclsBatchSize=100 89 | alfresco.aclBatchSize=10 90 | 91 | # Warming 92 | 93 | solr.filterCache.autowarmCount=128 94 | solr.authorityCache.autowarmCount=0 95 | solr.pathCache.autowarmCount=128 96 | 97 | solr.queryResultWindowSize=200 98 | 99 | 100 | # 101 | # TODO 102 | # 103 | # cross language support 104 | # locale expansion 105 | # logging check report .... 106 | # 107 | # 108 | 109 | 110 | alfresco.doPermissionChecks=true --------------------------------------------------------------------------------