Header image San Francisco, California
USA

Elare Plugin Framework

Object-oriented framework for Lr plugins, along with plugin generator/releasor plugin.

Featuring:

System Requirements

 

Quick Links (intra-page)

Background and Scope
Screenshots
Plugin Manager Configuration
FAQ (Frequently Asked Questions)
Download

See the readme file after downloading for usage and other notes.

 


Elare Plugin Framework - Screenshots

Example section at top of plugin manager dialog box:

All plugins using the Elare Plugin Framework can have none or more of these items...

 

Debug:

This is mostly for plugin author during development, but can be used by user under the guidance of the plugin author to troubleshoot particularly pesky problems.

 

Preset Manager:

Plugins that have use for more than one set of presets, have a preset manager.

 


Background and Scope of this document

The elare plugin object framework is a project started by me, that was intended to have contributions by a multitude of plugin authors. Although several plugin authors have contributed information, so far only John R. Ellis (loader & debugger +delayed-progress-scope) and I (everything else) have contributed source code. This document is intended for users of plugins based on the elare framework (e.g. user interface provided by framework, and such stuff...). Technical documentation for developers is provided at the assembla hosting site - see bottom of page.

 

Definitions (for the purposes of Elare Plugin Framework)

Preset Elare plugin framework supports sets of preferences as presets. Its conceptually kin to Export presets, except its for plugin manager configuration, not export configuration.
Un-named preset The ever-present set of presets that have no name. This set can be modified, but not be deleted. Note: @2011-08-25, the advanced settings corresponding to the un-named preset can *not* be edited.
Named preset An additional set of presets created by the user and given a unique name.
Advanced Settings Settings corresponding to a preset, whose values come from a text configuration file, instead of the Lightroom preference store. EPF is designed so that a plugin author can start with preferences in a file, and gradually migrate to preferences in the plugin manager UI, without changing the code that uses those preferences.
Preference Backing File The file that stores advanced settings.
Text Configuration File A synonym for 'preference backing file'.
Preset Manager The section of the plugin manager UI dedicated to creating, deleting, and switching presets.
   

 

Plugin Manager Configuration

The following settings are available to all plugins that use the Elare Plugin Framework.

Top section:

Donate What actually happens is governed by the individual plugin, but for all my plugins so far, it takes you to a web page having donating links. Please consider donating if you appreciate having my plugins to use.
Reset Warning Dialogs Ya know those dialog boxes with the "do not show again" boxes - well this is how you get them to show again - all of them.
Check for Update Consults the web for version number of latest and greatest, and compares it to version number of plugin - you will be notified of the result.
Update Plugin

New @2011-08-25: Initial installation of plugin is via the plugin manager 'Add' button, but subsequent updates are best handled using this button. It is not necessary to use this button for updating a plugin, but it has some advantages:

  • Assures preference backing files are migrated to updated plugin.
  • Assures adaptive plugins (those with autogenerated modules for things like plugin metadata and tagsets) do not lose the definition of metadata, tagsets, or other modified plugin files (so they do not need to be regenerated after each update).
  • Last and arguably least: Won't let you select an invalid plugin folder when attempting to update a plugin.

What it does:

  • Copies most plugin files from downloaded plugin folder to Lightroom's "modules" folder. Those excluded are those that will be provided instead by previous instance of plugin.
  • Copies special plugin files from present instance of plugin to updated plugin - e.g. preference backing config files, and for some plugins: auto-generated plugin files.
  • Deletes all extraneous plugin files if there are any, e.g. obsolete plugin files, debug log files from previous version... Note: if you have added files you want to keep, then turn on verbose logging before updating and you will have the opportunity to approve list of files to be deleted before they are (deleted).
  • Renames the previous instance of the plugin (lrplugin folder-name), if it was a first-time install (i.e. Added via plugin manager, and *not* in Lightroom's "module" folder). This effectively un-installs the initial version of the plugin, so it does not conflict with the updated version.

Note: plugins updated in this fashion can not be removed using the plugin manager's 'Remove' button (that's what the 'Uninstall' button is for - see below).

