2010/04/04

Lootusrikas murelaps ehk veel kord EventListist

EventList, nagu varemgi öeldud, on sisuhaldussüsteemi Joomla lisakomponent, mis võimaldab ehitada üles sündmuste registri, registreerunud kasutajal aga võimaldab lisada sündmusi koos kirjelduse ja toimumiskohaga, kusjuures need muutuvad automaatselt avalikuks. Saadaval www.schlu.net

Sündmusi saab vaadata üldise listina, toimumiskohtade kaupa ning kategooriate kaupa. Toimumiskoha puudumisel võib selle süsteemi lisada. Sellel komponendil on eesti keele tugi, autoriks www.eraser.ee .

EventlistiCal on lisandplugin ja -moodul, mis väljutab EventListi keskkonnas olevat infot kalendrirakenduste jaoks iCal kujul. Seega suudab sündmusi reaalajas lugeda Google kalender (ka vahendada) ja lauaarvuti kalendrirakendused, millel on iCal tugi. Teisisõnu tähendab see piiramatuid võimalusi levitada infot sündmuste kohta.

Fabrik kui hüperuniversaalne rakenduste loomise tööriist on abivahend EventListi info täiendavaks töötlemiseks ja muude andmetega sidumiseks. Fabriku abil saab luua ka täiendava RSS väljundi.

Fabrikust siiski eraldi juttu ei tule. Küll aga EventListiga seotud puudustest.

Puudused tähtsuse järjekorras, mis võivad olla kõrvaldatavad ja miks mitte Eestis

EventListiCal

1. Kui tegemist on mitmepäevase sündmusega (kogu päeva sündmus, kellaaegu pole märgitud), siis näitavad Google kalender ja lauaarvuti kalendrirakendused sündmust ühe päeva võrra lühemana.

Viga on genereeritud väljundkoodis. Asi on selles, et kui lõpukuupäev (DTEND) on viimasel päeval, siis saab koodi lugev kalendrirakendus aru nii, et sündmus lõpeb sellel viimasel kuupäeval kell 00:00 ning ta ei täidagi seda viimast kuupäeva kalendripildis ära.

Väljakutse 1. Kui sündmus täidab mitut tervet päeva (mitmepäevane all day), siis peab väljuvas iCal koodis viimane päev olema tegelikule lõpukuupäevale järgnev päev:
* tabelis väli dates
** tabelis väli enddates

algus* 30.12.2009 -> DTSTART:20091230
lõpp** 31.12.2009 - > DTEND:20100101
algus 27.02.2010 -> DTSTART:20100227
lõpp 28.02.2010 - > DTEND:20100301
ja muidugi
algus 27.02.2012 -> DTSTART:20120227
lõpp 28.02.2012 - > DTEND:20100229

Väljakutse 2. Kui üritus on algus- ja lõpukellaaegadega ning sisestatud lõpukellaaeg on "varasem" kui alguskellaaeg, (miski algab hilja õhtul ning lõpeb pärast keskööd), siis võiks eventlistical seda "mõista" nii, et väljundkoodis on olematu lõpukuupäeva asemel järgmine kuupäev. Me ju tavaliselt "unustame" üritust kirjeldades, et kui miski läheb üle kesköö, siis ta ju lõpeb järgmisel kalendripäeval!

Kujutlegem nüüd sisestust EventListi ja aegu väljendavat väljundkoodi, mis sellega võiks kaasneda:
CASE1: miski algab 31.12.2009 22:00 ja lõpeb 04:00
->
DTSTART:20091231T2200Z
DTEND:20100101T0400Z

CASE2: miski algab 28.02.2010 22:00 ja lõpeb 02:00
->
DTSTART:20100228T2200Z
DTEND:20100301T0200Z

CASE3: miski algab 28.02.2012 22:00 ja lõpeb 02:00
->
DTSTART:20120228T2200Z
DTEND:20120229T0200Z

Väljakutse 3. Juhul, kui sündmusele on märgitud ainult kuupäev ja alguskellaaeg, siis võiks väljundkoodis DTEND=DTSTART, vähemalt vaikimisi.

NB! Minu isiklikud katsed neid puudusi kõrvaldada peaaegu et õnnestusid, aga hätta jäin seal, kus vahetus kuu või aasta.  

2. Puudused, mis on kohe copy-paste meetodil kõrvaldatavad

Viited neile ning ka lisatavad ja muudetavad koodiread koos vastavate failinimedega leiate aadressilt

http://www.schlu.net/forum/index.php?f=8&t=7589&rb_view=viewtopic&start=30 . Lühidalt öeldes on tegemist ajavööndiprobleemi ning väljuva lingi probleemiga.

