Freeplane & GTD / Todo applications

2011-05-26
2012-10-07
1 2 > >> (Page 1 of 2)
  • Michel Parmentier

    I'm wondering :

    • how many of you use Freeplane for todo lists and, even better, GTD or project management ?
    • to what extent ?

    Any input appreciated.

    Regards,

    Michel.

     
  • Gio-ita

    Gio-ita - 2011-05-26

    I use Freeplane for several aim, this the mayor:
    1. todo list or better an "activity" map with all the things in developing (customer needs, buy list with calendar alarm, ecc.)
    2. Project development with product version characteristic, open issues, bugs, needs, ecc.
    3. Database of informations about where to find products, vendor characteristic, business card.

     
  • John van Saders

    John van Saders - 2011-11-26

    I just kicked off a plugin development for Freeplane to extract Next Actions
    from a mind map into a GTD-style list. It's called Freeplane|GTD and an
    alpha release is available as
    a Groovy script for Version 1.2.x. An example of its use is at http://ordino.
    auxilus.com/freeplanegtd
    . Since I'm
    new to both Groovy and the Freeplane API, I'm sure there are better
    implementations. Contributors and comments are welcome!

     
  • Volker Börchers

    Hi John,

    thank you very much for sharing your script! I could imagine that many users
    will like it.

    I have looked over your code and I like it. Here are some suggestions though:

    • Users might want to copy (e.g. with a mouse) or print the overviews. Perhaps it's possible to implement.
    • If you have no matching items in a map showing a simple "nothing to show" popup would probably be better.

    The add-ons framework is ready to use now. There might be some minor changes
    still before the release but nothing that would hurt. So I would find it great
    if you would build an add-on. This would also provide translation support,
    possibility to define script permissions and keyboard shortcuts.

    Your nice project icon on your SF page makes me think about extending the add-
    on framework to support add-on icons. - Let's see how this turns out.

    Best regards, Volker

     
  • John van Saders

    John van Saders - 2011-11-27

    Thanks Volker-

    I'll be adding clipboard and printing capability, but hadn't considered the
    'null result' case- you're right, we need a popup if there are no next actions
    in the map. I'll also work on the add-on for the next release. A general
    question: where can I find more info on menu scripting (shortcuts, menu
    entries, etc)?

     
  • Volker Börchers

    A general question: where can I find more info on menu scripting (shortcuts,
    menu entries, etc)?

    Have a look at the add-on developer
    page
    . I've
    tried to do my very best to describe shortcuts and menus. Please contact me if
    you have still problems with it.

    Volker

     
  • Quinbus

    Quinbus - 2011-11-28

    John,

    It would be very helpful if a companion script was available that provided a
    GUI for entering attributes for a given node. Swing builder radio buttons or
    pull-downs for the possible choices and maybe a text box for ad hoc entries?

    Applications of this sort are very useful in meeting settings, but the time it
    takes to create and populate attributes and values makes it difficult in a
    dynamic environement...

    Q!

     
  • John van Saders

    John van Saders - 2011-11-28

    Q!-

    I'm adding this to the future features list (there are some really basic
    things that need addressing first). In a dynamic meeting, you need a really
    easy, intuitive interface to capture attributes on the fly (to keep the
    momentum going). I've been capturing things on paper then entering
    later
    , an
    approach that also has drawbacks.

    In the meantime, I notice that once you have attributes like, who, when, where
    added to a node, they are available in the attribute dropdown for other nodes,
    saving some time.

    Thanks for the feedback!

    -John

     
  • Volker Börchers

    John,

    maybe you could define a simple formalized string format to define items
    directly via pure text, e.g. the format that you use for FreeMind (your
    example: "* Download Version 9.1 software @_web #1"). Another script could
    convert this into attributes.

    Volker

     
  • Quinbus

    Quinbus - 2011-11-28

    John

    I use a combination of three scripts to accomplish something similar to your
    GTD approach, heavily built on work done by Megatop and Volker... (Groovy and
    Java are foreign languages to me--I'm learning most by trial and error and
    lots of patience from gurus here... undoubtedly the code is badly optimized
    and downright ugly to trained programmers...)

    But the idea is that I use a script-driven GUI in a meeting environment to
    quickly set two attributes: Type (What in your GTD approach) and Assigned (Who
    in GTD terms). Over time I've expanded the range of Type values to include
    things that often come up in meetings and which sometimes depart from pure GTD
    theory :-) : 1) Todos (the list of assignees consists of the team I work with
    most often, with capability to add make other assignments as needed for others
    who might be in the meeting), 2) Agenda items (suggestions made during the
    meeting flagged for a future discussion--the assignee is interpreted as the
    person making the suggestion), 3) Prayer (the group I work is Christian and
    will often request prayer for individuals or situations--in this case the
    assignee is interpreted as the person making the request) 4) Electronic files
    (often a presentation is made that will be made available afterwards in
    electronic format--I use this Type to designate that a particular agenda item
    will be available via a link--the assignee in this case is the person making
    the presentation) 5) Private entries (often I make observations during the
    course of the meeting that I don't want to include if I share my notes
    publicly--assignee has no real meaning for this node Type) and finally, 6)
    Quotes--these are actual quotes made during the meeting that I want to
    preserve verbatim--the assignee value here is interpreted as the "owner" of
    the quote.

    I generally make extensive use of FreePlane's conditional styles in
    conjunction with the various values for Type--each of the values for Type
    trigger different icon and color combinations immediately visible upon
    entry)... as a result I don't need to have attributes visible in the map--the
    style tells me how these are set. For example, action items assigned to me are
    bright yellow with a warning icon; action items for others are sort of brown
    with a different icon. Action items that include me WITH others is an AND of
    both styles. Icon and color designations exist for each of the others,
    Private, for example displays a simple little padlock icon and blue text. Etc.
    Etc. Etc.

    Here's my hacked up script that sets up the attributes:

    def s = new SwingBuilder()
    s.setVariable('myDialog-properties',[:])
    def vars = s.variables
    def assignments = ['Bill', 'Brian', 'Ed', 'Jaap', 'John', 'Tammy']
    def dial = s.dialog(title:'Type and Assignments', id:'myDialog', minimumSize: [300,50], modal:true, locationRelativeTo:ui.frame, owner:ui.frame, defaultCloseOperation:JFrame.DISPOSE_ON_CLOSE, pack:true, show:true) {
    
        panel() {
    
        boxLayout(axis:BXL.Y_AXIS)
    
        panel(alignmentX:0f) {
        flowLayout(alignment:FL.LEFT)
        label('Type')
        comboBox(id:'type', items:['Todo', 'Prayer', 'Agenda',  'Resource', 'Private', 'Electronic', 'Quote'])
            }
    
        panel(alignmentX: 0f) {
            assignments.eachWithIndex { assignee, i ->
    /*
            checkBox(id: assignee, text: assignee, selected: (i == 0) )
    */
            checkBox(id: assignee, text: assignee)
            }
        }
    
        panel(alignmentX:0f) {
            flowLayout(alignment:FL.LEFT)
            label('Other assignees')
            textArea(id:'textArea', columns:25, rows:1)
            }
    
        panel(alignmentX:0f) {
                flowLayout(alignment:FL.RIGHT)
                button(action: action(name: 'OK', defaultButton: true, mnemonic: 'O',
                                      closure: {vars.ok = true; dispose()}))
                button(action: action(name: 'Cancel', mnemonic: 'C', closure: {dispose()}))
            }
        }
    }
    if (vars.ok){
    
        node["Type"] = vars.type.selectedItem
        node["Complete"] = 0
    
    /*
    
    This next bit requires a kludged-up conditional style because this coding results in "Bill " 
    (Bill with a space postpended) in cases where I'm included in a longer list of assignees, 
    which fails the test the previous conditional statement used of just "Bill" (no space).  
    The conditional filter includes an "OR" statement that also now tests for the presence of 
    EITHER "Bill" or "Bill ".
    
    It works, but it's only needed because I don't know how to 
    write the logic here to keep the space from being included in the ...
    
    */
    
        attributes.set("Assigned", ( assignments.findAll { vars[it].selected } ).join(" ") + " " + vars.textArea.text )
    }
    

    A second script is used to manage a third attribute called "Complete" and is
    used to update completion status (values of 0, 25, 50, 75 and 100) interpreted
    as percentages. These values in turn drive conditional styles that show
    appropriate visual indication of status (e.g. a green background with a
    checkmark is 100%). The script also postpends a simple user-supplied status to
    the node's detail.

    The last script creates a little report for key Type attributes, appending new
    child nodes to the selected node on which the report is run. The script
    essentially copies all nodes that meet the selection criteria to these summary
    nodes, with links back to the original nodes in the map. This is useful
    because it allows me to gather up all the different node types into a single
    place, but still allows me to click on the link and go back to see the
    original in context. What I usually do is screenshot the summary I want to
    share and include it in an e-mail to assignees and interested parties.

    I'm really intrigued by the pretty output choices in your script and will be
    attempting to incorporate your report approach into my currently simpler
    output (especially when you get the part figured out about printing ;-) )

    Thanks for sharing your work. I ALWAYS learn a lot from seeing how others use
    code. I hope your example will expire others to share their work as well!

    Q!

     
  • John van Saders

    John van Saders - 2011-11-29

    Q!-

    I'm new to Groovy & Java (coding by analogy...), so I really appreciate your
    post. I'm making some slow progress on copying to clipboard, etc., so I'll let
    you know when I've got something working (it won't be polished...). Anything
    you care to share on your scripts is very welcome, especially the parts
    demonstrating API use- it's extremely helpful to see examples.

    Using node color, etc to represent node attributes is interesting, it gives
    you a quick way to scan the map for your actions (and even gives a sense of
    your level of task loading). It's good to collect ideas like this early in the
    code development.

    Thanks again for sharing!

    -John

     
  • Volker Börchers

    There are some facts about add-ons that might be of interest for both of you:

    • Add-ons may provide more than one script. So if you have more than one related scripts, incorporate them all!
    • Add-ons may have configuration variables, which might be used for a fixed list of names to use in some field or another.

    Looking forward to the result of your work.

    Regards, Volker

     
  • John van Saders

    John van Saders - 2011-11-30

    Volker-

    Those could be very useful add-on features, thanks for pointing them out.

    After spending time today converting my main GTD map to a Freeplane version,
    I'm liking your suggestion to use a script to convert something like the
    markup I used with FreeMind into attributes. This might fit in well with using
    several scripts for the add-on: one for markup translation, one for next
    action extraction, etc.

    Thanks...

    -John

     
  • John van Saders

    John van Saders - 2011-12-08

    Q!-

    With Volker's help, I have an add-on that now includes printing & copying
    functions, along with a little nicer formatting, etc.Still a work in
    progress... https://sourceforge.net/projects/freeplanegtd/

     
  • Anonymous

    Anonymous - 2011-12-19

    I'm pleased that this progress in improving Freeplane for GTD is happening.
    I've become a big Freeplane admirer lately, but for GTD, I'm using MLO. I'm
    yet to fully learn about the new features of FP 1.2, but until it can compete
    with MLO, particularly the sorted lists of filtered items, I won't be
    switching.

     
  • Anonymous

    Anonymous - 2011-12-19

    I also use Microsoft Project, but mainly for the Gantt chart. I agree with the
    earlier comment that this would be an attractive feature for Freeplane. Even a
    very simple, primitive-looking gantt chart would be enough for me.

     
  • Volker Börchers

    Even a very simple, primitive-looking gantt chart would be enough for me.

    It's possible with Freeplane, see this discussion. I could make a simple add-
    on from it but we need a proper definition of how the project data is defined,
    e.g. how the attributes are named that holds start and end times. In the end
    all that is needed would be an example project map.

    So I suggest that those you interested in Gantt charts start by posting some
    project definitions, for in a new topic in the new
    forum
    where
    you can upload attachments.

    Regards, Volker

     
  • Volker Börchers

    @John: Could you please add an entry for your GTD add-on on the Add-ons-
    Page
    ?
    Do you have already added images to your add-on? Use the latest preview
    versions and the latest devtools if you want to.

    Regards, Volker

     
  • Lee Davis

    Lee Davis - 2011-12-19

    Looks like a really useful add-on. One issue I had when installing it was that
    I did not have the

    C:\Documents and Settings\Username\Application Data\Freeplane\1.2.x\resources

    folder and the images folder beneath that so it said it failed to install. I
    added those two folders and it then worked ok.

    Lee

     
  • John van Saders

    John van Saders - 2011-12-19

    Hi Volker-

    The using the preview version of FP and latest devtools to create and install
    the add-on worked nicely (the issue Lee mentions is resolved). I need
    permissions to edit the Add-ons page and create an entry.

    Best regards,

    -John

     
  • Volker Börchers

    Hi John,

    I have added you to the wiki editors. I hope that this worked since I haven't
    done it before.

    Regards, Volker

     
  • John van Saders

    John van Saders - 2011-12-20

    Hi Volker,

    It worked. I wasn't sure how to put files in /addons directory, so I just
    uploaded icon to wiki.

    Thanks-

    -John

     
  • Volker Börchers

    It worked. I wasn't sure how to put files in /addons directory, so I just
    uploaded icon to wiki.

    Looks great. - No need to worry about the /addons directory. Maybe we should
    implement some tooling on the web site to allow uploads and more...

    Regards, Volker

     
  • Paul Allen

    Paul Allen - 2012-02-27

    I'm clueless about how to install the GTD addon. I downloaded
    frepplaneGTD-v0.8.addon.mm, and have FreePlane v1.1.3 installed.

    I can open the mm file, but there is no tools>addon menu choice, and don't see
    anyway to execute the scripts in the mm.

    The current Wiki just references a single click method, or tools>addon method.

    Any help would be appreciated.

     
  • jokro

    jokro - 2012-02-27

    Hi pablohawk,
    Please install Freelane 1.2 beta, because 1.1.3 doesn't support add-ons.
    Regards
    Jokro.

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.