[Eric] plugins

Jürgen Urner jUrner at arcor.de
Sat Jul 14 18:34:09 BST 2007

Detlev Offenbach wrote:
> On Samstag, 14. Juli 2007, Jürgen Urner wrote:
>> Detlev Offenbach wrote:
>>> On Sonntag, 8. Juli 2007, Jürgen Urner wrote:
>>>> Currently from a package zip everything is dumped to eric4plugins.
>>>> On uninstall, only the plugin file is removed.
>>>> Would be nice if plugins could be packages, and maybe a force check on
>>>> install
>>>> that a plugin consists only of one package or one script to enshure
>>>> propper removal.
>>>> Jürgen
>>>> _______________________________________________
>>>> Eric mailing list
>>>> Eric at riverbankcomputing.com
>>>> http://www.riverbankcomputing.com/mailman/listinfo/eric
>>> plugin package files should have one file in the top directory, which is
>>> the plugin script and one package (directory), that contains als the
>>> files. The plugin script should contain a module attribute "packageName"
>>> that contains the name of the package as a string. If the uninstall
>>> routine doesn't find this attribute, it will give an error message. Maybe
>>> this precondition should be checked at installation time.
>> That would be Eric extracts "packageName" only. What about other files
>> (dirs) present in
>> a plugin zip? And what happens if a plugin accidently overwrites another
>> packages content?
>> Wouldn't plugin handling be easier if plugins were only allowed to be
>> one single files or one
>> single package?
> That is exactly the convention for plugin packages. I could modify the 
> installer like that:
> 1) extract the plugin module from the zip file and get the "packageName" 
> attribute
> 2) refuse to install, if it isn't found
> 3) check if there is a package of the same name already installed in the 
> specified area
> 4) if so and the plugin module is there as well assume an update

uninstall old, install new. Don't care if it's a conflicting plugin of 
another autor.
Otherwise you'd be tempted to test for author to check identity.  
Slippery slope.

> 5) if no update give the user an info and abort
> 6) otherwise extract the zip contents and install all files residing in the 
> directory given by packageName
> Would that be ok?


>> Another thing ...maybe I've overlooked something ...but a notification
>> on unistall plugin
>> would be nice to do cleanups.
> What kind of notification? There are a bunch of error notifications and a 
> success notification.
Notifications for the plugin not user. Would be nice for example to clean
Erics settings on uninstall from entries a plugin has made. The next plugin
with the same name might get strange values in return as a test if its
QSettings.value() call is bullet proof.

mySetting = QSettings.value(...
# outch! ...some long gone plugin used to store its Xp activation key there

No help if two active plugins accidently use the same key. That's yet 
story, But a notification on plugin install and uninstall would allow 
for some
sanity checks and clean up.


More information about the Eric mailing list