Page 1 of 2

[Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Wed Jul 27, 2016 4:34 pm
by CintaNotes Developer
Jul 27, 2016 - Version 3.2
Finally here - the Autotagging Rules!
Huge thanks to you guys for help and ongoing support!

In this version:

Features:
  • Autotagging Rules
    Automatic assignment of tags and sections to notes. Finally the software can do the organizing for you!
    See "File / Rules" menu item.

Enhancements:
  • File attachments: add ability to save to disk multiple attachments at once
  • Editor: add advanced option to copy text without formats ("editor.copyplaintextonly" in cintanotes.settings)

Fixes:
  • PasswordEnterCancelledException after canceling adding note
  • Simplenote sync: synchronization no longer resets note selection
  • Editor: std::out_of_range raised on save
  • Notes list: RTL numbered lists were rendered incorrectly
  • Simplenote sync: failure to sync from behind a proxy
  • Large DPI sizing problems
  • Tag drag and drop highlighting problems
  • Tag drag and drop: didn't always correctly process mouse leaving
  • Fixed HotKeyEditor Ctrl + Alt bug
  • Import from a password-protected older format notebook required entering password twice
  • Deleting section didn't also delete autodeletable tags
  • Replacing and renaming tags was extremely slow on large number of tags and notes
  • Negative search didn't work correctly with "anywhere" or "attachments" fields
  • HTML export: wrong rendering of RTL text

Download:
Installable: CintaNotes_3_2_Setup.exe
Portable: CintaNotes_3_2.zip

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Wed Jul 27, 2016 5:44 pm
by RSchiaffino
Hi Alex,

When you mention the new "Notebook" top level menu, where does one see it? I still see as top level menus "File", "Edit", "View", "Options" and "Help" (and, yes, I've already checked that I have 3.2 installed and running).

Riccardo

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Thu Jul 28, 2016 4:42 am
by CintaNotes Developer
RSchiaffino wrote:When you mention the new "Notebook" top level menu, where does one see it? I still see as top level menus "File", "Edit", "View", "Options" and "Help" (and, yes, I've already checked that I have 3.2 installed and running).


Hi Riccardo! Ah yes. This menu was in the betas, but after some consideration we've decided that it doesn't add much of value after all (and in V4.0 the menu will be redesigned anyway), so we returned the items to the "File" menu. I'll update the release notes, thanks for noticing this!

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Sat Jul 30, 2016 1:48 pm
by Thomas Lohrum
Hi Alex,

this is my first look at the auto-tagging feature, since i last had a chance to do so back in May. All in all it turned out nicely. However, i encountered several issues, that i'd like to discuss.

Option, when to apply a rule

add an option for each rule "apply rule when":
( ) creating note (inside editor, apply on initial save)
( ) editing note (inside editor, apply with each save, except the initial one)
( ) rule editor
( ) manually (a drop drown in the UI for the notes list could offer a list of rules to be executed manually)

This allows for different workflows. For example a section could be auto-assigned when creating a note, but moved thereafter by hand. The manual option would allow for the suggested "save search" replacement feature.


Comment

The rule title is fine. Still i'd like to be able to add a comment to the rule allowing me to describe its purpose in detail.


Rule Editor TAB Key

The TAB key jumps around with no logical order when editing a single rule.


Remove tag hierarchies

I uses tags such as "tasks/onhold/2016-08-15", "tasks/onhold/2016-09-01" and so on. I'd like to remove such a tag by defining a wildcard. For example, when tag "tasks/now" is applied remove any tag of "tasks/onhold/*". Since the tag contains a mutable value (date part) i see no other way to declare a general rule to this.


There is more to come. So far for the moment.

Thomas

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Sat Jul 30, 2016 7:43 pm
by Thomas Lohrum
Continue....

Date Calculation

The present implementation can be extended to support date calculation. Though i admit, this request relates to the support of a start- and due-date. If we'd have a start-date, i could express "add tag 'next_7_days', when start_date - now <= 7". This is a new quality, as 'date' is a mutable value.

Keyboard going wild

At two occasions the keyboard stopped working properly. ESC, TAB and some other keys did no longer work, whereas characters were no problem. I'll have an eye on it.

Rule: note is new

I added a rule to be executed for new notes. When i tested the rule it returned "1 out of x will be changed". How can that be?

Rules dialog

The question "Should the rules be applied now" when exiting the rules dialog has a checkbox "don't ask again". If i check it, what will be the default action next time?


to be continued...

Thomas

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Sat Jul 30, 2016 7:57 pm
by Thomas Lohrum
continue...

Work-flows

I have tags such as tasks/now and tasks/next. Now, the two work-flows are possible: When tasks/now is assigned to a note, remove tasks/next. Vice versa a note with tasks/now can be delayed by removing tasks/now and re-assigning tasks/next. I don't think this can be expressed by the current design, as the two work as an opposite. If the rule engine could distinguish between tags that already were present when the note got opened from the ones that got assigned while editing, the feature will become possible.

For example:

If tag [tasks/now] will be added, then remove tag [tasks/next].
If tag [tasks/next] will be added, then remove tag [tasks/now].


This also relates to the hierarchies extension i had suggested. As such it will be able to express:
If tag [tasks/now] will be added, then remove tag [tasks/*].

This is due to the fact that i also have tags such as tasks/onhold and tasks/completed.

Thomas

BTW, my congratulations to the latest release. It was a huge effort i think. I wish to you, that it will give you the benefit, that you expect of it.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Fri Aug 05, 2016 4:27 pm
by gustms
Thank you for the update.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Fri Aug 05, 2016 4:43 pm
by CintaNotes Developer
Hi Thomas,

sorry for the delay and thank you for the comments!

Thomas Lohrum wrote:Option, when to apply a rule. [..]
This allows for different workflows. For example a section could be auto-assigned when creating a note, but moved thereafter by hand. The manual option would allow for the suggested "save search" replacement feature.


I understand where you're coming from here, but this would be quite a complication of an already not simple feature, don't you think?
Also could you please elaborate what's the use of 'manual' rules? This will turn the rule into smth like macro command. Not a bad idea in all, but I wonder how many people would actually use it all.

The rule title is fine. Still i'd like to be able to add a comment to the rule allowing me to describe its purpose in detail.

Yes, I agree that this might be useful.

The TAB key jumps around with no logical order when editing a single rule.

Is already on the todo list for 3.2.1

Remove tag hierarchies I uses tags such as "tasks/onhold/2016-08-15", "tasks/onhold/2016-09-01" and so on. I'd like to remove such a tag by defining a wildcard. For example, when tag "tasks/now" is applied remove any tag of "tasks/onhold/*". Since the tag contains a mutable value (date part) i see no other way to declare a general rule to this.


I think for the condition part it would be better implemented by adding operators like "has children of" and "has parents of".
For actions, you can remove tag "tasks/onhold" - this will remove child tags as well.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Fri Aug 05, 2016 4:51 pm
by CintaNotes Developer
The present implementation can be extended to support date calculation. Though i admit, this request relates to the support of a start- and due-date. If we'd have a start-date, i could express "add tag 'next_7_days', when start_date - now <= 7". This is a new quality, as 'date' is a mutable value.


Yes. I admit that date calculations would greatly amplify the usefulness of date conditions. However, there's a catch here: such would need to be re-evaluated based on timer, not only upon save. This can be done, but requires a lot of additional code.

At two occasions the keyboard stopped working properly. ESC, TAB and some other keys did no longer work, whereas characters were no problem. I'll have an eye on it.

Thanks for letting me know. Please tell if you are able to come up with a repeatable test case.

I added a rule to be executed for new notes. When i tested the rule it returned "1 out of x will be changed". How can that be?

The "is new" condition return true for notes that have not been modified (have revision = 1). To exclude really old notes here, I also added a additional condition that note should have been created during last 24 hours.

The question "Should the rules be applied now" when exiting the rules dialog has a checkbox "don't ask again". If i check it, what will be the default action next time?

The rules will be applied automatically.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Fri Aug 05, 2016 5:01 pm
by CintaNotes Developer
I have tags such as tasks/now and tasks/next. Now, the two work-flows are possible: When tasks/now is assigned to a note, remove tasks/next. Vice versa a note with tasks/now can be delayed by removing tasks/now and re-assigning tasks/next. I don't think this can be expressed by the current design, as the two work as an opposite. If the rule engine could distinguish between tags that already were present when the note got opened from the ones that got assigned while editing, the feature will become possible.


The rules can only see and operate on what is in the database. This is the current limitation.
Provided the "has child of" operator is implemented, you can do the following:
- If note has "tasks" but doesn't have any child of "tasks", add "tasks/next"
- If note has "tasks/now", remove "tasks/next"

Then tasks/now will have precedence, and to move task there simply add "tasks/now".
To move task back to the pool you simply remove the tasks/now tag.

BTW, my congratulations to the latest release. It was a huge effort i think. I wish to you, that it will give you the benefit, that you expect of it.


Thanks, Thomas! It has given a certain boost, but I guess we need to do more marketing of the feature. Smth like "unique note-taking app that does organizing for you" ;)

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Fri Aug 05, 2016 5:02 pm
by CintaNotes Developer
gustms wrote:Thank you for the update.

Thanks, Gustavo!

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Sun Aug 07, 2016 6:16 pm
by date
CintaNotes Developer wrote:
At two occasions the keyboard stopped working properly. ESC, TAB and some other keys did no longer work, whereas characters were no problem. I'll have an eye on it.

Thanks for letting me know. Please tell if you are able to come up with a repeatable test case.

I thought I had mentioned it before, but it's nothing too serious:
Open rules dialog.
Click the + to open the create rule dialog.
Activate CN's main window.
Try pressing Ins, Tab, etc.
Open a note, try pressing various hotkeys.
(Actually, don't try to press keys, but do press them and see that they won't work as intended ;) )

Close the create rule dialog and it's all good again.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Sun Aug 07, 2016 6:42 pm
by Thomas Lohrum
CintaNotes Developer wrote:The rules can only see and operate on what is in the database. This is the current limitation.
Provided the "has child of" operator is implemented, you can do the following:
- If note has "tasks" but doesn't have any child of "tasks", add "tasks/next"
- If note has "tasks/now", remove "tasks/next"
Then tasks/now will have precedence, and to move task there simply add "tasks/now".
To move task back to the pool you simply remove the tasks/now tag.

That was just a simple use case. However, when using tasks/onhold, tasks/declined, etc. i don't see how to use this. I understand rules work on what is in the database. That's why i'd like to be able to use my suggested extension inside the editor only.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Sun Aug 07, 2016 6:47 pm
by Thomas Lohrum
CintaNotes Developer wrote:Yes. I admit that date calculations would greatly amplify the usefulness of date conditions. However, there's a catch here: such would need to be re-evaluated based on timer, not only upon save. This can be done, but requires a lot of additional code.
I don't think so. This is exactly what i would use "manual" for. It must not be an automatic search. If i could manually trigger the "next_seven_days" search, that would be fine with me. Of course, there must be some rule handling to remove such tags, that no longer fit the filter.

CintaNotes Developer wrote:
The question "Should the rules be applied now" when exiting the rules dialog has a checkbox "don't ask again". If i check it, what will be the default action next time?
The rules will be applied automatically.

So i won't uncheck this box, as i don't want this to be the default behaviour.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Sun Aug 07, 2016 6:52 pm
by Thomas Lohrum
CintaNotes Developer wrote:I think for the condition part it would be better implemented by adding operators like "has children of" and "has parents of". For actions, you can remove tag "tasks/onhold" - this will remove child tags as well.

I did not ask for the conditions part, though this seems interesting. As for the actions, your suggestion does not work for me.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Sun Aug 07, 2016 7:06 pm
by Thomas Lohrum
CintaNotes Developer wrote:
Thomas Lohrum wrote:Option, when to apply a rule. [..] This allows for different workflows. For example a section could be auto-assigned when creating a note, but moved thereafter by hand. The manual option would allow for the suggested "save search" replacement feature.
I understand where you're coming from here, but this would be quite a complication of an already not simple feature, don't you think?

My suggestion is based on ideas to support my usual workflows. So far i have not been able to use rules for something really helpful. I have created two simple rules only, that i actually consider optional. I'm sorry, but so far i was not able to understand how the current rules implementation would give me a personal benefit.

Thomas

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Mon Aug 08, 2016 9:29 am
by CintaNotes Developer
date wrote:I thought I had mentioned it before, but it's nothing too serious:
[..] Close the create rule dialog and it's all good again.


Confirmed bug, thanks! Added to the todo list.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Mon Aug 08, 2016 9:34 am
by CintaNotes Developer
Thomas Lohrum wrote:That was just a simple use case. However, when using tasks/onhold, tasks/declined, etc. i don't see how to use this. I understand rules work on what is in the database. That's why i'd like to be able to use my suggested extension inside the editor only.


The problem is, there's only one rule engine, and it's not available in the editor for unsaved things like "tags-that-are-requested-to-be-added". Also, why tagging a note with middle click should be different in behavior to adding the tag in the editor? Logically these are two identical operations. So you see that literally "only in the editor" doesn't make sense.

Actually, alternatively to rules (which are already complex enough), what you want can be done by a separate small enhancement: adding "children are mutually exclusive" checkbox to tag properties.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Mon Aug 08, 2016 9:43 am
by CintaNotes Developer
Thomas Lohrum wrote:I don't think so. This is exactly what i would use "manual" for. It must not be an automatic search. If i could manually trigger the "next_seven_days" search, that would be fine with me. Of course, there must be some rule handling to remove such tags, that no longer fit the filter.


That's ok, but I guarantee you that people will get terribly confused. Just imagine a simple user: "What, I said notes older than 30 days should be moved to section Old, why is this note still here!!??? [Seaching in help for 30 min] What, you have to run such rule manually?? Great - another thing that I need to remember. Didn't the ad say that it would all be automatic?"

So i won't uncheck this box, as i don't want this to be the default behaviour.

Yes, I find it a problem that when you click on "don't ask again" and then click "No", it will re-ask the next time. The actual user choice should be remembered. We have plans to fix this.

Re: [Ann] CintaNotes 3.2 Final (first official Autotagging Rules release!)

Posted: Mon Aug 08, 2016 9:52 am
by CintaNotes Developer
Thomas Lohrum wrote:I did not ask for the conditions part, though this seems interesting. As for the actions, your suggestion does not work for me.


Indeed, this doesn't work now - oops! - but it should, so this is a bug. I'll fix this :)