Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rearrange pages manually #32

Open
UralZima opened this issue May 11, 2017 · 46 comments
Open

Rearrange pages manually #32

UralZima opened this issue May 11, 2017 · 46 comments
Assignees
Milestone

Comments

@UralZima
Copy link

Hello. I am using zim about 2 years, all is great, but I can't understand, it is missing feature or a bug.
When I try to move a page, holding mouse button it shows a line like it is going to move, but it is not moving/rearranging in right order.

I already adding numbers to order somehow, but I have 30 pages with max 70 subpages each, and I can't rearrange them in needed order with numbers only.

Please help me with this issue

@jaap-karssenberg
Copy link
Member

This is a missing feature, at the moment you can only drag pages to another sub-section of the notebook, but they remain sorted alphabetically per section.

@jaap-karssenberg jaap-karssenberg self-assigned this May 18, 2017
@jaap-karssenberg jaap-karssenberg added this to the Release 0.68 milestone May 18, 2017
@fdt-dev
Copy link

fdt-dev commented Jan 22, 2018

Hi Jaap, I can see the utility of a random reordering of the pages in the tree view. But would it please be possible to keep the default automatic alphabetical ordering? I think it makes sense for the default tree view to have everything sorted alphabetical. Maybe have a different tree view then which allows for reordering or make it a selectable option. Remember please: The beauty of Zim is that it is simple. Don't overload it with functions.
The default alphabetical oder is simple and it makes it easy to find the page you're looking for. Reordering is (probably) fine if you have only a couple of pages, but I for example maintain a little knowledge base in Zim which consists of 1500 pages. I need alphabetical ordering.
Thank you

@romantist
Copy link

please let me know, when it will be deployed?

@UralZima
Copy link
Author

Yes. Please let us know. I am currently seeking for another solution, only because missing this feature. But other solutions are not so cool as zim. I see only tomboy (ugly), basket (buggy), wikidpad (for win), etc. Don't know what to do. Please implement this feature, on a 100+ pages notebook it is required...
Thank you so much for doing great product!

@yhancik
Copy link

yhancik commented May 6, 2018

I'm in the same boat as @UralZima here. I really appreciate Zim but I need to be able to sort manually the different pages!

@cryptoluks
Copy link

same here, would be great to see this implemented.

@cmatthewbrooks
Copy link

+1 - I just installed tonight and like it so far, but would love it (and prefer it) if an "order by" (Alphabetical or Manual) option existed.

@vivasteve
Copy link

Funny, I have been very happily using zim for quite a few years now. Until today I did not notice that re-ordering of pages is not possible. But today I decided that zim provided the simplest, quickest way to build a genealogy website. Now I need page re-ordering - because children should be listed in order of their age, not their names! So this new functionality will be very useful in this case.

In the meantime I have found a workaround (which may prove to be tedious) - the list items which form the index can be manually rearranged inside the html file after building the site with zim.

@arigit
Copy link
Contributor

arigit commented Jun 3, 2019

+1 on this. I just installed Zim 0.69.1 on Mac OS (after using it for years on Linux and Windows) and just noticed that in MacOS the alphabetical order is no longer maintained for some reason, it actually seems random:

image

Trying to workaround this problem I tried manual re-ordering only to find it's not supported

@DocSalvager
Copy link

Been using Zim for many many years. I don't need this often, but when I do I just start the name with a fixed-length number. I've found that it's always best to have 1 leading zero more than you think you'll ever need in order to both insure correct sorting, as well as avoiding lots renumbering and re-linking in the future.

@arigit
Copy link
Contributor

arigit commented Jun 3, 2019

Thanks @DocSalvager
I resolved this oddity (the random order as shown in the screenshot snippet above) by creating an ad-hoc sub-folder, moving all the notes there (moving them using drag/drop in Zim's GUI), and moving them back to where they belong. After moving them, they got ordered properly (all notes follow the same number pattern, YYYYMMDD, these are meeting notes). This is on 0.69.1 / MacOS (mojave). I had never seen this before after some years of Zim use in Linux and Windows. I notice that older folders full of notes are ordered. The problem only manifested itself in folders that had old notes (pre-move to Mac) and new notes (created on the Mac)

@panhartstuff
Copy link

Any progress on this feature?
We could have a text file for each Notebook that maintains the order of the pages.

@UralZima
Copy link
Author

Still waiting for this feature a lot. I tried CherryTree, which allows that, but it is working ugly, not so cool as Zim. Please implement this feature, much people need it! it is so easy to implement. Even if code will be dirty, let it work.

@vivasteve
Copy link

vivasteve commented Dec 18, 2019

+1 +1 :)