EventList ehk komponent ise

1. Pole korraldaja ehk kontaktisiku välju või tabelit

Mul pole hetkel väga selget ehk üht ja ainuõiget ettekujutust, mismoodi peaksid korraldaja andmed olema seotud kasutajakontoga, aga kindlasti peavad nad seda olema. Kaaluda võiks võimalust siduda see olemasolul CiviCRM-iga.

Korraldaja võib olla kas isik või siis organisatsioon, keda keegi kontaktisik esindab. Isiku nimi peaks kindlasti olema jaotatud eesnimeks, (keskmiseks nimeks) ja perekonnanimeks, et neid andmeid oleks võimalik normaalselt sorteerida. Kontaktisik võib olla kasutaja. Kindlasti on tal telefon, e-post ja postiaadress. Viimatinimetatu võib olla ka üks sündmustekohtadest.

Näiteks nii:

Korraldaja
on isik/organisatsioon
Isik:
eesnimi, keskmine, perekonnanimi
või vali (CiviCRM-ist, ...)
telefon
e-mail
kasutaja? jah/ei
kui jah, siis valid olemasolevatest või lood uue

Organisatsioon:
Nimi
või vali (CiviCRM-ist etc...)
Kontaktisik
eesnimi, keskmine, perekonnanimi 
või vali (CiviCRM...)
telefon
e-mail
kasutaja? jah/ei (kui jah, siis valid olemasolevatest või lood uue)
Asukoht: valid peakontori asukohtade hulgast või lood uue

2) sündmuse korduvust saab määrata, kuid seda ei kuvata originaalis mitmekaupa ette. Üks lisaplugin seda siiski näib võimaldavat, aga see vajab eesti keelde tõlkimist.

3) asukohtade aadressiväljade täitmine tuleks muuta hõlpsamaks

Kaaluda võiks mingit cascading dropdown tüüpi väljade süsteemi, kus mingi aadressiga kaasneb automaatselt teatud postiindeks. Viimaseid on vaja selleks, et kaardirakendus näitaks õigeid kohti.

4) pole sündmuste hierarhilist struktuuri; EventList võiks olla esimene

See oleks tõsine väljakutse - võimalus luua raamsündmusi, selle alamsündmusi ja kui vaja, siis veel omakorda nende alamsündmusi! Tihtilugu on ju meil tegemist näiteks mitmepäevaste festivalidega, mille raames toimub omakorda sündmusi konkreetsetel kuupäevadel, kellaaegadel ja kohtades.

Sama käib asukohtade kohta. Üks asukoht võib endas sisaldada mitut väiksemat asukohta. Näiteks kui toimub mõni suur seminar kusagil hotellis teatud kuupäeval, siis selle raames toimuvad erinevad alamüritused nt ruumis Alfa, ruumis Beeta jne.

Mõni alamsündmus võib olla nö väikesündmuse staatuses, mis koosnebki vaid algusajast, nimetusest, kirjeldusest ja kontaktisiku andmetest, kui vaja.

Väljund? Raamsündmuste juures kuvatakse alamsündmusi, igast sündmusest läheb omakorda link detailideni. NB! ICal väljundis on alamsündmused kõik kirjelduse osas! Väikesündmusi ei eksporditakski.

Näiteks:

Rakvere linna päevad

Algus 11.06.2010

Lõpp 13.06.2010

Reede, 11. juuni
10:00 - 18:00 raamatulaat (Lääne-Virumaa Keskraamatukogu) - link läheb üksikasjadeni, kusjuures seegi on omakorda raamüritus ning LVKRK on raamasukoht

20:00 - Rakvere linna päevade avamine (keskväljak) - link detailideni

Laupäev, 12. juuni

10:00 - 18:00 Pika tänava laat (Pikk tn) - link selle raamürituse üksikasjadeni
11:00 - 12:00 Lahtised uksed Ida-Eesti Päästekeskuse Rakvere komandos (Tallinna 38) - link

Pika tänava käsitöölaat (üksikasjad)

12:00 - 18:00 noortebändide festival (Virumaa Teataja hoov) - link selle raamürituse üksikasjadeni

Vaata ka http://www.schlu.net/forum/index.php?f=18&t=13642&rb_view=viewtopic

 

EventList QIVVA kalendrimoodul

1) Kuu nimetusel pole linki kuu üritusteni.

2) Kuu vahetamine teeb iga kord kogu lehele reloadi.

3) Pole aastavaadet. Aga võiks ju olla!

See on siis praegu kõik, mis mul on öelda Joomla lisakomponendi EventList kohta. Olen seda öelnud ka arendajate endi foorumis.

Kommentaare ei ole: