<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Content on Content Management &#187; Metadata</title>
	<atom:link href="http://contentoncontentmanagement.com/category/metadata/feed/" rel="self" type="application/rss+xml" />
	<link>http://contentoncontentmanagement.com</link>
	<description></description>
	<lastBuildDate>Tue, 03 Aug 2010 12:57:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<atom:link rel="next" href="http://contentoncontentmanagement.com/category/metadata/feed/?page=2" />

		<item>
		<title>Auto Fill That Friendly Name</title>
		<link>http://contentoncontentmanagement.com/2009/03/auto-fill-that-friendly-name/</link>
		<comments>http://contentoncontentmanagement.com/2009/03/auto-fill-that-friendly-name/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 22:12:02 +0000</pubDate>
		<dc:creator>David Roe</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Metadata]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Site Studio]]></category>

		<guid isPermaLink="false">http://contentoncontentmanagement.com/?p=203</guid>
		<description><![CDATA[This is kind of a fun component&#8230;nothing too special, but I think a nice example of something you can do with UCM filter events, specifically the validateCheckinData event.  What is does is automatically assign a friendly web file name to &#8230; <a href="http://contentoncontentmanagement.com/2009/03/auto-fill-that-friendly-name/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is kind of a fun component&#8230;nothing too special, but I think a nice example of something you can do with UCM filter events, specifically the validateCheckinData event.  What is does is automatically assign a friendly web file name to site studio content using the title of the item.  The funtionality I was trying to emulate is pretty similar to what this blog does.  Whenever I post something, WordPress take the title and turns it in to a friendly file name by sort of removing any spaces or funny characters and then adding .htm on the end.  Shouldn&#8217;t be too hard to do in UCM/Site Studio right?</p>
<h3>A little background</h3>
<p>In Site Studio there are two types of pages;  Primary pages, which are essentially the landing pages for a folder(think home, search and listing pages).  They are almost always named index.htm and what&#8217;s unique about them is that when they are called they only refence specific content items.  Secondary pages, which could be viewed as everything else in a folder differ as they are used in more of traditional templated, delivery fashion, where the content is delivered through a reuseable template.  I butchering those descriptions a little for simplicities sack, but for the most part that&#8217;s how they work.</p>
<p>Out of the box, Site Studio lets you reference a content item using it&#8217;s content id in the url.  So if you had a content item called 000525, it would be referenced in a folder with it&#8217;s content id at the end(<a href="http://SiteStudio.com/site/folder/000525">http://SiteStudio.com/site/folder/000525</a> for example).  Since all templates are mapped to thier folder, everything you need to render a page can be found in the URL&#8230;it&#8217;s all pretty simple.  The thing is, what if you aren&#8217;t too crazy about the 000525 name though?  It&#8217;s not really all that intuative of a name; you could make the content id friendly or you could use also take advantage of the SSUrlFieldName property in Site Studio.  The SSUrlFieldName property allows you to map a custom metadata field(perhaps one longer than the 30 characters you get for a content id?) as the file name idenifiier used when reference in a URL.</p>
<p>So content item 000525 can also have a metadata field tagged as &#8220;autofillthatfriendlyname.htm&#8221; and so when refereced as a url, it could look like this: http://SiteStudio.com/site/folder/autofillthatfriendlyname.htm.  That&#8217;s pretty cool, right?  There is a bit of a catch though, like the content id the value used in the friendly name field should be unique.  The only problem though is that there&#8217;s no automatic validation for the values, so there&#8217;s nothing to tell the contributor if they&#8217;ve duplicated a value.</p>
<h3><span style="color: #000000;">What the component does</span></h3>
<p>The code for this component is pretty simple, we&#8217;re hooking in to the validateCheckinData event and then basically updating whatever field is identified in the SSUrlFieldName property with a friendly name.  I like the validateCheckinData filter quite bit for situations like this where I need to update or add some metadata at check in or update time.  If I have to kick a process off or do something to a piece of content that has just been checked in, so after it&#8217;s in the system, I usually prefer the afterLoadRecordWebChange, but that&#8217;s probably for another post.</p>
<p>Getting back on track, once a piece of content is checked in which has a xWebsiteSection value(meaning it&#8217;s been assigned a default URL in a web site), it pulls the dDocTitle value out of the binder and makes it friendly(removes any spaces or special characters I could think of).  It then appends a file extension(set in the environmental config) and checks the value against the database.  If the friendly name has been used before on another content item it goes back and adds a 1 to the end of the title part of the file name(I know&#8230;not very imaginative).  Each time the component assembles a name it checks it against a max character count also found in the component&#8217;s enviornmental config.</p>
<h3>Installing this puppy</h3>
<p>The install on this component is not really unlike any other.  You of course do need to make sure Site Studio is installed on your content server and that the SSUrlFieldName property has been set in the config.cfg file.  I should note that when you set the SSUrlFieldName property, you need to leave the little x prefixing all custom metadata fields off.  So no xFieldName formats&#8230;just FieldName.  You probably will need to tell the component what the size of your friendly name field is.  It&#8217;s defaulted to 80 characters, so if you  plan on using less or more, you might want to update it in the component&#8217;s environmental config file.</p>
<p>You can download the component here:  <a rel="attachment wp-att-209" href="http://contentoncontentmanagement.com/2009/03/auto-fill-that-friendly-name/autofillfriendlyname/">Auto Fill Friendly Name</a></p>
]]></content:encoded>
			<wfw:commentRss>http://contentoncontentmanagement.com/2009/03/auto-fill-that-friendly-name/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Yahoo Terms Extractor for Stellent / Oracle</title>
		<link>http://contentoncontentmanagement.com/2007/10/yahoo-terms-extractor-for-stellent-oracle/</link>
		<comments>http://contentoncontentmanagement.com/2007/10/yahoo-terms-extractor-for-stellent-oracle/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 03:55:38 +0000</pubDate>
		<dc:creator>David Roe</dc:creator>
				<category><![CDATA[ECM]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Metadata]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Stellent]]></category>
		<category><![CDATA[Dynamic Conversion]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://ContentOnContentManagement.com/2007/10/15/yahoo-terms-extractor-for-stellent-oracle/</guid>
		<description><![CDATA[How cool is Yahoo?  I was poking around their developer network page after looking up some YUI documentation and I came across their Terms Extraction service.  The service allows you to post content to it and return a list of &#8220;significant &#8230; <a href="http://contentoncontentmanagement.com/2007/10/yahoo-terms-extractor-for-stellent-oracle/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>How cool is Yahoo?  I was poking around their <a href="http://developer.yahoo.com/search/content/V1/termExtraction.html">developer network</a> page after looking up some YUI documentation and I came across their <a href="http://developer.yahoo.com/search/content/V1/termExtraction.html">Terms Extraction</a> service.  The service allows you to post content to it and return a list of &#8220;significant words or phrases&#8221; ordered by importance.  I ran a couple test posts and sure enough it did a pretty good job figuring out the relevant terms and ranking them more or less how I probably would.  I assume it&#8217;s the same or at least a similar indexer to the one Yahoo&#8217;s own search probably uses.</p>
<p>However it&#8217;s done, I think their server has a huge amount of potential from an ECM perspective.  Nearly every client of mine has asked about offering some level of automation to their meta-tagging while contributing content.  While many of the enterprise vendors offer applications to automatically tag content, I find that they are usually focused on batch loading or migrating content, rather than assisting the every day contributor.  In my ideal world I&#8217;d love to see contribution forms come up pre-loaded with system recommended meta-data, allowing contributors to make only necessary edits and then simply approve thier submissions.</p>
<p>I was pretty pumped when I ran across Yahoo&#8217;s service, so I decided to throw together a quick component to take advantage of it for  Stellent / Oracle Universal Content Server.  Nothing too crazy here, the component basically adds an additional option to the Content Action menu called &#8220;Add Yahoo Terms&#8221;, which executes a service called &#8220;ADD_YAHOO_TERMS&#8221;.</p>
<p>The service then does the following:</p>
<ul>
<li>Performs a dynamic conversion on the document</li>
<li>Reads the contents of the resulting HCST output file</li>
<li>Posts the HTML to Yahoo&#8217;s Terms Extraction service</li>
<li>Parses(XML) the terms returned</li>
<li>Creates a comma delimited list of the best terms</li>
<li>Saves the list to the binder in a predesignated memo meta-data field(the default is xComments)</li>
</ul>
<p>The remainder of the service is basically the GET_UPDATE_FORM service, which brings up the update form.  Since the terms are in the binder as a meta-data field, the update forms comes up pre-loaded with the document&#8217;s meta-data as well as the Yahoo terms in the pre-designated field.  From there on you are on the standard Stellent / Oracle update form, so saving will commit your changes.</p>
<p>It&#8217;s a pretty simple integration, nothing revolutionary, but I think it&#8217;s a decent example of how one might integrate Stellent with Yahoo&#8217;s service.</p>
<p>Feel free to download the component here:</p>
<p><a rel="attachment wp-att-20" href="http://ContentOnContentManagement.com/2007/10/15/yahoo-terms-extractor-for-stellent-oracle/yahoo-terms-extractor-integration-for-stellent-oracle/" title="Yahoo Terms Extractor Integration for Stellent / Oracle">Yahoo Terms Extractor Integration for Stellent / Oracle</a></p>
]]></content:encoded>
			<wfw:commentRss>http://contentoncontentmanagement.com/2007/10/yahoo-terms-extractor-for-stellent-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multi-dimensional Metadata?</title>
		<link>http://contentoncontentmanagement.com/2007/10/multi-dimensional-metadata/</link>
		<comments>http://contentoncontentmanagement.com/2007/10/multi-dimensional-metadata/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 02:02:01 +0000</pubDate>
		<dc:creator>David Roe</dc:creator>
				<category><![CDATA[ECM]]></category>
		<category><![CDATA[Metadata]]></category>

		<guid isPermaLink="false">http://ContentOnContentManagement.com/2007/10/03/multi-dimensional-metadata/</guid>
		<description><![CDATA[I&#8217;ve got an idea for some of the ECM vendors out there.  How about allowing us to create multiple active versions of metadata for each content item?  Right now, on most systems, there&#8217;s more or less a single record related &#8230; <a href="http://contentoncontentmanagement.com/2007/10/multi-dimensional-metadata/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got an idea for some of the ECM vendors out there.  How about allowing us to create multiple active versions of metadata for each content item?  Right now, on most systems, there&#8217;s more or less a single record related to each item in the repository.  We (implementers) in turn spend quite a bit of time during requirements and design time figuring out how to put together a simple yet elegant metadata model using that single record.  The problem that I find though is that content categorisation tends to be a pretty subjective process and most items end up with &#8220;best fit&#8221; as determined by the contributor.</p>
<p>The reality of course is that content consumers also have their own subjective idea of how each piece of content should be categorised and when the two don&#8217;t mesh there&#8217;s a disconnect.  The standard ECM answer here is that if there is a disconnect like that you&#8217;re metadata model is probably broken.  But what if instead of our standard model contributors were able to add multiple different contextual records to a content item?  You&#8217;re now looking at a variety of different search paths to the same piece of content as well as the ability to provide different metadata for different uses.</p>
<p>The question that comes up of course is &#8220;Couldn&#8217;t we accomplish the same thing by adding more fields?&#8221;.  And the answer is probably not.  Adding more fields means that users must know where to look or must look in multiple places to find what they are looking for.  If theoretically there were multiple dimensions of metadata for a single item, there would be different paths to the same content.  Dimension one&#8217;s description may not match the search criteria, but dimension two&#8217;s does.</p>
<p>I started thing about this, while working with a pretty sizable taxonomy implemented as a six field dynamic choice list in then Stellent(now Oracle).  What I kept running in to were documents which could easily be assigned to multiple locations in the taxonomy.  In some of them, each paragraph was applicable for a different location.  So why not let it happen? </p>
<p>In addition, having only a single record puts an emphasis on getting the metadata right the first time.  I believe that if systems could support multiple records, authors might feel more comfortable using tagging automation.  Perhaps 5-10 dimensions of metadata added through automation could be just as effective as a single record manually input?</p>
]]></content:encoded>
			<wfw:commentRss>http://contentoncontentmanagement.com/2007/10/multi-dimensional-metadata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

