Copyright © 2013 Contelligence Group, LLC
This site delivers live content to personalize the user experience and dynamic layouts to support all devices.
Previously, I described the background of the in-browser editing technology being harnessed for what I called "the poor man's DITA editor," and ended with a look at the user's experience. Since I had described the architecture more fully in a design note, now is a good time to present that note as my first "guest blog."
Don Daymigration, editingThe expeDITA editor utilizes a freely available Rich Text component as the WYSIWYG editor. Given that most narrative content in DITA is exactly what you would compose with a standard Rich Text editor anyway, the match is remarkably good for most body content. The devil, of course, is in the details.
The expeDITA default editor support depends on a careful orchestration of transforms into "hinted HTML" for the editor, then back out into regular (type-validated) DITA.
Validation:
"Type validation" (loosely like type acceptance) means that the output transform relies on pull patterns to represent the main valid structures, mainly leaving only the content of blocks as normally push-based (fall-through) transforms. In this manner, the overall result is normally valid, and mixed content is most at risk of being invalid. Transforms can sometimes be tuned to head off persistent user patterns.
HTML components naturally offer far more "bad options" than desired, such as font size and color controls. Using the normal customization interfaces for the component, the "non-DITA" controls can be removed. In some cases, elements such as codeblock and lines can be represented as styles associated with the generic "div" element. In this fashion, DITA's heritage of elements based on HTML is actually used to advantage, and a surprising amount of DITA functionality can be enabled.
Maps:
The t2h (topic-to-html) "in" transform script handles the conversion of both map and topic content into HTML. Topicrefs have both a nesting and a linking semantic. Since no single HTML element has the same behavior, the hierarchy is represented using using lists, and the linking using the anchor tag. CSS styling creates "named fields" for handling the navtitle content as directly authorable content. List items with navtitle content but no links are implicitly equivalent to topicheads. The list item structure is fairly easy to cut and paste and shove around within the HTML editor. (Note--OPML list editors demonstrate an alternate way to edit maps, using Javascript controls to move elements up, down, in and out, hence with less potential "cut/paste" damage to the structures by users. We'll need some user testing to see which method is more popular and reliable.)
A separate h2m (html-to-map) transform converts map content back into DITA map syntax. The templates can't be part of the h2t (html-to-topic) transform due to fundamental difference in supported doctypes and overall logic.
DITA-specific features:
Architecture diagram:
The logic depicted shows a complete edit cycle (three state transitions) in one diagram. In short, DITA content is converted into hinted HTML for loading into the editor, and the saved stream is converted back into DITA. Through testing, I've learned that certain pre and post processing is necessary regardless of the component. In general, most components behave rather the same under the covers, but there are some browser-dependent differences in tagging (
bvs
span/@style='font-weight:bold'). And depending on the normalizer (which ensures a more or less "standard HTML"), various symbols and literal characters might need a final transposition. Not shown here is a bit of regex code that enables preservation of whitespace and other characters allowed in XML but not HTML. I worry more about corrupting Unicode codepoints in this path than markup validity itself as an issue.
All the user sees is a jump into editor mode and then back to viewing mode. If the view is kept inline (by keeping edit logic to a portion of the screen rather than replacing the view), then the state change can be done using the same HTML as is already painting the view (with the hinting added, of course).
And that is how DITA can be created and, to some extent, round-tripped with edits in a very basic browser environment.
concept | {short description}... |
|
404 Resource Not Found | ... |
|
About Don Day | Ranking among the top XML technology leaders today,Don Day not only contributes to the success o... |
|
About Michael Boses | Michael Boses is a solution architect and product designer who pioneered the simple capture and ... |
|
About | All indications are that unstructured data will offer the largest return on investment from IT effor... |
|
What is expeDITA #2078 | ... |
|
About_expeDITA | {short description}... |
|
Admin topic | {short description}... |
|
In Your Hands: Multi-Platform Dynamic Publishing | Dynamic Publishing is Personalized, Platform Aware, and Immediately Available. Want to get your hand... |
|
Blogs | ... |
|
Book Collaboration Workflow | Testing interfaces for sequenced tasks.... |
|
Citrix Design Close-out topic | {short description}... |
|
Collaborative Innovation | Sometimes off-the-shelf solutions just don't fit. When this happens there is an alternative to endle... |
|
Collaborative Innovation | Collaborative Innovation is exceptionally rewarding—with it you can surpass expectations, redu... |
|
Contact us | ... |
|
Contelligence Group LLC | Adding meaning and mobility to content™... |
|
Content_Intelligence | {short description}... |
|
Content and Information Modeling | Applications that rely on structured data depend on a Data Model to ensure things work as planne... |
|
Content Strategy | Combining two words with broad meanings usually guarantees confusion. Everyone is talking about , b... |
|
Content Strategy Services | Chances are your content could use some new digs if it is going to support your key ... |
|
DITA: Adaptation is the Key to Improved ROI | Successful enterprise content is agile and ready to adapt on demand. The Darwin Information Typi... |
|
What is “DITA for the Web?” | “Does Don Day know about DITA?” That’s a skills endorsement question that is likely to pop up ... |
|
Case Study: Defense Intelligence Production Environment (IPE) | ... |
|
Easy_Content_Creation | {short description}... |
|
Enterprise Strategy | What is bigger than "Big Data" with far more game changing potential? It's Big Content, the most val... |
|
Upcoming Events | ... |
|
Upcoming Events | ... |
|
Recent Events | ... |
|
Giving Back | Nonprofit organizations often face the same content challenges as do large businesses and government... |
|
Contelligence Group | Welcome to the Contelligence Group! We are a consultancy, a technology incubator, a center for innov... |
|
Case Study Highlight: IBM Microelectronics | Enabling semantic technical collaboration and publishing using familiar tools.... |
|
Incubator | is a collection of pages about our explorations and influences with technology and methodo... |
|
Industries and Case Studies | A collection of experiences.... |
|
Industries_and_Solutions | {short description}... |
|
Insights | ... |
|
Intelligent_Content | {short description}... |
|
Intelligent Content Review | {short description}... |
|
Life Science Solutions | ... |
|
Manufacturing Solutions | Content is everywhere, and there are many Intelligent Content requirements that are common without r... |
|
Privacy Policy | To deliver a dynamic reading experience using native XML as the source format, this site necessarily... |
|
Project Acceleration | Experts agree that success is secured or forfeited in the earliest phases of a project. We bring rar... |
|
Project Acceleration Services | While experts claim most software projects fail, our most ambitious projects have set ... |
|
Project Consulting | Experts agree that success is secured or forfeited in the earliest phases of a project. We bring rar... |
|
(Duplicate) Project Management 2.0 | There are a huge number of variables in every IT project--different organizations, vendors, software... |
|
Project Success | We have delivered some of the most successful projects, products, and standards, in the industry. Ex... |
|
Projects and Research Topics | More about some of the things we are working on in our Laboratory!... |
|
Publishing Solutions | ... |
|
Resources | {short description}... |
|
Services | We help organizations solve unstructured data problems and deliver content that operates with the sa... |
|
Simplifying Complexity | The Contelligence Group is driven to simplify complexity: in business processes; in software archite... |
|
Solution Architecture | If all the pieces of a project are together and it still feels like something important is missi... |
|
Solutions | The Contelligence Group is driven to simplify complexity; whether it be in business processes, in so... |
|
Technical_Advisory | {short description}... |
|
Technical Advisory Services | Until recently unstructured data received minimal attention and even large IT departments had little... |
|
The Myth of the Bleeding Edge | Implementing executive strategy can require projects for which there are few precedents and definite... |
|
This is my page topic | {short description}... |
|
Understanding Big Content | What is bigger than "Big Data" with far more game changing potential? It's Big Content, the most val... |
|
Unstructured Data and Enterprise Architecture | Everyone is talking about "big data," and there is a new rush to see who can provide the best tools ... |
|
Quick Take Webinars | ... |
|
What is Content Intelligence? | The most common initial question about Intelligent Content may be, “So why not just make compute... |
|
What is Content Strategy? | Combining two words with broad meanings usually guarantees confusion. Everyone is talking about Con... |
|
What is Intelligent Content? | A decade after the arrival of the "paperless office" is your most valuable content still difficult t... |
|
Why Contelligence? | Operational systems and databases contain information that is routinely delivered for customer self-... |
|
Why "Minimally Viable Products" Aren’t | The entire startup community is currently enraptured with the concept of the , many of which may not... |
|
Why a Technology Incubator? | Few people will argue with the fact that technical innovation is vitally important to all of us. It... |
|
About expeDITA | ... |
|
Case Study: Ireland Cross Government Intelligent Content (eCabinet) | The Prime Minister's Cabinet decided to replace the decades old manual government-wide decision maki... |
|
Footer | A short description may or may not be used in a footer--not clear that it has a direct placement sem... |
|
Contelligence Group | ... |
|
hello-world topic | {short description}... |
|
Why "Minimally Viable Products" Aren’t | ... |
|
Dummy Title | With Intelligent Content, you can easily move from print to web to mobile to tablets. And, more impo... |
|
Dummy Title | We have delivered some of the most successful projects, products, and standards, in the industry. Ex... |
|
Dummy Title | Is your most valuable content buried as "unstructured data?" Add meaning and mobility to content cre... |
|
DITA: Adaptation is the Key to Improved ROI | Successful enterprise content is agile and ready to adapt on demand. The Darwin Information Typi... |
|
Slide Template | ... |
|
It Was With You All Along: Adaptive DITA! | What do shortdescs and conditional processing have to do with Adaptive Content, that trending phra... |
|
Review: Responsive Design vs Adaptive Content | Both terms tend to be seen together.... |
|
The C.I.A. Mantra: | "Get the right information to the right person at the right time... or somebody may die!"... |
|
What Enables These Features? | Serving content in a responsive, adaptive manner happens by different mechanisms. ... |
|
The Holy Grail: Timely Adaptiveness for CIA Content! | In effect, dynamic (or "on demand") configuration for the audience and task (or "conditionality). ... |
|
What Makes DITA Content Not Adaptive in the current sense? | Today, DITA production usually follows the "compile" paradigm: . For other users, Repeat, Lather, ... |
|
What Would Adaptive DITA be Like? | What is an adaptive, on-demand experience like?... |
|
What are the Adaptive Features in DITA? | ... |
|
Tools for Adapting DITA Content: Personalization | Used singly or together... ... |
|
Tools for Adapting DITA Content: Logic (How Cues are Used) | ... |
|
How Can We Promote On-demand Adaptiveness? | CSNY: "We've got to get ourselves back to The Garden!"... |
|
Case Study: | ... |
|
Content Strategy Services | Chances are your content could use some new digs if it is going to support your key ... |
|
Project Acceleration Services | While experts claim most software projects fail, our most ambitious projects have set ... |
|
Services | We help organizations solve unstructured data problems and deliver content that operates with the sa... |
|
Technical Advisory Services | Until recently, formal IT education gave little attention to unstructured data and even ... |
|
Services | ... |
|
Project Acceleration Services | ... |
|
Project Acceleration Services | ... |
|
Services | ... |
|
[No title] | ... |
|
Under the hood with the poor man's DITA editor | Previously, I described the background of the in-browser editing technology being harnessed for what... |
|
Intelligent Content 2011 in review | Following last week's conference, I'm now getting some time to reflect on both the big picture that... |
|
What's in a word? "DITA" as a substring match | Web searches easily bring up all the usual false matches for our favorite markup topic, DITA.One of ... |
|
What isn't DITA? | Move over, "age ofmiracles and wonder." It seems that everyone is having epiphanies these days. I ca... |
|
Creating DITA maps using outliners | As long as you have a browser, The Cloud is your friend. I've previously described the potential rol... |
|
Creating DITA topics using your cell phone | Back before inks were invented, engraving was the main form of writing. You formed a tablet out of c... |
|
Creating DITA topics using reStructuredText | To a writer whose only tool is a flat text editor, formatted text is the next best thing to a real D... |
|
Creating DITA topics using email | This post is another in a short series of explorations of alternative ways to create and/or edit DIT... |
|
Creating DITA topics using Twitter | I am creating today's topic by dictating the content directly to my cell phone. A dictation applicat... |
|
Dictation for structured writing | I enjoy writing about how to do more things, more easily with DITA. After many years in the structur... |
|
Creating DITA with HTML forms | The pattern of "What isn't DITA?"is familiar: if a text object of any kind has a title and optionall... |
|
Creating DITA topics with a blog or wiki | I've decided to conclude my explorations of alternative DITA writing approaches with a discussion of... |
|
expeDITA Shortcodes | Popular blogs provide authors with a set of pseudo-markup called that represent special function du... |
|
{aTopic} topic | {short description}... |
|
{kojhu} topic | {short description}... |
About our company | ... |
|
It Was With You All Along: Adaptive Content in DITA | ... |
|
Content/content/Bookmarks.ditamap | ... |
|
Contelligence Group | ... |
|
Site Map | ... |
|
[No title] | ... |
|
[No title] | ... |
|
[No title] | ... |
|
Contelligence Group | ... |
|
[No title] | ... |
|
Contelligence Group | ... |
|
Contelligence Group Services | ... |
|
[No title] | ... |
|
Contelligence featured articles | ... |
|
Contelligence Slide articles | ... |
|
Site Map | ... |
|
About Our Services | ... |
To be implemented...
Message:
Information:
News:
Copyright © 2013 Contelligence Group, LLC
This site delivers live content to personalize the user experience and dynamic layouts to support all devices.