Pluggdapps

Component system. Web framework. And more ...

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.

Related Topics

This Page