Feature Proposal: Inline topic content should be addressable as metadata

Motivation

At work we have a lot of existing topics, and yet-to-be-copy-pasted documents that are logically laid out as sections with headings.

I have been dreading the task of refactoring as sectional includes or moving content into META: fields.

Wouldn't it be nice if there was some way to use inline markup that added some semantic richness to the content...

Description and Documentation

TinyMCE might allow us to easily select some text, and apply some markup to the selected text. This markup could give topic content some semantic richness that Foswiki apps could really thrive on.

I have already tried abusing the <cite> tag with xhtmlattr plugin. See http://trunk.foswiki.org/Sandbox.MetaMarkup for an example, with appropriate TINYMCEPLUGIN_INIT variable to see this plugin in action.

The aim (eventually) is that our legacy data that was created outside of the wiki environment (generally word documents) can be refactored, worked on and marked up in the wiki in a collaborative way.

As the marking up improves, we get a richer, more finely addressable data set.

This method of turning in-line content into META might also be an attractive alternative to the %META tags we currently have.

Concerns:
  • Multi-line metadata... I'm not sure how this will work.
  • XHTML markup vs TML tags... I think it's important that we use XHTML markup because otherwise we will be on our own to create a sensible WYSIWYG editor for the user. TinyMCE (and web browsers in general) already have so much in place when using standard XHTML dom elements, which also takes care of some usability issues surrounding the refactoring of documents that have already been marked up (and breaking the markup as documents evolve).

Examples

Impact

%WHATDOESITAFFECT%
edit

Implementation

-- Contributors: PaulHarvey - 05 Nov 2009

Discussion

basically, you're talking about a GUI way to create a named STARTSECTION/ENDSECTION, which is true - we could do with that, but, imo we also need a way to INCLUDE sections that are not marked up in the source, or at least, not done so explicitly by the user.

purple numbers is such a system, or we could fall back on our grep-tastic past..

<SvenDowideit> __but__
<SvenDowideit> it would help solve our desire for defining cite sections with and without annotating the topic.
<SvenDowideit> if we can replace the 'HERE' portion with TOM addresses
<SvenDowideit> and if TOM included XPathy bits...
* SvenDowideit goes back to writing job apps :/
<pharvey_> SvenDowideit: preparing for a meeting
<pharvey_> Hmmm TOM Xpathy bits, sounds nifty
<SvenDowideit> micha has been wanting xpathy goodness for ages, but we've tried to avoid the complexity
<pharvey_> I just created the proposal
<pharvey_> Well, the request I should say
<pharvey_> http://foswiki.org/Development/InlineTopicContentAsMeta
<SvenDowideit> i suspect that being ablt to say Main.SvenDowideit[rev=3].from[---++ example].to[---++ fosiki consulting]
<SvenDowideit> may well help
<pharvey_> Headings as addressable sections might help but not a complete solution
<SvenDowideit> or even rev_hint
<SvenDowideit> my eg isn't heading
<SvenDowideit> its 'any string'
<pharvey_> Ah, I see
<SvenDowideit> the eg happens to be heading
-- SvenDowideit - 05 Nov 2009

As you say, we can make WysiwygPlugin convert our XHTML markup to/from TML tags (Eg. from <cite class="foo"> to %STARTSECTION{"foo"}%.

My wishlist...
  • I had envisaged using DBQUERY to set up autocomplete/drop-down lists generated from a pool of these marked up topics on particular marked up sections. Eg. the collection of documents that all have a section marked up called "Distribution", I should be able to query that. SECTIONs don't really achieve that (but perhaps they could be made to).
  • I should be able to set up a VIEW_TEMPLATE that can render marked up topics as Eg. XML.
  • (Desirable) Certainly I need to be able to apply some Javascript and/or CSS-fu to marked up topics so that sections can be visually stylised, or certain AJAX interactivity added to them. These means adding the XHTML markup again when the topic is rendered.

-- PaulHarvey - 05 Nov 2009

In case anybody is wondering about this, we eventually moved our heading content into META:FIELDs, and implemented Extensions/Testing.SemanticLinksPlugin for ad-hoc ("in-line") meta which we wanted to query.

-- PaulHarvey - 31 May 2011
Topic revision: r7 - 31 May 2011, PaulHarvey
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy