Skip to content
Permalink
Browse files Browse the repository at this point in the history
Merge remote-tracking branch 'remotes/origin/candidate' into release
# Conflicts:
#	resetPassword-share/pom.xml
#	resetPassword/pom.xml
  • Loading branch information
Mykhail-Diachenko committed Sep 16, 2020
2 parents afdcf20 + 5418e42 commit 5927b96
Show file tree
Hide file tree
Showing 119 changed files with 1,216 additions and 2,208 deletions.
5 changes: 3 additions & 2 deletions .gitignore
@@ -1,4 +1,5 @@
*.iml
/.idea/
/resetPassword/target/
/resetPassword-share/target/
/_docker/logs.txt
/alfresco-resetpassword/target/
/share-resetpassword/target/
36 changes: 31 additions & 5 deletions README.md
Expand Up @@ -26,13 +26,15 @@ Alfresco Reset Password add-on is a great thing that allows you to solve missing
![](readme_resources/3-config.png)

# Compatibility was tested on versions:
- Alfresco 5.0d
- Alfresco 5.1
- Alfresco 5.2
- Alfresco 6.0.7
- Alfresco 6.2.0
- Alfresco 6.0.7-ga
- Alfresco 6.2.0-ga

# How to build
### The following tools must be installed:
- Java8
- Java11
- Maven3

