Skip to content

Appukili's Weblog

Kilikonchal

Tag: livelink metadata

Metadata for the brave

Metadata  in Livelink (Yawn ContentServer) is mostly by a Object Called Categories.A Category Object again is of subtype 131 and it can have versions.Its content or version file looks like XML and translates the data structure for use with Livelink.When some one adds a Category to an Object like Document,Folder etc  what you are essentially doing is requesting the latest copy of the Category Template(131) or it will be the Category applied to the parent container.Then it goes through an oscript/weblingo layer where it paints the structure like is it a Text? is it Mandatory and so on.Increasingly I see OT advising customers to use SETS and that too with Multiple Values.I tried to stay away from SETS in my design because it is next to impossible to write reports when there is more than one value involved 🙂

A Picture is worth a thousand words so I am showing a Category called SapCategory as you can see I have some that are very self descriptive however these terminology is probably worth understanding.In Livelink projects you will affix useful metadata{ a set of categories(131), some Classifications(199) or RM Classifications (551) }.OT has prided itself on capability of its search and indexing engine(after all OT was the first guys to index the OED and that greatly increases the work they put in this ) so all this metadata that you put and inherit it down to millions of items is supposed to find you patterns of knowledge in your organization.The xECM side of the house puts technical categories so does AGA so that in first shot looking at the object metadata one can even say what it purports to be.Classifications and RM Classifications look like category metadata but they allow alternate taxonomies and navigation structures.

MVA-Multi Valued Attribute indicate by the + and – signs.In any case if you only have one Value also it is internally a List of values.On top of it now all Livelink servers can have that in more than one language . OT does not the make category metadata multi language but our good friends at Cassia ECM make it and sell it through OT.

Set -The Set is a place holder where in you can define more and more primitive datatypes and it looks aesthetically pleasing(?) or even easier to understand data.Both Sets and Categories subtype will say AttrType=-18 and AttrID indicates the position.

For techies see my revelation to the world I think the link is permanently lost

There is a simple Request Handler called attributes.dump ( perhaps it is hidden in the admin.index pages and you might need a SA prv) you will see that the Set Identifier does not have a Attribute ID

Nobody from OpenText has told the programming world or developers how to look at this DataStructure well not in so many words at least.. Everyone is using their own methods do something.How many SET parsing/example  requests happen in the OT KB and OT answers cryptically? Or as a Java or a C# programmer is one supposed to be that intelligent to figure everything out? I believe it is very shortsighted of OT to push towards their professional services,or WebReports to achieve anything and everything.Since the move from LAPI some hobby programmers have shown the parsing.I have had countless requests from developers who wanted to see how to go about it so this is a way to help them. Actually since all ReturnValues are coded for OOP apparently this is much easier than in LAPI days but still a new programmer cannot be expected to become a livelink knowledgeable person for participating in one project.

Imagine a Node Object like Document or Folder has had a category attached,then its values are in its MetaData Object.The MetaData Object consists of AttributeGroups which are akin to List of Categories.So if you have applied 7 Categorise expect 7.These 7 will show you empty shells or filled shells of information.

So I have this and another category attached /applied to an object

As you can see those are the two categories or an AttributeGroups Object of two AttributeGroup.OK so if you isolate one AttributeGroup you will get the individual keys(Attributes).OK then you need to test/cast these complex structures from their Livelink given out DataValue to things people can understand Namely StrinValue,IntegerValue and DateValue.Now if a Set is encountered you will get a TableValue object.Now the TableValue will contain a excel row like representation and is a RowValue Object.Once you isolate the RowValue into its DataValue you will get its IntegerValue,StringValue and such like.Good thing they did not allow a Set inside a Set 🙂

The key of an Attribute is made up of <category dataid>_<version>_<attributeID>

So hopefully the code I post in C# helps a poor soul.Now please understand that the Category Data Structure is a pretty complicated way how the Data is shown,how the Data is held in a Table and how the reporting table has been considered. When we were in the LAPI era the entire structure was given to you as a LLValue Object out of which you had to get the Types isolated and program.This was me in 2004 battling out a worked out example in LAPI documentation   which actually did not work if you actually cut and pasted the sample.So I just took it as a challenge and trying to learn the OT debugger and its Script actually helped me with it

 

Link to Code File coming soon 🙂 One thing I noticed in 2017 against CS16 is now OT has already built a category called “External Att” with some commonly asked of functionality Good Job…

Hopefully they might be trying to get rid of the “Additional Node Attributes” piece in OT

Screen Cap of when I run the code against a Node in LL.You can optimize the loops when you understand how the code is supposed to be written.Frankly my intention is to show  you how  to iterate the DataStructure.

 

A C# file that I wrote that takes a NodeID in Livelink and spits out Category Info

Including Sets & MVA

 

 

Advertisement

Rate this:

