cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco CE 3.3 CIFS bringt Adobe CS5 Indesign zum Absturz

relayer_1669
Champ in-the-making
Champ in-the-making
Hallo,

wir testen zurzeit Alfresco CE 3.3 (auf SUSE & mySQL) in einem Szenario mit starker Nutzung von Photoshop und Indesign von Macs. Arbeiten mit dem CIFS share von einem Mac OSX Snow Leopard und CS5 Photoshop funktioniert wunderbar, Photoshop kann das Laufwerk ganz normal als Fileablage benutzen.
Mit Adobe Indesign CS5 gibt es aber ein masives Problem: wenn man aus Indesign am Mac versucht, eine Datei auf den CIFS share zu speichern crasht Indesign (Laufwerk nicht verfügbar). Im alfresco.log ist nichts zu sehen, aber Indesign stürzt ab und die gespeicherte Datei ist fragmentiert und lässt sich nicht mehr öffen.

Kann mir jemand zu diesem Problem Tipps oder Hilfestellung geben ? Ich kann nicht sagen, ob das ein generelles Problem mit der Kombination Indesign & Alfresco ist oder es einen Workaround oder Lösung dazu gibt.

Vielen Dank im voraus !

Martin.
11 REPLIES 11

thomash
Champ in-the-making
Champ in-the-making
Es gibt hier bereits vereinzelte Anfragen im englischen Forum allerdings keine Issues in unserem Bugtracker.
Ich bin mir aber sicher das der ein oder andere Partner der im Bereich Pubilshing unterwegs ist eventuell schonmal auf die Problematik mit den temporären Datein gestossen sein könnte.
Eventuell lohnt es sich mal mit unserem Partner SHI nachzufragen inwieweit deren Alfresco Indesign Plugin da eine Lösung bieten könnte?
http://www.infopilot.net/quickfinder/thema/enterprise-content-management/adobe-indesign-plugin-fuer-...

Was sagt denn Alfresco wenn du vom Mac aus zugreifst? Bzw. schreibt indesign auch irgendwelche Logs raus die an dieser Stelle weiterhelfen könnten?

relayer_1669
Champ in-the-making
Champ in-the-making
Hallo Thomas,

naja, das Plugin ist nicht wirklich vorhanden, eher ein pre-alpha Prototyp. Also leider auch kein Weg Indesign->Alfresco. Zum Glück gibt's jetzt aber Adobe Drive 2 (http://labs.adobe.com/technologies/drive2/), dass über die CMIS Schnittstelle an Alfresco andockt. Funktioniert ganz gut, d.h. speichern des Files klappt (auch für Indesign).
Beim check-in geht's dann leider erst schief, aber ganz anders, versteht sich. Ein atom Skript für das einchecken erzeugt einen duplicate child Error:

18:17:31,712 ERROR [org.springframework.extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 08080005
Wrapped Exception (with status template): 08080183 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/cmis/children.post.atom.js
': Duplicate child name not allowed: A0122610_gb.jpg
org.springframework.extensions.webscripts.WebScriptException: 08080005 Wrapped Exception (with status template): 08080183 Failed to execute script 'classpath
*:alfresco/templates/webscripts/org/alfresco/cmis/children.post.atom.js': Duplicate child name not allowed: A0122610_gb.jpg
        at org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:731)
        at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:167)
        at org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:367)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:321)
        at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:417)
        at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:434)
        at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:298)
        at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:307)
        at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:178)
        at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:116)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:636)

Kannst Du mit diesem Fehler etwas anfangen ? Was ich so an ähnlichen Fehlern sehen konnte ist, dass Properties zu einem falschen Zeitpunkt geschrieben werden …

Hier ist das Skript:
    
<import resource="classpath:alfresco/templates/webscripts/org/alfresco/cmis/lib/constants.lib.js">
<import resource="classpath:alfresco/templates/webscripts/org/alfresco/cmis/lib/read.lib.js">
<import resource="classpath:alfresco/templates/webscripts/org/alfresco/cmis/lib/modify.lib.js">

script:
{
    // ensure atom entry is posted
    if (entry === null)
    {
        status.code = 400;
        status.message = "Expected atom entry";
        status.redirect = true;
        break script;
    }

    // locate parent node
    var parent = getObjectFromUrl();
    if (parent.node == null)
    {
        break script;
    }
    model.parent = parent.node;

    // versioning state
    var versioningState = args[cmis.ARG_VERSIONING_STATE];
    if (versioningState === null || versioningState.length == 0)
    {
       versioningState = "major";
    }

    // is this a create or move?
    var object = entry.getExtension(atom.names.cmisra_object);
    var objectIdProp = (object !== null) ? object.objectId : null;
    var objectId = (objectIdProp !== null) ? objectIdProp.nativeValue : null;
    var sourceFolderId = args[cmis.ARG_SOURCE_FOLDER_ID];
    var node = null;

    if (objectId == null)
    {
        // create node
        node = createNode(model.parent, entry, slug, versioningState);
        if (node == null)
        {
            break script;
        }
        node.save();
    }
    else if (sourceFolderId == null || sourceFolderId.length == 0)
    {
       // Add node
       var object = getObjectFromObjectId(objectId);
       if (object.node == null)
       {
           break script;
       }
       node = object.node;

       cmis.addObjectToFolder(node, model.parent);
    }
    else
    {
        // move node

        // locate node
        var object = getObjectFromObjectId(objectId);
        if (object.node == null)
        {
            break script;
        }
        node = object.node;

        // perform move
        cmis.moveObject(node, model.parent, sourceFolderId);
    }

    // success
    model.node = node;
    // TODO: set Content-Location
    status.code = 201;
    status.location = url.server + url.serviceContext + "/cmis/s/" + node.nodeRef.storeRef.protocol + ":" + node.nodeRef.storeRef.identifier + "/i/" + node.nodeRef.id;
    status.redirect = true;
}

Ich kann mir auch gut vorstellen, dass da von Seiten Adobe Drive 2 ein post zur falschen Zeit passiert. Kann man ds irgendwie debuggen oder zumindest die Call-Reiehnfolge loggen ?

Liebe Grüße,
R.