[
https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15488572#comment-15488572 ]
Michael Brohl commented on OFBIZ-7972:
--------------------------------------
Hi Taher,
many thanks for your efforts! I have tested all described steps and everything worked very well.
Great documentation apart from the quirks already mentioned.
I would also be in favor of a removePlugin task that does uninstall and delete. I'd suggest to rename the existing removePlugin to deactivatePlugin, this would better describe what the task really does.
One idea comes to mind: is it planned to have some version checking mechanism? If I want to pull/install a remote plugin it would be nice if the installer would check if the plugin is compatible with the base system.
I will play with the plugin system in the next days and report any findings or ideas.
Thanks for your great work!
> Create a (PoC) plugin system for OFBiz based on Gradle
> ------------------------------------------------------
>
> Key: OFBIZ-7972
> URL:
https://issues.apache.org/jira/browse/OFBIZ-7972> Project: OFBiz
> Issue Type: Improvement
> Affects Versions: Upcoming Branch
> Reporter: Taher Alkhateeb
> Assignee: Taher Alkhateeb
> Priority: Minor
> Labels: plugin, proof-of-concept, system
> Attachments: OFBIZ-7972.patch
>
>
> This JIRA houses the attempt to create a plugin system for OFBiz based on gradle. The plugin system should have the following features:
> - It is independent of the version control system, file system, operating system and any other environment tools surrounding OFBiz. Instead, it should be fully integrated with OFBiz.
> - It should unify the way OFBiz is extended, both for official supported plugins and for third party plugins
> - The plugin system takes advantage of the concept of a "component" in OFBiz and utilize it as the building block for plugins
> - The plugin system supports the concepts of "Repository" and "Dependency Management". If possible, the plugin system will utilize these concepts directly from Gradle instead of writing them from scratch.
> The initial API for the plugin system will be small and expands as needed. The API should include the following gradle tasks:
> - createPlugin: creates a new plugin based on templates and place it in the plugins directory
> - installPlugin: Activate a plugin and run Install. Plugin must exist in /specialpurpose
> - uninstallPlugin: Deactivate a plugin and run its uninstall script
> - publishPlugin: publish a plugin to local maven repository
> - pullPlugin: download a plugin with its dependencies (plugins) from a repository and install them
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)