appukili content server, content server web forms, LAPI, oscript, restapi, web services 2 Comments June 1, 2017June 2, 2017 4 Minutes

General Help Series 1-Categories/Attributes (How Metadata is maintained)

  • A Post where I will try to share commonly looked for advise,many time that does not require programming but just configuration,I hope to make this in a question answer format.I will also try to answer commonly encountered problems if it does not require me to stop my paid work .
  •  
  • Category,Attributes and the mandatory aspects of it.

Categories is a template in livelink so that you can “model” your metadata requirements.In essence after you “create” the category and create meaningful “leaves” or “attributes”,you can allow others to use it as models where you can use awesome livelink search api .Here’s the RUB most container objects  like Folders does not make the “mandatory” compulsory but if you try to add a versionable subtype like “Document” it becomes mandatory.Now imagine somebody starts using a OT tool like EC or Explorer to copy a file system full of things into livelink,the folder gets replicated but livelink will stop the user from proceeding forward until documents get filled with mandatory metadata.If memory serves me right OT will even allow a flag that says substitute a top filled attribute to be trickled in.Now if you are a programmer,integrator or even a casual user trying to get things done in a jiffy what you need to know is the “mandatory” aspect is tied to a livelink server instance(not globally enforced) as well as reversible in a subtype setting.So you can go to the admin.index and try to navigate to the command “Configure Required Attributes”.You will find that folder is un checked as well as document is checked,this  is what prompts the mandatory pop up to occur when you add things.Note if you defeat what the modelers intended you will end up having data that does not get returned in a meta data search.Also try to use the livelink GUI as much as possible before you start programming as programming just replaces the human clicker at the gui, this is often overlooked by all new comers.

Added:Hugh pointed out the fallacy of a default attribute.Yes it is true that people will not put values if it can be inherited.But by the same token if the category is in need pf a upgrade and has 1 million items to be upgraded,it just adds to the cost of programming or operational efficiency.So Moral just do your design judiciously thinking that not only GUI users but there might be times you need to change the values around 🙂

BTW-To supply default values to help in a upgrade is what I have done most in my job 😉 Many times it is a quick and dirty job with the mandatory values read off a file.In my current employment we have a beautiful batch framework that is able to do all bells and whistles almost could sell this to OT.

Form Based Livelink Workflows and WF Attribute based workflows

Coming soon

Rate this:

appukili content server, livelink, Livelink as store, livelink records management Leave a comment April 26, 2015August 7, 2015 2 Minutes

Appu’s Long Lost OT Blog

Finally I found  the link to my original blog.In 2007 I joined Alitek as a senior person and was instrumental in training/mentoring most of the people there to fearlessly transgress Oscript .I am not sure if OT marketing /sales because of their vested interests trying to scare people from using the language of the application would create rumors in less technical decision makers of the org.What has happened is a reckless decline of proper design architects in the beautiful language of livelink .It is written in un paralleled style withstanding many patterns of OOP.

In any case what I would advise decision makers is if you have installed and said that Content Server  I even hate that name, Livelink it is for me is there for the ORG then hire/train good developers.It does not matter if you cannot get Oscripters. All you need to do is get a good thinking programmer either versed in java or .net technologies.The person could be set for training and that is it.

Do not employ cheap gimmicks like skins,reporting avenues etc. What a org needs can be handled by Oscript. You DO NOT HAVE to look anything other than oscript to get 150 % out of your livelink application.

Link to Patrick Vitali’s Stuff out of the world

http://www.answermodules.com/

Link to Christopher Meyer’s

http://schwiiz.org/?cat=17

The above links are concrete proof of why Oscript Rocks Really.

Now anyone who knows their computer science one on one would not be questioning why Oscript could not be mastered.

I was very thrilled to get accolades from OT and was told it was done by a peer group which does mean something to me.Now they gave me a blog and I lost the blog because I could not obey one of their time things.I doubt if OT has a award for selfless souls now most awards I see at CW is for huge accounts and managers .Money talks in software decisions one must conclude.

https://communities.opentext.com/communities/cs.dll?func=ll&objId=8298936&objAction=view

Rate this:

appukili cs UI, java livelink, Sharepoint Livelink integration 3 Comments March 15, 2015 1 Minute

SOAPUI one could use some lather

****************************************** ***START UPDATE 10/3/2016*****************

