> even better if w2p_filepath unambiguously define the plugin_name

That would be good, but people will likely distributed plugins with
filenames like "myplugin_v0.1.w2p" (like apps currently are). In such
a case would it be more sensible to generate "myplugin" or
"myplugin_v0.1"?

Richard


On Oct 21, 12:23 pm, Beerc <berces.las...@fomi.hu> wrote:
> May I suggest an extended,
>     CRUD style,
>     plugin_name oriented
> interface, in a 'plugin' module? So we can use
>
>     plugin.pack(your_app, w2p_filepath, plugin_name)
> to pack the given plugin into a w2p file at w2p_filepath;
> even better if w2p_filepath unambiguously define the plugin_name, so
> we can use simply:
>     plugin.pack(your_app, w2p_filepath)
> or (best):
>     plugin.pack(your_app, plugin_name)
>
> 'C' in CRUD:
>     plugin.create(your_app, w2p_filepath)
> to install (==unpack, ==create) the given plugin;
> or (better):
>     plugin.create(your_app, plugin_name)
>
> 'R' in CRUD:
>     plugin.retrieve(your_app, w2p_filepath)
> to query (in a dictionary) infos about the given plugin;
> or (better):
>     plugin.retrieve(your_app, plugin_name)
> and
>     plugin.retrieve_all(your_app)
>
> 'U' in CRUD:
>     plugin.update(your_app, w2p_filepath)
> to install a new version of the given plugin, if exist(plugin) and
> exist(new_version_of_plugin);
> or (better):
>     plugin.update(your_app, plugin_name)
> and
>     plugin.update_all(your_app)
> to update all plugins;
>
> 'D' in CRUD:
>     plugin.delete(your_app, w2p_filepath)
> to remove the given plugin;
> or (better):
>     plugin.delete(your_app, plugin_name)
> and
>     plugin.delete_all(your_app)
> to delete all plugins.
>
> Some upper/admin level functions:
>
>     plugin.list_all(your_app)
> to query the list of names of all plugins installed;
>
>     plugin.dependency_check(your_app, plugin_name)
> to check (known) dependencies of given plugin and return infos in a
> dictionary;
> even if plugin not installed yet (so we can programmatically check
> preconditions of that installation)
>
>     plugin.dependency_check_all(your_app)
> to check all (known) dependencies and return infos in a dictionary.
>
> Finally a
>     CRUD style,
>     plugin_name oriented
> interface for a plugin repository, without short descriptions:
>
>     plugin.repository_create(repository, plugin_name)
> to create given plugin in that repo;
>     plugin.repository_retrieve(repository, plugin_name)
> to query (in a dictionary) infos about the given plugin;
>     plugin.repository_retrieve_all(repository)
> to query (in a dictionary) infos about the given plugin;
>     plugin.repository_list(repository)
> to query the list of names of all plugins in that repo;
>     plugin.repository_update(repository, plugin_name)
> to update given plugin;
>     plugin.repository_delete(repository, plugin_name)
> to delete given plugin;
>     plugin.repository_delete_all(repository)
> to delete all plugins.
>
> Repositories can be
>     local (given by w2p_filepath),
> or
>     global (given by URI and authentication dataset).
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to