Home | Oracle ECM Home Page  | Oracle ECM Documentation  | Oracle ECM Downloads  | Oracle ECM Forums  | Yahoo Intradoc Users Group Feed your aggregator (RSS 2.0)  
  Oracle Fusion ECM Blog. Are you "kuh n-tent" with your "kon-tent"?
 
 
# Thursday, August 21, 2008

I am a little late on the delivery of this notice but Oracle has placed out for download several new items. First up is an updated installer for the Content Server that reads version 10.1.3.3.3 which you can get here. Or you can visit MetaLink to get patches for you 10.1.3.3.2 and older content servers to bring them up to date here.

One of the things included in this pack is the OracleTextSearch component that can be used with Oracle 11g database. It provides snippets of the search term in context of the content as well as a kind of drill down menu system that can be based on Security Group or Document Type for example. I have not played with this as much as I would like to have at this point, but it is running (thanks Anton) and I have a quick picture here. The bold search term is a bit hard to see in my image, but it is there:

Thursday, August 21, 2008 7:27:12 AM (Central Daylight Time, UTC-05:00)  #    Comments [1]   Oracle UCM  | 
# Monday, August 18, 2008
Sometimes you have a Content ID and need to find the path to the Vault file. If you are in a JSP (Java Server Page) or in a Java Class in your backend component you can use this method. 10gR3 introduces the FileStoreProvider component that is not necessarily compatible with this method. I'll try to conjure up a FileStoreProvider compatible version in the future, someday. If you already have one and want to share please drop me a note! This is not without issue I suppose but it should get you started:
Monday, August 18, 2008 8:02:36 AM (Central Daylight Time, UTC-05:00)  #    Comments [0]   Oracle UCM  | 
# Wednesday, August 13, 2008

The other day I was trying to execute a search against content server in some JSP's (Java Server Page) and I wanted to perform a multi column sort, similar to how the old Multi-Sort component used to work. The content server in question was configured for DATABASE.FULLTEXT. Turns out, this is simple to perform. When you form your URL or binder (Local Data?) you need a variable named SortSpec and it should start with "order by" and follow the basic rules of a database query.

Example:

SortSpec=order by dDocType asc, dDocName desc

Another example:

http://yourserver/instance/idcplg?<original query>&SortSpec=order%20by%20dDocType%20desc,%20dDocName%20asc
Wednesday, August 13, 2008 6:40:02 AM (Central Daylight Time, UTC-05:00)  #    Comments [0]   Oracle UCM  | 
# Tuesday, August 12, 2008

If you have never been to an Open World before and you are planning on going this year you will first have to deal with the general "Shock & Awe" of the size of the thing. Once you move past that you will likely be buried deep in trying to figure out what sessions to attend and a fair bit of social networking. At some point you are bound to notice this odd thing called Unconference. Un-what? It is called the Unconference, and it is a pretty neat concept.

This is a place where rookies as well as professional presenters can setup a session about what they feel is important with information they want to share with the community. Similar to the other presentations you go to you may (or may not) see a demonstration, a PowerPoint or some other kind of general presentation, but these tend to be less formal all the way up to entirely adhoc. You can check out the time slots and the proposed sessions here:

http://wiki.oracle.com/page/Oracle+Open World+Unconference?t=anon

Unfortunately at this time I do not see much on Fusion ECM. However, over on the Bex Huff blog he has indicated recently he may give his Enterprise 2.0 Rant presentation at the Oracle Open World Unconference. If you would like to get a sneak peek then head over and check out some of the info he's already got available on that subject:

http://bexhuff.com/2008/07/enterprise-2-0-rant-available-for-all

He also talks about some additional items he will be presenting here:

http://bexhuff.com/2008/08/six-weeks-till-open-world

Unconference is not for everyone all the time, but it certainly is a good compliment to the "structured" presetnations deployed throughout the rest of the conference. Each year is different, but the value of this particular part is soley dependent on the efforts put forth by the community. So, if Unconference flops this year, I guess it is on us.