LAPI and its client installer has become very hard to find. Moreover clients written in LAPI  in say Java/.NET will only work if your Livelink a.k.a Content Server is of version less than CS16.Readers who are new to LL programming is encouraged to read this to the approach and not to the exact lines of the code.What I mean is when you used to program in LAPI you were basically passing parameters to discrete calls by modelling it based on the webgui of livelink .SOAP based webservices called CWS is also the same,so if you do not try to do the task in the webgui and try to understand the business rules you will almost have no success in CWS too. OT is notorious for not putting fully functioning use cases and a walk through,so whenever possible I write code assuming the user has not worked in Livelink for X number of years and try to educate you all. Livelink,Content Server,Enterprise Server all of this has been Livelink’s marketing brand name changes over the years.CS i sused in many of the integrations like AGA, XECM, RMLINK  and you know you are programming against livelink if you see a link that looks like this  http(s)://somefriendlyURL/livelink.exe|cs.exe|llisapi.dll|cs.dll|livelink.In many places SAP/ SP /Exchange will be configured to talk to Archive Server and then they will use Livelink to read into archive server and turn that into LL objects for better presentment/RM and other aspects. The AGA product is moving away from LAPI(not sure totally or not) to REST API in LL.

**********************************************END UPDATE****************************

 

In many instances I have been dumb founded by many things people get to do with livelink totally unheard of.Since the world has gone mobile and livelink’s own mobile solutions involving REST API are somehow limited people use creative ways to get around that.Many times they get stuck because OT examples once in C# and now days in java as well don’t give them complete working ,hand holding examples using the world’s most used SOAP generator using SOAP UI

Why it is so I don’t know but it could perhaps be drain on OT resources, to make money for OT ECO system consultants and OT professional services but in many cases a frustrated developer is not what OT wants. But wait a minute look at the support job that Web Reports / Active View offers.You post a thing and in two hrs you have answers even though some people not even doing their homework misuses.But what it has made is basically it has geared any new oncoming development to be done in its framework.  Successful software is only possible if there is a good educated programmers complementing the product.Enough said I use SOAPUI to test if the WSDL’s I deployed in an organizations web server works or not meaning see the WSDL on the browser is not enough you need to get a authentication token and do something in livelink to know if everything is working or not.So I use it to do small things and not any involved things.Some SAP/OT consultants have shown me a better SOAP tool that they use internally but I have forgotten its name.

Why this post?

People when they are in a bind do ask me or if I see something and  I have time I experiment.

Here’s an actual email thread that I am publishing so if some other poor soul is in the weeds it may sometime help that person.The email also contains some very simple workflow info which I feel most CWS programmers lack as they have not played really with livelink.Without further ado here it is names has been masked for ovbious reasons but everything else unedited.

 

 

Email qn to me

Hello Mr. Appu, 

Looking for a little help. I was searching on the web for an issue with workflowservices for CS10.

 

I have an issue updating the formdata value using the UpdateWorkitemData using SOAP UI. It gives me the error “Form not Found”.  Although I have the code working in Java, fine.

 

Please let me know if you faced such similar issues. OT support wasn’t helpful either.

 

My code below

 

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:urn=”urn:api.ecm.opentext.com” xmlns:urn1=”urn:WorkflowService.service.livelink.opentext.com” xmlns:urn2=”urn:Core.service.livelink.opentext.com“>

 

   <soapenv:Header>  

 REMOVED FOR CLARITY

</soapenv:Envelope>

 

Regards,

 

My Reply

Do you have access to the KB ,if so see this post of how I helped a person with a SoapUI call
https://knowledge.opentext.com/knowledge/cs.dll?func=ll&objId=35766457&objAction=viewincontainer&ShowReplyEntry=35843158#forum_topic_35843158if not have a look at the response I posted
http://www.tek-tips.com/viewthread.cfm?qid=1741405In any case I don’t do anything with SoapUI other than to test if the WSDL works and I can get authentication.

If you are positive the java code gets you what you want observe the SOAP packet and reverse engineer it for SOAPUI

SOAPUI does not support polymorphism that is the geek speak on this although I don’t really know what that all means.

OT SAP people use another SOAP generator but I have forgotten its name. I saw it about 4 yrs back as part of their archive server offering which they said is superior to SOAPUI.

 

Now in case you don’t really know about WF /forms etc what I advise people is this

  1. Only the “Workflow Manager” user/group people can update things. You can find that by painting the map in the GUI and looking at who is in its “Management” group or simply see if you can click on status of the map and its shows you the executing things.
  2. At the minimum the workflow should contain a template of the form you can see that also by looking at the workflow status object

 

If you are sure the form object is there and you can update it within the GUI then CWS code should work so long as it is written according to what the WSDL expects You may be able to get a little more detail if you put debug=2,wantlapilogs=true, wantlogs=true in that livelink server which receives the request

Always do the easiest first look at the workflow status object with the GUI.WF is one of the only things in livelink that as “SA” user like ‘Admin’ cannot see. only people in WF Mangers can see its internals.

 

Good luck.

 

 

Hi Reply Thanking me not many return any such thing so I was very happy.

Hi , 

Thanks a lot for your tip. I debugged the java code thru fiddler and found the XML  structure to be updated. I’m actually working with the SAP mobility project (outsourced to <name withdrawn>). They couldn’t use the  java or C# codes and needed REST API, which unfortunately is not available for workflow services.

 

