This is a middle-front-burner issue for us, so I'll just jump right
in here.
First of all, "for Koha" probably isn't quite the words we want to
use. There are a number of systems that work fine with Koha right
now, including Userful which we use, PC-Cop and Envisionware, et al.
These are external programs that work with Koha through the SIP
interface. I don't think logical design would suggest a pc
reservation module be incorporated in Koha itself.
However, there are a couple of now apparently abandoned open-source
pc reservation projects. I should perhaps emphasize "apparently",
since the status isn't entirely clear and I can't get in contact
with the authors. There is Jesse Weaver's Powerline, written in
Python, and Kyle Hall's Libki. Code for both is available, and we've
tried Libki quite a bit. It was our feeling that Libki v1 was an
excellent start, but needed some additional features. Kyle was going
to do a complete re-write of the system, but that has apparently not
been done. If you want to give Libki a try, you will probably need
to look at our git repo where we did a couple of fixes.
The local university where I graduated is looking for php projects
for their Jr-Sr level programming classes, and 1 project for a grad
student. I met with the faculty advisers just yesterday, and
submitted two projects to them. One was a Koha VM project suggested
by sekjal (Ian Walls). The second was, in fact, a computer
reservation system à la Libki and Powerline. They will consider
these two projects with others they have and decide within a week on
which they will work. If they chose either or both, then I intend to
work closely with them on the specs and functionality. If the
undergrads take the reservation system, then it will be a two
semester project, the first for doing the design and project
planning and specs, the second semester the students and project
pass to a second class and instructor for coding.
Whether either of these are picked up by the university or not, this
is important enough that while I have a tech assistant with the
expertise we may try to hack something ourselves, but it must be
harder than it seems at first, so we may need some dev assistance.
Again, that depends on me being able to find/retain a tech good at
coding. If anybody else wants to start a project we'll be glad to
help with coding or testing.
I would like to encourage a public discussion on this subject.
I'm going to cut-paste part of the doc I gave to the school
yesterday since it has lots of good links. The formatting got
stripped but it's still readable.
--
Greg Lawson
Rolling Hills Consolidated Library
1912 N. Belt Highway
St. Joseph, MO 64506
-----------------------------------------paste------------------
Libraries and schools need a public access control system. Public
access
controls permit individuals to login to and use computers based on a
number of
controls.
Typical characteristics and features of a public access control
system:
Policies enforce:
1. Time restrictions
Time maybe limited to a certain number of minutes/hours per day, for
example, 60
minutes. The time needs to be a system configuration on the
server/staff
interface.
--need to be able to set max number of sessions while still
enforcing the max
total minutes
--staff need the option to manually override and extend time
--need to reset at end of day
--need popup warnings at configurable times before end of session
notifying user
their time is about to expire.
2. Authentication
The user must authenticate, typically via account ID and password,
that they are
an authorized user. This is frequently done by querying a database
using the
SIP interface.
There should also be a local user database for guest users who are
temporary or
do not have a database entry. This feature is obviously controlled
by staff. For
legal accountability reasons, there should also be a free-text field
for staff
to enter credentials, like name and driver's license details.
3. Print controls
When a user prints from an application (web browser, text editor,
etc), there
should be a popup which calculates the price of the print job, based
on policies
assigned to printers which are also configured in the system, and
requires the
user to click-through the popup, accepting the charges.
4. Prohibit changes to the operating system;
5. Miscellaneous
Policies also enforce end-of-day shutdown times. This requires the
creation of
“buildings” (or better, areas or sections). If a facility closes,
for example,
at 8:00pm, and a user logs on at 7:15pm, the system must only
allocate enough
time to the session up to the closing time. Most systems will have a
“real”
closing time, but have a forced logoff time configurable for a
certain number of
minutes before closing.
I am aware of two systems available under open licenses that can be
used for
examples, Libki and Powerline.
Libki
The sites below list his original version only, I think. I'm not
aware that any
of his intended rewritten code was ever posted anywhere.
The existing codebase, however, does still work and can be
downloaded and
installed from sourceforge. Even though it is open source however, I
strongly
recommend that the new system—your creation--be written from
scratch.
Libki-related Sites:
http://libki.org/
note link to rewrite status update*
http://kylehall.info/index.php/2009/02/11/libki-updates/
Important site—contains numerous enhancements we requested. I
recommend that all
relevant contents of this site be downloaded soonest—with the Libki
project possibly
abandoned there is no guarantee this data will remain available.
http://kylehall.info/index.php/projects/libki-kiosk-system/
old site
http://libki.git.sourceforge.net/git/gitweb.cgi?p=libki/server;a=summary
https://sites.google.com/site/rhclpac/home
Not much content, but has phpsip connector code under docs
* “I thought everyone might appreciate knowing how the rewrite is
coming along.
So far, the server side administration app is nearing completion.
Authentication
is all that is left to do. The entire app is fully ajax powered and
is a single
page for everything! It works very well, but could still use some
tweaking here
and there. After the admin app is done, I will write the REST api,
and then be
able to finish the client. At that point, phase 1 will be complete!”
(comment:
this would be great code to get if you can find it anywhere)
Powerline
Powerline was written by Jesse Weaver. I have never used Powerline,
but suspect
it has great potential, and may be a candidate framework for a
public access
computing project.
Sites:
http://code.google.com/p/powerline/
http://techsoupforlibraries.org/blog/stop-flipping-burgers-and-come-to-the-
library
Commercial systems:
Userful (http://userful.com)
PC Cop (http://www.cmsdiginet.com/pccop.htm)
Envisionware (http://www.envisionware.com/)
Cassie (http://www.librarica.com/index.shtml)
Philosophy:
We've used one system with a distributed database, and found that it
had trouble
sharing data. I would recommend a centralized database, using either
Postgresql
or MySql.
Code license should be under the terms of the Gnu Public License
(GPL) version 3
or any subsequent version.
Git is highly recommended since it's used for Koha development.
------------------------
Greg
---------------------
On 08/31/2011 08:01 PM, Melissa Parker wrote:
I was doing some research to try and see if there is
any sort of computer reservation/ computer management system
module in the pipeline for koha. If there is not, is a module of
this type even feasible to create for koha?
Thanks
Melissa Parker
SEKLS
_______________________________________________
Koha mailing list http://koha-community.org
Koha@lists.katipo.co.nz
http://lists.katipo.co.nz/mailman/listinfo/koha