Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

LiveLink data export to another Document Management Application

Status
Not open for further replies.

kamilx2

Technical User
Mar 11, 2016
10
CZ
Hi,
Is there any built-in tool in LiveLink or some other smart way of exporting all data from LiveLink environment (physical files and associated with them meta-data) to another Document Management Application? or is it only possible by using LAPI?

Best Regards.
 
Yes a lot of DMS 3rd party vendors out there manufacture tools. LAPI has been deprecated so most tools are written in oscript,soap or REST. I hope you meant physical objects in livelink ,in that case physical objects do not have any space consuming files like electronic they are all metadata.

Here are a list of possible ways you can get stuff out or into livelink

[ol 1]
[li]XML Export/XML IMport- Standard OOB XML representation requires you to understand the LL DTD.Complicated
if the person doing does not have LL knowledge [/li]
[li]Object Exporter/Object Importer -A tool where you write easy to understand XMl to get stuff/in out and yes with metadata,
OE gives a file that can be consumed by another livelink as a OI file.These support Physical Objects and RM although it may
require you to buy those licenses.Almost productive to a average programmer who knows how to map in no time.Mostly in my experience
the migration team treats it as a technical exercise whereas in most projects I have worked it is actually a business/functional exercise[/li]
[li]Syntergy -A 3rd party company who is specialized in in/out operations within LL[/li]
[li]OTIC -A OT tool that OT advertises to retire other applications.It works via SOAP or even LAPI. Steep learning curve but huge input/output gains [/li]
[li]Very many others who would use SOAP or REST and base on CSV files etc [/li]
[/ol]

Livelink SOAP and REST programming is very easy to do.
There is a interactive product called SLIM out of Holland.He is a great guy and is extremely good with REST

if the product does not support Physical could make that in no time.

Well, if I called the wrong number, why did you answer the phone?
James Thurber, New Yorker cartoon caption, June 5, 1937
Certified OT Developer,Livelink ECM Champion 2008,Livelink ECM Champion 2010
 
Thanks for answer :) I meant to export all already uploaded files (documents) with describing them meta-data and also all folder hierarchy. I'm completely new to LiveLink and also without any experience with DMS data migration. I thought that XML Export tool allow to export data only between LiveLink instances? (a new DMS won't be LiveLink). Could you describe me how in practice the export process looks like ? or recommend me some web resources to read about it more? I am interested in free of charge solutions so I have to reject points 2,3 from your list. I wonder what would be the easiest way to do it. Could you point me some SOAP or REST examples ?
 
If you do not have access to a livelink server or the OT KB knowledge dot Opentext dot com this is not going to be easy. If you have decided to go for another DMS and want to migrate data be prepared to explore self study ask around etc

XML means it is not locked into livelink so For a smart programmer all it takes is to look at the resultant XML and look at what the DTD means and make napping into another system. That is the logic xmlimport uses when the objects are created back in another livelink.Spend a whole lot of time making mistakes and learning your mid assumptions etc you will be successful.

For Programming activities use the knowledge bases I have some samples advanced in my blog .J am yet to try my hands at RESt primarily because it came very recently and most LL systems won't have the code to do anything.


If your target system supports WebDAV or drive equivalents for small migrations without user metadata you could drag and drop as well.I know a company who said livelink will be going away this day and they told there customers to drag and drop content and if they need metadata somehow do it.These all show how serious they are with ECM systems trying for the next one that promises ease.


Well, if I called the wrong number, why did you answer the phone?
James Thurber, New Yorker cartoon caption, June 5, 1937
Certified OT Developer,Livelink ECM Champion 2008,Livelink ECM Champion 2010
 
