После нескольких экспериментов с бизнес-процессами я заметил, что старые определения бизнес-процессов где-то кэшируются.
Например, я разработал какой-то бизнес-процесс, а затем установил с ним AMP-файл. Я работал с ним, а потом решил внести некоторые изменения.
Для этого я снова собрал AMP-файл и установил его:
[bykovan@docflow alfresco-community]$ sudo java -jar bin/alfresco-mmt.jar uninstall some-module-repo tomcat/webapps/alfresco.war
...
[bykovan@docflow alfresco-community]$ sudo java -jar bin/alfresco-mmt.jar install amps/some-module-repo-1.0-SNAPSHOT.amp tomcat/webapps/alfresco.war
...
Но я не вижу своих изменений после развертывания! Чтобы изменения вступили в силу, мне нужно проделать довольно много дополнительной работы.
1 Выключение Томкэт
[bykovan@docflow alfresco-community]$ sudo ./alfresco.sh stop
2 Повторно создайте базу данных alfresco
[bykovan@docflow alfresco-community]$ sudo -i -u postgres
[postgres@docflow ~]$ psql
psql (9.5.5)
postgres=#
postgres=# drop database alfresco;
...
postgres=# create database alfresco;
...
postgres=# alter database alfresco owner to alfresco;
...
postgres=# \q
[postgres@docflow ~]$ exit
3 Удалите все из alf_data
[bykovan@docflow alf_data]$ sudo rm -r *
4 Удалите папки alfresco
и share
[bykovan@docflow alfresco-community]$ sudo rm -r alfresco
[bykovan@docflow alfresco-community]$ sudo rm -r share
5 Запустите Томкэт
[bykovan@docflow alfresco-community]$ sudo ./alfresco.sh start
6 Дождитесь инициализации базы данных...
7 Установите пароль администратора
SELECT
anp1.node_id, // paste to the update statement
anp1.qname_id, // paste to the update statement
anp1.string_value
FROM alf_node_properties anp1
INNER JOIN alf_qname aq1 ON aq1.id = anp1.qname_id
INNER JOIN alf_node_properties anp2 ON anp2.node_id = anp1.node_id
INNER JOIN alf_qname aq2 ON aq2.id = anp2.qname_id
WHERE aq1.local_name = 'password'
AND aq2.local_name = 'username'
AND anp2.string_value = 'admin';
UPDATE
alf_node_properties
SET
string_value='209c6174da490caeb422f3fa5a7ae634'
WHERE node_id=... and qname_id=...;
(где '209c6174da490caeb422f3fa5a7ae634'
— строка 'admin'
в кодировке NTLM)
8 Перезапустите Томкэт
9 Войдите как Admin
с паролем admin
, добавьте пользователей и т.д...
Какие кэши использует Alfresco и как правильно их чистить?
Я использую следующую конфигурацию:
Alfresco Share v5.2.d (r134641-b15, Aikau 1.0.101.3, Spring Surf 5.2.d, Spring WebScripts 6.13, Freemarker 2.3.20-alfresco с исправлениями, Rhino 1.7R4-alfresco с исправлениями, Yui 2.9.0-alfresco -20141223)
Alfresco Community v5.2.0 (r134428-b13) схема 10005