Lists, headlines, inline tasks, etc. (Re: [Orgmode] Lists handling)

2010-11-28 Thread Samuel Wales
Philosophically, or better, fundamentally, what are the
differences between headlines and lists?  Haven't thought
about list syntax deeply, but for one, you can have text
before a list and then after it.  For another, headlines
allow significant metadata.

Also, we have mechanisms, including the agenda, user code,
and even third-party stuff, that treat headlines specially.
Lists are typically (almost always) treated as text content
in .org files.  Exporters treat lists as exported lists, of
course.  Lists have checkboxes and bullet styles.

I think these things make lists different from headlines.

===

I am starting to favor inline tasks in lists, if it is
possible to implement.  It keeps the concepts separate and
allows ALL properties of headlines.  These include todo kw,
drawers, properties, tags, count and percent cookies,
priorities, headline coloring, other coloring, and existing
user code for headlines.

Somehow, actually, I sense the potential for constant bug fixes,
compatibility problems, version issues, surprise export
behavior, and regular expression issues over the next few
years if some of these are implemented in lists.  I don't
think it's worth it.  At least, that is my intuition.

Inline tasks are pretty much guaranteed to do the things we
want them to do.  And they fit with the philosophy in org of
putting tasks in your notes exactly where you want them,
instead of keeping them separate.  If you have a long list,
not allowing inline tasks in the list prevents that.

===

When I started with org, I thought lists might be an
extraneous concept; anything we want to do with them should
be done with headlines.  But now that I have learned more
about org and exporting, I think it's a good idea to have
lists.

The fundamental principle in software that this raised, for
me, is the concept that if two things are similar enough,
they should be made the same, only parameterized.  But we
are past the point of no return on lists.  For example, we
can't implement lists and headlines with the same code.  And
different code to do the same thing is just wrong.  :)

Of course we should have list navigation and shifting
(promoting, demoting, moving) be analogous with headlines.
But that is behavior; it isn't a fundamental need for
parameterization.

I'd say, with my current knowledge of org, it seems much
better to allow inline tasks than to gradually make lists
more like headlines by adding todo kw and the like.

I know opinions vary on this (including Carsten's desire,
expressed long ago, to add todo kw to lists).  And I don't need inline
tasks in lists.
And again I have not thought deeply about list syntax.

So consider it merely ideas for consideration.

Another possibility is to use ID markers, which you can insert
anywhere, can be made invisible for export, and can point to a real
task.  But it's not quite the same thing as an inline task.


Samuel

-- 
Q: How many CDC "scientists" does it take to change a lightbulb?
A: "You only think it's dark." [CDC has denied a deadly serious
disease for 25 years]
==
HIV-like virus: http://www.wpinstitute.org/xmrv/index.html -- PLEASE DONATE
===
I want to see the original (pre-hold) Lo et al. 2010 NIH/FDA/Harvard MLV paper.

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Lists handling

2010-11-28 Thread Karl Maihofer


Eric S Fraga  schrieb:

Well, my immediate reaction was to jump in and say that this (pt 4) is
exactly when I most need inline tasks!  My typical use case is taking
minutes at a meeting and assigning actions to individuals: inline tasks
are perfect for this.

However, on reflection, obviously a simple nested single item list would
do the job just fine *if* we could assign TODO actions to list
items... *but* we cannot unfortunately.

So, I'm back to needing to use inline tasks or putting in a request for
taskable list items...


Seems as if I'm not alone. :-)

1) I understand that inline tasks withhin lists are not the perfect
   solution. They break the list visually because they live in column 1.
   So if you do not need to define a real task but just write a comment,
   a drawer should be the better solution.

,
| - Item 1
|   - Item 1a
| :COMMENT:
| This is a comment.
| :END:
|   - Item 1b
| - Item 2
| - Item 3
`

2) Another topic is the need of real tasks withhin lists. And I think that
   this depends on how you use Org. If you use Org just to write down
   thoughts using headings, you can define tasks for any item.

,
| * Text
| * Text
| ** Text
| ** TODO Text
| * Text
`

But if you have more complex documents that have different headings and
you'd like to have a list view for your structured thoughts, you may
prefer lists. And when these lists get larger, the need to define list items
as tasks gets more important.

Since Org is based on a outline structure of items beginning with a star,
it may be difficult to realise the possibility to mark list items as tasks!?

,
| - Item 1
|   - Item 1a
|   - TODO Item 1b
| - Item 3
`

So inline tasks may be a work around. My first guess was something like that:

,
| - Item 1
|   - Item 1a
| *** TODO Inline Task
| Here is text.
| *** END
|   - Item 1b
| - Item 2
| - Item 3
`

