Hi all, I just discovered (much to my dismay) that fines are broken in the 2.2.x and greater series. At first glance, one reason for this is that the categoryitem table has been removed. So this is a good example of the kind of QA problems we're having with this project. It's going to take many hours for someone to hunt back for the history of this issue, find out who broke what when, then figure out how to fix it, then to commit the fix. There's got to be a better way. Cheers, -- Joshua Ferraro VENDOR SERVICES FOR OPEN-SOURCE SOFTWARE President, Technology migration, training, maintenance, support LibLime Featuring Koha Open-Source ILS jmf@liblime.com |Full Demos at http://liblime.com/koha |1(888)KohaILS
Joshua Ferraro <jmf@liblime.com>
I just discovered (much to my dismay) that fines are broken in the 2.2.x and greater series. At first glance, one reason for this is that the categoryitem table has been removed.
Using Emacs's PCL-CVS tools, I see it was removed from misc/koha.mysql in revision 1.9 on 12 November 2004 by tipaul with a comment of "koha 2.2DB structure (final ? I hope...)" Paul, why was this removed? I can't find it in release notes or on the list from around that time. I guess it may be a week or more before he replies :-/ Is there a quick fix?
So this is a good example of the kind of QA problems we're having with this project. It's going to take many hours for someone to hunt back for the history of this issue, find out who broke what when, then figure out how to fix it, then to commit the fix. There's got to be a better way.
Less attacking, more hacking and better planning, please. Part of the problem for me is that I've no clear sense what direction or timescale the 2.2 and 2.3 branches are heading for. Paul recently asked for opinions on 2.2, but I don't remember any "closure" to that. I don't know 2.2 beyond 2.2.4 and I've no idea where 2.3 is going when. I'm sorry I've little time for koha IRC just now, but please can you post roadmaps to the lists and tell us what is most helpful to work on? Never know, more lurkers may step forwards with patches. Best wishes, -- MJ Ray (slef), K. Lynn, England, email see http://mjr.towers.org.uk/
Joshua Ferraro wrote:
Hi all,
I just discovered (much to my dismay) that fines are broken in the 2.2.x and greater series. At first glance, one reason for this is that the categoryitem table has been removed.
Hi Joshua I think it got removed and replaced with the issuingrules table. So what needs to happen is C4::Circulation::Fines needs to be edited. The subroutine CalcFine needs to be changed to use issuingrules not categoryitem. my $sth=$dbh->prepare("Select * from items,biblioitems,itemtypes,issuingrules where items.itemnumber=? and items.biblioitemnumber=biblioitems.biblioitemnumber and biblioitems.itemtype=itemtypes.itemtype and issuingrules.itemtype=itemtypes.itemtype and issuingrules.categorycode=? and (items.itemlost <> 1 or items.itemlost is NULL)"); Something like that oughta work (quick hack, needs tidying, but appears to work with my tests). Id make the change and commit it, but my wife is in surgery today, so my mind is not on the job. Im fairly sure thats the fix it needs though. Chris -- Chris Cormack Katipo Communications Programmer www.katipo.co.nz 027 4500 789
Thanks for the tip Chris. Hope all is well with Laurel. I think you're right that there's still some tidying to do. So, who's using fines management in Koha? Could you describe your general expectations of the fines component? I'm thinking of re-writing it and having system parameters to define its behavoir ... anyone have any opinions on what should be 'parameterized'? Cheers, -- Joshua Ferraro VENDOR SERVICES FOR OPEN-SOURCE SOFTWARE President, Technology migration, training, maintenance, support LibLime Featuring Koha Open-Source ILS jmf@liblime.com |Full Demos at http://liblime.com/koha |1(888)KohaILS
I don't use fines, we punish our users with days without service (suspensions). We developed our oun hacks for handle of suspensions. If you're heading to a rewriting you might think in enabling or desabling fines, or other punishing mecanisms, from the preferences. Andres Joshua Ferraro wrote:
Thanks for the tip Chris. Hope all is well with Laurel. describe your general expectations of the fines component? I'm thinking of re-writing it and having system parameters to define its behavoir ... anyone have any opinions on what should be 'parameterized'?
Cheers,
To give an idea of what can be derived from an analytical features list that also includes features not yet implemented and not on the roadmap consider the example of fines. Circulation needs and practises is not an area of library science expertise for me personally. Please correct any errors. In the full form of the outline with combining features from current and potential versions, there is the following edited extract. Of course, this is never meant to be seen because it is difficult to read and follow at length. The edited outline extract is followed by a descriptive explanation based on the outline. 16. Circulation. 1. Circulation Rules. 1. Circulation Material Type Based. 4. Fines. 1. Overdue fine rate. [current, version 2.2.3] 2. Lost material fine. [forthcoming, version unspecified] 2. Library Based. 4. Fines. 1. Overdue fine rate. [current, version 2.2.3] 2. Lost material fine. [forthcoming, version unspecified] 3. Item Based. 2. Fines. 1. Lost Material Fine. 1. Recorded replacement price. [current, version 2.2.3] 2. Real time web service replacement cost based. [forthcoming, version unspecified] 4. Patron Privilege Type Based. 4. Fines. 1. Overdue fine rate. [current, version 2.2.3] 2. Lost material fine. [forthcoming, version unspecified] Circulation periods in Koha are currently set by circulation material types (implemented as biblioitems.mediatype); library (branches); and patron privileges. [Here, I have edited out the portion of the outline section that shows the circulation periods to show only fines.] Lost materials fines are currently set by items.replacementprice. This value is only filled by normal accounting acquisitions. Something seems to be missing for simple accounting acquisitions. A webservices request to a supplier at the time of lost material fine assessment could be used to fill a value or even update an existing value for items.replacementprice. Calculating library time in ordering, shipping cost, and possible need for currency conversion from the supplier might all be factors needing consideration. I expect that is a few feature elements too far for what you had in mind for fines at the moment. A complimentary and much simpler approach would be to provide parameters for lost material fines set by the same elements that govern circulation periods: circulation material type, library branch, and patron privilege type. The circulation rules page could then be used to set one more value for when items.replacementprice was empty or when items.replacementpricedate was older than a set date. Thomas D Quoting Joshua Ferraro <jmf@liblime.com> :
---------------- Beginning of the original message ------------------
Thanks for the tip Chris. Hope all is well with Laurel.
I think you're right that there's still some tidying to do. So, who's using fines management in Koha? Could you describe your general expectations of the fines component? I'm thinking of re-writing it and having system parameters to define its behavoir ... anyone have any opinions on what should be 'parameterized'?
Cheers, -- Joshua Ferraro VENDOR SERVICES FOR OPEN-SOURCE SOFTWARE President, Technology migration, training, maintenance, support LibLime Featuring Koha Open-Source ILS jmf@liblime.com |Full Demos at http://liblime.com/koha |1(888)KohaILS
------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Koha-devel mailing list Koha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/koha-devel
------------------- End of the original message ---------------------
--------------------------------------------- Protect your mails from viruses thanks to Alinto Premium services http://www.alinto.com
Koha-devel has stopped sending me messages today. --------------------------------------------- Protect your mails from viruses thanks to Alinto Premium services http://www.alinto.com
Chris Cormack a écrit :
Joshua Ferraro wrote:
Hi all,
I just discovered (much to my dismay) that fines are broken in the 2.2.x and greater series. At first glance, one reason for this is that the categoryitem table has been removed.
Hi Joshua
I think it got removed and replaced with the issuingrules table. So what needs to happen is C4::Circulation::Fines needs to be edited. The subroutine CalcFine needs to be changed to use issuingrules not categoryitem.
my $sth=$dbh->prepare("Select * from items,biblioitems,itemtypes,issuingrules where items.itemnumber=? and items.biblioitemnumber=biblioitems.biblioitemnumber and
biblioitems.itemtype=itemtypes.itemtype and
issuingrules.itemtype=itemtypes.itemtype and
issuingrules.categorycode=? and (items.itemlost <> 1 or items.itemlost is NULL)");
Something like that oughta work (quick hack, needs tidying, but appears to work with my tests).
Id make the change and commit it, but my wife is in surgery today, so my mind is not on the job. Im fairly sure thats the fix it needs though.
OK, I've fixed it myself. I checked for categoryitem use, and I don't think it's used anymore. -- Paul POULAIN Consultant indépendant en logiciels libres responsable francophone de koha (SIGB libre http://www.koha-fr.org)
Joshua: I agree with you, a lot more work in Quality assurance has to be done. Since Koha is free software we have nobody to blame; other than we, the users and developers of Koha. After a year deeply involved with the internals of Koha I realize that a lot has been done, but a lot more has to be done. Allmost every were in the source code you find repeated code. You can find functions that update or insert records and miss fields. Concurrency is not very well handled. As a base product we have an outstanding product. However, a lot has to be done; that leads to a healthy free software project. I think that next release of Koha should put some focus not only in bug fixing, but also in getting rid of software constructions that are no longer in use or do the same thing. This is my 20 cents peso uruguayo (sorry, no dollars or euros). Andres
So this is a good example of the kind of QA problems we're having with this project. It's going to take many hours for someone to hunt back for the history of this issue, find out who broke what when, then figure out how to fix it, then to commit the fix. There's got to be a better way.
participants (8)
-
Andres Tarallo -
Chris Cormack -
Joshua Ferraro -
MJ Ray -
Paul POULAIN -
Ron Wickersham -
Tarallo, Andres -
Thomas D