*Bookseller.pm* : contains all functions dealing with bookseller.
*Bookfund.pm* : contains all functions dealing with bookfund, currency & budget.
*Acquisition.pm* contains all functions dealing with orders, basket & parcels.
memberentry.pl:modify call to getborrowercategory
moremember.tmpl:modify condition to display "add child" option (only for adult)
moremember.pl:add condition,call to getborrowercategory , change variable name
memberentryC and P : add error message ERROR_age_limitations
memberentry.pl : replace sql request by function getborrowercategory for return upperagelimit and dateofbirthrequired
moremember.pl: modify call to function getborrowercategory
if this prefence is switched on: the document returned in another library than homebranch, the system automaticly transfer the document to his homebranch (with notification for librarian in returns.tmpl) .
switch off : the document stay in the holdingbranch ...
correcting bugs :
- comment C4::acquisition (not using in request.pl).
- correcting date in request.pl
-add the new call of function getbranches in request.pl
moremember.tmpl:change wrong url
Members.pm: change wrong field name in sql request(sub newmember)
memberentryA.tmpl : change wrong field name
memberentry.pl:change test condition (checkuniquemember)
Added a bit to display the correct item type for a person who has 2 or more
reserve this type only reserves on the same day, ie - reserved a dvd and a book with same biblio.
whether you system is capable of utilizing Record.pm (if there are
problems, it's likely with the back-end SAX Parser you've got installed).
I'll be expanding this in the future to provide better error handling
and instructions for fixing the parsers, etc.
This module represents a major leap forward in Koha's support of standard
record formats (ISO-2709 (MARC), MARCXML, Dublin Core, MODS, etc). It
provides a standard API for record management as well as an error-handling
mechanism so that the API will return proper error strings to the calling
program. It's only partially implemented currently, but the API returns
proper error strings if a feature isn't implemented.
There is also a testing suite that you can use to check your system's
capabilities to handle record and encoding conversions. Commit coming
soon.
I'm gonna work in UNICODE support next ...
records. It can be used to convert from one record format to another,
build formats from html (such as in addbiblio and additem), convert from
one encoding to another, etc.
It's the first module that provides access to the new Koha 3.0 API that
I've been working on (stay tuned for a mail to koha-devel explaining it).
Authority tables are modified to be compatible with new MARC frameworks. This change is part of Authority Linking & Zebra authorities. Requires change in Mysql database. It will break head unless all changes regarding this is implemented. This warning will take place on all commits regarding this
branchreserves : to see reserves for one library (with the branchip selection or librarian preferences)
currenttransfers : show all the transfers are waiting in the library
waitingreservetransfers: show all the book the librarian have to transfer to an another library .
"actions" are bugged, will be corrected .
adding two fields in branches table (branchip,branchprinter)
branchip : if the library enter an ip or ip range any librarian that connect from computer in this ip range will be temporarly affected to the corresponding branch .
branchprinter : the library can select a default printer for a branch
the intranet. The development was made on branch 2.2 by Arnaud Laurin from
Ouest Provence and integrated on HEAD by Pierrick Le Gall from INEO media
system.
New page reserve/request.pl taking a biblionumber as entry point.
New functions:
- C4::Biblio::get_iteminfos_of retrieves item informations for a list of
itemnumbers
- C4::Biblio::get_biblioiteminfos_of retrieves biblioitem informations for a
list of biblioitemnumbers
- C4::Biblio::get_itemnumbers_of retrieve the list of itemnumbers related to
each biblionumber given in argument.
- C4::Circulation::Circ2::get_return_date_of retrieves return date for a
list of itemnumbers.
- C4::Koha::get_itemtypeinfos_of retrieves the informations related to a
list of itemtypes.
- C4::Koha::get_branchinfos_of retrieves the informations related to a list
of branchcodes.
- C4::Koha::get_notforloan_label_of retrives the list of status/label for
the authorised_values related to notforloan.
- C4::Koha::get_infos_of is the generic function used by all get_*infos_of.
- C4::Reserves2::GetNumberReservesFromBorrower
- C4::Reserves2::GetFirstReserveDateFromItem
Modified functions:
- C4::Reserves2::FindReserves was simplified to be more readable.
The reservation page is reserve/request.pl and is linked from nowhere as
long as zebra is not stable yet on HEAD.
koha.xml contains both the koha configuration and zebraserver configuration.
Zebra connection is modified to allow connection to authority zebra as well.
It will break head if koha.conf is not replaced with koha.xml
- modified userenv to add branchname
- modifier menus.inc to have the librarian name & userenv displayed on every page. they are in a librarian_information div.
* introducing a category_type into categories. It can be A (adult), C (children), P (Professionnal), I (institution/organisation).
* each category_type has it's own forms to create members.
* the borrowers table has been heavily modified (many fields changed), to get something more logic & readable
* reintroducing guarantor/guanrantee system that is now independant from hardcoded C/A for categories
* updating templates to fit template rules
(see mail feb, 17 on koha-devel "new features for borrowers" for more details)
the system preference prefered date format.
improvement: book fund list and budget list screen redesigned. Filters on
each field. Columns are not sortable yet. Using DHTML Calendar to fill date
fields instead of manual filling. Pagination system. From the book fund
list, you can reach the budget list, filtered on a book fund, or not. A
budget can be added only from book fund list screen.
bug fixed: branchcode was missing in table aqbudget.
bug fixed: when setting a branchcode to a book fund, all associated budgets
move to this branchcode.
modification: when adding/modifying budget/fund, MySQL specific "REPLACE..."
statements replaced by standard SQL compliant statement.
bug fixed: when adding/modifying a budget, if the book fund is associated to
a branch, the branch selection is disabled and set to the book fund branch.
zebradb=localhost
zebraport=<your port>
zebrauser=<username>
zebrapass=<password>
The zebra.cfg file should read:
perm.anonymous:r
perm.username:rw
passw.c:<yourpasswordfile>
Password file should be prepared with Apaches htpasswd utility in encrypted mode and should exist in a folder zebra.cfg can read
simple links.
improvement: support of itemtype icons on prog template. The icons are
displayed on itemtypes management screen and on moremember screen.
improvement: use of pagination_bar on itemtypes management screen.
new: function were added in C4::Koha to manage itemtype image location
(local/remote). Warning: you must copy or symlink the itemtypeimg directory
from the opac template into the intranet template.
display in the pagination bar was wrong on extreme case (when number of
items equals the pagesize). Calculation replaced by a generic function
getnbpages in C4::Koha. This function could be useful elsewhere than in
stpwords management screen and avoid calculation bugs as I did.
template.
improved: C4::Output::pagination_bar builds an HTML pagination bar with no
language dependency. This function hugely simplifies templates and offers a
standard pagination method. This function also improves preformances.
your data are truely utf-8 encoded in your database, they should be
correctly displayed. "set names 'UTF8'" on mysql connection (C4/Context.pm)
is mandatory and "binmode" to utf8 (C4/Interface/CGI/Output.pm) seemed to
converted data twice, so it was removed.
allow to get a list of letters for a module.
overduerules is a tool relying on letter.pl
It will allow ppl to manage three levels of overdue thanks to a brand new overduenotice script to come out soon.
longer necessary. If we need to convert from MARC-8 for display, we should:
1. use utf-8
2. do it with MARC::Charset
If you still need it, let me know and I'll put it back in.
connection object by doing:
my $Zconn = C4::Context->Zconn;
My initial tests indicate that as soon as your funcion ends
(ie, when you're done doing something) the connection will be
closed automatically. There may be some other way to make the
connection more stateful, I'm not sure...
install search-test.pl on your opac (or the intranet, if intranet youll need to put the tmpl file in the intranet too)
NOT FOR PRODUCTION, purely for testing
vary between different uses of the same authorised subject heading causing
linked subject searches from the detail view to fail. Other presentation fixes
within getMARCsubjects.
Replacing zebraserver and zebraport by zebradb in koha.conf . The zebra connexion can be done in a single variable "server:port/database". I used this in dirty searchMarc.pm as well as in Biblio.pm. I've replaced your code in Search.pm
It just does a simple cql search at the moment, takes a hashref of keyed by variable.
I have introduced 2 new variables to koha.conf
zebraserver and zebraport Ill add to the installer to get these set.
Very very very much a work in progress still. Thanks to paul for getting things up to this point.
Seems not to break too many things, but i'm probably wrong here.
at least, new features/bugfixes from 2.2.5 are here (tested on some features on my head local copy)
- removing useless directories (koha-html and koha-plucene)
some explanations :
- updater/updatedatabase => will transform all tables in innoDB (not related to utf8, just to warn you) AND collate them in utf8 / utf8_general_ci. The SQL command is : ALTER TABLE tablename DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci.
- *-top.inc will show the pages in utf8
- THE HARD THING : for me, mysql-client and mysql-server were set up to communicate in iso8859-1, whatever the mysql collation ! Thus, pages were improperly shown, as datas were transmitted in iso8859-1 format ! After a full day of investigation, someone on usenet pointed "set NAMES 'utf8'" to explain that I wanted utf8. I could put this in my.cnf, but if I do that, ALL databases will "speak" in utf8, that's not what we want. Thus, I added a line in Context.pm : everytime a DB handle is opened, the communication is set to utf8.
- using marcxml field and no more the iso2709 raw marc biblioitems.marc field.
- the last 5 issues are now shown, and their status can be changed (but not reverted to "waited", as there can be only one "waited")
- the library can create a "distribution list". this paper contains a list of borrowers (selected from the borrower list, or manually entered), and print it for a given issue. once printed, the sheet can be put on the issue and distributed to every reader on the list (one by one).
* synch with rel_2_2. Probably the last non manual synch, as rel_2_2 should not be modified deeply.
* code cleaning (cleaning warnings from perl -w) continued
actually existed; so if there was no isbn, and the issn was blank,
the item would be assigned a random biblionumber and the breeding farm
would report that the item already exists in the catalog (even though
it didn't). This fix adds a check to determine whether the imported
record has an issn before assigning a matching biblionumber.
But C4::Date uses Date::Manip, which in the authors own words
"If you look in CPAN, you'll find that there are a number of Date and Time packages. Is Date::Manip the one you should be using? In my
opinion, the answer is no most of the time."
He goes on to say, that because Date::Manip is powerful and is written fully in perl its also slow.
Now Circulation needs to be as fast as possible. And C4::Date isnt actually doing anything particularly tricky,
So im working on C4::Circulation::Date to be a replacement, in an attempt to win some speed
This module is for dealing with user submitted reviews of items
Currently it allows (with some scripts) a user to review any item on their reading record.
The review is marked unvetted, and a librarian must vette and approve the review before it can show to the public
The scripts to add/edit a review, and to display them for the opac are done.
The script to display a list of reviews waiting vetting for the librarians has also been done.
IMPORTANT NOTE : the MARCkoha2marc sub API has been modified. Instead of biblionumber & biblioitemnumber, it now gets a hash.
The sub is used only in Biblio.pm, so the API change should be harmless (except for me, but i'm aware ;-) )
* run updater/updatedatabase to create imageurl field in itemtypes.
* go to Koha >> parameters >> itemtypes >> modify (or add) an itemtype. You will see around 20 nice images to choose between (thanks to owen). If you prefer your own image, you also can type a complete url (http://www.myserver.lib/path/to/my/image.gif)
* go to OPAC, and search something. In the result list, you now have the picture instead of the text itemtype.
replacing 2.2 marc search by a Net::z3950 search (waiting for Perl/Zoom)
works only for title/author/isbn search, any other search is considered as 'keywork search' (=anywhere
* go to koha cvs home directory
* in misc/zebra there is a unimarc directory. I suggest that marc21 libraries create a marc21 directory
* put your zebra.cfg files here & create your database.
* from koha cvs home directory, ln -s misc/zebra/marc21 zebra (I mean create a symbolic link to YOUR zebra directory)
* now, everytime you add/modify a biblio/item your zebra DB is updated correctly.
NOTE :
* this uses a system call in perl. CPU consumming, but we are waiting for indexdata Perl/zoom
* deletion still not work
* UNIMARC zebra config files are provided in misc/zebra/unimarc directory. The most important line being :
in zebra.cfg :
recordId: (bib1,Local-number)
storeKeys:1
in .abs file :
elm 090 Local-number -
elm 090/? Local-number -
elm 090/?/9 Local-number !:w
(090$9 being the field mapped to biblio.biblionumber in Koha)
* removing useless subs
* removing some subs that are also elsewhere
* renaming all OLDxxx subs to REALxxx subs (should not change anything, as OLDxxx, as well as REAL, are supposed to be for Biblio.pm internal use only)
It provides the user with the list of items that have been ordered for a delay and are NOT yet received.
The user may filter by supplier or branch or delay.
This page is still under developpement.
Goal is to make it ready to print to reorder the books.
2 new functions have been written in Acquisition module :
getsupplierlistwithlateorders
getlateorders
branches has been modified to manage branch independancy.
Request for comment.
STILL UNDER developpment
don't update your cvs if you want to have a working head...
this commit contains :
* updater/updatedatabase : get rid with marc_* tables, but DON'T remove them. As a lot of things uses them, it would not be a good idea for instance to drop them. If you really want to play, you can rename them to test head without them but being still able to reintroduce them...
* Biblio.pm : modify MARCgetbiblio to find the raw marc record in biblioitems.marc field, not from marc_subfield_table, modify MARCfindframeworkcode to find frameworkcode in biblio.frameworkcode, modify some other subs to use biblio.biblionumber & get rid of bibid.
* other files : get rid of bibid and use biblionumber instead.
What is broken :
* does not do anything on zebra yet.
* if you rename marc_subfield_table, you can't search anymore.
* you can view a biblio & bibliodetails, go to MARC editor, but NOT save any modif.
* don't try to add a biblio, it would add data poorly... (don't try to delete either, it may work, but that would be a surprise ;-) )
IMPORTANT NOTE : you need MARC::XML package (http://search.cpan.org/~esummers/MARC-XML-0.7/lib/MARC/File/XML.pm), that requires a recent version of MARC::Record
Updatedatabase stores the iso2709 data in biblioitems.marc field & an xml version in biblioitems.marcxml Not sure we will keep it when releasing the stable version, but I think it's a good idea to have something readable in sql, at least for development stage.
- a mail is sent everytime an issue if recieved in serial module. The mail is sent to all borrowers that have put an alert on the subscription (remember that you can put an alert only if the librarian have defined a "letter" as mail to send)
- the librarian can see, for a given subscription, who has put an alert.
* adding a package Letters.pm, that manages Letters & alerts.
* adding feature : it's now possible to define a "letter" for any subscription created. If a letter is defined, users in OPAC can put an alert on the subscription. When an issue is marked "arrived", all users in the alert will recieve a mail (as defined in the "letter"). This last part (= send the mail) is not yet developped. (Should be done this week)
* adding feature : it's now possible to "put to an alert" in OPAC, for any serial subscription. The alert is stored in a new table, called alert. An alert can be put only if the librarian has activated them in subscription (and they activate it just by choosing a "letter" to sent to borrowers on new issues)
* adding feature : librarian can see in borrower detail which alerts they have put, and a user can see in opac-detail which alert they have put too.
Note that the system should be generic enough to manage any type of alert.
I plan to extend it soon to virtual shelves : a borrower will be able to put an alert on a virtual shelf, to be warned when something is changed in the virtual shelf (mail being sent once a day by cron, or manually by the shelf owner. Anyway, a mail won't be sent on every change, users would be spammed by Koha ;-) )
- Trying to get a basket not owned by so of his own branch leads to mainpage.
- Lists onlys ths baskets owned by someon of user's brach.
Auth.pm now sends a cookie with userenv informations.