@vivasteve
Copy link

ps - cherrytree is pretty cool! - long time user

@aNDy-Squirrel
Copy link

+1 for this feature request. I really miss this feature because I have pages with many sub-pages, of which not all are equally frequently used. I would like the more frequently used ones at the top of the list.

I imagine this as:

  1. A user preference setting where the newly created sub-pages are added: (a) where they alphabetically belong, (b) after the existing sub-pages, (c) ...
  2. A manual trigger (click in a context menu) to re-order the sub-pages of a page alphabetically (or otherwise).
  3. The possibility to manually re-order the sub-pages by drag-and-drop.

@0xmilan
Copy link

0xmilan commented Mar 15, 2020

Is there any update on this? :)

@Jesus-Rosendo
Copy link

Are we still not able to rearrange pages manually?

@dgloriaweb
Copy link

+1

@jaap-karssenberg jaap-karssenberg modified the milestones: Next, Zim 1.0.0 Jul 16, 2020
@vkbo
Copy link

vkbo commented Jul 28, 2020

Just wanted to add to this request.

The usefulness of this very much depends on how you organise your content I guess. I use a fairly detailed tree structure to break down my notes, and have relatively few files in each folder. I use Zim a lot for outlining and researching writing projects, and ideas for novels. I have written my own application for the actual writing, where you definitely need to be able to sort scene files manually, but Zim is still my main research and note tool. It would still be useful to be able to sort my notes following the structure of my projects without having to prefix each folder with numbers.

In any case, in terms of functionality, I proposal something similar to how Firefox and Chrome handles bookmarks. I.e. you can have them unordered as (an optional) default, and right click a folder to have Zim order them alphabetically.

Edit: Basically the same proposal as @aNDy-Squirrel

@dummyaccnt80
Copy link

I am numbering pages to sort it manually for now and maybe a workaround you can use too

@smalltimer
Copy link

+1 from me too! I think this is a basic requirement for many work-flows, and adding numbers to page titles is as inelegant as it gets. I have a lot of pages and sub-page and sub-sub-pages. Adding numbers would make things very messy. Could something not be injected into the metadata/frontmatter of the files?

Cheers

@martinkirk
Copy link

Another +1 for this feature.

Like others, I use numeric prefixes to force my desired order but I'd prefer not to have to. The ability to drag'n'drop in the tree to change order or parent of a node would be great. CherryTree seems to get this right (though I'm sticking with Zim!)

@Nick222
Copy link
Contributor

Nick222 commented Jan 5, 2021

May be use hidden sort-number in Zim-notes file-name for this?

Note: "My Note"
File: 023_My_note.txt

@martinkirk
Copy link

May be use hidden sort-number in Zim-notes file-name for this?

Note: "My Note"
File: 023_My_note.txt

It seems like you're suggesting that I can rename the file on disk using the numeric prefix and get the desired order without the prefixes displaying in the tree, please let me know if I have misunderstood?

  1. If I change the filename on disk to add the number prefix then that number will show up in the tree.
  2. I feel like I shouldn't have to manipulate files outside of Zim to achieve this.

Whilst it's not a show-stopping issue I think my Zim experience would be improved by the addition of this feature.

@Nick222
Copy link
Contributor

Nick222 commented Jan 5, 2021

You are confusing capability and interface, it seems to me.
If the author of the program adds such a possibility, then the numbers of the notes can be hidden in the note-tree, and they can change automatically when dragging the notes along the tree, for example.

@martinkirk
Copy link

You are confusing capability and interface, it seems to me.
If the author of the program adds such a possibility, then the numbers of the notes can be hidden in the note-tree, and they can change automatically when dragging the notes along the tree, for example.

Ah, thanks for the clarification. Your suggestion was for the developer, not the end-user?

@quesada
Copy link

quesada commented Feb 16, 2021

+1 for this. I get why this is not so easy to implement: trees are folders, and file managers usually do folders that can sort files in some order (alphabetical, edit date) NOT manual. I have yet to find a file manager that allows manual ordering.

For a beautiful implementation of this infinite tree, see quire.io.

I agree this is a fantastic feature to have

@martinkirk
Copy link

+1 for this. I get why this is not so easy to implement: trees are folders, and file managers usually do folders that can sort files in some order (alphabetical, edit date) NOT manual. I have yet to find a file manager that allows manual ordering.

Whilst, in principle, I like the idea of tree nodes mapping directly to folders on disk, the reality is I've never accessed my Zim notes from outside of Zim in > 10 years usage so I would happily forego that mapping in favour of a manually sortable tree.

