1. Get rid of all advertisements and get unlimited access to documents by upgrading to Premium Membership. Upgrade to Premium Now and also get a Premium Badge!

Database Schema of UCM Stellent

Discussion in 'Oracle Webcenter Suite (formerly Oracle ECM)' started by smiley_chappy, Feb 23, 2009.

  1. smiley_chappy

    smiley_chappy Active Member

    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    55
    Hi,

    Is there any information on how tables are organized in entire UCM suite. As an example if I want to know: How many tables get update when a content is created?

    I need some pointers on comprehending the Data base structure to know the relationship between tables.

    Thanks in Advance
     
  2. Sadik

    Sadik Community Moderator Forum Guru

    Messages:
    1,906
    Likes Received:
    252
    Trophy Points:
    1,455
    hi, to my knowledge, there is No document explaining the schema architecture of stellent tables compared to the TRMs of oracle applications. However I can tell u what you need to know.

    When u check in a document, the tables inserted in are

    1. Revisions --> Contains the revision and other system informations for the document like title etc, tracked by dID
    2. Docmeta --> The custom Metadata Columns, tracked by dID
    3. Documents --> The file name, type etc (here you insert two rows for each revision), one for the actual file and one for the converted one, tracked by docID

    In addition to the above tables, there is Counters table, which counts the IDs and there is documenthistory which stores the audit trail.

    If you are using workflows, the tables are WorkflowDocuments, Workflows, & WorkflowHistory.

    Also check out this thread: oracle UCM (stellent) tables when checking in content
     
  3. smiley_chappy

    smiley_chappy Active Member

    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    55
    Hey Sadik,

    Thanks for your quick response. I have gone through the thread and your reponse and it will really help us in understanding the data base schema better.

    Actually, the requirement is to render the content on Oracle Weblogic portal. To render the content we thought of creating a data base table that will contain record (Content ID, Content Name, Physical location and other meta data). Now the question is how do we populate this table? Then we thought of writing triggers on existing tables that will be executed as soon as a reord is inserted in existing table and eventually wil populate the customized table.

    And for above reason only I wanted to know the Database schema.

    I understand that we do have Content Portlet Suite for Weblogic portal, but I don't want to use it.

    Perhaps the other approach that I would have used is to generate an XML of existint content and metadata and read that XML to render the content on Weblogic Portal. But then I don't know how do I generate such XML.

    Please share your thoughts Sadik. Thanks in advance.
     
  4. Sadik

    Sadik Community Moderator Forum Guru

    Messages:
    1,906
    Likes Received:
    252
    Trophy Points:
    1,455
    Hi, why do you not want to use Content Portlet suite? well using triggers to insert into your custom table may also work but is that a scalable solution? Another option would be to write a custom component which would have a query resource to insert into your custom table. Your query will need to be called by modifying the dynamic html include for new content check in service. All this sounds complicated but is actually quite simple. You need to go through Bex Huff's book if you want to learn about custom components.

    http://books.google.com/books?id=Ti...o+Stellent+Content+Server+Development#PPP1,M1
     
  5. smiley_chappy

    smiley_chappy Active Member

    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    55
    Thanks for your reply.

    I thought of using content portlet suite as the whole idea is to render the content to weblogic portal after it is published. Since Content portlet suite is already available I considered that as an option.

    I will definitely try to understand the custom component creation process.

    I would appreciate if you could also share something on generation of XML for content and its meta data.
    1) Is it possible to generate an XML from the Content Server. The XMl should have the information about the content (i.e. meta data) along with the path info where the physical files are kept.
    2) Can we publish the meta data to data base tables using Connection Server utilty? if yes, pointers are welcomed.
     
  6. Sadik

    Sadik Community Moderator Forum Guru

    Messages:
    1,906
    Likes Received:
    252
    Trophy Points:
    1,455
    regarding xml response, if you put the condition isSoap=1 in the URL of the service call it will return the raw data on the page which you can then parse for your needs.
     
  7. Hi,

    I am connecting Oracle UCM and WLP i am using UCM-VCR adapter,i have configured everything in the content-config.xml in the application Meta-inf,i am able to view the content types which is present in UCM but while viewing the content i am getting the below exception,please help to resolve this error.

    Error
    The requested operation cannot be completed. Please check the error details, make sure that all required services are available, and/or try again later.

    Details

    java.lang.NullPointerException
    at com.oracle.content.spi.ucm.factory.IDFactory.createNodeID(IDFactory.java:93)
    at com.oracle.content.spi.ucm.NodeOps.convertToNodes(NodeOps.java:455)
    at com.oracle.content.spi.ucm.NodeOps.getNodeChildren(NodeOps.java:343)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.content.federated.internal.delegate.LatestInterfaceVersionWrapper.invoke(LatestInterfaceVersionWrapper.java:72)
    at $Proxy97.getNodeChildren(Unknown Source)
    at com.bea.content.federated.internal.filter.logging.NOPSLoggingFilter.getNodeChildren(NOPSLoggingFilter.java:273)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.content.federated.internal.delegate.LatestInterfaceVersionWrapper.invoke(LatestInterfaceVersionWrapper.java:72)
    at $Proxy97.getNodeChildren(Unknown Source)
    at com.bea.content.federated.internal.filter.validation.NOPSValidationFilter.getNodeChildren(NOPSValidationFilter.java:305)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.content.federated.internal.delegate.LatestInterfaceVersionWrapper.invoke(LatestInterfaceVersionWrapper.java:72)
    at $Proxy97.getNodeChildren(Unknown Source)
    at com.bea.content.federated.internal.filter.security.NOPSSecurityFilter.getNodeChildren(NOPSSecurityFilter.java:623)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.content.federated.internal.delegate.LatestInterfaceVersionWrapper.invoke(LatestInterfaceVersionWrapper.java:72)
    at $Proxy97.getNodeChildren(Unknown Source)
    at com.bea.content.federated.internal.filter.cache.NOPSCacheFilter.getNodeChildren(NOPSCacheFilter.java:554)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.content.federated.internal.delegate.LatestInterfaceVersionWrapper.invoke(LatestInterfaceVersionWrapper.java:72)