Note2: If you prefer having your plugins in Lightroom's module directory from the start (after initial install via 'Add' button in plugin manager), then click the 'Update Plugin' button and select the plugin you just installed and it will be moved to Lightroom's modules folder.

View Logs Opens .log file in default app.
Clear Logs Deletes .log file.
Report Problem Displays log file contents in a text field, so you can copy it to the clipboard. Then opens mailto link using browser. Note: this does not work on all systems, e.g. if you use web-based emailer by default. I'm presently working on a better solution.
Check for updates upon startup A good option if you are always connected to the internet when you open Lightroom, and you like your plugins hot-off-the-press.
Verbose Logging

Two-fold:

  • Adds more info to the log file, which may or may not be valuable to you, but will certainly be valuable to me for inclusion in problem reports.
  • Enables additional debug logic in plugin, which may slow it down a trifle, but can help identify problems.

Note: because the log file can grow quite large when verbose logging is enabled, its best not to leave it enabled for long periods of time, under normal circumstances.

Uninstall

"Removes" plugin that has been updated using the 'Update Plugin' button (above). What it does:

  • Removes plugin from Lightroom's "modules" folder.
  • Prompts you to remove all preferences associated with the plugin: only do this if you don't plan to re-install the plugin anytime soon.
  • Prompts you to restart Lightroom.

Note: if plugin has *not* been updated using the 'Update Plugin' button, then just use the plugin manager 'Remove' button to unistall.

 

Debug: (this section normally not tinkered with by user).

Reset Selected Warnings Allows you to selectively enable "do not show" warnings.
Enable Advanced Debug Go ahead and play with it if you're curious, but normally this is only used under guidance of plugin author.
Clear Log Deletes debug log file.
Show Log Opens debug log file in default app.
Debug Script Can be used for running scripts assigned to menus, and such stuff.
Debug Options Set text editor to be used when debug breakpoints are hit...
Restrict debugging to selected classes only Some debug statements supercede this, whereas others will only be effective if explicitly enabled for the class.
"debug classes..." These are the plugin classes that have registered for class-restricted debugging.
User Some plugins have user-specific behavior programmed in. For example, I have some things set up differently for myself than for the default "anonymous" user.
Lightroom toolkit ID from Info.lua

 

 

Preset Manager:

Preset Name

If blank, settings are those of the "un-named" preset. Enter a name to create a new set, or if set already exists with that name, to switch to it.

Select Preset Useful for switching between sets. You can also just enter the name of an existing set above.
Delete Preset Deletes the presently selected (named) preset - will not delete the default (un-named) settings.
Load Defaults Resets the presently selected preset to factory default values.
Edit Advanced Settings Opens the plugin configuration file (corresponding to the preset selected) in a text editor - there are instructions inside the file. This button will be disabled if you haven't entered a preset name. To remedy: enter a preset name, or select a pre-existing (named) preset. After editing advanced settings, be sure to reload them by clicking the 'Reload Advanced Settings' button, or reloading the plugin.
Reload Advanced Settings Plugin doesn't know when advanced setting edits are complete, so you need to "tell" it. Click this button after editing advanced settings (or just reload the plugin).

 

 

Elare Plugin Framework FAQ (Frequently Asked Questions)

(no particular order)


These FAQs come partly from users, and partly from my imagination. Please let me know if there are errors or omissions in this FAQ - thanks.

NOTE: The following Q&A's assume that the plugin is working as I expect... If, after your best effort, still "no go", please let me know.


Question: Why do I care about Elare Plugin Framework?

Answer: You may not, but I've chosen to dedicate a page for it, so that all plugins that use it can reference this page, instead of replicating its content on their page.


 

Download

The Elare Plugin Framework is offered for free (Artistic License 2.0).

Elare Plugin Framework and Plugin Generator/Releasor - hosted at assembla.com.

 

Static content updated 2011-08-05 Copyright 2007 - robcole.com - all rights reserved. Dynamic content updated 07:20:23 PM