If that is difficult to implement and drawers are a appropriate way
to mark text to belong to a list item, what about using inline tasks
withhin such a drawer?

,
| - Item 1
|   - Item 1a
| :TASK:
| *** TODO Inline Task
| Here is text.
| *** END
| :END:
|   - Item 1b
| - Item 2
| - Item 3
`

The best solution seems to be allowing list items to get a TODO-state.
But I think this is too complicated to implement?

Regards,
Karl





___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Lists handling

2010-11-28 Thread Eric S Fraga
Carsten Dominik  writes:

> On Nov 27, 2010, at 7:12 PM, Nicolas Goaziou wrote:
>
>> Hello,
>>
>>> Karl Maihofer writes:
>>
>>> Thanks for that. Did you work on the demote/promote problem, too?
>>
>> No, nothing related to lists actually. But I added a way to configure
>> export of inline tasks.
>>
>>> As pointed out above in my special case inline tasks would be a
>>> great thing to have in lists. But I understand your reservation.
>>
>> It would be desirable to hear the opinions of others here.
>
> 1. My feeling is that it would be nice to allow drawers inside a list.
> 2. I don't think it is important to allow lists inside drawers inside
>lists - you can just say in the docs that this is not supported
>and let users deal with this limitation.
> 3. What should be allowed is to have lists inside a drawer that is not
>itself in a list.  We need that for logbook entries and the like.
> 4. I also think that inline tasks inside a list are overkill and would
>overly complicate things.

Well, my immediate reaction was to jump in and say that this (pt 4) is
exactly when I most need inline tasks!  My typical use case is taking
minutes at a meeting and assigning actions to individuals: inline tasks
are perfect for this.

However, on reflection, obviously a simple nested single item list would
do the job just fine *if* we could assign TODO actions to list
items... *but* we cannot unfortunately.

So, I'm back to needing to use inline tasks or putting in a request for
taskable list items...

Of course, this need could be because I don't actually understand
drawers and their potential for my particular use case.  Any elucidation
on this aspect would be most welcome!  For instance, could drawers give
me todo assignments?

thanks,
eric

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 23.2.1
: using Org-mode version 7.3 (release_7.3.148.gc3b7e)

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Lists handling

2010-11-28 Thread Carsten Dominik


On Nov 27, 2010, at 7:12 PM, Nicolas Goaziou wrote:


Hello,


Karl Maihofer writes:



Thanks for that. Did you work on the demote/promote problem, too?


No, nothing related to lists actually. But I added a way to configure
export of inline tasks.


As pointed out above in my special case inline tasks would be a
great thing to have in lists. But I understand your reservation.


It would be desirable to hear the opinions of others here.


1. My feeling is that it would be nice to allow drawers inside a list.
2. I don't think it is important to allow lists inside drawers inside
   lists - you can just say in the docs that this is not supported
   and let users deal with this limitation.
3. What should be allowed is to have lists inside a drawer that is not
   itself in a list.  We need that for logbook entries and the like.
4. I also think that inline tasks inside a list are overkill and would
   overly complicate things.

Cheers

- Carsten




With a drawer, you mean something like the following?



,
| - Item 1
|   - Item 1a
| :COMMENT:
| This is a comment.
| :END:
|   - Item 1b
| - Item 2
| - Item 3
`


Yes.


In HTML export it would then be important to be able to format the
comment with CSS. Right now my inline tasks get a nice border and a
colored background so that the comments can be recognized withhin
the lists. Would this be possible for drawers, too?


Sure, drawers export is configurable. You can have a look at
`org-export-format-drawer-function'.

Regards,

-- Nicolas





___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode



___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Lists handling

2010-11-28 Thread Nicolas Goaziou
> Karl Maihofer writes:

> Until we have an opinion about inline tasks are there any arguments
> agains drawers for list items?

I don't think so. It just needs to be implemented. But it isn't a
straightforward task. In fact, that means you can have a list A
containing a drawer, which can also contain one or more lists B, C...
And, on top of that, lists A and B should ignore each other. There are
many corner cases in this kind of situation.

The good thing is that if drawers handling is implemented correctly,
inline tasks can follow the same path.

It is on my TODO list anyway.

Regards,

-- Nicolas


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Lists handling

2010-11-28 Thread Karl Maihofer

Nicolas Goaziou  schrieb:

With a drawer, you mean something like the following?
,
| - Item 1
|   - Item 1a
| :COMMENT:
| This is a comment.
| :END:
|   - Item 1b
| - Item 2
| - Item 3
`