### Required settings
Expand All @@ -48,6 +50,9 @@ Alfresco Reset Password add-on is a great thing that allows you to solve missing
mail.from.enabled=false
mail.from.default={default sending email}
```
- It is highly recommended to change secure salt property as well that us used in token generation.
To generate new one use any BCrypt hash generator. First 29 characters is salt
```fs.passreset.salt=```
### Build steps
1. Clone repo
Expand All @@ -72,12 +77,33 @@ $ mvn clean package

1. Compile AMPs for alfresco and share how described above
2. Stop Alfresco
3. Copy file ResetPasswordAddon/resetPassword/target/reset-password-repo.amp into ${Alfresco_HOME}/amps folder
4. Copy file ResetPasswordAddon/resetPassword-share/target/reset-password-share.amp into ${Alfresco_HOME}/amps_share folder
3. Copy file ResetPasswordAddon/resetPassword/target/reset-password-repo-${version}.amp into ${Alfresco_HOME}/amps folder
4. Copy file ResetPasswordAddon/resetPassword-share/target/reset-password-share-${version}.amp into ${Alfresco_HOME}/amps_share folder
5. Apply AMPs by executing command from command line
```sh
$ cd ${Alfresco_HOME}/bin
$ apply_amps.sh -force
```
6. Start Alfresco

##How to setup dev environment:
You need to have installed docker and configured to use without root privileges https://docs.docker.com/install

1. Add **Remote** Debugger cofiguration.
![](readme_resources/1-configuration.png)

1. Configure **Before launch: Tool window** and point at **start.sh** or **start.bat** as executable script.
(files within _docker folder should be executable).
![](readme_resources/4-configuration.png)
![](readme_resources/2-configuration.png)

1. Point at **logs.txt** as logs file.
![](readme_resources/3-configuration.png)

All alfresco configuration placed in **docker-compose.yml**. You can place additional configuration there if you need

To stop docker containers use **stop-all.sh** or **stop-all.bat** script.
**start.sh|bat** script also stops containers and starts again

To debug Share app java code create new **Remote** configuration. Use port 5006

7 changes: 7 additions & 0 deletions _docker/REFRESH-WS-intelij.http
@@ -0,0 +1,7 @@
POST http://localhost:8080/share/page/index
Content-Type: application/x-www-form-urlencoded
Authorization: Basic YWRtaW46YWRtaW4=

reset=on

###
142 changes: 142 additions & 0 deletions _docker/docker-compose.yml
@@ -0,0 +1,142 @@

version: "2"

services:
alfresco-resetpassword:
# image: alfresco/alfresco-content-repository-community:6.2.0-ga
build: ./../alfresco-resetpassword
environment:
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
JAVA_OPTS : "
-Ddb.driver=org.postgresql.Driver
-Ddb.username=alfresco
-Ddb.password=alfresco
-Ddb.url=jdbc:postgresql://postgres-resetpassword:5432/alfresco
-Dsolr.host=solr6-resetpassword
-Dsolr.port=8983
-Dsolr.secureComms=none
-Dsolr.base.url=/solr
-Dindex.subsystem.name=solr6
-Ddeployment.method=DOCKER_COMPOSE
-Dcsrf.filter.enabled=false
-Dmessaging.subsystem.autoStart=false
-Dlocal.transform.service.enabled=true
-DlocalTransform.pdfrenderer.url=http://alfresco-pdf-renderer:8090/
-DlocalTransform.imagemagick.url=http://imagemagick:8090/
-DlocalTransform.libreoffice.url=http://libreoffice:8090/
-DlocalTransform.tika.url=http://tika:8090/
-DlocalTransform.misc.url=http://transform-misc:8090/
-Dlegacy.transform.service.enabled=true
-Dalfresco-pdf-renderer.url=http://alfresco-pdf-renderer:8090/
-Djodconverter.url=http://libreoffice:8090/
-Dimg.url=http://imagemagick:8090/
-Dtika.url=http://tika:8090/
-Dtransform.misc.url=http://transform-misc:8090/
-Xms1500m -Xmx1500m
"
ports:
- 8082:8080 #Browser port
- 5005:8888
- 2121:2121
links:
- postgres-resetpassword
volumes:
- alf_data-resetpassword:/usr/local/tomcat/alf_data
- ./../alfresco-resetpassword/_lib:/usr/local/tomcat/webapps/alfresco/development/lib
- ./../alfresco-resetpassword/target/classes:/usr/local/tomcat/webapps/alfresco/development/classes
- ./../alfresco-resetpassword/context.xml:/usr/local/tomcat/webapps/alfresco/META-INF/context.xml

alfresco-pdf-renderer:
image: alfresco/alfresco-pdf-renderer:2.1.0
mem_limit: 1g
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
expose:
- 8090

imagemagick:
image: alfresco/alfresco-imagemagick:2.1.0
mem_limit: 1g
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
expose:
- 8090

libreoffice:
image: alfresco/alfresco-libreoffice:2.1.0
mem_limit: 1g
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
expose:
- 8090

tika:
image: alfresco/alfresco-tika:2.1.0
mem_limit: 1g
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
expose:
- 8090

transform-misc:
image: alfresco/alfresco-transform-misc:2.1.0
mem_limit: 1g
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
expose:
- 8090


share-resetpassword:
# image: alfresco/alfresco-share:6.2.0
build: ./../share-resetpassword
environment:
- REPO_HOST=alfresco-resetpassword
- REPO_PORT=8080
- JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5006
ports:
- 8080:8080
- 5006:5006
volumes:
- ./../share-resetpassword/_lib:/usr/local/tomcat/webapps/share/development/lib
- ./../share-resetpassword/target/classes:/usr/local/tomcat/webapps/share/development/classes
- ./../share-resetpassword/context.xml:/usr/local/tomcat/webapps/share/META-INF/context.xml
- ./../share-resetpassword/src/main/resources/web:/usr/local/tomcat/webapps/share/development/web

postgres-resetpassword:
image: postgres:11.4
environment:
- POSTGRES_PASSWORD=alfresco
- POSTGRES_USER=alfresco
- POSTGRES_DB=alfresco
command: postgres -c max_connections=300 -c log_min_messages=LOG
ports:
- 5435:5432

solr6-resetpassword:
image: alfresco/alfresco-search-services:1.4.0
environment:
#Solr needs to know how to register itself with Alfresco
- SOLR_ALFRESCO_HOST=alfresco-resetpassword
- SOLR_ALFRESCO_PORT=8080
#Alfresco needs to know how to call solr
- SOLR_SOLR_HOST=solr6-resetpassword
- SOLR_SOLR_PORT=8983
#Create the default alfresco and archive cores
- SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive
- ALFRESCO_SECURE_COMMS=none
ports:
- 8983

activemq-resetpassword:
image: alfresco/alfresco-activemq:5.15.8
ports:
- 8161 # Web Console
- 5672 # AMQP
- 61616 # OpenWire
- 61613 # STOMP
volumes:
alf_data-resetpassword:
Binary file added _docker/linux/docker-compose-linux
Binary file not shown.
8 changes: 8 additions & 0 deletions _docker/linux/start.sh
@@ -0,0 +1,8 @@
mvn -f ../../pom.xml clean package

rm ../logs.txt
./docker-compose-linux -f ../docker-compose.yml stop
./docker-compose-linux -f ../docker-compose.yml up --no-start --no-recreate
./docker-compose-linux -f ../docker-compose.yml start
./docker-compose-linux -f ../docker-compose.yml logs -f --tail=0 >> ../logs.txt &
sleep 5
2 changes: 2 additions & 0 deletions _docker/linux/stop-all.sh
@@ -0,0 +1,2 @@
BASEDIR=$(dirname "$0")
$BASEDIR/docker-compose-linux -f $BASEDIR/../docker-compose.yml stop
Binary file added _docker/windows/docker-compose-Windows-x86_64.exe
Binary file not shown.
11 changes: 11 additions & 0 deletions _docker/windows/start.bat
@@ -0,0 +1,11 @@
@ECHO OFF
chcp 65001
set BASEDIR=%~dp0

call %BASEDIR%docker-compose-Windows-x86_64.exe -f %BASEDIR%..\docker-compose.yml stop
call mvn -f %BASEDIR%..\..\pom.xml clean package
del %BASEDIR%..\logs.txt
call %BASEDIR%docker-compose-Windows-x86_64.exe -f %BASEDIR%..\docker-compose.yml up --no-recreate --no-start
start /B %BASEDIR%docker-compose-Windows-x86_64.exe -f %BASEDIR%..\docker-compose.yml start
PING localhost -n 20 >NUL
start /B %BASEDIR%docker-compose-Windows-x86_64.exe -f %BASEDIR%..\docker-compose.yml logs -f --tail=0 > %BASEDIR%..\logs.txt
2 changes: 2 additions & 0 deletions _docker/windows/stop-all.bat
@@ -0,0 +1,2 @@
set BASEDIR=%~dp0
call %BASEDIR%docker-compose-Windows-x86_64.exe -f %BASEDIR%..\docker-compose.yml stop
6 changes: 0 additions & 6 deletions _documentation/readme.md

This file was deleted.

90 changes: 0 additions & 90 deletions _documentation/reset-password.ftl

This file was deleted.

Binary file removed _lib/ml-ant-http-1.1.1.jar
Binary file not shown.
13 changes: 13 additions & 0 deletions alfresco-resetpassword/Dockerfile
@@ -0,0 +1,13 @@
FROM alfresco/alfresco-content-repository-community:6.2.0-ga

ARG TOMCAT_DIR=/usr/local/tomcat

USER root


# Copy Dockerfile to avoid an error if no AMPs exist
COPY Dockerfile _amps/*.amp $TOMCAT_DIR/amps/
RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
$TOMCAT_DIR/amps $TOMCAT_DIR/webapps/alfresco -directory -nobackup -force

USER ${USERNAME}
Empty file.
Empty file.

0 comments on commit 5927b96

Please sign in to comment.