Solaris 10 commands: How to see Documentum Server logs

Checking documentum server logs while a workflow is running is very useful, also while debugging the content server methods. Here are the steps:

1. Login to Solaris 10 (From windows, I use putty or SSH client, both are good)
2. Type bash to change the shell (I find bash is very convenient shell than ksh)
3. Change to documentum folder: type cd $DOCUMENTUM/dba/log
4. Open the log: type tail -100f <<docbase_name>>.log

The above tail command lists out last 100 lines from the log file. As and when the log file is updated by the server, the refresh happens automatically enabling to see last 100 lines always. This is very useful when the server is throwing lot of log messages.

First Impressions on Documentum 6 (D6) Contd..

These are some of the differences I saw in D6 when compared to earlier version (5.3)…

* dfc.properties file is used instead of DMCL.ini
* DMCL emulator for backward compatibility for DMCL API calls (probably desktop client uses this)
* Global registry is made mandatory
* Aspects (on the lines of TBOs and SBOs)
* D6 install comes with its own DFC.jar, which means that D5 and D6 can exist on same box
* Presets (in Webtop)
* DocApp Archive becomes a DAR and is installed from Composer (Need to analyse what a DAR format is..is it just a zip of DocApp Archive? )
* McLaren Docloader doesn’t work with D6?
* Conditional value assistance
* Classification of Search results in Webtop
* Indexing can be restricted to object type

First Thoughts on Documentum Composer (D6)

During my 2 day workshop on D6, I had a hands-on on Documentum Composer which is a replacement of Documentum Application Builder (DAB) and Installer. I liked Documentum Composer for 3 main reasons:
1. It has better interface than DAB, and its easy to use.
2. Its combined with DAB and DAI, this is very good because you can create a DocApp and Install it there itself.
3. Since it is built in eclipse, you can identify the issues at the DocApp development level instead of installation level. Any Error in DocApp is immediately highlighted with a red mark.

I tried a few things with Composer... creating objects, types, value-assistance, life-cycles.It all seemed very simple and easy to create a DocApp. Installation also went fine without any issues.

Best thing about Composer is, once you have a DocApp you can install it in multiple docbases without exiting the Composer.

One drawback according to me is, it doesn't show workflows. I saw that BPM is there under artifacts but workflows can neither be created there nor the existing workflows are displayed there. To create and manage workflows, Process Builder is needed.

(This post is composed from ScribeFire, a Firefox Extension)

My First Impressions on Documentum 6 (D6)

My First Impressions on Documentum 6 (D6)

I have attended a 2 day workshop on D6 and Installed Webtop which seemed to be a simple 3 step process:
1. Installed JDK 1.5
2. Installed Apache Tomcat 5.5
3. Copied the D6 Webtop webapp to Tomcat

PROBLEM:
First error I got when I opened webtop is this:
com.documentum.web.form.control.TagPoolingEnabledException: JSP tag pooling is not supported. Please refer to the product deployment guide for instructions on turning off tag pooling for the application server.

Searched for above error in Google but couldn’t find a solution. I researched for sometime and here is the solution that worked for me.

SOLUTION:
1. Go to Tomcat/conf folder and open web.xml file
2. search for "enablePooling" in file
3. enablePooling is by default [true] which needs to be set a false for webtop to work.
4. set the enablepooling to false as below.
    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
...
        <init-param>
            <param-name>enablePooling</param-name>
            <param-value>false</param-value>
        </init-param>
...
    </servlet>
5. delete the Catalina in Tomcat/Work folder (Mandatory)
6. restart Tomcat

Many things about Documentum

Many things about Documentum

I came across the following link which talks about many things in documentum. Very informative, clean representation and learnt many things about documentum.

http://ajithprabhakar.wordpress.com+documentum&hl=en&ct=clnk&cd=6&gl=in

