Clarity

  • 1.  Xog Documents

    Posted May 16, 2012 02:18 PM
    Hello Everyone,
    We are Migrating the Project Information from one Clarity instance(12.1) to other and along with the projects we need to migrate the Collabartion information with Documents attached to them.We were able to sucessfully migrate documents if we read single project using Document_read.xml but we want to read multiple project documents in a single read file so I tried to provide criteria as OR with multiple project id's which are Comma seperated but it is giving below error

    Read_File used to read multiple Project Documents
    <?xml version="1.0" encoding="UTF-8"?>
    <NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">
    <Header version="7.5" action="read" objectType="document" externalSource="NIKU">
    <args name="documentLocation" value="c:\xog/test/documentXogLocation"/>
    </Header>
    <DocumentQuery>
    <Filter name="parentObjectID" criteria="OR">500098,500072</Filter>
    <Filter name="parentObjectType" criteria="EQUALS">Projects</Filter>
    </DocumentQuery>
    </NikuDataBus>

    Error
    <ErrorInformation>
    <Severity>FATAL</Severity>
    <Description>XOG-4001: Failed to export documents.</Description>
    <Exception><![CDATA[
    java.lang.Exception: XOG-4000: Parent Object was not found; The parent information provided is incorrect.

    at com.niku.xog.util.XOGContinueHandler.postProcess(XOGContinueHandler.java:36)

    at com.niku.xql2.handlers.BaseHandler.postProcess(BaseHandler.java:48)

    at com.niku.xql2.XQLVisitor.postProcess(XQLVisitor.java:1355)

    at com.niku.union.xml.dom.DOMWalker.postProcess(DOMWalker.java:210)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:94)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.TryHandler.preProcess(TryHandler.java:50)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1342)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:161)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:91)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1342)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)

    at com.niku.xog.service.XOGXBLHandler.processXBL(XOGXBLHandler.java:245)

    at com.niku.xog.service.XOGXBLHandler.process(XOGXBLHandler.java:151)

    at com.niku.xog.service.ObjectHandler.processRequest(ObjectHandler.java:167)

    at com.niku.xog.handler.XOGProcessHandler.postProcess(XOGProcessHandler.java:44)

    at com.niku.xql2.XQLVisitor.postProcess(XQLVisitor.java:1355)

    at com.niku.union.xml.dom.DOMWalker.postProcess(DOMWalker.java:210)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:94)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)

    at com.niku.xql2.XQLProcessor.process(XQLProcessor.java:239)

    at com.niku.xql2.XQLProcessor.process(XQLProcessor.java:280)

    at com.niku.xql2.binding.ServiceControlBindingXql.processFile(ServiceControlBindingXql.java:412)

    at com.niku.xql2.binding.ServiceControlBindingXql.getDocument(ServiceControlBindingXql.java:277)

    at com.niku.xql2.binding.ServiceControlBindingXql.processRequest(ServiceControlBindingXql.java:161)

    at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:760)

    at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:214)

    at com.niku.union.web.WebServiceAdapter.processRequest(WebServiceAdapter.java:196)

    at com.niku.union.web.PortletController.processServiceRequest(PortletController.java:1371)

    at com.niku.union.web.PortletController.processAuthorizedPortlet(PortletController.java:891)

    at com.niku.union.web.PortletController.processPageActionRequest(PortletController.java:385)

    at com.niku.union.web.PortletController.processRequest(PortletController.java:160)

    at com.niku.union.web.WebActionController.processAction(WebActionController.java:1090)

    at com.niku.union.web.WebActionController.processRequest(WebActionController.java:170)

    at com.niku.union.web.WebControlServlet.service(WebControlServlet.java:322)

    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 com.niku.union.web.filter.GZIPResponseFilter.doFilter(GZIPResponseFilter.java:110)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    at com.niku.union.web.filter.CharsetFilter.doFilter(CharsetFilter.java:29)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

    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:127)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:101)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)

    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)

    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

    at java.lang.Thread.run(Thread.java:736)
    ]]></Exception>
    </ErrorInformation>

    I am able to read these project documents information individually .Can someone please help me how to read multiple Project Document information in a single read file because we may need to migrate 1000+ odd projects so doing this for each project is cumbersome process.

    Thanks in Advance,
    Karthik


  • 2.  RE: Xog Documents
    Best Answer

    Posted May 18, 2012 07:09 AM
    Hi Karthik,
    I have not been able to read multiple projects either, so what i recommend is that you write a script that generates one xml file per project (read file). You can use GEL for this if you like using the gel:serialize token, then write a batch file that loops through that folder and calls xog for each file (using the command line parameters).
    This will prevent having to use the test.properties call every time.
    Hope this helps
    Federico


  • 3.  RE: Xog Documents

    Posted May 18, 2012 08:23 AM
    This has been reported as a defect and can be found in TEC525328

    It also mentions the approach Federico gives, to drive this via GEL by making sequential calls to XOG out individual project's documents.

    You would not need any external batch files though, GEL is capable of taking a XOG template, modifying attributes/data within it, and making a XOG request upon each one itself through the soap:invoke tag. It might be easier or better managed either way.

    If you can, please log a support issue on this to say that the defect CLRT-50875 has affected you. Thanks.


  • 4.  RE: Xog Documents

    Posted May 18, 2012 09:01 AM
    Thanks Nick and Fedrico for your time.I will use the GEL to fulfill the need.


    Thanks Again,
    Karthik


  • 5.  Re: Xog Documents

    Posted Apr 24, 2017 01:18 AM

    Karthik, please could you share what you did to achieve the result? 



  • 6.  Re: Xog Documents

    Posted May 16, 2017 07:54 PM

    Hi Nick and All,

     

    Would someone please help me with the relevant GEL script to loop through?

     

    Thank you in advance,

    Thao



  • 7.  Re: Xog Documents

    Posted Dec 12, 2016 01:33 AM

    Hi Karthik,

     

    Would you mind sharing your codes please as I also need to extract documents for numerous Projects!  We're on SQL and Clarity 13.1.  Thank you in advance!

     

    Regards,

    Thao