[Koha-devel] OPAC dir structure redesign

Mason James mtj at kohaaloha.com
Sun May 5 09:44:57 CEST 2013


hi All 

Owen and I were talking recently about a plan to improve the current OPAC directory structure...

the big problem is there is currently much duplication of unnecessary dirs/files.
each theme has many duplicated files - and each language for each theme has many duplicated files

all this duplication means that subtle bugs can occur...
now that we have got the awesome new CCSR theme added, the next step is to fix the OPAC dir structure to accommodate multiple themes easily and safely :)


i have a proposed redesign, which i think is the best balance of removing all duplication, and making the least number of changes to the existing structure


in the new design there are 2 new top-level dirs, 'themes' and 'langs'. 

note: these are the *only* newly created dirs - the rest of the redesign is simply moving existing dirs from one location to another location


each theme's dir (eg: prog or ccsr) only needs a 'css' dir, 
all other theme's existing subdirs can be moved to the shared top-level 'lib' and 'images' dirs


again, with the language subdirs…

each 'langs' subdir (eg: en or fr-FR) only needs an 'includes', 'modules', and 'xslt' dir 
(as these are the only dirs that have any actual language translation/substiution applied to them)

all other existing language's subdirs can be moved to the shared top-level 'lib' and 'images' dirs, too


below is an example of a redesigned OPAC dir structure, for 2 themes, with 2 languages (en and fr-FR)
the directory/file count has been reduced from from 124 directories, 2542 files… to 60 directories, 1857 files


any thoughts or improvements...?


opac-tmpl
└── themes (new)
    ├── ccsr
    │   └── css
    └── prog
        └── css

├── langs (new)
│   ├── en
│   │   ├── includes
│   │   │   └── search
│   │   ├── modules
│   │   │   ├── errors
│   │   │   ├── sco
│   │   │   ├── search
│   │   │   ├── svc
│   │   │   └── text
│   │   └── xslt
│   └── fr-FR
│       ├── includes
│       │   └── search
│       ├── modules
│       │   ├── errors
│       │   ├── sco
│       │   ├── search
│       │   ├── svc
│       │   └── text
│       └── xslt



├── images (existing, shared for all themes and langs)
│   ├── datatables
│   └── itemtypeimg
│       ├── bridge
│       ├── carredart
│       ├── colors
│       ├── crystal-clear
│       ├── liblime-kids
│       ├── npl
│       ├── Seshat
│       └── vokal

├── lib (existing, shared for all themes and langs)
│   ├── famfamfam
│   │   ├── mini
│   │   └── silk
│   ├── greybox
│   │   └── GreyBox_v5_5
│   │       ├── adobe_images
│   │       ├── compression_lib
│   │       ├── greybox_source
│   │       │   ├── base
│   │       │   ├── gallery
│   │       │   ├── set
│   │       │   └── window
│   │       └── static_files
│   ├── jquery
│   │   ├── images
│   │   └── plugins
│   │       └── themes
│   │           └── classic
│   └── yui
│       ├── container
│       ├── menu
│       └── utilities




More information about the Koha-devel mailing list