Zim

Additional list view for pages per namespace with data modified etc.

Bug #733778 reported by ceg
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Zim
In Progress
Wishlist
Unassigned

Bug Description

If you keep notes of periodic events, browsing them in the left tree gets harder as they accumulate.

Also, the notes are sorted alphabetically, can not be shown in custom or chronological order.
(The metadata necessary for custom ordering in zim is covered in Bug #278417 and Bug #303657)

A nice solution to stay on top of a lot of notes is a list view (in a top pane) that can show the direct child-nodes or all sub notes of the note selected in the tree view.

You can find a screenshot and feature description of a list view at:
http://keepnote.org/manual/index.shtml#philosophy
The relevant part concerns the ideas of time-sensitive vs. reference-sensitive notes (and a list view that can be sorted to be anything-sensitive).
(keepnote ist python code, too)

The list view could be adjustable to order the items by any selected columns, and with no column selected present the list in the custom order.

I believe, zim should already have all the necessary information available in the metadata of the .txt files, to be able to show lists of the notes sorted by any column.

Revision history for this message
ceg (ceg) wrote :

Oh well, to be able to show the notes in a custom order would require some additional metadata, but listing in chronological should be able without.

Revision history for this message
ceg (ceg) wrote :

From a node.xml (metadata) of keepnote:

<?xml version="1.0" encoding="UTF-8"?>
<node>
<version>5</version>
<attr key="content_type">application/x-notebook-dir</attr>
(zim uses plain text instead of xml)

<attr key="title">Unimportant Note</attr>
(equals the file name and link in zim)

<attr key="expanded">1</attr>
(zim does not seem to safe the complete state of the left ("tree") view pane yet)

<attr key="nodeid">a450eb96-82ac-4c81-b74e-ee2de9bc26eb</attr>
<attr key="modified_time">1299867243</attr>
<attr key="created_time">1299867243</attr>
(info available in the filesystem)

<attr key="expanded2">1</attr>
(state of the top ("list") view pane?)

<attr key="info_sort_dir">1</attr>
<attr key="order">34</attr>
<attr key="info_sort">order</attr>
(allows ordering of notes by name, creation, modification, ..., or custom order)

</node>

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

So is the request to add the extra pane with multiple columns to sort on, our do you want to improve sorting in the side pane ?

Changed in zim:
status: New → Incomplete
Revision history for this message
ceg (ceg) wrote :

The feature I immediately liked was the extra list pane with columns to sort on, while you can keep the tree in the side pane compact.

From looking at keepnote a little more, I think it uses the same widget for the side pane and the top pane. But it only shows the first column in the side pane, and only shows the subtree of what is selected in the side pane in the multi column top pane.

Using the same widget may be efficient, programming wise, and also allow different sorting orders in the side pane.

ceg (ceg)
Changed in zim:
status: Incomplete → New
ceg (ceg)
description: updated
ceg (ceg)
description: updated
Changed in zim:
status: New → Confirmed
importance: Undecided → Wishlist
summary: - list view for notes
+ Additional list view for pages per namespace with data modified etc.
Revision history for this message
Viale Fabrice (viale-fabrice) wrote :

Each time a user inserts a date, Zim automatically creates a note with a corresponding hierarchy.
eg:
in note named "travel", a user inserts a date 18 /05 /2012
and Zim automatically creates new notes
2012 (empty note)
-- 05 (empty note)
----18 (empty note)
Now, if you include a backlink to "travel" inside the note named "18" (and "2012" and "05" ?), then the user can browse his notes based on their names or based on their date (per exact date or per year or month).
(Of course, could be useful to have the links and notes automatically created and updated)

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote : Re: [Bug 733778] Re: Additional list view for pages per namespace with data modified etc.

On Fri, May 18, 2012 at 1:32 PM, Viale Fabrice
<email address hidden> wrote:
> Each time a user inserts a date, Zim automatically creates a note with a corresponding hierarchy.
> eg:
> in note named "travel", a user inserts a date 18 /05 /2012
> and Zim automatically creates new notes
> 2012 (empty note)
> -- 05 (empty note)
> ----18 (empty note)
> Now, if you include a backlink to "travel" inside the note named "18" (and "2012" and "05" ?), then the user can browse his notes based on their names or based on their date (per exact date or per year or month).
> (Of course, could be useful to have the links and notes automatically created and updated)

The way of working you describe is already possible. When you insert
a date, there is a checkbox to make the date a link. This will result
in a calendar page to be created (at least an empty placeholder will
be visible in the index). If you navigate to this page and check the
backlinks the page is there.

-- Jaap

ceg (ceg)
description: updated
Revision history for this message
ceg (ceg) wrote :

The "zettelkasten" application also provides a nice example of a list widget.
http://zettelkasten.danielluedecke.de/en/index.php

If you look at the following screenshot of the running java .jar, you see the content of the opened note in the top left frame, surrounded by frames (with white borders) containing additional meta-data:
 * lists of tags assigned to the note
 * additional comments
 * list of citations

Then on the right you see its global navigation lists (zim has them on the left which makes more sence to me).
The currently opened tab lists all links contained in the notebook, but there is as well a tab that shows a table with all node titles with creation and modification dates, etc.

Now for zim I would imagine a such an additional list frame (probably shown above the note frame), to be under whatever context is selected by the left tree/list/tag frame (with tabs showing only items in the scope selected on the left).

http://zettelkasten.danielluedecke.de/wiki/lib/exe/detail.php?id=zettelkasten-screenshots&media=screenshot_win_crystal.png

ceg (ceg)
description: updated
description: updated
Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

Attached proof of concept plugin, add page names, tags and modified date in top pane.

Main issue is to synchronize the navigation between this new pane and the side pane index. Essentially side pane index should show namespaces rather than individual notes. So now behavior is bit awkward that you see in the top level pane pages on the same level as the one selected in the index, rather than it;s children.

Anyone wants to pick it up and improve it ?

Revision history for this message
Shivam Sharma (shivams-cool) wrote :

Jaap,

Sorry to ask you this. But how do I use this Plugin file. I tried adding the file to my plugin folder and compiling it. But it didn't show up in my Plugins list in Zim.

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

On Fri, Dec 7, 2012 at 11:34 AM, Shivam Sharma <email address hidden> wrote:
>
> Sorry to ask you this. But how do I use this Plugin file. I tried adding
> the file to my plugin folder and compiling it. But it didn't show up in
> my Plugins list in Zim.

It goes in zim/plugins in the source folder, or in the user install folder

Unix (including Mac OS X):
~/.local/lib/python2.6/site-packages/zim/plugins

Windows:
%APPDATA%/Python/Python26/site-packages/zim/plugins

No need to compile it, if the module is present, zim should see it.

Maybe good to check for error messages when running zim with "zim -D".

Btw. plugin is tested against zim 0.57, so older version it may not work.

Regards,

Jaap

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

Anybody testing the proof of concept ?

Changed in zim:
status: Confirmed → In Progress
Revision history for this message
ceg (ceg) wrote :

I had copied the file into usr/lib/python2.7/dist-packages/zim/plugins/, however could not find a new entry to activate it in the plugin preferences.

In the meantime I had to revert to 0.54-1 (debian package), because I got trouble with the page index:
When I clicked a page in zim 0.57, it opened it, but it highlighted another page some lines below in the treeview.
The error message "could not create GtkTreeRowReference object" lead me directly to bug #1031134. However, that report is marked as a duplicate of a report with another error message, and my problem did not go away by letting zim rebuild the index.

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

You could try running 0.57 from source and put the plugin directly
into "zim/plugins" in the source folder.

Do make sure to quit the other version completely and let the indexing
take it's time to update.

On Mon, Dec 17, 2012 at 7:28 PM, ceg <email address hidden> wrote:
> I had copied the file into usr/lib/python2.7/dist-packages/zim/plugins/,
> however could not find a new entry to activate it in the plugin
> preferences.
>
> In the meantime I had to revert to 0.54-1 (debian package), because I got trouble with the page index:
> When I clicked a page in zim 0.57, it opened it, but it highlighted another page some lines below in the treeview.
> The error message "could not create GtkTreeRowReference object" lead me directly to bug #1031134. However, that report is marked as a duplicate of a report with another error message, and my problem did not go away by letting zim rebuild the index.
>
> --
> You received this bug notification because you are subscribed to Zim.
> https://bugs.launchpad.net/bugs/733778
>
> Title:
> Additional list view for pages per namespace with data modified etc.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/zim/+bug/733778/+subscriptions

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.