Recent discussions here about clones and templates got me thinking
about possible mechanisms to do more in that area with Leo.

The goal:
    1) Consider a repository of text data objects (eg. a list of
questions to be used  to create exams and quizzes). This data
repository is managed in Questions.leo along with a variety of @files
(@file Math_Questions.tex, @file History_Questions.tex, etc.)
    2) Now suppose that I want to create new, distinct objects
(questions) based on existing objects (like a template) but also want
these separate objects to 'sync' to the originals 'if and when I
choose to', and be able to do this in a different file (say
2011_Fall_Semester_Exams.leo). I would call this new object a 'clone'
of the original except in current Leo usage that might be confusing.
(Another possible name?)

Current status:
    1) As Leo exists now, 'clones' are not separate objects but simply
different views of the same object. They are what make Leo a superior
outlining application to anything else out there (that I'm aware of).
However, they are only useful 'within' the same .leo file and are not
meant to create syncable objects across multiple .leo files.
    2) The jinjarender.py and valuespace.py plugins initially lookd
promising but it's not clear to me a) how to use them and b) if they
work across multiple .leo files.
    3) The @url directive along with UNLs gives the ability to
reference the original data but not to sync to it (except manually).
Also, the process of creating the UNL reference is somewhat tedious.

Envision solution:
    There are three capabilities that Leo would need that don't exist
now that could make this possible:
        1) A procedure to copy a full path-to-node to the clipboard
(eg. <path>\Some_File.leo#Root_Node-->Target_Node)  [incidentally,
this would be a nice feature to have now to make writing UNL paths
less tedious.]
        2) A persistent @template-path that is distinct from the
current @path, but operates in the same way down through its
respective tree.
        3) Some headline directive (say @t) and a procedure to sync a
remote copy back to the original. For example, suppose copied nodes
had @t headlines [@t Question4b, @t Question5a, etc. in the same
@template-path tree]. Invoking the procedure (alt-x sync) would sync
every @t node in that tree back to the original template.

I would be interested to know if this capability is desirable and
possible. As for me, I would have numerous opportunities to use this
capability. Also, please correct any of my wrong assumptions or
misunderstandings. I do not have the Python knowledge to even know
where to begin to write such code as to make this work, unfortunately.

Regards,
Rob...............

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en.

Reply via email to