+1
Under review

Use of CintaNotes as a powerful long-text writing tool

Igor 9 years ago updated by Alex Jenter 9 years ago 3
To use CintaNotes as a long-text writing tools I propose to add 6 functions in the context menu which handle with notes as text blocks.

The first 5 functions are applied in the view mode. These functions change only the creation-date-and-time of notes to which they are applied. They do not change the content (text, title, tags, and so on) of these notes except creation-date-and-time. The seventh function <merge> handling with text blocks has already been included in CintaNotes.

The function <insert before> inserts a new note "before" the current note. "Before" means that

creation-date-and-time of the new note = creation-date-and-time of the current note - 1 second.

The function <insert after> inserts a new note "after" the current note. "After" means that

creation-date-and-time of the new note = creation-date-and-time of the current note + 1 second.

The function <move before> moves the current note "before" the target-note. The target-note is chosen after calling this function from the context menu.

The function <move after> moves the current note "after" the target-note. The target-note is chosen after calling this function from the context menu.

The function <exchange> "exchange" two chosen notes. "Exchange" means that creation-date-and-time of these notes are exchanged.

The sixth function <split> is applied in the edit mode. It splits the edited note into two ones at the cursor location. The first note has the same creation-date-and-time as the edited note. The second note is placed "after" the first note. The texts of these notes are first and second parts of the text of the edited note, respectively. The content (title, tags, and so on) of these notes except text and creation date-and-time coincides with the content of the edited note.

The functions <move before> and <move after> can be applied to a group of notes. For example, for three notes Note1, Note2, Note3 (ordered by creation-date-and-time) we obtain:

for the function <move before>:

creation-date-and-time of Note1 = creation-date-and-time of the target-note - 3 second
creation-date-and-time of Note2 = creation-date-and-time of the target-note - 2 second
creation-date-and-time of Note3 = creation-date-and-time of the target-note - 1 second

for the function <move after>:

creation-date-and-time of Note1 = creation-date-and-time of the target-note + 1 second
creation-date-and-time of Note2 = creation-date-and-time of the target-note + 2 second
creation-date-and-time of Note3 = creation-date-and-time of the target-note + 3 second

I think that implementation complexity of these functions is easy.
editing notes-list complexity:easy
Under review
Igor, thanks for the suggestion!
Could you tell why you use the creation date as note sorting factor?
After all, you can switch to "Manual" sorting mode and move notes up/down with Alt+Up/Down.
Did you know about this?
The "manual" sorting mode does not allow:
1) to create a new note at the given position (before or after the target-note);
2) to move notes at the given position for one step (It allows to move only one position up or down);
3) to change notes for one step.

Why do I use the creation date as note sorting factor? I have two reasons:

1) (implementation) I think that implementation complexity of these functions is easy.

2) (philosophy & methodology) I want to combine the advantage of timeline with the possibility to handle with notes as text blocks. I consider a CN notebook as a multitext with virtual (changed) chronological order from which individual texts are extracted by tag filtering. It is significant that for notes which do not "participate" in texts the virtual chronological order coincides with the real chronological order.
Thanks for the detailed explanation.

> to create a new note at the given position (before or after the target-note)
Probably it would make sense to create new notes at the cursor's position when in manual sorting mode?

> to move notes at the given position for one step (It allows to move only one position up or down)
IMO not a real problem since you can just press and hold Alt+Up(Down) till you arrive at the needed position

> to change notes for one step
don't quite understand what you mean here

> (implementation) I think that implementation complexity of these functions is easy.
no offence but this shouldn't concern you as a user ;)

> I want to combine the advantage of timeline with the possibility to handle with notes as text blocks
I think that creation time is an important meta information, and to use it for creating a special sorting mode would be a mistake.

It'd rather agree to expose an additional field like "order" (or 'index"). (BTW this field already exists in the database in the Notes table and is called "num".)