Once again a humble thanks for your timely help.

 

 

Regards,

 

<name withdrawn>

 

 

 

 

 

 

Rate this:

appukili mobile, restapi, soapui, web services, workflows 1 Comment December 8, 2014October 3, 2016 5 Minutes

What is Enterprise Web Services a.k.a Content Web Services

****************************************** ***START UPDATE 10/3/2016*****************

LAPI and its client installer has become very hard to find. Moreover clients written in LAPI  in say Java/.NET will only work if your Livelink a.k.a Content Server is of version less than CS16.Readers who are new to LL programming is encouraged to read this to the approach and not to the exact lines of the code.What I mean is when you used to program in LAPI you were basically passing parameters to discrete calls by modelling it based on the webgui of livelink .SOAP based webservices called CWS is also the same,so if you do not try to do the task in the webgui and try to understand the business rules you will almost have no success in CWS too. OT is notorious for not putting fully functioning use cases and a walk through,so whenever possible I write code assuming the user has not worked in Livelink for X number of years and try to educate you all. Livelink,Content Server,Enterprise Server all of this has been Livelink’s marketing brand name changes over the years.CS i sused in many of the integrations like AGA, XECM, RMLINK  and you know you are programming against livelink if you see a link that looks like this  http(s)://somefriendlyURL/livelink.exe|cs.exe|llisapi.dll|cs.dll|livelink.In many places SAP/ SP /Exchange will be configured to talk to Archive Server and then they will use Livelink to read into archive server and turn that into LL objects for better presentment/RM and other aspects. The AGA product is moving away from LAPI(not sure totally or not) to REST API in LL.

**********************************************END UPDATE****************************

 

Many people seem to have understood my post  about LAPI 

The AGA (Sharepoint to Livelink Integration) product is the only officially supported OT product that seems to use old lapi binaries.Most of us have moved away for using it although when you are in a time crunch you can still use it.If you still want to use lapi make sure you are writing client code in java which takes care of most inconsistencies regarding 64/vs 32 bit J# problems.If you are a modern day .net buff see how old lapi can be run in new .net ways.

Back to CWS/EWS- Livelink is branded Content Server so it is no surprise that its API reflects that.The binaries that make up the wsdl is delivered without any additional installation  in the same file path as the livelink server is installed.So if you run your livelink in a IIS webserver,you just “expose” the  code from OT into a application.If you run your livelink in a Tomcat server then just dump the war file and TC will do the magic.The Web.Config in both he deployments make sure where it can talk to.For e.g in a livelink install if you see the Web.Config say localhost & 2099 when you call the beautiful code form your client it sends all that “stuff” into the livelink “server” listening on “localhost” and “2099”.None of this is hard coded and most livelink organizations will not use localhost resolution.And as a client api programmer you don’t need to worry too much.Ask for a webgui account before you start any livelink programming.It will keep you sane.What you are programming with a language is the same “business rules'” that livelink will throw to your code.Typical “new” programmer things like expecting category workspaces,enterprise workspaces to be 2004 & 2000 should be avoided the mistakes are very commonly seen in even vended applications.there are many livelinks in the world that do not have those ids.BTW like many others I also thought that to write java client code I had to have livelink running in a java app server.No I regularly now write .Net clients against a TC deployed WSAPI and java clients against a IIS deployed WSAPI. I also have written oscript based CWS things that is only needed when OT supplied stubs & proxies won’t cut a particular task.BTW when you install Records management,Physical Objects,Classifications they all deploy their CWS API.As your administrator to deploy that if you wanted to do programming against those functionalities . I advocate bundling  everything under one website it makes the admin’s life easier well they are unsupported by OT but I do it anyway

Once you are prepared to first write your lines of code you may want to understand what you are doing.

  1. Livelink is a protected/authenticated DMS application so it will check if you have a valid account and if you have permissions to a particular object. BTW OpenText is the company making these products as far as I know there is not a product(binary) in that name.many consultants I have worked with refers to “we have given stuff to OpenText” which ain’t happening because there is  nothing called that you can hand it to” In webgui the authentication is achieved primarily by putting a userid and password,almost nobody uses this method now or by a authentication service.In most companies if the application is IIS served that means you will almost for certain be vetted by IWA.  Unfortunately OT does not provide samples ,I have written things and many others have done it too.   nobody But ultimately your code has to pass a webserver and pass into the application layer
  2. OT markets a TC (java stack) application called OTDS .It is some very simple java code that interacts with livelink,active directory or other LDAP sources .It relies on your call being passed off to a OTDS server which uses industry standard methods to create a auth token.In many simple installs it is akin to the cookie that is given to your browser after login.OT provides samples using that.It also will be mandatory in several OT installs which are primarily not a DMS.Like SAP integration,AGA integration and so on.You now have “kewl” tools like Fiddler,Wireshark etc to debug many things
  3. If you  have a authentication token half the battle is one,you can now try simple things like adding folders,documents,applying categories to etc when you stumble simply bring up the web ui browser and see what you are trying is possible in “that” livelink.Because code you may have got working in another project may not because every livelink install can define its business rules differently 🙂
  4. These conditions can be tested in a matter of minutes by using  SOAPUI  .Once you have gotten in with a auth token and accessed enterprise workspace or perosnal workspaces,then switch to a java client ide or a .net ide . SOAPUI can only be used for certain aspect,things will get extremely complex when you encounter category/attribute data structures(funny the push to get away from llvalue data structures in lapi is still there albeit using data structures like AttributeGroups) so soapui will not cut it.