I have access to the development LiveLink Server, so I investigated XmlExport tool and I can get all meta-data hierarchy by sending request where &objId=4825 is the root element. I wonder if I could also get binary data represantation of uploaded documents by appending &content=base64 to the request (I can't see any difference now in output xml by applying this option)?
 
If you are thinking that there is a word mime type and you want content as my document.docx I doubt if it is possible. I have taken all the content beneath the base64 tags and called it with the right mime type in old systems just to check and it had worked

Well, if I called the wrong number, why did you answer the phone?
James Thurber, New Yorker cartoon caption, June 5, 1937
Certified OT Developer,Livelink ECM Champion 2008,Livelink ECM Champion 2010
 
I'm just wondering why the base64 tags don't appear in my xml output? My request is /Livelink/livelink.exe?func=ll&objId=8194&objAction=XMLExport&attributeinfo&content=base64
 
A command I just perfomed on a single word document under a folder.I hope you have the xmlexport/import syntax document
If you dont have these basic things you will not succeed.

Code:
[URL unfurl="true"]https://knowledge.opentext.com/knowledge/cs.dll?func=ll&objId=62079871&objAction=XMLExport&scope=sub&versioninfo=all&attributeinfo=true&nodeinfo=true&schema=false&followaliases=false&content=base64[/URL]

this gave me these for brevity I am leaving out unwanted tags
Code:
<version createdate="2016-03-19T20:05:22" filecreatedate="2016-03-19T20:05:21" filedatasize="34065" filemodifydate="2016-03-19T20:05:21" filename="appu_resume.docx" fileplatform="2" fileressize="0" filetype="docx" guid="2E55B752-9454-5F79-E053-568E020A82E2" id="62379353" indexed="0" locked="0" [b][highlight #EDD400]mimetype="application/vnd.openxmlformats-officedocument.wordprocessingml.document[/highlight]"[/b] modifydate="2016-03-19T20:05:22" name="1" nodeid="62379353" number="1" owner="25778910" providerid="62379353" providername="Default" vermajor="0" verminor="1">
<content type="base64">
UEsDBBQABgAIAAAAIQAvsqh0gQEAANkFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA

LOTS AND LOTS OF BASE 64 CONTENT AFTER THIS

</content>
</version>


I took everything under content tags and put them as a .docx file because that is what the version is for it DID NOT WORK.Reason is it is base64 encoded so I went to a site that will do base64 decoding


I typed the same thing and lo and behold the word file in its completeness I got :)

Hopefully you can also try


Well, if I called the wrong number, why did you answer the phone?
James Thurber, New Yorker cartoon caption, June 5, 1937
Certified OT Developer,Livelink ECM Champion 2008,Livelink ECM Champion 2010
 
Hi, I managed to export data according to your instructions but so far in small amount of nodes being exported (too many nodes cause browser to hang). I wrote some simple java program to send http get request and save response to disk as xml file and in result I get response code 200 but the output unfortunately looks like below.

The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.

HTML:
<HTML><!-- File: redirectmeta.html --><HEAD><LINK REL="stylesheet" TYPE="text/css" HREF="/Livelinksupport/livelink.css"><STYLE> .browseRow1 { background-color: #FFFFFF;  }  .browseRow2 { background-color: #EEEEEE;  } </STYLE><TITLE>Livelink - Redirection</TITLE><META HTTP-EQUIV="Refresh" CONTENT="0; URL=/Livelink/livelink.exe?func=ll&amp;objId=7207&amp;objAction=XMLExport&amp;scope=2&amp;versioninfo=current&amp;attributeinfo=true&amp;nodeinfo=true&amp;schema=false&amp;followaliases=false&amp;content=base64"></HEAD></HTML><!-- End File: redirectmeta.html -->

I read in "Livelink_Guide_to_XML_Export_and_Import" documentation that XML export can also be done by using OScript tool but I have no basic knowledge how to execute a script by this tool (I have only a script example but there is no information how to run it and what other instructions,options are available to use,API etc.).Could you please guide me how to use it in order to export and save data to disk.I wonder also if is it possible to use LAPI to achieve this task (I couldn't find any class that would be responsible for XML export)?

Best regards.
 
Oscript is a server side language like ASP/JSP on which livelink is written so regardless of the script in that it is not lightweight like javascript, it takes a lot of learning.Easy to use examples are hard to come by other than some snippets in the KB.LAPI supports XMLExport/Import howver lapi has been deprecated in newer versions of livelink so there is very little help for you.

For a starting programmer enough info exists in public and the vendor to do simple export import for e.g why don't you think like this

[ol 1]
[li]Create a list of nodeid's in a text file using a Live Report/SQL[/li]
[li]Read Each one of those dataids[/li]
[li]Use a Webservices command to download each one.It basically takes 15 mins to set up a WSAPI server either IIS or Tomact whatver your preference another 15 minutes to find an example that you can understand[/li]
[li]If you can download one write a loop[/li]
[li]Do the reverse do an upload with an available example in your case you are interested in out[/li]
[/ol]

Standard OOB functionality called "Collections" exists in your livelink. Simply put if you create a collection and "Burn it to Disk" it will give you a index.htm file with hyperlinks to content you have in that disk not livelink .This is used to export chunks of livelink replete with metadata for eDiscovery purposes.The html is xml so you can parse that for technical info I think.Only caveat is LL will put a technical structure to contents as file systems have serious heart burn when it exceeds length allowed by unix/windows so if a deep structure is downloaded LL will use a technical algorithm to represent it.The entire file path as in livelink is included in the html file.

Migration involving browsers are supported for small data sets.
Oscript can be learned by only creating a fully working livelink server installing builder or the CSIDE plugin in 10.5 and up and spending lots of time on it .
OT provides class room and distant education courses.In the public you will see code and samples primarily by [link livelink.in]me[/url] and [link greggriffiths.org]greggriffiths.org[/url]
there are many other hoobyists like us.
free to use support channels existed at one time but OT deprecated it.
If you do not want to make it your career I would use WSAPI or REST if supported.My gut feel is that OT is trying a closed approach to not allow customers to customize rather give them tools like SOAP,REST and WebReports to get by for their requirements so not many people in companies use Oscript other than a few.

Well, if I called the wrong number, why did you answer the phone?
James Thurber, New Yorker cartoon caption, June 5, 1937
Certified OT Developer,Livelink ECM Champion 2008,Livelink ECM Champion 2010
 
So I'm eventually using LAPI to fetch documents and their metadata from LiveLink Server. Everything works fine but in order to download all documents quicker I execute more instances of the same application so I'm generating more request to LiveLink Server at the same time. Up to 4 instances of the export application I get normal responses from the server but if I increase this number to 5 instances or more I get the error messages like these: "Could not validate LAPI response" and then another (replacing the previous message) "Could not flush socket" . All of these exceptions are thrown when invoking a method to get a handler to a document based on its nickname (below its body).

Java:
 /**
     * Get a object by the given nickname (get a documewnt, Folder etc..).
     *
     * @param nickname - the name to be set
     * @return DocHandleImpl - handle of the Object. If the handle.getObject()=0, the nickname cannot be found
     */
    public DocHandle getObjectByNickname(String nickname) throws DocumentServiceException { // for viewing

        log.debug("getObjectByNickname when nickname is " + nickname);

        LAPI_DOCUMENTS documents;
        LLValue objectInfo = (new LLValue()).setAssocNotSet();

        try {

            documents = new LAPI_DOCUMENTS(session);
            DocHandleImpl handle = new DocHandleImpl();
            handle.setVolumeId(0);
            handle.setObjectId(0);

            if (documents.GetObjectIDByNickname(nickname,
                    objectInfo) == LL_OK) {    //
//            System.out.println("getObjectbyNickname setting is ok");

                int foundNodeID = objectInfo.toInteger();
                handle.setObjectId(foundNodeID);
                if (documents.GetObjectInfo(handle.getVolumeId(),
                        handle.getObjectId(),
                        objectInfo) == LL_OK) {
                    handle.setVolumeId(objectInfo.toInteger("Volumeid"));

                }
                return handle;
            } else {
                return handle;
            }

        } catch (Throwable e) {
            log.error(this, "setNickname failed, session message: ", e.getMessage());
            throw new DocumentServiceException("LivelinkDocumentServiceProxy.setNickname failed, session message " + session.getStatusMessage() + "with message " + e.getMessage());
        }
    }
 
lapi has port problems and thread problems search in KB for LAPI increasing stuff .most of it will depend on how many ports can the machines handle and the time out set on the llservers .In applications like this one dedicates a battery of LLservers for just lapi traffic.If you are a mixed use company and all request flow in and out to every server depending on thread availability you will run into problems.For e.g in our company where we use Kofax to dump thousands of documents per hour into livelink we have two load balanced lapi servers to handle the load so it will work fine.also write programs with the notion that everything in livelink could fail.so either write the failed ones and queue them for redoing.also better the servers are like 9.71-10,10.5 to 16 LL's thread efficiency and code efficiency will increase. at 16 you have no lapi support.

also setassocnotset in your code should not be used.if you run wantlapilogs and with higher debugging you can see what the livelink server output is

Well, if I called the wrong number, why did you answer the phone?
James Thurber, New Yorker cartoon caption, June 5, 1937
Certified OT Developer,Livelink ECM Champion 2008,Livelink ECM Champion 2010
 
What is the link to LL KB and is it free ?
I can see a lot of timeout entries inside opentext.ini , all set to 5000 . So should I increase all of them or just specific one ?
 

Unfortunately we don't have a customer support contract so can't access the KB.
I can't also change current LL server infrastructure so it seems that the only way is to try to increase the timeout value?
 
I'm affraid you are not going to get ANYWHERE without an OpenText support account. It's not that much, especially when the concern is an organizations data. Sure, people here and there can drop some knowledge, but only OT will get you from beginning to the end, with a support contract. Also, it is only their assistance that they support, not others. When something breaks and it wasnt due to out of the box software, they may not support you at all.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top