Few things of interest:
1. r_object_id notation
2. doogle (http://www.componentmonster.com/doogle/) Google search for documentum
3. Workflow object types
4. Find DocApp containing a Type

..list seems to be endless!

Solaris 10 commands: How to clear Memory segments and Semaphores

We have a Solaris 10 box which hosts a Documentum docbroker and around 22 docbases. Frequently, due to high memory usage, docbases go down and everything stops working. This also happens when the backend database goes down.

To resolve this, I normally restart all the docbases and docbrokers after clearing the processes, memory segments and semaphores.

Here is the step by step process that I follow to restart the Documentum Server.

STEP 1: Kill all the docbase processes first.
1. Type
ps -ef grep documentum which will list out all the processes along with the process ids.
2. Copy the output(from console) of this command and paste it into an Excel sheet. (I use SSH Secure Shell to connect to Solaris from Windows)
3. Extract just the process ids and arrange them with spaces between them. There are many ways to do it, I use the Text Import Wizard in Excel to achieve this. You should have your process ids in format like this:
12345 234 12333 12356 123213
4. Type kill -9 and paste the above process id string and hit enter.
kill -9 12345 234 12333 12356 123213
5. All your documentum processes are killed now.

STEP2: shutdown the docbroker

STEP3: List all the semaphores and memory segments with command
ipcss -a.
1. This will list out both the semaphores and memory segments.
2. Copy the output as mentioned in STEP1 to an excel sheet.

STEP4: Kill the memory segments first.
3. Copy only the memory segment ids. Leave out the memory segments for root.
4. Prefix
ipcrm -m to each id. Your list should look like this:

ipcrm -m 435348
ipcrm -m 23465
ipcrm -m 23122
ipcrm -m 93747


5. Copy the above list and paste it into Solaris Console.
6. Memory segments are now killed.

STEP5: Kill the semaphores now
1. Copy only the semaphore ids. Leave out the semaphores for "root".
2. Prefix
ipcrm -s to each id. Your list should look like this:

ipcrm -s 435348
ipcrm -s 23455
ipcrm -s 99888
ipcrm -s 435345


3. Copy the above list and paste it into Solaris Console.
4. Semaphores are now killed.

STEP6: Start the docbroker
STEP7: Start the docbases

Blogging from email

I don’t have access to blogger from office, so using blogger email to post my blogs.
Since this is my first email blog, I guess it won’t have proper formatting!

How to Copy Thunderbird Mails to Outlook

Background: I have two email accounts that are in two different Exchange Servers. Outlook 2003 allows connection to one account at a time, so I had to waste all my time switching the accounts by restarting Outlook. To overcome this I installed another email client, Mozilla Thunderbird.

About Thunderbird: Thunderbird is a fair alternative but in no way is a replacement to Outlook. There are many things it cant do and I felt handicap while using it due to lack of features. I still had to use it to solve my problem mentioned above.

New Problem: Though I use Thunderbird, I want to copy all the mails to one repository, an Outlook PST. I wanted a ONE store where ALL my mails are stored, so that if I need to search I can look at one location.

Research: Thunderbird stores all the mails as EML files (which is the same format used by Outlook Express) and I tried to import using Outlook, I tried all options, there is no way. I also looked in Thunderbird options as well as add ins, no way. I searched in Google, there are couple of EML to MSG (outlook format) converters but none of them are freeware. I did some more research and found an *indirect* way to solve this problem.

Solution: Here is what I do every weekend to copy my Thunderbird mails to Outlook PST:
1. Open Thunderbird
2. Open Outlook Express
3. Select all the mails in thunderbird and drag them to Outlook Express window.
4. All the mails will be displayed in Outlook Express now.
5. Open Outlook, select File > Import > Internet Mail and addresses > Outlook Express
6. Outlook copies all the mails from outlook express without asking anything!
7. Delete mails in Outlook Express
8. Delete mails in Thunderbird.

This is the easy way I found out and it costs nothing! Please leave a comment if this helps you too!