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!

OpenText Builder - Ospace unlocking resulting in an error

Status
Not open for further replies.

alexsandro9

Programmer
Jul 13, 2013
20
IT
Hi experts,

just starting to develop something with Oscript and i'm having the very same unexpected behavior
that i found in this post here : and that i couldn't figure out how to avoid yet even with given suggestions.

In short after i created and installed my new ospace module on our development server, i can no
longer proceed since every time i try to unlock the newly created ospace (or even others already installed and developed)
the Debugger starts off with the 'A Wrong argument type was specified' error in the function LockUnlockOSpace() in the very same
point of the above post : if OS.IsFeature( OS.Root( spec ), "Startup") && ( Type( OS.Root( spec ).Startup ) == ScriptType)

spec is the string 'D:\\LL_Archieve\\Opentext\\module\\custmodwf_1_0_0\\ospace\\custmodwf.oll'
obj is #31000001 (unknown)

LockUnlockOSpace() is quite the same as in the other post :

function Void LockUnlockOSpace()

Boolean lockVal
Dynamic x
List data
String s

Boolean thisOSpace = False
Dynamic obj = .fObject


if $OSpaceTools.IsOSpace( obj )
obj = OS.Root( obj )
end

if OS.IsObject( obj )
data = OS.MapInfo( obj )

if data[ 3 ]
s = 'Lock'
lockVal = True
else
s = 'Unlock'
lockVal = False
end

if $DialogUtils.Confirm( Str.Format( '%1 OSpace %2?', s, Str.Upper( data[ 1 ] ) ) )
for x in Vis.gProgram().pWindows
if OS.IsObject( x.pContext ) && Str.CmpI( OS.Filename( x.pContext ), data[ 1 ] ) == 0
if x.pContext != this
Vis.Delete( x )
else
thisOSpace = True
end
end
end

string spec = OS.FileSpec( obj )

if thisOSpace
Vis.Delete( .window )
end

OS.CloseOSpace( spec )
OS.OpenOSpace( spec, True, lockVal )

// Run startup if it is there...
if OS.IsFeature( OS.Root( spec ), "Startup" ) && \ // XDBs have no startup feature
( Type( OS.Root( spec ).Startup ) == ScriptType )
OS.Root( spec ).Startup()
end

if !thisOSpace
.Post( 'UpdateOSpace', spec )
else
$BuilderProgram.Run()

$Browser.Create()
end
end
end

end




How can this be? Faulty server installation or anything i'm doing wrong?
Lack of permissions to unlock my own module (and others as well?)

I tried closing the Ospace and reopening it in unlocked mode with no luck.
I also tried implementing the external script WebModule.lxe as tipped in the
Developer's guide to automatically start my ospace in unlocked mode but still no luck.

Anything else i could try to solve this?

Thank you in advance for your time and preciuos help.

Best regards


Alexsandro
 
These are basically the simple common sense requirements a oscript developer will follow/has to follow

1)A Proper backup of the working livelink binaries.In most companies VM's are used hence it is a no brainer to go back to a working instance.
2)Knowledge to manually back out a module .
3)Rudimentary oscript skills so you will not open a space that OT ships with.Many core ospaces when opened compiles in memory and will cause problems.
4)Rudimentary oscript skills so that when you experiment you really are saving scripts that are compiled.Sometimes if your script has a error it will misbehave

as for CS10 builder the builder software is paired to work with the Update.So for e.g if you were working on CS10 Update 5,then your builder would be the same version as well.Old livelink did not insist on the requirement.

AFA your problem goes,one would basically back out your module manually.If you do not know how to manually back out please say,I will post a procedure.

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
 
Thank you for your prompt reply and help appnair.

I do agree with you about those common sense requirements.
As you guessed i'm new to oscript developing and just wanted to make
sure that it was not something i was doing wrong but that something was
not working properly in the system before backing out.

Speaking of which i'd definily appreciate your procedure for manual module backing out.
Thanks also for the pairing tip about CS10, working on 9.7.1 right now though.

In the worst case , if a back out of the module won't fix the situation a builder reinstall
would be enough or the whole Content Server has to be restored?


Thanks a lot

Regards




 
I lost a word document that had this info in a more friendlier way but hastily I have written something that you could try.Not sure if it will work for you or not :)

How does one back out a module that is misbehaving in livelink.
Livelink is a very simple file based development software.It needs a webserver,a database and then its software.

Assume you have a working livelink server and assume you put it in c:\opentext
under c:\opentext\config there is opentext.ini
under c:\opentext\scripts\<this is the location to put any useful scripts>
under c:\opentext\staging\<this is where when you stage a module before you use admin.installmodule >
under c:\opentext\modules\<this is where OT modules and your modules reside>
just look at other things in the tree and you will see it is nothing but a ordered way to read code.

when a user like you start developing and assume you did all the stuff ,Assume also for a moment that you did not develop anything that installs schema. These are the kind of modules that insist on every instance having the right module version. It is bad practice to develop modules like this so nowadays we all develop modules that add schema/update schema after install. You must have seen the error messages in a cluster “this has db info for forms but you don’t have the module blah blah blah…”

so if you look at your opentext.ini under the [Modules] section there is lots of info for all the available modules. When you hit start in windows for the
livelink service the main script called llweb_startup.lxe is used to read that opentext.ini. if you open it you can see that Compile statements. you will also see another one that is called webbuilder.lxe
it is installed when you install builder. Also llbuilder.exe gets put in bin and so on. Just wanted you to get a good feel of how all this is arrived so see this snippet

module_103=mysearch
ospaces_copsearch={'mysearch'}
mysearch=_10_0_0
module_104=mywebdav
ospaces_mywebdav={'mywebdav'}
mywebdav=_10_0_0

assume I find that mysearch has a problem a SDNR and I can't really figure out the problem how do I manually Backout the module I have tried everything form the GUI I know

so what I will do is I will make a backup of opentext.ini. Then using a ascii editor like notepad I will remove the 3 lines in which "mysearch" is present but that does not get you in this correctly. You have to manually re-number the listing so my "mywebdav" module gets 103 and so on. The module section when it starts out does not look ordered but that is the logic. Livelink will not load modules if the module list is having discontinuous numberings.

Then having done that I wills stop livelink/admin and or and then do it like this

module_103=mywebdav
ospaces_mywebdav={'mywebdav'}
mywebdav=_10_0_0

If yours were the last module you would really not have to re-number but I wanted you to know the loading
and the importance of the numbers in case you develop more and this time it is not the last one :)
Then I will physically cut the module out of the .\module and move it to staging or delete it.
When livelink starts up it would start minus that module. There are free scripts at the KB that says “Create a New Module”
This gives you a shrink wrapped module. Going by that old documentation unless you did everything right and were pretty good at debugging which starting developers are not it is a frustrating experience.That is why I recommend classroom training when possible.


This three lines could be explained like this
module_103=mywebdav
ospaces_mywebdav={'mywebdav'}
mywebdav=_10_0_0

I need to load a module called mywebdav, and I am to look for a module called mywebdav_10_0_0 and BTW re-compile the ospace called
mywebdav.

BTW there is no guarantee that doing this “un hoses” your install but it is probably worthwhile doing it to see if the module you added was the
Culprit.






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
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top