<?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>Mon, 26 Jul 2010 04:25:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</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 does not yet run the DITA Open Toolkit transforms.  The intent of the plugin is [...]]]></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" 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 of your existing builds and processes. You can use your existing DITA-OT Ant scripts to [...]]]></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" 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>4</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: A plugin is a folder or JAR file that provides instructions to Eclipse for how [...]]]></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" 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 work that went into this submission and also read the patent itself. Recently, the tool [...]]]></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" 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[Did you know that your Eclipse documentation plugins can contain Java for creating dynamic content? If you&#8217;ve ever felt limited by the Eclipse Help System, this post will show you the basics of creating a dynamic plugin by taking advantage of the org.eclipse.help.contentProducer extension point. Skill level I would call this an intermediate topic. Attached [...]]]></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" height="61" width="50" /><br />
			</a>
		</div>
<p>Did you know that your Eclipse documentation plugins can contain Java for creating dynamic content? If you&#8217;ve ever felt limited by the Eclipse Help System, this post will show you the basics of creating a dynamic plugin by taking advantage of the <a title="Extension point reference for org.eclipse.help.contentProducer" 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. <span id="more-162"></span></p>
<h2>Skill level</h2>
<p>I would call this an intermediate topic. Attached is a sample project that provides a simple framework for getting started with your own plugin. If you have a very basic level of Java experience or other coding experience, you should be able to follow along. I am definitely not an expert in Java either.</p>
<p>I know from experience that figuring out how to extend the Eclipse help system is difficult and supporting information is sparse. My goal is to give you a head start. I hope that someone out there, who is a better programmer than I, can use this information and contribute something really cool back to the community.</p>
<h2>Getting Started</h2>
<p>I am using <a href="http://www.eclipse.org/downloads/">Eclipse 3.5 IDE for Java EE Developers (Galileo)</a>, but you can use previous versions that contain the <a href="http://www.eclipse.org/pde/">Plugin Development Environment (PDE)</a>. Screenshots and process might differ for other versions.</p>
<ol>
<li>Install Eclipse by extracting the downloaded ZIP file and launching 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> <a href="http://mrscripter.com/wp-content/uploads/2009/12/import_workspace.jpg" rel="lightbox[162]">(screenshot)</a>. Choose the <strong>Select archive file </strong>option and browse to the downloaded sample project zip file. Click <strong>Finish </strong>and you should see com.mrscripter.dynamicsample.doc listed in your Project Explorer view.</li>
</ol>
<p>This sample provides a very basic example of producing dynamic content using Java and Eclipse extension points.</p>
<h2>Run the sample project</h2>
<p>Compiling and creating the output plugin in Eclipse seems a bit odd and not obvious. You can think of your sample project as a source file project that is contained within your Eclipse workspace. The compiled version of the plugin will go into your eclipse/plugins directory so that we can test it in the 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]">(screenshot)</a>.</li>
<li>Browse to your the directory you 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: <em>my_dir</em>/eclipse/plugins/com.mrscripter.dynamicsample.doc_1.0.0.jar.</li>
<li>Restart Eclipse to register this new plugin with the help system.</li>
<li>After Eclipse restarts, click <strong>Help</strong>-&gt;<strong>Help Contents</strong> to display the help system.</li>
</ol>
<p>You should see a top-level navigation entry named &#8220;Dynamic Documentation Sample.&#8221; Each table of contents entry in this section links to the same resource but passes in a different querystring parameter that the sample uses in the title and body.</p>
<p>The links might look confusing at first. I&#8217;ll walk through each of the different aspects of the plugin to explain how the plugin works. If you&#8217;re adventurous and have a good understanding of Java, you can probably stop here and just explore the source code.</p>
<p>If you modify the plugin code, you&#8217;ll have to re-export and restart Eclipse each time. You can run Eclipse in infocenter mode to do this more quickly and easily.</p>
<h2>Dissecting the plugin</h2>
<p>The plugin.xml file contains the instructions that instruct Eclipse how to process the files contained within a directory or JAR file that is in the plugins directory. These instructions take the form of extension points.</p>
<p>The <span style="font-family: courier new,courier;">org.eclipse.help.contentProducer</span> extension point in the plugin.xml 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>
<h3>Content producer</h3>
<p>In my sample, I point the content producer to my HelloDynamicWorld.java. This class must contain 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 code back to Eclipse for display. An InputStream is a byte representation of your text.</p>
<h3>Dynamic content</h3>
<p>Your typical HelloWorld application is not dynamic so I added 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. The result is returned as an InputStream for display.</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 plugin. You can change <em>something.html</em> to just about anything and it will still work as long as you provide the title in the querystring.</p>
<p>One issue, I have not solved yet is that if you specify an extension other than .html, some browsers won&#8217;t display the result as HTML but rather as plain text.  I still need to figure out how to specify the content type in the response.</p>
<h3>Template</h3>
<p>I figured most people wanting to create some kind of output would likely need to do something with a template so I included an extremely basic example of variable replacement. The <span style="font-family: courier new,courier;">createMyDynamicOutput</span> method gets the title from the querystring and then replaces the %TITLE% from the template/template.html file with the value of the query string title parameter.</p>
<h2>What kind of useful things can be done with this?</h2>
<p>I see these Java capabilities in most cases as a method of providing services in the help system. By services, I mean things like feeds, utilities, accessing external information, and lastly simple dynamic HTML output.   I think the following areas would provide the best return:</p>
<h3>Transforming DITA on-the-fly</h3>
<p>The most obvious would be to dynamically transform DITA on-the-fly and make use of the metadata to create custom documentation. You could create XML output for dynamic toc files for use in the navigation pane. If you created a front-end application using Ajax, you could allow for help system customization by tracking preferences. A user could mark that they have Product A on Windows and you could use that information to exclude information about Product B or Linux.</p>
<h3>Widgets</h3>
<p>You could connect to and receive Twitter feeds by integrating the Tweet4J library and display the results as a widget in your Help system homepage or in each page of your help system.  I think a lot of mashup options are possible when you consider web services that might be available to you. You could integrate other social media tools into your documentation such as integrating with your forums or otherwise create a method for commenting on your topics.</p>
<p>You&#8217;ve long been able to include JavaScript in your help topics, but JavaScript can only do so much. You run into cross-domain limitations when trying to use Ajax to different servers for security reasons. Java can allow you to proxy and cleanse the remote data before displaying it.  This could allow you to display RSS feed widgets in your help system. If you controlled that remote RSS feed, that might provide you a mechanism for including real time, relevant information in your help system that you might not be able to otherwise include without your product team releasing a new version of your product.</p>
<h2>What next?</h2>
<p>Get coding! I&#8217;m working on some projects myself to make use of what I&#8217;ve learned while putting this together. I&#8217;ll post those projects in the future. If this post or sample are useful to you, please leave a comment. If you develop a project of your own, I&#8217;d love to hear about it.</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, you might find they aren&#8217;t as easy to maintain as many claim. The Eclipse help [...]]]></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" 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 see the fruits of those labors if you are just getting starting with the DITA-OT. [...]]]></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" 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 generally authored or stored as wikitext, which is an non-standardized markup format.  Should DITA be [...]]]></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" 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 says &#8220;we have some cool tools but we really don&#8217;t yet know what to do [...]]]></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" 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 I am a technical writer. I do not consider myself to be a technical writer [...]]]></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" 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>
