On Fri, Apr 11, 2008 at 06:20:16PM +0100, Kake L Pugh wrote:
Hello. As it has now become my itch, I've started working on separating out installation of the OpenGuides modules from setup of an Open Guide. I'm basing it on the way that CGI::Wiki::Kwiki works[0].
If I understand correctly the essence of this is http://search.cpan.org/src/KAKE/CGI-Wiki-Kwiki-0.59/bin/cgi-wiki-kwiki-insta...
To my mind, this is copying too much - the templates and CGI scripts oughtn't be copied for each guide. The templates and CGI scripts can just live in a standard place (the Debian packages put them in /usr/share/openguides/templates and /usr/lib/cgi-bin respectively) and if needed, the "install directory" for the guide can contain symlinks to the CGI scripts. Otherwise you still end up having to upgrade each guide individually (and worse, when the modules change, you have to make sure that the CGI scripts and templates get upgraded at the same point to avoid breakage.
This was a large part of the point of the custom template path.
The Debian packages don't do the automatic symlinking bit yet (if the user wants to set up additional guides they need to do that themselves based on the instructions in the README.Debian file.
I did write a trivial openguides-setup-db script which is certainly part of the story for any general purpose guide setup script, but that assumes an existing config file so probably isn't that useful on its own.
You can fetch the source for the Debian package either with 'apt-get source openguides' or downloading the patch from http://packages.debian.org/source/sid/openguides if it's any use for inspiration.
If you have a better way to do it, and either:
a) your way is less hassle (for me) than my way, or b) you are willing to do the work your way, and plan to do so within the next few months,
then please let me know. Otherwise I'll carry on with this. For the time being, I won't be committing this to OpenGuides svn trunk. I can commit it in a branch if someone would like to send me absolutely idiot-proof instructions for doing so.
svn cp https://urchin.earth.li/svn/openguides/trunk \ https://urchin.earth.li/svn/openguides/branches/<your-branch-name>
svn co https://urchin.earth.li/svn/openguides/branches/<your-branch-name> \ <branch-working-dir-name>
cd <branch-working-dir-name> [hack hack hack] svn commit
Dominic.