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