Using the New Storage Rules Wizard on a LES9.7.1

Friday April 24, 2009

Using the New Storage Rules Wizard on a LES9.7.1

Posted by anair@alitek.com on 04/24/2009 08:57 AM
My rating:(1 rating )
Using the New Storage Rules Wizard on a LES9.7.1Recently I was playing with LEA as an alternate storage provider.So the storage provider rules dawned on me and I saw a rule that looks like this Attribute ‘?’ Value is ‘?’.I looked at how one would go about it and the help had nothing.I asked OT support who added me to a ticket and said they would let me know in a patch later.So I just asked around other friends etc who did not know either.But John Simon my good friend from COP asked me this “so did they ever tell you what to put in?  Or have they decided it is bugged and you can’t put anything in to make it work?”That challenged me so I decided to look at what the  code was doing or how one would do this.Without further ado here’s one way that works.My category name is called ‘CoreCatAtts’

My attribute Name is called ToStoreWhere its index is 4.This is to deliberately mislead you.

So the Attribute Spec has to be written like this

CoreCatAtts[1].ToStoreWhere[1] picture of the rule will make it more worthwhile to the reader

llisapi.dll

For Developers who want to see what all that means

The way you are supposed to use it is like that

CategoryName[1].AttributeName[1]

Don’t be tempted by putting the attribute index it is figuring that from the name.

the number 1 after category name specifies the Root Set

and the number 1 after attribute name says the row where it is found(they have generic function for row number to handle MVA)

{{3762.2},{1,1.4,1}} that is what they are making it do

what it means is find the category with defid 3762 and version 2

and the Root Set 1,Row 1,ID and first value of that ID

So in oscript if I wanted to find the value of attribute (ID=4) at its 4 th row

will be like this {{3762.2},{1,1.4,4}}

Try it out and see if that works for you 🙂

Advertisements

The Perils of Using Default Access List

Thursday November 12, 2009

The Perils of Using Default Access List

Posted by anair@alitek.com on 11/12/2009 01:22 PM Functions
My rating:
4 star overall rating. (1 rating )
The famous Default Access List that stays with every object in LES.Every now and then people get into all kinds of arguments on how to use a ACL effective for the organization.Recently as of today somebody had a 911 on it and my dear friend John Simon commented.I did and Jim Coursey wrote an exctensive good reply.I wanted to see if I had forgotten what I learned so I wrote this little document to help.Discussion Thread on thishttps://knowledge.opentext.com/knowledge/llisapi.dll/open/16960219Most experienced Livelink administrators understand ACL’s really well and are guided by Open Text or some other experienced persons in setting up a organizational security model .However when writing this we are in a severe economic downturn so most new people have no inkling on how livelink works,how security works and that sort.All they get is the standard OT training and I really don’t think they cover this at all.Most think of Scare Point as the ultimate and it is just a call to the SP admin who logs on clicks a link adds the AD group to the ACL and lo and behold you have a link where you can all communicate/ collaborate while the system is up and running.This is just written for upcoming people so that they understand what they can avoid.I got into this after a user started having qns on some stuff that RecMan poses and my good friend and mentor John Simon COP said something very straightforward.I added to the reply and Jim Coursey also contributed.The trouble is the default access list that Livelink provides out of the box is really geared for a system administrator who understands the livelink owner role.However in a roll out all these get really muddled and then you have a chaotic security model that nobody can ever comprehend. .I wrote an article to complement John’s KISS(Keep It Simple ,S*****)  method  it and hopefully somebody may find it useful.This has already been attempted at OT by another article but mine has some screen shots for the impatient 🙂
https://knowledge.opentext.com/knowledge/llisapi.dll?func=ll&objId=3498977&objAction=ArticleView

Please do let me know if this article has factual errors.I would not want to mislead anyone.So post why you think this is problematic and why you would like to give Owner a lot of unwanted perms.

Attachments:
Document Perils of using the high privs associated with Owner.docx (254 KB) Functions Download
Hide Recent Comments

Re The Perils of Using Default Access List – kenneth.huie@mantech.com  Wed Nov 18 11:04:09 2009
Appu,   This is a great write up!  I appreciate your document and the references you provided. You are so right, this is such a huge topic in that its impact is often not fully understood and the results of incorrect usage of the OWNER …
Attachments:
Document Access Control TIP.doc (23 KB) Functions Download

What Pray is Enterprise Library

Stuff from my old BLOG  ARCHIVED – Livelink Rocks– GlobalStar ECM Champ Appu

After I posted this when I look OT has basically introduced more java based code streams especially the module Directory Services is being offered in the realm of RCS.If and when I need to get into OTDS I will post my experiences

In a nut shell both livelink and archive server are not written in java.However in a situation where SAP has to export/import documents or make visible an archived document  which was done using the GOS capabilities of SAP perhaps with the intents of putting a Records Management classification  or maybe get people in SAP a collaborative workspace as in livelink this comes into play.The solution is referred as Extended ECM. For this to work the main plumbing is

