[Koha-devel] General directory Structure 3.0 [IMPORTANT]

Joshua Ferraro jmf at liblime.com
Fri Aug 11 19:24:02 CEST 2006


On Fri, Aug 11, 2006 at 02:26:21PM +0200, Paul POULAIN wrote:
> In fact, I think we also should investigate the general directory 
> structure in Koha.
> 
> We have (intellectually) :
> - scripts (.pl) that are for librarian interface
> - scripts (.pl) that are for OPAC
> - script that are for none of them (migration, cron scripts...)
> - templates
> - included files for templates
> - files (javascript, css...) that must be in the documentroot of the 
> webserver
> - file & parameters for zebra
> - (am I missing something ?)
Zebra files include:
 server config files (koha.xml, ccl.properties, cql.properties, etc.)
 database-specific config files(bib1.att, record.abs, etc.)
 database-specific database files (registers, shadow, tmp, etc.)

> I think all of them are mixed in actual CVS : in $KOHADIR, you'll fine 
> acqui directory, .pl for acquisitins, misc directory, script that run on 
> command line... in template dir, you'll find templates (outside of 
> htdocs scope), includes (with things outside of htdocs -the .inc- and 
> things in htdocs, .css & .js)
> This mix has a consequence :
> - Koha is quite hard to setup & maybe unsafe (useless things in htdocs 
> is always poor from a security point of view)
> - Koha needs a buildrelease that tries to reorganize all of this.
I agree. But it's also important that we be able to run off of a 
cvs repo as we do now.

> I suggest we completly change the directory structure in HEAD to have :
> * intranet = all directories for librarian interface. Will contain, for 
> example : intranet/acqui/, intranet/circ/, intranet/cataloguing/ ...
> * opac = all scripts for opac. The good news is that is already exist ;-)
> * koha-tmpl/intranet-tmpl & koha-tmpl/opac-tmpl remains as they are for 
> instance, except for includes directory.
> * template includes directory is splitted in 2 parts :
> - the htdocs : the various htdocs. Will contain all css & javascripts. 
> documentroot will be affected to this directory, making impossible to 
> open something else from the browser
> - includes : the directory that will contain various includes. The 
> actual includes will be renamed as "default".
Why rename it to default?

> includes as well as htdocs depends on theme as well as on language. 
> Thus, we can't have the same directory structure as today 
> (theme/lang/template & theme/lang/javascript and them/lang/css : the 
> documentroot includes the templates themselves)
> We could add a htdocs directory at koha-tmpl level to solve this :
> koha-tmpl/intranet-htdocs/theme/lang/javascript and 
> koha-tmpl/intranet-htdocs/theme/lang/css
> 
> for includes, it's the same idea : we will have includes dedicated to 
> themes & languages, so we need :
> koha-tmpl/intranet-includes/theme/lang/
> 
> Note, that this will require some (no so big) changes in the translator 
> tool tmpl_process3.pl
Sounds good.

> A last note :
> with the previous structure, KOHADIR should be empty from any file. 
> empty ? not really, we could put the installer here, as does buildrelease.
> 
> The installer would be highly simplified, needing only the config file & 
> the virtual host to be created.
> 
> That could be the 1st step to an idea I suggested during dev_week, that 
> could be implemented : let install.pl do only the technical part of 
> install & have a webbased interface for all librarian parameters 
> (choosing marc flavour, setting up some parameters ...)
This sounds great!

Cheers,

-- 
Joshua Ferraro                       SUPPORT FOR OPEN-SOURCE SOFTWARE
President, Technology       migration, training, maintenance, support
LibLime                                Featuring Koha Open-Source ILS
jmf at liblime.com |Full Demos at http://liblime.com/koha |1(888)KohaILS





More information about the Koha-devel mailing list