Smereka
extensible personal freeform database and personal information manager

Introduction
Features
Download
Developing plugins
Smereka in your language
Forum
Contact
Upgrade to Smereka TreeProjects
|
What are Smereka plugins?
Smereka is designed to be extensible. Currently, it's possible to
extend the operation of Smereka in the following ways:
- By defining
new data types. Currently there are 7 data types in
Smereka. It is possible to define new data types (for example, a
drawing or a file link). After adding a new data type, one can add
items of this type to any database.
- By defining
new export and import operations. Currently, only file
import-export operations are supported, whereas export and import of
Smereka items need not to do anything with files. This can be extended
to include, for example, exporting to the web, or automated item
generation.
The aforementioned extension can be achieved by authoring and deploying
plugins. Plugins are executable Win32 dynamic-link libraries, which
means that there's nothing to limit the imagination when designing a
plugin.
In the future, Smereka will add interfaces for extending even more
aspects of its operation
What are the
prerequisites for creating a plugin?
For a programmer who'd like to write a plugin, the
following skills are recommended:
- C++
experience: required. Smereka's interfaces are heavily
C++-oriented.
- wxWidgets
experience: recommended but not required. wxWidgets is a
cross-platform C++ graphical user interface library, upon which Smereka
is built. Anyone who ever wrote a Win32 or MFC application will grasp
wxWidgets quickly by looking on examples provided in the Plugin SDK and
Smereka source code itself. There are plenty of wxWidgets tutorials as well.
What are the tools for
creating a plugin?
Since release 1.0.0, Smereka includes a minimal plugin SDK. The SDK
comes in the form of three non-trivial, but simple plugins with well
commented source code. They illustrate main concepts and approaches
when creating plugins, and it is possible to clone and modify them to
fit your needs. Additionally, the "design.sme" document describes the
design of Smereka and the architecture of Smereka plugins. It is
provided in the source code package of Smereka.
Download the source code of Smereka, including the plugin SDK, from the
download
page. |