8 Replies Latest reply on Nov 3, 2008 11:10 AM by 516019

    ODrive Edit in Place PDF Document Manual Versioning enabled Error

    jigark
      Hi,

      Any one has tried or able to do edit in place with ODrive and PDF Document type?

      I have manual versioning enable. When I am doing edit in place from ODrive for PDF Document getting following error.

      I have manually check out the document before doing Edit from ODrive.

      Need help to resolve this issue.

      Thanks,

      Jigar

      ------------------------------------
      Error logs
      --------------------------------

      07/05/31 15:45:07 content: [oracle.ifs.ecm.util.FolderUtilities] [24] 99117 publicuser1 INFO: resolveLegacyPath targetPath =

      07/05/31 15:46:29 content: [oracle.ifs.protocols.dav.ecm.EcmDavServlet] [23] 99117 publicuser1 WARNING: no mapping found for ORACLE.FDK.ItemNotCheckedOut

      07/05/31 15:46:29 content: [oracle.ifs.protocols.dav.ecm.EcmDavServlet] [23] 99117 publicuser1 WARNING: unmapped exception: oracle.ifs.fdk.FdkException:
      ErrorCode = ORACLE.FDK.AggregateError; DetailedErrorCode = ORACLE.FDK.AggregateError; Cause = IFS-90244: Cannot update all of the specified
      items; ServerStackTraceId = ; Info = null; Entries = 1

      Main Exception Stack Trace:

      ORACLE.FDK.AggregateError:ORACLE.FDK.AggregateError

      at oracle.ifs.fdk.FdkException.getInstance(FdkException.java:181)

      at oracle.ifs.fdk.FdkException.getInstance(FdkException.java:74)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1661)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocument(FileManagerImpl.java:1511)

      at oracle.ifs.protocols.dav.ecm.EcmDavServlet.doPut(EcmDavServlet.java:1688)

      at oracle.ifs.protocols.dav.DavServlet.doPut(DavServlet.java:1929)

      at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2622)

      at oracle.ifs.protocols.dav.ecm.EcmDavServlet.processRequest(EcmDavServlet.java:3616)

      at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2396)

      at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java:2361)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)

      at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)

      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)

      at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:103)

      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)

      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)

      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)

      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)

      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)

      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)

      at java.lang.Thread.run(Thread.java:534)

      Caused by: oracle.ifs.common.IfsException: IFS-90244: Cannot update all of the specified items

      at oracle.ifs.ecm.util.BulkUtilities.ecmUpdate(BulkUtilities.java:369)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1653)

      ... 19 more

      FdkException Details: oracle.ifs.fdk.FdkException: ErrorCode = ORACLE.FDK.AggregateError; DetailedErrorCode = ORACLE.FDK.AggregateError;
      Cause = IFS-90244: Cannot update all of the specified items; ServerStackTraceId = ; Info = null; Entries = 1

      Entry[0] = oracle.ifs.fdk.FdkExceptionEntry: ErrorCode = ORACLE.FDK.OperationError; DetailedErrorCode = ORACLE.FDK.ItemNotCheckedOut;
      ItemID = 99150; Cause = IFS-90301: Cannot update a Document under version control that is not checked out; Info = null

      Cause Exception Stack Trace:

      oracle.ifs.common.IfsException: IFS-90301: Cannot update a Document under version control that is not checked out

      at oracle.ifs.ecm.beans.EcmDocument.lowLevelUpdate(EcmDocument.java:938)

      at oracle.ifs.ecm.beans.EcmDocument.ecmUpdate(EcmDocument.java:618)

      at oracle.ifs.ecm.util.BulkUtilities.ecmUpdate(BulkUtilities.java:345)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1653)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocument(FileManagerImpl.java:1511)

      at oracle.ifs.protocols.dav.ecm.EcmDavServlet.doPut(EcmDavServlet.java:1688)

      at oracle.ifs.protocols.dav.DavServlet.doPut(DavServlet.java:1929)

      at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2622)

      at oracle.ifs.protocols.dav.ecm.EcmDavServlet.processRequest(EcmDavServlet.java:3616)

      at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2396)

      at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java:2361)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)

      at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)

      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)

      at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:103)

      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)

      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)

      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)

      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)

      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)

      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)

      at java.lang.Thread.run(Thread.java:534)

      Entry[0] = oracle.ifs.fdk.FdkExceptionEntry: ErrorCode = ORACLE.FDK.OperationError; DetailedErrorCode = ORACLE.FDK.ItemNotCheckedOut;
      ItemID = 99150; Cause = IFS-90301: Cannot update a Document under version control that is not checked out; Info = null

      Cause Exception Stack Trace:

      oracle.ifs.common.IfsException: IFS-90301: Cannot update a Document under version control that is not checked out

      at oracle.ifs.ecm.beans.EcmDocument.lowLevelUpdate(EcmDocument.java:938)

      at oracle.ifs.ecm.beans.EcmDocument.ecmUpdate(EcmDocument.java:618)

      at oracle.ifs.ecm.util.BulkUtilities.ecmUpdate(BulkUtilities.java:345)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1653)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocument(FileManagerImpl.java:1511)

      at oracle.ifs.protocols.dav.ecm.EcmDavServlet.doPut(EcmDavServlet.java:1688)

      at oracle.ifs.protocols.dav.DavServlet.doPut(DavServlet.java:1929)

      at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2622)

      at oracle.ifs.protocols.dav.ecm.EcmDavServlet.processRequest(EcmDavServlet.java:3616)

      at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2396)

      at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java:2361)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)

      at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)

      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)

      at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:103)

      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)

      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)

      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)

      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)

      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)

      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)

      at java.lang.Thread.run(Thread.java:534)

      07/05/31 15:46:29 content: Servlet error

      ORACLE.FDK.AggregateError:ORACLE.FDK.AggregateError

      at oracle.ifs.fdk.FdkException.getInstance(FdkException.java:181)

      at oracle.ifs.fdk.FdkException.getInstance(FdkException.java:74)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1661)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocument(FileManagerImpl.java:1511)

      at oracle.ifs.protocols.dav.ecm.EcmDavServlet.doPut(EcmDavServlet.java:1688)

      at oracle.ifs.protocols.dav.DavServlet.doPut(DavServlet.java:1929)

      at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2622)

      at oracle.ifs.protocols.dav.ecm.EcmDavServlet.processRequest(EcmDavServlet.java:3616)

      at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2396)

      at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java:2361)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)

      at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)

      at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:103)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)

      at java.lang.Thread.run(Thread.java:534)

      Caused by: oracle.ifs.common.IfsException: IFS-90244: Cannot update all of the specified items

      at oracle.ifs.ecm.util.BulkUtilities.ecmUpdate(BulkUtilities.java:369)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1653)

      ... 19 more

      FdkException Details: oracle.ifs.fdk.FdkException: ErrorCode = ORACLE.FDK.AggregateError; DetailedErrorCode = ORACLE.FDK.AggregateError;
      Cause = IFS-90244: Cannot update all of the specified items; ServerStackTraceId = ; Info = null; Entries = 1

      Entry[0] = oracle.ifs.fdk.FdkExceptionEntry: ErrorCode = ORACLE.FDK.OperationError; DetailedErrorCode = ORACLE.FDK.ItemNotCheckedOut;
      ItemID = 99150; Cause = IFS-90301: Cannot update a Document under version control that is not checked out; Info = null

      Cause Exception Stack Trace:

      oracle.ifs.common.IfsException: IFS-90301: Cannot update a Document under version control that is not checked out

      at oracle.ifs.ecm.beans.EcmDocument.lowLevelUpdate(EcmDocument.java:938)

      at oracle.ifs.ecm.beans.EcmDocument.ecmUpdate(EcmDocument.java:618)

      at oracle.ifs.ecm.util.BulkUtilities.ecmUpdate(BulkUtilities.java:345)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1653)

      at oracle.ifs.fdk.impl.FileManagerImpl.updateDocument(FileManagerImpl.java:1511)

      at oracle.ifs.protocols.dav.ecm.EcmDavServlet.doPut(EcmDavServlet.java:1688)

      at oracle.ifs.protocols.dav.DavServlet.doPut(DavServlet.java:1929)

      at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2622)

      at oracle.ifs.protocols.dav.ecm.EcmDavServlet.processRequest(EcmDavServlet.java:3616)

      at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2396)

      at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java:2361)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)

      at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)

      at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:103)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)

      at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)

      at java.lang.Thread.run(Thread.java:534)
        • 1. Re: ODrive Edit in Place PDF Document Manual Versioning enabled Error
          mshannon-Oracle
          Hi Jigar

          Are you performing "edit" in place from the Web UI?

          Or from the actual shared drive itself?

          If you are performing edit in place from the Web UI, does the user whom checked-out the document from the Web UI, match the user whom is connected from Oracle Drive? And if so, are they both in non-administration mode when performing the checkout?

          thanks

          Matt.
          • 2. Re: ODrive Edit in Place PDF Document Manual Versioning enabled Error
            jigark
            Hi Matt,

            I have tried Edit in place from Web UI as well as O Drive (Share drive) with non admin user with same user connected in ODrive as well.

            Curently I have tried with ODrive 10.2.0.0.5 and 10.2.0.0.6 and Adobe Acrobat 6.0 standard and 7.0 standard.

            Odrive certification Matrix says it supports Adobe 6.0. I need to sign the document, after manually checked out the document.

            After signing it it ask me my category information. After supplying category information I get this error and Contentdb is not able to create version of that document.

            I see temp document got created and moved to Trash folder.

            I have 6350095.992 SR open for this. Need help to resolve this.

            Thanks,

            Jigar
            • 3. Re: ODrive Edit in Place PDF Document Manual Versioning enabled Error
              mshannon-Oracle
              My bet is Acrobat is doing something tricky like :

              1) Create a temporary document
              2) Delete orginal document
              3) Rename temporary document name to original document name

              or something similar.

              I would try setting the folder configuration to automatic versioning - and then see if the signing from acrobat is successful - and then check the version history to see how many versions you have and whether any were lost.

              I would also take a look at the Oracle Drive logs in "C:\Documents and Settings\Administrator\Application Data\Oracle\ODrive\cache\logs" or equivalent folder to see the DAV commands being issued.

              I remember Microsoft Office used to do something similar to this - and there was an option in Office to override how it performed the save.

              thanks

              Matt.
              • 4. Re: ODrive Edit in Place PDF Document Manual Versioning enabled Error
                jigark
                Hi Matt,

                When I tried auto versioning and sign the document. I see following thing happened.

                1) Created 2 version with same category information. i.e. I lost my category information.

                2) I see temp file aaa02480 in Trash folder which has original category information in it.

                So in short ODrive has created 2 version with new category information and my original version deleted and in side Trash folder.

                Can you tell me what will be programmatically good way to achive this.

                I have following requirement

                1) Store PDF document is contentdb
                2) In worklist application user should assign task to approve this document by signing that pdf document
                3) Before it goes to next approver I should create a version in contentdb
                4) Next approver should see latest updated version

                I am programatically checkout / checking document from BPEL workflow

                I have manual versioning enable.

                Thanks,

                Jigar
                • 5. Re: ODrive Edit in Place PDF Document Manual Versioning enabled Error
                  mshannon-Oracle
                  So first and foremost, I would be contacting Adobe support and ask them if there is a mechanism to save-in-place when performing the digital signing - as it sure sounds like (from the auto-versioning test) that the original file essentially is deleted, and the signed file is replaced. The deleting bit has to stop - and an update must occur instead.

                  There really is nothing Oracle Drive can do here - if its being instructed to perform a delete - it will send that across to the server! So its not really a bug.

                  From the BPEL flow perspective - things you need to consider:

                  1) If the BPEL flow is triggered from a blocking workflow, then until such time that a message is returned on the inbound queue stating that the workflow was successful (and gets inturn processed by queue agent), the underlying document/content that triggered the workflow is locked preventing any updates.

                  2) If the BPEL flow is triggered from a non-blocking workflow, then the underlying document/content is not locked.

                  3) As part of your flow, you could create a copy of the original document content that triggered the request and process that throughout the flow's lifecycle - which in the case of blocking flows would mean that you were able to update the copy's content without any lock issues. In the case of a blocking flow, after sending back a success message to CDB then polling to see if the document was now unlocked, you could subsequently update the unlocked content with the copy that was used throughout the flow.

                  Also, if you are working on a copy of the document as part of your acrobat signing, once the document is signed you could programatically update the original document's content with the signed copy - and thus avoid losing metadata.

                  thanks

                  Matt.
                  • 6. Re: ODrive Edit in Place PDF Document Manual Versioning enabled Error
                    jigark
                    Hi Matt,

                    Thank you for your very useful reply.

                    I have non blocking serial approval workflow.

                    In my workflow I have attachment as PDF document to be signed. URI of that document is from Odrive. Foe example O:\sjrwmd\DMSFAContainer\DMSFALibrary\36397\P041282\978599\Invoice_with_2_blank_sig_OD_2.pdf

                    When task has been assign to any user, from task detail page of the worklist application user click / open that pdf file and sign the document. When user save this document Odrive should save that to Contentdb.

                    Just wanted to know that why it is not ODrive bug?

                    I was able to do following test It works only in Acrobat 6.0.

                    Steps I did,

                    1) Upload pdf file to folder with manual versioning enable.
                    2) Manually checked out file from web ui.
                    3) Login to ODrive using same user
                    4) Created html file with link (Please replace href portion to your url of the file)

                    <HTML>
                    <BODY>
                    Testing Link <BR>

                    <a class="blue" href="O:/sjrwmd/DMSFAContainer/DMSFALibrary/36397/P041282/978599/Invoice_102_wit
                    h_blank_sig_OD.pdf" target="_blank">Invoice_101CD.pdf</a> <BR>
                    <a class="blue" href="O:/sjrwmd/DMSFAContainer/DMSFALibrary/16966/P040577/246361/ST_Memo.doc"
                    target="_blank">ST_Memo.doc</a>

                    </BODY>
                    </HTML>

                    5) Open html in browser
                    6) Click on document link
                    7) Will open pdf files in browser
                    8) Sign the document
                    9) Click on save a copy button.
                    10) In the save a copy dialog , file name place paste your file url of o drive for example in my
                    case
                    O:/sjrwmd/DMSFAContainer/DMSFALibrary/36397/P041282/978599/Invoice_102_with_blank_sig_OD.pdf
                    click save
                    11) This should save updated file
                    12) Checked in document

                    I will look into programmatically way to achive this.

                    Regards,

                    Jigar
                    • 7. Re: ODrive Edit in Place PDF Document Manual Versioning enabled Error
                      mshannon-Oracle
                      Hi Jigar,

                      You need to either leverage a http packet sniffer, or the Oracle Drive logs to determine the difference between how Acrobat 6 signs/saves the document versus Acrobat 8?

                      Acrobat 6 probably attempts to save in place - essentially updating/overwrite the original documents content directly.

                      Acrobat 8 looks to do something like create a completely new file, **delete** the original document, and rename the new file to the original's name.

                      We have proved Acrobat 8 is doing something like this from the auto-versioning test - as you found in the recycling bin the original file.

                      Why I say it is not an Oracle Drive bug - is that I believe Acrobat 8 is explicitly instructing Oracle Drive to DELETE the original file.

                      cheers

                      Matt.
                      • 8. Re: ODrive Edit in Place PDF Document Manual Versioning enabled Error
                        516019
                        Hi Matt,

                        We sometimes have an issue where we cannot save a Microsoft Word document in ODrive and the Content Services logs say that the document is not checked out (even though it is!).

                        You mentioned in your post that there was a way to change how Word saves it's documents (so that it doesn't create a temporary file, delete the original then rename the temp), could you please tell us how to do this as we have searched around and not found out how?

                        Thanks