Other Buzzwords you may hear in a Livelink based project

  • REST API. OT has been forced by the programming world to have a REST API implementation available in kick butt livelink installs.Note every call with a REST API is akin to you accessing livelink via a browser so save yourself some head ache by not designing bulk loader things with it.You may want to show off your livelink in a mobile application.BTW I think AppWorks is the marketing hype name for that.
  • Search API-when you are in a livelink session and type a search term it is the Search API that is working for you.You can create cool search based apps with it.For heaven sake resist the temptation to write lapi or CWS code for livelink search it ain’t very easy and it si convoluted.
  • ELS API- It is the wrapper connecting Livelink and archive server .The definition is not technically correct.If you wanted a SAP system to use Records management or Business Work Spaces you would put this middle ware called (old name RCS). This is a solution… means utimately you will have to pay people who know SAP Basis configuartion & Functional  , Livelink configuration and Archive server configuration.Recently a guy asked me about CMIS  . I looked at it and I told him to concentrate on the 3 aspects and he figured it out note that CMIS is a industry protocol  and ot uses that in a ELS API layer for some objective I know not. Most solutions you will hear terms like Archive Link ,RM Link,ECM Link 

Happy Livelink API or CWS or EWS programming

Rate this:

appukili LAPI, livelink records management, Sharepoint Livelink integration, sso, web services 1 Comment October 18, 2014October 3, 2016 6 Minutes

So You want to Change Categories/Attributes of a Object in livelink via CWS ?

****************************************** ***START UPDATE 10/3/2016*****************

LAPI and its client installer has become very hard to find. Moreover clients written in LAPI  in say Java/.NET will only work if your Livelink a.k.a Content Server is of version less than CS16.Readers who are new to LL programming is encouraged to read this to the approach and not to the exact lines of the code.What I mean is when you used to program in LAPI you were basically passing parameters to discrete calls by modelling it based on the webgui of livelink .SOAP based webservices called CWS is also the same,so if you do not try to do the task in the webgui and try to understand the business rules you will almost have no success in CWS too. OT is notorious for not putting fully functioning use cases and a walk through,so whenever possible I write code assuming the user has not worked in Livelink for X number of years and try to educate you all. Livelink,Content Server,Enterprise Server all of this has been Livelink’s marketing brand name changes over the years.CS i sused in many of the integrations like AGA, XECM, RMLINK  and you know you are programming against livelink if you see a link that looks like this  http(s)://somefriendlyURL/livelink.exe|cs.exe|llisapi.dll|cs.dll|livelink.In many places SAP/ SP /Exchange will be configured to talk to Archive Server and then they will use Livelink to read into archive server and turn that into LL objects for better presentment/RM and other aspects. The AGA product is moving away from LAPI(not sure totally or not) to REST API in LL.

**********************************************END UPDATE****************************

UPDATE 6/30/2016

Pls let me know if you can see this link this is a word document in my google drive
https://drive.google.com/file/d/0B5nwgBm7a2iwSkFDbjN2eEs1MDQ/view?usp=sharing
This second link is the C# file to the above word document
https://drive.google.com/file/d/0B5nwgBm7a2iwaFJ3Q0g2cmVoQzQ/view?usp=sharing

If people want the link they just have to requeest it from a google account it says.Free hosting sites spam me so much.
I say on the word document that you have to have a small idea of what you are doing Try doing it though the GUI to understand
Generic code can be written but since I am doing this pro bono I put the onus on the reader to understand the flow.It is repurposed from the KB code thatshows category and attributes

***************************************************************************

 

UPDATE 1/25/2015-I LOST ALL CONTENT WHICH WAS STORED IN COMMUNITIES.OPENTEXT.COM.IF YOU ARE A STARTER READING THIS AND WOULD LIKE TO SEE THE ORIGINAL CONTENT DEPENDING ON TIME I HAVE I CAN SEND YOU SNIPPETS.LEAVE A COMMENT TO SUCH EFFECT.

***************************************************************************

