Category Archives: FileNet P8

Install FileNet P8 without CPIT

I’ve been focusing a lot lately on how to install P8 with CPIT. Mostly because this is easier, faster, and usually more convenient, but it has inconveniences as well. Installing all components separatly has a few benefits and I thought it was time to write how to do that:

  • Install different versions of the components
  • Install Fix Packs during install
  • Use different technologies
  • Split components on different servers
  • Use pre-installed components (LDAP, DB, …)
  • Optimize install size by deleting binaries after each install
  • And for curious people, understand better what’s going on ūüôā

This will be a long post, but I’ll try to split this step by step and explain precisely what is going on. At the end of this post, I will give the full script you can run to install a full platform. Unlike the CPIT installer, I’ve tried to keep everything in one script to ease distribution, installation and customization. That’s why you will see a lot of HERE-doc commands to create files on-the-go. At this moment I’m using only one dependency, which is a file from the CPIT installer: cpt-actions.jar. This is the java tool allowing us to create the default domain and object store. This is quite basic to implement using the Java API so I hope to write soon how to rewrite this tool so we can get rid of all dependency on CPIT.

Continue reading

Upgrade P8 FileNet Platform to 5.2.1 FP5

Here is how to upgrade P8 FileNet Platform 5.2.1 to 5.2.1 FP5 silently. This upgrades both the server and the client.

You need FileNet 5.2.1 to upgrade to 5.2.1 FP 5. Here is a way to install FileNet 5.2.1.

You can execute this in the same directory you copied and

Continue reading

Install FileNet P8 5.2.1 (with Composite Platform Installation Tools)

Here is the new and up-to-date version of the Install FileNet P8 series, replacing the old one (5.2). What is mainly new, compare to CPIT 5.2:

  • Tivoli Directory Server 6.3 FP24
  • GSKit
  • FileNet Content Platform Engine 5.2.1
  • WebSphere Application Server 8.5.5
  • IBM Content Navigator 2.0.3
  • Installation Manager 1.6.2
  • There are now two WAS nodes, one for FileNet and one for ICN
  • IBM DB2 9.7 Fix Pack 8/li>

Last version was Install FileNet P8. This post is intended to help you to use the CPIT installer to install a fully functional FileNet P8 on a single server. We will see what you need to run and how to proceed. As nice as it sounds, errors are frequent so we will try to isolate all errors and see how to fix them.

This is weird, but most of the errors from the CPIT 5.1 are still present in the version 5.2.1… The only one actually fixed is the creation of the setDB2port which is not needed anymore.

Continue reading

Upgrade to FileNet 5.2.1

Here is a quick summary of how to upgrade to FileNet 5.2.1. As usual, before starting, snapshot/backup your server. Here are the main steps for a single server platform installed with the CPIT installer and where the application server has not been upgraded. If it has been or you platform is different, check the knowledge center but procedure should be mostly the same and you can use this to help you.
Continue reading


How to count results from a query

When programming with P8, one recurrent task is counting how many results a query has.

There are a few options to do this, none of them being count(*)¬†and¬†I’ll explain why. The purpose of this post is to expose them and compare their execution time¬†and limitations with benchmarks.¬†We will also see how to optimize each of them separately. Hopefully, after reading¬†this post, you will¬†be able to¬†choose which one best fits your needs. Before introducing all options IBM made available to us, a little introduction important to understand this post and its benchmarks.

When counting, it may be strange,¬†but it is a lot better to expect something. Or if you can’t, at least have a limit over which the result doesn’t really matter, you are happy enough knowing it is more than this limit. Actually in most case that’s enough. For UI¬†you would say over something, to forbid an operation you usually have a limit over which you will forbid it anyway, and so on. Of course, if you want the exact number of item, it can be done but it will be a lot slower.

Benchmarks will be counting the number of documents in a¬†5/4/10 folder hierarchy, meaning 5¬†level of sub-folders, each level with 4 sub-folders and 10 documents. This is about 55,000¬†documents in 5,500 folders. And we don’t always want to count exactly, in the benchmarks we will ask if there is more than 5, 10, 15,50 … until 40,000 documents. Because sometimes knowing than there is more than 50 documents is enough to forbid an operation.

Now let’s introduce the few options we have to count.
Continue reading

Create your first Object Store

After a CPIT installation, you will still have to create an Object Store in order to have a fully functional platform. Luckily, when using the CPIT installer, IBM already provides the database and datasources for one more Object Store, They also pre-set the database connection in the Administrative Console for Content Engine (ACCE). So the procedure is really easy, we only have to create the Object Store using the pre-set database connection.

Here are the procedure in pictures:
Continue reading

Start and stop a FileNet CPIT platform

I was reading a few posts on ecmplace today and I saw that some persons are struggling with starting and stopping the FileNet platform after they got their CPIT installation done. So here are two scripts to start and stop all components. They start in order (and stop in reverse order) the following components:

  1. The DBMS DB2
  2. The LDAP Tivoli Directory Server (admin server then instance)
  3. The Application Server WebSphere Application Server (hosting the Platform Engine and possibly IBM Content Navigator or any client application)

To start the platform (I include the iptables config but if you saved it once for all you don’t need those lines):

iptables -I INPUT 4 -i eth0 -p tcp --dport 9080 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 4 -i eth0 -p tcp --dport 9043 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 4 -i eth0 -p tcp --dport 2809 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 4 -i eth0 -p tcp --dport 9100 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 4 -i eth0 -p tcp --dport 9403 -m state --state NEW,ESTABLISHED -j ACCEPT
# DB2
su - dsrdbm01 -c db2start
# TDS admin server
/opt/ibm/ldap/V6.3/sbin/idsdiradm -I dsrdbm01
# TDS instance
/opt/ibm/ldap/V6.3/sbin/ibmslapd -n -I dsrdbm01
/opt/ibm/WebSphere/AppServer/bin/ server1

To stop the platform:

/opt/ibm/WebSphere/AppServer/bin/ server1 -username P8Admin -password PASSWORD
# TDS instance
/opt/ibm/ldap/V6.3/sbin/ibmslapd -I dsrdbm01 -k
# TDS admin server
/opt/ibm/ldap/V6.3/sbin/idsdiradm -I dsrdbm01 -k
# DB2
su - dsrdbm01 -c db2stop

Hopefully it will help someone.