Adding encoding for z3950 server information.
Uses Text::Iconv for conversion (ISO6937 and ISO_5428 and ISO5427)
For ISO 5426 (ANSEL or MARC-8) new char_decode5426 based on marc4j tool.
Not Tested on LOC or any USMARC z3950 source. But tested OK on BNF and SUDOC.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
* fix to bug in version 3.00.00.038 update (bad SQL)
* putting finesCalendar and CircControl in Circulation tab in
systempreferences
* changing default for IndependantBranches to 0
* removing ' from integers
* fix canreservefromotherbranches nomenclature
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Changing GanBookBeIssued to use this systempreference
Set to homebranch by default Paul and others you might want to switch this to holdingbranch to get the behaviour you are used to
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Also put the prev/next page buttons in the same place relative to the
action links
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Was in 'Catalogue', but this feature is not related to
cataloguing but OPAC search logging.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
replacing the @ by _ in the template, wich is valid.
I also have changed a little the behaviour : the New button appears only
for >010 fields (<10 have only the data, no real subfield)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
the 3 parameters :
intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
intranetstylesheet => C4::Context->preference("intranetstylesheet"),
IntranetNav => C4::Context->preference("IntranetNav"),
are filled by Auth.pm automatically, removing them in templates
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Database schema definitions and system preferences support
for defining classification sources and filing rules.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Also added results of two subtests missing from the template.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
- pay.pl fixed, the librarian can see patron fines & mark them paid
- fines2.pl fixed, the script now calculate the fines correctly from the finerules :
* itemtype / patron category if it exist
* itemtype / default if needed
- renamed misc/fines.pl as fines-sanop.pl
- added 2 systempreferences:
* MaxFine: the max amount a patron can be charged for an item
* NoReturnSetLost: how many days of late before a non returned item is marked lost & the patron charged for the full cost of replacement
(those values where hardcoded in fines2.pl
- C4/Circulation/Fines.pm has been removed (unused duplicate of C4/Overdues)
Note that SANOP feature about notify levels have NOT been ported here. I think they are too specific now, and the code is poorly written
I've renammed fines.pl to fines-sanop.pl to point that it is specific.
Thus, all notify_id related features are not used by anything (and always 0)
Can be interesting to reintroduce them, but that will probably be a large work...
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
updating fines rules management :
- replacing '*' by default
- removing bottom line (*) that means nothing
- dealing correctly with .0000 fine values
- fixing fine storage
still fines.pl to do
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
issuing rules are working as expeced with this commit.
working on finesrules now
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
IMPORTANT NOTE : all existing test database for 3.0 must manually delete ALL constraints on issuingrules table
(the update22to30.pl don't contain the constraints anymore, as kohastructure.sql, so are concerned only the existing 3.0 tests databases)
Filling issuingrules table :
- the issuingrules table can't have a constraint on categorycode, as we have a '*' categorycode (=default issuingrule)
- reintroducing the "default" issuingrule column
- changing some text ('*' replaced by something more explanatory)
- handling correctly the '0' (that is different from 'undefined'
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
lot of bugs to fix...
- a foreign key on patron category is stupid as we have a wildcard
- having a wildcard on itemtype is useless, removing it in template
- reindenting & removing some commented lines
- fixing some SQL bugs (insert/update lines)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
lot of bugs to fix...
- a foreign key on patron category is stupid as we have a wildcard
- having a wildcard on itemtype is useless, removing it in template
- reindenting & removing some commented lines
- fixing some SQL bugs (insert/update lines)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Zebra (and NoZebra) doesn't deal with stopwords.
It search the exact string the user types.
This commit :
- reintroduces stopword management script that was in 2.2
- add stopword management to Zebra & NoZebra searches.
PS : fortunatly, the stopwords table was not removed by updatedatabase, so nothing to do here.
(& the table is in kohastructure.sql)
Signed-off-by: Chris Cormack <crc@liblime.com>
So this implies quite a change for files.
Sorry about conflicts which will be caused.
directory Interface::CGI should now be dropped.
I noticed that many scripts (reports ones, but also some circ/stats.pl or opac-topissues) still use Date::Manip.
- Printer selection for add a new branch, is now working
- the branchname of librarian is not display automaticly if you add a new branch
- the printqueue is now displayed on branches infos page and edit branch page
Rental discount effects the amount a borrower is charge to issue an item
eg, if a borrower category has rental discount of 20 (its a percentage) on itemtypes DVD, and a dvd costs $2 to borrow normally, then it will cos them $1.60
If not set it defaults to zero
Needed by a library.
There will be a new table to go with this plus some changes to the add/modfiy members pages. But the default value for this variable will be 0(no) so most people wont see any changes at all
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
* 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.
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.
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)
* 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
* 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.
* 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 ;-) )
* module (acquisition, catalogue...) : it will be usefull to show the librarian only letters he may be interested by.
* title, that will be used as mail subject.
the letter table contains 3 fields :
* code => the code of the letter
* name => the complete name of the letter
* content => the complete text. It's a TEXT field type, so has no limits.
My next goal now is to work on point 2-I "serial issue alert"
With this feature, in serials, a user can subscribe the "issue alert". For every issue arrived/missing, a mail is sent to all subscribers of this list. The mail warns the user that the issue is arrive or missing. Will be in head.
(see mail on koha-devel, 2005/04/07)
The "serial issue alert" will be the 1st to use this letter system that probably needs some tweaking ;-)
Once it will be stabilised default letters (in any languages) could be added during installer to help the library begin with this new feature.
May be too much... Funds could be enough....
It works provided you update your base adding branchcode both in aqbookfund AND aqbudget.
If selection in budget is not needed, I shall remove.
z3950 search and import seems to works fine.
Let me explain how :
* a "search z3950" button is added in the addbiblio template.
* when clicked, a popup appears and z3950/search.pl is called
* z3950/search.pl calls addz3950search in the DB
* the z3950 daemon retrieve the records and stores them in z3950results AND in marc_breeding table.
* as long as there as searches pending, the popup auto refresh every 2 seconds, and says how many searches are pending.
* when the user clicks on a z3950 result => the parent popup is called with the requested biblio, and auto-filled
Note :
* character encoding support : (It's a nightmare...) In the z3950servers table, a "encoding" column has been added. You can put "UNIMARC" or "USMARC" in this column. Depending on this, the char_decode in C4::Biblio.pm replaces marc-char-encode by an iso 8859-1 encoding. Note that in the breeding import this value has been added too, for a better support.
* the marc_breeding and z3950* tables have been modified : they have an encoding column and the random z3950 number is stored too for convenience => it's the key I use to list only requested biblios in the popup.
Those fields doesn't have subfields.
In koha, we will use a specific "trick" : fields <10 will have a "virtual" subfield : "@".
Note it's only virtual : when rebuilding the MARC::Record, the koha API handle correctly "@" subfields => the resulting MARC record has a 00x field without subfield.
counting categoryitems is unreliable (Bug 199)
Make a note near the begining that the file has 4-space tabs, and add
Local variables at the end for Emacs people
Create output_html_with_http_headers function to contain the "print $query
->header(-type => guesstype...),..." call. This is in preparation for
non-HTML output (e.g., text/xml) and charset conversion before output in
the future.
Created C4/Interface/CGI/Template.pm to hold convenience functions specific
to the CGI interface using HTML::Template
Modified moremembers.pl to make the "sex" field localizable for languages
where M and F doesn't make sense
this script checks MARC parameters and try to detect tome errors in configuration.
currently checks 7 differents things.
The 1.3.3 MARC21 parameters fails miserabily to this test : 3 errors !!!
in ISO-8859-1.
A new C4::Charset module (tentative name) has been created to guess the
charset of a piece of HTML markup. The CGI programs will be modified to use
this module as they are encountered during translation.
But : modification of the behaviour : when you select 200 as search string in tag screen, the tags >200 are shown. Not only the 200 tag.
I think it's more logic and better.
Note : yes, checks are performed only on client side.
I agree this is not very secure, but it's a rarely modified value and koha 2.0 will need :
* IE5+ or Mozilla/Netscape 6+
* javascript enabled.
Maybe the best solution would be to include in *.inc files a test for javascript activated and refuse acces if it's not.
* bugfixes and improvements
* manage mandatory MARC subfields
* new table : authorised_values. this table contains categories and authorised values for the category. On MARC management, you can map a subfield to a authorised_values category. If you do this, the subfield can only be filled with a authorised_value of the selected category.
this submit contains everything needed :
* updatedatabase
* admin screens
* "links" management
* creation of a html-list if a subfield is mapped to an authorised value.
Note this is different from authorities support, which will come soon.
The authorised_values is supposed to contains a "small" number of authorised values for a category (less than 50-100). If you enter more authorised values than this, it should be hard to find what you want in a BIG list...
* in marc directory, the marcschema.sql contains now the new marc structure. The old one is in marcschema.old.sql.
* in marc directory, the fill_usmarc.pl script fills the structure tables with USMARC format in english. Thanks to steve for the BIG work getting them from LOC... It's still to do for UNIMARC in english, and of course in french for me ;-)
* in admin directory, the marctagstructure.pl script helps playing with the structure and modifying it... It's not ended (tomorrow, i hope it will be)
INSERT INTO systempreferences VALUES ('template', 'french', 'Template default name. Not used for instance');
INSERT INTO systempreferences VALUES ('autoBarcode', '', '1 or else. If 1, Barcode is auto-calculated');
INSERT INTO systempreferences VALUES ('acquisitions', 'normal', 'normal or simple : will use acquisition system found in directory acqui.simple or acquisition');
branchtransfers table
Circ2.pm has been changed a little
admin/branches.pl alows branches to be added, edited and deleted.
updatedatabase needs more fixing