28 Commits

Author SHA1 Message Date
4df9fcbe11 v1.0.8 poms 2021-06-01 17:08:36 -04:00
be5c04785b Merge branch 'develop' into stable 2021-06-01 17:07:39 -04:00
1ff5ab460e added beedk-aps-rad-tile 2021-06-01 17:07:23 -04:00
3777dad5c8 updated RAD docker image/config 2021-06-01 13:26:23 -04:00
e362b71115 v1.0.7 poms 2021-05-19 16:17:23 -04:00
7c833c2093 Merge branch 'develop' into stable 2021-05-19 16:16:57 -04:00
a889607c48 fixed amp/jar deploy selection 2021-05-19 16:16:45 -04:00
1a7c70792c v1.0.6 poms 2021-05-19 11:20:30 -04:00
3828e24d8b Merge branch 'develop' into stable 2021-05-19 11:18:01 -04:00
e4611ffd07 updated amp-plugin version 2021-05-19 11:17:43 -04:00
474b5e5909 v1.0.5 poms 2021-05-18 12:39:58 -04:00
dea15ab95d Merge branch 'develop' into stable 2021-05-18 12:38:01 -04:00
d13678e9e0 fixed install/deploy enable/disable for AMPs 2021-05-18 12:37:50 -04:00
155ef084e9 v1.0.4 poms 2021-05-17 22:07:53 -04:00
0adf7812b4 Merge branch 'develop' into stable 2021-05-17 22:07:14 -04:00
c135bc7274 fixed aps-ext version 2021-05-17 22:07:00 -04:00
ac67f46408 fixed install/deploy for AMPs 2021-05-17 22:06:39 -04:00
875a580854 v1.0.3 poms 2021-05-17 17:58:11 -04:00
5474eef9f5 Merge branch 'develop' into stable 2021-05-17 17:57:37 -04:00
61b7e6d728 fixed AMP packaging with newer version of plugin 2021-05-17 17:57:21 -04:00
ad92fb5a21 added beedk-aps-ext-rad-tile 2021-05-14 15:31:32 -04:00
a68baeae70 v1.0.2 poms 2021-05-12 15:03:44 -04:00
417c419900 Merge branch 'develop' into stable 2021-05-12 14:59:15 -04:00
d80c6b9400 fixed activiti archetype 2021-05-12 14:59:04 -04:00
df89b65373 fixed ACS module build to include classes 2021-05-12 14:58:33 -04:00
45b72fd703 disabling embedded activiti for RAD/IT tests 2021-05-12 14:58:16 -04:00
33b38f47cc fixed/refactored ACS archetypes 2021-05-12 14:57:17 -04:00
9815726895 added beedk-activiti-ext-archetype 2021-05-10 15:24:02 -04:00
117 changed files with 2525 additions and 1543 deletions

View File

@@ -6,7 +6,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-allinone-archetype</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>maven-archetype</packaging>
<name>Order of the Bee Development Kit: Project Scaffolding for multi-module ACS projects</name>

View File

@@ -13,6 +13,11 @@ function start_ {
mvn -Drad process-classes
}
function start_log {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad "-Ddocker.showLogs" process-classes
}
function stop_ {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
@@ -41,6 +46,9 @@ switch ($args[0]) {
"start" {
start_
}
"start_log" {
start_log
}
"stop" {
stop_
}
@@ -58,7 +66,7 @@ switch ($args[0]) {
list
}
default {
echo "Usage: .\rad.ps1 [ start | stop | restart | rebuild | tail {container} | containers ]"
echo "Usage: .\rad.ps1 [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
}
}

View File

@@ -1,7 +1,7 @@
#!/bin/sh
discoverArtifactId() {
ARTIFACT_ID=`mvn -q -Dexec.executable=echo -Dexec.args='${project.artifactId}' --non-recursive exec:exec 2>/dev/null`
ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
}
rebuild() {
@@ -14,6 +14,11 @@ start() {
mvn -Drad process-classes
}
start_log() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad -Ddocker.showLogs process-classes
}
stop() {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
@@ -38,6 +43,9 @@ case "$1" in
start)
start
;;
start_log)
start_log
;;
stop)
stop
;;
@@ -55,7 +63,7 @@ case "$1" in
list
;;
*)
echo "Usage: ./rad.sh [ start | stop | restart | rebuild | tail {container} | containers ]"
echo "Usage: ./rad.sh [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
exit 1
esac

View File

@@ -1,9 +1,9 @@
<!-- Documentation: https://docs.alfresco.com/content-services/6.2/develop/reference/web-scripts-ref -->
<webscript>
<shortname>Example Webscript</shortname>
<description>Example Java-backed webscript description</description>
<url>/exampleJava?paramName={paramValue}</url>
<authentication>user</authentication>
<format default="json"></format>
<family>${shortname}</family>
<shortname>Example Webscript</shortname>
<description>Example Java-backed webscript description</description>
<url>/exampleJava?paramName={paramValue}</url>
<authentication>user</authentication>
<format default="json"></format>
<family>${shortname}</family>
</webscript>

View File

@@ -1,9 +1,9 @@
<!-- Documentation: https://docs.alfresco.com/content-services/6.2/develop/reference/web-scripts-ref -->
<webscript>
<shortname>Example Webscript</shortname>
<description>Example JS-backed webscript description</description>
<url>/exampleJs?paramName={paramValue}</url>
<authentication>guest</authentication>
<format default="json"></format>
<family>${shortname}</family>
<shortname>Example Webscript</shortname>
<description>Example JS-backed webscript description</description>
<url>/exampleJs?paramName={paramValue}</url>
<authentication>guest</authentication>
<format default="json"></format>
<family>${shortname}</family>
</webscript>

View File

@@ -0,0 +1,8 @@
<view:view xmlns:view="http://www.alfresco.org/view/repository/1.0"
xmlns:cm="http://www.alfresco.org/model/content/1.0"
xmlns:bfs="http://fiscal.treasury.gov/alfresco/model/common/1.0">
<cm:folder>
<cm:name>Example Folder</cm:name>
</cm:folder>
</view:view>

View File

@@ -1,24 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<model name="ootbee:exampleDataModel"
xmlns="http://www.alfresco.org/model/dictionary/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.alfresco.org/model/dictionary/1.0 https://raw.githubusercontent.com/Alfresco/alfresco-repository/master/src/main/resources/alfresco/model/modelSchema.xsd">
<description>Example Data Model</description>
<author>Order of the Bee</author>
<version>1.0</version>
<imports>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<!-- Import Alfresco System Model Definitions -->
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
</imports>
<namespaces>
<namespace uri="http://orderofthebee.org/alfresco/model/example/1.0" prefix="example"/>
</namespaces>
</model>
<?xml version="1.0" encoding="UTF-8"?>
<model name="ootbee:exampleDataModel"
xmlns="http://www.alfresco.org/model/dictionary/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.alfresco.org/model/dictionary/1.0 https://raw.githubusercontent.com/Alfresco/alfresco-repository/master/src/main/resources/alfresco/model/modelSchema.xsd">
<description>Example Data Model</description>
<author>Order of the Bee</author>
<version>1.0</version>
<imports>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<!-- Import Alfresco System Model Definitions -->
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
</imports>
<namespaces>
<namespace uri="http://orderofthebee.org/alfresco/model/example/1.0" prefix="example"/>
</namespaces>
</model>

View File

@@ -9,7 +9,7 @@
<!-- Enable Spring annotation scanning for classes in package -->
<context:component-scan base-package="${package}">
<context:include-filter type="annotation" expression="${package}.annotation.ModuleEarlyComponent" />
<context:include-filter type="annotation" expression="${package}.spring.ModuleEarlyComponent" />
</context:component-scan>
<!-- Example Data Model loading -->

View File

@@ -9,8 +9,8 @@
<!-- Enable Spring annotation scanning for classes in package -->
<context:component-scan base-package="${package}">
<context:exclude-filter type="annotation" expression="${package}.annotation.ModuleEarlyComponent" />
<context:exclude-filter type="annotation" expression="${package}.annotation.ModuleLateComponent" />
<context:exclude-filter type="annotation" expression="${package}.spring.ModuleEarlyComponent" />
<context:exclude-filter type="annotation" expression="${package}.spring.ModuleLateComponent" />
</context:component-scan>
<bean id="${project.groupId}.${project.artifactId}.jsroot.example" class="${package}.ExampleJavaScriptRootObject" parent="baseJavaScriptExtension">
@@ -19,4 +19,25 @@
<bean id="${project.groupId}.${project.artifactId}.action.example" class="${package}.ExampleActionExecuter" parent="action-executer" />
<bean id="${project.groupId}.${project.artifactId}.dataBootstrap_v1.0"
class="org.alfresco.repo.module.ImporterModuleComponent" parent="module.baseComponent"
depends-on="${project.groupId}.${project.artifactId}.dictionaryBootstrap">
<property name="moduleId" value="${project.artifactId}" />
<property name="name" value="${project.name} Data" />
<property name="description" value="Initial data load for ${project.name}" />
<property name="sinceVersion" value="0.1" />
<property name="appliesFromVersion" value="0.1" />
<property name="importer" ref="spacesBootstrap" />
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/${spaces.company_home.childname}</prop>
<prop key="location">alfresco/module/${project.groupId}.${project.artifactId}/dataset/example_v1.xml</prop>
</props>
</list>
</property>
</bean>
</beans>

View File

@@ -10,7 +10,7 @@
<!-- Enable Spring annotation scanning for classes in package -->
<context:component-scan base-package="${package}">
<context:include-filter type="annotation" expression="${package}.annotation.ModuleLateComponent" />
<context:include-filter type="annotation" expression="${package}.spring.ModuleLateComponent" />
</context:component-scan>
</beans>

View File

@@ -1,5 +1,5 @@
module.id=${project.artifactId}
#module.aliases=myModule-123, my-module
module.title=${project.name}
module.description=${project.description}
module.version=${project.version}
module.id=${project.artifactId}
#module.aliases=myModule-123, my-module
module.title=${project.name}
module.description=${project.description}
module.version=${project.version}

View File

@@ -1,63 +1,63 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<beans>
<!--
To support hot reloading of server side Javascript files in Share, we have to turn on development mode.
This setting will tell the Rhinoscript Processor not to compile and cache the JS files.
Cool, we can now change server side JS files and have the changes picked up,
without having to restart or refresh web scripts.
But… Due to a known bug in the Surf framework (ALF-9970) this will break the admin consoles in Share.
Override this bean and disable javascript compilation so that webscripts can be hot reloaded.
We have changed the 'compile' property from true to false.
-->
<bean id="javaScriptProcessor" class="org.alfresco.repo.jscript.RhinoScriptProcessor" init-method="register">
<property name="name">
<value>javascript</value>
</property>
<property name="extension">
<value>js</value>
</property>
<!-- Do not "compile javascript and cache compiled scripts" -->
<property name="compile">
<value>false</value>
</property>
<!-- allow sharing of sealed scopes for performance -->
<!-- disable to give each script it's own new scope which can be extended -->
<property name="shareSealedScopes">
<value>true</value>
</property>
<property name="scriptService">
<ref bean="scriptService"/>
</property>
<!-- Creates ScriptNodes which require the ServiceRegistry -->
<property name="serviceRegistry">
<ref bean="ServiceRegistry"/>
</property>
<property name="storeUrl">
<value>${spaces.store}</value>
</property>
<property name="storePath">
<value>${spaces.company_home.childname}</value>
</property>
</bean>
</beans>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<beans>
<!--
To support hot reloading of server side Javascript files in Share, we have to turn on development mode.
This setting will tell the Rhinoscript Processor not to compile and cache the JS files.
Cool, we can now change server side JS files and have the changes picked up,
without having to restart or refresh web scripts.
But… Due to a known bug in the Surf framework (ALF-9970) this will break the admin consoles in Share.
Override this bean and disable javascript compilation so that webscripts can be hot reloaded.
We have changed the 'compile' property from true to false.
-->
<bean id="javaScriptProcessor" class="org.alfresco.repo.jscript.RhinoScriptProcessor" init-method="register">
<property name="name">
<value>javascript</value>
</property>
<property name="extension">
<value>js</value>
</property>
<!-- Do not "compile javascript and cache compiled scripts" -->
<property name="compile">
<value>false</value>
</property>
<!-- allow sharing of sealed scopes for performance -->
<!-- disable to give each script it's own new scope which can be extended -->
<property name="shareSealedScopes">
<value>true</value>
</property>
<property name="scriptService">
<ref bean="scriptService"/>
</property>
<!-- Creates ScriptNodes which require the ServiceRegistry -->
<property name="serviceRegistry">
<ref bean="ServiceRegistry"/>
</property>
<property name="storeUrl">
<value>${spaces.store}</value>
</property>
<property name="storePath">
<value>${spaces.company_home.childname}</value>
</property>
</bean>
</beans>

View File

