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
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