<?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>Function1 &#187; Publisher</title>
	<atom:link href="http://www.function1.com/category/publisher/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.function1.com</link>
	<description>Discussing all things portal, WebCenter Interaction, WebCenter Suite, Sharepoint, and related technologies.</description>
	<lastBuildDate>Fri, 25 Jun 2010 15:20:23 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>An Early Christmas Present: Free code to list Published Content Links</title>
		<link>http://www.function1.com/2009/12/an-early-christmas-present-free-code-to-list-published-content-links/</link>
		<comments>http://www.function1.com/2009/12/an-early-christmas-present-free-code-to-list-published-content-links/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 18:37:21 +0000</pubDate>
		<dc:creator>Brian Hak</dc:creator>
				<category><![CDATA[Publisher]]></category>

		<guid isPermaLink="false">http://wp.function1.server296.com/?p=435</guid>
		<description><![CDATA[Howdy all, hope this note finds you well and recovering from Turkey overload.
Warning: This is a pretty specific discussion of a pretty specific situation that occurs when you&#8217;re moving a bunch of stuff around in Publisher.  If you&#8217;re not interested in Publisher and it&#8217;s idiosyncrasies,  you should save your time and skip this post.
Anyhow, with the [...]]]></description>
			<content:encoded><![CDATA[<p>Howdy all, hope this note finds you well and recovering from Turkey overload.</p>
<p><strong>Warning:</strong> This is a pretty specific discussion of a pretty specific situation that occurs when you&#8217;re moving a bunch of stuff around in Publisher.  If you&#8217;re not interested in Publisher and it&#8217;s idiosyncrasies,  you should save your time and skip this post.</p>
<p>Anyhow, with the holiday season upon us and all, I figured I&#8217;d share the source code for a little Publisher utility I recently put together.  I&#8217;m working with a client who is in the process of a major Publisher update: they&#8217;re re-organizing their publisher content hierarchy to operate more efficiently.  This is all fine and dandy, except for the fact that many of their content items link to other content items.  As such, when they re-organize their content hierarchy, a bunch of embedded links are going to break :(  For example, consider the following:</p>
<p>The file:</p>
<p><span id="more-435"></span></p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p>$pub_root/<strong>foo</strong>/foo.html</p></blockquote>
<p>contains a link to another content item that looks like:</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p>http://pubcontentserver/<strong>bar</strong>/bar.html</p></blockquote>
<p>So far so good, except that during the content migration, the <strong>foo</strong> and <strong>bar</strong> directories are getting rolled into one new folder named <strong>foobar</strong>. When this happens, we&#8217;ll end up with the following files:</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><em>$pub_root/<strong>foobar</strong>/foo.html</em></p></blockquote>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><em>$pub_root/<strong>foobar</strong>/bar.html</em></p></blockquote>
<p>Unfortunately, Publisher isn&#8217;t smart enough to fix embedded links for you when you move stuff around within the hierarchy.  The net result is that our link in foo.html is out of date and pointing to a file that doesn&#8217;t exist:</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><em></p>
<p>http://pubcontentserver/<strong>bar</strong>/bar.html</em></p></blockquote>
<p>What we&#8217;d like to happen, though, is for our link to point to the new location of the file, i.e.:</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><em>http://pubcontentserver/<strong>foobar</strong>/bar.html</em></p></blockquote>
<p>This particular client has a bunch of published content items (in the tens of thousands), which makes it pretty impractical to ask someone to manually go through every published content item and look for links that are going to break.  So I volunteered to write a script/program to go through and identify potential problem links automatically.  I have to admit I first volunteered because I thought this was going to be really easy to figure out via. a recursive grep:</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><em>From $PUB_CONTENT_ROOT on filesystem</em></p></blockquote>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><em><strong>find . | xargs grep -i &#8216;publishedcontent&#8217;</strong></em></p></blockquote>
<p>Just to make me mad though, while the grep approach works, it returns too many false positives.  It turns out that a lot of the out-of-the-box content items have links back to themselves, i.e something like:</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p>in the file $PUB_CONTENT_ROOT/foo/foo.html</p></blockquote>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><em><strong>http://pubcontentserver/foo/foo.html#myTarget</strong></em></p></blockquote>
<p>And Publisher is smart enough to fix these self-referencing links when you move the items around, i.e. the link above gets updated to</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p>in the file $PUB_CONTENT_ROOT/foobar/foo.html<br />
<strong>http://pubcontentserver/foobar/foo.html#myTarget</strong>
</p></blockquote>
<p>
What we really need is a piece of code that does the following:</p>
<ol>
<li>Recurse down the published content tree and examine all the published content items</li>
<li>Check for links to other published content items in each file.  This can be done by looking for a specific token, which by default, is &#8220;publishedcontent&#8221;</li>
<li>At this point, we have a list of all the links to content items in the file.  However, we need to filter out the self-referencing links that will get auto-updated by Publisher.  To do this, let&#8217;s look at the path in the link, and ignore any references that point to the same directory.  For example:<br />
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span>In the file <em>$PUB_CONTENT_ROOT/foo/foo.html</em></span><br />
<span>We&#8217;ll capture the link <em>http://putcontentserver/<strong>bar</strong>/bar,html</em></span><br />
<span>But we&#8217;ll ignore the link http://pubcontentserver/<strong>foo</strong>/mystuff.html because it will be auto-updated by Publisher.</span></p></blockquote>
</blockquote>
</li>
<li>Dump all matches found out to a file so the links can be reviewed and fixed.</li>
</ol>
<p>So I wrote some code that does the above.  Go grab <a href="http://www.function1.com/images/LinkChecker.java">LinkChecker.java</a> if you&#8217;re interested.  The code is pretty simple, but it does have a few caveats which are all listed in the comments.  You should be able to compile the code with a JDK 1.5+ compiler without any external dependencies:</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><em>javac com\function1\utility\LinkChecker.java</em></p></blockquote>
<p>And then run it pretty easily too:</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span><em>java -classpath . com.function1.utility.LinkChecker my/path/to/pubcontent_root/publish</em></span></p></blockquote>
<p>Note that the code actually generates two output files: <em>published_content_links.log</em> and <em>external_links.log</em>.  <em>published_content_links.log</em> is the list of all the links and files that fall into the scenario outlined above.  <em>external_links.log </em>just lists all links in content items that are to non-published content items (i.e. links to external websites, and other portal links).</p>
<p>Eventually, somebody with a little motivation could evolve this code to the next logical iteration and add functionality to auto-check the links that are grabbed.  Would be pretty simple to do by adding something like:</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span><em>URLConnection myLink = new URLConnection(currentLink);</em></span><br />
<span><em>int statusCode = myLink.getResponseCode();</em></span></p></blockquote>
<p>But then you have to think about faking portal authentication and all that other good stuff that I&#8217;m not really up for tonight.  Anyhow, hope this little utility comes in handy for at least somebody out there on the internet&#8230;.enjoy the early (admittedly pretty lame) Christmas present from your friends at Function1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2009/12/an-early-christmas-present-free-code-to-list-published-content-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript &#8216;Access is Denied&#8217; Error When Using Publisher RichText Editor</title>
		<link>http://www.function1.com/2009/09/javascript-access-is-denied-error-when-using-publisher-richtext-editor/</link>
		<comments>http://www.function1.com/2009/09/javascript-access-is-denied-error-when-using-publisher-richtext-editor/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 13:30:00 +0000</pubDate>
		<dc:creator>jeremy</dc:creator>
				<category><![CDATA[Bug]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Portal Server]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[Aqualogic Publisher 6.4 6.5 Rich Text Editor Javascript Error PTControls.js Edit]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/270/uncategorized/javascript-access-is-denied-error-when-using-publisher-richtext-editor</guid>
		<description><![CDATA[There&#8217;s no better way to express my creative side than building colorful announcements and news articles with the ALI Publisher Rich Text Editor. Aqua text with burgundy background and cool animated gifs are all I need to create eye-popping, nausea-inducing, kaleidoscopes of information. But ALAS, one of my trusted clients could not share in this excitement [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">There&#8217;s no better way to express my creative side than building colorful announcements and news articles with the ALI Publisher Rich Text Editor. Aqua text with burgundy background and cool animated gifs are all I need to create eye-popping, nausea-inducing, kaleidoscopes of information. But ALAS, one of my trusted clients could not share in this excitement because of a pesky Javascript error.</span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">A common, yet cryptic message awaits Publisher users who find the Rich Text Editor mysteriously stops working. When editing a Publisher document, the Rich Text window displays a blank box and cannot be clicked on or changed. The corresponding Javascript error message is anything but useful:</span></p>
<p><span id="more-270"></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.5in"><span style="COLOR: #3366ff"><span style="font-size: small;"><span style="font-family: 'Times New Roman';">Error: Access is denied</span></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.5in"><span style="COLOR: #3366ff"><span style="font-size: small;"><span style="font-family: 'Times New Roman';">Code: 0</span></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.5in"><span style="COLOR: #3366ff"><span style="font-size: small;"><span style="font-family: 'Times New Roman';">URL: http://[servername]/portal/server.pt/gateway/PTARGS_xxxxxx</span></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-size: small;"><span style="font-family: 'Times New Roman';"><span style="color: #000000;"></span></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"><br />
<span class="mt-enclosure mt-enclosure-image" style="DISPLAY: inline"><img class="mt-image-center" style="text-align: center; margin: 0px auto 20px; width: 556px; display: block; height: 344px;" src="http://www.function1.com/site/Javascript%20Error%20When%20using%20RichText%20Editor%20in%20Publisher%20-%20javascript_error.jpg" alt="Javascript Error When using RichText Editor in Publisher - javascript_error.jpg" width="988" height="607" /></span><br />
<span class="mt-enclosure mt-enclosure-image" style="DISPLAY: inline"> </span> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-size: small;"><span style="font-family: 'Times New Roman';"><span style="color: #000000;">So what&#8217;s going on?<span style="mso-spacerun: yes"> </span>Long story short, there&#8217;s a bug in the PTControls.js Javascript implementation.<span style="mso-spacerun: yes"> </span>The script tries to set the default source of Rich Text Editor iFrame to &#8220;index.html&#8221;, making the erroneous assumption that index.html will always exist.<span style="mso-spacerun: yes"> In some situations, t</span>he resulting 404 error causes Internet Explorer to freak out and report &#8220;Access Denied&#8221;.<span style="mso-spacerun: yes"> </span>Note that there are a couple of solutions to this problem.<span style="mso-spacerun: yes"> </span></span></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1"><span style="color: #000000;"><span style="font-family: 'Times New Roman';"><span style="mso-list: Ignore"><span style="font-size: small;">1)</span><span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="font-size: small;">If you consult the <a href="http://download-llnw.oracle.com/docs/cd/E13174_01/alui/publisher/docs64/relnotes/Release_Notes_ALI_Publisher_v6-4.htm">Publisher Release notes</a>, </span></span></span><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">you&#8217;ll be told this is a bug in IE, and to turn off &#8221;Show Friendly HTTP Error Messages&#8221;.<span style="mso-spacerun: yes"> </span>Unfortunately, a) this isn&#8217;t an IE bug, it&#8217;s a problem with the  Portal Javascript, b) this &#8220;fix&#8221; doesn&#8217;t always work in all environment and c) it&#8217;s often unpractical to push an IE configuration change out to your entire user base.<span style="mso-spacerun: yes"> </span>Anyhow, if you have a controlled environment, with a limited number of users, you might be able to mask this issue by disabling &#8220;Show Friendly HTTP Error Messages&#8221; in Internet Explorer.</span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.5in"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1"><span style="color: #000000;"><span style="font-family: 'Times New Roman';"><span style="mso-list: Ignore"><span style="font-size: small;">2)</span><span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="font-size: small;">Make sure the default iFrame &#8220;src&#8221; attribute points to something that doesn&#8217;t generate a 404.<span style="mso-spacerun: yes"> </span>You can do this by either pointing to a well-know file that is sure to exist (i.e. something like </span></span></span><a href="http://myimageserver/dummy.html"><span style="font-family: 'Times New Roman'; color: #0000ff; font-size: small;">http://myimageserver/dummy.html</span></a><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">), or just setting the &#8220;src&#8221; attribute to a javascript value that won&#8217;t cause the browser to bomb.<span style="mso-spacerun: yes"> </span>In either case, you&#8217;re going to have to update two lines of code in PTControls.js at:</span></p>
<p class="ListParagraph" style="MARGIN: 0in 0in 0pt 0.5in"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.5in"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.5in"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">$IMAGESERVER_HOME/common/private/js/jscontrols/LATEST/PTControls.js</span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"><br />
<span class="mt-enclosure mt-enclosure-image" style="DISPLAY: inline"><img class="mt-image-center" style="text-align: center; margin: 0px auto 20px; width: 588px; display: block; height: 284px;" src="http://www.function1.com/site/Javascript%20Error%20When%20using%20RichText%20Editor%20in%20Publisher%20-%20PTControlsjs.jpg" alt="Javascript Error When using RichText Editor in Publisher - PTControlsjs.jpg" width="1034" height="416" /></span> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">Make a quick backup of this file, and then search for lines that look like:</span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-FAMILY: Arial; COLOR: #3366ff; FONT-SIZE: 10pt">var src = (PTBrowserInfo.IS_NETSCAPE_DOM) ? &#8221; : &#8216; src=&#8221;&#8216; + ((this.defaultPageURL) ? this.defaultPageURL : &#8216;index.html&#8217;) + &#8216;&#8221;&#8216;;</span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">You should find two instances of the above.<span style="mso-spacerun: yes"> </span>Now change those lines to read:</span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-FAMILY: Arial; COLOR: #3366ff; FONT-SIZE: 10pt">var src = &#8220;src=&#8217;javascript:false;&#8217;&#8221;;</span><span style="COLOR: #3366ff"></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">Save the Javascript file, hit the Publisher Editor to confirm things are working, and <a href="http://en.wikipedia.org/wiki/Bob's_your_uncle">Bob&#8217;s your uncle!</a></span><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;"> With the error fixed, the editor window will allow access to the iFrame and its contents. We can all get back to creating announcements in Papyrus Fuscia, Size 5 like my muse, <a href="http://www.ski-utah-rentals.com/">Ski Utah</a>! If only <a href="http://en.wikipedia.org/wiki/Blink_element">&lt;blink&gt;</a> was still supported in MSIE.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2009/09/javascript-access-is-denied-error-when-using-publisher-richtext-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Import Content into Publisher</title>
		<link>http://www.function1.com/2009/04/import-content-into-publisher/</link>
		<comments>http://www.function1.com/2009/04/import-content-into-publisher/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 20:57:57 +0000</pubDate>
		<dc:creator>Hani Atalla</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[Quick Code]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/262/uncategorized/import-content-into-publisher</guid>
		<description><![CDATA[These are exciting times with Aqualogic (ALI) and its direction as a Portal technology after Oracle&#8217;s acquisition of BEA Systems.&#160; Some of our ALI clients have decided to migrate off ALI&#8217;s Content Management System (CMS), Publisher, and adopt a different platform; e.g. Adobe Contribute. While others are embracing the new Portal CMS Web Center Interaction [...]]]></description>
			<content:encoded><![CDATA[<p>These are exciting times with Aqualogic (ALI) and its direction as a Portal technology after Oracle&#8217;s acquisition of BEA Systems.&nbsp; Some of our ALI clients have decided to migrate off ALI&#8217;s Content Management System (CMS), Publisher, and adopt a different platform; e.g. <a href="http://www.adobe.com/products/contribute/"><u>Adobe Contribute</u></a>. While others are embracing the new Portal CMS Web Center Interaction stack, more specifically, Universal Content Management (UCM) as a Publisher alternative as they migrate from their existing CMS; e.g. <a href="http://www.dsfsolutions.com/"><u>Dynamic Site Framework</u></a>. Each organization has its unique set of requirements and IT governance that define its decision.&nbsp; But, under any circumstances, the task of migrating content into Publisher or out of Publisher doesn&#8217;t&nbsp;have to be a manual or laborious task.&nbsp; </p>
<p>Since the Portal&#8217;s inception during&nbsp;Plumtree days, a set of APIs were provided to programmatically interact with the underlying Portal objects.&nbsp; The API&#8217;s name might have changed through the product&#8217;s evolution &#8211; Enterprise Development Kit 5.x (EDK) during Plumtree days, Interaction Development Kit (IDK) 6.x during the portal&#8217;s short lived years with BEA and it seems that Oracle will retain the IDK name as it just prefixed it with &#8220;Oracle WebCenter&#8221; and just changed the version numbering to <a href="http://download.oracle.com/docs/cd/E13158_01/alui/idk/docs103/index.html"><u>10.x</u></a> Yet, the concept remains unchanged: a set of interfaces for Portal objects &#8211; portlets, documents, projects, folders, communities, security groups, etc.)</p>
<p>With that said, we compiled a high level example of how to programmatically import content items from an external CMS to UCM/Publisher. In a subsequent example we will address how to export content items from Publisher/UCM to HTML and then load these to a target CMS while leveraging its intrinsic API set.</p>
<p><span id="more-262"></span></p>
<p><font color="#00b050">//initially we want to establish a remote session to the portal where soapConnectionURL is web service end point<br /></font><font color="#0000ff">IRemoteSession remoteSession = RemoteSessionFactory.getExplicitLoginContext(<br />new URL(&#8220;http://YourPortalserver/ptapi/services/QueryInterfaceAPI&#8221;), yourUserName, yourPassword);</font><font color="#0000ff"><br />IContentFactory contentFactory = remoteSession.getContentFactory();</font></p>
<p><font color="#0000ff"></p>
<p></font><font color="#00b050">// get the required publisher object managers from IContentFactory<br /></font><font color="#0000ff">folderManager = contentFactory.getFolderManager();<br />contentItemManager = contentFactory.getContentItemManager();<br />propertyManager = contentFactory.getPropertyManager();<br />presentationTemplateManager = contentFactory.getPresentationTemplateManager();<br />dataEntryEntryTemplateManager = contentFactory.getDataEntryTemplateManager();<br /></font><font color="#00b050"></font></p>
<p><font color="#00b050">// create a text property to store HTML content<br /></font><font color="#0000ff">ITextBlockProperty textBlockProperty = propertyManager.createTextBlockProperty(&#8220;htmlTextProperty&#8221;, &#8220;htmlText&#8221;);<br />IFolder folder = folderManager.getFolderByPath(targetFolderPath&#8221;);<br /></font><font color="#00b050"></font></p>
<p><font color="#00b050">// create a presentation template that would use the html property<br /></font><font color="#0000ff">String templateText = &#8220;htmlTextProperty=&lt;pcs:value expr=\&#8221;htmlTextProperty\&#8221;&gt;unset&lt;/pcs:value&gt;\n&#8221;;<br />IPresentationTemplate presentationTemplate = presentationTemplateManager.createPresentationTemplate(folder, &#8220;Presentation Template&#8221;, templateText);<br />presentationTemplate.store();<br /></font><font color="#00b050"></font></p>
<p><font color="#00b050">// create a data entry template and attach the newly created presentation template<br /></font><font color="#0000ff">IDataEntryTemplate dataEntryTemplate = dataEntryTemplateManager.createDataEntryTemplate(folder, &#8220;Data Entry Template&#8221;);<br />dataEntryTemplate.addProperty(textBlockProperty);<br />dataEntryTemplate.attachPresentationTemplate(presentationTemplate);<br />dataEntryTemplate.store();<br /></font><font color="#00b050"></font></p>
<p><font color="#00b050">//create a content item and set the rich/block text property with the HTML from the source CMS<br /></font><font color="#0000ff">IContentItem contentItem = contentItemManager.createContentItem(folder, &#8220;contentItemNameGoesHere&#8221;, dataEntryTemplate);<br />textBlockProperty.setTextBlockProperty(&#8220;Hello &lt;strong&gt;&lt;font color=\&#8221;#000000\&#8221;&gt;World&lt;/font&gt;&lt;/strong&gt;&#8221;); <br />contentItemManager.checkInItem(contentItem, &#8220;Initial checkin.&#8221;);</p>
<p></font><font color="#00b050">// publish the content item<br /></font><font color="#0000ff">contentItemManager.publishContentItem(contentItem);</p>
<p></font>&nbsp;</p>
<p>The above code sample is a draft for how you can upload an HTML string from a separete CMS into Publisher as a content item, some of these method calls should be refactored outside the main method since, more likely, you&#8217;ll be looping through the source CMS content repository. Feel free to ping us if you have any questions.</p>
<p>&nbsp;</p>
<p>Thanks.<br /><font color="#0000ff"></font>&nbsp; </p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2009/04/import-content-into-publisher/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Publisher 6.5 &#8211; Workaround for Broken Upgrades</title>
		<link>http://www.function1.com/2008/09/publisher-6-5-workaround-for-broken-upgrades/</link>
		<comments>http://www.function1.com/2008/09/publisher-6-5-workaround-for-broken-upgrades/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 07:02:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Bug]]></category>
		<category><![CDATA[Publisher]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/245/uncategorized/publisher-6-5-workaround-for-broken-upgrades</guid>
		<description><![CDATA[Ruh, roh.&#160; This one&#8217;s a doozy.&#160; Yeah, I&#8217;m pretty high on Publisher 6.5, especially the feature where Publisher no longer issues a redirect for published content, greatly improving performance because it allows the portal to cache all this content.
Unfortunately, I just ran into a major problem with this feature in a dev upgrade: the servlet [...]]]></description>
			<content:encoded><![CDATA[<p>Ruh, roh.&nbsp; This one&#8217;s a doozy.&nbsp; Yeah, I&#8217;m <a href="http://www.function1.com/site/2008/08/ali-publisher-65-released.html">pretty high on Publisher 6.5</a>, especially the feature where Publisher no longer issues a redirect for published content, greatly improving performance because it allows the portal to cache all this content.</p>
<p>Unfortunately, I just ran into a major problem with this feature in a dev upgrade: the servlet for streaming all this content back doesn&#8217;t do any transformations on any of the URLs.&nbsp; This is bad, since if you&#8217;re doing an upgrade, you&#8217;ve likely got hundreds or thousands of Content Items with relative links or images in them.&nbsp; For example, suppose you have an existing Content Item with an image in it (that has been published to the same folder in Publisher).&nbsp; The reference for this image will likely be:</p>
<p>
<pre>&lt;img src="myimage.jpg"&gt;</pre>
</p>
<p>This worked fine with the old redirector, as the image tag would be transformed:</p>
<p>http://server/portal/server.pt/gateway/PTARGS_0_1_493_234_684_43/http%3B/ptpublisher%3B7087/<strong>publishedcontent/publish/folder1/folder2</strong>/image.jpg</p>
<p>But with the new content streaming functionality, this link does NOT get transformed the way you&#8217;d expect; the portal sees the relative link as relative to the SERVLET, not relative to the existing Content Item.&nbsp; So the browser sees a URL like this:</p>
<p>http://server/portal/server.pt/gateway/PTARGS_0_1_493_234_684_43/http%3B/ptpublisher%3B7087/<strong>ptcs/PublishedContentServlet</strong>/image.jpg</p>
<p>&#8230; which obviously isn&#8217;t right.</p>
<p>In fact, Oracle seems to be aware of this: in the content.properties file, they changed the LTCUseRelativeURLs setting to &#8220;false&#8221; (it was &#8220;true&#8221; in 6.4).&nbsp; That way, for NEW Content Items, the URLs are all absolute, which prevents this problem from coming up.</p>
<p>I was going to revoke my recommendation to upgrade to 6.5 for now, but came across a really easy fix to get all the benefits of 6.5 without this glaring bug.&nbsp; Hit the link for the workaround.</p>
<p><span id="more-245"></span></p>
<p>The solution:&nbsp; turn off the servlet in the &#8220;Published Content&#8221; Web Service.&nbsp; Oracle left the redirector in there, and while this means you won&#8217;t get the scalability benefits of the new servlet, at least it&#8217;ll buy you time to check on the hundreds of Content Items you&#8217;ve already got.</p>
<p>Just change the Portlet URL for the &#8220;Published Content&#8221; Web Service from &#8220;PublishedContentServlet/proxy&#8221; to &#8220;published_content_redirect.jsp&#8221;, and all of the existing items should work again:</p>
<p>
<p><img class="mt-image-none" height="261" alt="publisher_65_redirect.jpg" src="http://www.function1.com/site/2008/09/10/publisher_65_redirect.jpg" width="369" /></p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2008/09/publisher-6-5-workaround-for-broken-upgrades/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Aqualogic Interoperability Matrix</title>
		<link>http://www.function1.com/2008/09/aqualogic-interoperability-matrix/</link>
		<comments>http://www.function1.com/2008/09/aqualogic-interoperability-matrix/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 01:36:22 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[ALBPM]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Portal Server]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[Studio]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/241/uncategorized/aqualogic-interoperability-matrix</guid>
		<description><![CDATA[I mentioned the ALI Interoperability Matrix (login required) in the Publisher 6.5 post, and realized that I don&#8217;t always go to the official site to check compatible versions of the Aqualogic stack; instead I just use a locally saved copy because it&#8217;s quicker to pull up.&#160; 
Obviously, the locally saved snapshot can get out of [...]]]></description>
			<content:encoded><![CDATA[<p>I mentioned the <a href="http://one.bea.com/portal/server.pt?open=512&amp;objID=3422&amp;&amp;PageID=5325&amp;mode=2" target="_new">ALI Interoperability Matrix</a> (login required) in the <a href="http://www.function1.com/site/2008/08/ali_publisher_65_released.html">Publisher 6.5 post</a>, and realized that I don&#8217;t always go to the official site to check compatible versions of the Aqualogic stack; instead I just use a locally saved copy because it&#8217;s quicker to pull up.&nbsp; </p>
<p>Obviously, the locally saved snapshot can get out of date over time, but it&#8217;s nice to have when you need it in a pinch (having been on sites that don&#8217;t allow you to connect to their network).</p>
<p><span id="more-241"></span></p>
<p>If you want an Excel copy of the matrix, you can download it <a href="http://www.function1.com/site/2008/08/24/ali_interoperability_20080824.xls">here</a>.&nbsp; Keep in mind it&#8217;s only current as of the end of August 2008, but for prior versions of the portal, the information should be pretty static. For the latest version, visit <a href="http://one.bea.com/portal/server.pt?open=512&amp;objID=3422&amp;&amp;PageID=5325&amp;mode=2" target="_new">one.bea.com</a> (while it lasts).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2008/09/aqualogic-interoperability-matrix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ALI Publisher 6.5 Released</title>
		<link>http://www.function1.com/2008/08/ali-publisher-6-5-released/</link>
		<comments>http://www.function1.com/2008/08/ali-publisher-6-5-released/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 05:49:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Publisher]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/240/uncategorized/ali-publisher-6-5-released</guid>
		<description><![CDATA[As you may have heard, Publisher 6.5 was released last week.&#160; And this isn&#8217;t one of those baby releases that just changes the BEA branding to Oracle &#8211; it&#8217;s a legit upgrade, and I&#8217;d encourage everyone to make the move &#8211; if not for the new features, for the boatload of bug fixes.&#160; Even if [...]]]></description>
			<content:encoded><![CDATA[<p>As you may have heard, Publisher 6.5 was released last week.&nbsp; And this isn&#8217;t one of those baby releases that just changes the BEA branding to Oracle &#8211; it&#8217;s a legit upgrade, and I&#8217;d encourage everyone to make the move &#8211; if not for the new features, for the boatload of bug fixes.&nbsp; Even if you&#8217;re not ready to upgrade to the 6.5 portal, it&#8217;s supported with ALI 6.1 MP1 and MP2 (see the <a href="http://one.bea.com/portal/server.pt?open=512&amp;objID=3422&amp;PageID=5325&amp;mode=2" target="_new">Interoperability Matrix</a> &#8211; login required).</p>
<p>See the <a href="http://edocs.bea.com/alui/publisher/docs65/relnotes/Release_Notes_ALI_Publisher_v6-5.htm" target="_new">release notes for full details</a>, but here&#8217;s a quick summary from the huge list of bug fixes and enhancements:</p>
<p><strong>Adaptive Tag is broken in Rich Text Editor at switching WYSIWIG to HTML editor. (Issue #54748) <br />Only &#8220;Time&#8221;, &#8220;Page Name&#8221; &amp; Community name&#8221; transformer tags display the value. (Issue #42867)</strong></p>
<p><strong>Rich Text Control does not support anchor tags &#8216;#&#8217; in &lt;a href=#&lt;/a&gt; links. (Issue #55759) </strong></p>
<p>These issues are reason enough to upgrade to 6.5!&nbsp; No longer do you have to use Presentation Templates to leverage adaptive tags &#8211; the new <a href="http://en.wikipedia.org/wiki/Dijit_Editor" target="_new">Dojo WYSIWYG editor </a>doesn&#8217;t delete your tags, and even shows them unformatted in the rich text editor that you know they&#8217;re there.&nbsp; Sure, ideally it would be nice if these tags were actually parsed (so the rich text editor would show the actual opener link below), but I&#8217;m not complaining &#8211; this is a huge step forward.</p>
<p>
<p><img class="mt-image-none" height="304" alt="publisher_65.jpg" src="http://www.function1.com/site/2008/08/24/publisher_65.jpg" width="533" /></p>
<p>&nbsp;</p>
<p><strong>Publisher content is accessed via a redirect.jsp page which AquaLogic Interaction does not cache. This can cause major performance problems. (Issue #48758) </strong></p>
</p>
<p><strong>In a clustered environment, published_content_noredirect.jsp fails to proxy the entirety of the published content page. (Issue #60272) </strong></p>
<p>This is also an enormouse improvement!&nbsp; Rather than issuing&nbsp;a redirect, the Publisher Redirector now streams the data from the Published Content server directly back to the Portal Server.&nbsp; Why is this big?&nbsp; Because now the portal is able to cache all this published content, resulting in dramatically lower loads to Publisher and dramatically increased performance for end users.</p>
<p>Also of note, this was actually an undocumented feature in 6.4, which was <a href="http://fsanglier.blogspot.com/2008/06/alui-publisher-part-2-increase.html" target="_new">discovered by Fabien Sanglier</a>.&nbsp; In fact, he even <a href="http://fsanglier.blogspot.com/2008/06/alui-publisher-part-2-increase_30.html" target="_new">fixed the bug</a> about all content not coming back.&nbsp; Ah, Fabien, always ahead of the times&#8230;</p>
<p><strong>When you publish a document to the Knowledge Directory, it uses the description as the filename. (Issue #62669) </strong></p>
<p>We&#8217;ve <a href="http://www.function1.com/site/2008/02/beware-publisher-bug-broken-ur.html">run into this one before</a> &#8211; good to know that you no longer need to beg support for the critical fix!</p>
<p>&nbsp;</p>
<p>Finally, the new Dojo Rich Text Editor includes a spell checker.&nbsp; Hit the link for a screen shot of that wonderful piece of functionality in action.</p>
<p><span id="more-240"></span></p>
<p><p><img class="mt-image-none" height="440" alt="publisher_65_spellcheck.jpg" src="http://www.function1.com/site/2008/08/24/publisher_65_spellcheck.jpg" width="508" /></p>
<p>Meh, who needs spell check anyway?&nbsp; If I ever figure out what&#8217;s up with this thing, I&#8217;ll post the fix!</p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2008/08/ali-publisher-6-5-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ALI Maintenance Packs Remove Licensing Entirely</title>
		<link>http://www.function1.com/2008/06/ali-maintenance-packs-remove-licensing-entirely/</link>
		<comments>http://www.function1.com/2008/06/ali-maintenance-packs-remove-licensing-entirely/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 14:45:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[ALBPM]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[PEP]]></category>
		<category><![CDATA[Portal Server]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[Search Server]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/221/uncategorized/ali-maintenance-packs-remove-licensing-entirely</guid>
		<description><![CDATA[Well, Oracle&#8217;s gift keeps givin&#8217;:&#160; First, they published unlimited license keys for all ALUI products, and now, they&#8217;ve release maintenance packs for everything with all the licensing stripped out completely!
Go Oracle!
&#160;

Update June 9, 2008: Sorry ladies and gents, I just spent the day trying to upgrade our dev environment here.&#160; After downloading hundreds of megabytes [...]]]></description>
			<content:encoded><![CDATA[<p>Well, Oracle&#8217;s gift keeps givin&#8217;:&nbsp; First, they <a href="http://www.function1.com/site/2008/06/rip-ali-elicensing-the-wicked.html" target="_new">published unlimited license keys </a>for all ALUI products, and now, they&#8217;ve release maintenance packs for everything with all the licensing <a href="http://one.bea.com/portal/server.pt/gateway/PTARGS_0_398529_11662_2756_8833_43/http%3B/prodgadget14.plumtree.com/publishedcontent/publish/sc___alerts___technical_support/articles/de_license_various_aqualogic_interaction_products.html" target="_new">stripped out completely</a>!</p>
<p>Go Oracle!</p>
<p>&nbsp;</p>
<p><span id="more-221"></span></p>
<p><em>Update June 9, 2008</em>: Sorry ladies and gents, I just spent the day trying to upgrade our dev environment here.&nbsp; After downloading hundreds of megabytes worth of installer packages&nbsp;that wouldn&#8217;t even open in Winzip, I tried again and was able to open them.&nbsp; Sadly, they (at least Publisher and Collab, and I assume the rest of them) still required license keys.&nbsp; I suspect what happened is that whovever uploaded the real updated installers didn&#8217;t FTP them as binary files (which would corrupt the files), and they rolled back to the original versions today.&nbsp; I&#8217;m sure it&#8217;s coming, but I was also a little disappointed in this false start&#8230;</p>
<p><em></em>&nbsp;</p>
<p><em>Update June 10, 2008</em>:&nbsp; OK, my fault.&nbsp; The link above makes it pretty clear that the delicensed products are on <a href="http://edelivery.oracle.com/" target="NEW">Oracle&#8217;s download site</a> and not available through BEA&#8217;s download center.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2008/06/ali-maintenance-packs-remove-licensing-entirely/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R.I.P. ALI E-Licensing: the wicked witch is dead!</title>
		<link>http://www.function1.com/2008/06/r-i-p-ali-e-licensing-the-wicked-witch-is-dead/</link>
		<comments>http://www.function1.com/2008/06/r-i-p-ali-e-licensing-the-wicked-witch-is-dead/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 01:29:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[ALBPM]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[PEP]]></category>
		<category><![CDATA[Portal Server]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[Search Server]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/220/uncategorized/r-i-p-ali-e-licensing-the-wicked-witch-is-dead</guid>
		<description><![CDATA[My love for e-licensing at BEA, or lack thereof, was no secret.&#160; I was mostly appalled as an employee when I was working at client sites &#8211; who completely trusted me with administrative access to their servers &#8211; and tried to get a license key.&#160; Often this process took days, and occasionally took weeks.&#160; In [...]]]></description>
			<content:encoded><![CDATA[<p>My love for e-licensing at BEA, or lack thereof, <a href="http://www.function1.com/site/2008/05/participate-wrapup-and-road-ma.html">was no secret</a>.&nbsp; I was mostly appalled as an employee when I was working at client sites &#8211; who completely trusted me with administrative access to their servers &#8211; and tried to get a license key.&nbsp; Often this process took days, and occasionally took weeks.&nbsp; In fact, we&#8217;ve got a client struggling with trying to wrangle legit keys from eLicensing now, who didn&#8217;t even know that that particular product (Analytics) even HAD keys!</p>
<p>Well, no more.&nbsp; The wicked witch is dead.&nbsp; The clouds have parted.&nbsp; Angels are singing.&nbsp; Oracle has released generic license keys to <strong>legitimately licensed customers</strong>.</p>
<p>Now, people, I&#8217;m not saying this gives everyone free reign to steal Oracle products or use them in ways they&#8217;re not licensed for.&nbsp; I have no idea what Oracle&#8217;s new licensing scheme is &#8211; <em>particularly around using instances in development and DR environments </em>(a common sore point with license keys) &#8211; so be good with these things.&nbsp; I understand Oracle focuses more on customer audits than <span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">oppressive </span>licensing schemes, so make sure you stay legit &#8211; contact your sales person if you&#8217;ve got any questions!</p>
<p><span id="more-220"></span></p>
<p>Without further ado, you can <a href="http://licensecodes.oracle.com/bea.html#ALIP">download the generic ALI keys here</a>.&nbsp; </p>
<p>Use them responsibly &#8211; our customers always maintained compliance&nbsp;at Plumtree without the keys, and I&#8217;m sure you all will again (well, I guess they did: I was just&nbsp;a consultant &#8211; what do I know?).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2008/06/r-i-p-ali-e-licensing-the-wicked-witch-is-dead/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beware Publisher Bug: Broken URLs when Publishing to Knowledge Directory</title>
		<link>http://www.function1.com/2008/02/beware-publisher-bug-broken-urls-when-publishing-to-knowledge-directory/</link>
		<comments>http://www.function1.com/2008/02/beware-publisher-bug-broken-urls-when-publishing-to-knowledge-directory/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 21:19:27 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Publisher]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/193/uncategorized/beware-publisher-bug-broken-urls-when-publishing-to-knowledge-directory</guid>
		<description><![CDATA[I ran into this one a couple months ago with our friends at the American Diabetes Association. (Give early, give often :))
Seems that with the latest build of Publisher (6.4), if you Publish to the Knowledge Directory using a Content Item that has a Description field, that field is used when generating the Open Document [...]]]></description>
			<content:encoded><![CDATA[<p><P>I ran into this one a couple months ago with our friends at the <a href="http://www.diabetes.org/home.jsp" target=_new>American Diabetes Association</a>. (<a href="http://www.diabetes.org/support-the-cause/make-a-donation.jsp" target=_new>Give early, give often :)</a>)<br />
<P>Seems that with the latest build of Publisher (6.4), if you Publish to the Knowledge Directory using a Content Item that has a Description field, that field is used when generating the Open Document URL.  And it&#8217;s not even an &#8220;escaped&#8221; string, so even if the description isn&#8217;t too long (which it often is), some characters in the URL could still end up breaking the link if they&#8217;re not valid URL characters.  It&#8217;s easy enough to tell if you&#8217;re affected by this &#8211; just check out the properties of the document in the Knowledge Directory and take a look at the &#8220;Open Document URL&#8221;.  If it looks like this:<br />
<P><img src="http://www.function1.com/images/stories/publisher_bug_62669.jpg"><br />
<P>&#8230; you&#8217;re having the problem.<span id="more-193"></span></p>
<p><P>The good news is that this is a known issue (read: documented bug) in Publisher and it has been fixed.  The bad news is that the fix won&#8217;t be generally available until the next version of Publisher is released.  If this is a critical issue for you, though, you can request an untested, unsupported Critical Fix from <a href="mailto:aluisupport@bea.com">ALUI Support</a> &#8211; mention the <b>critical fix for bug #62669</b>.  You&#8217;ll need to demonstrate that you actually are affected by this issue, as the patch hasn&#8217;t gone through full regression testing, but I can tell you, it&#8217;s been working great for ADA for the past 2 months!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2008/02/beware-publisher-bug-broken-urls-when-publishing-to-knowledge-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adaptive Tag Magic with Publisher Data Entry Templates</title>
		<link>http://www.function1.com/2008/01/adaptive-tag-magic-with-publisher-data-entry-templates/</link>
		<comments>http://www.function1.com/2008/01/adaptive-tag-magic-with-publisher-data-entry-templates/#comments</comments>
		<pubDate>Fri, 11 Jan 2008 18:13:23 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Publisher]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/179/uncategorized/adaptive-tag-magic-with-publisher-data-entry-templates</guid>
		<description><![CDATA[Here&#8217;s a neat trick: ALUI Publisher allows any HTML in the &#8220;Instructions&#8221; field for properties in a Data Entry Template. Because this HTML is then included when creating or editing a Content Item, you can do all sorts of things with the page. 
One of the cooler things you can do is leverage adaptive tags [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a neat trick: ALUI Publisher allows any HTML in the &#8220;Instructions&#8221; field for properties in a Data Entry Template. Because this HTML is then included when creating or editing a Content Item, you can do all sorts of things with the page. </p>
<p>One of the cooler things you can do is leverage adaptive tags in this field. So, say you want a portlet that allows you to highlight various communities in your portal, and you want content managers to be able to just select a community from a list rather than looking up and typing in an ID. This is just one example; obviously you could select any object with the tree control, so use your imagination if you&#8217;d like to select users, portlets, or any other administrative object. </p>
<p>You can use the <a href="http://edocs.bea.com/alui/devdoc/docs60/Portlets/Adaptive_Portlets/Using_Adaptive_Tags/PlumtreeDevDoc_Integration_Portlets_Adaptive_TreeControl.htm" target="_new">Unified Tree View</a> adaptive tag in the &#8220;Instructions&#8221; field for a particular property, then use the <a href="http://edocs.bea.com/alui/devdoc/docs60/Portlets/Adaptive_Portlets/Using_Adaptive_Tags/PlumtreeDevDoc_Integration_Portlets_Adaptive_Links.htm" target="_new">Common Opener</a> adaptive tag in your presentation template to automatically link to the community. Content Managers then don&#8217;t have to worry about all the nuances of creating links to other communities, and don&#8217;t have to remember community IDs when creating the Content Items. </p>
<p>For example, create a new portlet based off the &#8220;News&#8221; Portlet Template, and make some minor tweaks: </p>
<p><span id="more-179"></span></p>
<ol>
<li>Add a new <strong>Integer</strong> property called <strong>comm_id</strong> to the &#8220;News Article&#8221; Data Entry Template:<br /><img src="http://www.function1.com/images/stories/publisher_adaptive3.jpg" border="0" /></p>
</li>
<li>Open the property and go to the &#8220;HTML&#8221; view for the instructions:<br /><img src="http://www.function1.com/images/stories/publisher_adaptive1.jpg" border="0" />
<p>The instructions contain the tree view adaptive tag and a call-back function that changes the text of the property based off the item selected: </p>
<p>&lt;script language=&#8221;JavaScript&#8221;&gt;<br />function PickerSubmit(arrIn) {<br />document.getElementsByName(&#8216;ptext4&#8242;)[0].value = arrIn[0].ObjectID;<br />}<br />&lt;/script&gt;</p>
<p>&lt;pt:standard.tree xmlns:pt=&#8217;http://www.plumtree.com/xmlschemas/ptui/&#8217; value=&#8221;Pick a Community&#8221; class=&#8221;gContentSection&#8221; pt:windowName=&#8217;myWindow&#8217; pt:windowFeatures=&#8217;location=no,menubar=no,height=500,width=300&#8242; pt:RootID=&#8217;1&#8242; pt:Multi=&#8217;false&#8217; pt:SelectMd=&#8217;2&#8242; pt:SubmitMd=&#8217;2&#8242; pt:Submit=&#8217;PickerSubmit&#8217; pt:Title=&#8217;Community&#8217; pt:SubTitle=&#8217;Pick a Community&#8217; pt:Class=&#8217;512&#8242;/&gt; </p>
</li>
<li>Finally, this property can be used in the &#8220;News Article&#8221; presentation template just like you would any other pcs:value; you can even include it inside a commonopener adaptive tag to automatically create a link to that community. </li>
</ol>
<p>Now, when people go to create/edit the Content Item based off this DET, they&#8217;ll see a button underneath the property field where they would normally see &#8220;instructions&#8221;. Clicking it opens a popup to get the list of communities, and selecting a community populates the field! </p>
<p><img src="http://www.function1.com/images/stories/publisher_adaptive2.jpg" border="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2008/01/adaptive-tag-magic-with-publisher-data-entry-templates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
