Lists, headlines, inline tasks, etc. (Re: [Orgmode] Lists handling)
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
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
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
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
> 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
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
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
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
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
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