Tuesday, August 12, 2008 7:50:05 AM (Central Daylight Time, UTC-05:00)  #    Comments [0]   Oracle UCM  | 
# Monday, August 11, 2008

Perhaps the context is Site Studio. Perhaps the context is a JSP (Java Server Page) checked into Content Server. Regardless, you will eventually begin to wonder "What is this ServerBean thing?" and "What can I do with it?" I often get asked about the existence of documentation on ServerBean, and it has recently been pointed out to me that this is covered in Bex Huff's book The Definitive Guide to Stellent Content Server Development (which is pretty darn good, so get it if you don't have it).

That said, there is some information I can present here about the ServerBean class starting with the signatures of the public methods. I've sprinkled sparse notes among the methods that may or may not be of use. The simplest description of ServerBean is a shortcut class for performing actions like manipulating the local data, executing services, reading enviornment variables and executing IdocScript.

class ServerBean
{
    // Constructor
    // NOTE: A single, no argument constructor is supplied and you must use the init method to initialize
    ServerBean()

    // After the constructor you must initialize with this method
    void init(ServletRequest servletrequest)

    // Remaining Methods ///////////////////////////////////////////////////////////////////////
    void addOptionList(String s, Vector v)
    void addResultSet(String s, ServerResultSet serverresultset)

    // Remaining methods in alphabetical order
    String evalIdcScp(String s) throws ContentServerException

    // If the flag is true it means you have already wrapped the String in <$$> offsets
    String evalIdcScp(String s, boolean flag)throws ContentServerException
    String evalResInc(String s) throws ContentServerException

    // This is the long hand version of evalIdcScp, just use evalIdcScp to save some processing
    String evaluateIdocScript(String s)throws ContentServerException
    String evaluateResourceInclude(String s) throws ContentServerException
    void executeService()throws ContentServerException
    Object getCachedObject(String s)
    ServerResultSet getCurrentActiveResultSet()
    Properties getEnvironment()
    String getEnvironmentValue(String s)
    String getLocal(String s)
    Properties getLocalData()
    Vector getOptionList(String s)
    Enumeration getOptionLists()
    ServerResultSet getResultSet(String s)
    Enumeration getResultSetList()
    void parseExecuteService(String s) throws ContentServerException
    void parseExecuteService(String s, char c, char c1)throws ContentServerException
    void putLocal(String s, String s1)
    void removeLocal(String s)
    ServerResultSet removeResultSet(String s)
    void setCachedObject(String s, Object obj)
    void setEnvironment(Properties p)
    void setEnvironmentValue(String s, String s1)
    void setLocalData(Properties p)
}
Monday, August 11, 2008 9:49:04 AM (Central Daylight Time, UTC-05:00)  #    Comments [0]   Oracle WCM  | 
# Wednesday, August 06, 2008

Just a quick note that SQL Server 2008 RTM'ed today.  Read about it here.

At this point, other than some general snooping around, I am wondering how the FILESTREAM feature of SQL Server 2008 compares to the Secure Files feature of Oracle 11g Database. From the Content Server view, how does this or would this affect the File Store Provider? I know, I know, so many questions and no answers. Sorry!

For a fairly in depth post on how Oracle UCM File Store Provider works with Oracle 11g Database and a little more background on the whole thing it is worth checking out an older post over at David Roe's blog.

Wednesday, August 06, 2008 10:18:22 PM (Central Daylight Time, UTC-05:00)  #    Comments [0]   Mindlessness  | 
# Monday, August 04, 2008
If you have not had a chance to check out the latest iteration of the Web Content Management offering from Oracle you are missing out. From a development point of view this is the most flexible version yet, and from the developer perspective it is certainly the most full of promise. There are at least three features of this release that can via for a compelling reason to upgrade.
Monday, August 04, 2008 8:01:49 AM (Central Daylight Time, UTC-05:00)  #    Comments [3]   Oracle WCM  | 
# Thursday, July 31, 2008

