> > On Mon, Oct 11, 2010 at 6:34 AM, ndomes<
n.do...@kahani.ks.shuttle.de> wrote:
> >> My questions are:
> >> Are there any people working on a solution?
> >> Is this feature on the agenda of on of the next (major) releases?
>
> > There has been a lot of discussion about this. A main consensus is to
> > implement something along the line of tags, not folders. A worksheet
> > can have multiple tags, but you can only place it in one folder
> > (symbolic links is cheating :-).
>
> > As far as I know, no one is working on this at the moment. The feature
> > you want has been in demand for over a year now. If someone would
> > implement it and provide a patch, that person or group of person would
> > be hailed as heroes.
>
> Indeed!
>
> Jason
Hello,
I tried a little bit;-))
Here is a short report:
First I defined a new class, providing a virtual directory tree.
The folders contain a list of worksheet identifiers ( 'owner/
id_number').
The storage of worksheets is untouched. Still worksheets are stored in
the users directory in folders named with numbers. The virtual
directory tree holds only references to the worksheets.
Second I included a javascript tree implementation into the notebook
('worksheet_listing.html')
It doesn't works proper yet inside the notebook, there it shows not
actually a tree but only a list of all first level subfolders, but
it's good enough to test the idea.
The javascript tree definition includes relative links like '?
path=folder,subfolder,subsubfolder .
I added the parameter path to the function 'render_worksheet_list' in
'twist.py', where it is passed to the function
'worksheet_list_for_user'. Here a new function 'satisfies_path' is
called and reduces the worksheet list to the worksheets fitting the
given path, using a dictionary relating paths to lists of worksheet-
id's.
These are only a few poor first steps, but i hope, it could be
successful in the end.
What's to do.
I need a javascript tree, working adequately inside the notebook.
Features: expandable and collapsible folders, insert new folders,
rename folders, remove (empty) folders.
All changes have to be passed to the notebooks virtual directory
object (in runtime) (I haven't found yet, how to do this, but its a
crucial point).
The javascript should get the initial tree definition from a file in
the users directory, created from the notebooks virtual directory
object.
The virtual directory tree is pickled to the users directory (like the
history ) and loaded from there when a user starts his notebook.
The virtual directory tree is an attribute of the notebook.
The function 'satisfies_path' gets the dictionary (see above) from the
virtual directory tree.
A new worksheet is automatically joined to the active path of the
virtual tree.
So far my short report.
If anyone is interested in more details, I would be glad to send a
personal mail.
Regards
Norbert