SAP to Archive Server using ECMlink  (Archive link is still there I am not sure if they are one and the same)

Livelink to Archive server using Archive Storage provider

RCS(Run Time & Core Services) Lots and lots of helper java code to interact with livelink and archive server

For SAP code to create/declare objects within livelink they will send their requests to a high level wrapper.The wrapper has the code to create livelink type items,such as documents,folders etc.A enterprise library objects is nothing but a livelink object with a livelink category.From SAP and their consultants call it with a different name.Also in a ELS scenario all objects are created within a separate section(volume) like the Enterprise Data Source.Typically for integrating a SAP SID the livelink team uses RCS (the high level wrapper code on Tomcat). When an Application is created in livelink you will see a new data source  by that name.

As a programmer if you have RCS and livelink setup you can actually run code in any language using the examples provided by OT.Note this is not the same as Enterprise Web Services or Content web services that one writes to do something against livelink.

Tha actual ECM deployment is very/highly complicated so please make sure  you understand all the moving parts and players.

Getting ELS accepted will need some help

Posted by anair@alitek.com on 07/09/2010 12:04 PM Functions
My rating:
Unrated
OT has embraced ELS or Enterprise Library services as  a very cool paradigm for integrating perhaps disparate software systems.The main products in the mix are Livelink and Archive.Even though both products are OT many livelink admins including me would not necssarily know the Archive side(although I am much better at it it).The ELS install documentation is a gargantuan deal and clearly many people trying it out the first time may have a difficult time.I encourage people to ask around,keeping their inhibitions to themselves and usually will get help from the community.I answered a recent KB post on ELS and I published my cheat sheet on it as well.I enclose a link thinking that it may help a potential livelink or ELS admin some day.https://knowledge.opentext.com/knowledge/llisapi.dll?func=ll&objId=17841798&objAction=download

HTTPS with Webservices in Livelink

Contrary to stuff that I do this post is basically something I hacked together to make it work.I must have received at least 50 emails for several web services questions.In the absence of OT providing good easy to understand hand holding examples I offer these.If OT ‘s thinking is basically to code a web service a developer needs to take paid training all those things have come to pass.Almost every programming language snippets are available and so there is an expectation that the Vendor provides proper code samples.What I think they should start putting quality samples like what Jason is attempting &  conducting webinars .They could do several official things such as how to code when RCS is present, what is the difference between Enterprise Library Services & Livelink web services,How does the new OTDS come into authenticationg into livelink,What one should do and not do,many things the livelink programming community needs help on.This in my mind will ensure a good talent pool of programmers out there who would do things as OT intends to.

I naturally like to understand what I am doing unfortunately in this installment I have resorted to mostly ‘trial & error’

HTTPS and Livelink Web Services code

As we learned on our SSO attempt and livelink web services this time we start with this

Part 1

  1. Make VM IPv4 and disable IPv6 it should work for IPv6 provided you do the stuff in my previous blog.
  2. Make sure the IIS7 livelink webserver is functioning fine
  3. Make sure anonymous(livelink) authentication is fine  i.e.’ we can login as the powerful ‘Admin’ and the right password.
  4. Now with our baseline favorite Kyle Swidrowich’s piece of code start making it work without https
  5. We then make IIS HTTPS. Note you cannot make a webserver https commercially without shelling some money.HTTPS needs a certifying authority. For purposes of demonstration I will be using Microsoft’s self-signing certificate. Self-signing certificates are the same secure protocol other than the fact that a commercial company will not stand by it. Products such as archive server uses self-signing certs and OT bundles a signer program so I have used it many times to create closed loops between SAP ,livelink and archive server. For the completely uninitiated a secure transmission means only with the private key can you decipher the communication between the browser and the application so snooping with fiddler/wire shark etc. will give you a lot of garbled messages.
  6. So we manage to login as HTTP on that livelink

Again VC#, At this point this looks promising, Now add quickly DocumentManagemnt.svc and ContentService.svc as well Try Kyle’s code and make it work for HTTPS .Perfect everything works we added the document

Part 2

Making IIS HTTPS

I used this site and followed that

see how simple it was for me a non MS/IIS person to figure this out that is what we sadly lack with OT.

BTW word press cannot do embedded images from my word document.I have the word document replete with screen caps in communities.

And this Now for good measure we need to remove http

If you remember a posting I made and Guy Pomerleaux commented if you have http and https running and OT web services code  is accessed you don’t really know you are talking https unless you do this. To keep it simple my livelink is now HTTPs Web GUI or web services. Perhaps if you leave a http listening port this would make your coding easier, but since I am doubtful which protocol will be used I resort to this.My builder program reports HTTPS=on that tells me everything is SSL.

We say yes to the IE warning and proceed to our newly created Livelink website which is now on HTTPS

We have cert errors even after we import the cert to keep IE happy

