Wednesday, April 25, 2012

WebCenter Content 11g - Manually Enabling/Disabling Components


It was always helpful in 10g to be able to manually enable or disable a component by using the components.hda file, but things have changed in 11g which makes it much more helpful.

The component wizard can always be used to do this, but sometimes the easiest way is to hit the configurations directly. NOTE: this is only a trick for people that know the implications of these changes. Randomly changing hda files will have negative consequences!

One of the key changes is that the WCContent Admin Server & Content Server both run within the same managed server. In 10g, there were two separate jvms that were controlled separately. Meaning,  the content server might not have started correctly, but the admin server never was down. That means that the component control was never out of reach.

But, as of 11g, the Admin Server & Content Server both run together within the same Managed Server. That is, they are closely coupled and therefore more reliant on the stability of each other.

If a sketchy component is installed and botches the startup, you might not have the ease of access to flip off the component in order to restart the Managed Server.

Here's where and how that's done in 11g:

Find the following file:

<domain>/ucm/cs/data/components/idccs_components.hda

Note the definition is as follows:

16
name
location
status
classpath
libpath
installID
featureExtensions
classpathorder
libpathorder
Launchers
LaunchersOrder
componentsToDisable
componentTags
componentType
useType
version

The "status" is what we're after. It's values are "Enabled" and "Disabled"

example of a disabled component:

BrowserUrlPath
components/BrowserUrlPath/BrowserUrlPath.hda
Disabled
$COMPONENT_DIR/classes.jar



1




idc,integration,system,home
home

2010_03_19 (build 16)


You can see that a number of values are empty, which is fine. Make sure you don't alter any other values!

After disabling your custom component, you will be able to re-start your content server without any related complications!

Hope this helps out!
-ryan

Thursday, April 19, 2012

Searching Like a Native

A user in the Yahoo! Intradoc Users forum asked a really interesting question.
He was looking for a way to conduct database specific searches from the user interface in such a way that the database’s native functionality could be leveraged.

Well, let's put on our thinking caps, shall we?...  hmmm...

- I need a way to conduct searches in a more native fashion in UCM.
- I'm not really wanting to bust up my Content Server, because this will be a gnarly change.

The answer is (a drum roll please...) - a Content Server profile.

You might ask, "Have you lost your mind?"  Well, not totally. I've done this type of thing before.

Let me explain. Content Server has basically given you options to conduct queries in lots of ways. You just have to know and use the right flags. Keep in mind that the Content Server search works off a beast called a datasource, which is a partial query that mostly looks for a WHERE clause to execute.