I have seen the new tutorials in livelink web services. It shows you to create a category and apply it all in one session.Several friends and people who are tasked with doing that would ask me sometimes whether one needs to create a category to use it?No in most livelink places Category Creation is a System Admin Chore.Further the categories play a direct role with the regions in the search engine infrastructure.So if one million objects had one million categories that livelink’s search regions page is never going to show.So when a tutorial from the Vendor incorrectly shows creation of the category right before using it it is tantamount to misleading on coming developers.I hope and stress that the OT tutorial would say something to that effect.Just take the tutorial as it is possible to create a category object in livelink.Further almost all programmers who are hired would be asked to change existing values in a a document or a folder.I had written a simple C# code that iterates over the categories and shows the node (Broken link to a OT livelink system I have made the link go to my google drive)properties as console echo statements almost in true oscript fashion.With some work to it was able to use that with the published samples form OT to change a StringValue.

I strongly urge readers/consumers to test this properly since it has almost been not tested nor do I intend to use it when somebody asks me to use it.It was written purely for self education.

The Code Bundle-A word Document,C# code and its app.config

(Broken link to a OT livelink system I have made the link go to my google drive)

There apparently looks like a lot of code but if you have the C# debugger and a little bit of time to yourself you should be able to crack it.Also this was the first code I wrote without bringing up builder and truly using livelink GUI and my upcoming knowledge of C# and its debugger.It is all good stuff makes it easier I think to code.

Having come from the LAPI world progressing my way into Oscript I think that CWS/EWS is a right step in integration of livelink with other systems.It is actually made programming much easier.I wish that OT would actually post samples that are relevant to a integrator’s job.

Subsequently many people have asked about manipulating SETS,I say use SETS only very rarely as it only has a good GUI.It is very difficult to write reports on.A SET is an entire Category inside another Category. I wrote a reply having used this in Oscript.Here’s a very Quick and Dirty Sample

 

Rate this:

appukili LAPI, web services 6 Comments April 16, 2014October 3, 2016 4 Minutes

Amazing Form Product (Mind Blowing)

Anybody who has worked with traditional HTML forms/PDF Forms know how cumbersome its making is in livelink. That is because the form template is rigorously tied to livelink code .The WF /Form developer sits in front of livelink many time not knowing it is submitting to a livelink RH(all those hiddens you should not touch).The submitted POST data is parsed by livelink code to do all the crazy things you want or your manager wants you to deliver to a customer requirement. There is a frantic look for help in this and after perusing the KB for a lot of stuff one finds something and basically in about a week’s time one is able to write something that works. Then comes the big questions like it all looks very kind of unaesthetic. So lo and behold some kind of WYSIWYG editor is employed and lots of colors aesthetics applies and then TONS of java script errors on views….The smart cookies will figure out the JS errors and proceed but all done it is a good effort to do anything with it. In fact most of the Best Practices you will find about editing form templates/forms/views were even taken verbatim from old discussions are findings I posted when I was developing forms etc for my wf /form project years and years ago and they still hold good. The world has gone to WYSIWYG and nobody hires programmers for doing html/JS etc .While OT has their own version of WYSIWYG editor kind of forms (eForms) or something like that it is also not very that easy or intuitive .At least for me when I tried it several years ago so take that with a pinch of salt.

Now compare that to Patrick Vitali’s Product. It is an amazing, jaw dropping revelation to how one uses livelink and its forms capability .I do not work for him nor do I get remunerated for this but a good friend. I also make it a point to reward good things without expecting anything in return. Mind Blowing that is the real word that comes.

http://www.answermodules.com/30-minutes-application/

 

I hope upcoming livelink wf /forms projects get a taste of this product soonJ

 

Rate this:

appukili workflows Leave a comment April 11, 2014April 11, 2014 2 Minutes

Transporting Objects with Livelink

Update:10/22/2014

Me and my colleagues recently used this framework for transporting a custom subtype that we designed.We were helped by a kind OT developer All in all it saved our administration team from running XMLEXPORTS and XMLIMPORTS but the key factor is that needs to work for the transport code to work.

Update ends…

Recently OT announced a “Transport” mechanism. Users working in SAP etc are familiar with such a mechanism as changes to a baseline system are marked as configuration changes and ported to other systems.While I am oversimplifying this in a SAP deployment since so many code modules have to be configured it is impossible for an admin to remember what all has to be changed hence they decided at least 20 yrs back an enterprise program needs a transporting strategy as well.

Now lets look at how livelink gets deployed in an org. Mostly Livelink is deployed to address a document management pain/problem.Some consultants or a admin/developer who gets trained in livelink or somebody who has some documentation starts to install/configure this.assuming the person(s) have some common sense and tickets later it is working.Actually the first time install guide is very nicely written and it is mostly a “next” “next” kind of install.