This is just a quick introduction to batch loading content into content server with the Batch Loader application. The application can be run from the command line as well as in graphical mode. I normally run it in graphical mode.

I also like to put the check mark in the box to produce an errors file. This file is kind of neat, if anything fails it is placed in that file where you can tweak the metadata and then point batch loader at that file to attempt loading all the content that failed to load. Why might things fail? Perhaps you forgot one of the required fields like dSecurityGroup or perhaps you performed a check-in using a particular metadata value that did not exist in a validated list.

Usually you will need to add a setting to the intradoc.cfg file called Batch Loader User Name. This setting in your configuration might look like this:

BatchLoaderUserName=sysadmin 

I am sure you could come up with better values to put in this field besides “sysadmin”, but for the sake of this demonstration/test this should get you running pretty easily.

NOTE: intradoc.cfg, not config.cfg.

Now you must construct the batch load file. Nothing scary here, just a text file. This file contains key=value pairs one to a line of metadata and values and uses hash/pound characters (#) to begin lines that are comments, like this:

# This is a comment
Action=insert
dDocType=ADCCT
dDocTitle=Product Details
dDocAuthor=sysadmin
dSecurityGroup=Public
primaryFile=<path to file>
dInDate=7/23/2008
dDocName=TestContentID
<<EOD>>

What if you wanted to perform a metadata only check in? Try something like this:

# This is a comment
Action=insert
dDocType=ADCCT
dDocTitle=Product Details
dDocAuthor=sysadmin
dSecurityGroup=Public
#primaryFile=<path to file>
dInDate=7/23/2008
dDocName=TestContentID
createPrimaryMetaFile=true
<<EOD>>
Thursday, July 31, 2008 8:25:58 AM (Central Daylight Time, UTC-05:00)  #    Comments [0]   Oracle UCM  | 
# Monday, July 28, 2008

Sometimes we encounter the need to perform a search in content server that requires a lot of work with the <OR> query operator. Between that and a few other variables it might be possible to craft a query that is too long for content server. This happens especially with generated queries. If you are using universal query syntax or a verity engine for your search engine you might also encounter this. If the data you are searching on is metadata based you might be better off temporarily switching over to a database based search on the fly to find your results. By adding this setting to the query string you can change how content server interprets your search:

SearchQueryFormat=DATABASE

In most installations the Search Query Format setting will default to UNIVESAL. Now that you have switched over to a database based search you can set your query string using the IN operator for a much shorter query converting from something like this:

QueryText=xType <MATCHES> `A` <OR> xType <MATCHES> `B` <OR> xType <MATCHES> `C` <OR> xType <MATCHES> `D`

Into:

QueryText=xType IN (‘A’, ‘B’, ‘C’, ‘D’)

If you’re on a Database Full Text setup to start with you can still do this type of thing AND use full text like this:

QueryText=( xType IN (‘A’, ‘B’, ‘C’, ‘D’)) and  (<ftx>keyword</ftx>)

Perhaps the best thing you can do is at least take a moment to evaluate why you must have so much “or” based logic in your query in the first place. Or is almost always one of the most costly instructions.

Monday, July 28, 2008 5:50:13 AM (Central Daylight Time, UTC-05:00)  #    Comments [1]   Oracle UCM  | 
# Thursday, July 24, 2008

Alex Suhre just posted to the Oracle ECM Forum a link to a JavaScript based HDA data parser that allows you to paste HDA formatted data into a box and get a more human readable view of that data. It looks nice, and I have tried a few pieces of data in there and it worked well. I have not put it through the paces to see how it handles odd data or characters. It looks like you can download it as well, although you have to supply some information to be able to do so.

Real world applications? Well...not sure just yet, but it is neat, and it is always nice when a tool is turned over for community use.

Thursday, July 24, 2008 5:22:17 PM (Central Daylight Time, UTC-05:00)  #    Comments [0]   Oracle UCM  | 
Copyright © 2008 Jason Stortz. All rights reserved.