GimmeNote

General Information

GimmeNote is an Outlook VSTO plugin written in C#. It enables users to add notes to mail and appointment items. GimmeNote is designed to work with your primary (default) mailbox, which must be an Exchange account. IMAP and POP3 accounts do not support categories. Creating notes should also work on secondary accounts (even IMAP and POP3) while flagging notes may not work on those mailbox types.

Installation

Make sure that you have a working internet connection before you run setup.exe. The setup bootstrapper will download required components from the internet if necessary.

GimmeNote can write essential log information to the application event log. However, it cannot create the log source due to missing administrative rights. The log source can be created manually by running following Powershell command from an elevated Powershell window:

New-EventLog -LogName "Application" -Source "GimmeNote"

Since version 2.2.0.1 it’s no longer necessary to manually add configuration settings before GimmeNote runs the first time, unless you want to change some default settings (i.e. Category names). Refer to Configuration and Settings below to see which options need to be set before first run.

Update

GimmeNote will check for upates on a bi-weekly basis. Once a new version is published to https://technet.blogs.ms/apps/gimmenote it will be downloaded and installed silently in the background.

Configuration and Settings

Configuration is done within the HKCU\Software\GimmeNote registry key. Some configuration settings are best to be set before the Add-In starts for the first time, respectively before the first note is created. Please note that setting changes require a restart of Outlook to take effect.

Following registry values can be configured.

