среда, 28 января 2015 г.

Установка Liferay 6.2 на Ubuntu 12.04

Цель: установка портала Liferay 6.2 на Ubuntu 12.04.3

За основу взял несколько статей:
http://ubuntovod.ru/soft/oracle-java-7-ubuntu-12-04.html
http://habrahabr.ru/sandbox/22813/
http://www.tune-it.ru/web/jek/blog/-/blogs/68287;jsessionid=cb2407d51c4ed877f89bd6049aa3

Не отображается предварительный просмотр документа в Alfresco 4.2.f (The preview cannot be loaded from the server)

При попытке открыть документ PDF, Alfresco Share сообщает:

Из данного сервера не удалось загрузить предварительный просмотр.

В логе следующее:
2015-01-01 03:12:35,654 ERROR [extensions.webscripts.AbstractRuntime] [http-bio-8080-exec-546] Exception from executeScript - redirecting to status template error: 00280058
Wrapped Exception (with status template): 00280739 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 00280738 Read-Write transaction started within read-only transaction org.springframework.extensions.webscripts.WebScriptException: 00280058 Wrapped Exception (with status template): 00280739 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 00280738 Read-Write transaction started within read-only transaction at org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:1067) at org.alfresco.repo.web.scripts.content.StreamContent.execute(StreamContent.java:184) at org.alfresco.repo.web.scripts.RepositoryContainer$3.execute(RepositoryContainer.java:422) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:452) at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:491) at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:529) at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:341) at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:378) at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:209) at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:132) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724)Caused by: org.alfresco.scripts.ScriptException: 00280739 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 00280738 Read-Write transaction started within read-only transaction at org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:204) at org.alfresco.repo.processor.ScriptServiceImpl.execute(ScriptServiceImpl.java:212) at org.alfresco.repo.processor.ScriptServiceImpl.executeScript(ScriptServiceImpl.java:174) at org.alfresco.repo.web.scripts.RepositoryScriptProcessor.executeScript(RepositoryScriptProcessor.java:102) at org.springframework.extensions.webscripts.AbstractWebScript.executeScript(AbstractWebScript.java:1305) at org.alfresco.repo.web.scripts.content.StreamContent.execute(StreamContent.java:128) ... 31 moreCaused by: org.alfresco.error.AlfrescoRuntimeException: 00280738 Read-Write transaction started within read-only transaction at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:379) at org.alfresco.repo.transaction.RetryingTransactionInterceptor.invoke(RetryingTransactionInterceptor.java:69) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy13.deleteNode(Unknown Source) at org.alfresco.repo.jscript.ScriptNode.remove(ScriptNode.java:1994) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:155) at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:243) at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119) at org.mozilla.javascript.gen.c14._c1(file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js:74) at org.mozilla.javascript.gen.c14.call(file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js) at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:108) at org.mozilla.javascript.gen.c14._c0(file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js:121) at org.mozilla.javascript.gen.c14.call(file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834) at org.mozilla.javascript.gen.c14.call(file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js) at org.mozilla.javascript.gen.c14.exec(file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js) at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:502) at org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:200) ... 36
Решение нашел здесь.

Отсебячина: проблема заключается в том, что метод thumbnail.remove() вызванный в строке 74 thumbnail.get.js пытался вызвать действие, которое не соответствовало настройке transaction allow="readonly" в <alfresco_install>/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/repository/thumbnail.get.desc.xml. Необходимо сменить readonly на readwrite.

понедельник, 12 января 2015 г.

Настройка исходящих e-mail сообщений в Alfresco 4.2.f для Яндекс

В конец файла alfresco-global.properties добавил строки:

### Mail settings ###
mail.host=smtp.yandex.ru
mail.port=465
mail.username=alfresco@my_domain_on_yandex.ru
mail.password=MyPaS$w0rd
mail.from.enabled=true
mail.from.default=alfresco@my_domain_on_yandex.ru
mail.protocol=smtps
mail.smtps.auth=true


Установка Alfresco 4.2.f на Ubuntu server

1. Качаем дистрибутив в BIN с http://wiki.alfresco.com:
wget http://dl.alfresco.com/release/community/4.2.f-build-00012/alfresco-community-4.2.f-installer-linux-x64.bin

2. Устанавливаем дополнительные библиотеки согласно инструкции:

sudo apt-get install libice6 libsm6 libxt6 libxrender1 libfontconfig1 libcups2

3. Запускаем alfresco-community-4.2.f-installer-linux-x64.bin