emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Adding tags, grouping tags
@ 2010-10-14 18:22 Karl Maihofer
  2010-10-15  5:55 ` Noorul Islam K M
  0 siblings, 1 reply; 14+ messages in thread
From: Karl Maihofer @ 2010-10-14 18:22 UTC (permalink / raw)
  To: emacs-orgmode

I'd like to define many many tags and use numerics (1-0) as selection
keys. I want to define tags for different clients, people, gtd-contexts,
and other contexts. So I had the idea to group the tags (less than ten
tags per group) to be able to define selection keys for every tag.

I already use groups for my custom agenda views (see example below). So
when I hit C-c a, Org only shows the agenda groups (besides the default
agenda commands) and I do not get to the actual agenda commands until I
hit Q. This enables me to use the keys 1, 2, 3, 4 several times for
different agenda commands (in different groups).

Example:

(setq org-agenda-custom-commands
   '(("Q" . "Custom queries") ;; gives label to "Q"
     ("Q1" "Archive search" search ""
      ((org-agenda-files (file-expand-wildcards "~/archive/*.org"))))
     ("Q2" "Website search" search ""
      ((org-agenda-files (file-expand-wildcards "~/website/*.org"))))
     ("Q3" "Projects and Archive" search ""
      ((org-agenda-text-search-extra-files (file-expand-wildcards
"~/archive/*.org"))))
             ;; searches both projects and archive directories
     ("Q4" "Archive tags search" org-tags-view ""
      ((org-agenda-files (file-expand-wildcards "~/archive/*.org"))))
     ;; ...other commands here
      ))

Is something similar possible for adding tags?

^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: Re: Adding tags, grouping tags
@ 2010-10-23 15:15 Robert Horn
  2010-10-24 14:06 ` Christian Moe
  2010-10-25  6:18 ` Carsten Dominik
  0 siblings, 2 replies; 14+ messages in thread
From: Robert Horn @ 2010-10-23 15:15 UTC (permalink / raw)
  To: emacs-orgmode

On 10/16/10 4:09 PM, Carsten Dominik wrote:
>
> On Oct 16, 2010, at 9:26 PM, Robert Horn wrote:
>
>> On 10/16/2010 01:32 AM, Carsten Dominik wrote:
>>>
>>> On Oct 15, 2010, at 4:43 PM, Ilya Shlyakhter wrote:
>>>
>>>> Karl Maihofer <ignoramus <at> gmx.de> writes:
>>>>> Besides that I have tags in other contexts, e.g. GTD-related tags etc.
>>>>> So it would be very useful to be able to group the tags as it is
>>>>> possible for agenda commands.
>>>>
>>>> I think that a way to define logical groups of tags (or even a
>>>> hierarchy of tags
>>>> -- say with a subtree of tag names?) would be a very useful addition.
>>>
>>> I can see that this could be useful - but the code is
>>> not in any way prepared to do this, so this would be pretty hard
>>> to implement.
>>>
>> Is it worth exploring use of the properties drawer? The tags in org are
>> a fairly simple and thus limited structure. The properties drawer can
>> have a lot more structure with a more controlled environment.
>
> I don't think I understand what you mean here. How would that help?
>
> - Carsten

My first thought was just to deal with visual clutter and parsing
headaches. Encoding standards like IDv3 have a large list of tags and
tags with values that are encoded and hidden in MP3 files. The display
is controlled by application. This is very much like the drawer
behavior in org. So putting tags into drawers would deal with the
clutter associated with having a great many tags on one item.

The next level would be to have org aware of the tag structure. This
would mean having a vocabulary description that describes the tags.
The vocabulary can be described as:

Top level: Context, e.g., GTD
   Level 1: TagA
     Level 2: TagB, a kind of TagA
        Level 3: TagC, a kind of TagB
   Level 1: TagD
   etc

Usually Tags are unique with in a context, but might collide between
contexts. So I might find the tag "TASK" used in different contexts.
Multiple tags can occur within a context, so something might have TagA
and TagD, and the presence of a lower level tag implies the higher level
tags. So TagC would imply TagB and TagA in the example above.

This is a simplification of full ontological structures that can be
expressed in a language like OWL, but it is one that people can grasp
and use easily. It meets most needs. The music and photographic
standards and their easy usage indicates this.

The vocabulary description could easily be done with some lisp
customization, the way it is done for task states, or it could be in an
org file. Both ways have their advantages.

For each tag you can have a list of pairs of context+tag to keep tags
unique. Appending these as text to each line introduces a lot of visual
clutter and parsing headaches. I would put these into drawers to reduce
the visual clutter and manage duplication. For the tag descriptions I
would have another location that has the full structure of tags, so that
a friendly display selection could be used that reflects the hierarchy.
A tag assignment similar to the IDO selection of levels within an org
hierarchy would make sense. Perhaps an org structure would make sense
for the vocabulary.

A simpler tag that means "look in the tags drawer" would keep the text
file readable and let the agenda processing deal with extracting and
displaying. Non agenda views of the org file would just have the "look
in tags drawer" tag. The viewing options would need to recognize this to
control how the drawer tags are displayed.

R Horn

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2010-10-26 17:18 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-14 18:22 Adding tags, grouping tags Karl Maihofer
2010-10-15  5:55 ` Noorul Islam K M
2010-10-15  8:29   ` Karl Maihofer
2010-10-15  8:35     ` Carsten Dominik
2010-10-15  8:52       ` Karl Maihofer
2010-10-15 14:43         ` Ilya Shlyakhter
2010-10-16  5:32           ` Carsten Dominik
2010-10-16 19:26             ` Robert Horn
2010-10-16 20:09               ` Carsten Dominik
  -- strict thread matches above, loose matches on Subject: below --
2010-10-23 15:15 Robert Horn
2010-10-24 14:06 ` Christian Moe
2010-10-25  6:18 ` Carsten Dominik
2010-10-25 11:14   ` Robert Horn
2010-10-26 17:17     ` Karl Maihofer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).