Name
Type
When
Description
NoteApplication
REG_SZ
Before creation of the first note
Contains the full path to the .exe file of the desired note editor. If this value is not set Wordpad is used as a default editor.
Name
Type
When
Description
NoteApplicationArguments
REG_SZ
Before creation of the first note
Contains the command line options to open the note file. The full path of the note file is stored in the %NoteFile% variable and can be used in this setting.
Name
Type
When
Description
NoteExtension
REG_SZ
Before creation of the first note
Contains the extension (i.e. .docx) of the note file.
Name
Type
When
Description
NotePath
REG_EXPAND_SZ
Before first start of Add-In
This is the path where all the note files are saved to. This path also contains the log file (if enabled). The directory is created on the first start of the application. If this value is not set, the default value is %localappdata%\GimmeNote.
Name
Type
When
Description
CreateFile
REG_DWORD
Before creation of the first note
Value can be 0 (do not create file) or 1 (create file, default). If set to true (1), the note file is created as a null-byte file, before the note editor is started. This could be necessary because some editors throw an error if the file, specified in the command line arguments, does not exist.
Name
Type
When
Description
Category
REG_SZ
Before first start of Add-In
Specifies the name of the category of mail-bound notes. Default is “GimmeNote”.
Name
Type
When
Description
CategoryThread
REG_SZ
Before first start of Add-In
Specifies the name of the category of conversation-bound notes. Default is “GimmeNoteThread”.
Name
Type
When
Description
CategoryColor
REG_DWORD
Before first start of Add-In
Specifies the category color for mail-bound notes. A list of possible values can be found here (https://docs.microsoft.com/en-us/office/vba/api/outlook.olcategorycolor). Default value is 19 (Dark Yellow).
Name
Type
When
Description
CategoryThreadColor
REG_DWORD
Before first start of Add-In
Specifies the category color for conversation-bound notes. A list of possible values can be found here (https://docs.microsoft.com/en-us/office/vba/api/outlook.olcategorycolor). Default value is 18 (Dark Peach).
Name
Type
When
Description
AutoFlag
REG_DWORD
Any time
Value can be 0 (false, default) or 1 (true). When set to true, mails are automatically flagged (categorized) when a note is created or un-flagged (remove category) when a note is deleted. This value can also be changed with the ribbon checkbox at runtime.
Name
Type
When
Description
HideSubjectInFileName
REG_DWORD
Before creation of the first note
Value can be set to 0 (false, default) or 1 (true). If set to true, the note file name is constructed as a 64 char SHA256 hash of the EntryID of the mail. When set to 0, the 64 char hash is cut after 16 chars, followed by the mail subject.
Name
Type
When
Description
SubjectLength
REG_DWORD
Before creation of the first note
This value specifies the max value of chars of the mail subject to be used for file name. Default is 52. Only valid if the setting HideSubjectInFileName is set to false (0).
Name
Type
When
Description
MainThreadSleepInterval
REG_DWORD
Any time
When shift-clicking or ctrl-clicking a ribbon control it appears that process windows are hidden behind Outlook (Outlook remains in the foreground). A workaround has been implemented to wait a few milliseconds until the editor finished drawing the window frame. After the specified amount of milliseconds the editor window is brought to foreground. If it appears that the editor is open in background, increase this value slightly. Default is 500.
Name
Type
When
Description
Topmost
REG_DWORD
Any time
Value can be set to 0 (false, default) or 1 (true). If set to true, the editor remains the topmost window until it is closed.
Name
Type
When
Description
BindToConversationRoot
REG_DWORD
Before creation of the first conversation note
Value can be 0 (false, default) or 1 (true). If set to true, the first mail item of a conversation (Convesation Root) is flagged when a thread note is created. Otherwise, the selected mail item gets the flag.
Name
Type
When
Description
EnableLog
REG_DWORD
Any time
Value can be 0 (false, default) or 1 (true). If set to true, a GimmeNote.log file is created in the note path.

Configuration Examples

Set OneDrive as default note path (recommended to support “roaming”)

Open the registry editor and navigate to “HKEY_CURRENT_USER\Software\GimmeNote” (create the key if it doesn’t exist). Create an “Expandable String Value” named NotePath with the path to your local OneDrive directory as content. You can use variables like in the example below.

For most users the value C:\Users\%username%\OneDrive\Documents\GimmeNote should work.

Following examples can be copied to a .reg file and imported into the registry.

Use Word as the default editor:

[HKEY_CURRENT_USER\SOFTWARE\GimmeNote]
"NoteApplication"="C:\\Program Files\\Microsoft Office\\root\\Office16\\WINWORD.EXE"
"NoteApplicationArguments"="%NoteFile%"
"CreateFile"=dword:00000001
"NoteExtension"=".docx"

Enable verbose logging (enabled by default since v2.2.2.0).

[HKEY_CURRENT_USER\SOFTWARE\GimmeNote]
"EnableLog"=dword:00000001

Use the 64 char SHA256 hash value as file name (subject is no longer visible in file names).

[HKEY_CURRENT_USER\SOFTWARE\GimmeNote]
"HideSubjectInFileName"=dword:00000001

Version History

v1.0.0.0 –
v1.2.0.1
  • Brick-building versions
v1.3.0.0
  • Added the option to preset values in the registry. An example .REG file is attached.
  • Changed the temporary VS cert to an official code signing certificate.
  • Added a ribbon button to manually flag/unflag mails.
  • Added the option to define a couple of values in the registry.
v1.4.1.0
  • Added the auto-flag option. Mails automatically get flaged (categorized) when a note is created and unflaged when a note is deleted.
v1.5.0.0
  • Changed the way the file name is created. It now shows the first 52 characters of the subject followed by an 8-byte hash. This makes it easier to assign files to mails visually.
v1.6.0.0
  • Added option to revert to old file name behavior to hide the subject in the file names.
  • Implemented logging functionality.
v1.7.0.0
  • Changed the file names. The 8 Byte hash value now goes first (sorry, this was the last time, promised), followed by “-M” for single mails and “-C” for conversation mails.
  • Added the option to enable the log file (disabled by default).
  • Added context menu items in mail explorer.
  • Added the option to create conversation notes by SHIFT-clicking the “Open Note” button. All mails within the conversation share the same note. Conversation notes need to be deleted holding SHIFT while clicking the “Delete Note” button.
  • Fixed a bug, where GimmeNote disappeared from home ribbon on subsequent Outlook starts.
v1.7.1.0
  • Cosmetical changes. Re-positioned GimmeNote buttons after the “Categorize” ribbon menu.
v2.0.0.0
  • Added a checkbox to the ribbon group to enable/disable auto-flag (initial value can still be set via Registry item “autoFlag”).
v2.0.1.0
  • Added an option to set a custom color for GimmeNote categories.
v2.0.2.0
  • Added an option to flag the first mail of a conversation instead of the highlighted mail (BindToConversationRoot).
  • Added an option to copy the mail body to the note file by holding the CTRL key when clicking on Open Note. This only works when notes are first created and note file extension is .RTF or .TXT.
  • Added an option to set defined editor as topmost window.
  • Added a debug option: Clicking SHIFt+CTRL+ALT+”Flag Mail” shows the current version of the Add-In.
v2.0.2.1
  • Added a debug option: Clicking CTRL+ALT+”Flag Mail” dumps all mail properties of the highlightd mail item to the debug log file.
v2.1.0.0
  • Added a reference file to the note path, which references file name to mail entry ID. This is for future use (i. e. re-flag all mails).
  • Fixed a bug, which could cause Outlook to crash on closing.
v2.2.0.0
  • Complete code review.
  • GimmeNote now supports adding notes to appointments and meetings. Flagging only works with appointments but not with appointment series, meetings or meeting series.
v2.2.0.1
  • Fixed a bug where GimmeNote did not create/open notes for items, which do not contain an RTF body (plain text e-mails).
  • GimmeNote now automatically adds the recommended settings on first run.
v2.2.1.0
  • Fixed a bug causing Outlook to crash if a note was still open with Notepad++ while closing outlook.
v2.2.2.0
  • If notePath is not set in the registry, following defaults will be used (in that order)
    • Installation directory
    • %localappdata%\GimmeNote
  • Debug log is now enabled by default (fresh installs only). It is located in the application installation directory. If the installation directory is not writeable for users (i. e. Program Files), make sure to enable the event logging by creating the log source (see section Installation above).
  • Binaries and installer are signed now to avoid warning messages during installation.

Know Bugs and Issues

Slow Start

When starting Outlook after GimmeNote has been installed for the first time, Oulook may deactivate the Plug-In because of a slow start. Outlook is designed to disable all Add-Ins taking more than 500 ms to start. Following items aid and abet the slow start of GimmeNote:

  • Outlook is coded in .NET. I some cases it could take more time to initialize the .NET Framework.
  • At the moment of writing, GimmeNote is still compiled with the Debug profile, which can cause a slower application start.
  • When the Add-In is started for the first time, it creates folders, files and registry keys.

To solve the issue, simply click View More Details in the screen below.

In the Disabled COM Add-Ins window click Always enable this add-in.


Note editor opens in the background

When opening a note while holding SHIFT (conversation notes) or CTRL (paste mail body) it appears that the editor is opened in the background (behind the Outlook main window). The experimental configuration item MainThreadSleepInterval can be used to set a timeout value before the window is brought to the foreground. Some times it helps when this value is increased to 750 – 1000. The values specify milliseconds.

 

 

Download the current vesion of GimmeNote


Posted

in

by

Tags:

Comments

Leave a Reply