Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Content Management (Extended ECM)
API, SDK, REST and Web Services
Inheritance in Livelink...
Primavera_General_Account_(primav021_-_(deleted))
I am fairly new to Livelink development and have a basic development issue with regard to inheritance within livelink. i would greatly appreciate any ideas and solutions. How do I overwrite a functionality of a particular object ? e.g. assume i want to extend the execute script on the LL request handler ? i want to add an extra argument on the default browse of a webnode and pass it to the execute script.Obviously i dont want change the WEBNODE OSPACE because of upgradability issues. I would like to create a new module inherit the object and override the script. However the URL that livelink points to is still the WEBNODE request handler. I have to change all references of this to livelink.exe?func=MYNEWMODULE&arg1=""&arg2=""is there an easier way of doing this ? If I want to overwrite a feature in a core livelink object , what is the best of doing it ? create a new module, inherit everything and overwrite this object ? do i have to point to the new module for the changes to take effect ? is there a development guideline to creating/inheriting objects / ospaces that opentext recommends ? thanks...
Find more posts tagged with
Comments
John_Shoun
I would recommend that you attend the 3-day SDK course. During the course, you will actually create a new object type and define it's new behavior. Most of the features will be inherited from the parent.There is a 'cheap' way to do what you are describing that can be done without the builder (although it is a tremendous help when debugging). You can add any arguments you like to the URL and Livelink will pass them on through to the WebLingo code in the HTML templates. We used this add some options to the task list without requiring any ospace changes.
eLink User
Message from Hans Stoop via eLinkOf course you should first attend the SDK builder course, tounderstand what you are doing.I always follow the path specified below. If everbody does it thisway, different people can change the same standard Livelink function.I have attached the function ReplaceScript that you need for it.I can also send you the customizationsRT module from which the scriptis taken. Please let me know if yopu want the LL 8.1.5 version or theLL 9.0 version of the module. The LL 9 version also contain functionsto compile all OScript functions, weblingo files, removal ofbreakpoints, etc.This code is provided AS-IS. Use at your own risk.The way to do it is:For extending the function Execute of the object LLRequestHandler inthe ospace myOSpace, do the following: 1.Create an orphan of LLRequestHandler in your ospace. 2.Create a copy of the Execute function and call it executedpatched. 3.Edit the executed patched function 1.Rename the execute function to myOSpaceExecute. 2.To the top of the execute patched function add the folowingcode: function Dynamic Execute( Dynamic ctxIn, Dynamic ctxOut,Record r ) // Code you want to do before calling the originalfunction. // Call the original function. myOSpaceExecute( ctxIn, ctxOut, r) // Code you want to do after calling the originalfunction. return Undefined end 3.Compile the function function to check for any errors. 4.Change the type of the original execute feature to string. 5.Copy and paste the code of the new Execute function from executedpatched to execute. Don't copy the myOSpaceExecute function. 6.Add the script __init to the LLRequestHandler orphan. Run thebuildOSPace function of the globals object. The __init function willbe executed when Livelink is started. 7.Edit the __init function. Add the following code: function void __Init() Object superObject = OS.Parent(this) $CustomizationsRT.UtilsRT.ReplaceScript(superObject,'Execute', 'myOSpace', this.Execute) end 8.Restart Livelink to test that it works.Hans Stoop--------------Visit the Solution Catalog at
https://knowledge.opentext.com/knowledge/livelink.exe?func=ll&objId=2277625&objAction=browse&sort=nameConsultant
Partner Programs Europehstoop@opentext.com+31 23 5652333
http://www.opentext.com/>
; -----Original Message-----> From: knowledge@opentext.com> [mailto:knowledge@opentext.com]On Behalf Of> eLink Discussion: Development Discussion> Sent: woensdag 21 februari 2001 1:39> To: eLink Recipient> Subject: Inheritance in Livelink...>>> Inheritance in Livelink...> Posted by PRIMAV021 on 02/20/2001 07:37 PM>> I am fairly new to Livelink development and have a basic> development issue with regard to inheritance within> livelink. i would greatly appreciate any ideas and solutions.>> How do I overwrite a functionality of a particular object ?> e.g. assume i want to extend the execute script on the LL> request handler ? i want to add an extra argument on the> default browse of a webnode and pass it to the execute script.>> Obviously i dont want change the WEBNODE OSPACE because of> upgradability issues. I would like to create a new module> inherit the object and override the script. However the URL> that livelink points to is still the WEBNODE request> handler. I have to change all references of this to> livelink.exe?func=MYNEWMODULE&arg1=""&arg2=""> is there an easier way of doing this ?>> If I want to overwrite a feature in a core livelink object> , what is the best of doing it ? create a new module,> inherit everything and overwrite this object ? do i have to> point to the new module for the changes to take effect ?>> is there a development guideline to creating/inheriting> objects / ospaces that opentext recommends ?>> thanks...>>> [To reply to this thread, use your normal e-mail reply function.]>> ============================================================>> Discussion: Development Discussion>
https://knowledge.opentext.com/knowledge/livelink.exe?func=ll&objId=786303&objAction=viewLivelink
Server:
https://knowledge.opentext.com/knowledge/livelink.exe