#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>