I've been working recently with QGIS (www.qgis.org), a slick, cross- 
platform, Qt-based GIS. QGIS has a feature that is so cool, you  
almost have to see it to appreciate it. But here's a brief  
description anyway:

QGIS supports plugins written in Python. If you've developed a nifty  
plugin, all you have to do is zip up your files, post the .zip on  
your Web site, then supply your users with the URL of a simple .xml  
file (called a plugin repository). For example:

<plugins>
   <pyqgis_plugin name="MyPlug" version="0.0.1">
     <description>Description goes here.</description>
     <homepage/>
     <file_name>myplug.zip</file_name>
     <author_name>My Name</author_name>
     <download_url>http://my.web.site/myplug.zip</download_url>
   </pyqgis_plugin>
</plugins>

When your user enters this URL in QGIS's Plugin Installer, it  
downloads the .zip file, unzips it in the .qgis folder in your home  
folder (~ or C:\Documents and Settings\<username>), and adds it to  
the list of available plugins that can be activated in QGIS.

But wait, there's more. If you select a plugin in the list that is  
not installed, the button says "Install Plugin". If it's already  
installed, the button says "Reinstall Plugin" (useful if you suspect  
that you've corrupted or deleted some of the plugin's files). And if  
a _newer_ version is available, the button says "Upgrade Plugin".

You can manually have it scan all the repositories you've entered or  
optionally let it scan all repositories automatically when QGIS  
starts up. If it finds a plugin that you have installed and there's a  
newer version available, this is listed at the top of the available  
plugins list and highlighted in bold.

It seems as though something like this might be useful in the Lazarus  
IDE for listing, downloading, installing and updating available  
packages. For example, perhaps the Installed Packages dialog could be  
extended to include this kind of feature. Selecting a package from a  
list of available packages in a repository XML would download and  
unzip the package source files under ~/.lazarus, then proceed with  
compiling the .lpk file and re-compiling Lazarus to install the  
package. This would also be useful for keeping up to date  
automatically with the latest version of a package that you use.

As it is now, the way in which packages are made available can be  
different for each package and keeping up with the latest package  
version requires manually checking each package site. This might also  
help package authors and porters to keep their package up to date. At  
any given point in time it seems as though half the packages for  
Lazarus are broken (won't compile). Maybe this would be a way of  
automatically testing which packages, say on CCR, are broken and  
alerting the authors.

Thanks.

-Phil

_______________________________________________
Lazarus mailing list
[email protected]
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to