Having configured it the person/persons start modelling the solution.It may involve setting up folders,categories for collecting metadata,classifications for alternative taxonomies,RM classifications ,Permissions(ACL) etc. OT and a lot of ecosystem partners take the money to sometimes set it up.You can make it complicated or simple.

Ok now that it is past the POC phase the next phase is the perhaps a TEST a more formalized place.Now comes the first shock how do I not necessarily duplicate all the work I did on a lower system.Fortunately while there was no advanced GUI or “Transport Bench” mechanism many of these building blocks can easily be transferred by XML IN/OUT operations.Smarter modules such as Classifications/RM anticipated the need for this so they did make their own transport mechanism well ahead of OT. But almost everything one could accomplish in a poor man’s methods

Now in controlled industries like Pharma etc this manual stuff was sheer heresy so companies like Global Cents made excellent products

So why the Transport now. My theory is the entry of integrations between SAP and Livelink.In fact the web services also was something my thought SAP forced OT’s hands.Many SAP customers are now getting a facelift with livelink doing a lot of backend services,pretty gui’s etc.

Here’s an interesting fictitious exchange between different players in a Integration meeting this is circa 2010,2011

SAP Basis Admin-Here we got the xECM thingy and archive server thingy going with OpenText (Notice OT in that because there is no product called that),I sthere anything else you guys need and can I close the client.

OT Consultant- Oh sure but on the next client you have to give me high access to edit the connections,change a few GUID’s(dataids) etc.

SAP Basis Admin-What the …..That means you have to do all this again

OT Consultant-Not everything just a few tweaks and pointing to the livelink admin..Hey Kishore where are we  on the next OT system. Have the ELIB items(categories and folder looking things) coming along

Livelink Admin-I did that according to documentation.

OT Consultant- How about the dataids did you run the queries I gave you for the re-mapping

Livelink Admin-Yeah everything is there

SAP Basis Admin-All the while thinking that what are these guys talking about re-configure every system.I have about 20 different clients I have to maintain.

OT Consultant-Just to prop up the SAP guy,well you know our guys in Germany are coming up with a Transport mechanism just like yours…

Well finally after a lot of back and forths the project is a success

If it is just a DMS project a lot of us have no problem using the old methods.

I am pretty sure the transport mechanism  is a GUI version of  XML Export/XMl Import.

The reason why I wrote this is recently a friend asked if he would be lucky in a project that would not have Object Importer(OI)/Object Exporter(OE) and its RM variations.

I told him this

OI/OE can be leased from OT for a price .They used to entertain that.

With XMLEXPORT/XMLIMPORT here are a few things you would run into.

  1. XMLEXPORT is almost available universally but the reverse is not true universally.

. So if one exported PhysObjects the corresponding import will fail.

  1. XMLEXPORT will choke on big documents and the number of nodes because of DOM parser limitations. In OE they bundle the file separately so they can get more throughput even though the code invokes a DOM parser there as well.
  2. XMLEXPORT/XMLIMPORT is based on source dataids which is not going to match targets. So if you find the xml exported file and change the category id’s to match the target it will work.
  3. XMLEXPORT/XMLIMPORT does not understand the hierarchy. For e.g OI will create nodes as it wants enterprise:folder1:::::::::;;;folder99. In XMLEXPORT import you would have to export and follow the reverse process. So if a child object is nested way into a path OI will handle it XML import you will have to handle it
  4. Most people will use XMLEXPORT/XMLIMPORT with lapi code so they can manage a lot of things with code in java or a .net lang

Now that GUIDS are part of 10 and 10.5 I do not know how that affects anything

OI/OE is kind of a framework .So with that I was able to transport compound email,email folder and email in a project with relatively less coding.

Readers-Please tell me if the Tranport Bench from OT is good and easy to use and it resolves conflicts et al and I will delete my post.

Rate this:

appukili content server records management, impersonation, java livelink, LAPI, Livelink as store, livelink records management, Sharepoint Livelink integration, single sign on, sso, workflows Leave a comment February 7, 2014October 22, 2014 4 Minutes

Important Free Developer Links

UPDATE 1/25/2015-I LOST ALL CONTENT WHICH WAS STORED IN COMMUNITIES.OPENTEXT.COM.IF YOU ARE A STARTER READING THIS AND WOULD LIKE TO SEE THE ORIGINAL CONTENT DEPENDING ON TIME I HAVE I CAN SEND YOU SNIPPETS.LEAVE A COMMENT TO SUCH EFFECT.

has been retired.The Developer area now is DEVELOPER.OPENTEXT.COM (Requires a Self  Registration based account)

 

 

Nothing much but since OT (Livelink) material is not free to come by severely restricted by licensing/protectionism et al

Communities was a livelink site OT maintained free to users who registered

Oscript Questions and many many examples

Web Services

Livelink Search API -When you install livelink you are getting the beautiful Restful API free Of course

The now out of favor LAPI