Yes.


It would be great to have drawers in lists. This is certaily a much  
cleaner structure than using inline tasks. But of course it lacks the  
possibility to define tasks withhin lists and to find them using the  
agenda. So I think both concepts may be useful - drawers for simple  
text and inline tasks to define tasks. ;-)


Until we have an opinion about inline tasks are there any arguments  
agains drawers for list items?


Regards,
Karl



___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Lists handling

2010-11-27 Thread Nicolas Goaziou
Hello,

> Karl Maihofer writes:

> Thanks for that. Did you work on the demote/promote problem, too?

No, nothing related to lists actually. But I added a way to configure
export of inline tasks.

> As pointed out above in my special case inline tasks would be a
> great thing to have in lists. But I understand your reservation.

It would be desirable to hear the opinions of others here.

> With a drawer, you mean something like the following?

> ,
> | - Item 1
> |   - Item 1a
> | :COMMENT:
> | This is a comment.
> | :END:
> |   - Item 1b
> | - Item 2
> | - Item 3
> `

Yes.

> In HTML export it would then be important to be able to format the
> comment with CSS. Right now my inline tasks get a nice border and a
> colored background so that the comments can be recognized withhin
> the lists. Would this be possible for drawers, too?

Sure, drawers export is configurable. You can have a look at
`org-export-format-drawer-function'.

Regards,

-- Nicolas





___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Lists handling

2010-11-27 Thread Karl Maihofer

Hi Nicolas!

Thanks for your answer!

Nicolas Goaziou  schrieb:

Wouldn't drawers be more appropriate here than inline tasks? Not that
it would work with a drawer either, but the examples given seem to
focus more on content than on a task title.


In fact I have both, text comments and tasks that interrupt my lists.  
So I think for me it is a more natural solution to use inline tasks. I  
write my notes between the start- and end-line of an inline task. And  
sometimes I then realize that there is something to take care of. So  
the inline task gets a TODO-state. Without inline tasks withhin the  
list I would have to add an extra inline task above or below the list.  
But some of my lists are several pages long, so this would not be the  
Org-way to define tasks (right there where the work had to be done).


Of course this is a special case. My lists do not contain my thoughts,  
but a given structure. I have to comment this structure. And it should  
be possible to differenciate between the lists and the comments in the  
HTML export. All this worked quite well with inline tasks.



I don't understand what the indentation problem you're talking about
is, [...]


You are right, identation was the wrong word. I meant promoting and  
demoting the current subtree with M-S-left or right arrow key. In the  
example below if the cursor is on Item 1 and I hit M-S-right arrow key  
Item 1a is demoted, but not Item 1b because of the inline task in  
between.


,
| - Item 1
|   - Item 1a
| *** Inline Task
| Here is text.
| *** END
|   - Item 1b
| - Item 2
| - Item 3
`

This is a big issue for me because I will have to edit the structure  
of the lists regularly. Until now this is not possible once I have  
added my comments. And it would be much effort to cut the comments,  
edit the structure and paste the comments again. So if promoting and  
demoting would work in this structure it would be a big help in my case.



[...] but I worked on indentation wrt inline tasks recently. My work is
at: git://github.com/ngz/org-mode-lists.git inlinetask
It might solve some of your problems.


I just checked out a copy and I'll have a look. Thanks for that. Did  
you work on the demote/promote problem, too?



I'm writing down ideas to put in a future update of lists. Some
previously "unsupported anymore" stuff may appear again, after a phase
of testing on a parallel git branch.

In this context, you raise an interesting question about inline tasks.
I have my idea (read below), but a discussion about it might be
productive.
It looks to me the syntax is way too subtle to be clear. Moreover,
lists are all about indentation, and inline tasks defeat that as they
live at column 0. They also visually break any structure around.


Perhaps syntax highlighting of inline tasks is an idea to solve the  
visusl problem. If the inline task gets a background color one can  
differentiate easier between the list and the task.



To be honest, I'm not very enthusiastic about allowing inline tasks
within lists. On the other hand, I will definitely let drawers in,
thus my first question.


As pointed out above in my special case inline tasks would be a great  
thing to have in lists. But I understand your reservation. It would be  
an impurity withhin a list.


With a drawer, you mean something like the following?

,
| - Item 1
|   - Item 1a
| :COMMENT:
| This is a comment.
| :END:
|   - Item 1b
| - Item 2
| - Item 3
`

