Topic
  • 3 replies
  • Latest Post - ‏2012-06-14T17:40:41Z by Kiru.V
Rational12
Rational12
6 Posts

Pinned topic How to create custom objects in FileNet P8 Content Engine using CMIS?

‏2012-04-23T12:32:47Z |
Hi, 
I am doing custom iWidget development in IBM Case Manager 5.0, using Java Script and DOJO 1.6. I am using Content Management Interoperability Services (CMIS) to carry out Create/ Retrieve/ Update/ Delete operations on objects such as document, folder that persist in FileNet P8 Content Engine object store. However I am not able to create custom objects in P8 using CMIS as CMIS object model does not support the notion of 'Custom Object' that is used to hold only metadata in P8. Can anyone please suggest if there is a workaround? Also is it technically feasible to develop a custom REST based service, deploy that on the WAS (Websphere Application Server), and use it from the iWidget DOJO base UI (which is a part of the Mashup environment - the case client application), by making AJAX based calls? The intention here is to develop a REST based service that will accpet HTTP requests from the DOJO based UI, carry out custom operations as per the request on Custom Objects in P8 using the CE Java APIs, and send the response back in the form of XML/ JSON.                                                                                                      Any suggestions/ pointers to appropriate resources will be highly appreciated. Thanks in advance! - Rational12.
Updated on 2012-06-14T17:40:41Z at 2012-06-14T17:40:41Z by Kiru.V
  • drdamour
    drdamour
    2 Posts

    Re: How to create custom objects in FileNet P8 Content Engine using CMIS?

    ‏2012-04-23T19:16:34Z  
    unfortunately IBM CMIS for FileNet  does not support Custom Objects at version 1.x.  Have you considered just using Contentless Documents?  In most applications the view function of a contentless document is to bring up the property sheet, so generally they'll work fine for anywhere you wanted to use custom objects.
     
    CMIS doesn't have the concept of anything but documents and folders, so it would have to be hack (letting you create documents that are really custom objects) or an extension to CMIS. 
     
    And yes, of course, you can create your own REST API that leverages the P8 API's to expose CE functionality to a javascript layer via REST, but this is not work for the faint at heart.  If you have better java developers than javascript developers i would put your domain model in the java code and expose that as REST rather than creating a generic REST layer for Custom Objects and created your domain model in javascript.  But if you're better with javascript, then i'd flip it and put the domain model in script.
     
    The P8 api's can be tricky and they assume you have a lot of JEE knowledge, the best place to start is http://publib.boulder.ibm.com/infocenter/p8docs/v5r1m0/nav/11_2_3 
    Updated on 2012-04-23T19:16:34Z at 2012-04-23T19:16:34Z by drdamour
  • Rational12
    Rational12
    6 Posts

    Re: How to create custom objects in FileNet P8 Content Engine using CMIS?

    ‏2012-04-25T09:45:13Z  
    • drdamour
    • ‏2012-04-23T19:16:05Z
    unfortunately IBM CMIS for FileNet  does not support Custom Objects at version 1.x.  Have you considered just using Contentless Documents?  In most applications the view function of a contentless document is to bring up the property sheet, so generally they'll work fine for anywhere you wanted to use custom objects.
     
    CMIS doesn't have the concept of anything but documents and folders, so it would have to be hack (letting you create documents that are really custom objects) or an extension to CMIS. 
     
    And yes, of course, you can create your own REST API that leverages the P8 API's to expose CE functionality to a javascript layer via REST, but this is not work for the faint at heart.  If you have better java developers than javascript developers i would put your domain model in the java code and expose that as REST rather than creating a generic REST layer for Custom Objects and created your domain model in javascript.  But if you're better with javascript, then i'd flip it and put the domain model in script.
     
    The P8 api's can be tricky and they assume you have a lot of JEE knowledge, the best place to start is http://publib.boulder.ibm.com/infocenter/p8docs/v5r1m0/nav/11_2_3 
    Thanks much for the suggestions! 
     
    So far I have created folder objects using CMIS to hold the metadata; however, creating contentless document objects seems to be a better option. I will give it a try now.
     
    I am planning to put the domain model in Java code and expose that as REST. This REST service should be able to carry out all operations that are not possible using CMIS for P8,  CE REST, and PE REST APIs for P8. I have been to develop a small REST service using JAX-RS and consume that from Java Script UI by making DOJO AJAX calls. Hope to make some more progress on this...:)
    Thanks again for ushering me to the right direction! 
     
    Rational12. 
  • Kiru.V
    Kiru.V
    1 Post

    Re: How to create custom objects in FileNet P8 Content Engine using CMIS?

    ‏2012-06-14T17:40:41Z  
    Thanks much for the suggestions! 
     
    So far I have created folder objects using CMIS to hold the metadata; however, creating contentless document objects seems to be a better option. I will give it a try now.
     
    I am planning to put the domain model in Java code and expose that as REST. This REST service should be able to carry out all operations that are not possible using CMIS for P8,  CE REST, and PE REST APIs for P8. I have been to develop a small REST service using JAX-RS and consume that from Java Script UI by making DOJO AJAX calls. Hope to make some more progress on this...:)
    Thanks again for ushering me to the right direction! 
     
    Rational12. 
     I have designed and developed a common RESTful Services layer (using Apache WINK) burying all the gory details of FileNet APIs and seurity and exposed them as simple CRUDE resources that are consumed by multiple interfaces. One such interface was developed using Drupal / PHP. The Drupal/PHP team did not have any knowledge about FileNet but they were still able to develop the User Interfaces we needed. We did this in P8 4.0 API set even before the CMIS was launched, and now enhancing to include the CASE manager functionalities. It's a great way to create a common layer to be used across multiple interfaces. The challenge in building this layer is probably a one time effort for proper design of domain model and security. REST provides a simple means of implementing security if you are not exposing anything outside of the firewall. Anything outside the firewall might require additional efforts. In my opinion, CMIS has its own use cases but doesn't fit well into the CASE management framework and you don't want the front-end layer to deal with multiple standards of integration.