Contents |
---|
Skins extend the way jAlbum presents albums. Plugins extend the jAlbum application itself. Here is how it works and how you make your own extensions using jAlbum's Plugin API.
We're talking about "extensions" and "plugins" here so we'd better explain the terminology: A plugin is a certain type of jAlbum extension that implements the JAlbumPlugin interface. All jAlbum plugins are therefore extensions, but not all extensions are plugins. An extension is a way of packaging code so jAlbum can install it with a simple double-click just like skins are installed. You could for instance package a jAlbum image filter as a jAlbum extension for easy installation.
Being Java code, a plugin can do virtually anything you can do in Java. A plugin is able to interact with jAlbum objects like its UI and album making engine AlbumBean. It can for instance modify how jAlbum creates and scales images.
A plugin can hook itself into jAlbum's UI in various ways. jAlbum already comes with several plugins installed:
A jAlbum plugin is usually packaged as .jaext (jAlbum Extension) file so it can be installed into jAlbum by double clicking it, or dropping it onto jAlbum (v9.4 and above). A .jaext file is simply a .jar file renamed to .jaext, and a .jar file by the way is simply a bunch of zipped java class files. Extensions end up installed in the "ext" folder of jAlbum's new centralized config folder. This way they survive jAlbum updates. During development, they can also be added as plain class files to jAlbum's "plugins" folder.
We plan on setting up a central repository for extensions just like we have for skins. In the meantime, please submit your extensions to us and you will get to blog about them in our blog (If they're good, that is ;-) ).