<?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>Brett Johnson</title>
	<atom:link href="http://mrscripter.com/feed" rel="self" type="application/rss+xml" />
	<link>http://mrscripter.com</link>
	<description>Technical writing and web development</description>
	<lastBuildDate>Sun, 22 Jan 2012 21:19:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Dita4Hudson project on SourceForge</title>
		<link>http://mrscripter.com/2010/07/dita4hudson-project-on-sourceforge/dita</link>
		<comments>http://mrscripter.com/2010/07/dita4hudson-project-on-sourceforge/dita#comments</comments>
		<pubDate>Mon, 26 Jul 2010 04:25:49 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[DITA]]></category>

		<guid isPermaLink="false">http://mrscripter.com/?p=209</guid>
		<description><![CDATA[A recent comment by Yucheng on my preview of Dita4Hudson post finally motivated me to upload my starter code to SourceForge so that others can contribute and make use of it. The plugin right now is mostly front-end code and &#8230; <a href="http://mrscripter.com/2010/07/dita4hudson-project-on-sourceforge/dita">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrscripter.com%2F2010%2F07%2Fdita4hudson-project-on-sourceforge%2Fdita"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrscripter.com%2F2010%2F07%2Fdita4hudson-project-on-sourceforge%2Fdita&amp;source=mrscripter&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>A recent comment by Yucheng on my <a title="Preview of Dita4Hudson plugin for the Hudson continuous integration server" href="http://mrscripter.com/2010/03/preview-of-dita4hudson-plugin-for-the-hudson-continuous-integration-server/dita">preview of Dita4Hudson</a> post finally motivated me to upload my starter code to SourceForge so that others can contribute and make use of it.</p>
<p>The plugin right now is mostly front-end code and does not yet run the DITA Open Toolkit transforms.  The intent of the plugin is to very simply provide text fields that a user can enter any and all applicable transform parameters for a given output type and then in the background those would be passed to the toolkit in the appropriate form and basically be a command line call.</p>
<p>I would love to see others pick up where I left off. I hope to be able to continue working on it again in the future, but for now I have too much else going on. I would be happy to help someone out with getting going with it. Please comment or use the contact form to get in touch.</p>
<ul>
<li><a href="https://sourceforge.net/projects/dita4hudson/">Dita4Hudson on SourceForge</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mrscripter.com/2010/07/dita4hudson-project-on-sourceforge/dita/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preview of Dita4Hudson plugin for the Hudson continuous integration server</title>
		<link>http://mrscripter.com/2010/03/preview-of-dita4hudson-plugin-for-the-hudson-continuous-integration-server/dita</link>
		<comments>http://mrscripter.com/2010/03/preview-of-dita4hudson-plugin-for-the-hudson-continuous-integration-server/dita#comments</comments>
		<pubDate>Sun, 07 Mar 2010 01:45:54 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[DITA]]></category>
		<category><![CDATA[continuous-integration]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[hudsonci]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[web-application]]></category>

		<guid isPermaLink="false">http://mrscripter.com/?p=201</guid>
		<description><![CDATA[I am progressing a bit further on my plugin that will allow for easier DITA builds within the Hudson continuous integration server.  Hudson is a quite handy build management system that offers you a lot of additional value on top &#8230; <a href="http://mrscripter.com/2010/03/preview-of-dita4hudson-plugin-for-the-hudson-continuous-integration-server/dita">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrscripter.com%2F2010%2F03%2Fpreview-of-dita4hudson-plugin-for-the-hudson-continuous-integration-server%2Fdita"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrscripter.com%2F2010%2F03%2Fpreview-of-dita4hudson-plugin-for-the-hudson-continuous-integration-server%2Fdita&amp;source=mrscripter&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I am progressing a bit further on my plugin that will allow for easier DITA builds within the <a href="http://hudson-ci.org">Hudson continuous integration server</a>.  Hudson is a quite handy build management system that offers you a lot of additional value on top of your existing builds and processes.</p>
<p>You can use your existing DITA-OT Ant scripts to build your output within Hudson. Many Dita users are not Ant experts and often Ant is one of the limiting factors in Dita adoption by smaller teams. I hope this plugin will help further promote DITA and provide another simple tool for Dita builds.</p>
<p>All feedback and suggestions are welcome.<span id="more-201"></span></p>
<h2>Global properties configuration</h2>
<p>Defining your DITA Open Toolkit installations. You can define multiple installations if it is ever necessary to use a back level version or for testing new versions prior to moving to production.</p>
<p><a href="http://mrscripter.com/wp-content/uploads/2010/03/global_properties.gif" rel="lightbox[201]"><img class="alignnone size-full wp-image-203" title="global_properties" src="http://mrscripter.com/wp-content/uploads/2010/03/global_properties.gif" alt="" width="760" height="507" /></a></p>
<h2>Adding a Dita build to a job</h2>
<p>Jobs can include many steps and multiple builds. If you are building an Eclipse feature you might include your code build, context sensitive help build, and DITA transform to help topics within the same job.</p>
<p><a href="http://mrscripter.com/wp-content/uploads/2010/03/build_properties.gif" rel="lightbox[201]"><img class="alignnone size-full wp-image-204" title="build_properties" src="http://mrscripter.com/wp-content/uploads/2010/03/build_properties.gif" alt="" width="541" height="787" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://mrscripter.com/2010/03/preview-of-dita4hudson-plugin-for-the-hudson-continuous-integration-server/dita/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Quick tips for troubleshooting plugins in an Eclipse help system</title>
		<link>http://mrscripter.com/2010/01/quick-tips-for-troubleshooting-plugins-in-an-eclipse-help-system/eclipse-help-system</link>
		<comments>http://mrscripter.com/2010/01/quick-tips-for-troubleshooting-plugins-in-an-eclipse-help-system/eclipse-help-system#comments</comments>
		<pubDate>Mon, 01 Feb 2010 02:32:18 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[eclipse-help-system]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugin.xml]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://mrscripter.com/?p=183</guid>
		<description><![CDATA[The Eclipse help system is an extremely valuable tool that seems to intimidate new users.   This post is intended to cover some of the very basics about how to troubleshoot your plugins in an Eclipse help system. Some basics first: &#8230; <a href="http://mrscripter.com/2010/01/quick-tips-for-troubleshooting-plugins-in-an-eclipse-help-system/eclipse-help-system">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrscripter.com%2F2010%2F01%2Fquick-tips-for-troubleshooting-plugins-in-an-eclipse-help-system%2Feclipse-help-system"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrscripter.com%2F2010%2F01%2Fquick-tips-for-troubleshooting-plugins-in-an-eclipse-help-system%2Feclipse-help-system&amp;source=mrscripter&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>The Eclipse help system is an extremely valuable tool that seems to intimidate new users.   This post is intended to cover some of the very basics about how to troubleshoot your plugins in an Eclipse help system.<span id="more-183"></span></p>
<p>Some basics first:</p>
<ul>
<li>A plugin is a folder or JAR file that provides instructions to Eclipse for how to process.</li>
<li>Those instructions are given in the plugin.xml (extensions) and in the manifest file (prereqs, dependencies, etc).</li>
</ul>
<h2>Ensure the plugins are in the correct directory</h2>
<p>While that might sound obvious, I have seen forum posts where the distinction between the workspace and plugins directories were causing problems. The workspace can be considered the directory where your source projects are stored for editing. That location is not processed by the Eclipse framework. You need to ensure that you store your plugins in the eclipse/plugins folder and in the correct format.</p>
<p>After you&#8217;ve checked that your plugins are in the correct location, verify that the contain the necessary files.</p>
<h2>Plugins are formatted correctly and contain manifest/plugin.xml files</h2>
<p>Open up your eclipse/plugins/my.plugin.folderorjar and check to ensure the plugin.xml is in the root of that folder or archive. You might optionally also have a META-INF/manifest.mf file.</p>
<h2>Determine if Eclipse is picking up your plugin</h2>
<p>Launch your help system or infocenter. If you are launching the help (Help-&gt;Help contents), you will want to open it with an external browser rather than the built-in browser. You can either change your preferences or you can just copy a TOC link address and paste it into a different browser. The port that the webserver for the Eclipse help system changes with each restart so you&#8217;ll need to determine that:</p>
<p>Your help URL will probably look something like http://127.0.0.1:3578/help/&#8230;. Once you have that, change the URL to http://127.0.0.1:xxxx/help/topic/my.plugin.folderorjar/plugin.xml.</p>
<h3>If you get a topic not found or broken link</h3>
<p>Then Eclipse did not pick up your plugin, which means something is likely wrong with your plugin.xml or manifest.</p>
<p>This could be a malformed XML file due to an XML markup error in your plugin.xml. Check that all tags are closed (&lt;/myclosetag&gt;). Also, check for character encoding problems. XML is pretty strict when it comes to special characters and the most common problematic character is the ampersand (&amp;). The ampersand in XML or XHTML (especially in links) should be represented in the file as: <span style="font-family: courier new,courier;">&amp;amp;</span></p>
<p>Also, check that you are using the correct URL for your plugin. Eclipse uses the plugin ID in the path rather than the folder name or JAR file name.</p>
<h3>If your plugin.xml file displays correctly</h3>
<p>Then Eclipse found and registered your plugin. If this does not solve your problem, I am guessing you are wondering why your contents do not show up in the navigation. For your navigation file to be picked up, you have to register the TOC XML  file with the Eclipse org.eclipse.help.toc extension point in the plugin.xml.</p>
<p>If you want your toc to appear as a first level container, then you need to set primary=&#8221;true&#8221; for that TOC file:</p>
<p>&lt;extension point=&#8221;org.eclipse.help.toc&#8221;&gt;<br />
&lt;toc file=&#8221;toc.xml&#8221; primary=&#8221;true&#8221; /&gt;<br />
&lt;/extension&gt;</p>
<p>If you want this TOC file to be a child to another TOC, then you would set primary=&#8221;false&#8221; and link the maps together using a link_to (navref in Dita source) element or anchor/anchor_to (anchor &amp; anchorref in Dita source).</p>
<h2>You updated a plugin and the changes are not displayed</h2>
<p>This is likely due to caching that Eclipse performs. You can either start Eclipse with the -clean parameter passed to the executable or you can manually clean the cache.</p>
<p>To manually clean the cache: stop Eclipse, find your Eclipse installation directory. Within the configuration subfolder, delete all of the contents <strong>except </strong>for the config.ini file and the org.eclipse.update directory.</p>
<h2>Other issues?</h2>
<p>Post your Eclipse help issues  as a comment and I&#8217;ll try to address them here also.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrscripter.com/2010/01/quick-tips-for-troubleshooting-plugins-in-an-eclipse-help-system/eclipse-help-system/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Patent #7,627,854 &#8211; Graphical Aid for Generating Object Setup Scripts</title>
		<link>http://mrscripter.com/2010/01/patent-7627854-graphical-aid-for-generating-object-setup-scripts/resume</link>
		<comments>http://mrscripter.com/2010/01/patent-7627854-graphical-aid-for-generating-object-setup-scripts/resume#comments</comments>
		<pubDate>Sat, 30 Jan 2010 00:41:34 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[resume]]></category>
		<category><![CDATA[dynamic-PDF]]></category>
		<category><![CDATA[patent]]></category>
		<category><![CDATA[q-replication]]></category>
		<category><![CDATA[websphere-mq]]></category>

		<guid isPermaLink="false">http://mrscripter.com/?p=187</guid>
		<description><![CDATA[I discovered today that nearly four years after filing our initial patent paperwork that our US patent was finally issued. A few months back, we received a Chinese patent for the same submission (#ZL200710001513.4). You can read more about the &#8230; <a href="http://mrscripter.com/2010/01/patent-7627854-graphical-aid-for-generating-object-setup-scripts/resume">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrscripter.com%2F2010%2F01%2Fpatent-7627854-graphical-aid-for-generating-object-setup-scripts%2Fresume"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrscripter.com%2F2010%2F01%2Fpatent-7627854-graphical-aid-for-generating-object-setup-scripts%2Fresume&amp;source=mrscripter&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I discovered today that nearly four years after filing our initial patent paperwork that our US patent was finally issued. A few months back, we received a Chinese patent for the same submission (#ZL200710001513.4).</p>
<p>You can read more <a title="Graphical aid for generating object setup scripts (patent pending)" href="http://mrscripter.com/2009/10/graphical-aid-for-generating-object-setup-scripts-patent-pending/projects">about the work that went into this submission</a> and also <a href="http://bit.ly/c2Pr4p">read the patent itself</a>.</p>
<p>Recently, the tool that inspired this patent was bundled as embedded feature of the IBM InfoSphere Replication Server Version 9.7 that shipped to customers this last June.</p>
<p>Photo of the actual Chinese patent:</p>
<p><a href="http://mrscripter.com/wp-content/uploads/2010/01/chinese_patent.jpg" rel="lightbox[187]"><img class="alignnone size-full wp-image-189" title="chinese_patent" src="http://mrscripter.com/wp-content/uploads/2010/01/chinese_patent.jpg" alt="" width="453" height="604" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://mrscripter.com/2010/01/patent-7627854-graphical-aid-for-generating-object-setup-scripts/resume/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating dynamic documentation plugins for the Eclipse Help System using Java</title>
		<link>http://mrscripter.com/2009/12/creating-dynamic-documentation-plugins-for-the-eclipse-help-system-using-java/eclipse-help-system</link>
		<comments>http://mrscripter.com/2009/12/creating-dynamic-documentation-plugins-for-the-eclipse-help-system-using-java/eclipse-help-system#comments</comments>
		<pubDate>Fri, 18 Dec 2009 21:05:56 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[eclipse-help-system]]></category>
		<category><![CDATA[dita-ot transform]]></category>
		<category><![CDATA[dynamic-help]]></category>
		<category><![CDATA[eclipse-help]]></category>
		<category><![CDATA[IHelpContentProducer]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[org.eclipse.help.contentProducer]]></category>
		<category><![CDATA[org.eclipse.help.IHelpContentProducer]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://mrscripter.com/?p=162</guid>
		<description><![CDATA[Eclipse documentation plug-ins can contain Java for creating dynamic content. You can extend the Eclipse help system by taking advantage of the org.eclipse.help.contentProducer extension point. The examples in this article demonstrate how to create a simple template that is parsed &#8230; <a href="http://mrscripter.com/2009/12/creating-dynamic-documentation-plugins-for-the-eclipse-help-system-using-java/eclipse-help-system">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrscripter.com%2F2009%2F12%2Fcreating-dynamic-documentation-plugins-for-the-eclipse-help-system-using-java%2Feclipse-help-system"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrscripter.com%2F2009%2F12%2Fcreating-dynamic-documentation-plugins-for-the-eclipse-help-system-using-java%2Feclipse-help-system&amp;source=mrscripter&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Eclipse documentation plug-ins can contain Java for creating dynamic content. You can extend the Eclipse help system by taking advantage of the <a href="http://help.eclipse.org/help32/topic/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_help_contentProducer.html" target="_blank">org.eclipse.help.contentProducer</a> extension point. The examples in this article demonstrate how to create a simple template that is parsed at run time to display dynamic text.</p>
<p><span id="more-162"></span></p>
<h1>Skill level: intermediate</h1>
<p>You can download the sample project that provides a simple framework for getting started with your own plug-in. If you have a basic level of Java programming experience or experience with other programming languages, you should be able to understand the concepts and examples.</p>
<h1>Getting Started</h1>
<p>This article assumes that you are using <a href="http://www.eclipse.org/downloads/">Eclipse 3.5 IDE for Java EE Developers (Galileo)</a>, but you can use other versions if they contain the <a href="http://www.eclipse.org/pde/">Plugin Development Environment (PDE)</a>. The screenshots and steps might differ for other versions.</p>
<ol>
<li>Extract the Eclipse ZIP file and launch the Eclipse executable.</li>
<li><a href="http://mrscripter.com/wp-content/uploads/2009/12/com.mrscripter.dynamicsample.doc.zip">Download the sample Eclipse project for a dynamic documentation plugin</a>.</li>
<li>Import the zip file as an archived project: <strong>File</strong>-&gt;<strong>Import</strong>-&gt;<strong>Existing Projects into Workspace</strong>. Choose the <strong>Select archive file </strong>option and browse to the downloaded sample project zip file.<a href="http://mrscripter.com/wp-content/uploads/2009/12/import_workspace.jpg" rel="lightbox[162]"><img class="alignnone size-full wp-image-167" title="Import the sample project into your workspace" src="http://mrscripter.com/wp-content/uploads/2009/12/import_workspace.jpg" alt="Displays a screen shot of the options for importing an archived project into the Eclipse workspace" width="515" height="463" /></a></li>
<li>Click <strong>Finish </strong>and the project <em>com.mrscripter.dynamicsample.doc</em> will be added to your workspace and available for browsing within the Project Explorer view.</li>
</ol>
<p>This sample provides a basic example of producing dynamic content using Java and Eclipse extension points.</p>
<h1>Run the sample project</h1>
<p>When you build the project, the compiled version of the plug-in will go into your eclipse/plugins directory so that you can test the dynamic content in the Eclipse help system.</p>
<ol>
<li>Right-click the project folder in the Project Explorer view and select <strong>Export</strong>.</li>
<li>Select <strong>Plug-in Development-&gt;Deployable plug-ins and fragments</strong><a href="http://mrscripter.com/wp-content/uploads/2009/12/export_deploy.jpg" rel="lightbox[162]"><img class="alignnone size-full wp-image-168" title="Export the plugin to your Eclipse environment" src="http://mrscripter.com/wp-content/uploads/2009/12/export_deploy.jpg" alt="Exporting the plugin compiles the Java source and makes it available to the Eclipse environment" width="371" height="316" /></a></li>
<li>
<p style="margin-bottom: 0in;">In the export destination area, choose the <strong>Directory </strong>option and select the directory that you previously extracted your Eclipse download. You should select the folder that contains your eclipse.exe file. The export wizard creates the output jar file in the plugins subfolder, for example: C:\<em>my_dir\</em>eclipse\plugins\com.mrscripter.dynamicsample.doc_1.0.0.jar.</p>
</li>
<li>
<p style="margin-bottom: 0in;">Restart Eclipse to register this new plugin with the help system.</p>
</li>
<li>After Eclipse restarts, click <strong>Help</strong>-&gt;<strong>Help Contents</strong> to display the help system.</li>
</ol>
<p>In the help system, you will see a top-level navigation entry titled “Dynamic Documentation Sample.” Each table of contents entry within this section links to what appears to be different files; however, the contentProducer extension designates the HelloDynamicWorld class as the responder for all content requests. Each table of contents link uses a different query string title parameter that the HelloDynamicWorld class uses to populate in the text for the title and body.</p>
<p>The following sections explain in more detail how the plug-in works. If you have a good understanding of Java, you might choose to explore the source code at your own pace.</p>
<p>If you modify the plug-in code, you must re-export and restart Eclipse each time that you would like to view the results of the change.</p>
<h1>Dissecting the plugin</h1>
<p>The plugin.xml file contains directions that allow the Eclipse runtime environment to understand how to process the files contained within a directory or JAR file that is in the plugins directory. These instructions take the form of extensions and extension points.</p>
<p>The <span style="font-family: courier new,courier;">org.eclipse.help.contentProducer</span> extension point is the key to creating dynamic output. You add this extension point to your plugin.xml and register a content producer by specifying the name of the Java class that you want to control the dynamic processing:</p>
<pre>&lt;extension
   id="com.mrscripter.dynamicsample.doc"
   name="Dynamic documentation sample plugin"
   point="org.eclipse.help.contentProducer"&gt;
     &lt;contentProducer producer="HelloDynamicWorld"/&gt;
 &lt;/extension&gt;</pre>
<h2>Content producer</h2>
<p>In the sample project, the content producer extension points to the HelloDynamicWorld class. This class must extend the <span style="font-family: courier new,courier;">IHelpContentProducer</span> interface and provide the required <span style="font-family: courier new,courier;">getInputStream</span> method, which allows the plugin to send its content to the browser:</p>
<pre>public InputStream getInputStream(String pluginID, String href, Locale locale)</pre>
<p>You return an InputStream from your own Java class to Eclipse for display. An InputStream is a byte representation of your text.</p>
<p>The HelloDynamicWorld.java class contains two important methods: <span style="font-family: courier new,courier;">getInputStream</span> and <span style="font-family: courier new,courier;">createMyDynamicOutput</span>.</p>
<pre>import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileReader;
import java.io.InputStream;
import java.net.URL;
import java.util.Locale;

import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.help.IHelpContentProducer;
import org.osgi.framework.Bundle;

public class HelloDynamicWorld implements IHelpContentProducer{

    private static Bundle bundle = Platform.getBundle("com.mrscripter.dynamicsample.doc");
    private static Path path = new Path("template/template.html");
    private static URL url = Platform.find(bundle, path);
    private static File templateFile=null;
    private static StringBuffer templateBuffer=null;

	public InputStream getInputStream(String pluginID, String href, Locale locale) {
		InputStream is = null;
		String title = QueryStringHelper.getValue(href,"title");
	      try{
	          return createMyDynamicOutput(href,title);
	      }
	      catch(Exception e){
	          e.printStackTrace();
	      }
	      return is;
	}

	private InputStream createMyDynamicOutput(String href, String title) throws Exception{
	    try{
        	templateBuffer = new StringBuffer();
        	templateFile = new File(FileLocator.toFileURL(url).getFile());
                BufferedReader in = new BufferedReader(new FileReader(templateFile));
                String s=null;
                while((s = in.readLine()) != null){
            	    templateBuffer.append(s);
                }
            }
            catch(Exception e){
                System.out.println(e.getMessage());
                e.printStackTrace();
            }

	    String tempOut = templateBuffer.toString().replaceAll("%TITLE%", title);
	    return new ByteArrayInputStream(tempOut.toString().getBytes("UTF-8"));
	}
}</pre>
<p>The typical HelloWorld application is not dynamic so the sample project adds a little more code to demonstrate changing the output based on some simple input.  This sample looks for a query string parameter named &#8220;title&#8221; and gets the value of the parameter and then inserts that value into a template response. The result is returned as an InputStream for passing back to Eclipse for further processing prior to rendering.</p>
<p>The URL that is called is http://&#8230;../help/topic/com.mrscripter.dynamicsample.doc/<em>something.html</em>?title=Testing+A+Title. The content producer class intercepts all URL requests for the plug-in. You can change <em>something.html</em> to any name and it will still work as long as you provide the title in the querystring.</p>
<p>If you request a URL with an extension other than .html, some browsers won&#8217;t display the result as HTML but rather as plain text because our sample does not adjust the response type in the response header.</p>
<h2>Template</h2>
<p>The sample project includes a simple template file that uses basic <span style="font-family: courier new,courier;">%variable%</span> replacement. The <span style="font-family: courier new,courier;">getInputStream</span> method uses the <span style="font-family: courier new,courier;">QueryStringHelper</span> class to read the title parameter from the querystring and pass the title parameter to the createMyDynamicOutput method. The createMyDynamicOutput method reads the template file to a string buffer, templateBuffer. All instances of %title% within the template/template.html file are replaced title parameter.  The string is converted into a UTF-8 encoded ByeArrayInputStream and returned to Eclipse for display.</p>
<h2>Expanding on the HelloDynamicWorld sample</h2>
<p>The sample project demonstrates how documentation plug-s that run within the context of the Eclipse help system or in the Eclipse information center mode can response to dynamic input from a user. The org.eclipse.help.contentProducer extension point provides the ability to create a more dynamic and response help system. New content producers could include remote content from feed, local content or external information. For example, you could integrate your online Knowledge base contents directly into your help contents to provide in-context support documents.</p>
<h2>Ideas for implementations</h2>
<p>For corporations that author their help content in DITA-XM, instead of using a build framework such as the DITA Open Toolkit, they could instead render DITA content dynamically on-the-fly and produce targeted content based on metadata about a users configuration or environment to create custom documentation.</p>
<p>Using the contentProducer as a proxy, you can eliminate the cross-domain communication limitation that Javascript frameworks face. You could query and retrieve remote content and display within your help system. You could generate a dynamic XML table of contents based on content hosted on your own website, but users would be able to see it locally on their workstations. This approach can enable a push model for some content.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrscripter.com/2009/12/creating-dynamic-documentation-plugins-for-the-eclipse-help-system-using-java/eclipse-help-system/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Link checking your topics in an Eclipse Help System/Infocenter</title>
		<link>http://mrscripter.com/2009/11/link-checking-your-topics-in-an-eclipse-help-systeminfocenter/eclipse-help-system</link>
		<comments>http://mrscripter.com/2009/11/link-checking-your-topics-in-an-eclipse-help-systeminfocenter/eclipse-help-system#comments</comments>
		<pubDate>Wed, 25 Nov 2009 18:58:34 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[eclipse-help-system]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[link-checking]]></category>

		<guid isPermaLink="false">http://mrscripter.com/?p=148</guid>
		<description><![CDATA[Links can be painful to deal with in help systems especially in multi-author environments or with larger numbers of topics.  Maintaining links over time can also be difficult. If you are authoring your help in DITA and using relationship tables, &#8230; <a href="http://mrscripter.com/2009/11/link-checking-your-topics-in-an-eclipse-help-systeminfocenter/eclipse-help-system">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrscripter.com%2F2009%2F11%2Flink-checking-your-topics-in-an-eclipse-help-systeminfocenter%2Feclipse-help-system"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrscripter.com%2F2009%2F11%2Flink-checking-your-topics-in-an-eclipse-help-systeminfocenter%2Feclipse-help-system&amp;source=mrscripter&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Links can be painful to deal with in help systems especially in multi-author environments or with larger numbers of topics.  Maintaining links over time can also be difficult. If you are authoring your help in DITA and using relationship tables, you might find they aren&#8217;t as easy to maintain as many claim. The Eclipse help system can make link validation difficult due to its frameset and difficulty for most link checkers to find all of your pages. <span id="more-148"></span></p>
<p>My goal in writing this is to find a link checker that meets the following requirements:</p>
<ul>
<li><strong>Recursive link checking.</strong><br />
Need to be able to specify how deep the program should follow links to discover and validate all links. Ideally, could limit this recursion to the same site.</li>
<li><strong>Reports that can be saved and distributed<br />
</strong>Share results with writing teams for resolving and fixing links.</li>
<li><strong>Customization of settings, especially links and link patterns to ignore.<br />
</strong>Link checkers often have false positives for various reasons and it is helpful to be able to filter and hide these &#8220;errors.&#8221;</li>
<li><strong>Bonus: Works with dynamic pages and JavaScript.</strong><br />
The newest versions of the Eclipse Help System rely soley on JavaScript to generate the navigation tree. Ideally, a link checker could work with the same view that we see. Often, link checkers are just verifying the response codes in the headers rather than actually examining the page for dynamically generated content and links.</li>
<li><strong>Bonus: Command line support.</strong><br />
Integration into a post-build process or for otherwise automating will likely require a command line interface.</li>
</ul>
<p>I&#8217;ve long used ParaSoft WebKing for accessibility and link checking for projects within IBM but it can be quite difficult to configure to meet the goals above.  I&#8217;ve also tried a few other applications including <a href="http://linkchecker.sourceforge.net/">LinkChecker</a>, <a href="http://validator.w3.org/docs/checklink.html">W3C Link Checker</a>, and <a href="http://home.snafu.de/tilman/xenulink.html">Xenu</a>. Xenu works pretty well for discovering broken links to any kind of resources, including images, stylesheets, and JavaScripts.</p>
<h2>Robots.txt</h2>
<p>Many link checkers try to follow the rules  that websites define in their robots.txt file. These files instruct search engines and other spiders how they are to behave when snooping around a website. I ran into this problem when trying to test my <a href="http://publib.boulder.ibm.com/infocenter/idm/v2r2/index.jsp">IBM information center</a> by using the LinkChecker from SourceForge and W3C Link Checker.</p>
<p>My solution was to run the link checking program against my test infocenter rather than our production server. This eliminated the W3C link checker from my possible tools because it cannot access my intranet. Xenu does not follow the robots.txt instructions.</p>
<h2>What URL to use?</h2>
<p>You might also assume like me that just pointing your link checker at the top level URL should work just fine. I&#8217;ve had mixed results trying to use http://publib.boulder.ibm.com/infocenter/idm/v2r2/index.jsp as my starting page.  Your link checker might also have a difficult time with the frames also.</p>
<p>I suggest experimenting by also running it against the TOC that is used for non-JavaScript enabled browsers, which for my IC is http://publib.boulder.ibm.com/infocenter/idm/v2r2/basic/tocView.jsp. This page does not use the standard JavaScript based navigation tree so a link checker should have an easier time with it.  If you set your link checker to recursively dig down enough levels the navigation starting point should work pretty and even better if you provide plenty of cross-linking within your files.</p>
<h2>No broken links?</h2>
<p>There is an Eclipse bug about certain versions not returning a proper 404 response status.  If you are experiencing this same problem, you might need to try testing with a different version of Eclipse. I&#8217;ll try to track down this bug # and put it in here.</p>
<h2>Checking the links of my infocenter</h2>
<p>I installed the latest version of Xenu, which had recently been updated. I pointed Xenu to http://publib.boulder.ibm.com/infocenter/idm/v2r2/index.jsp and left all of the default options.  This infocenter contains approximately 17,000 topics for all languages and are owned by some 12 or more contributing authors.</p>
<p>Xenu is still running but it looks as if it is properly crawling the site and finding problems:</p>
<p><img class="alignnone size-full wp-image-155" title="report_window" src="http://mrscripter.com/wp-content/uploads/2009/11/report_window1.jpg" alt="report_window" width="834" height="340" /></p>
<p>Starting to see plenty of red showing up and quite a bit more than I was expecting so I expect I&#8217;ll be sending this report out to our team.  The total number of pages and files to test were discovered thus far is over 10k so the link checker seems to be working correctly.</p>
<p>When Xenu finally finished, I generated a report (Hit Cancel on the FTP screen) and it is formatted for viewing from a couple different perspectives.  The HTML markup behind the scenes is very basic, I&#8217;ll have to investigate how to parse it to show broken links by plugin for being able to send the reports to the correct people but that might be a later post.</p>
<p>Here&#8217;s a quick screen cap showing one easily identifiable broken link:</p>
<p><img class="alignnone size-full wp-image-157" title="report_output" src="http://mrscripter.com/wp-content/uploads/2009/11/report_output.jpg" alt="report_output" width="514" height="372" /></p>
<h2>Other tools?</h2>
<p>I&#8217;ve listed a few here from my own experiences but would love to hear from others.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrscripter.com/2009/11/link-checking-your-topics-in-an-eclipse-help-systeminfocenter/eclipse-help-system/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DITA builds with WinAnt Echidna</title>
		<link>http://mrscripter.com/2009/11/dita-builds-with-winant-echidna/dita</link>
		<comments>http://mrscripter.com/2009/11/dita-builds-with-winant-echidna/dita#comments</comments>
		<pubDate>Sun, 15 Nov 2009 04:07:41 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[DITA]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[dita-ot]]></category>
		<category><![CDATA[product review]]></category>
		<category><![CDATA[winant]]></category>
		<category><![CDATA[winant echidna]]></category>

		<guid isPermaLink="false">http://mrscripter.com/?p=134</guid>
		<description><![CDATA[I recently stumbled across the WinAnt Echidna project on SourceForge while browsing the DITA Open Toolkit project forums.  While DITA as a markup language is not difficult to learn and begin to start creating content, DITA can be difficult to &#8230; <a href="http://mrscripter.com/2009/11/dita-builds-with-winant-echidna/dita">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrscripter.com%2F2009%2F11%2Fdita-builds-with-winant-echidna%2Fdita"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrscripter.com%2F2009%2F11%2Fdita-builds-with-winant-echidna%2Fdita&amp;source=mrscripter&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently stumbled across the <a href="http://sourceforge.net/projects/winant-echidna/">WinAnt Echidna</a> project on SourceForge while browsing the <a href="http://sourceforge.net/projects/dita-ot/forums">DITA Open Toolkit project forums</a>.  While DITA as a markup language is not difficult to learn and begin to start creating content, DITA can be difficult to see the fruits of those labors if you are just getting starting with the DITA-OT. Most information developers are not experts in XSL or ANT.  The <a href="http://www.hyperwrite.com/Articles/showarticle.aspx?id=71">WinAnt</a> tool can help them get started with producing DITA sourced content very quickly.</p>
<p>WinAnt is generally going to appeal to writers and teams on smaller projects. Larger and more complex projects and deliverables likely have requirements that go beyond what WinAnt provides.<span id="more-134"></span></p>
<h4>Benefits</h4>
<ul>
<li>Free</li>
<li>Quick to create and run both simple and customized builds</li>
<li>Supports a variety of output types, including: XHTML, PDF, Eclipse plugin, HTML Help, JavaHelp, DocBook, and Word.</li>
<li>Repeatable builds by saving build projects.</li>
<li>Style settings can be controlled through skins, which list headers, footers, stylesheets and includes . Skins can be used for consistent settings amongst a team.</li>
<li>Automation through scheduled tasks and saved build projects.</li>
<li>Logs are styled and highlight messages produced by the build.</li>
<li>ANT build.xml can be exported if your project needs to grow beyond what WinAnt provides.</li>
</ul>
<h4>Limitations</h4>
<ul>
<li>Unclear about longevity and maintenance of the project</li>
<li>Unable to customize or override XSL settings.</li>
<li>Errors and warnings in build are not explicitly displayed. Must manually check logs for each transform. Expected a pop-up or dialog telling me that my project had <em>X</em> errors and <em>Y</em> warnings.</li>
<li>Lack of support for specializations? (Unverified but looks that way from a quick attempt)</li>
<li>Troubleshooting problems can be difficult.</li>
<li>Runs on Microsoft Windows only.</li>
<li>WinAnt help launches in odd sizes and is always on top of UI. No tooltips or descriptions for many settings.</li>
<li>Lacks expanded tasks such as source code control extraction, distribution of output options, versioning of builds,  and advanced reporting.</li>
<li>JavaHelp and HTML Help require additional installed programs that not distributed with program or linked from the UI.</li>
</ul>
<p>When I first downloaded the product, I expected that I would be disappointed with it just based on my first impression. WinAnt for such a small and simple program is quite powerful.  I would suggest that anyone who is trying to get started learning DITA should definitely give this program a try. It definitely lowers the learning curve for DITA builds.</p>
<p>The WinAnt tool was created by Tony Self of <a href="http://www.hyperwrite.com">HyperWrite</a>. Nice work!</p>
]]></content:encoded>
			<wfw:commentRss>http://mrscripter.com/2009/11/dita-builds-with-winant-echidna/dita/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DITA as a wiki format?</title>
		<link>http://mrscripter.com/2009/11/dita-as-a-wiki-format/dita</link>
		<comments>http://mrscripter.com/2009/11/dita-as-a-wiki-format/dita#comments</comments>
		<pubDate>Mon, 09 Nov 2009 06:37:07 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[DITA]]></category>

		<guid isPermaLink="false">http://mrscripter.com/?p=125</guid>
		<description><![CDATA[Wikis for documentation make sense for many reasons, including  low cost of implementation, ease of publishing, and collaboration possibilities.  DITA has become a popular XML format for semantic markup of information and is generally used for documentation.  Wiki content is &#8230; <a href="http://mrscripter.com/2009/11/dita-as-a-wiki-format/dita">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrscripter.com%2F2009%2F11%2Fdita-as-a-wiki-format%2Fdita"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrscripter.com%2F2009%2F11%2Fdita-as-a-wiki-format%2Fdita&amp;source=mrscripter&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Wikis for documentation make sense for many reasons, including  low cost of implementation, ease of publishing, and collaboration possibilities.  DITA has become a popular XML format for semantic markup of information and is generally used for documentation.  Wiki content is generally authored or stored as <a href="http://en.wikipedia.org/wiki/Wikitext">wikitext</a>, which is an non-standardized markup format.  Should DITA be used as a markup format for wikis instead of wikitext or HTML? I believe the answer is that DITA in the authoring environment of wikis is impractical and does not work for general audiences.<span id="more-125"></span></p>
<p>I work at IBM where DITA was first invented and where we author an unimagineable amount of content in DITA. We create all kinds of tools to support its authoring, transformation, translation, specialization, and delivery.  DITA has in various capacities been explored as a format for a variety of delivery mechanisms, including content management systems, wikis, microformatted XHTML that retains DITA markup, and also your more standard outputs.  Basically, if some tool or application is out there, we&#8217;ve likely tried to make it DITA friendly.</p>
<h2>Know your audience</h2>
<p>You must know your audience to create quality documentation that meets the requirements of the user.  Most of my users are database administrators and application developers. My guess is that none of the users of the products I work on knows a thing about DITA markup.  DITA requires some upfront education for anyone that is going to create content in the desired manner.</p>
<p>A core feature of a wiki is the collaborative editing and authoring aspect. By using DITA as the wiki markup, you are removing that feature by subjecting your potential authors to learning a new language and all its nuances. The word wiki in Hawaiin means quick. Quick also implies easy.</p>
<p>Subjecting one of our users to DITA authoring would be a significant hindrance in terms of their ease in offering contributions. Public collaboration on most documentation projects is extremely difficult.  Tom Johnson in his article on <a href="http://www.idratherbewriting.com/2009/10/29/a-few-surprises-in-using-a-wiki-for-documentation/">A Few Surprises in using a Wiki for Documentation</a> discovered that most contributors were likely to only make small edits rather than add to the documentation set. Why throw another roadblock in the way?</p>
<h2>Editing tools</h2>
<p>Last time I checked, there were very few web-based DITA editors. The primary contenders were <a href="http://www.inmediusdita.com/">DitaStorm</a>, <a href="http://na.justsystems.com/content-xmetal-xmax">XMetal XMAX</a>, and <a href="http://xopus.com/">Xopus</a>.  I have tried both DitaStorm and Xopus for working with DITA. DitaStorm seems to be the more generally well known web-based tool of the bunch. I&#8217;ve tried it through its various versions and my general feeling is that for very basic authoring it works okay but for more specialized authoring and design it is unwieldy and often buggy. Within IBM, we had a few licenses for a project and I often found myself wishing I was just using Notepad instead for editing topics. The problems and challenges I experienced I feel were more due to Javascript issues especially around cursor placement, but as an experienced DITA user found myself very frustratred to not be able to easily get the output I desired.</p>
<p>Most people author their content visually to create the desired elements and effects. When they want emphasis on a term they will use bold or italics. They won&#8217;t want to consider should that emphasized text be a UIControl, parmname, apiname, varname, or one of the many other semantic tags&#8211;they will use the non-semantic bold tag.</p>
<h2>Solutions?</h2>
<p>Do you try to hide the complexity of authoring in DITA from users that do not care and just want to write? Do you create a kind of hybrid DITA wiki that features some of the benefits of both worlds? Is a light-weight CMS really a better solution for easy authoring? Maybe a DITA to WordPress import plugin or to Drupal or Joomla?</p>
<p>Currently, I don&#8217;t feel there is a good answer for the human element of DITA and wikis. <a href="http://www.idratherbewriting.com/2009/10/29/a-few-surprises-in-using-a-wiki-for-documentation/comment-page-1/#comment-145572">I responded to Tom Johnson&#8217;s blog post</a> when it was first posted stating that I believe there is common ground between wikis and DITA but most of that common ground is in terms of technical implementation rather than usage patterns.</p>
<p>I am not saying there is not a place for a native DITA wiki, but the use case is probably for collaboration among DITA authors rather than with a larger community of end users.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrscripter.com/2009/11/dita-as-a-wiki-format/dita/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>New technologies must always be applied to recipes first</title>
		<link>http://mrscripter.com/2009/11/new-technologies-must-always-be-applied-to-recipes-first/humor</link>
		<comments>http://mrscripter.com/2009/11/new-technologies-must-always-be-applied-to-recipes-first/humor#comments</comments>
		<pubDate>Mon, 02 Nov 2009 02:28:14 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[humor]]></category>

		<guid isPermaLink="false">http://mrscripter.com/?p=58</guid>
		<description><![CDATA[It always baffles me why the first place that people often try to apply new technologies is to the Kitchen, specifically recipes.  This practice reminds of starting with Hello World for programming and Lorem Ipsum Dolar for design.  Basically that &#8230; <a href="http://mrscripter.com/2009/11/new-technologies-must-always-be-applied-to-recipes-first/humor">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrscripter.com%2F2009%2F11%2Fnew-technologies-must-always-be-applied-to-recipes-first%2Fhumor"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrscripter.com%2F2009%2F11%2Fnew-technologies-must-always-be-applied-to-recipes-first%2Fhumor&amp;source=mrscripter&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>It always baffles me why the first place that people often try to apply new technologies is to the Kitchen, specifically recipes.  This practice reminds of starting with Hello World for programming and Lorem Ipsum Dolar for design.  Basically that says &#8220;we have some cool tools but we really don&#8217;t yet know what to do with them.&#8221; The next logical step is somehow making this tool apply to recipes right? Then you have a tool and a purpose.<span id="more-58"></span></p>
<p>The article that got me thinking about this topic is the <a href="http://lifehacker.com/5370989/dropbox-for-iphone-makes-a-great-kitchen-aid">Dropbox for iPhone Makes a Great Kitchen Aid</a> article. I am a Dropbox user and it is quite nice for syncing files between my various machines especially project files that I might need at any time but recipes on my iPhone? Other tools handle that quite nicely already.</p>
<p>The other item that got me thinking about this was the <a href="http://en.wikipedia.org/wiki/Honeywell_316">Honeywell 316</a> &#8220;minicomputer&#8221; built in 1969 and marketed towards housewives.  A kitchen computer in 1969 now that was really cutting edge, but that housewife would also need to be quite cutting edge and know how to program the recipes in a binary format (came with a two week training course!).</p>
<p>There are other examples of this same practice, such as the Internet refrigerator and other networked appliances.  Is technology just trying to reach that cooking nirvana? The one where I don&#8217;t have to think about cooking and I have delicious automagically created food and served to me by a robot?</p>
<p>Maybe that is the key here&#8230;geeks like me love to eat, have programming skills, and rather than work on our cooking skills we&#8217;d rather try to program our way towards dinner.</p>
<p><img class="alignnone size-full wp-image-123" title="352px-Kitchen_computer_ad" src="http://mrscripter.com/wp-content/uploads/2009/11/352px-Kitchen_computer_ad.jpg" alt="352px-Kitchen_computer_ad" width="352" height="600" /></p>
]]></content:encoded>
			<wfw:commentRss>http://mrscripter.com/2009/11/new-technologies-must-always-be-applied-to-recipes-first/humor/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Information developer or software engineer? Or something in between?</title>
		<link>http://mrscripter.com/2009/10/information-developer-or-software-engineer-or-something-in-between/resume</link>
		<comments>http://mrscripter.com/2009/10/information-developer-or-software-engineer-or-something-in-between/resume#comments</comments>
		<pubDate>Sun, 11 Oct 2009 04:07:33 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[resume]]></category>
		<category><![CDATA[information-developer]]></category>
		<category><![CDATA[job-title]]></category>
		<category><![CDATA[web-developer]]></category>

		<guid isPermaLink="false">http://mrscripter.com/?p=92</guid>
		<description><![CDATA[I have a really hard time describing my role to people outside of IBM.  If I wanted to be lazy and did not want to go into details and explain all my different projects, I would likely quickly state that &#8230; <a href="http://mrscripter.com/2009/10/information-developer-or-software-engineer-or-something-in-between/resume">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrscripter.com%2F2009%2F10%2Finformation-developer-or-software-engineer-or-something-in-between%2Fresume"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrscripter.com%2F2009%2F10%2Finformation-developer-or-software-engineer-or-something-in-between%2Fresume&amp;source=mrscripter&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I have a really hard time describing my role to people outside of IBM.  If I wanted to be lazy and did not want to go into details and explain all my different projects, I would likely quickly state that I am a technical writer.</p>
<p>I do not consider myself to be a technical writer though because I believe the term is so limiting. I worked as a web developer for five years while I was completing my Bachelor of Science degree in Technical Communication, which is from the department of <a href="http://hcde.washington.edu/">Human Centered Design and Engineering</a> at the University of Washington.</p>
<p>Most of my work experience has been in the realm of web development and my degree work was an even mix of user experience engineering and technical writing.<span id="more-92"></span></p>
<p>At IBM, while working as an information developer, I&#8217;ve spent a majority of my time working on more technical projects such as writing and developing for the IBM Data Studio Administration Console and <a title="Graphical aid for generating object setup scripts (patent pending)" href="http://mrscripter.com/2009/10/graphical-aid-for-generating-object-setup-scripts-patent-pending/projects">developing a WebSphere MQ script generating tool</a> as part of the WebSphere Replication Server team.</p>
<p>After that team, I moved to the Integrated Data Management portfolio as the overall Information Development infrastructure lead.  My job title does not get more clear with this change in roles. I now lead a team of database developers, writers, sales enablement, and other subject matter experts in the development of a <a title="Great Outdoors sample database (GSDB)" href="http://mrscripter.com/2009/09/great-outdoors-sample-database-gsdb/projects">common sample database</a> that our portfolio of greater than 30 products. In addition to leading that development team, I am also working on education and advocating adoption of this database across other Software Group products.</p>
<p>That alone sounds like a full time job right? Just one part of my new role. I also am the lead for integrating all of the documentation from the portfolio of products into a single solution-oriented <a href="http://publib.boulder.ibm.com/infocenter/idm/v2r2/index.jsp">information center</a>. I also develop and implement an  automated DITA build system to allow all of the writing contributors to collaborate on the design of the information in an on-demand build environment.</p>
<p>I developed an web application that is based on the <a href="http://extjs.com">ExtJS JavaScript library</a>, <a href="http://codeigniter.com">CodeIgniter PHP framework</a>, and MySQL that powers this back-end DITA documentation build, which uses ANT, Perl, and MySQL.</p>
<p>I also have a good user experience engineering background from my course work at the University of Washington. In one of my most influential courses (User Interface Design), my team developed and won the award for best designed project.  I was the interface designer and technical writer for that joint team of 3 industrial engineers and one Tech Comm. student. This course was led by the world renown <a href="http://www.hitl.washington.edu/people/tfurness/">Dr Thomas Furness</a>.</p>
<p>So what title should I really be using to describe myself information developer? software engineer? application developer? user experience engineer? team lead? technical writer? or just nerd?</p>
]]></content:encoded>
			<wfw:commentRss>http://mrscripter.com/2009/10/information-developer-or-software-engineer-or-something-in-between/resume/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

