[Qgis-developer] Python Plugin Repository - plugins app first working version

Alessandro Pasotti apasotti at gmail.com
Fri Nov 26 12:28:33 EST 2010


I've just uploaded the first working version of the new Python plugins
Django app.

Implementation is hopefully complete but it still needs testing,
authentication is also missing since it should be handled by an external
provider (ldap ?) but for testing as a logged in user you can log in through
the admin panel.

A few open questions still remain:

1 - metadata are read from the zip file on plugin creation and that is fine,
but what happens when a new version of an existing plugin is uploaded and
there is a conflict in metadata plugin's name ? Should the plugin name name
be updated with the new plugin name or just fail? I guess that updating
description is just fine but changing plugin's name it isn't, so I put some
validation in place to avoid name mismatch or (worse) having different names
in the DB and in the zip packages.

2 - according to specs, the users are initially untrusted and they cannot
publish their plugins. When a staff member grants the "trust" to the user,
he can publish all his plugins. Plugins have a creator and 0 or more
"owners" who can manage the plugin exactly as if they were the original
author. Common sense says that if a user i not "trusted" and he uploads a
new versions, the whole plugin should be unpublished (remember the published
flag is in the Version model)

3 - "last" version in the two "branches" stable/experimental i somewhat
tricky (and IMHO the name is misleading, since if "last" has to do with
time, the upload time should suffice to determine which version is the last
one). I did not put too much magic in the code and this part can be improved
for sure.

So, I'm not sure that the workflow I have implemented is what you had in
your mind.

I need your help in
* testing the application
* check the english strings (I'm not sure about them)
* ldap authentication
* styles: I've stolen the CSS from main QGIS site, ponies are warmly

last note: the app was built to be "portable", so moving it around and
changing the routing (urls.py) should work without problems. I also resisted
to the temptation to use custom triggers in the DB.

See the Makefile for some useful dev targets and the docs folder for a (very
short) introduction.

Happy testing !


Alessandro Pasotti
w3:   www.itopen.it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/qgis-developer/attachments/20101126/971b7b97/attachment.html

More information about the Qgis-developer mailing list