четверг, 2 июля 2015 г.

Problem with JS Debugger on Ubuntu 14.04 (xfce) and Alfresco 5.0.c

Propblem

When I tried to enable jsdebugger I got the following error:

  
2015-07-02 17:02:19,987  ERROR [extensions.webscripts.AbstractRuntime] [http-bio-8080-exec-1] Exception from executeScript - redirecting to status template error: 06020000 Wrapped Exception (with status template): null
 org.springframework.extensions.webscripts.WebScriptException: 06020000 Wrapped Exception (with status template): null
 at org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:1126)
 at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:171)
 at org.springframework.extensions.webscripts.PresentationContainer.executeScript(PresentationContainer.java:70)
 at org.springframework.extensions.webscripts.LocalWebScriptRuntimeContainer.executeScript(LocalWebScriptRuntimeContainer.java:236)
 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.mvc.WebScriptView.renderMergedOutputModel(WebScriptView.java:104)
 at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:264)
 at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1201)
 at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:986)
 at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)
 at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
 at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
 at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
 at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
 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.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:74)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
 at org.alfresco.web.site.servlet.SecurityHeadersFilter.doFilter(SecurityHeadersFilter.java:168)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
 at org.alfresco.web.site.servlet.CSRFFilter.doFilter(CSRFFilter.java:315)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
 at org.alfresco.web.site.servlet.SSOAuthenticationFilter.doFilter(SSOAuthenticationFilter.java:394)
 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(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)
Caused by: java.awt.HeadlessException
 at java.awt.GraphicsEnvironment.checkHeadless(Unknown Source)
 at java.awt.Window.<\init>(Unknown Source)
 at java.awt.Frame.<\init>(Unknown Source)
 at javax.swing.JFrame.<\init>(Unknown Source)
 at org.mozilla.javascript.tools.debugger.SwingGui.<\init>(SwingGui.java:149)
 at org.springframework.extensions.webscripts.ScriptDebugger$AlfrescoGui.<\init>(ScriptDebugger.java:165)
 at org.springframework.extensions.webscripts.ScriptDebugger.activate(ScriptDebugger.java:86)
 at org.springframework.extensions.webscripts.ScriptDebugger.show(ScriptDebugger.java:104)
 at org.springframework.extensions.webscripts.bean.JavascriptDebuggerPost.executeImpl(JavascriptDebuggerPost.java:61)
 at org.springframework.extensions.webscripts.DeclarativeWebScript.executeImpl(DeclarativeWebScript.java:235)
 at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:64)
 ... 46 more

Solution

  1. Stop Alfresco
  2. Open alfresco-5.0.c/tomcat/bin/setenv.sh by some text editor
  3. Remove the following string from JAVA_OPTS:
    -Djava.awt.headless=true
  4. Save file
  5. Start Alfresco

четверг, 16 апреля 2015 г.

Transformation problems in Alfresco 5.0.d and Ubuntu 14.04

Problem:

After uploading Microsoft documents you can't preview it in Alfresco and in catalina.out you see the following error:

  
ERROR [extensions.webscripts.AbstractRuntime] [http-apr-8080-exec-7] Exception from executeScript - redirecting to status template error: 03160000 The content node was not specified so the content cannot be stre
amed to the client: classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js
 org.springframework.extensions.webscripts.WebScriptException: 03160000 The content node was not specified so the content cannot be streamed to the client: classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbn
ail.get.js
        at org.alfresco.repo.web.scripts.content.StreamContent.execute(StreamContent.java:169)
        at org.alfresco.repo.web.scripts.RepositoryContainer$3.execute(RepositoryContainer.java:482)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:457)
        at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:551)
        at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:619)
        at org.alfresco.repo.web.scripts.RepositoryContainer.executeScriptInternal(RepositoryContainer.java:399)
        at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:280)
        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:504)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        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:421)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2403)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
2015-04-16 12:43:00,357  WARN  [alfresco.util.OpenOfficeConnectionTester] [DefaultScheduler_Worker-5] Error trying to query Open Office version information. OpenOffice.org's ConfigurationRegistry not implemented in this version of OOo. T
his should not affect the operation of OOo.

Solution:

First of all install required libraries for libreoffice:

sudo apt-get install libice6 libsm6 libxt6 libxrender1 libxinerama libfontconfig1 libcups2

If you got error during installation like:

E: Unable to locate package libxinerama

then try to install the following packages instead of libxinerama:

apt-get install libxinerama-dev libxft-dev libxi-dev

After checking dependencies you need to do next:

1) Go to alfresco->libreoffice->scripts folder

cd {patrh_to_alfresco}/libreoffice/scripts

2) Open file libreoffice_ctl.sh by using some text editor (I prefer mceditor)

sudo mcedit libreoffice_ctl.sh

3) Find the following line:

SOFFICE="$SOFFICEWRAPPER --nofirststartwizard --nologo --headless --accept=socket,host=localhost,port=$SOFFICE_PORT\;urp\;StarOffice.ServiceManager"

4) Remove backslashes (this characters "\") from this line and save. After your changes it should looks like the following string:

SOFFICE="$SOFFICEWRAPPER --nofirststartwizard --nologo --headless --accept=socket,host=localhost,port=$SOFFICE_PORT;urp;StarOffice.ServiceManager"

5) Start soffice
sudo libreoffice_ctl.sh start

среда, 25 февраля 2015 г.

Alfresco 5.0.a Send Email with attachments

Several days ago I was faced with a problem that Alfresco doesn't allow to send email with attachments and I written small patch to add this feature. I believe this AMP will be useful for somebody.

Addon was tested on Alfresco 5.0.a

What do you need to do:

  1. Download amp 
  2. Put this file into {Alfresco}/amps folder
  3. Stop Alfresco
  4. Run script {Alfresco}/bin/apply_amps.sh
  5. Run Alfresco
  6. After that you will get ability to send email with attachments

How to send email with attachments (example):

    
// create email
var mail = actions.create("mail");

// set receiver of the email
mail.parameters.to = "to.somebody@gmail.com";

// set mail subject
mail.parameters.subject = "Email with attachments";

// set sender of the email
mail.parameters.from = "from.somebody@gmail.com";

// set mail body
mail.parameters.text = "This is my first email with attachments";

// initialize array of attachments
var array = [];

//add document to array
array.push(document.nodeRef);

//add one more document to array
array.push(document1.nodeRef);

// add attachments to the email
mail.parameters.attachments = array;

// send email
mail.execute(document);