Re: As a Library 'decision maker' wh

From: Jonathan Rochkind <rochkind_at_nyob>
Date: Wed, 12 Sep 2007 16:06:50 -0400
To: NGC4LIB_at_listserv.nd.edu
Weinheimer Jim wrote:
> This sounds like a great idea, but would you clarify this a bit more
> for me? For example, for my own catalog, I have modified Koha,
> building on their work.
If you modify Koha source to add your own special features that are only
for you, and now you're running different Koha code than everyone else,
that's highly undesirable.

On the other hand, if you modify Koha code, and submit your changes back
to the Koha maintainers, and they incorporate them into Koha---that's
great.

Ah, but what if you need a change to Koha that everyone won't want,
that's really just for you? If you're lucky, Koha is already
_configurable_ so you can make this change without actually changing
Koha source. If not--then your goal is to change Koha source to _make_
it configurable in the way you want, so you can still submit your
changes back to the Koha community, and then configure as desired.

This is harder up front, but it pays dividends. If another Koha user
needs to customize the same thing as you, you've added code to Koha so
they can do this without reinventing what you've done. Another important
non-altruistic benefit for you specifically: When the new Koha version
comes out, you don't need to think about "But what about all these
customizations we did here? Now I need to figure out how to re-do them
in the new version!".
> A concern of mine in this scenario is something that I am considering
> now. My catalog is built on Koha 2.2.7, but the 2.2.9 version includes
> Zebra capabliity, similar to Lucene. I very much want to use the 2.2.9
> Zebra, but I also don't want to lose my editions. So, I'll be looking
> at a lot of work. Are you suggesting that a modular system with
> plugins, similar to Firefox, would be possible? If it were, it would
> be the best of the worlds.
Exactly. Maybe a modular system, if that's what's required. It may or
may not be required. Config files (see all the crazy stuff you can see
in Firefox when you type "about:config" in the location bar; look at all
that stuff you can customize for local use without changing Firefox
code), templating systems, plug-in architectures, these are among the
various software engineering techniques to support local customization
without requiring actual changes to the shared codebase.

Jonathan


> James Weinheimer   j.weinheimer_at_aur.edu
> Director of Library and Information Services
> The American University of Rome
> Rome, Italy
>
>

--
Jonathan Rochkind
Digital Services Software Engineer
The Sheridan Libraries
Johns Hopkins University
410.516.8886
rochkind (at) jhu.edu
Received on Wed Sep 12 2007 - 14:06:44 EDT