For a beautiful implementation of this infinite tree, see quire.io.

see also checkvist.com

@yareckon
Copy link

Reordering ++

@quesada
Copy link

quesada commented Mar 15, 2021 via email

@yareckon
Copy link

yareckon commented May 5, 2021

Proposed Fixes would have to be Related to #1442

@harish1996
Copy link

+1. I have just started using this for taking notes, and 7 pages in, and i am already feeling the lack of manual reordering bite me in the back.

@quesada
Copy link

quesada commented Dec 15, 2021

+1

@SingedSalad
Copy link

I just registered to say that I would Love if it was possible to just drag and drop rearrange the order of pages. Love!

@az-nima
Copy link

az-nima commented Aug 14, 2022

I don't understand; Is it such a difficult task to add such a simple functionality to Zim?!
I love Zim and I've been using it quite a while now. But the lack of such a simple, yet very useful thing as manual ordering of pages makes me really sad.... specially when it's been asked for over and over again for such a long period of time!

@KnownBugg
Copy link

I'd love to have this feature as well.

@fgoodwin
Copy link

Another +1 for this. Seems like a basic feature what would be very helpful for organization.

@yareckon
Copy link

yareckon commented Jan 30, 2024

As an external person very very interested in Zim having this feature, I was hoping there was a central place where this might be hacked in. I was thinking as a data structure just a simple file on disk page_index_order.txt with a list of file names in the order that they were dragged into. This file would only appear in folders once pages had been dragged out of filesystem order. Obviously, this file would have to be kept in sync / rewritten when renames, page creation, deletion, dragging occured.

I was looking at the code to see if I could identify if there are points this idea could be wedged in, and it looks quite daunting -- primarily because the page index code:
https://github.com/zim-desktop-wiki/zim-desktop-wiki/blob/develop/zim/plugins/pageindex/__init__.py is wrapped around a gtk structure https://docs.gtk.org/gtk3/struct.TreePath.html, and one would have to understand both to see where to wedge in the ordering code. One related point is that TreePath is deprecated in GTK 4.10+ so in 10 years :P if zim gets ported to GTK 5(!?), there will have to be a new solution anyway. I will take a look at trying to understand the zim side of the code in case there is a way to hack page ordering in with my limited knowledge. If this is something the main developers have an opinion on, could give guidance on, that would be awesome.

Edit: looks like the file https://github.com/zim-desktop-wiki/zim-desktop-wiki/blob/develop/zim/notebook/index/files.py has most of the filesystem logic that would need a proxy version of if we wanted to allow reordering.

@jaap-karssenberg
Copy link
Member

jaap-karssenberg commented Jan 31, 2024 via email

@introt
Copy link
Collaborator

introt commented Feb 3, 2024

To keep with our theme of pages being files, we could store their order in the file names and strip the ^(\d)+_ in the UI. This'd be similar in spirit to how we handle spaces & the file extension.

edit: see also #2015 re: moving and reorganizing

@jaap-karssenberg
Copy link
Member

jaap-karssenberg commented Feb 5, 2024 via email

@introt
Copy link
Collaborator

introt commented May 5, 2024

Linking #2604, the index file could list the preferred order of UUIDs (which should be added while indexing if missing)

@andreuxg
Copy link

Hello Jaap, everyone,

I'm just starting to use the tool, and I would also very, very much need this functionality. With the aim to store in Zim all the structure of a website or a long document for export in Latex, I'd say it's essential if one doesn't want to forever keep updating numbers.

One train of ideas:

  • If you allow the user to order the pages at will in the index page (drag and drops, or Alt+Up and Alt+Down like is relatively standard in a few tools).
  • if you then store the resulting sequence page number in the header of each file, as a new tag next to the creation date for example:
    - Content-Type: text/x-zim-wiki
    Wiki-Format: zim 0.6
    Creation-Date: 2024-05-15T15:18:39+02:00
    Index-sequence: 12 <----
  • and then when you reopen the file, you'd read the index-sequence tags and order the elements accordingly in the index,

Could that work?

thanks in advance to consider it!

best regards,

Géraud

@introt
Copy link
Collaborator

introt commented May 19, 2024

Instead of a raw sequence number (which could require editing every sibling), we could do what TiddlyWiki does: list-before and list-after; see https://tiddlywiki.com/static/Order%2520of%2520Tagged%2520Tiddlers.html - this could use page UUIDs to be robust against filename changes and solve conflicts by some simple prioritization.

@jaap-karssenberg
Copy link
Member

jaap-karssenberg commented May 21, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests