[Koha-devel] Pre-RFC on new discrete calendar

Philippe Blouin philippe.blouin at inlibro.com
Mon Jul 25 14:32:11 CEST 2016


Good afternoon Katrin!

Let's start with the backend: this is just a simple script that fills 
the calendar ahead of time (waaay ahead of time) to allow the user to 
modify schedules easily.  1 year is just a hardcoded value, it could as 
well be an argument allowing any number of days in the future.  Same for 
the past: during updatedatabase, this creates one but could create two 
years in the past based on the info in the current calendar tables.  In 
the end, the point is to have a table entry for each day, specifying 
which day it WAS opened (for hourly fine calculation) and which day it 
will be opened (for hourly checkout or just for displaying the library 
open hours on the OPAC).  Going a year in the future, things are a bit 
dumb when creating, but always replicate the week before, except for 
items with notes (holiday) that are fetched on the calendar year a year 
before.  Then the librarian has plenty of time to adjust anything.

Which brings us to the UI.  Mine is ugly, but it would be easy to create 
a nice one AND SIMPLE one (coding) and powerful one (for users).  With 
that simple backend, it's very easy to simply allow multiple selections 
in the calendar widget, the modify opening hours, or holiday close with 
a note.  Or better: select a week anywhere in the calendar, then copy 
that to a given range.  3 days, a month, 3 months...   Very simple in 
the UI, very few clicks.  Very simple to code in the backend.

So in the end, recovering the original work or Kyle's work or defining 
new standard, we have a calendar page with a simple calendar and below 
it a few edit box (opening hours, closing, notes, closed checkbox) and a 
apply button.  On the right, like right now, we can display all "special 
dates", which are the ones with a "note" entry.  In yellow those that 
are on days still opened, in pink those days that are marked as closed.  
Of course, all UI schemes are very open to suggestion.  But it would be 
simple and naturally intuitive.

THEN we get to the performance benefits I'm striving for....

Right now, my first step would be to create a patch that creates the new 
table and modify the Koha/C4 Calendar modules to seed the new one with 
any modification of the old ones.  So no impact on current behavior.  
Then second step would be to create the new UI, without touching the old 
one.  THEN next step would be to transfer the functionnality usages.  
Basically in reverse order of what I have available right now.  :-)

Philippe Blouin,
Responsable du développement informatique

Tél.  : (888) 604-2627
philippe.blouin at inLibro.com <mailto:philippe.blouin at inLibro.com>

inLibro | pour esprit libre | www.inLibro.com <http://www.inLibro.com>
On 07/24/2016 04:42 PM, Katrin Fischer wrote:
> Hi Philippe,
>
> thx for trying to get things moving again - I know there are quite a lot
> calendar related bugs to be found in bugzilla.
>
> Can you explain a bit about how this would change the GUI for the users?
> Do you have to keep it up to date or does the table get filled
> automatically for recurring events?
>
> I am a bit concerned about the limitation of one year into the past and
> one year into the future. What happens if a due date goes beyond that or
> an item is overdue before that?
>
> Katrin
>
> Am 21.07.2016 um 18:43 schrieb Philippe Blouin:
>> Hi!
>>
>> I'm throwing a line here, and I'd just like to get a feel for the value
>> of offering some work to the community.  Mind you, the work is "big" so
>> honest responses could save us lot of wasted hours.
>>
>> We've developed a parallel calendar table to specify each individual day
>> if it's opened or not (instead of rules and exception).  We added to it
>> the opening hours, and keep a year of them in the past, and a year in
>> the future.
>> The reasonning being:
>> - We need the opening hours.  They need to vary season to seasons.  We
>> need them for hourly and minute loans.
>> - Exception and holidays and etc... are complicated.  To manage, to
>> calculate, to fix.  We need the past info as well, to calculate precisely.
>> - Performance.  Calculating with C4/Koha Calendars is sloooooooooow.
>> Our little table cut fines.pl calculation times by 97%.  Not a typo.
>> Checkout improvement by 30-60% but metric is unreliable so take with
>> grain of salt this one.
>>
>> So before I go and write a wiki RFC, then open bugzillas, make the code
>> community acceptable (we're not using Schemas), complete it, write
>> tests, etc...  Is there an interest?  Would it answer a need (outside of
>> our clients) ?  Maybe a subset?
>>
>> All comments, suggestions, questions are welcomed.
>>
>> High regards,
>>
>> Philippe Blouin,
>> Responsable du développement informatique
>>
>> Tél.  : (888) 604-2627
>> philippe.blouin at inLibro.com <mailto:philippe.blouin at inLibro.com>
>>
>> inLibro | pour esprit libre | www.inLibro.com <http://www.inLibro.com>
>>
>>
>>
>> _______________________________________________
>> Koha-devel mailing list
>> Koha-devel at lists.koha-community.org
>> http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
>> website : http://www.koha-community.org/
>> git : http://git.koha-community.org/
>> bugs : http://bugs.koha-community.org/
>>
> _______________________________________________
> Koha-devel mailing list
> Koha-devel at lists.koha-community.org
> http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
> website : http://www.koha-community.org/
> git : http://git.koha-community.org/
> bugs : http://bugs.koha-community.org/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20160725/ba2cd8f0/attachment.html>


More information about the Koha-devel mailing list