But I guess it will complain until I paid VeriSign or Thawte some money Perhaps readers can pool some money and buy me a certificate J for all practical purposes I am https

When I try to change my web service references we get this

I say yes

I got this and plenty of yellow looking errors at the livelink web services server when I tried to call the web service. Too many to list and too unknowing to comment on the mumbo jumbo.Essentially at this point I am trying on the server to get this service created.

https://appuw2k8vm/les-services/Authentication.svc

Several errors ensued which I basically got around by removing all traces of places I thought was written for HTTP stuff.

So I remembered form my 9.7.1 that there is some SSL binding stuff we have to do on the web services on the server. So we make a copy of the Web.Config and try it.

Mostly if you remove everything that did not contain SSL and enable the SSL stuff it should work.

Also could not establish trust relationship means you have to install the certificate into the trusted certificate store

A working Web.Config you can find a working app.config you can also find. I am not able to explain the mumbo jumbo as it is mostly trial and error. I hope if any OT knowledgeable people read this they would conduct a webinar on how to do this.

Link 1 The above article replete with screen caps as a word doc

Link 2 The Web.Config that goes on the web services install that works for me 

Link 3 The App.Config from my C# application

To jQuery or Not to Jquery

(ODD results is SAP ,EVEN is CS)

Recently a poster facing problems with how xECM and Livelink manages content posed this question.He basically wants some results excluded when a search is performed.The correct implementation of this is by permissions.The poster wants to use appearances and cheap gimmicks like that .I also do not really know a lot of advanced html so when I hear people rave about jQuery and its infinite possibilities I am  usually thinking wow I could never understand those.Note any self respecting programmer will be able to trace the weblingo of my implementation to a file in the livelink directory  Here’s the question posed by the poster in KB RE How to restrict Function Menu in search result?

Now a fair amount of warning as advertisers put in Advertisements .Professional do not attempt this at a live livelink installation. You need to really use htmlmap, overrideutils or customizations_RT before attempting this.But here’s the  jist of what I am doing

For some context I am considering every odd row of my results to be coming from SAP and evens to be “showable with the function menu”. So if we look at the source of the document of the  searchresults in a 9.7.1 livelink I see this the ‘x5’ is the dead giveaway in this case.Since I mess with oScript all the time I can see that count going x1,x3,x5,x7 etc…..

<A HREF=”javascript:(0)” ONCLICK=”javascript:setSectionName(”);showFunctionMenu2(‘nextURL=%2Flivelink%2Fllisapi%2Edll%3Ffunc%3Dsrch%2ESearchCache%26cacheId%3D1125829432’, 5, event, ”, ‘?func=SearchResultsFunctionMenu&amp;hitID=5&amp;searchCacheID=1125829432&amp;version=0&amp;dataID=62740&amp;HH=false&amp;subtype=264’ );setSectionName(”);return false”><IMG SRC=”/img/actions.gif” ID=”x5″ BORDER=”0″ ALT=”Functions” ></A>

Now that we have done our research we need to see if we have JQuery in livelink. In short of time and doing this not for money and interest only in this I googled and downloaded

jquery-1.8.2.min.js and then I found this file called resultlist2.html. It is my livelink on a VM and I have a snapshot thing so I am doing in place editing(Tsk Tsk Do Not Ever Do It)

Now I put where OT has a js file .My oscript tells me that that is the webnode support directory

<SCRIPT TYPE=”text/javascript” SRC=”`webNodeImgPrefix`browsecorermenu.js” LANGUAGE=”javascript”></SCRIPT>
<SCRIPT TYPE=”text/javascript” SRC=”`webNodeImgPrefix`jquery-1.8.2.min.js” LANGUAGE=”javascript”></SCRIPT>

Now to see if everything works we need some tests

so from the web lots of excellent samples I put these together

<script>
$(document).ready(function(){
$(“p”).click(function(){
$(this).hide();
});
});
</script>

<script>
$(document).ready(function(){
$(“TR”).click(function()
{
$(“#x1”).hide();
$(“#x3”).hide();
$(“#x5”).hide();
$(“#x7”).hide();
}

);
});
</script>

<script>
$(document).ready(function(){
$(“a”).click(function(){
$(this).hide();
});
});
</script>

This is like a recipe in a cookery show.I must have spent close to 3 hrs twiddling with what I am doing.Note I would have been able to do this in oscript much faster but that was not my intention.I wanted to learn Jquery so that is why this looks weird if there are a some oscripters going  “that appu he is really going down the edge….”

Now when I restart my livelink and conduct a search all my ODD results don’t have any function menu.Here’s when the page loads first

Full Results

Now when I click that is I have a event that says when the <TR> area is clicked that is when my event fires

What remains maybe do it for real when it is called for remove the hard code and put a real counter,maybe make it work without the <TR> click event….

I am sure the poster gets some kind of header variable like MYSAPSSO2 in livelink so some keying off that and implementing the business rules could be thought off

This is great Long Live JQuery….