Glossary
- asset
- Any file contained within a Python package which is not
a Python source code file.
- asset specification
- A colon-delimited identifier for an asset. The colon
separates a Python package name from a package subpath.
For example, the asset specification
mypackage:static/baz.css identifies the file named
baz.css in the static subdirectory of the mypackage
Python package.
- component system
- A blue print of interface specification and plugin definitions in an
environment across several packages. This blue print will be used when
plugins are queried / instantiated.
- configuration
- Every plugin is a dictionary of configuration settings. Plugin classes
pre-define configurable parameters by implementing
pluggdapps.plugin.ISettings interface. Pluggdapps platform
takes care of aggregating and merging configuration from several sources
like .ini file(s) and database backend.
- environment
- Python run-time and package environment. In normal cases python packages
are installed in system-wide installation directories like /usr/lib/.
It is also possible to create a virtual environment where packages will
be installed in user-directories.
- interface
- An interface specification is a python psuedo-class defining a
collection of attributes and methods, where methods are mostly used as
callbacks and attributes are used to preserve context across callbacks.
Once interfaces are defined, they are implemented by one or more plugin
classes.
- package
- Installable python project. Typically distributed as .egg file. A
package is considered to be part of pluggdapps platform when it
implements pluggdapps entrypoint. In which case, all interfaces and
plugins defined in the package will automatically be loaded when
pluggdapps platform is booted.
- platform
- An environment to develop, distribute and install plugins. Pluggdapps
platform also takes care of initializing plugins with configuration
settings.
- plugin canonical name
- Lower case name of the plugin class prefixed with package in which the
class is defiend. For eg, if class HTTPEPollServer plugin is
implemented by pluggdapps package, then the canonical name of the
plugin is pluggdapps.httpepollserver.
- plugin name
- Lower case name of the plugin class. For eg, if class by name
HTTPEPollServer derives from base Plugin, then its
plugin-name is httpepollserver.
- plugins
- A plugin class can implement one or more interfaces. When a plugin
implements an interface, it should define methods and attributes
specified by that interface. Plugin developers must stick to the
semantic meaning of the interface(s) implemented by the plugin.
- scaffold
- A template of source files / program code that help users get started
writing a web-application project or a plugin fairly quickly.
Scaffolds are usually invoked as a sub-command to pa-script.