Helma Logo
main list history

Version 4 by hannes on 07. June 2008, 22:56

15      module name:  profiler    installed: 0.2    available: 0.

Version 3 by hannes on 07. June 2008, 11:43

38The plugin manager will use uses HTTP to fetch meta data and plugin archives from a remote plugin repository. The plugin repository will provide uses a simple directory structure to store plugins and provides JSON formatted metadata filesmetadata. How metadata is distributed organized among a central plugin list and per-plugin files, and how much information about available plugins and versions can be delegated to directory structure conventsions conventions remains to be determinedseen.
40The initial plugin repository implementation will be maintained manuallyby hand. Of course we'll need want an application to manage the repository rather soon, but this is not a goal for the Helma 0.3 release. Also, adding or editing plugin repositories is not a goal for Helma 0.3.
42The plugin manager will maintain local information about installed and available plugins using JSON files. The plugins themselves will be fetched as zip files. Internally, plugins are just NG modules and can contain JavaScript files, jar files, configuration files and any other kind of resourcefile resources. Whether plugins are unpacked in the NG modules directory, in a separate plugins directory, or not unpacked at all (i.e. added as zip repositories) remains to be determined.
43

Version 2 by hannes on 07. June 2008, 11:39

17      fetching profiler... done
20      module name:  markdown    author: ...      version:  0.
21      module name:  test        author: ...      version:  0.3.
22      module name:  imageutils  author: ...      version:  0.
30      fetching test... done
33
34=== Implementation
35
36The plugin manager will use HTTP to fetch meta data and plugin archives from a remote plugin repository. The plugin repository will provide a JSON formatted metadata files. How metadata is distributed among a central plugin list and per-plugin files, and how much information about available plugins and versions can be delegated to directory structure conventsions remains to be determined.
37
38The initial plugin repository implementation will be maintained manually. Of course we'll need an application to manage the repository rather soon, but this is not a goal for the Helma 0.3 release. Also, adding or editing plugin repositories is not a goal for Helma 0.3.
39
40The plugin manager will maintain local information about installed and available plugins using JSON files. The plugins themselves will be fetched as zip files. Internally, plugins are just NG modules and can contain JavaScript files, jar files, configuration files and any other kind of resource. Whether plugins are unpacked in the NG modules directory, in a separate plugins directory, or not unpacked at all (i.e. added as zip repositories) remains to be determined.

Version 1 by hannes on 07. June 2008, 11:05

1Plugins are Modules that are not part of the Helma distribution. The plugin manager is a module that automates the process of installing, updating and uninstalling plugins in Helma NG.
3The initial plugin manager implementation is scheduled for Helma 0.3 and will have a shell interface. Later versions may feature an additional web interface.
4
5=== Use Case
6
7A typical plugin manager session may look like this:
8
9    helma> importModule('helma.plugins', 'plugins');
10    helma> plugins
11      installed: 3 plugins
12      updatable: 1 plugin
13      available: 2 plugins
14    helma> plugins.updatable
15      module name:  profiler    installed: 0.2    available: 0.2
16    helma> plugins.updateAll()
17      updating profiler... done
18    helma> plugins.available
19      module name:  markdown    version:  0.1
20      module name:  test        version:  0.3.1
21      module name:  imageutils  version:  0.6
22    helma> plugins.describe('test')
23      module name:          test
24      version:              0.3.1
25      author:              Foobert Meyer <foobert@domain.com>
26      description:
27        A unit testing framework for Helma NG.
28        Version 0.3.1 features enhancements in the shell interface
29        and a redesigned web interface.
30    helma> plugins.install('test')
31      installing test... done
32    helma>