In my special case this would be second choice. But I think I could  
live without tasks but with comments withhin lists when I change my  
workflow a bit.


In HTML export it would then be important to be able to format the  
comment with CSS. Right now my inline tasks get a nice border and a  
colored background so that the comments can be recognized withhin the  
lists. Would this be possible for drawers, too?


Regards,
Karl





___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Lists handling

2010-11-26 Thread Nicolas Goaziou
Hello,

> Karl Maihofer writes:

> These documents must be updated and will be exported to HTML
> regularly. Some documents have 500+ pages and many many of these
> "inline task" notes.

Wouldn't drawers be more appropriate here than inline tasks? Not that
it would work with a drawer either, but the examples given seem to
focus more on content than on a task title.

> My problem isn't only that the exporter does not recognize this
> structure as one single list anymore (otherwise I could use an old
> Org version) but also that indentation does not work. Nicolas
> mentioned this already and I think this was one of the reasons for
> changing the handling of lists.

I don't understand what the indentation problem you're talking about
is, but I worked on indentation wrt inline tasks recently. My work is
at:

git://github.com/ngz/org-mode-lists.git inlinetask

It might solve some of your problems.

> Does anybody see a chance to make Org recognize such "interrupted"
> lists as one list and make indentation and export to HTML work
> properly?

I'm writing down ideas to put in a future update of lists. Some
previously "unsupported anymore" stuff may appear again, after a phase
of testing on a parallel git branch.

In this context, you raise an interesting question about inline tasks.
I have my idea (read below), but a discussion about it might be
productive.

> Wouldn't it be possible to tell Org to recognize text or inline
> tasks right behind a bullet point (next line) as belonging to this
> bullet point so that Org can treat the next bullet point as part of
> the same list?

It looks to me the syntax is way too subtle to be clear. Moreover,
lists are all about indentation, and inline tasks defeat that as they
live at column 0. They also visually break any structure around.

To be honest, I'm not very enthusiastic about allowing inline tasks
within lists. On the other hand, I will definitely let drawers in,
thus my first question.

Regards,

-- Nicolas

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Lists handling

2010-11-26 Thread Karl Maihofer
In an older thread(*) Sébastien, Carsten and Nicolas discussed the new  
kind of lists handling that was introduced with Org version 7.02.


(*) http://thread.gmane.org/gmane.emacs.orgmode/32808

,
| Lists handling
| ===
|
| Due to changes made to lists, it is no longer possible to have a
| sublist, some text and then another sublist while still in the same
| top-level list item, like in the following situation:
|
|- Some list
|  + A first sublist
|  + of two elements
|
|  A text belonging to the top-level list
|
|  + Then another sublist
|  + and a second element in it
|- End of main list
`

Sébastien and Carsten mentioned that they aren't really happy to  
abandon the possiblilty to write that kind of lists. And for me this  
change is a big issue, too. I have serveral documents that make  
extensive use of such "interrupted" lists. Often I use inline tasks to  
comment special list items (and the lists are serveral pages long, so  
it is not an option to add the comments below or above the list).


Example:

,
| - Item 1
|   - Item 1a
|
| ***
| Item 1a is important because...
| *** END
|
|   - Item 1b
| - Item 2
`

These documents must be updated and will be exported to HTML  
regularly. Some documents have 500+ pages and many many of these  
"inline task" notes.


My problem isn't only that the exporter does not recognize this  
structure as one single list anymore (otherwise I could use an old Org  
version) but also that indentation does not work. Nicolas mentioned  
this already and I think this was one of the reasons for changing the  
handling of lists.


Does anybody see a chance to make Org recognize such "interrupted"  
lists as one list and make indentation and export to HTML work properly?


Wouldn't it be possible to tell Org to recognize text or inline tasks  
right behind a bullet point (next line) as belonging to this bullet  
point so that Org can treat the next bullet point as part of the same  
list?


Example for one single list:

,
| - Item 1
|   - Item 1a
| *** Inline Task
| This inline task belongs to the bullet point "Item 1a"
| *** END
|   - Item 1b
| - Item 2
| - Item 3
`

And in the following example the inline task wouldn't be an element of  
the list:


,
| - Item 1
|   - Item 1a
|
| *** Inline Task
| If the inline task or text should not belong to the bullet point 1a,
| there should be an empty line.
| *** END
|   - Item 1
| - Item 2
| - Item 3
`

Wouldn't this make sense? Or do I miss anything?

Regards,
Karl




___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode