#333: Supporting local output formats
--------------------------+----------------------
  Reporter:  skaplun      |      Owner:  jcaffaro
      Type:  enhancement  |     Status:  assigned
  Priority:  minor        |  Milestone:  v1.0
 Component:  BibFormat    |    Version:
Resolution:               |   Keywords:
--------------------------+----------------------
Changes (by simko):

 * status:  in_merge => assigned


Comment:

 Note that we may want to solve this problem on a more general level,
 because it is not only BibFormat and `HD.bfo` and friends that are
 affected, but there are other modules that have files in `etc`
 directory and are concerned by this too, for example BibRank and
 `wrd.cfg`.

 This is why Invenio upgrade instructions usually recommend to
 save-and-copy the `etc` directory via a procedure like:

 {{{
 $ cd cds-invenio-0.99.2
 $ cp -a /opt/cds-invenio/etc /opt/cds-invenio/etc.OLD
 $ sh /opt/cds-invenio/etc/build/config.nice
 $ make install
 $ /opt/cds-invenio/bin/inveniocfg --update-all
 $ cp -a /opt/cds-invenio/etc.OLD /opt/cds-invenio/etc
 }}}

 This is a regular upgrade procedure between point releases
 in a given release branch.

 Now having a separate `HD-ithaca.bfo` would help, but only
 for one module.  A more generic solution may be desirable here.

 One such global technique could be to allow having `_local` after any
 file name in the `etc` folder, and these would be read first.  We
 would have to amend every module config file reader to achieve this,
 of course.

 Another such global technique could be to allow another directory:

 {{{
 /opt/cds-invenio/etc
 /opt/cds-invenio/etc-local
 }}}

 and people would clone `HB.bfo` and `wrd.cfg` and friends from `etc`
 inside respective subdirectories of `etc-local`.  This would
 necessitate module-wide changes too, naturally.

 As part of the process we could have a new `confutils.py`
 library that all the independent conf readers would use
 in order to achieve the `-local` desired effect.

 So let's try to see first whether we don't rather invest into
 a more global solution at this point in time. Could be a nice
 new side project for a new developer.

-- 
Ticket URL: <http://invenio-software.org/ticket/333#comment:3>
Invenio <http://invenio-software.org>

Reply via email to