From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric S Fraga Subject: Re: DAG structure / hard links / shared subtrees Date: Fri, 30 Dec 2011 13:13:17 +0000 Message-ID: <87ty4iyzgy.fsf@ucl.ac.uk> References: <87liq4uda8.fsf@fel.cvut.cz> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([140.186.70.92]:47331) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RgcGz-0005Fz-Kd for emacs-orgmode@gnu.org; Fri, 30 Dec 2011 08:13:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RgcGy-00024W-2a for emacs-orgmode@gnu.org; Fri, 30 Dec 2011 08:13:25 -0500 Received: from vscane-c.ucl.ac.uk ([144.82.108.43]:56994) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RgcGx-00024O-UV for emacs-orgmode@gnu.org; Fri, 30 Dec 2011 08:13:24 -0500 In-Reply-To: <87liq4uda8.fsf@fel.cvut.cz> (Jan Kybic's message of "Thu, 22 Dec 2011 11:11:11 +0100") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: kybic@fel.cvut.cz Cc: emacs-orgmode@gnu.org Jan Kybic writes: > Dear org-mode users, > > this is my first post, so let me first state that I am using org-mode > more and more for organizing my daily agenda and I find it really > useful. > > I have a feature request. The structure of the org file is a tree. yes, due to the basis being an outline. > I wondered if it could be made a directed acyclic graph (DAG) instead. > In other words, could a subtree be shared between two trees? In yet > another words, a kind of Unix directory structure with hard links. not possible unfortunately. > One possible use case is as follows: I am preparing a meeting that > concerns several projects. I have my org file structured by projects. I > want to prepare an agenda for this meeting, which would contain the > issues to discuss from the projects. I want to be able choose the order > the issues. During the meeting, I want to add notes. Right now, I see the following > options: > > a) I can copy the subtrees corresponding to issues from the projects. > However, if I later edit either of the copies, I would need to > synchronize the changes manually. or simply refile the notes? I always go through the notes I have taken at a meeting after the meeting, in my case to define tasks etc. You could refile all the notes into the proper places in the hierarchy at this point. org has very nice refile support. > b) I can make an internal link from the agenda to the issues. However, > the agenda would then not contain the full detail of the issues, just > a short part of the headline. During the meeting I would have to jump > there and back. True but jumping is easy in org? > c) I can create the meeting agenda dynamically, by assigning tags to > projects and creating a sparse tree, e.g. from the Agenda > buffer. However, this requires me to mark every issue to be discussed > with a meeting-specific tag. I do not have much control over the order > in which the issues appear. I cannot structure them. The generation > takes time. And it is not straightforward to add new items to the > meeting. I am not sure how the hard links mechanism you suggest above would help in this case? Preparing an agenda can be difficult. What you could do is have special TODO labels for issues that need to be discussed at the next meeting? > > I am not familiar with the internals of the org-mode but I can envision > several possible implementations: > > a) Enhance existing links so that they can be expanded in-place to show the > whole subtree, not just a start of the headline. Ideally, it should > be possible to make changes there but a read-only access would also help. > > b) Physically copy "linked" trees to the new location. Make the copies > share an Id but have a unique subId. Then when one of the copies is > changed, the changes are propagated into other copies. I believe > a lot of the logic could be borrowed from org-mobile, which also > performs synchronization. > > What do you think, does it sound feasible? Is there any other way to > achieve what I want with org-mode? I think both of these would be very difficult to implement with the latter being quite prone to conflicts... I think a judicious combination of refiling, jumping and TODO customisation could give you what you want? HTH, eric -- : Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.92.1 : using Org-mode version 7.8.02 (release_7.8.02.55.g1870)