@@ -1,52 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}-parent</artifactId>
<version>${version}</version>
<packaging>pom</packaging>
<name>${shortname} ACS All-in-one Parent Project</name>
<properties>
<alfresco.sdk.version>4.2.0</alfresco.sdk.version>
<edition>community</edition>
<alfresco.platform.version>6.2.0-ga</alfresco.platform.version>
<alfresco.share.version>6.2.2.2</alfresco.share.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<modules>
<module>tengine-A</module>
<module>platform-module-A</module>
<module>platform-webapp</module>
<module>share-module-A</module>
<module>share-webapp</module>
</modules>
<repositories>
<repository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-private</url>
</pluginRepository>
</pluginRepositories>
</project>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}-parent</artifactId>
<version>${version}</version>
<packaging>pom</packaging>
<name>${shortname} ACS All-in-one Parent Project</name>
<properties>
<alfresco.sdk.version>4.2.0</alfresco.sdk.version>
<edition>community</edition>
<alfresco.platform.version>6.2.0-ga</alfresco.platform.version>
<alfresco.share.version>6.2.2.2</alfresco.share.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<modules>
<module>tengine-A</module>
<module>platform-module-A</module>
<module>platform-webapp</module>
<module>share-module-A</module>
<module>share-webapp</module>
</modules>
<repositories>
<repository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-private</url>
</pluginRepository>
</pluginRepositories>
</project>

View File

@@ -13,6 +13,11 @@ function start_ {
mvn -Drad process-classes
}
function start_log {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad "-Ddocker.showLogs" process-classes
}
function stop_ {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
@@ -41,6 +46,9 @@ switch ($args[0]) {
"start" {
start_
}
"start_log" {
start_log
}
"stop" {
stop_
}
@@ -58,7 +66,7 @@ switch ($args[0]) {
list
}
default {
echo "Usage: .\rad.ps1 [ start | stop | restart | rebuild | tail {container} | containers ]"
echo "Usage: .\rad.ps1 [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
}
}

View File

@@ -1,7 +1,7 @@
#!/bin/sh
discoverArtifactId() {
ARTIFACT_ID=`mvn -q -Dexec.executable=echo -Dexec.args='${project.artifactId}' --non-recursive exec:exec 2>/dev/null`
ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
}
rebuild() {
@@ -14,6 +14,11 @@ start() {
mvn -Drad process-classes
}
start_log() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad -Ddocker.showLogs process-classes
}
stop() {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
@@ -38,6 +43,9 @@ case "$1" in
start)
start
;;
start_log)
start_log
;;
stop)
stop
;;
@@ -55,7 +63,7 @@ case "$1" in
list
;;
*)
echo "Usage: ./rad.sh [ start | stop | restart | rebuild | tail {container} | containers ]"
echo "Usage: ./rad.sh [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
exit 1
esac

View File

@@ -1,334 +1,334 @@
<alfresco-config>
<config evaluator="string-compare" condition="DocumentLibrary">
<aspects>
<visible>
<aspect name="example:aspect" />
</visible>
<addable> <!-- defaults to visible config -->
</addable>
<removeable> <!-- defaults to visible config -->
</removeable>
</aspects>
<types>
<type name="cm:content">
<subtype name="example:document"/>
</type>
</types>
</config>
<config evaluator="string-compare" condition="AdvancedSearch" replace="true">
<advanced-search>
<forms>
<!-- Standard out-of-the-box types -->
<form labelId="search.form.label.cm_content" descriptionId="search.form.desc.cm_content">cm:content</form>
<form labelId="search.form.label.cm_folder" descriptionId="search.form.desc.cm_folder">cm:folder</form>
<!-- Custom type -->
<form labelId="form.label.advancedsearch.exampleDocument" descriptionId="form.description.advancedsearch.exampleDocument">example:document</form>
</forms>
</advanced-search>
</config>
<config evaluator="node-type" condition="example:document">
<forms>
<!-- Default form configuration for the cm:content type -->
<form>
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="cm:author" force="true"/>
<show id="size" for-mode="view"/>
<show id="cm:creator" for-mode="view"/>
<show id="cm:created" for-mode="view"/>
<show id="cm:modifier" for-mode="view"/>
<show id="cm:modified" for-mode="view"/>
<!-- tags and categories -->
<show id="cm:taggable" for-mode="edit" force="true"/>
<show id="cm:categories"/>
<!-- cm:dublincore aspect -->
<show id="cm:publisher"/>
<show id="cm:contributor"/>
<show id="cm:type"/>
<show id="cm:identifier"/>
<show id="cm:dcsource"/>
<show id="cm:coverage"/>
<show id="cm:rights"/>
<show id="cm:subject"/>
<!-- cm:complianceable aspect -->
<show id="cm:removeAfter"/>
<!-- cm:effectivity aspect -->
<show id="cm:from"/>
<show id="cm:to"/>
<!-- cm:summarizable aspect -->
<show id="cm:summary"/>
<!-- cm:translatable aspect -->
<show id="cm:translations"/>
<!-- cm:localizable aspect -->
<show id="cm:locale"/>
<!-- cm:ownable aspect -->
<show id="cm:owner"/>
<!-- cm:attachable aspect -->
<show id="cm:attachments"/>
<!-- cm:emailed aspect -->
<show id="cm:originator"/>
<show id="cm:addressee"/>
<show id="cm:addressees"/>
<show id="cm:sentdate"/>
<show id="cm:subjectline"/>
<!-- exif:exif aspect -->
<show id="exif:dateTimeOriginal"/>
<show id="exif:pixelXDimension"/>
<show id="exif:pixelYDimension"/>
<show id="exif:exposureTime"/>
<show id="exif:fNumber"/>
<show id="exif:flash"/>
<show id="exif:focalLength"/>
<show id="exif:isoSpeedRatings"/>
<show id="exif:manufacturer"/>
<show id="exif:model"/>
<show id="exif:software"/>
<show id="exif:orientation"/>
<show id="exif:xResolution"/>
<show id="exif:yResolution"/>
<show id="exif:resolutionUnit"/>
<!-- audio:audio aspect -->
<show id="audio:album"/>
<show id="audio:artist"/>
<show id="audio:composer"/>
<show id="audio:engineer"/>
<show id="audio:genre"/>
<show id="audio:trackNumber"/>
<show id="audio:releaseDate"/>
<show id="audio:sampleRate"/>
<show id="audio:sampleType"/>
<show id="audio:channelType"/>
<show id="audio:compressor"/>
<!-- cm:indexControl aspect -->
<show id="cm:isIndexed"/>
<show id="cm:isContentIndexed"/>
<!-- cm:geographic aspect -->
<show id="cm:latitude"/>
<show id="cm:longitude"/>
<!-- surf:widget aspect -->
<show id="surf:widgetType"/>
<show id="surf:mid"/>
<show id="surf:label"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true</control-param>
</control>
</field>
<set id="cm:content2cols" template="/org/alfresco/components/form/2-column-set.ftl"/>
<field set="cm:content2cols" id="mimetype">
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
</field>
<field set="cm:content2cols" id="size">
<control template="/org/alfresco/components/form/controls/size.ftl"/>
</field>
<field set="cm:content2cols" id="cm:creator"/>
<field set="cm:content2cols" id="cm:created"/>
<field set="cm:content2cols" id="cm:modifier"/>
<field set="cm:content2cols" id="cm:modified"/>
<field id="cm:taggable">
<control>
<control-param name="compactMode">true</control-param>
<control-param name="params">aspect=cm:taggable</control-param>
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
<control-param name="createNewItemIcon">tag</control-param>
</control>
</field>
<field id="cm:categories">
<control>
<control-param name="compactMode">true</control-param>
</control>
</field>
<field id="cm:originator" read-only="true"/>
<field id="cm:addressee" read-only="true"/>
<field id="cm:addressees" read-only="true"/>
<field id="cm:sentdate" read-only="true"/>
<field id="cm:subjectline" read-only="true"/>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Document Library pop-up Edit Metadata form -->
<form id="doclib-simple-metadata">
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<!-- tags and categories -->
<show id="cm:taggable" for-mode="edit" force="true"/>
<show id="cm:categories"/>
</field-visibility>
<edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"/>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true</control-param>
</control>
</field>
<field id="cm:taggable">
<control>
<control-param name="compactMode">true</control-param>
<control-param name="params">aspect=cm:taggable</control-param>
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
<control-param name="createNewItemIcon">tag</control-param>
</control>
</field>
<field id="cm:categories">
<control>
<control-param name="compactMode">true</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Document Library Inline Edit form -->
<form id="doclib-inline-edit">
<field-visibility>
<show id="cm:name"/>
<show id="cm:content" force="true"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:content" label-id="">
<control>
<control-param name="editorAppearance">explorer</control-param>
<control-param name="forceEditor">true</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
</forms>
</config>
<!-- Create and search forms for acme:document -->
<config evaluator="model-type" condition="acme:document">
<forms>
<form>
<field-visibility>
<show id="cm:name"/>
<show id="cm:content" force="true"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="app:editInline" force="true"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:content" label-id="">
<control>
<control-param name="editorAppearance">explorer</control-param>
</control>
</field>
<field id="mimetype">
<control template="/org/alfresco/components/form/controls/hidden.ftl">
<control-param name="contextProperty">mimeType</control-param>
</control>
</field>
<field id="app:editInline">
<control template="/org/alfresco/components/form/controls/hidden.ftl">
<control-param name="contextProperty">editInline</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Search form -->
<form id="search">
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="cm:modified"/>
<show id="cm:modifier"/>
</field-visibility>
<appearance>
<field id="mimetype">
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
</field>
<field id="cm:modifier">
<control>
<control-param name="forceEditable">true</control-param>
</control>
</field>
<field id="cm:modified">
<control template="/org/alfresco/components/form/controls/daterange.ftl"/>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
</forms>
</config>
</alfresco-config>
<alfresco-config>
<config evaluator="string-compare" condition="DocumentLibrary">
<aspects>
<visible>
<aspect name="example:aspect" />
</visible>
<addable> <!-- defaults to visible config -->
</addable>
<removeable> <!-- defaults to visible config -->
</removeable>
</aspects>
<types>
<type name="cm:content">
<subtype name="example:document"/>
</type>
</types>
</config>
<config evaluator="string-compare" condition="AdvancedSearch" replace="true">
<advanced-search>
<forms>
<!-- Standard out-of-the-box types -->
<form labelId="search.form.label.cm_content" descriptionId="search.form.desc.cm_content">cm:content</form>
<form labelId="search.form.label.cm_folder" descriptionId="search.form.desc.cm_folder">cm:folder</form>
<!-- Custom type -->
<form labelId="form.label.advancedsearch.exampleDocument" descriptionId="form.description.advancedsearch.exampleDocument">example:document</form>
</forms>
</advanced-search>
</config>
<config evaluator="node-type" condition="example:document">
<forms>
<!-- Default form configuration for the cm:content type -->
<form>
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="cm:author" force="true"/>
<show id="size" for-mode="view"/>
<show id="cm:creator" for-mode="view"/>
<show id="cm:created" for-mode="view"/>
<show id="cm:modifier" for-mode="view"/>
<show id="cm:modified" for-mode="view"/>
<!-- tags and categories -->
<show id="cm:taggable" for-mode="edit" force="true"/>
<show id="cm:categories"/>
<!-- cm:dublincore aspect -->
<show id="cm:publisher"/>
<show id="cm:contributor"/>
<show id="cm:type"/>
<show id="cm:identifier"/>
<show id="cm:dcsource"/>
<show id="cm:coverage"/>
<show id="cm:rights"/>
<show id="cm:subject"/>
<!-- cm:complianceable aspect -->
<show id="cm:removeAfter"/>
<!-- cm:effectivity aspect -->
<show id="cm:from"/>
<show id="cm:to"/>
<!-- cm:summarizable aspect -->
<show id="cm:summary"/>
<!-- cm:translatable aspect -->
<show id="cm:translations"/>
<!-- cm:localizable aspect -->
<show id="cm:locale"/>
<!-- cm:ownable aspect -->
<show id="cm:owner"/>
<!-- cm:attachable aspect -->
<show id="cm:attachments"/>
<!-- cm:emailed aspect -->
<show id="cm:originator"/>
<show id="cm:addressee"/>
<show id="cm:addressees"/>
<show id="cm:sentdate"/>
<show id="cm:subjectline"/>
<!-- exif:exif aspect -->
<show id="exif:dateTimeOriginal"/>
<show id="exif:pixelXDimension"/>
<show id="exif:pixelYDimension"/>
<show id="exif:exposureTime"/>
<show id="exif:fNumber"/>
<show id="exif:flash"/>
<show id="exif:focalLength"/>
<show id="exif:isoSpeedRatings"/>
<show id="exif:manufacturer"/>
<show id="exif:model"/>
<show id="exif:software"/>
<show id="exif:orientation"/>
<show id="exif:xResolution"/>
<show id="exif:yResolution"/>
<show id="exif:resolutionUnit"/>
<!-- audio:audio aspect -->
<show id="audio:album"/>
<show id="audio:artist"/>
<show id="audio:composer"/>
<show id="audio:engineer"/>
<show id="audio:genre"/>
<show id="audio:trackNumber"/>
<show id="audio:releaseDate"/>
<show id="audio:sampleRate"/>
<show id="audio:sampleType"/>
<show id="audio:channelType"/>
<show id="audio:compressor"/>
<!-- cm:indexControl aspect -->
<show id="cm:isIndexed"/>
<show id="cm:isContentIndexed"/>
<!-- cm:geographic aspect -->
<show id="cm:latitude"/>
<show id="cm:longitude"/>
<!-- surf:widget aspect -->
<show id="surf:widgetType"/>
<show id="surf:mid"/>
<show id="surf:label"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true</control-param>
</control>
</field>
<set id="cm:content2cols" template="/org/alfresco/components/form/2-column-set.ftl"/>
<field set="cm:content2cols" id="mimetype">
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
</field>
<field set="cm:content2cols" id="size">
<control template="/org/alfresco/components/form/controls/size.ftl"/>
</field>
<field set="cm:content2cols" id="cm:creator"/>
<field set="cm:content2cols" id="cm:created"/>
<field set="cm:content2cols" id="cm:modifier"/>
<field set="cm:content2cols" id="cm:modified"/>
<field id="cm:taggable">
<control>
<control-param name="compactMode">true</control-param>
<control-param name="params">aspect=cm:taggable</control-param>
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
<control-param name="createNewItemIcon">tag</control-param>
</control>
</field>
<field id="cm:categories">
<control>
<control-param name="compactMode">true</control-param>
</control>
</field>
<field id="cm:originator" read-only="true"/>
<field id="cm:addressee" read-only="true"/>
<field id="cm:addressees" read-only="true"/>
<field id="cm:sentdate" read-only="true"/>
<field id="cm:subjectline" read-only="true"/>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Document Library pop-up Edit Metadata form -->
<form id="doclib-simple-metadata">
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<!-- tags and categories -->
<show id="cm:taggable" for-mode="edit" force="true"/>
<show id="cm:categories"/>
</field-visibility>
<edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"/>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true</control-param>
</control>
</field>
<field id="cm:taggable">
<control>
<control-param name="compactMode">true</control-param>
<control-param name="params">aspect=cm:taggable</control-param>
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
<control-param name="createNewItemIcon">tag</control-param>
</control>
</field>
<field id="cm:categories">
<control>
<control-param name="compactMode">true</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Document Library Inline Edit form -->
<form id="doclib-inline-edit">
<field-visibility>
<show id="cm:name"/>
<show id="cm:content" force="true"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:content" label-id="">
<control>
<control-param name="editorAppearance">explorer</control-param>
<control-param name="forceEditor">true</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
</forms>
</config>
<!-- Create and search forms for acme:document -->
<config evaluator="model-type" condition="acme:document">
<forms>
<form>
<field-visibility>
<show id="cm:name"/>
<show id="cm:content" force="true"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="app:editInline" force="true"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:content" label-id="">
<control>
<control-param name="editorAppearance">explorer</control-param>
</control>
</field>
<field id="mimetype">
<control template="/org/alfresco/components/form/controls/hidden.ftl">
<control-param name="contextProperty">mimeType</control-param>
</control>
</field>
<field id="app:editInline">
<control template="/org/alfresco/components/form/controls/hidden.ftl">
<control-param name="contextProperty">editInline</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Search form -->
<form id="search">
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="cm:modified"/>
<show id="cm:modifier"/>
</field-visibility>
<appearance>
<field id="mimetype">
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
</field>
<field id="cm:modifier">
<control>
<control-param name="forceEditable">true</control-param>
</control>
</field>
<field id="cm:modified">
<control template="/org/alfresco/components/form/controls/daterange.ftl"/>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
</forms>
</config>
</alfresco-config>

