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

Paul POULAIN paul.poulain at free.fr
Fri Aug 11 14:26:21 CEST 2006


MJ Ray a écrit :
> Our current template structure is something like:
>   SITE/htdocs/SITE-tmpl/THEME/LANG/OBJECT
> Comments?

Yes ;-)

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 ?)

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 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".

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

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 ...)


PLEASE LET ME KNOW WHAT YOU THINK OF THIS SUGGESTION : if you think it's 
a good idea, then i'll ask Antoine to work on it (in september ?)


-- 
Paul POULAIN et Henri Damien LAURENT
Consultants indépendants
en logiciels libres et bibliothéconomie (http://www.koha-fr.org)
Tel : 04 91 31 45 19





More information about the Koha-devel mailing list