Saturday, February 16, 2013

Notecase Pro v3.7.8. has just been released

Notecase Pro v3.7.8. desktop edition has just been released.
Downloads are now available at

Major changes in this release:
- initial implementation of document syncronization feature, currently only for desktop (marked "experimental", read more below)
- to help with debugging, there is new menu item "Help" > "Send Debug Info" allowing you to send current internal program log to the program author (thus making the script "28_WriteActionLog.lua" obsolete)
- options to change text/text background color now also work when there is no text selected in the Text Pane (before they were applicable only to text selection)
- "Remove Formatting" option now also works when there is no text selected in the Text Pane (before it was applicable only to text selection)
- improve Freemind format import to add support for newer "richcontent" tag (note contents)
- Lua method Nc_Env_Clipboard_Get got new parameter to choose between text and HTML clipboard format
- reintroduce the feature to show full document path in the main window title (optional, true by default)
- formatting of the clone title should be independent of original note
- support installing license key files by just double-clicking to it (this reqires renaming to .nckey extension, because .key is reserved for Keynote program on Mac)
- add parser support for line breaks in XHTML style

- updated GTK for OS X to the latest stable version 2.24.13
- store SHA1 hash value for each note attachment in the document
- store SHA1 hash value for each note content (plain text part) in the document
- new Lua method to query hash value of the note attachment (Nc_Note_Attach_Hash_Get)
- new Lua method to query hash value of the plain text note content (Nc_Note_ContentText_Hash_Get)
- new Lua method to query hash value of the html note content (Nc_Note_ContentHtml_Hash_Get)
- new Lua method to calculate SHA1 hash for the custom input string (Nc_Util_SHA1_Hash)
- fix: improve typing speed when typing fast within the big notes (20% faster code)
- fix: restoring from tray item had issues on Linux Mint 14
- fix: Auto-save progress window should not appear if the NoteCase window is not active one
- fix: prevent possible crash when adding huge attachments (1GB file or more)
- fix: program crash when trying to open a file from 'recent used' option in the open dialog file
- fix: Nc_Note_Content_Get method started to return full HTML (with "" tags) since last release (reverted)
- fix: Nc_Script_DocID_Get method can return -1 if two scripts are running at the same time (one script triggering event handler with another script attached to it)
- fix: few toolbar buttons cause program crash when put to custom toolbar (fix requires recreating those toolbars)
- fix: crash when dragging the note from the Tree Pane and trying to drop it onto the tab belonging to some other document (that action is not supported)
- Croatian translation updated
- Chinese Traditional translation updated (work by Richard Sun)
- Romanian translation updated (work by Alexandru Bogdan Munteanu)
- Polish translation updated (work by Kamil Dembkowski)
- German translation updated (work by Marcus Hennig)
- help file redesign and update (work by Daniel Hertrich and Paul Merrell)
- other bugs fixed

For a complete list of changes in this release, see change log at:
Thanks to everyone who helped during this cycle.

                                    DOCUMENT SYNCHRONIZATION


As you could read the major new feature in this cycle is document synchronization.
It works by introducing two new separate programs: NcSyncServer and NcSyncAdmin.

Server is a key component of the new sync feature, it is used as a central point that merges differences between multiple versions of the same document file.
Each NoteCase Pro program instance acts as a client and connects to sync server to have the currently opened file synchronized to the latest version.
There should be only one server started for your own personal "private cloud".

So to use this feature, you need to start the NcSyncServer program and keep it running in the background all the time.
Then you can use NcSyncAdmin to login to sync server as administrator and create additional users (user name and password) that can use sync feature.
Default sync "admin" password is "notecase", you are advised to change it after the first NcSyncAdmin login to improve the security of your system.

After creating users, you can close the admin and start using the feature. Within NoteCase Pro you need to insert your server connection details (last page of "General Settings" window):
- server name (equals to "localhost" if running the server on the same machine, else use correct server name or IP address)
- server port (equals to 57201)
- sync user name and password (as defined by sync admin)
Then you can test if the system works correctly by pressing the button named "Test Connection".

Once you've setup your sync settings, you can start using synchronization through the "File" > "Synchronization" submenu.
For example to synchronize currently active document, just activate "Sync Document" menu item.
To synchronize all currently open documents, just activate "Sync All Documents" menu item.

The first time you synchronize some document, its full contents are being uploaded to the sync server.
The next time you sync the same document, only subsequent changes are being exchanged between the server and the client (Notecase Pro).
Synchronization is a two-way process, your changes will be sent to server, but also you may receive some changes done by others from the server.

In order to make sure what changes are being applied to the document, Sync Summary window will be presented before each synchronization action.
In it, every change is listed and marked with check mark. If you choose to remove the check mark in front of some change, that change will not be applied.
You can also cancel entire operation from within this window.

You can find detailed instructions in the help file.

Warning: Document Synchronization is NOT ready for production use in this release of NoteCase Pro. This was a major undertaking and there may be bugs. You are encouraged to use it for testing though, I hope to get valuable input on how to improve the feature.

Additionally, in the current release not all note property changes are synchronized. The following changes are synchronized:
    - Note or branch insertions
    - Note or branch deletions
    - Moved notes
    - Note title changes
    - Note content changes
    - Attachments added
    - Attachments deleted

The following changes are not yet synchronized but should be in the next release:

    - Changes in global document settings and custom properties
    - Changes in custom properties, both global and note custom properties
    - Changes in note properties such as: done, read-only, is_template, icon, note title formatting, syntax highlighting language setting
    - Changes in note custom properties
    - Changes in note tasks
    - Changed note tags

In the next development cycle, I also plan to add support for syncing to Android platform as well.

************** IMPORTANT NOTE **************
My plans are to deprecate Sharp Zaurus, PCLinux 2007, Slackware 12.2, Fedora 14, Fedora 16, Mageia 1, Mint 12, Ubuntu 11.04 and Open Suse 12.1 builds.
So let me know if you use any of those and you want to keep them alive.


PS. Will create several remaining builds by the end of the weekend.