View File

@@ -1,5 +1,5 @@
module.id=${project.artifactId}
#module.aliases=myModule-123, my-module
module.title=${project.name}
module.description=${project.description}
module.version=${project.version}
module.id=${project.artifactId}
#module.aliases=myModule-123, my-module
module.title=${project.name}
module.description=${project.description}
module.version=${project.version}

View File

@@ -1,95 +1,95 @@
<alfresco-config>
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<autowire>
<!-- Changing this to 'development' currently breaks the Admin Console.
Instead we make a POST to clear Share dependency caches, see 'clear-caches-refresh-ws' profile. -->
<mode>production</mode> <!-- not really need in the long run, used for YUI - deprecate -->
</autowire>
<!--
We don't need to do this when we have the new refresh mojos in the Alfresco plug-in.
If resource caching has been disabled then all the dependency caches will be cleared
before processing the Aikau jsonModel request...
(i.e. this.dojoDependencyHandler.clearCaches() )
For more information see the Aikau source code: https://github.com/Alfresco/Aikau
-->
<disable-resource-caching>true</disable-resource-caching>
</web-framework>
</config>
<!-- Global config section -->
<config replace="true">
<flags>
<!--
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
-->
<client-debug>true</client-debug>
<!--
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
This flag automatically activates logging on page load.
-->
<client-debug-autologging>false</client-debug-autologging>
</flags>
</config>
<!--
Disable CSRF completely for now
It seems Share has issues on 4.2.x with the embedded tomcat and CSRFPolicy
-->
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
<filter/>
</config>
<!--
Change so it is picked up from property where the Alfresco Repo Webapp is running
(e.g. http://localhost:8080/alfresco)
-->
<config evaluator="string-compare" condition="Remote">
<remote>
<endpoint>
<id>alfresco-noauth</id>
<name>Alfresco - unauthenticated access</name>
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<identity>none</identity>
</endpoint>
<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-feed</id>
<name>Alfresco Feed</name>
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
<connector-id>http</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<basic-auth>true</basic-auth>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-api</id>
<parent-id>alfresco</parent-id>
<name>Alfresco Public API - user access</name>
<description>Access to Alfresco Repository Public API that require user authentication.
This makes use of the authentication that is provided by parent 'alfresco' endpoint.</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/api</endpoint-url>
<identity>user</identity>
</endpoint>
</remote>
</config>
</alfresco-config>
<alfresco-config>
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<autowire>
<!-- Changing this to 'development' currently breaks the Admin Console.
Instead we make a POST to clear Share dependency caches, see 'clear-caches-refresh-ws' profile. -->
<mode>production</mode> <!-- not really need in the long run, used for YUI - deprecate -->
</autowire>
<!--
We don't need to do this when we have the new refresh mojos in the Alfresco plug-in.
If resource caching has been disabled then all the dependency caches will be cleared
before processing the Aikau jsonModel request...
(i.e. this.dojoDependencyHandler.clearCaches() )
For more information see the Aikau source code: https://github.com/Alfresco/Aikau
-->
<disable-resource-caching>true</disable-resource-caching>
</web-framework>
</config>
<!-- Global config section -->
<config replace="true">
<flags>
<!--
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
-->
<client-debug>true</client-debug>
<!--
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
This flag automatically activates logging on page load.
-->
<client-debug-autologging>false</client-debug-autologging>
</flags>
</config>
<!--
Disable CSRF completely for now
It seems Share has issues on 4.2.x with the embedded tomcat and CSRFPolicy
-->
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
<filter/>
</config>
<!--
Change so it is picked up from property where the Alfresco Repo Webapp is running
(e.g. http://localhost:8080/alfresco)
-->
<config evaluator="string-compare" condition="Remote">
<remote>
<endpoint>
<id>alfresco-noauth</id>
<name>Alfresco - unauthenticated access</name>
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<identity>none</identity>
</endpoint>
<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-feed</id>
<name>Alfresco Feed</name>
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
<connector-id>http</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<basic-auth>true</basic-auth>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-api</id>
<parent-id>alfresco</parent-id>
<name>Alfresco Public API - user access</name>
<description>Access to Alfresco Repository Public API that require user authentication.
This makes use of the authentication that is provided by parent 'alfresco' endpoint.</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/api</endpoint-url>
<identity>user</identity>
</endpoint>
</remote>
</config>
</alfresco-config>

View File

@@ -1,56 +1,56 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
log4j.rootLogger=error, Console, File
# Console appender definition #
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
# use log4j NDC to replace %x with tenant domain / username
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
# File appender definition #
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=share.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
# Spring
log4j.logger.org.springframework=warn
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
log4j.logger.org.springframework.util=error
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.config=warn
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
log4j.logger.org.alfresco.web=info
# Web Framework
log4j.logger.org.springframework.extensions.webscripts=info
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=info
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
log4j.logger.freemarker.runtime=
#-----------------------------------------------------------------------
# Custom Share module logging goes here...
#-----------------------------------------------------------------------
log4j.logger.${package}=debug
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
log4j.rootLogger=error, Console, File
# Console appender definition #
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
# use log4j NDC to replace %x with tenant domain / username
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
# File appender definition #
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=share.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
# Spring
log4j.logger.org.springframework=warn
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
log4j.logger.org.springframework.util=error
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.config=warn
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
log4j.logger.org.alfresco.web=info
# Web Framework
log4j.logger.org.springframework.extensions.webscripts=info
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=info
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
log4j.logger.freemarker.runtime=
#-----------------------------------------------------------------------
# Custom Share module logging goes here...
#-----------------------------------------------------------------------
log4j.logger.${package}=debug

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-lts-it-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Integration Testing for ACS Local Transform Service</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-lts-rad-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for ACS Local Transform Service</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-module-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: ACS Module Core</name>

View File

@@ -110,7 +110,7 @@
</nonFilteredFileExtensions>
</configuration>
<executions>
<!-- This plugin execution consolidates the compiled/generated/filtered resources into one directory for packaging -->
<!-- This plugin execution consolidates the generated/filtered resources into one directory for compiling -->
<execution>
<id>consolidate-resources</id>
<phase>process-resources</phase>
@@ -121,6 +121,9 @@
<resource>
<directory>${project.build.outputDirectory}</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.class</exclude>
</excludes>
</resource>
<resource>
<directory>${project.build.directory}/module-classes</directory>
@@ -133,6 +136,24 @@
</resources>
</configuration>
</execution>
<!-- This plugin execution consolidates the compiled resources into one directory for packaging -->
<execution>
<id>consolidate-classes</id>
<phase>process-classes</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>${project.build.packageDirectory}</outputDirectory>
<resources>
<resource>
<directory>${project.build.outputDirectory}</directory>
<filtering>false</filtering>
<includes>
<include>**/*.class</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- This plugin minifies (compresses) JavaScript files -->
@@ -182,7 +203,7 @@
<plugin>
<groupId>com.inteligr8.alfresco</groupId>
<artifactId>amp-plugin</artifactId>
<version>1.0.1</version>
<version>1.0.4</version>
<executions>
<execution>
<id>build-amp-file</id>
@@ -196,6 +217,30 @@
</execution>
</executions>
</plugin>
<!-- This plugin enables/disables the AMP file during the install/deploy phases -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>attach-amp</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<type>amp</type>
<file>${project.build.directory}/${project.artifactId}-${project.version}.amp</file>
</artifact>
</artifacts>
<skipAttach>${beedk.jar.notest.empty}</skipAttach>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-artifact-it-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Integration Testing for ACS Platform by Maven Artifact</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-artifact-rad-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for ACS Platform by Maven Artifact</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-it-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Integration Testing for ACS Platform Core</name>

View File

@@ -57,12 +57,14 @@
<skip>${skipTests}</skip>
<env>
<JAVA_MEMORY_MAX>${acs-platform.memory}</JAVA_MEMORY_MAX>
<ENABLE_JDWP>false</ENABLE_JDWP>
<ENABLE_HOTSWAP>false</ENABLE_HOTSWAP>
<CATALINA_OPTS>-Ddir.root=/tmp/alf_data -Ddb.driver=org.postgresql.Driver -Ddb.url=jdbc:postgresql://${project.artifactId}-acs-db:5432/alfresco \
-Dmessaging.broker.url=failover:\(tcp://${project.artifactId}-acs-mq:61616\)?timeout\=3000\&amp;jms.useCompression\=true \
-Dtransform.service.enabled=${beedk.deploy.ats.enabled} -Dtransform.service.url=http://${project.artifactId}-ats-atr:8095 -Dsfs.url=http://${project.artifactId}-ats-sfs:8099 \
-Dlocal.transform.service.enabled=${beedk.deploy.alts.enabled} \
-DlocalTransform.core-aio.url=http://${project.artifactId}-ate-aio:8090 -DlocalTransform.ate.url=http://${project.artifactId}-ate:8090 \
-Djodconverter.enabled=false \
-Djodconverter.enabled=false -Dsystem.workflow.engine.activiti.enabled=true \
-Dalfresco-pdf-renderer.url=http://${project.artifactId}-ate-aio:8090 -Djodconverter.url=http://${project.artifactId}-ate-aio:8090 -Dimg.url=http://${project.artifactId}-ate-aio:8090 -Dtika.url=http://${project.artifactId}-ate-aio:8090 -Dtransform.misc.url=http://${project.artifactId}-ate-aio:8090 \
-Dindex.subsystem.name=${beedk.deploy.platform.index} -Dsolr.host=${project.artifactId}-acs-search -Dsolr.secureComms=none \
${acs-platform.tomcat.opts}</CATALINA_OPTS>
@@ -203,7 +205,7 @@
<!-- versions -->
<acs-postgres.version>9.6</acs-postgres.version>
<acs-activemq.version>5.15.8</acs-activemq.version>
<tomcat-rad.version>9-1.3</tomcat-rad.version>
<tomcat-rad.version>9-1.4</tomcat-rad.version>
</properties>
</profile>
</profiles>

View File

@@ -6,7 +6,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-module-archetype</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>maven-archetype</packaging>
<name>Order of the Bee Development Kit: Project Scaffolding for an ACS Platform Module</name>

View File

@@ -1,47 +1,47 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<packaging>jar</packaging>
<name>${shortname} ACS Platform Module</name>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<packaging>jar</packaging>
<name>${shortname} ACS Platform Module</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<alfresco.sdk.version>4.2.0</alfresco.sdk.version>
<alfresco.platform.version>6.2.0-ga</alfresco.platform.version>
</properties>
<alfresco.platform.version>6.2.0-ga</alfresco.platform.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>${alfresco.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>${alfresco.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Very popular, but not required, dependency -->
<!-- Provided as an example -->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-repository</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<dependencies>
<!-- Very popular, but not required, dependency -->
<!-- Provided as an example -->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-repository</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
@@ -50,33 +50,33 @@
<extensions>true</extensions>
<configuration>
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-self-rad-tile -->
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-self-rad-tile -->
<tile>com.inteligr8.ootbee:beedk-acs-platform-self-rad-tile:${beedkVersion}</tile>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-module-tile -->
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-module-tile -->
<tile>com.inteligr8.ootbee:beedk-acs-platform-module-tile:${beedkVersion}</tile>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-self-it-tile
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-self-it-tile
<tile>com.inteligr8.ootbee:beedk-acs-platform-self-it-tile:${beedkVersion}</tile> -->
</tiles>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
</repositories>
</build>
<repositories>
<repository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</pluginRepository>
</pluginRepositories>
<pluginRepositories>
<pluginRepository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</pluginRepository>
</pluginRepositories>
</project>

View File

@@ -13,6 +13,11 @@ function start_ {
mvn -Drad process-classes
}
function start_log {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad "-Ddocker.showLogs" process-classes
}
function stop_ {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
@@ -41,6 +46,9 @@ switch ($args[0]) {
"start" {
start_
}
"start_log" {
start_log
}
"stop" {
stop_
}
@@ -58,7 +66,7 @@ switch ($args[0]) {
list
}
default {
echo "Usage: .\rad.ps1 [ start | stop | restart | rebuild | tail {container} | containers ]"
echo "Usage: .\rad.ps1 [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
}
}

View File

@@ -1,7 +1,7 @@
#!/bin/sh
discoverArtifactId() {
ARTIFACT_ID=`mvn -q -Dexec.executable=echo -Dexec.args='${project.artifactId}' --non-recursive exec:exec 2>/dev/null`
ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
}
rebuild() {
@@ -14,6 +14,11 @@ start() {
mvn -Drad process-classes
}
start_log() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad -Ddocker.showLogs process-classes
}
stop() {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
@@ -38,6 +43,9 @@ case "$1" in
start)
start
;;
start_log)
start_log
;;
stop)
stop
;;
@@ -55,7 +63,7 @@ case "$1" in
list
;;
*)
echo "Usage: ./rad.sh [ start | stop | restart | rebuild | tail {container} | containers ]"
echo "Usage: ./rad.sh [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
exit 1
esac

View File

@@ -1,4 +1,4 @@
package ${package}.annotation;
package ${package}.spring;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;

View File

@@ -1,4 +1,4 @@
package ${package}.annotation;
package ${package}.spring;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;

View File

@@ -1,9 +1,9 @@
<!-- Documentation: https://docs.alfresco.com/content-services/6.2/develop/reference/web-scripts-ref -->
<webscript>
<shortname>Example Webscript</shortname>
<description>Example Java-backed webscript description</description>
<url>/exampleJava?paramName={paramValue}</url>
<authentication>user</authentication>
<format default="json"></format>
<family>${shortname}</family>
<shortname>Example Webscript</shortname>
<description>Example Java-backed webscript description</description>
<url>/exampleJava?paramName={paramValue}</url>
<authentication>user</authentication>
<format default="json"></format>
<family>${shortname}</family>
</webscript>

View File

@@ -1,9 +1,9 @@
<!-- Documentation: https://docs.alfresco.com/content-services/6.2/develop/reference/web-scripts-ref -->
<webscript>
<shortname>Example Webscript</shortname>
<description>Example JS-backed webscript description</description>
<url>/exampleJs?paramName={paramValue}</url>
<authentication>guest</authentication>
<format default="json"></format>
<family>${shortname}</family>
<shortname>Example Webscript</shortname>
<description>Example JS-backed webscript description</description>
<url>/exampleJs?paramName={paramValue}</url>
<authentication>guest</authentication>
<format default="json"></format>
<family>${shortname}</family>
</webscript>

View File

@@ -0,0 +1,8 @@
<view:view xmlns:view="http://www.alfresco.org/view/repository/1.0"
xmlns:cm="http://www.alfresco.org/model/content/1.0"
xmlns:bfs="http://fiscal.treasury.gov/alfresco/model/common/1.0">
<cm:folder>
<cm:name>Example Folder</cm:name>
</cm:folder>
</view:view>

View File

@@ -1,24 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<model name="ootbee:exampleDataModel"
xmlns="http://www.alfresco.org/model/dictionary/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.alfresco.org/model/dictionary/1.0 https://raw.githubusercontent.com/Alfresco/alfresco-repository/master/src/main/resources/alfresco/model/modelSchema.xsd">
<description>Example Data Model</description>
<author>Order of the Bee</author>
<version>1.0</version>
<imports>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<!-- Import Alfresco System Model Definitions -->
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
</imports>
<namespaces>
<namespace uri="http://orderofthebee.org/alfresco/model/example/1.0" prefix="example"/>
</namespaces>
<?xml version="1.0" encoding="UTF-8"?>
<model name="ootbee:exampleDataModel"
xmlns="http://www.alfresco.org/model/dictionary/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.alfresco.org/model/dictionary/1.0 https://raw.githubusercontent.com/Alfresco/alfresco-repository/master/src/main/resources/alfresco/model/modelSchema.xsd">
<description>Example Data Model</description>
<author>Order of the Bee</author>
<version>1.0</version>
<imports>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<!-- Import Alfresco System Model Definitions -->
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
</imports>
<namespaces>
<namespace uri="http://orderofthebee.org/alfresco/model/example/1.0" prefix="example"/>
</namespaces>
</model>

View File

@@ -9,7 +9,7 @@
<!-- Enable Spring annotation scanning for classes in package -->
<context:component-scan base-package="${package}">
<context:include-filter type="annotation" expression="${package}.annotation.ModuleEarlyComponent" />
<context:include-filter type="annotation" expression="${package}.spring.ModuleEarlyComponent" />
</context:component-scan>
<!-- Example Data Model loading -->

View File

@@ -9,8 +9,8 @@
<!-- Enable Spring annotation scanning for classes in package -->
<context:component-scan base-package="${package}">
<context:exclude-filter type="annotation" expression="${package}.annotation.ModuleEarlyComponent" />
<context:exclude-filter type="annotation" expression="${package}.annotation.ModuleLateComponent" />
<context:exclude-filter type="annotation" expression="${package}.spring.ModuleEarlyComponent" />
<context:exclude-filter type="annotation" expression="${package}.spring.ModuleLateComponent" />
</context:component-scan>
<bean id="${project.groupId}.${project.artifactId}.jsroot.example" class="${package}.ExampleJavaScriptRootObject" parent="baseJavaScriptExtension">
@@ -19,4 +19,25 @@
<bean id="${project.groupId}.${project.artifactId}.action.example" class="${package}.ExampleActionExecuter" parent="action-executer" />
<bean id="${project.groupId}.${project.artifactId}.dataBootstrap_v1.0"
class="org.alfresco.repo.module.ImporterModuleComponent" parent="module.baseComponent"
depends-on="${project.groupId}.${project.artifactId}.dictionaryBootstrap">
<property name="moduleId" value="${project.artifactId}" />
<property name="name" value="${project.name} Data" />
<property name="description" value="Initial data load for ${project.name}" />
<property name="sinceVersion" value="0.1" />
<property name="appliesFromVersion" value="0.1" />
<property name="importer" ref="spacesBootstrap" />
<property name="bootstrapViews">
<list>
<props>
<prop key="path">/${spaces.company_home.childname}</prop>
<prop key="location">alfresco/module/${project.groupId}.${project.artifactId}/dataset/example_v1.xml</prop>
</props>
</list>
</property>
</bean>
</beans>

View File

@@ -10,7 +10,7 @@
<!-- Enable Spring annotation scanning for classes in package -->
<context:component-scan base-package="${package}">
<context:include-filter type="annotation" expression="${package}.annotation.ModuleLateComponent" />
<context:include-filter type="annotation" expression="${package}.spring.ModuleLateComponent" />
</context:component-scan>
</beans>

View File

@@ -1,5 +1,5 @@
module.id=${project.artifactId}
#module.aliases=myModule-123, my-module
module.title=${project.name}
module.description=${project.description}
module.version=${project.version}
module.id=${project.artifactId}
#module.aliases=myModule-123, my-module
module.title=${project.name}
module.description=${project.description}
module.version=${project.version}

View File

@@ -1,63 +1,63 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<beans>
<!--
To support hot reloading of server side Javascript files in Share, we have to turn on development mode.
This setting will tell the Rhinoscript Processor not to compile and cache the JS files.
Cool, we can now change server side JS files and have the changes picked up,
without having to restart or refresh web scripts.
But… Due to a known bug in the Surf framework (ALF-9970) this will break the admin consoles in Share.
Override this bean and disable javascript compilation so that webscripts can be hot reloaded.
We have changed the 'compile' property from true to false.
-->
<bean id="javaScriptProcessor" class="org.alfresco.repo.jscript.RhinoScriptProcessor" init-method="register">
<property name="name">
<value>javascript</value>
</property>
<property name="extension">
<value>js</value>
</property>
<!-- Do not "compile javascript and cache compiled scripts" -->
<property name="compile">
<value>false</value>
</property>
<!-- allow sharing of sealed scopes for performance -->
<!-- disable to give each script it's own new scope which can be extended -->
<property name="shareSealedScopes">
<value>true</value>
</property>
<property name="scriptService">
<ref bean="scriptService"/>
</property>
<!-- Creates ScriptNodes which require the ServiceRegistry -->
<property name="serviceRegistry">
<ref bean="ServiceRegistry"/>
</property>
<property name="storeUrl">
<value>${spaces.store}</value>
</property>
<property name="storePath">
<value>${spaces.company_home.childname}</value>
</property>
</bean>
</beans>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<beans>
<!--
To support hot reloading of server side Javascript files in Share, we have to turn on development mode.
This setting will tell the Rhinoscript Processor not to compile and cache the JS files.
Cool, we can now change server side JS files and have the changes picked up,
without having to restart or refresh web scripts.
But… Due to a known bug in the Surf framework (ALF-9970) this will break the admin consoles in Share.
Override this bean and disable javascript compilation so that webscripts can be hot reloaded.
We have changed the 'compile' property from true to false.
-->
<bean id="javaScriptProcessor" class="org.alfresco.repo.jscript.RhinoScriptProcessor" init-method="register">
<property name="name">
<value>javascript</value>
</property>
<property name="extension">
<value>js</value>
</property>
<!-- Do not "compile javascript and cache compiled scripts" -->
<property name="compile">
<value>false</value>
</property>
<!-- allow sharing of sealed scopes for performance -->
<!-- disable to give each script it's own new scope which can be extended -->
<property name="shareSealedScopes">
<value>true</value>
</property>
<property name="scriptService">
<ref bean="scriptService"/>
</property>
<!-- Creates ScriptNodes which require the ServiceRegistry -->
<property name="serviceRegistry">
<ref bean="ServiceRegistry"/>
</property>
<property name="storeUrl">
<value>${spaces.store}</value>
</property>
<property name="storePath">
<value>${spaces.company_home.childname}</value>
</property>
</bean>
</beans>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-module-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: ACS Platform Module</name>

View File

@@ -49,6 +49,8 @@ The following properties are intended to be exposed by inheriting Public API Mav
| Maven Property | Required | Default | Description |
| -------------------------- |:--------:| --------------- | ----------- |
| `acs-platform.hotswap.enabled` | | true | Enable the HotSwap Agent for live classpath reloading. |
| `acs-platform.debugger.enabled` | | true | Enable the JDWP debugger. |
| `acs-platform.port` | | 8080 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `acs-postgres.port` | | 5432 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `acs-activemq.port` | | 8161 | The port to expose on `localhost` for the developer; not for other applications or users. |

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-rad-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for ACS Platform Core</name>

View File

@@ -103,12 +103,14 @@
<run>
<env>
<JAVA_MEMORY_MAX>${acs-platform.memory}</JAVA_MEMORY_MAX>
<ENABLE_JDWP>${acs-platform.debugger.enabled}</ENABLE_JDWP>
<ENABLE_HOTSWAP>${acs-platform.hotswap.enabled}</ENABLE_HOTSWAP>
<CATALINA_OPTS>-Ddir.root=/tmp/alf_data -Ddb.driver=org.postgresql.Driver -Ddb.url=jdbc:postgresql://${project.artifactId}-acs-db:5432/alfresco \
-Dmessaging.broker.url=failover:\(tcp://${project.artifactId}-acs-mq:61616\)?timeout\=3000\&amp;jms.useCompression\=true \
-Dtransform.service.enabled=${beedk.rad.ats.enabled} -Dtransform.service.url=http://${project.artifactId}-ats-atr:8095 -Dsfs.url=http://${project.artifactId}-ats-sfs:8099 \
-Dlocal.transform.service.enabled=${beedk.rad.alts.enabled} \
-DlocalTransform.core-aio.url=http://${project.artifactId}-ate-aio:8090 -DlocalTransform.ate.url=http://${project.artifactId}-ate:8090 \
-Djodconverter.enabled=false \
-Djodconverter.enabled=false -Dsystem.workflow.engine.activiti.enabled=true \
-Dalfresco-pdf-renderer.url=http://${project.artifactId}-ate-aio:8090 -Djodconverter.url=http://${project.artifactId}-ate-aio:8090 -Dimg.url=http://${project.artifactId}-ate-aio:8090 -Dtika.url=http://${project.artifactId}-ate-aio:8090 -Dtransform.misc.url=http://${project.artifactId}-ate-aio:8090 \
-Dindex.subsystem.name=${beedk.rad.platform.index} -Dsolr.host=${project.artifactId}-acs-search -Dsolr.secureComms=none \
${acs-platform.tomcat.opts}</CATALINA_OPTS>
@@ -230,6 +232,8 @@
<beedk.deploy.platform.warDirectory>${project.build.warDirectory}</beedk.deploy.platform.warDirectory>
<acs-platform.timeout>150000</acs-platform.timeout>
<acs-platform.memory>1g</acs-platform.memory>
<acs-platform.debugger.enabled>true</acs-platform.debugger.enabled>
<acs-platform.hotswap.enabled>true</acs-platform.hotswap.enabled>
<acs-api-explorer.war.groupId>org.alfresco</acs-api-explorer.war.groupId>
<acs-api-explorer.war.artifactId>api-explorer</acs-api-explorer.war.artifactId>
<acs-api-explorer.war.version>${acs-api-explorer.version}</acs-api-explorer.war.version>
@@ -247,7 +251,7 @@
<acs-aos.war.version>1.3.2.1</acs-aos.war.version>
<acs-postgres.version>9.6</acs-postgres.version>
<acs-activemq.version>5.15.8</acs-activemq.version>
<tomcat-rad.version>9-1.3</tomcat-rad.version>
<tomcat-rad.version>9-1.4</tomcat-rad.version>
</properties>
</profile>
</profiles>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-self-it-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Integration Testing for ACS Platform</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-self-rad-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for ACS Platform</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-sibling-it-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Integration Testing for ACS Platform by Maven Sibling Project</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-sibling-rad-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for ACS Platform by Maven Sibling Project</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-webapp-docker-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: ACS Platform Web Application Docker Enablement</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-platform-webapp-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: ACS Platform Web Application</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-search-it-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Integration Testing for Alfresco Search Services</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-search-rad-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for Alfresco Search Services</name>

View File

@@ -6,7 +6,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-share-module-archetype</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>maven-archetype</packaging>
<name>Order of the Bee Development Kit: Project Scaffolding for an ACS Share Module</name>

View File

@@ -1,50 +1,50 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<packaging>jar</packaging>
<name>${shortname} ACS Share Module</name>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<packaging>jar</packaging>
<name>${shortname} ACS Share Module</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<alfresco.sdk.version>4.2.0</alfresco.sdk.version>
<alfresco.platform.version>6.2.0-ga</alfresco.platform.version>
<alfresco.share.version>6.2.2</alfresco.share.version>
</properties>
<alfresco.platform.version>6.2.0-ga</alfresco.platform.version>
<alfresco.share.version>6.2.2</alfresco.share.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>${alfresco.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>${alfresco.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Very popular, but not required, dependency -->
<!-- Provided as an example -->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>share</artifactId>
<version>${alfresco.share.version}</version>
<classifier>classes</classifier>
<scope>provided</scope>
</dependency>
</dependencies>
<dependencies>
<!-- Very popular, but not required, dependency -->
<!-- Provided as an example -->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>share</artifactId>
<version>${alfresco.share.version}</version>
<classifier>classes</classifier>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
@@ -53,35 +53,35 @@
<extensions>true</extensions>
<configuration>
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-self-rad-tile -->
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-self-rad-tile -->
<tile>com.inteligr8.ootbee:beedk-acs-share-self-rad-tile:${beedkVersion}</tile>
<tile>com.inteligr8.ootbee:beedk-acs-platform-artifact-rad-tile:${beedkVersion}</tile>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-module-tile -->
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-module-tile -->
<tile>com.inteligr8.ootbee:beedk-acs-share-module-tile:${beedkVersion}</tile>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-self-it-tile
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-self-it-tile
<tile>com.inteligr8.ootbee:beedk-acs-share-self-it-tile:${beedkVersion}</tile>
<tile>com.inteligr8.ootbee:beedk-acs-share-artifact-it-tile:${beedkVersion}</tile> -->
</tiles>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
</repositories>
</build>
<repositories>
<repository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</pluginRepository>
</pluginRepositories>
<pluginRepositories>
<pluginRepository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</pluginRepository>
</pluginRepositories>
</project>

View File

@@ -13,6 +13,11 @@ function start_ {
mvn -Drad process-classes
}
function start_log {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad "-Ddocker.showLogs" process-classes
}
function stop_ {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
@@ -41,6 +46,9 @@ switch ($args[0]) {
"start" {
start_
}
"start_log" {
start_log
}
"stop" {
stop_
}
@@ -58,7 +66,7 @@ switch ($args[0]) {
list
}
default {
echo "Usage: .\rad.ps1 [ start | stop | restart | rebuild | tail {container} | containers ]"
echo "Usage: .\rad.ps1 [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
}
}

View File

@@ -1,7 +1,7 @@
#!/bin/sh
discoverArtifactId() {
ARTIFACT_ID=`mvn -q -Dexec.executable=echo -Dexec.args='${project.artifactId}' --non-recursive exec:exec 2>/dev/null`
ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
}
rebuild() {
@@ -14,6 +14,11 @@ start() {
mvn -Drad process-classes
}
start_log() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad -Ddocker.showLogs process-classes
}
stop() {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
@@ -38,6 +43,9 @@ case "$1" in
start)
start
;;
start_log)
start_log
;;
stop)
stop
;;
@@ -55,7 +63,7 @@ case "$1" in
list
;;
*)
echo "Usage: ./rad.sh [ start | stop | restart | rebuild | tail {container} | containers ]"
echo "Usage: ./rad.sh [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
exit 1
esac

View File

@@ -1,334 +1,334 @@
<alfresco-config>
<config evaluator="string-compare" condition="DocumentLibrary">
<aspects>
<visible>
<aspect name="example:aspect" />
</visible>
<addable> <!-- defaults to visible config -->
</addable>
<removeable> <!-- defaults to visible config -->
</removeable>
</aspects>
<types>
<type name="cm:content">
<subtype name="example:document"/>
</type>
</types>
</config>
<config evaluator="string-compare" condition="AdvancedSearch" replace="true">
<advanced-search>
<forms>
<!-- Standard out-of-the-box types -->
<form labelId="search.form.label.cm_content" descriptionId="search.form.desc.cm_content">cm:content</form>
<form labelId="search.form.label.cm_folder" descriptionId="search.form.desc.cm_folder">cm:folder</form>
<!-- Custom type -->
<form labelId="form.label.advancedsearch.exampleDocument" descriptionId="form.description.advancedsearch.exampleDocument">example:document</form>
</forms>
</advanced-search>
</config>
<config evaluator="node-type" condition="example:document">
<forms>
<!-- Default form configuration for the cm:content type -->
<form>
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="cm:author" force="true"/>
<show id="size" for-mode="view"/>
<show id="cm:creator" for-mode="view"/>
<show id="cm:created" for-mode="view"/>
<show id="cm:modifier" for-mode="view"/>
<show id="cm:modified" for-mode="view"/>
<!-- tags and categories -->
<show id="cm:taggable" for-mode="edit" force="true"/>
<show id="cm:categories"/>
<!-- cm:dublincore aspect -->
<show id="cm:publisher"/>
<show id="cm:contributor"/>
<show id="cm:type"/>
<show id="cm:identifier"/>
<show id="cm:dcsource"/>
<show id="cm:coverage"/>
<show id="cm:rights"/>
<show id="cm:subject"/>
<!-- cm:complianceable aspect -->
<show id="cm:removeAfter"/>
<!-- cm:effectivity aspect -->
<show id="cm:from"/>
<show id="cm:to"/>
<!-- cm:summarizable aspect -->
<show id="cm:summary"/>
<!-- cm:translatable aspect -->
<show id="cm:translations"/>
<!-- cm:localizable aspect -->
<show id="cm:locale"/>
<!-- cm:ownable aspect -->
<show id="cm:owner"/>
<!-- cm:attachable aspect -->
<show id="cm:attachments"/>
<!-- cm:emailed aspect -->
<show id="cm:originator"/>
<show id="cm:addressee"/>
<show id="cm:addressees"/>
<show id="cm:sentdate"/>
<show id="cm:subjectline"/>
<!-- exif:exif aspect -->
<show id="exif:dateTimeOriginal"/>
<show id="exif:pixelXDimension"/>
<show id="exif:pixelYDimension"/>
<show id="exif:exposureTime"/>
<show id="exif:fNumber"/>
<show id="exif:flash"/>
<show id="exif:focalLength"/>
<show id="exif:isoSpeedRatings"/>
<show id="exif:manufacturer"/>
<show id="exif:model"/>
<show id="exif:software"/>
<show id="exif:orientation"/>
<show id="exif:xResolution"/>
<show id="exif:yResolution"/>
<show id="exif:resolutionUnit"/>
<!-- audio:audio aspect -->
<show id="audio:album"/>
<show id="audio:artist"/>
<show id="audio:composer"/>
<show id="audio:engineer"/>
<show id="audio:genre"/>
<show id="audio:trackNumber"/>
<show id="audio:releaseDate"/>
<show id="audio:sampleRate"/>
<show id="audio:sampleType"/>
<show id="audio:channelType"/>
<show id="audio:compressor"/>
<!-- cm:indexControl aspect -->
<show id="cm:isIndexed"/>
<show id="cm:isContentIndexed"/>
<!-- cm:geographic aspect -->
<show id="cm:latitude"/>
<show id="cm:longitude"/>
<!-- surf:widget aspect -->
<show id="surf:widgetType"/>
<show id="surf:mid"/>
<show id="surf:label"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true</control-param>
</control>
</field>
<set id="cm:content2cols" template="/org/alfresco/components/form/2-column-set.ftl"/>
<field set="cm:content2cols" id="mimetype">
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
</field>
<field set="cm:content2cols" id="size">
<control template="/org/alfresco/components/form/controls/size.ftl"/>
</field>
<field set="cm:content2cols" id="cm:creator"/>
<field set="cm:content2cols" id="cm:created"/>
<field set="cm:content2cols" id="cm:modifier"/>
<field set="cm:content2cols" id="cm:modified"/>
<field id="cm:taggable">
<control>
<control-param name="compactMode">true</control-param>
<control-param name="params">aspect=cm:taggable</control-param>
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
<control-param name="createNewItemIcon">tag</control-param>
</control>
</field>
<field id="cm:categories">
<control>
<control-param name="compactMode">true</control-param>
</control>
</field>
<field id="cm:originator" read-only="true"/>
<field id="cm:addressee" read-only="true"/>
<field id="cm:addressees" read-only="true"/>
<field id="cm:sentdate" read-only="true"/>
<field id="cm:subjectline" read-only="true"/>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Document Library pop-up Edit Metadata form -->
<form id="doclib-simple-metadata">
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<!-- tags and categories -->
<show id="cm:taggable" for-mode="edit" force="true"/>
<show id="cm:categories"/>
</field-visibility>
<edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"/>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true</control-param>
</control>
</field>
<field id="cm:taggable">
<control>
<control-param name="compactMode">true</control-param>
<control-param name="params">aspect=cm:taggable</control-param>
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
<control-param name="createNewItemIcon">tag</control-param>
</control>
</field>
<field id="cm:categories">
<control>
<control-param name="compactMode">true</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Document Library Inline Edit form -->
<form id="doclib-inline-edit">
<field-visibility>
<show id="cm:name"/>
<show id="cm:content" force="true"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:content" label-id="">
<control>
<control-param name="editorAppearance">explorer</control-param>
<control-param name="forceEditor">true</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
</forms>
</config>
<!-- Create and search forms for acme:document -->
<config evaluator="model-type" condition="acme:document">
<forms>
<form>
<field-visibility>
<show id="cm:name"/>
<show id="cm:content" force="true"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="app:editInline" force="true"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:content" label-id="">
<control>
<control-param name="editorAppearance">explorer</control-param>
</control>
</field>
<field id="mimetype">
<control template="/org/alfresco/components/form/controls/hidden.ftl">
<control-param name="contextProperty">mimeType</control-param>
</control>
</field>
<field id="app:editInline">
<control template="/org/alfresco/components/form/controls/hidden.ftl">
<control-param name="contextProperty">editInline</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Search form -->
<form id="search">
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="cm:modified"/>
<show id="cm:modifier"/>
</field-visibility>
<appearance>
<field id="mimetype">
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
</field>
<field id="cm:modifier">
<control>
<control-param name="forceEditable">true</control-param>
</control>
</field>
<field id="cm:modified">
<control template="/org/alfresco/components/form/controls/daterange.ftl"/>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
</forms>
</config>
</alfresco-config>
<alfresco-config>
<config evaluator="string-compare" condition="DocumentLibrary">
<aspects>
<visible>
<aspect name="example:aspect" />
</visible>
<addable> <!-- defaults to visible config -->
</addable>
<removeable> <!-- defaults to visible config -->
</removeable>
</aspects>
<types>
<type name="cm:content">
<subtype name="example:document"/>
</type>
</types>
</config>
<config evaluator="string-compare" condition="AdvancedSearch" replace="true">
<advanced-search>
<forms>
<!-- Standard out-of-the-box types -->
<form labelId="search.form.label.cm_content" descriptionId="search.form.desc.cm_content">cm:content</form>
<form labelId="search.form.label.cm_folder" descriptionId="search.form.desc.cm_folder">cm:folder</form>
<!-- Custom type -->
<form labelId="form.label.advancedsearch.exampleDocument" descriptionId="form.description.advancedsearch.exampleDocument">example:document</form>
</forms>
</advanced-search>
</config>
<config evaluator="node-type" condition="example:document">
<forms>
<!-- Default form configuration for the cm:content type -->
<form>
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="cm:author" force="true"/>
<show id="size" for-mode="view"/>
<show id="cm:creator" for-mode="view"/>
<show id="cm:created" for-mode="view"/>
<show id="cm:modifier" for-mode="view"/>
<show id="cm:modified" for-mode="view"/>
<!-- tags and categories -->
<show id="cm:taggable" for-mode="edit" force="true"/>
<show id="cm:categories"/>
<!-- cm:dublincore aspect -->
<show id="cm:publisher"/>
<show id="cm:contributor"/>
<show id="cm:type"/>
<show id="cm:identifier"/>
<show id="cm:dcsource"/>
<show id="cm:coverage"/>
<show id="cm:rights"/>
<show id="cm:subject"/>
<!-- cm:complianceable aspect -->
<show id="cm:removeAfter"/>
<!-- cm:effectivity aspect -->
<show id="cm:from"/>
<show id="cm:to"/>
<!-- cm:summarizable aspect -->
<show id="cm:summary"/>
<!-- cm:translatable aspect -->
<show id="cm:translations"/>
<!-- cm:localizable aspect -->
<show id="cm:locale"/>
<!-- cm:ownable aspect -->
<show id="cm:owner"/>
<!-- cm:attachable aspect -->
<show id="cm:attachments"/>
<!-- cm:emailed aspect -->
<show id="cm:originator"/>
<show id="cm:addressee"/>
<show id="cm:addressees"/>
<show id="cm:sentdate"/>
<show id="cm:subjectline"/>
<!-- exif:exif aspect -->
<show id="exif:dateTimeOriginal"/>
<show id="exif:pixelXDimension"/>
<show id="exif:pixelYDimension"/>
<show id="exif:exposureTime"/>
<show id="exif:fNumber"/>
<show id="exif:flash"/>
<show id="exif:focalLength"/>
<show id="exif:isoSpeedRatings"/>
<show id="exif:manufacturer"/>
<show id="exif:model"/>
<show id="exif:software"/>
<show id="exif:orientation"/>
<show id="exif:xResolution"/>
<show id="exif:yResolution"/>
<show id="exif:resolutionUnit"/>
<!-- audio:audio aspect -->
<show id="audio:album"/>
<show id="audio:artist"/>
<show id="audio:composer"/>
<show id="audio:engineer"/>
<show id="audio:genre"/>
<show id="audio:trackNumber"/>
<show id="audio:releaseDate"/>
<show id="audio:sampleRate"/>
<show id="audio:sampleType"/>
<show id="audio:channelType"/>
<show id="audio:compressor"/>
<!-- cm:indexControl aspect -->
<show id="cm:isIndexed"/>
<show id="cm:isContentIndexed"/>
<!-- cm:geographic aspect -->
<show id="cm:latitude"/>
<show id="cm:longitude"/>
<!-- surf:widget aspect -->
<show id="surf:widgetType"/>
<show id="surf:mid"/>
<show id="surf:label"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true</control-param>
</control>
</field>
<set id="cm:content2cols" template="/org/alfresco/components/form/2-column-set.ftl"/>
<field set="cm:content2cols" id="mimetype">
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
</field>
<field set="cm:content2cols" id="size">
<control template="/org/alfresco/components/form/controls/size.ftl"/>
</field>
<field set="cm:content2cols" id="cm:creator"/>
<field set="cm:content2cols" id="cm:created"/>
<field set="cm:content2cols" id="cm:modifier"/>
<field set="cm:content2cols" id="cm:modified"/>
<field id="cm:taggable">
<control>
<control-param name="compactMode">true</control-param>
<control-param name="params">aspect=cm:taggable</control-param>
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
<control-param name="createNewItemIcon">tag</control-param>
</control>
</field>
<field id="cm:categories">
<control>
<control-param name="compactMode">true</control-param>
</control>
</field>
<field id="cm:originator" read-only="true"/>
<field id="cm:addressee" read-only="true"/>
<field id="cm:addressees" read-only="true"/>
<field id="cm:sentdate" read-only="true"/>
<field id="cm:subjectline" read-only="true"/>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Document Library pop-up Edit Metadata form -->
<form id="doclib-simple-metadata">
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<!-- tags and categories -->
<show id="cm:taggable" for-mode="edit" force="true"/>
<show id="cm:categories"/>
</field-visibility>
<edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"/>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:description">
<control>
<control-param name="activateLinks">true</control-param>
</control>
</field>
<field id="cm:taggable">
<control>
<control-param name="compactMode">true</control-param>
<control-param name="params">aspect=cm:taggable</control-param>
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
<control-param name="createNewItemIcon">tag</control-param>
</control>
</field>
<field id="cm:categories">
<control>
<control-param name="compactMode">true</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Document Library Inline Edit form -->
<form id="doclib-inline-edit">
<field-visibility>
<show id="cm:name"/>
<show id="cm:content" force="true"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:content" label-id="">
<control>
<control-param name="editorAppearance">explorer</control-param>
<control-param name="forceEditor">true</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
</forms>
</config>
<!-- Create and search forms for acme:document -->
<config evaluator="model-type" condition="acme:document">
<forms>
<form>
<field-visibility>
<show id="cm:name"/>
<show id="cm:content" force="true"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="app:editInline" force="true"/>
</field-visibility>
<appearance>
<field id="cm:name">
<control>
<control-param name="maxLength">255</control-param>
</control>
</field>
<field id="cm:title">
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
</field>
<field id="cm:content" label-id="">
<control>
<control-param name="editorAppearance">explorer</control-param>
</control>
</field>
<field id="mimetype">
<control template="/org/alfresco/components/form/controls/hidden.ftl">
<control-param name="contextProperty">mimeType</control-param>
</control>
</field>
<field id="app:editInline">
<control template="/org/alfresco/components/form/controls/hidden.ftl">
<control-param name="contextProperty">editInline</control-param>
</control>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
<!-- Search form -->
<form id="search">
<field-visibility>
<show id="cm:name"/>
<show id="cm:title" force="true"/>
<show id="cm:description" force="true"/>
<show id="mimetype"/>
<show id="cm:modified"/>
<show id="cm:modifier"/>
</field-visibility>
<appearance>
<field id="mimetype">
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
</field>
<field id="cm:modifier">
<control>
<control-param name="forceEditable">true</control-param>
</control>
</field>
<field id="cm:modified">
<control template="/org/alfresco/components/form/controls/daterange.ftl"/>
</field>
<!-- Example Properties -->
<set id="exampleDocumentSet" appearance="bordered-panel" label-id="form.set.label.example.document"/>
</appearance>
</form>
</forms>
</config>
</alfresco-config>

View File

@@ -1,5 +1,5 @@
module.id=${project.artifactId}
#module.aliases=myModule-123, my-module
module.title=${project.name}
module.description=${project.description}
module.version=${project.version}
module.id=${project.artifactId}
#module.aliases=myModule-123, my-module
module.title=${project.name}
module.description=${project.description}
module.version=${project.version}

View File

@@ -10,30 +10,30 @@
<!-- Enable Spring annotation scanning for classes in package -->
<context:component-scan base-package="${package}" />
<bean id="${project.groupId}.${project.artifactId}.resources" class="org.springframework.extensions.surf.util.ResourceBundleBootstrapComponent">
<property name="resourceBundles">
<list>
<value>${alfresco.ext.package}.messages.example</value>
</list>
</property>
</bean>
<bean id="${project.groupId}.${project.artifactId}.resources" class="org.springframework.extensions.surf.util.ResourceBundleBootstrapComponent">
<property name="resourceBundles">
<list>
<value>${alfresco.ext.package}.messages.example</value>
</list>
</property>
</bean>
<!-- An example Action Evaluator -->
<bean id="evaluator.doclib.action.isMarkdown" parent="evaluator.doclib.action.isMimetype">
<property name="mimetypes">
<list>
<value>text/x-markdown</value>
</list>
</property>
</bean>
<bean id="evaluator.doclib.action.isMarkdown" parent="evaluator.doclib.action.isMimetype">
<property name="mimetypes">
<list>
<value>text/x-markdown</value>
</list>
</property>
</bean>
<!-- An example Extensibility Module Evaluator -->
<bean id="moduleEvaluator.doclib.action.isMarkdown" parent="moduleEvaluator.doclib.action.isMimetype">
<property name="mimetypes">
<list>
<value>text/x-markdown</value>
</list>
</property>
</bean>
<bean id="moduleEvaluator.doclib.action.isMarkdown" parent="moduleEvaluator.doclib.action.isMimetype">
<property name="mimetypes">
<list>
<value>text/x-markdown</value>
</list>
</property>
</bean>
</beans>

View File

@@ -1,95 +1,95 @@
<alfresco-config>
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<autowire>
<!-- Changing this to 'development' currently breaks the Admin Console.
Instead we make a POST to clear Share dependency caches, see 'clear-caches-refresh-ws' profile. -->
<mode>production</mode> <!-- not really need in the long run, used for YUI - deprecate -->
</autowire>
<!--
We don't need to do this when we have the new refresh mojos in the Alfresco plug-in.
If resource caching has been disabled then all the dependency caches will be cleared
before processing the Aikau jsonModel request...
(i.e. this.dojoDependencyHandler.clearCaches() )
For more information see the Aikau source code: https://github.com/Alfresco/Aikau
-->
<disable-resource-caching>true</disable-resource-caching>
</web-framework>
</config>
<!-- Global config section -->
<config replace="true">
<flags>
<!--
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
-->
<client-debug>true</client-debug>
<!--
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
This flag automatically activates logging on page load.
-->
<client-debug-autologging>false</client-debug-autologging>
</flags>
</config>
<!--
Disable CSRF completely for now
It seems Share has issues on 4.2.x with the embedded tomcat and CSRFPolicy
-->
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
<filter/>
</config>
<!--
Change so it is picked up from property where the Alfresco Repo Webapp is running
(e.g. http://localhost:8080/alfresco)
-->
<config evaluator="string-compare" condition="Remote">
<remote>
<endpoint>
<id>alfresco-noauth</id>
<name>Alfresco - unauthenticated access</name>
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<identity>none</identity>
</endpoint>
<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-feed</id>
<name>Alfresco Feed</name>
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
<connector-id>http</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<basic-auth>true</basic-auth>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-api</id>
<parent-id>alfresco</parent-id>
<name>Alfresco Public API - user access</name>
<description>Access to Alfresco Repository Public API that require user authentication.
This makes use of the authentication that is provided by parent 'alfresco' endpoint.</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/api</endpoint-url>
<identity>user</identity>
</endpoint>
</remote>
</config>
</alfresco-config>
<alfresco-config>
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<autowire>
<!-- Changing this to 'development' currently breaks the Admin Console.
Instead we make a POST to clear Share dependency caches, see 'clear-caches-refresh-ws' profile. -->
<mode>production</mode> <!-- not really need in the long run, used for YUI - deprecate -->
</autowire>
<!--
We don't need to do this when we have the new refresh mojos in the Alfresco plug-in.
If resource caching has been disabled then all the dependency caches will be cleared
before processing the Aikau jsonModel request...
(i.e. this.dojoDependencyHandler.clearCaches() )
For more information see the Aikau source code: https://github.com/Alfresco/Aikau
-->
<disable-resource-caching>true</disable-resource-caching>
</web-framework>
</config>
<!-- Global config section -->
<config replace="true">
<flags>
<!--
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
-->
<client-debug>true</client-debug>
<!--
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
This flag automatically activates logging on page load.
-->
<client-debug-autologging>false</client-debug-autologging>
</flags>
</config>
<!--
Disable CSRF completely for now
It seems Share has issues on 4.2.x with the embedded tomcat and CSRFPolicy
-->
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
<filter/>
</config>
<!--
Change so it is picked up from property where the Alfresco Repo Webapp is running
(e.g. http://localhost:8080/alfresco)
-->
<config evaluator="string-compare" condition="Remote">
<remote>
<endpoint>
<id>alfresco-noauth</id>
<name>Alfresco - unauthenticated access</name>
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<identity>none</identity>
</endpoint>
<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-feed</id>
<name>Alfresco Feed</name>
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
<connector-id>http</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/s</endpoint-url>
<basic-auth>true</basic-auth>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-api</id>
<parent-id>alfresco</parent-id>
<name>Alfresco Public API - user access</name>
<description>Access to Alfresco Repository Public API that require user authentication.
This makes use of the authentication that is provided by parent 'alfresco' endpoint.</description>
<connector-id>alfresco</connector-id>
<endpoint-url>${acs-platform.url}/alfresco/api</endpoint-url>
<identity>user</identity>
</endpoint>
</remote>
</config>
</alfresco-config>

View File

@@ -1,56 +1,56 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
log4j.rootLogger=error, Console, File
# Console appender definition #
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
# use log4j NDC to replace %x with tenant domain / username
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
# File appender definition #
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=share.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
# Spring
log4j.logger.org.springframework=warn
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
log4j.logger.org.springframework.util=error
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.config=warn
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
log4j.logger.org.alfresco.web=info
# Web Framework
log4j.logger.org.springframework.extensions.webscripts=info
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=info
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
log4j.logger.freemarker.runtime=
#-----------------------------------------------------------------------
# Custom Share module logging goes here...
#-----------------------------------------------------------------------
log4j.logger.${package}=debug
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
log4j.rootLogger=error, Console, File
# Console appender definition #
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
# use log4j NDC to replace %x with tenant domain / username
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
# File appender definition #
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=share.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
# Spring
log4j.logger.org.springframework=warn
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
log4j.logger.org.springframework.util=error
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.config=warn
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
log4j.logger.org.alfresco.web=info
# Web Framework
log4j.logger.org.springframework.extensions.webscripts=info
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=info
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
log4j.logger.freemarker.runtime=
#-----------------------------------------------------------------------
# Custom Share module logging goes here...
#-----------------------------------------------------------------------
log4j.logger.${package}=debug

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-share-module-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: ACS Share Module</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-share-self-it-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Integration Testing for ACS Share</name>

View File

@@ -85,6 +85,10 @@
<alias>acs-share</alias>
<run>
<skip>${skipTests}</skip>
<env>
<ENABLE_JDWP>false</ENABLE_JDWP>
<ENABLE_HOTSWAP>false</ENABLE_HOTSWAP>
</env>
<ports>
<port>${acs-share.port}:8080</port>
</ports>
@@ -148,7 +152,7 @@
<acs-share.port>8180</acs-share.port>
<!-- versions -->
<tomcat-rad.version>9-1.3</tomcat-rad.version>
<tomcat-rad.version>9-1.4</tomcat-rad.version>
<!-- configuring beedk-acs-webapp-artifact-tile -->
<alfresco.war.artifactId>share</alfresco.war.artifactId>

View File

@@ -53,6 +53,8 @@ The following properties are intended to be exposed by inheriting Public API Mav
| `alfresco.war.version` | *Maybe* | *See Below* | The Maven `version` of a Maven `war` Type Project defined in a Maven Repository.<br/>*Inherited from [`beedk-acs-webapp-artifact-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-webapp-artifact-tile)* |
| `project.build.shareExtDirectory` | | `${project.build.directory}/ext/share` | An additional directory of JARs to add to the ACS Share at runtime. |
| `acs-platform.url` | | *See Below* | The URL of the backend ACS Platform to be used. |
| `acs-share.hotswap.enabled` | | true | Enable the HotSwap Agent for live classpath reloading. |
| `acs-share.debugger.enabled` | | true | Enable the JDWP debugger. |
| `acs-share.port` | | 8180 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `acs-share.debugger.port` | | 8100 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `acs-share.timeout` | | 45000 | The time to wait for the startup to complete, in milliseconds. |

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-share-self-rad-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for ACS Share</name>

View File

@@ -93,6 +93,10 @@
<name>docker.inteligr8.com/inteligr8/tomcat-rad:${tomcat-rad.version}</name>
<alias>acs-share</alias>
<run>
<env>
<ENABLE_JDWP>${acs-share.debugger.enabled}</ENABLE_JDWP>
<ENABLE_HOTSWAP>${acs-share.hotswap.enabled}</ENABLE_HOTSWAP>
</env>
<ports>
<port>${acs-share.port}:8080</port>
<port>${acs-share.debugger.port}:8000</port>
@@ -140,6 +144,8 @@
<properties>
<!-- configurable -->
<acs-platform.url>http://${project.artifactId}-acs-platform:8080</acs-platform.url>
<acs-share.hotswap.enabled>true</acs-share.hotswap.enabled>
<acs-share.debugger.enabled>true</acs-share.debugger.enabled>
<acs-share.debugger.port>8100</acs-share.debugger.port>
<acs-share.timeout>45000</acs-share.timeout>
<project.build.shareExtDirectory>${project.build.directory}/ext/share</project.build.shareExtDirectory>
@@ -148,7 +154,7 @@
<acs-share.port>8180</acs-share.port>
<!-- versions -->
<tomcat-rad.version>9-1.3</tomcat-rad.version>
<tomcat-rad.version>9-1.4</tomcat-rad.version>
<!-- configuring beedk-acs-webapp-artifact-tile -->
<alfresco.war.artifactId>share</alfresco.war.artifactId>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-share-webapp-docker-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: ACS Share Web Application Docker Enablement</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-share-webapp-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: ACS Share Web Application</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-webapp-artifact-build-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Alfresco Web Application Artifact Builder for Deployment</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-webapp-artifact-it-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Alfresco Web Application Artifact for Testing</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-webapp-artifact-rad-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Alfresco Web Application Artifact for RAD</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-webapp-artifact-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: Alfreco Web Application Artifact Downloader</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-acs-webapp-docker-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: ACS Web Application Docker Enablement</name>

View File

@@ -0,0 +1,9 @@
# Maven
/target
pom.xml.versionsBackup
# Eclipse
.settings
.project
.classpath

View File

@@ -0,0 +1,52 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-activiti-ext-archetype</artifactId>
<version>1.0.8</version>
<packaging>maven-archetype</packaging>
<name>Order of the Bee Development Kit: Project Scaffolding for an Activiti Extension</name>
<scm>
<url>https://bitbucket.org/inteligr8/ootbee-beedk</url>
</scm>
<organization>
<name>Order of the Bee</name>
<url>https://orderofthebee.net</url>
</organization>
<developers>
<developer>
<name>Brian Long</name>
<email>brian@inteligr8.com</email>
<organization>Inteligr8</organization>
<organizationUrl>https://www.inteligr8.com</organizationUrl>
<url>https://twitter.com/brianmlong</url>
</developer>
</developers>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>3.1.1</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.20</version>
<extensions>true</extensions>
<configuration>
<tiles>
<tile>com.inteligr8:maven-public-deploy-tile:[1.0.0,2.0.0)</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,48 @@
<archetype-descriptor name="${project.artifactId}"
xmlns="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0 https://maven.apache.org/xsd/archetype-descriptor-1.1.0.xsd">
<requiredProperties>
<requiredProperty key="shortname">
<validationRegex>[A-Za-z0-9]+</validationRegex>
</requiredProperty>
<requiredProperty key="dockerRegistryHost">
<defaultValue>quay.io</defaultValue>
</requiredProperty>
<requiredProperty key="dockerImagePrefix">
<defaultValue>local</defaultValue>
</requiredProperty>
<requiredProperty key="beedkVersion">
<defaultValue>[1.0.0,2.0.0)</defaultValue>
</requiredProperty>
</requiredProperties>
<fileSets>
<fileSet filtered="true" packaged="true">
<directory>src/main/java</directory>
<includes>
<include>*.java</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="true">
<directory>src/test/java</directory>
<includes>
<include>*.java</include>
</includes>
</fileSet>
<fileSet filtered="true">
<directory>src</directory>
<excludes>
<exclude>main/java/*.java</exclude>
<exclude>test/java/*.java</exclude>
</excludes>
</fileSet>
<fileSet filtered="false">
<directory></directory>
<includes>
<include>.gitignore</include>
<include>rad.*</include>
<include>*.md</include>
</includes>
</fileSet>
</fileSets>
</archetype-descriptor>

View File

@@ -0,0 +1,8 @@
# Maven
/target
pom.xml.versionsBackup
# Eclipse
.settings
.project
.classpath

View File

@@ -0,0 +1,43 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<packaging>jar</packaging>
<name>${shortname} Activiti Extension</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<activiti.version>5.23.0</activiti.version>
<spring.version>4.3.20.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${activiti.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
</repositories>
</project>

View File

@@ -0,0 +1,31 @@
package ${package};
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
/**
* This class is an example of how you can implement an Activiti Execution Listener.
* You can reference it in your BPMN with:
* <activiti:executionListener delegateExpression="${exampleExecutionListener}" event="start" />
* <activiti:executionListener expression="${exampleExecutionListener.exampleMethod('example parameter')}" event="end" />
*/
@Component("exampleExecutionListener")
public class ExampleExecutionListener implements ExecutionListener {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
public void notify(DelegateExecution execution) throws Exception {
if (this.logger.isTraceEnabled())
this.logger.trace("execute('" + execution.getId() + "')");
// TODO do some stuff
}
public void exampleMethod(String param) throws Exception {
// another example
}
}

View File

@@ -0,0 +1,31 @@
package ${package};
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
/**
* This class is an example of how you can implement an Activiti Service Task.
* You can reference it in your BPMN with:
* <serviceTask id="serviceTask" activiti:delegateExpression="${exampleServiceTask}" />
* <serviceTask id="serviceTask" activiti:expression="${exampleServiceTask.exampleMethod('example parameter')}" />
*/
@Component("exampleServiceTask")
public class ExampleServiceTask implements JavaDelegate {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
public void execute(DelegateExecution execution) throws Exception {
if (this.logger.isTraceEnabled())
this.logger.trace("execute('" + execution.getId() + "')");
// TODO do some stuff
}
public void exampleMethod(String param) throws Exception {
// another example
}
}

View File

@@ -0,0 +1,10 @@
package com.activiti.extension.conf;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan(basePackages = {"${package}"})
public class ${shortname}SpringComponentScanner {
}

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-amp-check-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: AMP Checker</name>

View File

@@ -56,7 +56,7 @@
<plugin>
<groupId>com.inteligr8</groupId>
<artifactId>regex-maven-plugin</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
<executions>
<execution>
<id>string-2-boolean-1</id>

9
beedk-aps-ext-rad-tile/.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
# Eclipse
.project
.classpath
.settings
# Maven
pom.xml.versionsBackup
target

View File

@@ -0,0 +1,86 @@
# BeeDK APS Extension Maven Tile for RAD
This is a component within the proposed [BeeDK](/inteligr8/ootbee-beedk). It is considered to be part of the **Public API** of the BeeDK.
## Purpose
This project creates a [Maven Tile](https://github.com/repaint-io/maven-tiles) that provides the basis for rapid application development of any APS extension.
## Usage
To use this plugin, just reference it with the Maven Tiles plugin as shown in the following snippet. Do not forget the `extensions` element in the *plugin* configuration.
```xml
<project ...>
...
<build>
...
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>[2.0,3.0)</version>
<extensions>true</extensions>
<configuration>
<tiles>
...
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-aps-ext-rad-tile -->
<tile>com.inteligr8.ootbee:beedk-aps-ext-rad-tile:[1.0.0,2.0.0)</tile>
</tiles>
</configuration>
</plugin>
...
</plugins>
...
</build>
...
</project>
```
See the [BeeDK documentation](/inteligr8/ootbee-beedk) on instructions for how to start and stop RAD capabilities.
## Configuration
In your Maven project, set the following properties to define the behavior of this Maven Tile. Unless otherwise stated, they can only be overridden in the project POM or other Maven Tiles loaded earlier than this Maven Tile.
### Public API
The following properties are intended to be exposed by inheriting Public API Maven Tiles.
| Maven Property | Required | Default | Description |
| -------------------------- |:--------:| --------------- | ----------- |
| `aps.war.groupId` | | `org.alfresco` | |
| `aps.war.artifactId` | | `activiti-app` | |
| `aps.war.version` | **Yes** | | |
| `aps.hotswap.enabled` | | true | Enable the HotSwap Agent for live classpath reloading. |
| `aps.debugger.enabled` | | true | Enable the JDWP debugger. |
| `aps.port` | | 8080 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `aps-postgres.port` | | 5432 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `aps.debugger.port` | | 8000 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `aps.tomcat.opts` | | | Additional `CATALINA_OPTS` to add to the Apache Tomcat startup.<br/>*May be overridden by any POM parent or Maven Tile.* |
| `aps.timeout` | | 120000 | The time to wait for the startup to complete, in milliseconds. |
| `tomcat-rad.version` | | *not important* | The version of the [Apache Tomcat Rapid Application Development Docker container](/inteligr8/tomcat-rad-docker). |
| `aps-postgres.version` | | *not important* | The version of PostgreSQL to use in the integration testing infrastructure. |
### Private API
The following properties are only intended to be defined by BeeDK components.
| Maven Property | Required | Default | Description |
| ------------------------------------ |:--------:| ------------------ | ----------- |
| `beedk.deploy.aps.warFile` | **Yes** | | The WAR file to deploy in the Apache Tomcat instance. |
| `beedk.deploy.aps.classesDirectory` | | | An additional classpath directory to sideload into the web application. |
| `beedk.deploy.aps.testClassesDirectory` | | | An additional test classpath directory to sideload into the web application. |
| `beedk.deploy.aps.extDirectory` | | | An additional directory of JARs to sideload into the web application. |
| `beedk.deploy.aps.warDirectory` | | `${project.build.warDirectory}` | A build directory for WAR files. |
| `beedk.deploy.aps.dataDirectory` | | `${project.build.directory}/alf_data` | The temporary binary storage location for ACS. |
### Other APIs
Additional less important configurations are inherited from the following Maven Tiles.
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-run-tile)
## Results
The ACS Platform, database, and MQ components will be started during the `process-classes` Maven phase.

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-aps-ext-rad-tile</artifactId>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for APS Extensions</name>
<scm>
<url>https://bitbucket.org/inteligr8/ootbee-beedk</url>
</scm>
<organization>
<name>Order of the Bee</name>
<url>https://orderofthebee.net</url>
</organization>
<developers>
<developer>
<name>Brian Long</name>
<email>brian@inteligr8.com</email>
<organization>Inteligr8</organization>
<organizationUrl>https://www.inteligr8.com</organizationUrl>
<url>https://twitter.com/brianmlong</url>
</developer>
</developers>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.20</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
<tiles>
<tile>com.inteligr8:maven-public-deploy-tile:[1.0.0,2.0.0)</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,175 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://tiles.bluetrainsoftware.com/maven/tiles/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tiles.bluetrainsoftware.com/maven/tiles/1.1.0 https://bitbucket.org/inteligr8/maven-tiles/raw/xsd/src/main/resources/maven-tiles.xsd">
<profiles>
<profile>
<id>rad-aps</id>
<activation>
<property>
<name>rad</name>
</property>
</activation>
<build>
<plugins>
<!-- This plugin downloads the parameterized WAR -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<!-- This execution downloads the parameterized WAR -->
<execution>
<id>download-webapp</id>
<phase>process-classes</phase>
<goals><goal>copy</goal></goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${aps.war.groupId}</groupId>
<artifactId>${aps.war.artifactId}</artifactId>
<version>${aps.war.version}</version>
<type>war</type>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.warDirectory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Using Docker to host the web application -->
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>run-aps</id>
<phase>process-classes</phase>
<goals><goal>start</goal></goals>
<configuration>
<images>
<image>
<name>postgres:${aps-postgres.version}</name>
<alias>acs-db</alias>
<run>
<env>
<POSTGRES_PASSWORD>activiti</POSTGRES_PASSWORD>
<POSTGRES_USER>activiti</POSTGRES_USER>
<POSTGRES_DB>activiti</POSTGRES_DB>
</env>
<ports>
<port>${aps-postgres.port}:5432</port>
</ports>
<network>
<mode>custom</mode>
<name>${project.artifactId}</name>
</network>
</run>
</image>
<image>
<name>docker.inteligr8.com/inteligr8/tomcat-rad:${tomcat-rad.version}</name>
<alias>aps</alias>
<run>
<env>
<JAVA_MEMORY_MAX>${aps.memory}</JAVA_MEMORY_MAX>
<ENABLE_HOTSWAP>${aps.hotswap.enabled}</ENABLE_HOTSWAP>
<ENABLE_JDWP>${aps.debugger.enabled}</ENABLE_JDWP>
<CATALINA_OPTS>-Ddir.root=/tmp/alf_data -Ddb.driver=org.postgresql.Driver -Ddb.url=jdbc:postgresql://${project.artifactId}-acs-db:5432/alfresco \
-Dmessaging.broker.url=failover:\(tcp://${project.artifactId}-acs-mq:61616\)?timeout\=3000\&amp;jms.useCompression\=true \
-Dtransform.service.enabled=${beedk.rad.ats.enabled} -Dtransform.service.url=http://${project.artifactId}-ats-atr:8095 -Dsfs.url=http://${project.artifactId}-ats-sfs:8099 \
-Dlocal.transform.service.enabled=${beedk.rad.alts.enabled} \
-DlocalTransform.core-aio.url=http://${project.artifactId}-ate-aio:8090 -DlocalTransform.ate.url=http://${project.artifactId}-ate:8090 \
-Djodconverter.enabled=false -Dsystem.workflow.engine.activiti.enabled=true \
-Dalfresco-pdf-renderer.url=http://${project.artifactId}-ate-aio:8090 -Djodconverter.url=http://${project.artifactId}-ate-aio:8090 -Dimg.url=http://${project.artifactId}-ate-aio:8090 -Dtika.url=http://${project.artifactId}-ate-aio:8090 -Dtransform.misc.url=http://${project.artifactId}-ate-aio:8090 \
-Dindex.subsystem.name=${beedk.rad.platform.index} -Dsolr.host=${project.artifactId}-acs-search -Dsolr.secureComms=none \
${aps.tomcat.opts}</CATALINA_OPTS>
</env>
<ports>
<port>${aps.port}:8080</port>
<port>${aps.debugger.port}:8000</port>
</ports>
<network>
<mode>custom</mode>
<name>${project.artifactId}</name>
</network>
<volumes>
<bind>
<volume>${beedk.deploy.aps.warFile}:/var/lib/tomcat/webapps/activiti-app.war:ro</volume>
<volume>${beedk.deploy.aps.classesDirectory}:/var/lib/tomcat/dev/classes:ro</volume>
<volume>${beedk.deploy.aps.testClassesDirectory}:/var/lib/tomcat/dev/classes-extra1:ro</volume>
<volume>${beedk.deploy.aps.extDirectory}:/var/lib/tomcat/dev/lib:ro</volume>
</bind>
</volumes><!--
<wait>
<http>
<url>http://localhost:${aps.port}/activiti-app/service/api/server</url>
<method>GET</method>
<status>200..399</status>
</http>
<time>${aps.timeout}</time>
</wait>-->
</run>
</image>
</images>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- allow downstream tiles to default this before this tile does -->
<profile>
<id>tomcat-opts-unspecified</id>
<activation>
<property>
<name>!aps.tomcat.opts</name>
</property>
</activation>
<properties>
<aps.tomcat.opts></aps.tomcat.opts>
</properties>
</profile>
<profile>
<id>default-props</id>
<activation>
<property>
<name>!some-prop-that-never-exists</name>
</property>
</activation>
<properties>
<!-- configurable -->
<aps.war.groupId>org.alfresco</aps.war.groupId>
<aps.war.artifactId>activiti-app</aps.war.artifactId>
<project.build.warDirectory>${project.build.directory}/war</project.build.warDirectory>
<beedk.deploy.aps.classesDirectory>${project.build.directory}/doesnotexist</beedk.deploy.aps.classesDirectory>
<beedk.deploy.aps.testClassesDirectory>${project.build.directory}/doesnotexist</beedk.deploy.aps.testClassesDirectory>
<beedk.deploy.aps.extDirectory>${project.build.directory}/doesnotexist</beedk.deploy.aps.extDirectory>
<beedk.deploy.aps.warDirectory>${project.build.warDirectory}</beedk.deploy.aps.warDirectory>
<aps.timeout>60000</aps.timeout>
<aps.memory>512m</aps.memory>
<aps.hotswap.enabled>true</aps.hotswap.enabled>
<aps.debugger.enabled>true</aps.debugger.enabled>
<!-- ports -->
<aps-postgres.port>5432</aps-postgres.port>
<aps.port>8080</aps.port>
<aps.debugger.port>8000</aps.debugger.port>
<!-- versions -->
<aps.version>1.11.1.1</aps.version>
<tomcat-rad.version>9-1.4</tomcat-rad.version>
<!-- results -->
<project.build.warFile>${project.build.warDirectory}/${aps.war.artifactId}-${aps.war.version}.war</project.build.warFile>
</properties>
</profile>
</profiles>
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-run-tile -->
<tile>@project.groupId@:beedk-run-tile:@project.version@</tile>
</tiles>
</project>

9
beedk-aps-rad-tile/.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
# Eclipse
.project
.classpath
.settings
# Maven
pom.xml.versionsBackup
target

View File

@@ -0,0 +1,65 @@
# BeeDK APS Application Maven Tile for RAD
This is a component within the proposed [BeeDK](/inteligr8/ootbee-beedk). It is considered to be part of the **Public API** of the BeeDK.
## Purpose
This project creates a [Maven Tile](https://github.com/repaint-io/maven-tiles) that provides the basis for rapid application development of any application integrating with APS.
## Usage
To use this plugin, just reference it with the Maven Tiles plugin as shown in the following snippet. Do not forget the `extensions` element in the *plugin* configuration.
```xml
<project ...>
...
<build>
...
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>[2.0,3.0)</version>
<extensions>true</extensions>
<configuration>
<tiles>
...
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-aps-rad-tile -->
<tile>com.inteligr8.ootbee:beedk-aps-rad-tile:[1.0.0,2.0.0)</tile>
</tiles>
</configuration>
</plugin>
...
</plugins>
...
</build>
...
</project>
```
See the [BeeDK documentation](/inteligr8/ootbee-beedk) on instructions for how to start and stop RAD capabilities.
## Configuration
In your Maven project, set the following properties to define the behavior of this Maven Tile. Unless otherwise stated, they can only be overridden in the project POM or other Maven Tiles loaded earlier than this Maven Tile.
### Public API
The following properties are intended to be exposed by inheriting Public API Maven Tiles.
| Maven Property | Required | Default | Description |
| -------------------------- |:--------:| --------------- | ----------- |
| `aps.port` | | 8080 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `aps.timeout` | | 60000 | The time to wait for the startup to complete, in milliseconds. |
| `aps.version` | | 1.11.1.1 | The version of the [Process Services Docker container](https://hub.docker.com/r/alfresco/process-services). |
| `aps-postgres.version` | | *not important* | The version of PostgreSQL to use in the integration testing infrastructure. |
### Other APIs
Additional less important configurations are inherited from the following Maven Tiles.
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-run-tile)
## Results
The APS Application and database components will be started during the `process-classes` Maven phase.

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-aps-rad-tile</artifactId>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for APS</name>
<scm>
<url>https://bitbucket.org/inteligr8/ootbee-beedk</url>
</scm>
<organization>
<name>Order of the Bee</name>
<url>https://orderofthebee.net</url>
</organization>
<developers>
<developer>
<name>Brian Long</name>
<email>brian@inteligr8.com</email>
<organization>Inteligr8</organization>
<organizationUrl>https://www.inteligr8.com</organizationUrl>
<url>https://twitter.com/brianmlong</url>
</developer>
</developers>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.20</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
<tiles>
<tile>com.inteligr8:maven-public-deploy-tile:[1.0.0,2.0.0)</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
</project>

114
beedk-aps-rad-tile/tile.xml Normal file
View File

@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://tiles.bluetrainsoftware.com/maven/tiles/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tiles.bluetrainsoftware.com/maven/tiles/1.1.0 https://bitbucket.org/inteligr8/maven-tiles/raw/xsd/src/main/resources/maven-tiles.xsd">
<profiles>
<profile>
<id>rad-aps</id>
<activation>
<property>
<name>rad</name>
</property>
</activation>
<build>
<plugins>
<!-- Using Docker for ACS Search -->
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>run-aps</id>
<phase>process-classes</phase>
<goals><goal>start</goal></goals>
<configuration>
<images>
<image>
<name>postgres:${aps-postgres.version}</name>
<alias>aps-db</alias>
<run>
<env>
<POSTGRES_PASSWORD>alfresco</POSTGRES_PASSWORD>
<POSTGRES_USER>alfresco</POSTGRES_USER>
<POSTGRES_DB>activiti</POSTGRES_DB>
</env>
<network>
<mode>custom</mode>
<name>${project.artifactId}</name>
</network>
</run>
</image>
<image>
<name>alfresco/process-services:${aps.version}</name>
<alias>aps-app</alias>
<run>
<env>
<ACTIVITI_DATASOURCE_USERNAME>alfresco</ACTIVITI_DATASOURCE_USERNAME>
<ACTIVITI_DATASOURCE_PASSWORD>alfresco</ACTIVITI_DATASOURCE_PASSWORD>
<ACTIVITI_DATASOURCE_DRIVER>org.postgresql.Driver</ACTIVITI_DATASOURCE_DRIVER>
<ACTIVITI_HIBERNATE_DIALECT>org.hibernate.dialect.PostgreSQLDialect</ACTIVITI_HIBERNATE_DIALECT>
<ACTIVITI_DATASOURCE_URL>jdbc:postgresql://${project.artifactId}-aps-db:5432/activiti?characterEncoding=UTF-8</ACTIVITI_DATASOURCE_URL>
</env>
<ports>
<port>${aps.port}:8080</port>
</ports>
<volumes>
<bind>
<volume>@user.home@/alfresco/license/aps:/root/.activiti/enterprise-license:ro</volume>
</bind>
</volumes>
<dependsOn>
<container>aps-db</container>
</dependsOn>
<network>
<mode>custom</mode>
<name>${project.artifactId}</name>
</network>
</run>
</image>
</images>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- allow downstream tiles to default this before this tile does -->
<profile>
<id>tomcat-opts-unspecified</id>
<activation>
<property>
<name>!aps.tomcat.opts</name>
</property>
</activation>
<properties>
<aps.tomcat.opts></aps.tomcat.opts>
</properties>
</profile>
<profile>
<id>default-props</id>
<activation>
<property>
<name>!some-prop-that-never-exists</name>
</property>
</activation>
<properties>
<!-- ports -->
<aps.port>8080</aps.port>
<!-- versions -->
<aps-postgres.version>9.6</aps-postgres.version>
<aps.version>1.11.1.1</aps.version>
</properties>
</profile>
</profiles>
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-run-tile -->
<tile>@project.groupId@:beedk-run-tile:@project.version@</tile>
</tiles>
</project>

View File

@@ -6,7 +6,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-ate-archetype</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>maven-archetype</packaging>
<name>Order of the Bee Development Kit: Project Scaffolding for an ACS Platform Module</name>

View File

@@ -7,7 +7,7 @@
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-ate-docker-tile</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: ATE Docker Enablement</name>

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