<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6673823125465842333</id><updated>2024-09-16T21:30:31.356-05:00</updated><category term="lapi"/><category term="performance"/><category term="Livelink Logs"/><category term="categories"/><category term="web reports"/><category term="Nonsense"/><category term="SQL"/><category term="search"/><category term="ADN"/><category term="Migration"/><category term="Object Importer"/><category term="XML"/><category term="admin"/><category term="attributes"/><category term="bugs"/><category term="physical objects"/><category term="workflows"/><title type='text'>LiveLink - My Likes and Dislikes</title><subtitle type='html'>My experience with Livelink Content Management, OScript, LAPI, Builder, Web Reports, Workflows, 3rd party system integrations, etc...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-6924951325912808013</id><published>2010-09-07T15:26:00.001-05:00</published><updated>2010-09-07T15:27:19.649-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="admin"/><category scheme="http://www.blogger.com/atom/ns#" term="Nonsense"/><category scheme="http://www.blogger.com/atom/ns#" term="performance"/><title type='text'>Multiple Remote Desktop Connections</title><content type='html'>It&#39;s free. It helps with multiple RDC&#39;s and makes life simpler. I knew about it but never thought about finding the original download source. I kept getting it off of other server admins&#39; thumbdrives...&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://terminals.codeplex.com/&quot;&gt;http://terminals.codeplex.com/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/6924951325912808013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/09/multiple-remote-desktop-connections.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/6924951325912808013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/6924951325912808013'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/09/multiple-remote-desktop-connections.html' title='Multiple Remote Desktop Connections'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-1161845207950526266</id><published>2010-08-23T09:37:00.001-05:00</published><updated>2010-08-23T09:37:33.495-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><title type='text'>Very basic Oracle query to get parent hierarchy</title><content type='html'>Here&#39;s a simple query that uses the &quot;connect by&quot; functionality in Oracle to get the entire parental hierarchy of a given nodeid in DTREE.&lt;br /&gt;
&lt;br /&gt;
select * &lt;br /&gt;
from dtree &lt;br /&gt;
connect by prior parentid=dataid &lt;br /&gt;
start with dataid = 12345 &lt;span style=&quot;color: #38761d;&quot;&gt;--starting nodeID&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This will give you all the parent nodeid&#39;s starting from the Enterprise top level down to the dataid you specified.</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/1161845207950526266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/08/very-basic-oracle-query-to-get-parent.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1161845207950526266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1161845207950526266'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/08/very-basic-oracle-query-to-get-parent.html' title='Very basic Oracle query to get parent hierarchy'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-1451919568794718862</id><published>2010-05-24T14:50:00.002-05:00</published><updated>2010-05-24T14:58:51.813-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="attributes"/><category scheme="http://www.blogger.com/atom/ns#" term="categories"/><category scheme="http://www.blogger.com/atom/ns#" term="performance"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="web reports"/><title type='text'>Pivoting the Livelink LLATTRDATA Table</title><content type='html'>For those who have tried to pull attribute data, you know that each attribute value is on a separate row and may even be in a different column. Here&#39;s a query (sorry MSSQL guys) that will put all the attributes into one row when you run it. This can be used in web reports or external apps to grab category/attribute data and display it nicely. Good luck.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;select lla.id&lt;br /&gt;
, max(decode(lla.attrid, 2, lla.valstr, null)) &quot;Attribute Name 1&quot;&lt;br /&gt;
, max(decode(lla.attrid, 3, lla.valstr, null)) &quot;&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;Attribute Name 2&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&quot;&lt;br /&gt;
, max(decode(lla.attrid, 4, lla.valstr, null)) &quot;&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;Attribute Name 3&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;, max(decode(lla.attrid, 5, lla.valstr, null)) &quot;&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;Attribute Name 4&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;, max(decode(lla.attrid, 6, lla.valstr, null)) &quot;&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;Attribute Name 5&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;, max(decode(lla2.attrid, 5, lla2.valstr, null)) &quot;&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;Attribute Name 6&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;from llattrdata lla, llattrdata lla2&lt;br /&gt;
where lla.id = lla2.id &lt;br /&gt;
and lla.defid = 47881102 &lt;span style=&quot;color: #38761d;&quot;&gt;--category id 1&lt;/span&gt;&lt;br /&gt;
and lla2.defid = 40278096 &lt;span style=&quot;color: #38761d;&quot;&gt;--category id 2&lt;/span&gt;&lt;br /&gt;
and lla.id = 48212327&lt;span style=&quot;color: #38761d;&quot;&gt; --can replace with a subselect to get a group of dataIDs in dtree (ex: *where defid in (select dataid…))&lt;/span&gt;&lt;br /&gt;
and lla2.id = 48212327&lt;br /&gt;
group by lla.id&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;color: red;&quot;&gt;Please note that the defids and ids will not be the same in your instance. You need to replace them with your own values.&amp;nbsp;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Here&#39;s the explanation:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;select lla.id&lt;/span&gt; - Pulls the Livelink object ID from the LLATTRDATA table&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;, max(decode(lla.attrid, 2, lla.valstr, null)) &quot;Attribute  Name 1&quot;&lt;/span&gt; - &lt;span style=&quot;font-size: small;&quot;&gt;This gets only one row, one column for the specific attribute. &lt;b&gt;&lt;span style=&quot;background-color: red;&quot;&gt;What you need to change&lt;/span&gt;&lt;/b&gt;: The numeric value inside the decode, right after the &quot;lla.attrid&quot;. The &quot;2&quot; in this case represents the attribute ID. This number can be found on the CATREGIONMAP table as the number found suffixed to the value in column REGIONNAME (Attr_1234567_###). This number gets used in the decode statement to filter against the ATTRID column in table LLATTRDATA.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;, max(decode(lla.attrid, 3, lla.valstr, null)) &quot;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;Attribute Name 2&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&quot;&lt;/span&gt; - &lt;span style=&quot;font-size: small;&quot;&gt;SAME AS ABOVE&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;, max(decode(lla.attrid, 4, lla.valstr, null)) &quot;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;Attribute Name 3&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; - &lt;span style=&quot;font-size: small;&quot;&gt;SAME AS ABOVE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;, max(decode(lla.attrid, 5, lla.valstr, null)) &quot;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;Attribute Name 4&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;- &lt;span style=&quot;font-size: small;&quot;&gt;SAME AS ABOVE&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;, max(decode(lla.attrid, 6, lla.valstr, null)) &quot;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;Attribute Name 5&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt; &lt;/span&gt;- &lt;span style=&quot;font-size: small;&quot;&gt;SAME AS ABOVE&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;, max(decode(lla2.attrid, 5, lla2.valstr, null)) &quot;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;Attribute Name 6&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt; &lt;/span&gt;- &lt;span style=&quot;font-size: small;&quot;&gt;In this line, I am referencing an attribute ID off another category, hence the lla2.attrid. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;from llattrdata lla, llattrdata lla2&lt;/span&gt; &lt;/span&gt;- &lt;span style=&quot;font-size: small;&quot;&gt;Datasource for pulling the attribute values. You will need to call the LLATTRDATA table for each different category you are trying to grab data from. In this case, there are only two that are associated with the Livelink objects in question.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;where lla.id = lla2.id&lt;/span&gt; - &lt;span style=&quot;font-size: small;&quot;&gt;The inner join to connect the two LLATTRDATA tables. If you had three LLATTRDATA calls, then the second JOIN would be &quot;and lla2.id = lla3.id&quot;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;and lla.defid = 47881102&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;--category id 1&lt;/span&gt; - &lt;span style=&quot;font-size: small;&quot;&gt;The filter for the first LLATTRDATA table call, i.e. the DEFID or the category ID, which can be pulled from the CATREGIONMAP table.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;and lla2.defid = 40278096&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;--category id 2&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt; &lt;/span&gt;- &lt;span style=&quot;font-size: small;&quot;&gt;Same as above except this is calling the defid of the second category&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;and lla.id = 48212327&lt;/span&gt; -&lt;span style=&quot;font-size: small;&quot;&gt; Filter to get a specific Livelink object in the LLATTRDATA table. This value is the object ID. You can actually implement a subselect statement in place of the hardcoded dataid. This will allow you to get multiple objects with their category/attribute values associated.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;and lla2.id = 48212327&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt; &lt;/span&gt;- &lt;span style=&quot;font-size: small;&quot;&gt;Same as above. You have to apply the same filter to all LLATTRDATA table calls because of the table joins and pivots.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;group by lla.id &lt;/span&gt;- &lt;span style=&quot;font-size: small;&quot;&gt;Forces the results to show up in one row per Livelink object&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: red; font-size: small;&quot;&gt;&lt;b&gt;Usages of this query:&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Faster than joining multiple select statements to get LiveLink attribute data.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Web Reporting... I&#39;ve actually used this as a data source for a web report that returns 30K+ records. If you implement the SQL as a materialized view in the LiveLink schema and&amp;nbsp; reference it in your LiveReport SQL, then the results should be quick.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Quick go-to for data pulling that clients need.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/1451919568794718862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/05/pivoting-livelink-llattrdata-table.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1451919568794718862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1451919568794718862'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/05/pivoting-livelink-llattrdata-table.html' title='Pivoting the Livelink LLATTRDATA Table'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-3454351506156095423</id><published>2010-04-10T21:04:00.000-05:00</published><updated>2010-04-10T21:04:30.931-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bugs"/><category scheme="http://www.blogger.com/atom/ns#" term="categories"/><category scheme="http://www.blogger.com/atom/ns#" term="performance"/><category scheme="http://www.blogger.com/atom/ns#" term="search"/><title type='text'>New Bug in Livelink 9.7.1  - Destroy Your Search Index</title><content type='html'>That&#39;s right.... this one will destroy your search index. It&#39;s a new bug that we discovered unfortunately the hard way. Opentext confirmed it and should be working on a patch.&lt;br /&gt;
&lt;br /&gt;
Basically, when you create an extended attribute table for a category to reference, Livelink will build out a new table in its schema. The issue is that certain attribute names or the column name that Livelink will use when building out the table are in fact reserved words.&lt;br /&gt;
&lt;br /&gt;
The reserved word in question this time around is ATTR_VALUE. Of course, this famous word is seen everywhere in Livelink, especially in the catregionmap table and llattrdata table. OUCH.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Words of warning here:&lt;/b&gt; Don&#39;t name an attribute or actually anything in Livelink &quot;ATTR_VALUE&quot;. Just stay away from using it as a prefix or suffix. What happens is that the search index becomes corrupt and you have to rebuild it from the ground up. That is MASSIVE.&lt;br /&gt;
&lt;br /&gt;
Good luck =]</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/3454351506156095423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/04/new-bug-in-livelink-971-destroy-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/3454351506156095423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/3454351506156095423'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/04/new-bug-in-livelink-971-destroy-your.html' title='New Bug in Livelink 9.7.1  - Destroy Your Search Index'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-7366323565325951074</id><published>2010-04-06T10:39:00.001-05:00</published><updated>2010-04-06T10:40:12.240-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="lapi"/><category scheme="http://www.blogger.com/atom/ns#" term="physical objects"/><title type='text'>How to update a boolean, yes/no, true/false attribute with LAPI</title><content type='html'>Below is sample code in C# on updating a physical item attribute (custom system attributes in the Specifics tab of a physical object). You can use the same logic to update a regular category attribute that is boolean based.&lt;br /&gt;
&lt;br /&gt;
The most important line is the&amp;nbsp;&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; request.add(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;mtField_PrintNewLabel&quot;&lt;/span&gt;&lt;/span&gt;,  &lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;on&quot;&lt;/span&gt;&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Basically, use &quot;on&quot; for true, &quot;off&quot; for false. The &quot;mtField_PrintNewLabel&quot; is the name of the custom physical object attribute. It&#39;s mtField_Name-of-the-field.&lt;br /&gt;
&lt;br /&gt;
For a category-attribute, you would use the update category functions and call the attribute name with the &quot;on&quot;/&quot;off&quot; value being passed.&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
***I will post more examples of updating category/attributes, physical items (records management), and easy Livelink session establishment. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: blue; font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt; doIt(&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;&lt;/span&gt; nodeID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #2b91af;&quot;&gt;&lt;span style=&quot;color: #2b91af;&quot;&gt;LLSession&lt;/span&gt;&lt;/span&gt; session =  &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; session = &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;&lt;span style=&quot;color: #2b91af;&quot;&gt;LLSession&lt;/span&gt;&lt;/span&gt;(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;opentext.server.blah.com&quot;&lt;/span&gt;&lt;/span&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  2099,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;/span&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;adminloginacct&quot;&lt;/span&gt;&lt;/span&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;adminpw&quot;&lt;/span&gt;&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  session.ImpersonateUser(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;yomama&quot;&lt;/span&gt;&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #2b91af;&quot;&gt;&lt;span style=&quot;color: #2b91af;&quot;&gt;LAPI_DOCUMENTS&lt;/span&gt;&lt;/span&gt; doc =  &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;&lt;span style=&quot;color: #2b91af;&quot;&gt;LAPI_DOCUMENTS&lt;/span&gt;&lt;/span&gt;(session);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #2b91af;&quot;&gt;&lt;span style=&quot;color: #2b91af;&quot;&gt;LLValue&lt;/span&gt;&lt;/span&gt; request =  (&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;&lt;span style=&quot;color: #2b91af;&quot;&gt;LLValue&lt;/span&gt;&lt;/span&gt;()).setAssocNotSet();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  request.add(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;objAction&quot;&lt;/span&gt;&lt;/span&gt;, &lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;info2&quot;&lt;/span&gt;&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  request.add(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;selectedMedia&quot;&lt;/span&gt;&lt;/span&gt;,1235465 );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  request.add(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;poLocation&quot;&lt;/span&gt;&lt;/span&gt;, &lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;CRC - ABC&quot;&lt;/span&gt;&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  request.add(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;mtField_Volume&quot;&lt;/span&gt;&lt;/span&gt;, &lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;Vol10&quot;&lt;/span&gt;&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  request.add(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;mtField_Temporary&quot;&lt;/span&gt;&lt;/span&gt;, &lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;No&quot;&lt;/span&gt;&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  request.add(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;mtField_FileType&quot;&lt;/span&gt;&lt;/span&gt;, &lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  request.add(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;mtField_PrintNewLabel&quot;&lt;/span&gt;&lt;/span&gt;, &lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;on&quot;&lt;/span&gt;&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #2b91af;&quot;&gt;&lt;span style=&quot;color: #2b91af;&quot;&gt;LLValue&lt;/span&gt;&lt;/span&gt; myEntValues =  &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;&lt;span style=&quot;color: #2b91af;&quot;&gt;LLValue&lt;/span&gt;&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;&lt;/span&gt; volID =  0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt;&lt;/span&gt;  (doc.AccessEnterpriseWS(myEntValues) == 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; volID =  myEntValues.toInteger(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;VolumeID&quot;&lt;/span&gt;&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;&lt;/span&gt; status =  0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status =  doc.UpdateObjectInfo(volID, nodeID, request);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt;&lt;/span&gt; (status !=  0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt;&lt;/span&gt; errMsg = &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt;&lt;/span&gt;.Format(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;Problem: {0} | {1} | {2} |  {3}&quot;&lt;/span&gt;&lt;/span&gt;, session.getApiError(), session.getErrMsg(),  session.getStatus(), session.getStatusMessage());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Response.Write(errMsg);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Response.Write(&lt;span style=&quot;color: #a31515;&quot;&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;Something got  updated&quot;&lt;/span&gt;&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Courier New; font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/7366323565325951074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/04/how-to-update-boolean-yesno-truefalse.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/7366323565325951074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/7366323565325951074'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/04/how-to-update-boolean-yesno-truefalse.html' title='How to update a boolean, yes/no, true/false attribute with LAPI'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-9087969548401473590</id><published>2010-03-29T18:44:00.000-05:00</published><updated>2010-03-29T18:44:25.733-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Nonsense"/><category scheme="http://www.blogger.com/atom/ns#" term="workflows"/><title type='text'>The Business Analyst Algorithm</title><content type='html'>This has nothing to do with Livelink, but after doing development work for a while, I have learned that developers do A LOT more than actual coding. I was inspired by the Friend Algorithm by Sheldon Cooper in the TV sitcom &quot;Big Bang Theory&quot;. I gotta say, this is pretty accurate. So accurate, that even my colleagues follow it. (SOL stand for **it Out of Luck). &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7QzpUhPA6pGNF7kChc8tguq-i3GtpoqhROsdOGqtPUo0GS7RGLQY1urkTGOxrKtOBTNFj9R2vJk16tp7_tOHBMp2a5vRb1-PZXbXhfcVKHYjvgLFxWbxWA0x_cmSRnpPMifCDNbNL1fw/s1600/baalgo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;326&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7QzpUhPA6pGNF7kChc8tguq-i3GtpoqhROsdOGqtPUo0GS7RGLQY1urkTGOxrKtOBTNFj9R2vJk16tp7_tOHBMp2a5vRb1-PZXbXhfcVKHYjvgLFxWbxWA0x_cmSRnpPMifCDNbNL1fw/s400/baalgo.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/9087969548401473590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/business-analyst-algorithm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/9087969548401473590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/9087969548401473590'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/business-analyst-algorithm.html' title='The Business Analyst Algorithm'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7QzpUhPA6pGNF7kChc8tguq-i3GtpoqhROsdOGqtPUo0GS7RGLQY1urkTGOxrKtOBTNFj9R2vJk16tp7_tOHBMp2a5vRb1-PZXbXhfcVKHYjvgLFxWbxWA0x_cmSRnpPMifCDNbNL1fw/s72-c/baalgo.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-3990165686503159267</id><published>2010-03-29T18:33:00.001-05:00</published><updated>2010-03-29T18:34:30.769-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="performance"/><category scheme="http://www.blogger.com/atom/ns#" term="web reports"/><title type='text'>How To Kill Your Livelink Server.... With Web Reports</title><content type='html'>Yes... this is true and very possible:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Run a long processing web report under the livelink.exe path and you&#39;ll get a CGI Timeout.&amp;nbsp;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Keep doing it and the server will not respond anymore. You&#39;ll have to restart services. &lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Send a null value to a search parameter based on an attribute field (if you are using search as your datasource)&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;This will cause an infinite loop. This is guaranteed when the attribute you are searching on is a required attribute. So much for depending on search as your datasource vs. old-fashioned LLATTRDATA convoluted-inner-join queries.... &lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;To avoid it: Use the llisapi.dll to run the reports.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I brought down our production servers today. =]</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/3990165686503159267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/how-to-kill-your-livelink-server-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/3990165686503159267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/3990165686503159267'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/how-to-kill-your-livelink-server-with.html' title='How To Kill Your Livelink Server.... With Web Reports'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-5990203612641962922</id><published>2010-03-23T22:15:00.001-05:00</published><updated>2010-03-23T22:17:15.260-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Migration"/><category scheme="http://www.blogger.com/atom/ns#" term="Object Importer"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>LiveLink Object Importer Quick Check List And Tips</title><content type='html'>&lt;ol&gt;&lt;li&gt;For Livelink 9.7: Make sure the entire Object Importer file is surrounded with &amp;lt;import&amp;gt;...&amp;lt;/import&amp;gt;&lt;import&gt; &lt;/import&gt; tags.&lt;/li&gt;
&lt;li&gt;When dealing with category attributes, always enclose the actual attribute value with the xml CDATA tags. Why? Because you never know when some piece of data will contain a character that should be escaped or not even allowed! (ampersands, quotes, ticks, colons, etc...)&lt;/li&gt;
&lt;li&gt;Use the sync tag even when you are creating new folders or objects. It just makes life easier.&lt;/li&gt;
&lt;li&gt;Depending on how your Object Importer module is set up, either put the entire Livelink object path in the &lt;location&gt; tag or include the &amp;lt;title&amp;gt; tags afterward.&amp;nbsp;&lt;/location&gt;&lt;/li&gt;
&lt;li&gt;Watch out for colons in a name. That&#39;s a huge no-no.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;If you enclose your attribute values with cdata, then you can just put in a normal carriage return for values that are multiline. Otherwise, use the &amp;amp;amp;br; or &amp;amp;amp;nl; escape.&lt;/li&gt;
&lt;li&gt;Keep multiple Object Importer files small and manageable.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Build the folder structure out first, permissions second, categories third, classifications forth, and everything else last.&lt;/li&gt;
&lt;li&gt;You cannot do a move with Object Importer. Don&#39;t even bother wasting your time researching that.&lt;/li&gt;
&lt;li&gt;Make sure your categories, ACL groups and classifications exist on the server before doing a file load.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;You CAN import files from external sources... like images and docs from a network share. Just make sure the Livelink server processing the OI files can access the external source.&lt;/li&gt;
&lt;li&gt;Order of preference in Object Importer is actually based on Windows alphabetical ordering.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Don&#39;t put a shortcut link in the object importer watch folder... you can and will bring down the server.&lt;/li&gt;
&lt;li&gt;It is case sensitive!!!&lt;/li&gt;
&lt;li&gt;There is a lot of trial and error with OI files, but once you get that one record to load successfully with the correct permissions, classifications, categories, etc, then base the rest of the import process on that.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Object Importer is a good option if you need to migrate Terabytes of legacy data into Livelink.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;If you are good at SQL, then you have a huge advantage to using Object Importer.&lt;/li&gt;
&lt;li&gt;If you have Automatic Document Numbering (ADN) installed, then your Object Importer routine just got more difficult.&lt;/li&gt;
&lt;li&gt;Always remember to at least populate the required attributes.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;I like Object Importer.</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/5990203612641962922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/livelink-object-importer-quick-check.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/5990203612641962922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/5990203612641962922'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/livelink-object-importer-quick-check.html' title='LiveLink Object Importer Quick Check List And Tips'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-7121622942600646439</id><published>2010-03-16T20:35:00.001-05:00</published><updated>2010-03-16T20:37:39.431-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Livelink Logs"/><title type='text'>Enabling Full Livelink Logging to Capture LAPI Problems</title><content type='html'>In trying to troubleshoot the 101107 LAPI error and 0-byte size documents, I learned there are some specific settings in the OT.ini file (not the actual name btw) to allow for LAPI logging.&lt;br /&gt;
&lt;br /&gt;
In the file:&lt;br /&gt;
&lt;pre&gt;[general]
debug=2
 
[options]
WantLogs=TRUE
WantLAPILogs=TRUE
WantTimings=TRUE
WantVerbose=TRUE&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;Restart services, replicate the issue as many times as you want, and start comparing GB&#39;s worth of logs!&lt;br /&gt;
Have fun!</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/7121622942600646439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/enabling-full-livelink-logging-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/7121622942600646439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/7121622942600646439'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/enabling-full-livelink-logging-to.html' title='Enabling Full Livelink Logging to Capture LAPI Problems'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-1061511412858515346</id><published>2010-03-09T10:22:00.001-06:00</published><updated>2010-03-09T10:39:06.147-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="search"/><category scheme="http://www.blogger.com/atom/ns#" term="web reports"/><title type='text'>Speeding up a Livelink Web Report</title><content type='html'>Slow-as-molasses Livelink Web Report??? Try using a saved search as your data source. &quot;But I have a bunch of attributes as my starting filters,&quot; you say. You can work through that too... Example:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Go to Advanced search.&lt;/li&gt;
&lt;li&gt;Do a full text search.&lt;/li&gt;
&lt;li&gt;Look for All words&lt;/li&gt;
&lt;li&gt;Find out what the actual field name of the attributes you want to search for are (Attr_####_##). This information is found in a table in the database. I&#39;m not going to mention the actual name because I don&#39;t know what legal issues this post can cause. It rhymes with fatregionnap. &lt;/li&gt;
&lt;li&gt;Build your advanced query like so: Attr_33353557_3:%2 AND Attr_33353557_4:%3 AND Attr_33353557_6:%4 AND Attr_33353557_12:%5 AND Attr_33353557_11:%6 AND Attr_33353557_10:%7 AND Attr_33353557_20:%8 AND Attr_33353557_2:%9 AND Attr_33353557_19:%10 AND OTSubType:144&lt;/li&gt;
&lt;li&gt;The above will get you specifically documents that have two categories and the values you pass into attribute parameters. The middle number in those field names are the actual category id.&lt;/li&gt;
&lt;li&gt;Optionally, to speed up the results even more, Add a scope to the search.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Save it.&lt;/li&gt;
&lt;li&gt;Reference it in the Web Report.&lt;/li&gt;
&lt;li&gt;Format your web report as you would.&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxqOxllZ1UeYEwMS9aC0l4HsujvTFb7woaxjI40WuyfngFVLThgB6CyUPem3VcxgOlpjmhaOLPfLiMvkOiP2HU4oYJ0-JhsHgQCmmA1OrChXWlSQ1h8i8vhfrooymm8qRKO2_2OyvKHD0/s1600-h/adv_search_web_rpt_DS.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;85&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxqOxllZ1UeYEwMS9aC0l4HsujvTFb7woaxjI40WuyfngFVLThgB6CyUPem3VcxgOlpjmhaOLPfLiMvkOiP2HU4oYJ0-JhsHgQCmmA1OrChXWlSQ1h8i8vhfrooymm8qRKO2_2OyvKHD0/s400/adv_search_web_rpt_DS.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I will post more on building an entire web report with this data source pull method later on.</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/1061511412858515346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/speeding-up-web-report.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1061511412858515346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1061511412858515346'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/speeding-up-web-report.html' title='Speeding up a Livelink Web Report'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxqOxllZ1UeYEwMS9aC0l4HsujvTFb7woaxjI40WuyfngFVLThgB6CyUPem3VcxgOlpjmhaOLPfLiMvkOiP2HU4oYJ0-JhsHgQCmmA1OrChXWlSQ1h8i8vhfrooymm8qRKO2_2OyvKHD0/s72-c/adv_search_web_rpt_DS.JPG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-1120815785982504347</id><published>2010-03-09T10:00:00.001-06:00</published><updated>2010-03-09T10:43:37.637-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ADN"/><category scheme="http://www.blogger.com/atom/ns#" term="lapi"/><category scheme="http://www.blogger.com/atom/ns#" term="Livelink Logs"/><title type='text'>Error: Unique constraint on dtree, LAPI add object, 101107</title><content type='html'>&lt;b&gt;Environment&lt;/b&gt;: Livelink 9.7.1, .NET 3.5, Oracle 10, ADN module, heavy category/attributes&lt;br /&gt;
&lt;b&gt;Problem&lt;/b&gt;: Multithreaded LAPI app loads several documents into Livelink and creates new folder structures, permissions, RM Classifications, and categories. Once in a while, we run into this error on the Livelink server side: Oracle error: (1) --&amp;gt; ORA-00001: unique constraint (LINK_OWNER.ADNIDS_INDEX1) violated&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The LAPI error&lt;/b&gt; is CreateObjectEx Failed. Message=Error adding categories to node errMsg=Error saving generated number. Status=101107 (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:&lt;br /&gt;
LapiException: CreateObjectEx Failed. Message=Error adding categories to node errMsg=Error saving generated number. Status=101107&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Theories&lt;/b&gt;:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;ADN is blowing up again.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The LAPI port is getting overloaded.&lt;/li&gt;
&lt;li&gt;LAPI sucks.&lt;/li&gt;
&lt;li&gt;The database is being overwhelmed by multiple transactions from multiple users (adding one object to Livelink is usually about 100-200 various transactions, so do the math if there are 100+ users).&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/1120815785982504347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/error-unique-constraint-on-dtree-lapi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1120815785982504347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1120815785982504347'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/error-unique-constraint-on-dtree-lapi.html' title='Error: Unique constraint on dtree, LAPI add object, 101107'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-8910480034575761236</id><published>2010-03-03T13:23:00.000-06:00</published><updated>2010-03-03T13:23:30.577-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Livelink Logs"/><title type='text'>Error: The provider already exists in this session</title><content type='html'>I&#39;ve been trying to troubleshoot a LAPI error and perused through the Livelink connect logs. This one error kept showing up.&lt;br /&gt;
&lt;br /&gt;
&quot;The provider already exists in this session&quot;&lt;br /&gt;
&lt;br /&gt;
Looks like you can ignore this one.&amp;nbsp;It is a warning message that is to be expected.  It is saying that the EFS required has already been identified.  It is common and can be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://knowledge.opentext.com/knowledge/llisapi.dll?func=ll&amp;amp;objId=15541204&amp;amp;objAction=view&amp;amp;show=2&quot;&gt;Link to the discussion thread here.&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/8910480034575761236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/error-provider-already-exists-in-this.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/8910480034575761236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/8910480034575761236'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/03/error-provider-already-exists-in-this.html' title='Error: The provider already exists in this session'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-1239808935612455096</id><published>2010-02-24T14:49:00.000-06:00</published><updated>2010-02-24T14:49:40.299-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="lapi"/><title type='text'>LAPI Error 107404</title><content type='html'>Session Status=107404&lt;br /&gt;
Error=Error setting the category or attributes for this node. Error saving generated number.&lt;br /&gt;
Happening When=Updating multiple documents with latest attribute values.&lt;br /&gt;
&lt;br /&gt;
The &quot;Error saving generated number&quot; points to an Automatic Document Numbering module specific error... but who knows. More research to follow....</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/1239808935612455096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/02/lapi-error-107404.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1239808935612455096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1239808935612455096'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/02/lapi-error-107404.html' title='LAPI Error 107404'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-7017005142667254903</id><published>2010-02-18T12:07:00.000-06:00</published><updated>2010-02-18T12:07:42.112-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="categories"/><category scheme="http://www.blogger.com/atom/ns#" term="lapi"/><title type='text'>LAPI Error 101107</title><content type='html'>LapiException: CreateObjectEx Failed. Message=Error adding categories to node errMsg=Error saving generated number. Status=101107&lt;br /&gt;
&lt;br /&gt;
Scenario: Bunch of categories need to be applied to a newly created folder structure and sub objects. I was trying to add a document into Livelink via LAPI. If the folder structure for where document goes does not exist, then the LAPI app creates it with the correct categories, attributes, permissions, RM Classifications, etc... However, if the structure exists, even though the category may have been applied incorrectly, then the app will just load the document into the folder structure.&lt;br /&gt;
&lt;br /&gt;
Potential cause: I&#39;m still looking into since there are so many moving parts and factors involved with this enterprise solution.... for loading documents non-natively (if that&#39;s a word) into Livelink. (DAMN architects)&lt;br /&gt;
What I think is happening is that -&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;The category DNE at the expected parent level.&lt;/li&gt;
&lt;li&gt;The attributes were not populated correctly.&lt;/li&gt;
&lt;li&gt;ADN (automatic document numbering) had an issue&lt;/li&gt;
&lt;/ul&gt;I strongly believe it has something to do with ADN because I have found issues with SQL Injections. You attempt to load a document with reserved SQL words like UNION and JOIN and ADN freaks out. Special characters like apostrophe mess it up too. We have patched ADN with a quick fix from the vendor but still run into this 101107 error. It&#39;s like Livelink is failing during the database writes into ADN along with the external file store and the attribute tables. WTF....&lt;br /&gt;
&lt;br /&gt;
What a pain in the ass to resolve. Logging on the Livelink is so process intensive.</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/7017005142667254903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/02/lapi-error-101107.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/7017005142667254903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/7017005142667254903'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/02/lapi-error-101107.html' title='LAPI Error 101107'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-1081074061384760536</id><published>2010-02-17T10:01:00.000-06:00</published><updated>2010-02-17T10:01:39.376-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="lapi"/><title type='text'>LAPI Connection Issues</title><content type='html'>I&#39;ve been running into sporadic issues with an enterprise app that hits Livelink constantly through LAPI. The following are some articles I found. None of them fixed my issue though because we&#39;ve actually attempted the resolutions two years ago to fix ANOTHER LAPI connection issue. F%$K!!!&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://knowledge.opentext.com/knowledge/llisapi.dll?func=ll&amp;amp;objId=3500936&amp;amp;objAction=ArticleView&amp;amp;viewType=1&quot;&gt;Article Number: 3500936 -&amp;nbsp;Why do I get LAPI connectivity issues intermittently?&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Running massive amounts LAPI transactions result in &quot;Could not access server&quot; error.&lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;https://knowledge.opentext.com/knowledge/llisapi.dll?func=ll&amp;amp;objId=15090633&amp;amp;objAction=ArticleView&amp;amp;viewType=1&quot;&gt;Article Number: 15090633 - LAPI - GetObjectAttributesEx Function Executes Increasingly Slowly When Called Repeatedly&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Repetitive usage of the function results in degrading performance. &lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;https://knowledge.opentext.com/knowledge/llisapi.dll?func=ll&amp;amp;objId=3496785&amp;amp;objAction=ArticleView&amp;amp;viewType=1&quot;&gt;Article Number: 3496785 - Keep Livelink Socket Backlog In Mind When Creating Multi-Threaded LAPI programs&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;LAPI calls randomly fail in Multi-threaded applications if the number of application threads are greater than the number of Livelink server threads &lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;https://knowledge.opentext.com/knowledge/llisapi.dll?func=ll&amp;amp;objId=3501616&amp;amp;objAction=ArticleView&amp;amp;viewType=1&quot;&gt;Article Number: 3501616 - Getting sporadic LAPI errors (Pooling LLSession objects)&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;There is no apparent advantage to pooling LLSession objects&amp;nbsp; &lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/1081074061384760536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/02/lapi-connection-issues.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1081074061384760536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/1081074061384760536'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/02/lapi-connection-issues.html' title='LAPI Connection Issues'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6673823125465842333.post-7284078358331046296</id><published>2010-02-16T20:03:00.000-06:00</published><updated>2010-02-16T20:03:47.078-06:00</updated><title type='text'>Livelink aka Livestink</title><content type='html'>Well... I don&#39;t hate Livelink that much. If it wasn&#39;t for the lack of developers and Livelink specialists, then I would be out of a job. There A LOT of great things about the content management system. But there are also, A LOT of nuisances that bring the product quality down. As a Livelink developer, I have been involved on all sides of a Livelink implementation. More to come as I jot down my prior and current experiences with this product.</content><link rel='replies' type='application/atom+xml' href='http://ihatelivelink.blogspot.com/feeds/7284078358331046296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ihatelivelink.blogspot.com/2010/02/livelink-aka-livestink.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/7284078358331046296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6673823125465842333/posts/default/7284078358331046296'/><link rel='alternate' type='text/html' href='http://ihatelivelink.blogspot.com/2010/02/livelink-aka-livestink.html' title='Livelink aka Livestink'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>