Recently I saw a post in OT Forum that caught my eye https://forums.opentext.com/forums/discussion/comment/935976#Comment_935976 What prompted me to write this is because the OT experts also advised using some other mechanisms (XML WF Extensions and use of WR). Now, normally I like to code as well as any other user in Livelink a.k.a Content Server so why this post is because I remember when OT announced the Item Handler and Item Reference(yes they are different) several years ago I believe when Tammy Jakubowski(now GCI) was the WF Product Manager at OpenText.It was downright confusing but did it work in complicated situation boy it did. So I also asked the same questions why would you need WF Attributes and Form attributes in the workflow because they both do the same thing. But this user kept telling me that Business Workspaces apparently has a WF Step that creates BWS’s and it would only work with WF Attributes and they didn’t want their users to see the WF Interface
I replied with a simple OOB implementation where I used a simple throwaway hardcoded documents inside my WF Attachments map and using two Item Handlers Copied what a user entered in a Form Value to a Category to the throwaway Object and using a second step copied that Category Values onto a WF Attribute.
BTW this is kind of a cookery show kind where they put the main course in the oven and take another finished one .I did not accomplish any of this in one day it took a lot of homework and trial runs.I read the case studies by the great Rob Coutts many times over.
For sanity we decided to use a new box for CS10.5
Created a CS10.5 system added all the modules that we needed and connected to a dummy database and dummy EFS. Just for kicks we added some that did not exist in 971 like classifications and recman(forward thinking).Rudimentary checks to ascertain base functionality.Note all hot fixes ,patches relevant were also put.
Cloned this server to 3 others for Front Ends and Agents.Just architectural things as after the LL installer creates the services just copy the OTHOME over ,give it distinct names etc.Sometimes if your copies are done with IIS and or any of livelink services running sometime corrupt dll copies end up so make sure you follow proper protocol.In most cases you do not need to run the optional modules installer on your 2nd to n CS servers.Most livelink needed dll’s oscript code will try to push it to windows systems folders on startup every time.
Saved this and copied it as backups.
It is worth verifying the DB type requirements for 10.5 for e,g your 971 DB might have been 11.2.0,2 but Cs10.5 need 22.214.171.124.these are database chores that your DBA should know. Always give lots of oracle memory like SGA etc .OT has a tech article on how it is to be done.
Connected the binary to the prepped up 971 database.one of the first screens was the 971 box for Admin server,changed it to the new box .
Wanted re-starts it is a good sign.One thing I do is since I know the DB Upgrade is done by a single thread I made the threads 8 on it.If you have lots of threads they indirectly add to the Oracle load.I also do my upgrades with debug=2 and wantlogs=true.It is almost impossible to live without BareTail or a good ASCII Editor.
The other threads on it will just produce a warning message that the “upgrade is in progress”.
Once the upgrade starts you should see the thread<nn>.out file issue oscript commands and its corresponding connect<nn>.out doing DB work.Your heart will rejoice if you have them on baretail 🙂 In my case a core upgrade will move my 971 schema(6.0.8) to CS10.5 (6.2.58).If it does that it is a successful upgrade. Times will vary depending on data and content and horsepower of your DB.Do not try to run arithmetic on the numbers does not mean continuous although looking at the db upgrade log one can see the steps.The places it breaks clues OT and even if you know Oscript you can chase a lot f them.In my case it was let’s say a very smooth upgrade.
Since we had optional modules after the core upgrade all optional module schemas were introduced or upgraded.You should see it in bold letters in the pre upgrade page. “Your Content Server schema will Upgrade from <nn> to <nn>”.Classifications module will be introduced,Recman would be introduced(New things), ADN will upgrade from <nn> to <nn> .BTW I had to downgrade A D N to a lower one because the latest and greatest won’t cleanly co operate with the upgrade.You will not notice the difficulty if your database is new.
The reason why OT says to upgrade OPT modules after core upgrade is it is easier for them to pinpoint the failure.
The way livelink code works every time you re-start is it will read Opentext.ini and one of the first modules that loads is the DBWIZAPI .It will first try to ascertain whether core schema is what the binary says its is otherwise it will force a DB Upgrade.Before releasing the software to listen to request on 2099(suggested default),it will enumerate the module section ini to the schema section INI. So if one box had a schema aware module such as form and its INI said 2.0.4 and this box’s form module said 2.0.3 it will trigger the familiar error “You have blah blah in database but blah blah module is lower/higher”.That is the whole reason why experienced people and nowadays OT says get one server(Anchor) done correctly and clone that on other boxes.So whether you install opt modules after or before livelink code always checks this every time you re-start.
The Admin Service left running on any box is no problem.It contains java code to talk to the search server.Also memcached is dependent on Admin Service.I don’t really know what cluster agent does but it is OT’s answer to smart patching.Once you resister a Admin server to the database that is when the box can be used for certain things like augmenting search.
We had to create a search as advised by OT so that items would come out indexed faster.I am always amazed at the search code but unfortunately one cannot see it completely as Oscript just talks to the java code.Perhaps if I had time and code was de compilable( I seriously doubt it,I have a feeling java is talking to C++ compiled code internally,how else would it scale so well).To have people always complain about search ….
I installed all our custom modules created clones of this and called it many different roles and we were pleasantly done
The rest was mainly releasing it to customers to test have their suggestions and voila…
Forms as the name implies is a object where you can capture input and store them in livelink . The exact methods are only going to serve as what you design your forms to be.I wrote this because a user was asking about this in the KB
Main Attributes: Forms can be made to work only by installing the “Forms Module”,which in turn will give you a Form Template sub type(230). This serves as the straw man for your data requirements.
Installation of WEB FORMS will give you HTML form capability like wise if you install PDF Forms it will give you that capability.
Almost all organizations will need data in forms to be reported so use SQL as storage.If you keep it at default it could go as version files which is not parsable by a SQL tool nor will it have header info(you won’t know which field is which). Users using the Transmittal product usually get bitten by the fact that most of the work in transmittals revolve around forms and if you don’t make it SQL storage you will never be able to report on it.Actually on my first project installing transmittals I bungled and then I looked under the covers to understand it.Even now there is no mention in any guide saying change forms to SQL storage.A recent help to a
You can very greatly experience a users’ livelink workflow experience by chnaging the process to use FORMS while maintaining the business logic of the workflow
Advanced Topics in Forms/Workflows
This I put here and only if you know Oscript is this of any use