<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><atom:link href="http://www.flatironssolutions.com/RSSRetrieve.aspx?ID=4211&amp;Type=RSS20" rel="self" type="application/rss+xml" /><title>Jim Earley</title><description>Jim Earley</description><link>http://www.flatironssolutions.com/</link><lastBuildDate>Sat, 19 May 2012 12:23:59 GMT</lastBuildDate><docs>http://backend.userland.com/rss</docs><generator>RSS.NET: http://www.rssdotnet.com/</generator><item><title>DITA's New Keys and the 80/20 Rule</title><description>&lt;p&gt;Have you ever used the lorem() function in Microsoft Word? How about the rand() function? Do you know all the &lt;a href="http://support.microsoft.com/KB/211982"&gt;function keys&lt;/a&gt;? Most of us have used Microsoft Word for countless years and don’t know about all of the “hidden” functionality that it offers. Chances are, you’ll know a few of these, but you won’t know all of them simply because you’ve never needed them. Many of these functions are extremely powerful utilities that make Word a versatile application beyond a standard formatted text editor. But they’re available if you ever have the need.&lt;/p&gt;&lt;p&gt;The same is true with some of the new functionality being made available in the forthcoming DITA 1.2 release currently being worked on. Of particular interest is the introduction of &lt;em&gt;keys&lt;/em&gt;. Keys provide a way for authors to create addresses to resources through the use of a named identifier rather thanto a specific URI pointer. In other words, I can create an easy-to-remember key, like “ms-word-functions” that actually resolves to a URL “&lt;em&gt;http://support.microsoft.com/kb/211982” &lt;/em&gt;and link to this URL using the key name in my DITA topic.&lt;/p&gt;&lt;p&gt;Here’s an example of how it works. In my map, I define a topicref and set the &lt;em&gt;keys &lt;/em&gt;attribute with an identifier. I also set my &lt;em&gt;href&lt;/em&gt; to the physical location of the resource I want to reference.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new'; ;"&gt;&amp;lt;map&amp;gt;&lt;br /&gt;    &amp;lt;topicref &lt;strong&gt;keys=&lt;/strong&gt;"ms-word-functions" &lt;br /&gt;        href="&lt;/span&gt;&lt;em&gt;&lt;span style="font-family: 'courier new'; ;"&gt;http://support.microsoft.com/kb/211982"&lt;/span&gt;&lt;br /&gt;&lt;/em&gt;&lt;span style="font-family: 'courier new'; ;"&gt;        scope="external"/&amp;gt;&lt;br /&gt;&amp;lt;/map&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;In my topic file, I can reference the key that's defined in my map:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new'; ;"&gt;&amp;lt;topic id="my.topic"&amp;gt;&lt;br /&gt;    &amp;lt;title&amp;gt;SampleTopic&amp;lt;/title&amp;gt;&lt;br /&gt;    &amp;lt;body&amp;gt;&lt;br /&gt;        &amp;lt;p&amp;gt;&lt;br /&gt;            Lorem ipsum dolor sitamet,  &lt;br /&gt;            consectetuer adipiscing elit. Maecenas&lt;br /&gt;            porttitor conguemassa. Fusce posuere, agna &lt;br /&gt;            sed pulvinar ultricies, purus &lt;br /&gt;            &lt;em&gt;&lt;strong&gt;&amp;lt;xref keyref="ms-word-function"&amp;gt;lectus&amp;lt;/xref&amp;gt;&lt;/strong&gt;&lt;br /&gt;&lt;/em&gt;            malesuada libero, sit amet commodo magna eros &lt;br /&gt;            quisurna.&lt;br /&gt;        &amp;lt;/p&amp;gt;&lt;br /&gt;   &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/topic&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Now, when the topic is rendered, it will resolve itself to the Microsoft URL defined in my map. Pretty cool stuff. And powerful too. This has many potential uses: localizers can create translated versions of a resource using the same key reference and resolve the link to a locale-specific version of the reference. Consumers can be directed to different resources based on their profile orcontext within a website.&lt;/p&gt;&lt;p&gt;From an authoring perspective, there's another neat user story: I can reference a "yet-to-be-determined" resource via a key, and when that resource has been created, the key's definition in the map file will resolve the key reference.&lt;/p&gt;&lt;p&gt;Technically, a key definition doesn't need to be reside directly in the map that references that topic. It can live in an "ancestor" map that pulls in the topic indirectly by way of the map referencing that topic. In fact key values can be overridden: Let's assume that I define a key, called "company-website" in Map A that points to "www.company-a.com", and in Map B, I define the same key as"www.company-b.com". Map B also references Topic-1.dita which contains a keyref to "company-website". Map A references Map B. When the Topic-1.dita is rendered in the context of Map B as the primary map, the keyref will resolve to"www.company-b.com"; when Map A is the primary map, the same topic willreference www.company-a.com.&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;Map A&lt;br /&gt;    Key: company-website = "www.company-a.com"&lt;/li&gt;    &lt;ul&gt;        &lt;li&gt;Map B&lt;br /&gt;        Key: company-website = “www.company-b.com”&lt;/li&gt;        &lt;ul&gt;            &lt;li&gt;Topic-1.dita&lt;br /&gt;            keyref: company-website&lt;br /&gt;            &lt;em&gt;resolves to:            www.company-a.com&lt;/em&gt;&lt;/li&gt;        &lt;/ul&gt;    &lt;/ul&gt;    &lt;li&gt;Map B&lt;br /&gt;    Key: company-website = “www.company-b.com”&lt;/li&gt;    &lt;ul&gt;        &lt;li&gt;Topic-1.dita&lt;br /&gt;        keyref: company-website&lt;br /&gt;        &lt;em&gt;resolves to:        www.company-b.com&lt;/em&gt;&lt;/li&gt;    &lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;With all great power comes even greater responsibility. Any time a topic makes use of a key reference, that topic is explicitly binding itself to a map (or many maps), meaning that a topic is no longer a unit of information that is completely independent of any particular context in which it is assembled into. You could make the argument that any reference defined in a topic to an external resource (e.g., an image or a cross-reference to another topic) by definition creates a dependency on that topic. And arguably, the &lt;em&gt;referenced&lt;/em&gt; (the endpoint) resource is unaware of the object that is referencing it, regardless of whether it's a topic reference or a cross-reference. But there is an additional dependency in the case of keys: Any map that references a topic with a key reference must define the key. So in a sense, not only does the map (or an ancestor map) need to know &lt;em&gt;about&lt;/em&gt; the topic, it needs to discover what the topic is &lt;em&gt;about&lt;/em&gt;, specifically related to any key references it points to. Consequently, somewhere along the line, at least one map must define the keys used by a topic.  Did you get all that?  Imagine what your XML authoring tools, CMS systems, and rendering platforms will need to do to manage this.&lt;/p&gt;&lt;p&gt;This is pretty sophisticated and powerful functionality.  But the question is, do you need to use &lt;em&gt;keys&lt;/em&gt; and &lt;em&gt;keyrefs&lt;/em&gt; in order to use DITA?  More importantly, will your tools need to support keys to take advantage of DITA's other capabilities?  The short answer is &lt;em&gt;no.&lt;/em&gt;  In fact, I would expect that &lt;em&gt;keys/keyref&lt;/em&gt; -enabled DITA support is still a way off for most DITA-enabled tools.  Nevertheless, you can still use DITA with the current tools and get most, if not all, of what you need.  Just like Microsoft Word with features like MailMerge, keys and keyref will be there if you need them, but chances are, you can get by without them for most content without ever knowing you missed it. &lt;/p&gt;&lt;p&gt;Finally,  the possiblity of defining indirect links has opens the door to many different possibilities for dynamically driven, profile- and locale-specific content.  This is very cool stuff - the kind of thing XML folks like me get excited about.  But from a practical standpoint, there are potential downsides too.  Keys and key references add another layer of complexity to planning the authoring, deployment and management of DITA content.  In reality, most tools aren't ready for this complexity just yet.  So while the the standard is ahead of the game, the rest of the industry will be playing catch up.  Still, Ride the Wave.  &lt;/p&gt;
</description><link>http://www.flatironssolutions.com/RSSRetrieve.aspx?ID=4211&amp;A=Link&amp;ObjectID=64720&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.flatironssolutions.com%252fBlogRetrieve.aspx%253fBlogID%253d3377%2526PostID%253d64720</link><guid isPermaLink="true">http://www.flatironssolutions.com/BlogRetrieve.aspx?BlogID=3377&amp;PostID=64720</guid><pubDate>Sun, 10 May 2009 23:39:00 GMT</pubDate></item><item><title>Content Management Strategies/DITA North America Conference Review</title><description>&lt;p&gt;I wasn’t able to attend many of the session since I was manning the
Flatirons Solution booth.&amp;nbsp; Yet from talking with the attendees who
visited with us, here are some of the key takeaways:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;DITA is here to stay&lt;/strong&gt;.
    This is not news, but the key point here is that organizations are
    adopting the standard in earnest, as evidenced by the 150-200 attendees
    who came despite a bad economy, and discretionary budgets being
    whittled to next to nothing.&amp;nbsp; This means that organizations are
    thinking about DITA as an integral part of their long term strategy. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;DITA’s scope is not only Technical Publications.&lt;/strong&gt;&amp;nbsp;
    Again, not earth-shattering news.&amp;nbsp; With specializations like Machine
    Industry, Learning Objects, and gobs of others, DITA is extending its
    reach to whole industries that haven’t been able to take advantage of
    XML before now.&amp;nbsp; At the conference, I spoke to attendees in a wide
    range of industries including bio-tech, and manufacturing.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Shifting focus from Content Authoring to Content Management and Content Delivery Services.&lt;/strong&gt;&amp;nbsp; This is a fundamental shift.&amp;nbsp; Eric Severson emphasized this point when he demonstrated that Microsoft Word &lt;em&gt;could&lt;/em&gt; be used to create DITA for a &lt;em&gt;specific&lt;/em&gt;
    class of users that aren’t the primary audience for more conventional
    XML authoring solutions.&amp;nbsp; Obviously this raised a few eyebrows in the
    audience, but the point is that DITA’s architecture is such that even
    casual contributors, given a few minor constraints in Word, can
    certainly provide content that can be easily turned into DITA. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;DITA will live in Middleware.&lt;/strong&gt;
    This is a key point. While the focus of the conference was centered
    around DITA and content management, there’s more here than meets the
    eye.&amp;nbsp; I had the opportunity to sit in on the open forum that discussed
    upcoming v1.2 features.&amp;nbsp; Many of these features are centered around
    link handling (things like &lt;em&gt;keyref&lt;/em&gt;, &lt;em&gt;conref push,&lt;/em&gt; and &lt;em&gt;conref keys [conkeyref]&lt;/em&gt;).&amp;nbsp;
    There will be greater emphasis on managing all kinds of linking,
    including indirect links that could&amp;nbsp; have significant implications on
    vendors’ existing&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;architectures.&amp;nbsp; While it still will
    be possible to manage small projects from simple file management
    strategies (including things like Subversion), larger projects and
    enterprise-wide implementations, particularly those that want to take
    advantage of these new features will need more sophisticated
    applications (read: a content management system) to manage the myriad
    of link strategies being made available.&amp;nbsp; &lt;br /&gt;
    &lt;br /&gt;
    Even rendering
    tools will need to be more sophisticated to support these new
    features.&amp;nbsp; The DITA Open Toolkit is currently working on a new version
    (1.5) to support these.&amp;nbsp; Other rendering applications will need to
    start thinking about how they plan to support these features. &lt;br /&gt;
    &lt;br /&gt;
    I’ll
    have more thoughts on this particular topic later.&amp;nbsp;&amp;nbsp; Suffice it to say
    that there are some key assumptions that current DITA adopters take for
    granted and make impact how they design and create content in the
    future. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;XML Authoring tools will get more complex.&amp;nbsp; &lt;/strong&gt;To support all the new features coming in DITA 1.2, DITA-aware XML authoring tools will need to be &lt;span style="text-decoration: underline;"&gt;tightly&lt;/span&gt;
    integrated into middleware systems, particularly the CMS.&amp;nbsp; There will
    also be a strong emphasis for authoring tools to handle a wide variety
    of link and referencing strategies.&amp;nbsp; I anticipate that these
    applications will be more process-intensive, with larger footprints on
    a user’s PC.&amp;nbsp; I also anticipate that the level of sophistication
    required to “operate” these tools will be much higher.&amp;nbsp; So the emphasis
    for XML Authoring tool vendors will have to focus on both features and
    usability.&amp;nbsp; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This conference was illuminating on many different facets.&amp;nbsp; Even the vendors I spoke to seemed to realize that DITA is a truly &lt;em&gt;disruptive technology&lt;/em&gt;
that has changed the way the entire industry thinks about XML. In the
current economic reality, this is the perfect time to be thinking about
what this all means and how organizations can take advantage of these
innovations in their environment.&amp;nbsp; Ride the wave.&lt;/p&gt;

</description><link>http://www.flatironssolutions.com/RSSRetrieve.aspx?ID=4211&amp;A=Link&amp;ObjectID=64525&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.flatironssolutions.com%252fBlogRetrieve.aspx%253fBlogID%253d3377%2526PostID%253d64525</link><guid isPermaLink="true">http://www.flatironssolutions.com/BlogRetrieve.aspx?BlogID=3377&amp;PostID=64525</guid><pubDate>Fri, 08 May 2009 20:26:00 GMT</pubDate></item></channel></rss>
