notes icon indicating copy to clipboard operation
notes copied to clipboard

Folders and Tags [$2000 - Hired]

Open nuttyartist opened this issue 7 years ago • 56 comments

Folders and Tags

Nested folders (folders inside folders) are a powerful way to manage and organize notes. Tags allow you to connect different notes across different folders (say, you want to filter all notes that require high/low mental work, or all notes that need editing, or things to do while at home, etc).

The design should be like in this picture:

Notes 2 0 and future 001

Complete list of TODOs

Folders:

  • [ ] Database: if database structure needs to be changed, make sure to do proper migration on the app's startup. check if it's an old version (less than 2.0.0) of the app, if so, create a loader that doesn't allow interacting with the app until it's finished (it should be pretty instant but still). And rename old database to "oldNotes.db". Also, take care of when a user import/restore his notes from an old version. And export his notes as well.
  • [ ] All Notes, Trash, and Notes. Notes is the default folder of Notes. It can't be deleted or renamed. 'All Notes' shows all the notes across all folders. Whenever All Notes is selected, inside the noteView, we should add the name of the folder each note resides in. Trash is where all the deleted notes go to.
  • [ ] All migrated notes from the old version should go to the "Notes" folder.
  • [ ] If someone creates a new note when selecting "All Notes" then it should create the new note inside the default "Notes" folder.
  • [ ] Deleting a note from the trash folder show a message that the note will be deleted permanently.
  • [ ] The entire view should be scrollable together.
  • [ ] The user should be able to drag notes and drop them into the folders.
  • [ ] The user should be able to reorder folders by dragging them.
  • [ ] Creating a new folder would be done using the + icon depicted in the picture, or a shortcut key.
  • [ ] Hovering over a folder will show up a 3 dots button (depicted on the picture) that will open a contextual menu.
  • [ ] Right-clicking on a folder will open the same contextual menu.
  • [ ] The contextual menu will have the options: Rename Folder, Delete Folder | Separator | Add Subfolder
  • [ ] The user could also change the name of a folder by clicking on it and an input field will be revealed.
  • [ ] When a folder is deleted all of its notes and its subfolders' notes are deleted. (There should be a message before deleting a folder saying "Are you sure you want to delete this folder? All notes and any subfolders will be deleted."). When deleted, all the notes of the folder and its subfolders notes will be in the trash, yet under no folders - Trash won't show folders it will have just all the deleted notes, so when restoring they will get restored into the general "Notes" folder, or wherever the user drags them to (If you have a good idea on how to restore folders while preserving simplicity you're welcome to suggest).
  • [ ] The user needs to be able to drag notes and folders to the Trash folder (but not to All Notes).

Tags:

While folders are hierarchical meaning they are nested inside each other, tags provide a universal organization between notes that works between different folders. Say you have a folder of Homework->Math->note and another folder Poems->note You can assign to both of these notes the tag "Needs-editing". This way, when you want to know what texts you need to refine and work on you can just select the tags and see the appropriate notes rather than looking at each nested folder.

  • [ ] If a note has tags associated with it, they should appear in the note inside the notesList (as depicted in the picture above).
  • [ ] Also, they should appear below textEdit
  • [ ] Contextual menu both when hovered as in folders or when right clicking. Options: Change color, Delete Tag, Clear Selection
  • [ ] User can create tags in the tags panel by clicking the + icon.
  • [ ] User assign a tag to a note by dragging the note to a tag
  • [ ] Or when right-clicking on a note inside the notesList, there will be options as in the pictures depicted here: https://imgur.com/a/vtQg6ZN

Pinned notes:

Another feature good to have is the ability to pin different notes in different folders. A mockup for how it should look is below (basically, pinned notes are always at the top of the list, a small box with pin icon and "Pinned" label is showing up at the top, and the line seperator of a note height is increased to 2 points).

  • [ ] You pin a note by right clicking on a note from the notesList and a context menu opens with these options: Delete | Seperator | Pin Note | Seperator | Move to -> [Folders] | Seperator | New Note.
  • [ ] If a note is already pinned you unpin it by right clicking and instead of Pin Note it should show `Unpin Note'.

Notes 2 0 and future 002

If you have any more questions/clarification, please ask. Any suggestions are welcome.

nuttyartist avatar Aug 18 '16 13:08 nuttyartist

@nuttyartist I agree100% on the folders feature. Especially the drag and drop notes into folders ability as you described. If notes could be released with this feature even by itself in like version 1.1 (after the completion of version 1.0), it will be a great step forward. This is by far the most awaited feature for me at least!

newterminator avatar Sep 20 '16 17:09 newterminator

Yeah, this is a feature I'm looking forward to the most. I have about 500 notes, so I can't wait to organize everything to have a much clearer view. And yes, we plan to ship it on the version that would come after 1.0.0.

nuttyartist avatar Sep 20 '16 22:09 nuttyartist

Yes I have the same issue of having several notes (probably around 100-150) and want to organize them better for quick retrieval. BTW, Thanks @nuttyartist for your continued effort in this project.

newterminator avatar Sep 21 '16 05:09 newterminator

Sure. Yet the fullest thanks needs to be given to these wonderful people: @theshadowx, @alex-spataru, @dplanella, @KevDoy.

nuttyartist avatar Sep 21 '16 07:09 nuttyartist

I do wanna extend my thanks to @theshadowx , @alex-spataru , @dplanella , and @KevDoy for all your work in this project, and extending notes further.

newterminator avatar Sep 23 '16 16:09 newterminator

@theshadowx, Looking forward to you merging between your Folders WIP branch and the dev branch.

nuttyartist avatar Oct 03 '17 19:10 nuttyartist

I am starting to work on this, and a doubt arose. When importing notes from a version of the software that didn't support folders, should they become 'folderless', and only appear on the 'all notes' section, or should they be put in a 'default' folder?

crazyStewie avatar Jan 02 '20 00:01 crazyStewie

If with importing you mean upgrading to a new version, a new folder should be created (called ‘Notes’) where all notes are put into. That default folder could then be removed by the user.

If you’re talking about an import feature where the user already made folders and is importing notes from a different version, the user should be asked in which folder he wants to place the notes.

laurens94 avatar Jan 02 '20 10:01 laurens94

Hey, @crazyStewie. Thanks for wanting to contribute! Right now it seems like there are two people working on this. You and @theshadowx.

@theshadowx Can you share current status? If you progressed a lot it might be redundant for somebody else to start working on this.

@crazyStewie Regarding your question, all the notes should be imported to a "Notes" folder, that is not deletable, unlike @laurens94 said.

If you’re talking about an import feature where the user already made folders and is importing notes from a different version, the user should be asked in which folder he wants to place the notes.

👍

nuttyartist avatar Jan 02 '20 12:01 nuttyartist

@nuttyartist there is already a branch for it working correctly, the issue is that it has passed a lot of time since then, many things have been modified, thus merging is not possible for now.

so things has to start from the latest version of dev. but before the development elsewhere should be frozen, because many things are going to be modified to include this feature.

theshadowx avatar Jan 02 '20 12:01 theshadowx

Okay, gotcha. Do you think we can merge #233, #235, #237, release a new version 1.5.0, and afterward we'll stop everything until you'll finish working on 2.0.0?

nuttyartist avatar Jan 02 '20 16:01 nuttyartist

#237 can be merged easily. It won't cause any issues. #233 will probably cause merge conflicts.

Waqar144 avatar Jan 11 '20 09:01 Waqar144

@theshadowx, @Waqar144, @bjorn Does someone want to take the implementation for this to his hands?

nuttyartist avatar Sep 20 '20 07:09 nuttyartist

I nominate myself ;)

theshadowx avatar Sep 20 '20 07:09 theshadowx

@theshadowx Awesome!! (:

Be sure to look at the project to see issues that might be affected by this.

I'm so pumped for this!

nuttyartist avatar Sep 20 '20 16:09 nuttyartist

Hey, @theshadowx! Any progress on this?

nuttyartist avatar Oct 11 '20 06:10 nuttyartist

@nuttyartist I was busy these last days, but I'm free now. Updates will reported during this week.

theshadowx avatar Oct 12 '20 11:10 theshadowx

@theshadowx Awesome (;

nuttyartist avatar Oct 12 '20 13:10 nuttyartist

@theshadowx are you still working on this or should I take a stab at it?

alphashuro avatar Nov 06 '20 22:11 alphashuro

Hi @alphashuro I m still working on it.

theshadowx avatar Nov 06 '20 22:11 theshadowx

Hey @theshadowx, is there any way we can see the progress on your repo?

nuttyartist avatar Nov 16 '20 18:11 nuttyartist

I'll try to add a branch this weekend

theshadowx avatar Nov 17 '20 08:11 theshadowx

Okay 👍

nuttyartist avatar Nov 17 '20 20:11 nuttyartist

I'll try to add a branch this weekend

Hey, @theshadowx how is it going?

nuttyartist avatar Nov 27 '20 06:11 nuttyartist

Hey, @theshadowx it's been a month and a half since you nominated yourself and still haven't shared any progress yet. Soon, if nothing changes, I'll give the green light for other developers to solve this issue.

nuttyartist avatar Dec 06 '20 17:12 nuttyartist

@nuttyartist I'm still working on it, I know it's been a while, don't worry it will be done :) By the way I m also including fixes for the issues

theshadowx avatar Dec 06 '20 17:12 theshadowx

Okay, then :)

nuttyartist avatar Dec 06 '20 17:12 nuttyartist

@theshadowx How's it going?

nuttyartist avatar Jan 06 '21 09:01 nuttyartist

@alphashuro Still want to take a stab at it?

nuttyartist avatar Jan 26 '21 21:01 nuttyartist

@alphashuro Still want to take a stab at it?

I no longer have enough time unfortunately, but if I become free again I'll let you know!

alphashuro avatar Jan 31 '21 12:01 alphashuro