James Kanjo wrote on 10 Sep 2009 17:26
As some of you may know, Phil Chett initiated the Event Calendar project.
Aim: To create a fully functional web-application, completely powered by Wikidot.
Progress:
At first, I helped build essentially the same calendar but with a completely different framework. It looked like this:
[[include inc:month
|year=2010
|leap-year=FALSE
|month=january
|first=friday
]]
The code is really easy to understand. The only thing to note is that the spelling of phrases is case sensitive. Also, the first= variable specifies what is the first day of the month (this can't be calculated automatically).
After that, we started using multiple mini-calendars together to create a year-long one. I then saw the opportunity to create another mini-calendar dedicated to this purpose:
[[include inc:year
|year=2009
|leap-year=FALSE
|month=august
|first=saturday
]]
The calendar returns the remainder of the year from the month you specified (in this case, from August to December).
Since this web-calendar will be “competing” with embedded web-calendars, we needed to expand the mini-calendar to a full-sized calendar. Over the past 24 hours, I've done that:
If you hover over the blue links, you get a pop-up giving you the option to create an event for that day. If your browser doesn't support pop-ups (*cough* IE6 *cough*), don't worry, you can still click on the links to do that. Also notice that there are multiple events on the same day (see the 10th of August, which has 3).
Hovering over individual events gives a short (%%short%%) preview of the content on the event's page. Clicking on the event to view it allows you to see the description in full, as well as any responses to the event.
Which reminds me! In the meantime of all of this, Helmuti-pdorf does not match any existing user name and Phil were working together on a method of “signing up” to events. Thank goodness for the timely moment of the new ListPages functions, as these were necessary for completing the project. Anyway, you can respond to events to say “yay” or “nay”, or anything else you want to say. Here's what an event page looks like:
Pages to visit:
That's the update! Sorry it took so long to post the progress over here, but I think this is probably the place where all updates should happen from now on.
~ James
An impressive piece of work. Where I come from, it's the one who documents and teaches that gets all the credit, and thus whether or not you did everything here yourself I'm awarding you one white stripe on that lovely black belt you already earned in the Wikidot dojo. Now allow me to post this wonderful news to my blog!
Portfolio
Yeah I know. Using tables would fix so many alignment problems, and at first I didn't think this was possible.
But now I have a new idea… It would take a hell of a lot of effort though.
If first=Monday…Saturday, display nothing
If first=Monday, display one
If first=Tuesday, display nothing
If first=Monday, display six
Therefore, this thing is possible! The only problem: It is possible that this page may exceed the # of characters allowed per Wikidot Page.
What do you think? Clever, right?
Upon rethinking the design (again!), we actually can just rebuild the design to be much more efficient:
Only do 31 days, no need to cater for individual months.
What's the catch? One must enter the month's number instead of the month name, and it would have to be in two digits:
This is not a great thing, but fortunately we can inbuilt error-protection by providing the user with an error message if they type in “9” rather than “09”
Hi James,
Great work done!
One issue to notice - in out culture ( Europe) the week starts with the Monday and ends with the Sunday.
I know - "on the seventh day you should relax" and for a lot of people this is the sabbath or Saturday..
You should copy it to another starting day for the week to give 2 solutions for this… ?
And _ think for A DIFFERENT Language - likle italian with "Lunedi, Martedi, Mercoledi…" , (not to speak of german)
Service is my success. My webtips:www.blender.org (Open source), Wikidot-Handbook.
Sie können fragen und mitwirken in der deutschsprachigen » User-Gemeinschaft für WikidotNutzer oder
im deutschen » Wikidot Handbuch ?
I thought that was everywhere? The weekend in Australia is Saturday & Sunday; hence the [typical] work week begins on Monday.
The reason that the first day of the week is a Sunday, is because that was the way Phil had it when the project was in its infancy — a coincidence. I too would prefer the week starting with Monday.
Funny. In my primary school they told us the Sabbath was Sunday — I didn't realise it varied from culture to culture.
Good idea! Let's do this after we are absolutely sure that the calendar is perfect, so we don't have to spend time later upgrading everything.
Thanks! And thank YOU for setting up the sign-up/respond system!
Very nice, James!
I suppose in the US, most calendars start with Sunday although it seems as if the week really begins with Monday since Sunday is still the weekend.
Only these problems exist now:
Broken table at the bottom, and the end popups go off screen.
Timothy Foster - @tfAuroratide
Auroratide.com - Go here if you're nerdy like me
Did you enjoy your sleep? Because I'm just about to get mine now XD
You don't mean the “Error test: ERROR! You must enter a two digit number: |month=08”, do you? Because that's not a broken table, that's in-built invalid syntax detection (see here on this page).
That's not a problem with the calendar, that's a problem with the hover-tip. But yes, it's something we'll have to fix for the calendar.
OH! I've just gone into Firefox and seen what you're talking about!
You see, I didn't complete the rest of the cells in the last row, because no calendar data would ever go into them. Neglecting this made FF chuck a tantrum; Safari ignored this and the calendar displayed fine.
Problem fixed — I added the remaining 5 cells to the final row, and now I am kicking my lazy butt to bed.
Edit: Funny, IE had no complaints on the subject…
The Sabbath is a Jewish tradition (remember, Jesus was Jewish) … and is celebrated on Saturday. It starts at sunset Friday and ends at sunset on the Saturday.
The Catholic church took this idea and adapted it, and has a similar occurrence on Sundays. However, some churches also offer services around 6-7 PM on a Saturday night… which ties in with the end of the Jewish Sabbath day (ending at sunset)
~ Leiger - Wikidot Community Admin - Volunteer
Wikidot: Official Documentation | Wikidot Discord server | NEW: Wikiroo, backup tool (in development)
Well, the table is fixed now.
Timothy Foster - @tfAuroratide
Auroratide.com - Go here if you're nerdy like me
I adjusted the hover tip so that it centers. At least on FF.
This causes the text to not go off screen. It still causes some scrolling.
And I replaced display:inline to display:table-cell, some obscure display option…
Timothy Foster - @tfAuroratide
Auroratide.com - Go here if you're nerdy like me
I fixed the height of the days in the calendar to 60px, and if you hover over a day with many events, the cell is stretched to display all events.
It's pretty cool actually:
Seriously… what you are doing with this calendar I didn't even think was possible o.O
~ Leiger - Wikidot Community Admin - Volunteer
Wikidot: Official Documentation | Wikidot Discord server | NEW: Wikiroo, backup tool (in development)
Simply "wow". I had a look at this a few weeks ago, saw that you guys were doing a good job already and that it was completely over my head ;) And left you to it. Now I see an update and it's amazing how much it has changed.
Simply amazing work. Well done so far :O
~ Leiger - Wikidot Community Admin - Volunteer
Wikidot: Official Documentation | Wikidot Discord server | NEW: Wikiroo, backup tool (in development)
You thought that was good?
Timothy inspired me to think outside the square, to solve a problem I at first thought was impossible. Hehe, but then I realised possibility.
Check out the latest and greatest!
Due to the Table Behaviour, cells resize automatically. That is, you can have 60 events on the same day, and none of them will be hidden!
Oh, and this is IE6-proof, by the way XD
Thanks Timothy! You inspired me!
Nice work! :)
This appears — is it meant to?
~ Leiger - Wikidot Community Admin - Volunteer
Wikidot: Official Documentation | Wikidot Discord server | NEW: Wikiroo, backup tool (in development)
Yep! That is in-built invalid syntax detection. Since August is the eighth month of the year, some people may be tempted to use the syntax |month=8. This syntax is incompatible with the Calendar1.
So to counter this human error, I integrated error detection for the first 9 months of the year. Cool yeah?
We've made some AMAZING progress with the calendar, again!
Features
There's a new website for this calendar: calendars.wikidot.com
Feel free to try it out!
Has there been any problems with the includes with it recently? I cant seem to get them to work, it just appears blank.
Omnia mutantur, nihil interit.
Sorry! There was a glitch in the Installation Instructions I wrote. I fixed the instructions and things should work fine now…
The only two pages you need to fix are the calendar and calendar:_backend pages, as these are the two pages I typed a glitch on. Go to the Installation Instructions so you can copy and paste the proper code from there.
Sorry!
I thought the code looked odd! Thanks! I think it's working properly now! :)
Omnia mutantur, nihil interit.
I have upgraded the Calendar in light of the new Cross Site Include technology.
Please visit the Installation Page for information on how to upgrade.
Nice, but see my comments about using the modules site to host this, I think it's not ideal. I suggest using a dedicated site, given the complexity of the application. That will still work well using CSIs.
Portfolio
Done! The new installation instructions are now posted HERE.
There is also a new Calendar Template to go with it.
Is there a way to translate the calendar to other languages? I tried to change the day and month names at calendar:_javascript but nothing happened.
___TTT___/ http://www.trumpetexercises.net
(_|||_) \ - Janne
I dont seem to be able to get the borders to show up.
I may be an idiot but I have removed and redone it per instructions twice now
That which does not kill me simply makes me stronger…Or pisses me off!!! - Mysticrubi
Someone pointed this out earlier upthread but in the U.S., the calendar starts on Sunday and I really would like to be able to have it that way. Any adaptations in the works?
I'm confused by your comment. The calendar DOES start on Sunday. Check out the links to the mini and full-sized calendars above.
-Ed
Community Admin
Now I'm confused, lol. Maybe I used an old form of the code? I got it from calendars.wikidot.com, and it starts with Monday and ends with Sunday (as it shows on that calendar page).
Site's private but I will open it up so you can see … http://pgbudget.wikidot.com/month:01jan
Hey there, great fan of your work.
In your post, you mention showing a calender year as full calender. Unfortunately I can't find a good example of this. The links you provided only show an example of this as a mini-calender. I have tried recreating that, thinking I could just edit the table dimensions to create a large one, but I'm not even successful in that area. I have also copied over the inc:year source and the inc:year-backend source, but my table is all screwed up. Could you give me any help with this?
My calender page is http://hermansgroep.wikidot.com/kal:kalender
Other pages are:
http://hermansgroep.wikidot.com/inc:year
http://hermansgroep.wikidot.com/inc:year-backend
Since the backend page already shows the incorrect table, I figure that's where the problem starts. The rest are just includes. Does it have something to do with me using another theme maybe? I don't know…
Hoping you can help, thx :)
"Evil never sleeps…"
Unfortunately, year view is now unsupported because it has incompatibilities with HTML table usage. Sorry.
Perhaps it will be possible in the future.
That is very unfortunate, I really would have liked a year view instead of having to put every month in the page separately.
"Evil never sleeps…"