- So your steps (assuming here that the Content Server is configured for full text searching - you'll need the full text box later.):

1. Create a new profile and one profile rule in Configuration Manager. For kicks, make the profile rule a search only profile, on request.




2. In the profile side effects set the following as shown:

<$SearchEngineName="DATABASE"$>
<$SearchQueryFormat="Native"$>




3. Save the rule, and add it to your new profile. Close the admin applet, and go to your newly created profiled search page.

4. Go down into the fulltext box and enter "FREETEXT(dDocTitle, 'weather floodcar')", or the appropriate "native" SQL WHERE clause for the situation and applicable to your database – minus the WHERE keyword.   (I used an IN statement for the example below.)



5. Click “Search”. Voila (or wah-wah-wah), depending on your query.

Your mileage definitely may vary, but it's a neat way to get at some of the more interesting functionality of the underlying database.

ODC: Oracle Document Capture - 10.1.3.5.1 Patch 3

Hey everyone,

Just a quick note to say that the Oracle Document Capture 10.1.3.5.1 Patch #3 has been released this week.

It's available via support patch number 12977125.

Here's the list of enhancements:

ID: Description:


8930677  SSL support has been added to the Import Server Email Provider via the SSL EasyMail plug-in.


12394097  The Import Server Email provider can now recognize .TIF files attached to email messages.


12966982  The Import Server email provider can now use TLS protocol when connecting to an email server with TLS enabled.


12989098  Users can now change the port that Import Server uses to communicate via IMAP.


13498323  Administrators can now define a file prefix in the commit-to-text profile settings.


Here is a list of the bugs addressed:

ID: Description:


7266098  An issue in Scan for ISIS and Scan for Adrenaline in which pressing CTRL+P or CTRL+N sometimes moved 2 previous or 2 next pages instead of 1 has been resolved.


7266950  For ease in managing Capture pick-list values, the cursor now returns to the Commit Value field after you add a pick-list value.


7320912  A Batch Manager issue in which unexpected results occurred after pressing Shift-F10 with no batches selected has been resolved.


7394408  An indexing issue in which a date field's value is cleared when there are hidden auto-populate fields has been resolved.


7519747  An issue in which the Commit Text File driver created output containing double backslash characters (\\) instead of single (\) has been resolved.


7666729 An issue where Recognition Server patch code information was not saved to page information when no bar codes were detected has been resolved.


8294869  An Oracle WebCenter Capture indexing issue related to double key entry was discovered: when completing the last index field on the last page of a document, the double key entry required three entries. This issue has been resolved.


8304735  An issue was resolved in which no error was returned when the text file commit driver failed to create a PDF Image Only file after a field used to create the file name was removed.


9024718  An issue in which committing a document to Searchable PDF left a 0 byte file in the local user's temp folder has been resolved.


9280060 An issue with Import, Recognition, and Commit Servers not always reconnecting to the SQL Server database upon reboot has been resolved.


9323204  An issue in which a batch containing only separator sheets was not deleted by Commit Server has been resolved.


9395850  An issue in which copying and pasting an indexed batch within the same file cabinet in Batch Manager dropped index values has been resolved.


9438508  An issue with non-English characters in Capture profiles incorrectly exporting and importing into Capture has been resolved.


9564044  A Scan for ISIS error that occurred when importing a TIF file and setting a 0 degree rotation has been resolved.


9581403 When a partial commit occurs to Oracle I/PM Context, the Oracle I/PM 10g commit driver now rolls back the document that was partially created.


9669389  An issue in which committing a document containing more than 50 color JPG images to PDF Image Only or PDF/A failed to generate the PDF has been resolved.


9768548  A Scan for ISIS issue in which 'e' and 'o' characters were removed from documents when the Remove Punch Holes option was selected has been resolved.


10046399  Several East Asian languages (Chinese, Japanese & Korean) erroneously included in the list of supported OCR languages have been removed.


10251997 An issue with Import, Recognition, and Commit Servers not reconnecting after the connection to an Oracle database is lost has been resolved.


10255065  A Scan for ISIS issue in which a configured blank page byte threshold was not working correctly has been resolved.


10273974 An issue in which Import Server fails to import an Excel spreadsheet containing a blank sheet has been resolved. 


10390831 An issue in which Recognition Server running on a virtual machine reports an error that a valid NIC was not found has been resolved.


10415394 An issue in which Import Server imported only the first page of a multi-page Tif file (with no errors returned) has been resolved.


10628866 Redundant calls to refresh file cabinets have been eliminated for the Import Server.


11069325 An Oracle I/PM 10g commit driver error that occurred when committing color images to a network batch path containing a period has been resolved.


11657420 An issue in which commit settings to generate PDF/A documents resulted in PDF Image Only documents that were not PDF/A compliant has been resolved.


11668775  An issue in which Import Server failed to import a document when a TIFF Packbits option was selected for its non-image output format has been resolved.


11769464 A log entry reported each time Import Server discovered an empty folder noting an invalid or empty path has been suppressed. 


11887036  A runtime error that occurred when copying and pasting more than 75 pages in the Indexing component has been resolved.


11902313  An issue in which Recognition Server was unable to read barcode 128 if other barcodes were also selected for recognition has been resolved. 


12347340  A connection error that occurred with multiple Commit Servers accessing the same Oracle WebCenter Capture database has been resolved.


12398608  An Index issue in which dragging thumbnails during indexing sometimes resulted in a runtime error has been resolved. 


12582875  An issue in which an Import Server IMAP SSL connection was lost when an email took more than 60 seconds to process has been resolved.


12638517  An issue in which an Oracle WebCenter Capture upgrade did not overwrite older manifest files has been resolved.


12766813  An issue with converting color PDF images to grayscale has been resolved.


12779080  An issue with patch 12540290 failing install when the Import Server is not installed has been resolved. 


12791457  An issue in which the commit prompt did not appear after completing batch indexing has been resolved. 


12801652  A runtime error 13 (type mismatch) that displayed when reviewing batches in Scan for ISIS has been resolved.


12842168  An Oracle UCM 10g commit issue in which an error stopped commit processing when error handling options were set to <NONE> has been resolved.


12883668  An Oracle I/PM 10g commit issue in which a commit profile configured for process integration failed to save has been resolved.


12903101  An issue in which grayscale LZW tiff images are read in as completely black images has been resolved.


12940014  A Type MisMatch error (13) that occurred when reviewing batches in Scan for Adrenaline has been resolved.


12972280  An error in which Batch Manager did not automatically refresh the batch list after a batch was copied and pasted to the same file cabinet has been resolved


13005265  An issue in which Scan for ISIS reserves the scanner defined for the first profile listed even when another scan profile is selected has been resolved.


13020071  An issue in which Recognition Server did not read certain barcodes in version 10.1.3.5.1 has been resolved.


13036553  A Failure to Persist Batch error that occurred when the scanner was unplugged and an OFR scan macro was in use has been resolved.


13067986  An issue in which the autopopulate value was limited to less than the maximum index field length has been resolved.


13397102  An Import Server issue in which fields on the Folder/List File Provider tab were not displayed When using the UseOITToImport registry setting has been resolved.


13436667  An issue in which batch status in Recognition server changed, regardless of pages remaining, has been resolved.


13442165  An issue in which converting PDF files with text to TIF through Import Server (using Oracle Inside Out Technology) resulted in garbled text on TIF images has been resolved.


13578094  An issue has been resolved in which administrators could not manually add users in Capture Administration, when Domain security was used and the domain list was not populated.


13576855  An issue in which committing from Commit Server to Oracle IPM 11g in certain cases resulted in multiple javaw.exe instances has been resolved.


13631083  A Java issue encountered when running Recognition Server as a service was resolved by replacing RecognitionService.exe and CommitService.exe with ImportService.exe.


11896646  An issue with Oracle IPM commit driver configuration after applying the patch has been resolved.

Tuesday, April 17, 2012

Replication between Content Server Instances


There have been several questions recently in the various WebCenter Content or Universal Content Management forums regarding how to replicate content from one instance to another. I will try to explain the process here.

There are several reasons to set up for replication between instances, such as
  1. Moving development files (templates, dynamic pages, etc.) from development to test to production
  2. Moving content from production to test so that real content is used in the testing of new developments
  3. Moving content from a contribution instance in production to a consumption instance in production
Typically when moving files from development to test and from test to production, the replication is manually. Since a development environment may have several different projects being worked at one time, it is not desirable to automatically replicate the files every time one is edited as this would disrupt testing. The same is also true of moving from test to production.  To address this, it becomes the responsibility of the development team to identify and track all the files that comprise each project so that when it is time to replicate, the proper files are moved.

In test, you may be testing a new or modified workflow or a change to a Site Studio web site. In this case, it is not always practical or desirable to have the testing team create a lot of test content. The answer is to use production content. So the test plan should identify the content to be replicated from production to test (and development). This would be done manually in most cases to meet the needs of the tests being done.

If you have set up an environment for contribution and consumption, perhaps where the contribution for an internet site is done behind the firewall and the consumption is done from the DMZ, then it would be desirable to set up an automated replication so that content is made available as soon as possible after approval in contribution.

There are also several ways to move content, and table data. All involve using the Content Server’s Archiver tool and can be done manually or in an automated fashion.  I should also mention, in an effort to be complete, that there are times when the replication of content or table data is not the entire effort. Some developments will also require the use of the Content Migration Utility (CMU) to move configuration changes, metadata, workflow or other changes from one instance to another. The use of CMU is a topic for another day.

The Archiver Applet

The Content Server’s Archiver is a Java applet that is used to transfer and reorganize Content Server files and information. Archiver has four main functions:
  • Export - Used to copy native and web-viewable files out of the Content Server instance for backup, storage, or import to another Content Server instance. You can also export content types and user attributes. You export to an archive, which contains the exported files and their metadata in the form of batch files.  In addition, the Archiver can export the contents any of the tables in the table space.
  • Import­ - Used to retrieve files and Content Server information from an exported archive. Importing is typically used to get a copy of content from another Content Server or to restore data that has been in storage. You can also change metadata values during an import.  In addition, the Archiver can import the contents any of the tables in the table space.
  • Transfer - Used to transfer content from one Content Server instance to another over sockets. This is typically used to move or copy content across a firewall or between two Content Server systems that do not have access to the same file system. You can also use the Transfer function to transfer archive files between Content Server systems that have access to the same file system. 
  • Replicate ­­- Used to automate the export, import, and transfer functions. For example, you can use replication to automatically export from one Content Server instance, transfer the archive to another computer, and import to another Content Server instance.   
You can read more about the Archiver and its functionality in the Oracle® WebCenter Content System Administrator's Guide for Content Server, 11g Release 1 (11.1.1), Chapter 8 Managing System Migration and Archiving.

Archiver Concepts

I am not going to repeat the product documentation here but there are some concepts that you need to be familiar with.

Archives

When you run the Archiver, you define the archive to be created or appended to. On the file system, each archive is a folder or subdirectory within the collection it belongs to. This archive contains all the exported content files along with one or more batch files.

Collections

A collection is, by default, a set of archives on a particular instance of a content server. It is also possible to create multiple collections within an instance.

Batch File

A batch file is a text file that contains the file records for archived content items. Batch files describe the metadata for each exported revision.
  • A new batch file subdirectory is created each time an archive is exported.
  • Each batch file contains up to 1000 file records. If an export contains more than 1000 revisions, a new batch file is created.
  • Archiver batch files are not the same as the batch files that are used with the Batch Loader application.

Source and Target

The Source is the instance where the content is coming from, usually a development or contribution instance.

The Target is where the content will end up, usually a consumption instance.

Push vs. Pull

When setting up a transfer or replication you need to consider the type you will set up: Push or Pull

A pull transfer is a transfer that is owned by the target instance.  In this type of migration the outgoing provider is setup on the target.  Below are the main characteristics of a pull transfer.

  • Multiple pull transfers can be concurrent.
  • The Pull method is best when the Target can talk to the Source but because of firewall issues the Source cannot talk to the Target.  It is also used when the Source is a Cluster.
  • If you are running a pull transfer across a firewall, you might need to configure the firewall to permit the outgoing provider’s socket to pass through it.  
A push transfer is a transfer that is owned by the source instance.   In this type of transfer the outgoing provider is setup on the source.  Below are the main characteristics of a pull transfer.
  • Only one push transfer can be in progress at a time.
  • The push method is best used when the Source system can talk to the Target but the Target cannot talk to the Source because of firewall or network issues.
  • If you are running a push transfer across a firewall, you might need to configure the firewall to permit the both providers’ sockets to pass through it.
Please refer to Oracle® WebCenter Content System Administrator's Guide for Content Server, 11g Release 1 (11.1.1), Chapter 8 Managing System Migration and Archiving for more detailed information.

Providers

Content Server allows for the creation of providers to manage connections to external entities. These can be databases, directory servers, other content servers, and several other types. For the purpose of this article, the outgoing provider is the one that is used. It is basically a connection initiated to an outside entity. You can use this type to communicate between Content Server instances. In the case of a Push transfer, you would set up an outgoing provider on both the source and the target. Doing this allows the target to talk back to the source, providing notifications about the transfer. With a Pull, you only need to set up the outgoing provider on the target instance.

For details on creating the outgoing providers, see Oracle® WebCenter Content System Administrator's Guide for Content Server 11g Release 1 (11.1.1), 4.5 Connecting to Outside Entities with Providers

Caveats

There are three principal configurations that must be in place for replication.
  • IDC_Name - Archiver cannot be used to move or copy data between two instances that share the same Content Server instance name (IDC_Name). To do so corrupts the data on the target system. It is best practice that all content servers have unique instance names.
  • SocketHostAddressSecurityFilter – Outgoing providers communicate at the socket level. You must inform the content servers of the IP addresses of the machines that will be allowed to communicate over the sockets. This setting is in the config.cfg file.
  • AutoPrefix – If you are using the AutoPrefix it must be unique between instances. It is best practice to always use the AutoPrefix and to set it to be unique between instances.  

The Replication Process

Organize Content

The best practice in managing the migration process is to use the divide and conquer approach.  Content can be divided by types and other metadata to allow for different types of transfer.  For example, web site assets will be transferred manually whereas contributed content can be setup to automatically transfer from source to target. 

Set up Communication between servers

In order to transfer content an outgoing provider must be created to facilitate transfer from one instance to another.  For a push transfer the administrator needs to create an outgoing provider on the Source and (optionally) on the Target.  For a pull transfer the administrator needs to create an outgoing provider on the Target.

One element to consider is the ability of the Target and Source to talk through the firewall.  To transfer across a firewall, the network administrator might need to configure the firewall to permit the outgoing provider’s socket to pass through it.

Manual Migration vs. Automatic Migration

Manual migration is where an archive will be created from the source instance and manually migrated to the target instance.  Manual migration is typically important when unscheduled publishing of content to production environment is not desirable.  Automatic migration also known as replication is a process where migration can occur automatically based on some setting, for example migration could be trigger by a new release.

Manual Migration

In general these are the steps to setup manual transfer. 
Manual Export Steps
  • Create an archive where the exported Content Server data will be stored.
  • In the Current Archives list, select the archive.
  • Create an export query.
  • Set configuration information export options.
  • Set the general export options.
  • Initiate the export.
Manual Transfer Steps
  • Open Archiver on the source Content Server.
  • Open the archive collection that contains the source archive.
  • Select the source archive in the Current Archives list.
  • Select Actions—Transfer.
Manual Import Steps
  • In the Current Archives list, select the archive from which to retrieve data.
  • Review the batch files in the archive. If necessary, remove revisions from the batch
  • If you want to change metadata fields or values during the import, set up the field and value mappings.
  • Set the general import options. Test the import mappings and rules on a few individual revisions.
  • Initiate the import.

Automatic Migration

Automatic Migration, also known as replication, follows these general steps

Setting up Automatic Export
  • Set up the export and run a manual export
  • Open Archiver on the Content Server that content is to be exported from.
  • Open the archive collection.
  • Select the archive to export to automatically in the Current Archives list.
  • Click the Replication tab.
  • Click Edit.  The Registered Exporter Screen is displayed.
  • Select the Enable Automated Export check box.
  • Click Register.
  • The current collection
  • Click OK.
Setting up Automatic Transfer
  • Set up the transfer and run a manual transfer.
  • Open Archiver on the source Content Server.
  • Open the archive collection.
  • Select the source archive in the Current Archives list.
  • Click the Transfer To tab.
  • Click Edit.  The Transfer Options Screen is displayed.
  • Select the Is Transfer Automated check box.
  • Click OK.
  • Test the automatic transfer
  • In the source Content Server, check in a new document that meets the export criteria.
  • If the export is automated, wait until automated export occurs after indexing. Otherwise, export the source archive manually. The archive should be transferred to the target Content Server within a few minutes.
Setting up Automatic Import
  • Set up the import and run a manual import.
  • Open Archiver on the Content Server that the archive is to be imported to.
  • Open the archive collection.
  • Select the archive to import automatically in the Current Archives list.
  • Click the Replication tab.
  • Click Register Self. You are prompted to confirm the action.
  • Click OK.

Friday, April 13, 2012

Sena Sound Bites -- Relaunch!

Hey all,

As you have probably seen, the posts over the last twelve months have been... few and far between. That is about to come to a halt. We at SENA are re-dedicating our efforts to the community.

There are many great resources available on the Oracle site from forums to documentation. Those sites are great first resources for anyone facing a current problem, but there are less resources available for shared knowledge. There are a number of blogs out there as well as Oracle's Sample Code site, and we want to share our knowledge as well.

We want to bring to the table everything from toolbox-level knowledge, for example, the types of things that you know, but might not have memorized (e.g., is it dCollectionID or xCollectionID??) to some basic RIDC commands (see Meghna's recent post: http://senasystems.blogspot.com/2012/03/ucm-file-operations-add-edit-delete.html).

We also want to continue showing off some lesser known features of WebCenter Content (http://senasystems.blogspot.com/2011/01/ucm-11g-desktop-integration-suite.html) as well as some different uses for common features (see William's post: http://senasystems.blogspot.com/2012/03/using-ucm-global-profile-rules-with.html).

But, we don't want to only focus on tips & tricks, we will also bring you some Best Practices to be used for development and project management. We have a queue of specific topics, but we will also work in some reoccurring topics. Other common posts will be around learned during our day-to-day activities as well as common errors will be explained and reviewed.

The publishing schedule will target at least one post every two to four weeks. This way we believe we can strike a good balance between our paying responsibilities and our community efforts. :)

Again, thanks for sticking with us! Be sure that there is more good stuff to come!

Thanks,
-ryan