ECM Architecthttps://blogs.oracle.com/ecmarch/feed/entries/atom2015-06-30T13:10:53+00:00Apache Rollerhttps://blogs.oracle.com/ecmarch/entry/questions_anyoneQuestions Anyone?Kevin Smith-Oracle 2012-10-18T01:06:12+00:002012-10-18T01:06:12+00:00<p><img vspace="10" hspace="10" align="right" src="https://blogs.oracle.com/ecmarch/resource/images/questions3.jpg" /> I've been working with WebCenter Content for almost 9 years now and have a ton of topics rolling around my head that I'm sure would make excellent blog post once I find the time to write them up.</p>
<p>Does anyone have any questions they would like answered? Like why does WCC do ...? How does this feature work? I can't seem to get this working?</p>
<p>Post your question to the comments and if it is something on my list of topics I had planned on creating a blog post about I will move it to the top of the list.<br /></p>https://blogs.oracle.com/ecmarch/entry/how_to_run_rcu_fromHow to run RCU from the command lineKevin Smith-Oracle 2012-09-26T13:20:27+00:002012-09-26T13:20:27+00:00<p>When I was trying to figure out how to run RCU on 64-bit Linux I found this <a href="https://blogs.oracle.com/tejas/entry/running_rcu_on_oel_linux">post</a>. It shows how to run RCU from the command line. It didn't actually work for me, so you can see my post on <a href="https://blogs.oracle.com/ecmarch/entry/how_to_run_rcu_on">how to run RCU on 64-bit Linux</a>.</p>
<p>But, seeing how to run RCU from the command got me started thinking about running RCU from the command line to create the schema for WebCenter Content. That post got me part of the way there since it shows how run RCU silently from the command line, but to do this you need to know the name of the RCU component for WebCenter Content. I poked around in the RCU files and found the component name for WCC is CONTENTSERVER11. There is a contentserver11 directory in rcuHome/rcu/integration and when you look at the contentserver11.xml file you will see</p>
<blockquote><code>&lt;RepositoryConfig COMP_ID=&quot;CONTENTSERVER11&quot;&gt;</code></blockquote>
<p>With the component name for WCC in hand I was able to use this command line to run RCU and create the schema for WCC.
</p>
<blockquote><code>.../rcuHome/bin/rcu -silent -createRepository -databaseType ORACLE -connectString localhost:1521:orcl1 -dbUser sys -dbRole sysdba -schemaPrefix TEST -component CONTENTSERVER11 -f &lt;rcu_passwords.txt<br /></code></blockquote>
<p>To make the silent part work and not have it prompt you for the passwords needed (sys password and password for each schema) you use the -f option and specify a file containing the passwords, one per line, in the order the components are listed on the -component argument. Here is the output from rcu when I ran the above command.</p>
<blockquote><code>Processing command line ....<br />Repository Creation Utility - Checking Prerequisites<br />Checking Global Prerequisites<br /><br />Repository Creation Utility - Checking Prerequisites<br />Checking Component Prerequisites<br />Repository Creation Utility - Creating Tablespaces<br />Validating and Creating Tablespaces<br />Repository Creation Utility - Create<br />Repository Create in progress.<br />Percent Complete: 0<br />...<br />Percent Complete: 100<br />Repository Creation Utility: Create - Completion Summary<br />Database details:<br />Host Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : localhost<br />Port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 1521<br />Service Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : ORCL1<br />Connected As&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : sys<br />Prefix for (prefixable) Schema Owners : TEST<br />RCU Logfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : /u01/app/oracle/logdir.2012-09-26_07-53/rcu.log<br />Component schemas created:<br />Component&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Status&nbsp; Logfile<br />Oracle Content Server 11g - Complete Success /u01/app/oracle/logdir.2012-09-26_07-53/contentserver11.log<br /><br />Repository Creation Utility - Create : Operation Completed<br /></code></blockquote>
<p>This works fine if you want to use the default tablespace sizes and options, but there does not seem to be a way to specify the tablespace options on the command line. You can specify the name of the tablespace and temp tablespace, but they must already exist in the database before running RCU. I guess you can always create the tablespaces first using your desired sizes and options and then run RCU and specify the tablespaces you created.</p>
<p>When looking up the command line options in the RCU doc I found it has the list of components for each product that it supports. See <a href="http://docs.oracle.com/cd/E23943_01/doc.1111/e14259/rcu_schemas.htm#BCFJAGEJ">Appendix B</a> in the <a href="http://docs.oracle.com/cd/E23943_01/doc.1111/e14259/toc.htm">RCU User's Guide</a>.</p>https://blogs.oracle.com/ecmarch/entry/webcenter_content_trace_sectionsWebCenter Content (WCC) Trace SectionsKevin Smith-Oracle 2012-09-26T12:21:19+00:002012-09-27T11:24:42+00:00<div>
<div>
<div>
<p><span style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">Kyle has a good <a href="https://blogs.oracle.com/kyle/entry/configuring_trace_file_size_and">post </a>on how to modify the size and number of WebCenter Content (WCC) trace files.</span></span> His post reminded me I have been meaning to write a post on WCC trace sections for a while.</p>
<p><b>searchcache </b>- Tells you if you query was found in the WCC search cache.<b></b></p>
<p><b>searchquery </b>- Shows the processing of the query as it is converted form what the user submitted to the end query that will be sent to the database. Shows conversion from the universal query syntax to the syntax specific to the search solution WCC is configured to use.<br /></p>
</div>
</div>
<div>
<p><b>services (verbose)</b> - Lists the filters that are called for each service. This will let you know what filters are available for each service and will also tell you what filters are used by WCC add-on components and any custom components you have installed. The <a href="http://www.oracle.com/technetwork/middleware/webcenter/content/index-092832.html">How To Component Sample</a> has a list of filters, but it has not been updated since 7.5, so it is a little outdated now. With each new release WCC adds more filters. If you have a filter that has no code attached to it you will see output like this:<br /> </p>
<blockquote><code><font size="2">services/6&nbsp;&nbsp;&nbsp; 09.25 06:40:26.270&nbsp;&nbsp;&nbsp; IdcServer-423&nbsp;&nbsp;&nbsp; Called filter event computeDocName with no filter plugins registered</font><br /></code></blockquote>
When a WCC add-on or custom component uses a filter you will see trace output like this:<br />
<blockquote><code>services/6&nbsp;&nbsp;&nbsp; 09.25 06:40:26.275&nbsp;&nbsp;&nbsp; IdcServer-423&nbsp;&nbsp;&nbsp; Calling filter event postValidateCheckinData on class collections.CollectionValidateCheckinData with parameter postValidateCheckinData<br />services/6&nbsp;&nbsp;&nbsp; 09.25 06:40:26.275&nbsp;&nbsp;&nbsp; IdcServer-423&nbsp;&nbsp;&nbsp; Calling filter event postValidateCheckinData on class collections.CollectionFilters with parameter postValidateCheckinData</code></blockquote>
As you can see from this sample output it is possible to have multiple code points using the same filter.
<p> </p>
<p><b>systemdatabase </b>- Dumps the database call AFTER it executes. This can be somewhat troublesome if you are trying to track down some weird database problems. We had a problem where WCC was getting into a deadlock situation. We turned on the systemdatabase trace section and thought we had the problem database call, but it turned out since it printed out the database call after it was executed we were looking at the database call BEFORE the one causing the deadlock. We ended up having to turn on tracing at the database level to see the database call WCC was making that was causing the deadlock.</p>
<p><b>socketrequests (verbose) </b>- dumps the actual messages received and sent over the socket connection by WCC for a service. If you have gzip enabled you will see junk on the response coming back from WCC. For debugging disable the gzip of the WCC response.Here is an example of the dump of the request for a GET_SEARCH_RESULTS service call.<br /></p> <font size="1"><code>
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: REMOTE_USER=sysadmin.USER-AGENT=Java;.Stel<br />
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: lent.CIS.11g.CONTENT_TYPE=text/html.HEADER<br />
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: _ENCODING=UTF-8.REQUEST_METHOD=POST.CONTEN<br />
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: T_LENGTH=270.HTTP_HOST=CIS.$$$$.NoHttpHead<br />
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: ers=0.IsJava=1.IdcService=GET_SEARCH_RESUL<br />
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: TS...?hda.jcharset=UTF-8?...@Properties.Lo<br />
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: calData.SortField=dDocName.ClientEncoding=<br />
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: UTF-8.IdcService=GET_SEARCH_RESULTS.UserTi<br />
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: meZone=UTC.UserDateFormat=iso8601.SortDesc<br />
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: =ASC.QueryText=dDocType..matches..`Documen<br />
socketrequests/6 09.25 06:46:02.501 IdcServer-6 request: t`.@end.<br /></code></font>
<p> </p>
<p><b>userstorage, jps</b> - Provides trace details for user authentication and authorization. Includes information on the determination of what roles and accounts a user has access to. In 11g a new trace section, jps, was added with the addition of the JpsUserProvider to communicate with WebLogic Server.<br /></p>
<p>The WCC developers decide when to use the verbose option for their trace output, so sometime you need to try verbose to see what different information you get.</p>
<p>One of the things I would always have liked to see if the ability to turn on verbose output selectively for individual trace sections. When you turn on verbose output you get it for all trace sections you have enabled. This can quickly fill up your trace files with a lot of information if you have the socket trace section turned on.<br /></p>
</div>
</div>https://blogs.oracle.com/ecmarch/entry/how_to_run_rcu_onHow to run Repository Creation Utility (RCU) on 64-bit LinuxKevin Smith-Oracle 2012-09-26T11:58:09+00:002012-09-26T11:58:09+00:00<p>I was setting up WebCenter Content (WCC) on a new virtual box running 64-bit Linux and ran into a problem when I tried to run the Repository Creation Utility (RCU). I saw this error when trying to start RCU</p>
<blockquote><code>.../rcuHome/jdk/jre/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory</code></blockquote>
<p>I think I remember running into this before and reading something about RCU only being supported on 32-bit Linux. I decided to try and see if I could get it to run on 64-bit Linux.</p>
<p>I saw it was using it's own copy of java (.../rcuHome/jdk/jre/bin/java), so I decided to try and get it to use the 64-bit JRockit I had already installed. I edited the rcu script in rcuHome/bin and replaced</p>
<blockquote><code>JRE_DIR=$ORACLE_HOME/jdk/jre</code></blockquote>
<p>with</p>
<blockquote><code>JRE_DIR=/apps/java/jrockit-jdk1.6.0_29-R28.2.2-4.1.0</code></blockquote>
<p>Sure enough that fixed it. I was able to run RCU and create the WCC schema.</p>https://blogs.oracle.com/ecmarch/entry/always_disable_the_8_3Always disable the 8.3 name creation on Windows before installing WebCenter Content or WebLogic ServerKevin Smith-Oracle 2012-09-21T21:10:12+00:002014-03-21T11:53:10+00:00<p>You should always disable the 8.3 name creation feature when installing WebCenter Content on a Windows platform. The installs will normally work without it disabled, but you will find the weird 8.3 file and directory names in all the config files. Disabling it can also improve performance.</p>
<p>On Windows XP and Windows Server 2003 and above you can do it with this command:</p>
<blockquote><code>fsutil.exe behavior set disable8dot3 1</code></blockquote>
<p>To make sure it is disabled you can run this command to check:</p>
<blockquote><code>fsutil.exe behavior query disable8dot3</code></blockquote>
<p>If the 8.3 file name creation is disabled you will see the following output from the command:</p>
<blockquote><code>The registry state of NtfsDisable8dot3NameCreation is 1 (Disable 8dot3 name creation on all volumes).</code></blockquote>
<p>Here is a Microsoft note on how to do this on Windows 2000 and Windows NT.</p>
<p><a href="http://support.microsoft.com/kb/121007">How to Disable the 8.3 Name Creation on NTFS Partitions</a></p>
<p>I see now they have added this to the WebCenter Content Install Guide. They suggest doing it using a Windows registry settings.</p>
<p><a href="http://docs.oracle.com/cd/E29542_01/doc.1111/e14495/install.htm#CIHGDHFB">http://docs.oracle.com/cd/E29542_01/doc.1111/e14495/install.htm#CIHGDHFB</a> <br /></p>https://blogs.oracle.com/ecmarch/entry/be_aware_of_the_differenceBe aware of the difference between CURRENT_DATE and SYSDATEKevin Smith-Oracle 2012-09-20T20:10:47+00:002012-09-20T20:10:47+00:00<p>I was running some queries in SQL Developer against the WebCenter Content (WCC) schema that included date fields such as dInDate. I was comparing the dates against CURRENT_DATE. I was not getting the expected results. I did some googlng and didn’t find a solution, but I did run across a reference to SYSDATE. I tried SYSDATE in my queries and got the expected results.</p>
<p>I did a TO_CHAR on the two date fields and found they returned different times. CURRENT_DATE returned the time from my laptop which was&nbsp; in the EDT time zone. SYSDATE returned the time from the database server which happened to be in the PDT time zone. I guess if both the database server and my laptop were in the same time zone I would not have seen any problem.</p>
<p>Here is the query I ran to display the two fields.</p>
<blockquote>
<p><code>select to_char(current_date,'DD-MON-YY HH:MI:SS'), to_char(sysdate,'DD-MON-YY HH:MI:SS') from dual;</code></p>
</blockquote>
<p>As you can see from the screen shot from SQL Developer they definitely returned different times.</p>
<p><img src="https://blogs.oracle.com/ecmarch/resource/images/sqldev3.jpg" /><br /></p>
<p>I’m sure there is some command or setting you can use to prevent this problem, but for me the take away is to use SYSDATE in your queries when you want to do any date comparison.<br /> </p>https://blogs.oracle.com/ecmarch/entry/when_is_the_default_storageWhen is the default storage rule not really the default storage rule?Kevin Smith-Oracle 2012-09-19T12:00:48+00:002012-10-02T13:38:03+00:00<p>
</p>
<p>In 11g WebCenter Content (WCC) introduced dispersion rules in the vault and weblayout directory paths to better distribute content across the directories. The dispersion rule was based on dRevClassID. The only problem with this is that dRevClassID did not remain the same when you copied content from one WCC instance to another using Archiver like in a contribution-consumption scenario. This could cause problems because the web-viewable path would not be the same between the contribution and consumption instances.
<br />
</p>
<p>In the PS5 (11.1.1.6.0) release of WCC they addressed this by configuring the File Store Provider (FSP) so that all new content would use a storage rule with a dispersion rule based on dDocName, which would stay the same when content was copied to another WCC instance. To support migration from older versions of WCC they left the <b>default </b>storage rule unchanged and created a new storage rule called <b>DispByContentId</b> and made that the default storage rule for all new content.
<br />
</p>
<p>I only stumbled upon this a while back when I was trying to change the FSP configuration so that all content used a webless storage rule. I changed the default storage rule, restarted WCC, and checked in a new content item. To my surprise the new content was not created as webless. I struggled with this for a while until I noticed there were multiple storage rules defined in the FSP configuration. When I looked at the default value for the xStorageRule field in Configuration Manager, sure enough it was no longer <b>default</b>, but was now <b>DispByContentId</b>.
</p>
<p><img src="https://blogs.oracle.com/ecmarch/resource/images/StorageRuleDefaultValue.jpg" />
</p>
<p>Once I updated the DispByContentId storage rule to webless and restarted WCC all my new content was now created using the webless storage rule, just like I wanted.
</p>
<p>I noticed when I was creating this blog post that the default storage rule is also listed on the File Store Provider Information page, but I guess I didn't see that when I originally did this.
</p>
<p><img src="https://blogs.oracle.com/ecmarch/resource/images/DefaultFileStoreInfoPage.jpg" />
</p>https://blogs.oracle.com/ecmarch/entry/scriptdebugtrace_is_now_ispagedebug_inScriptDebugTrace is now IsPageDebug in 11gKevin Smith-Oracle 2012-07-25T21:18:09+00:002012-10-08T18:56:24+00:00<p class=" " style="margin: 0in 0in 10pt;"><font face="Calibri">I keep forgetting what they changed this option to in 11g. Luckily Kyle has a nice blog post on it.</font> </p>
<p class=" " style="margin: 0in 0in 10pt;"><font face="Calibri"><a href="http://blogs.oracle.com/kyle/entry/page_debugging_easier_in_ucm_11g">http://blogs.oracle.com/kyle/entry/page_debugging_easier_in_ucm_11g</a></font> </p>
<p class=" " style="margin: 0in 0in 10pt;"><font face="Calibri"></font> </p>https://blogs.oracle.com/ecmarch/entry/if_you_ever_need_toIf you ever need to replace a key on your keyboardKevin Smith-Oracle 2012-07-20T20:58:18+00:002012-09-19T11:00:10+00:00<p>I recently popped one of the keys off my laptop keyboard and was left with the key, and two little white pieces of plastic that were somehow supposed to all go back together to get the key back on the keyboard. After messing around with it for 30 minutes I did a quick search and found this site. <br /></p>
<p><a href="http://www.laptopkey.com/installation_guides.php">http://www.laptopkey.com/installation_guides.php </a></p>
<p>It has a video instruction for how to replace keys on what seems every model of laptop and keyboard. I never would have figured out how to put the pieces back together again.</p>
<p>Of course the people who created the web site did not do it out of the goodness of their heart. You can also purchase replacement keys for your keyboard on the site.<br /></p>
<p> </p>https://blogs.oracle.com/ecmarch/entry/yet_another_fsp_postYet another FSP PostKevin Smith-Oracle 2011-10-14T10:45:07+00:002011-10-14T10:45:07+00:00<p>I found another problem with the default FSP rules in 11.1.1.5.0. The default dispersion rule use dRevClassID</p>
<pre>&nbsp;&nbsp;&nbsp;$dRevClassID[-9:-6:0:b]/$dRevClassID[-6:-3:0:b]</pre>
<p>The problem is that dRevClassID will change if you use Archiver to copy your content to another UCM instance. This is a common practice using a &quot;Contribution - Consumption Model&quot;. Content is created and updated on a &quot;Contribution&quot; UCM instance and then Archiver is used to copy the content to a &quot;Consumption&quot; instance where it is viewed by users/consumers. If dRevClassID is used in the dispersion rule the webviewable URL will change when the content is copied from contribution to consumption. If you have any links to the content, say from a Site Studio site, they will not work on the consumption instance.</p>
<p>I talked to development about this and they said they realized the problem existed a while back and it will be addressed in the next patch set (11.1.1.6.0) by using dDocName instead of dRevClassID.</p>
<pre>&nbsp;&nbsp;&nbsp;$dDocName[-9:-6:0:b]/$dDocName[-6:-3:0:b]</pre>
<p>You may want to consider changing the dispersion rules in your system to match this if you are going to be using a contribution - consumption model</p>https://blogs.oracle.com/ecmarch/entry/webdav_in_ucm_11gWebDAV in UCM 11gKevin Smith-Oracle 2011-05-27T12:49:28+00:002012-10-08T19:06:07+00:00<p>The format for the WebDAV URL has changed in 11g. It is now</p>
<pre> http://server:16200/_dav/cs/idcplg/webdav/</pre>
<p>If you are using OHS in front of UCM it will be</p>
<pre>&nbsp;&nbsp; http://server/_dav/cs/idcplg/webdav/</pre>
<p>and you will have to add _dav location to themod_wl_ohs.conf file<br /></p>
<pre>&nbsp;&nbsp; &lt;Location /_dav&gt;
&nbsp;&nbsp; .
&nbsp;&nbsp; .
&nbsp;&nbsp; .
&nbsp;&nbsp; &lt;/Location&gt;</pre>
<p>P.S. If you are creating a connection from the Desktop Integration Suite to WebCenter Content make sure to include the / at the end of the URL. I left it off by mistake and it would not connect.</p>
<p> </p>https://blogs.oracle.com/ecmarch/entry/more_on_file_store_providerMore on File Store ProviderKevin Smith-Oracle 2011-05-20T05:30:56+00:002012-10-02T13:36:41+00:00<p>In PS4 (11.1.1.5.0) you can now fully edit the FSP storage rule using the web interface instead of having to edit the hda files. I think this was actually added in a patch for PS3 (11.1.1.4.0). This makes it easier to manage FSP storage rules.
</p>
<p>When I was researching the FSP behavior I found this in the Admin User's Guide.
</p>
<blockquote><a href="http://download.oracle.com/docs/cd/E21764_01/doc.1111/e10792/c02_settings.htm#CIHHIGJF" target="_blank">4.3.2 FileStoreProvider Upgrade</a>
<p>The FileStoreProvider component is installed, enabled, and upgraded by default for a new Oracle Content Server instance (with no documents in it). The upgrade includes creation of metadata fields with default values for the file store system (DefaultFileStore). Earlier versions of the Oracle Content Server software did not automatically upgrade the file store system, and sites could choose to not use the file store system, to not upgrade to use FileStoreProvider, and to uninstall the FileStoreProvider component and metadata fields. <i>If you do not want to upgrade FileStoreProvider from your current settings, prior to installation you must enter the configuration variable <b>FsAutoConfigure=false</b> in the Additional Configuration Variables field on the General Configuration page of the Oracle Content Server Admin Server page.</i>
</p>
</blockquote>
<p>I'm not exactly sure how you get to the Admin Server before you actually do the install. That would be quite a trick if you could do it. What I think they mean is that you need to add it to the config.cfg file that exists before you start the install, or actually before you create the WebLogic domain or add UCM to an existing domain. I have not tried this myself, but I&nbsp;would suspect that you would add it to the following file:
</p>
<blockquote><font face="courier new,courier,monospace">Oracle_ECM1/ucm/idc/config/config.cfg</font>
</blockquote>
<p>The other place you might want to try adding it is to the config.cfg that is created in the ucm/cs/config directory AFTER you add UCM to a WebLogic domain, but BEFORE you start it for the first time. I suspect that the FSP upgrade is done as part of the initial start up of UCM.
</p>
<p>You would do this if you were installing a new 11g UCM instance and wanted it to work that same way as a 10g instance that was not using&nbsp; the FSP.
<br />
</p>https://blogs.oracle.com/ecmarch/entry/ps4_is_outPS4 is outKevin Smith-Oracle 2011-05-11T18:14:02+00:002011-05-13T11:14:40+00:00<p>Patch Set 4 (PS4) for all the Fusion Middleware products including UCM has been released. The release number for this version is 11.1.1.5.0.</p>
<p>The full installer for UCM is available on the <a href="http://www.oracle.com/technetwork/middleware/content-management/downloads/index-085241.html">Oracle Universal Content Management 11gR1 Downloads</a> page on OTN.<br /></p>
<p>Here is the <a href="http://download.oracle.com/docs/cd/E23104_01/download_readme_ps4/download_readme_ps4.htm">Download, Installation, and Configuration ReadMe</a> for all the FMW products. It contains links to download the patch installers from My Oracle Support.</p>
<p>For ECM there does not seem to be many new features or enhancements. It is mostly a bug fix release.</p>
<p> There are some details in this My Oracle Support Note, <a href="https://support.oracle.com/CSP/main/article?cmd=show&amp;type=NOT&amp;id=1316076.1">1316076.1</a></p>
<p></p>
<ul>
<li>Google Chrome 10</li>
<li>Support for JRockit 6 Update 24 Release 28.1.3</li>
<li>IRM Desktop support for Windows 7 64-bit</li>
<li>Internet Explorer 9 certification<br /></li>
</ul>https://blogs.oracle.com/ecmarch/entry/changes_to_file_store_providerChanges to File Store Provider in UCM PS3Kevin Smith-Oracle 2011-02-09T16:54:36+00:002012-10-02T13:36:09+00:00In the recent PS3 release of UCM (11.1.1.4.0) there are some significant changes to the File Store Provider (FSP) configuration. For new PS3 installs (not upgrades from PS2) the FSP default storage rule includes a dispersion rule that will change the web-layout and vault paths by adding dispersion directories to the paths to limit the number of files in the vault and web-layout directories. What that means is that if you install a new PS3 UCM instance and migrate content in from a previous version of UCM the web URL will change. That is a critical problem for web sites and just general document management. Read the rest of this post where I describe the issue in detaill and provide instructions for how to modify a PS3 instance to use the old format for the web-layout path.<p>In the recent PS3 release of UCM (11.1.1.4.0) there are some significant changes to the File Store Provider (FSP) configuration. For new PS3 installs (not upgrades from PS2) the FSP default storage rule includes a dispersion rule that will change the web-layout and vault paths by adding dispersion directories to the paths to limit the number of files in the vault and web-layout directories. What that means is that if you install a new PS3 UCM instance and migrate content in from a previous version of UCM the web URL will change. That is a critical problem for web sites and just general document management.
</p>
<p>Read the rest of this post where I describe the issue in detaill and provide instructions for how to modify a PS3 instance to use the old format for the web-layout path.In PS2 (11.1.1.3.0) the FSP configuration was the same as in 10gR3. Before you could use the storage rule feature of FSP you had to upgrade the FSP by clicking the Upgrade button on the FSP provider page. To see the FSP page go to the Providers page (Administration -&gt; Providers) and click on the Info link for the DefaultFileStore Provider.
</p>
<p>
<form style="DISPLAY: inline" class="mt-enclosure mt-enclosure-image" mt:asset-id="12942"><img class="mt-image-none" alt="ps3fsp1small.jpg" src="http://blogs.oracle.com/ecmarch/resource/images-fsp/ps3fsp1small.jpg" width="600" height="482" />
</form>
</p>
<p>In PS2 you will see that the FSP has an Upgrade button.
</p>
<p>
<form style="DISPLAY: inline" class="mt-enclosure mt-enclosure-image" mt:asset-id="12941"><img class="mt-image-none" alt="ps2fsp1small.jpg" src="http://blogs.oracle.com/ecmarch/resource/images-fsp/ps2fsp1small.jpg" width="600" height="281" />
</form>
</p>
<p>In PS3 the FSP is automatically upgraded as part of the base install and you can use the Edit button to view the FSP configuration.
</p>
<p>
<form style="DISPLAY: inline" class="mt-enclosure mt-enclosure-image" mt:asset-id="12943"><img class="mt-image-none" alt="ps3fsp2small.jpg" src="http://blogs.oracle.com/ecmarch/resource/images-fsp/ps3fsp2small.jpg" width="600" height="224" />
</form>
</p>
<p>After clicking on the Edit button you will see the Edit File Store Provider page and you can click the Edit Rule button to see the default storage rule.
</p>
<p>
<form style="DISPLAY: inline" class="mt-enclosure mt-enclosure-image" mt:asset-id="12944"><img class="mt-image-none" alt="ps3fsp3small.jpg" src="http://blogs.oracle.com/ecmarch/resource/images-fsp/ps3fsp3small.jpg" width="600" height="299" />
</form>
</p>
<p>The default storage rule is displayed and you can see that it now include a dispersion rule.
</p>
<p>
<form style="DISPLAY: inline" class="mt-enclosure mt-enclosure-image" mt:asset-id="12945"><img class="mt-image-none" alt="ps3fsp4small.jpg" src="http://blogs.oracle.com/ecmarch/resource/images-fsp/ps3fsp4small.jpg" width="600" height="498" />
</form>
</p>
<p>The default dispersion rule will result in vault and web-layout paths that have extra directory levels to spread the files across more directories. The impact on the Vault path is not important since that is not visible to the users, but the changes to the web-viewable path affects the web URL. Here is an example URL for a content item with the dispersion rules in place.
</p>
<p>http://host:port/cs/groups/public/documents/document/mdaw/mdaw/~edisp/ucm_000010.pdf
</p>
<p>The storage rule page does not allow you to edit the dispersion rule, web-viewable path or web URL file path. Accordiing to product management this is going to be addressed in a patch. Until then if you want to remove the dispersion rule from the vault and web-layout paths you will need to manually edit the FSP provider.hda file.
</p>
<p>If you have already imported content into your PS3 instance follow these steps to remove the displersion rule from the vault and web-layout paths. if you do this before importing any content then you can save yourself the effort of the export and import.
<br />
<ol>
<li>Create an archive and export all the content. Delete all the existing content as part of the export.
<br /> </li>
<li>Stop the UCM managed server.
<br /> </li>
<li>Edit the following file:
<br />
<br /><code><i>domain_directory</i>/ucm/cs/data/providers/defaultfilestore/provider.hda
<br /></code>
<br /> </li>
<li>To change the vault path, replace
<br />
<br /><small><code>vault
<br />$#env.VaultDir$$dDocType$/$dDocAccount$/$dispersion$/$dID$$ExtensionSeparator$$dExtension$</code></small>
<p>
</p>
<p>with
</p>
<p><small><code>vault
<br />$#env.VaultDir$$dDocType$/$dDocAccount$/$dID$$ExtensionSeparator$$dExtension$
<br /></code></small>
<br />
</p> </li>
<li>To change the web-layout path and web URL, replace
<br />
<br /><small><code>web
<br />$FsWeblayoutDir$groups/$dSecurityGroup$/$dDocAccount$/documents/$dDocType$/$dispersion$/~edisp/$dDocName$$RenditionSpecifier$$RevisionLabel$$ExtensionSeparator$$dWebExtension$</code></small>
<p>
</p>
<p>with
</p>
<p><small><code>web
<br />$FsWeblayoutDir$groups/$dSecurityGroup$/$dDocAccount$/documents/$dDocType$/$dDocName$$RenditionSpecifier$$RevisionLabel$$ExtensionSeparator$$dWebExtension$</code></small>
</p>
<p>and replace
</p>
<p><small><code>weburl.file
<br />$FsHttpWebRoot$groups/$dSecurityGroup$/$dDocAccount$/documents/$dDocType$/$dispersion$/~edisp/$dDocName$$RenditionSpecifier$$RevisionLabel$$ExtensionSeparator$$dWebExtension$</code></small>
</p>
<p>with
</p>
<p><small><code>weburl.file
<br />$FsHttpWebRoot$groups/$dSecurityGroup$/$dDocAccount$/documents/$dDocType$/$dDocName$$RenditionSpecifier$$RevisionLabel$$ExtensionSeparator$$dWebExtension$</code></small>
<br />
</p> </li>
<li>Restart the UCM managed server.
<br /> </li>
<li>Import all the content from the Archive created in step #1.
<br /> </li>
<li>Validate the web-viewable URL no longer contains the dispersion directories.
<br /> </li>
<li>Check in a new content item and validate the web-viewable URL no longer contains the dispersion directories.
<br /></li>
</ol>
<p>
</p>