Skip to main content
1-Visitor
June 30, 2010
Question

AE 5.4 M150 ties up directory of last file edited

  • June 30, 2010
  • 11 replies
  • 1537 views
Adepters:

Another problem in our move to AE 5.4 M150. If an author makes some edits and closes the document - but leaves the editor open, the folder containing the edited document cannot be deleted unless AE is closed entirely. This causes problems for our CMS when the document is checked in as it automatically removes the checkout folder. There have also been reports that the document is tied up, even though it was closed and a checkin fails completely (I haven't reproduced that problem, however).

Are there any tricks we can use to get AE to release the directory when a document is closed? Restarting AE is not a good option as the author may have several windows open.

Dave

    11 replies

    1-Visitor
    July 2, 2010


    In Reply to Dave Hintz:

    We encountered the same problem about a year ago when testing AE 5.4 in our CMS environment. PTC provided me with a diagnostic ACL file called doc_close2. We ended up being able to solve the problem by replacing the code we used to use to close the file in the editor's checkout directory. The old file closing code was:

    if(doc_window(doc) > 0) { file_close( doc_window(doc) ); }

    Now instead of file_close, we call a new ACL file:

    if(doc_window(doc) > 0) {doc_close_unlock(doc); }

    Here is doc_close_unlock.acl:

    #### Routine adapted from PTC's diagnostic routine; need to close and unlock the XML file upon check-in or ###
    #### cancel check-in, in order for java to be able to remove the file from the checkout folder ###############


    function doc_close_unlock(doc = current_doc()) {

    local path = doc_path(doc);
    if (!path)
    {
    message = "Document id $doc has no associated path. Document not closed!\n\n";

    }
    else
    {
    local count = 0;

    while (doc_valid(doc))
    {
    #doc_close(doc);
    file_close( doc_window(doc));
    }


    local dobj = dobj_construct(path);
    if (dobj_valid(dobj))
    {
    if (dobj_is_my_lock(dobj))
    {
    #message .= "\n\nDocument is still locked by some document object; even after closing";
    # Forcibly close this reference.
    dobj_unlock(dobj);
    }

    # Release the dobj we created above.
    dobj_close(dobj);
    }

    }

    }

    Not sure if this will work for you, but hopefully it is helpful.

    Meghan Fiero