Most OT programmers who are in this business for some time have accounts to Livelink’s Knowledge base and it is fun

believe me.I just published these so that starting developers have some material if they are self taught.

Rate this:

appukili java livelink, LAPI, Livelink as store, livelink records management 2 Comments August 22, 2013January 25, 2016 1 Minute

Is there a RecordsManagement_Service Object present in Web Service?

RECMAN

****************************************** ***START UPDATE 10/3/2016*****************

LAPI and its client installer has become very hard to find. Moreover clients written in LAPI  in say Java/.NET will only work if your Livelink a.k.a Content Server is of version less than CS16.Readers who are new to LL programming is encouraged to read this to the approach and not to the exact lines of the code.What I mean is when you used to program in LAPI you were basically passing parameters to discrete calls by modelling it based on the webgui of livelink .SOAP based webservices called CWS is also the same,so if you do not try to do the task in the webgui and try to understand the business rules you will almost have no success in CWS too. OT is notorious for not putting fully functioning use cases and a walk through,so whenever possible I write code assuming the user has not worked in Livelink for X number of years and try to educate you all. Livelink,Content Server,Enterprise Server all of this has been Livelink’s marketing brand name changes over the years.CS i sused in many of the integrations like AGA, XECM, RMLINK  and you know you are programming against livelink if you see a link that looks like this  http(s)://somefriendlyURL/livelink.exe|cs.exe|llisapi.dll|cs.dll|livelink.In many places SAP/ SP /Exchange will be configured to talk to Archive Server and then they will use Livelink to read into archive server and turn that into LL objects for better presentment/RM and other aspects. The AGA product is moving away from LAPI(not sure totally or not) to REST API in LL.

**********************************************END UPDATE****************************

In this the poster is asking whether this service exists.I have noticed very few good code examples in java and webservices for livelink so this is just an attempt to help.

  • Setup of my file for java webservices client development
  • The Raw Java File which I called LLRMTRYONE.java
  • Instead of 3 applications to deploy CWS, then RM & PO my easy approach so its Web.Config

What I am trying to show the user is I have deployed my webservices in IIS  but I am writing client code in java

This link was very helpful in my endeavor

http://stackoverflow.com/questions/3588616/java-webservice-client-best-way

Common Sense tidbits

  1. CWS/EWS is a bunch of files ending in.svc.It takes less than 10 mins to expose a webservice in IIS.Probably the same amount of time in Tomcat
  2. If livelink has Records Management module and Physical Objects module then the installer will lay the svc files in the same hierarchy as the CWS/EWS
  3. Exposing the CWS/EWS will not have code for RM or PO you have to separately expose them or merge them as I do.
  4. The exposed web service should talk to a livelink server on its lapi port.Web services and livelink servers can be on two machines but it is easier to test and maintain if they are the same.The web.Config will have localhost and 2099  which means the webservices will call a livelink server using that.Now you can install livelink to listen to any free port it is just that most people would leave defaults.
  5. When using java make sure you understand classpaths and the jax-ws mumbo jumbo really well,in .NET it is very easy to do things
  6. Once webservices are deployed either in IIS or Tomcat you can mix and match client code.You could write a .NET client to talk to the Tomcat web service or as in my example you can use a java client to talk to IIS deployed web service.
  7. Rather than thinking that livelink client programming can be done entirely by reading javadocs ask the organization for a livelink web account and understand that the api’s are  just making use of the livelink business rules .So 9 times out of 10 you could understand the parameters by watching how a create request,update request etc happens.An org can severely change the way livelink works,its add screens etc so you need a good understanding of how livelink is used in your organization.
  8. Content Server is livelink.There is no escaping that.Old wine in new bottle.I say that in a positive way as the oscript engine is much better.Any day better for DMS & RM & PO activities.Very strong architecture from ground up

Rate this:

appukili livelink records management 1 Comment June 30, 2013October 6, 2016 3 Minutes

Posts navigation

Older posts

I have Other Things as Well

USEFULLNESS

  • 129,930 hits

Category Cloud

content server content server permissions content server privileges content server records management content server taxonomy content server upgrade content server web forms content server web form views content server workflow cs UI eventscripting impersonation java livelink LAPI livelink Livelink as store livelink forms livelink form views livelink permissions livelink records management livelink taxonomy livelink web forms restapi Sharepoint Livelink integration single sign on soapui sso Uncategorized web services workflows

Recent Comments

appukili on Agents Agents Everywhere
Raja on Agents Agents Everywhere
Take Some REST… on Code Demonstration Pages
Z on AddressBook
appukili on AddressBook
Create a free website or blog at WordPress.com.
Appukili's Weblog
Blog at WordPress.com.
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Follow Following
    • Appukili's Weblog
    • Join 29 other followers
    • Already have a WordPress.com account? Log in now.
    • Appukili's Weblog
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...