Author:


Modifying the default installation

Posted by – September 13, 2012

It is possible to modify the default NoteFrog installation within certain limitations. It requires knowledge of the Windows file structure, administrative priviledges and a willingness and ability to move and modify certain files. We will offer reasonable assistance if requested, but can not be held to supporting every non-standard configuration request.

Following a “Standard” Installation:
“Program” files and location
c:\Program Files (x86)\NoteFrog (Vista/Win7) OR
c:\Program Files\NoteFrog (Windows XP)

  • NoteFrog.exe = NoteFrog program
  • EasyTimer.exe = EasyTimer program
  • recycleDB.exe = Uninstall data clean up utility
  • hunspelldll.dll = spell checker
  • _help.html = used in file exports
  • unins000.dat = data used for uninstalling
  • unins000.exe = uninstaller
  • “Application data” files location

    (You will need Admin privileges to access/view these files/folders)
    For Vista/Win7/Win8
    c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog

    For XP
    c:\Documents and Settings\YourUserName\Application Data\HTConsulting\NoteFrog

  • chime.ogg = EasyTimer chime sound file
  • etbkg.png = EasyTimer window background
  • timer.png = Timer image
  • resources (folder) containing:

  • nf_options.html = Alternate Help Menu HTML
  • nf_rightclick.html = Alternate Help Menu HTML
  • nf_utilities.html = “Help/Utilities” window
  • web.dll = support for exporting HTML
  • command.png = Alternate Help Menu image
  • editbuttons.png = Alternate Help Menu image
  • help_24.png = Alternate Help Menu image
  • itembuttons.png = Alternate Help Menu image
  • rtfbuttons.png = Alternate Help Menu image
  • toolbuttons.png = Alternate Help Menu image
  • help.gif = Alternate Help Menu image
  • CuckooClock.wav = Reminder sound file
  • Frog.wav = clip capture sound file
  • en_US.dic = hunspell dictionary
  • en_US.aff = hunspell dictionary
  • en_US.dat = hunspell dictionary supplement
  • Created in “resources” folder by running NoteFrog the first time

  • NoteFrog.ini = Initialization/preferences data
  • NoteFrog.db = Main NoteFrog notes/data library
  • NoteFrog.a/b/c.log = programs logs
  • Installed In your “documents” folder:

  • NoteFrogv2demo.txt
  • Instructions for Running a “non-standard” installation:

    IMPORTANT:

    The program must be able to find the NoteFrog.ini file and the resources folder. Normally, the ini is created and located in the resources folder.

    The NoteFrog.ini, NoteFrog.db, NoteFroga/b/c.log and optional spell check dictionary (e.g. en_US.dat), must be in a location which the NoteFrog program has write access to. Per windows security restrictions, under Windows Vista/7/8 programs do NOT have write access to the Program folder – e.g. c:\Program Files (x86)\NoteFrog.

    The NoteFrog program, NoteFrog.exe, looks for an ini file and if it doesn’t find one, assumes this is a “fresh” installation and creates one in the default location (the /resources folder – see above).

    The program looks for an ini file per:

    First – The program’s “application data” folder (see above)- Windows default location.
    Second – The program folder itself (a “hold over” from original XP portable installations) – Not desired.
    Third – A “resources” folder within the program folder – e.g. NoteFrog/resources/NoteFrog.ini = preferred portable location.

    It uses the LAST one it finds, or if none is found, creates one in the default (“First”) location.

    It uses the ini file to locate the NoteFrog library database -> NoteFrog.db Thus, if it is unable to locate an ini it will ask you to either locate the database for it, or let it create a new one.

    Editing the ini:
    Be sure to use a “Plain text” editor (e.g. Notepad) and save the file as NoteFrog.ini (Notepad will add a .txt by default unless you’re specific – “save as”)
    All file location references are absolute

    Database = (normal location of the NoteFrog.db file) e.g. “Database = d:/NoteFrog/resources/NoteFrog.db”
    Opened = (if present, this contains the path to a database opened via the NoteFrog “Library” command “Open an alternate Stack Library”)
    If this entry is present, it is used to locate the NoteFrog database. Otherwise, simply leave it blank

    If you are moving the NoteFrog installation to a non-default location, you’ll need to edit the “Dictionary = ” entry to reflect the new location of the dictionary – e.g.”Dictionary = d:/NoteFrog/resources/en_US.dic”

    NoteFrog goes mobile

    Posted by – July 1, 2012

    Thanks to our friends at NoteWindow, NoteFrog now has a mobile read-only access capability for exported stacks. For a more complete description, with an example, visit NoteWindow.

    To access a demo from your mobile device enter bit.ly/nfrog.

    Here’s a brief description on how you can get started.

    The following is applicable for NoteFrogV2.2 and newer.

    Start NoteFrog, if it’s not already running.

    Let’s create a browsable stand alone Stack export.

    Go to the NoteFrog “Stack” menu and select either “Save Active Stack contents in a publishable browser-searchable format…” Or (depending on your setup)”Save Active Stack contents in a Mobile browser format…”

    You will be asked to enter a name for the html file.

    Notefrog will create an HTML file as you specified. Items from the stack will be exported to an html file which you may open and browse using any script-capable browser. Note – the html file contains “script” to allow you to easily search the contents. You will need to “allow” the script/active x content.

    You may move the html file to a “shareable” location – e.g. DropBox, SkyDrive, etc or even a usb and access it via any device capable of accessing/opening html files.

    NoteFrog files and their locations, part 2

    Posted by – April 30, 2012

    In this post we’ll be providing some additional information to the earlier post – “files and their locations” Files and their locations.

    When you install NoteFrog, the NoteFrog and other “programs” (e.g. hunspell, EasyTimer), are installed in your windows default program files location, unless you specify installation to an alternate location. The spell check dictionary is installed in the windows specified NoteFrog application data folder. (something like – c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog )., which happens to be a “hidden” location. We didn’t pick these locations, these are the Microsoft recommended standard locations for present and future Windows compatibility.

    When it starts, NoteFrog searches for a NoteFrog.ini initialization file. It looks first in the NoteFrog program directory. If it’s not found there, it looks in the default windows application data folder for NoteFrog. If an initialization file is found, it uses information from the ini to locate the NoteFrog library and set various user specified defaults.

    If no initialization file is found, NoteFrog issues a message telling the user it was unable to locate any previous NoteFrog installation and asks you to specify a location for the Library. Unless you have a reason to locate the library somewhere else, accept the default location which is the windows specified NoteFrog application data folder. The NoteFrog initialization data will be located in the windows specified NoteFrog application data folder regardless of your specification for the Library location. On each subsequent run of the application, NoteFrog will use the initialization data from the ini file.

    For a normal user, this installation configuration should work fine. New installations will find the ini and the NoteFrog library/database and use them.

    Deviating from the standard installation and/or modifying the configuration is possible, but may lead to unforeseen problems on future installations unless care is taken.

    We’ve had users in “modified” environments ask why a fresh install didn’t “clear everything up”.

    To answer that, we need to understand the nature of any environmental changes they had made and also what might be expected by “clear everything up”. Since we can’t cover every possibility, we’ll discuss a general case and explain how NoteFrog functions.

    Let’s say a user decides to upgrade to NoteFrog version 2, but wants to maintain their version 1 installation “just in case”. They run the setup_NoteFrog and specify a new directory to install into, let’s say c:\Program Files (x86)\NoteFrog2.

    When they run NoteFrog from the NoteFrog2 folder location, it will check to see if there’s an ini file in a “resources” folder within the program location directory (this would have been for portable installations, NOT for a c:\Program Files installation), since there is none, it next checks to see if there’s an ini in c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog\ where it should find the existing version 1 ini and continue using information from that ini (including using the existing database referenced in the ini).

    The use of the existing ini – database is for release to release compatibility. We want each new release to continue using data from the previous install. You wouldn’t want to have to start over with each new installation.

    As long as there’s an ini – database combination in c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog, a new installation will use them, thus a fresh install doesn’t clear everything up – unless the previous installation is completely uninstalled, which removes c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog and it’s data.

    If you’re adventurous or maybe want to run in a “stand alone – portable” environment, you may modify the environment per the blog post referenced above Files and their locations. This allows you to run NoteFrog from a single directory structure (as long as it’s not c:\Program Files or one of it’s variants). If you decide to do this, some of the responsibilities of program file location become yours.

    We’ll talk about those in a future blog post.

    Getting started

    Posted by – April 27, 2012

    We’ve added a “Quick Start” selection to the NoteFrog index webpage NoteFrog Features/use. Please note that it is applicable to NoteFrog version 2 only since it utilizes features new to version 2.

    Try it out and let us know what you think.

    Version 1.9.3 released

    Posted by – February 26, 2012

    Since not everyone will participate in the version 2 Customer Preview, we’ve released version 1.9.3 which corrects two issues present in prior 1.9 versions.

    The code for Hotkeys was being translated incorrectly, thus a setting of ctl+O was being interpreted as Shift+O.

    The “Start with Windows” option setting was not persistent from one run to the next.

    In version 1.9.2 it was possible to start NoteFrog with invalid screen coordinates. This should correct that issue.

    This should complete the NoteFrog version 1 release series.

    NoteFrog and the clipboard

    Posted by – January 28, 2012

    We envision NoteFrog as a Notes keeper and not a clipboard extender (since most people already have their own “favorite” clipboard tool). The primary purpose for NoteFrog having automatic clipboard capture capability is to allow you to easily capture a series of clips as notes. Some people do use NoteFrog as a clipboard extender – turning clipboard capture “on” each NoteFrog session. They then capture everything and periodically move/copy the clips they want saved permanently, into a separate stack. This mode, where most clips probably won’t become Notes, and will likely be discarded, using “trash” as the active stack, facilitates easily “cleaning/removing” the unwanted clips, but does require setting clipboard capture to “on” each session.

    So, why does NoteFrog, or any other clipboard collection program, sometimes stop capturing clips?

    As stated above, NoteFrog is not intended to be a clipboard utility, but rather make it somewhat easy to capture content from the clipboard. It should* never fail to collect clips when used as intended – capturing a clip(s) on demand via a hot-key or direct capture command. It will also function perfectly in clip collection mode as long as all other programs in the collection chain “play fair”.

    (The discussion below applies to the Windows clipboard, pre-Vista. When we no longer have to support XP based systems, we won’t have to worry about a “broken” clipboard chain although it is still possible that clipboard data be unavailable – see below)

    The windows clipboard works like a game where the person on your left passes you a note and you read it and pass it along to the person on your right, etc.

    What happens if someone doesn’t pass the message along or if someone quits but doesn’t tell the person ahead of them who to pass to now? (Or if you kill a program and they don’t get a chance to tell the person who to pass to)?

    Assume there are no applications in the clipboard “chain”. Application A joins and the chain appears as follows:

    -> A (“Windows” tells A when there is a new clip)

    Application B then registers to join the chain. When it does so, it gets told who was previously at the front of the chain, and it is responsible for storing this information. The chain is now:

    -> B -> A (“Windows” tells B when there is a new clip. B passes the info along to A.)

    Lets have C and D join as well (in that order). The chain is now:

    -> D -> C -> B -> A

    Now, assume some text is copied to the clipboard. The system looks at who is at the front of the viewer chain and notifies them of the clipboard update. In this case it is D. D does what it needs to and then looks up who is next in the chain by referring to some information it has stored away somewhere. This is where problems can arise. If D is a badly written application (they do exist), then it might not have stored who was previously at the front of the chain when it joined (or maybe there is a bug and it gets the wrong information), and as a result C will not be notified of the update. Hence, we have a broken viewer chain, that means C, B and A are not told that the clipboard was updated.

    Assume that the viewer chain looks as follows:

    -> D -> C -> B -> A

    B decides that it is time to leave the chain. So, it tells the system that it wants to be removed from the chain. The system then sends a message to the window at the front of the chain which says something like:

    Remove B from the chain. A should now take B’s place in the chain.

    Since D is at the front of the chain, it checks to see if B follows it in the chain. If not, it passes the message on to C. C sees that B follows it in the chain, so it updates its internal structures and now records A as following it in the chain. The chain is now:

    -> D -> C -> A

    Of course, this removal process is prone to failure. Say D did not pass the deletion message on. The chain remains as:

    -> D -> C -> B -> A – (notice A is NOT receiving messages, since B has been removed)

    But, when C tries to send the clipboard update notification to B what will happen? If B has exited then A will not get the notification. If B has not exited it might choose to ignore the notification as it has no obligation to pass it on since it is not part of the chain. Hence, we have a broken chain and A will most likely not be notified of clipboard updates.

    Now, imagine that B decides to rejoin the chain. Then we will have:

    -> B -> D -> C -> B -> A

    This is actually:

    -> B -> D -> C -> B -> D -> C -> B . . .

    In other words, we have a loop in the viewer chain. Not only will A not be notified of updates, but the update notification will spin between B, D and C continuously!

    There is no easy way to fix this dilemma, since there’s no easy way to determine who are all the participants in the chain – you only know the person before and after you.

    For the most part, “fixing” the chain, doesn’t really fix it, it merely recreates it with the program doing the fix placing itself at the front of the list. This MAY be a fix, depending on the makeup of the chain, but more likely it “fixes” the chain for that program only. There’s no guarantee it fixes it for everyone.

    So yes, a program (NoteFrog) can periodically move itself to the front of the chain. But that will still leave a possible mismatch between NoteFrog and other programs in the chain.

    *It is also possible for a program to “hold” the clipboard so NO other program may get data from the clipboard. In that case, even refreshing the clipboard chain is not a solution, you must find the problem program and kill it. Or, when all else fails, reboot.

    User forum registration

    Posted by – January 21, 2012

    We’ve created a NoteFrog forum.

    You’ll need to register (attempting to prevent spammers/bots).
    Here are answers to the registration question(s)
    Q “List two of the three primary colors of the NoteFrog avatar” Ans. green black OR green yellow OR black yellow
    Q “What menu selection is between Item and Registration” Ans. Options
    Q “What is the leftmost menu titled?” Ans. library
    Q “What is the parent company of NoteFrog (top of page – starts with htc)” Ans. htconsulting

    If there’s something you want to discuss/report/etc, join us there.

    Version 2 files and their location

    Posted by – January 21, 2012

    We’ll add more detail, but for now:

    What’s where?
    c:\Program Files (x86)\NoteFrog (Vista/Win7) OR
    c:\Program Files\NoteFrog (Windows XP)

      NoteFrog.exe = NoteFrog program
      EasyTimer.exe = EasyTimer program
      recycleDB.exe = Uninstall data clean up utility
      hunspelldll.dll = spell checker
      _help.html = used in file exports
      unins000.dat = data used for uninstalling
      unins000.exe = uninstaller

    c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog (Vista/Win7)
    c:\Documents and Settings\YourUserName\Application Data\HTConsulting\NoteFrog (XP)
    (You will need Admin privileges to access/view these files/folders)

      chime.ogg = EasyTimer chime
      etbkg.png = EasyTimer window background
      timer.png = Timer image

    resources (folder) containing

      nf_options.html = Alternate Help Menu HTML
      nf_rightclick.html = Alternate Help Menu HTML
      nf_utilities.html = “Help/Utilities” window
      command.png = Alternate Help Menu image
      editbuttons.png = Alternate Help Menu image
      help_24.png = Alternate Help Menu image
      itembuttons.png = Alternate Help Menu image
      rtfbuttons.png = Alternate Help Menu image
      toolbuttons.png = Alternate Help Menu image
      help.gif = Alternate Help Menu image

      CuckooClock.wav = Reminder sound
      Frog.wav = clip capture sound

      en_US.dic = hunspell dictionary
      en_US.aff = hunspell dictionary
      en_US.dat = hunspell dictionary supplement

    Created in “resources” folder by running NoteFrog

      NoteFrog.ini = Initialization/preferences data
      NoteFrog.db = Main NoteFrog notes/data library
      NoteFrog.a/b/c.log = programs logs

    In your “documents” folder:
    NoteFrogv2demo.txt

    Want to run NoteFrog from a USB?
    (Note: Database/Library access will be much slower than running from a hard drive)
    Create a folder (NoteFrog or whatever) on the USB
    Copy all files/folders from the above locations into the folder)
    You MUST edit the NoteFrog.ini to reflect the new location for:
    Database =
    Opened = (if present)
    Dictionary = (if you want to spell check)

    Be sure to use a “Plain text” editor (e.g. Notepad) and save the file as NoteFrog.ini (Notepad will add a .txt by default unless you’re specific – “save as”

    Personalization

    Posted by – December 30, 2011

    Personalization
    Indifferent to (or upset by) the default NoteFrog colorscheme? You can personalize the NoteFrog colorscheme to one of your liking via “Options – Colors”.

    Personalized NoteFrog window

    Or with a “trick”

    NoteFrog personalized blue color scheme

    Got one you really like? Send it to us and we’ll publish it.

    Version 2 release notes – draft

    Posted by – December 28, 2011

    NoteFrog Version 2 will not be a “features” release, but rather a “new foundation” release. Version 2 release 1 will look, and function, much like Version 1.9. Features will be added once we have the new foundation in production.

    That said, version 2 does contain some changes and features a somewhat new look.

    NoteFrog V2
    Command Box
    Command area

    As you can see, we’ve streamlined the function/edit/tool button area and added a “command” box, which can be used to effect any of the button changes via a command/text entry, e.g. “new”, “bold”, “copy”, etc. You may access the command box via the F10 key. You may see a list of available commands by entering a ? in the command box.

    Alternate Menus with incorporated “Help”
    StackHelp

    We’ve added an alternate menu capability, available as a selection from the normal windows menus, which include the functionality of the normal menu selections, but also include help via “?” mouseover buttons.

    Text file import
    We’ve added the capability to import a directory of text files (.txt and/or .rtf) into NoteFrog, with each text file creating a new item in the current active stack.

    Image display
    Captured images are now displayed in natural image format whereas in release 1 they were displayed as a rich text rendition of the image.

    Sounds
    Some of you requested the ability to change the default sounds for clip capture and reminders. All sounds are now external to the NoteFrog executable and are stored in the Microsoft recommended standard location which is a “hidden” system application data folder on your windows system drive.

    For windows XP the location is – system drive:\Documents and Settings \”user name”\Local Settings\Application Data\NoteFrog\resources

    For Vista/Windows 7 – system drive:\users\”user name”\appdata\roaming\HTConsulting\NoteFrog\resources