From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jambunathan K Subject: Re: "Tag hierarchy" idea Date: Thu, 24 Mar 2011 17:04:47 +0530 Message-ID: <81zkoklpk8.fsf@gmail.com> References: <4D885D7A.70804@christianmoe.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Received: from [140.186.70.92] (port=60952 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q2iou-0003hW-PN for emacs-orgmode@gnu.org; Thu, 24 Mar 2011 07:35:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q2iot-0005va-1R for emacs-orgmode@gnu.org; Thu, 24 Mar 2011 07:35:16 -0400 Received: from mail-px0-f179.google.com ([209.85.212.179]:54268) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q2ios-0005vW-FN for emacs-orgmode@gnu.org; Thu, 24 Mar 2011 07:35:15 -0400 Received: by pxi2 with SMTP id 2so1824667pxi.38 for ; Thu, 24 Mar 2011 04:35:13 -0700 (PDT) In-Reply-To: (John Tait's message of "Tue, 22 Mar 2011 13:57:59 +0000") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: John Tait Cc: emacs-orgmode@gnu.org IIUC, what you are saying is that you would like to define few atomic tags and a few composite tag. A composite tag is presumably a union of some of those atomic tags. You need an ability to selectively export of the items that fall under the composite tag. Orgmode allows selective viewing (and exporting) of tagged documents. I think all you need is to define a query and export only the visible portion of the document. (I don't use tagging much but you can get useful information from the manual) It still it beats me how would you solve the problem of migrating existing word documents in to Orgmode. Looks like that is a much bigger problem right there than the lack of facility for elaborate hierarchical organization. Jambunathan K. John Tait writes: > Thanks for your replies. > > =A0 > > I'm using org-mode both as an organiser and also as a way of composing mo= dular > documents with conditional text (controlled by both tags and #+INCLUDE). > > =A0 > > The problem I am trying to solve is one I encounter in my day job. Basica= lly, I am > sitting on top on hundreds of legacy Word documents, each filled with tec= hnical > requirements aimed at different audiences. Each document can itself be ai= med at > different people and contain various subjects. This is a typical legacy d= ocument > problem. It is horrible. > > =A0 > > Occasionally, we have to update vast amounts of this stuff as a batch, to= reflect > organisational change or other initiative. It is a manual slog. > > =A0 > > I am naturally drawn to dealing with this via some kind of structured doc= ument > solution. This main problem here is that the information is inherently > unstructured. It awas never written with structure in mind. It is impossi= ble to > impose a structure upon it without starting again. > > =A0 > > Attempts by management to enter all this stuff into the IBM DOORS require= ments > "database" have been so far been of only "limited success". > > =A0 > > We still get asked to produce tailored, filtered summarised information. = These > requests usually aren't satisfactorily resolved because a mountain of=A0c= rumbling > Word documents isn't a good starting point. > > =A0 > > That's the problem. Structured documents are an ideal, but totally imprac= tical. > > =A0 > > Examples of requests might be: > > =A0 > > =A0=A0-- show me all the (railway) level crossing requirements in one pla= ce. > > =A0 -- show all everything to do with track patrolling. > > =A0-- show all everything to do with track patrolling that a track patrol= ler needs to > see (no process or other office stuff). > > =A0-- show me everything a Senior Engineer needs to know about this. > > =A0 > > etc. > > =A0 > > So there is a certain concept hierarchy beginning to form, but one that i= s fluid > and maybe only needed once. > > =A0 > > I don't want to apply lots of tags only to have to add fresh tags later i= f ideas > change. On the other hand, some tags would be pretty stable (:level-cross= ings:), > especially if I was to use an abstraction (":M123:") in place, so I could= change > the definition of the tags slightly without altering the tag. (The defini= tion of > ":M123:" could, say, change from "Level crossing" to "Level crossing and = road--rail > access points".) > > =A0 > > (I used to work for Derwent Patents, applying concept tags to patents for= help with > patent searches, so this actually works.) > > =A0 > > The power of a tag hierarchy could be that I could alter and create group= s=A0for > export=A0very easily. It hard to come up with concrete examples for somet= hing that=A0is > just an idea but I will try. > > =A0 > > Say there are tags called :level-crossing: and :road--rail-access:=A0 If = I could have > a meta tag called ":access: that =A0I could assign :level-crossing: and > :road--rail-access:=A0 to, I could just use a single tag. > > =A0 > > Later, I could add ":gates:" to ":access:." and include those. > > =A0 > > Later, I could have a new meta tag called :roads:, and include ":level-cr= ossing:" > and "road-bridge". > > =A0 > > Then I could have a meta tag called ":patrol:", and include tags for > ":level-crossing:" and ":patroller:". > > =A0 > > I hope I am illustrating this well enough. The point is that adding indiv= idual tags > to headings could be complimented by grouping them under=A0top level tags= . The top > level tags could be added to heading as well for maximum flexibility. > > =A0 > > This would provide awesome control and flexibility! > > =A0 > > Thanks for your time! > > =A0 > > John > > =A0 > > =A0 > > On Tue, Mar 22, 2011 at 8:27 AM, Christian Moe wr= ote: > > = Hi,=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > There > was > some > discussion > of > tag > hierarchies > in > this > thread:=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > http://thread.gmane.= org/gmane.emacs.orgmode/31882=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20 > It > was > largely > inconclusive, > except > that > it > would > be > hard > to > implement. Noone > took > the > ball > and > ran > with > it, > but > then > noone > came > up > with > a > strong > use > case > or > specification, > either. Anyway, > I > recommend > a > look > at > that > thread > before > continuing > it > here.=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > Yours, = Christian >=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20 >=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20 > On > 3/22/11 > 12:09 > AM, > John > Tait > wrote:=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > > = = Hi > all=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 > = This > is > my > first > post. First, > I'd > like > to > thank > all > the > org-mode = = developers > for > a > great > tool.=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 > = I'm > a > technical > editor. I > am > facinated > by > the > pros > and > cons > of = = structured > documents > with > regard > to > their > ease > of > use > and > power. I = = think > that > they > are > probably > far > too > restrictive > and > cumbersome = = (looking > at > you, > DITA) > for > the > average > technical > document. = = Nevertheless, > the > idea > of > modular > documents > is > an > appealing > one > to > me. = = I > like > conditional > text > features > (e.g. in > LyX).=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 > = In > org-mode, > I > really > really > love > selective > export > (include/exclude = = tags) > and > using > #+INCLUDE: > for > including > other > files. This > gives > me = = enormous > flexibility, > with > zero > DITA > pain.=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 > = May > I > propose > an > additional > feature? > I > haven't > seen > anything > like > it = = published > anywhere, > though > maybe > I > am > using > the > incorrect > search = = terms. (I > am > getting > enormous > vertigo > and > time-travel > sickness > reading = = up > on > Lisp, > XML, > DITA, > etc.)=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 > = It's > a > pretty > basic > idea, > but > I > hope > you > can > take > a > moment > to > weigh > up = = its > potential.=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20 > = We > could > assign > tags > to > hierarchies > of > other > tags.=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 >=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20 > = #+TAG-NEST: > (colour(red > green > blue)) = = #+TAG-NEST: > (type(colour > size)) = = #+TAG-NEST: > (car(type > price))=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20 > = or > maybe > like > this. I'd > leave > it > up > to > someone > with > actual > programming = = experience > and > a > logical > mind > (my > productive > programming > was > PASCAL > in = = 1991) > to > suggest > a > rigorous > system > that > makes > sense.=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20 > = #+TAG-NEST: > colour > > > red:green:blue = = #+TAG-NEST: > type > > > colour:size = = #+TAG-NEST: > car > > > type:price=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20 > = The > point > of > this > would > be > that > selecting, > say, > "colour" > as > a > tag = = would > bring > along > "red", > "green", > and > "blue" > along > with > it. The > tag = = "type" > would > bring > "colour", > "red", > "green", > "blue" > and > "size" > with > it.=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 > = The > power > of > this > would > be > that > hierarchies > could > be > adjusted > and = = manipulated > as > necessary.=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20 > = Since > there > is > no > one > definitive > way > to > tag > real > world > objects > and = = ideas > into > nice > nested > boxes > (thanks, > AI > research), > we > could > adjust = = any > tag > hierarchies > to > suit > experience > and > changing > priorities. Even = = hierarchies > could > just > be > thrown > away > without > affecting > existing > tags = = too > much, > since > tagged > headings > could > just > be > selected/excluded > as > usual.=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20 > = This > way, > we > can > use > concept > hierarchies > as > the > disposable = = conveniences > that > they > are, > without > getting > locked > into > them. Looking = = at > stuff > like > XSLT > transformation > for > XML, > that'd > be > worth > avoiding.=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20 > = Maybe > there > is > some > logical > lispy > reason > why > this > couldn't > work, > but > I = = hope > this > is > worthy > of > your > consideration.=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20 > = John=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > = ------=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > = While > I > am > here > (sorry), > I > couldn't > get > #+FILETAGS: > to > work > in = = org-version > 7.4.=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 > = For > example, > if > I > export > a > file > (to > html) > File1.org > =A0with = = "#+EXPORT_EXCLUDE_TAGS: > john", > and > then > I > include > File2.org, > I > can > see = = File2.org > included > as > part > the > export > of > File1 > as > expected. If > I > then = = set > "#+FILETAGS: > :john:" > in > File2, > I'd > expect > File2 > to > now > be = = excluded, > but > it > still > appears. If > I > then > tag > a > File2 > heading > as > say = = "* > Heading > :john:", > then > it > won't > appear > in > the > File1 > export, > as = = expected. Am > I > missing > something?=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20 >=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20 > > >=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20 > > > > --=20