2010-04-03 16:47:19 PDT
What I meant by that statement was that features few people use should not be in the system at all, not that they should be kept in some other area.
I want OpenBiblio to be a small library system that a single programmer can easily understand in full. The current 1.0 code is over 42,000 lines now -- not counting installation SQL files. 0.6.1 was just under 30,000, and I thought that was too much. My goal is to have a small, simple, solid, secure base system that is easily modified and extended to be exactly what a given library needs. If at all possible, that simple base system should not be larger than 30,000 lines.
This isn't just about lines of code, either. Every feature adds conceptual weight to the system. I don't want a "feature-rich" library system. That's Koha or Evergreen. I want a library system with just the right features. I think we should remove any feature that won't be useful to a majority or at least a large minority of our target audience. So who's that? I'm aiming at school libraries and small-to-medium public libraries.
Probably the biggest thing this means removing is the booking/reservation system. I wrote it, and I have support contracts with a few libraries that use it, but it shouldn't be in the main distribution. It should be a plugin. It's useful, even necessary, to some libraries, but most school and public libraries won't use it, so it needs to go.
This clean-up isn't going to happen tomorrow, but I do intend it to happen before 1.0 is released. Hopefully, by the time the heat and the bugs chase you back inside, I'll have the circulation section mostly done so you can see what I'm talking about.
Incidentally, I think the idea of an installer password is good, but anything like that should probably be under /install and not even appearing on the main menu. That's probably a good place to put plugin management.
Micah