Roland Poulter recently released MooMonth, a MooTools-based calendar system. I did a brief email interview with Roland and here’s his feedback:
When did you release it into alpha?
I put the site online a little more than a week ago. It was actually kinda slapped together, I designed a logo and stuff but I didn’t want to commit to what I had. I just decided I wanted to make it available. A couple people on the MooTools Forum asked for the code, so I put the site up.
How far along is it?
I’ve been hacking at it for a while. At first I wasn’t totally convinced I could do a calendar with all the cool effects in javascript. I started with a prototype to test if it would work. It wasn’t until recently when I had some time off of work I was able to sit down for a week and totally rework everything. Progress has been much quicker since then. It been a few months of time, but I would say only a couple weeks of actual development. I hoping to get it ready for some production use in a few more weeks, but it depends how much of my free gets sucked up be the video games.
So far I have only been working on the views and transitions. I am nearly done with the “year view” which will zoom out of the current month and show all the months for a year. At this point I wish I hadn’t started on it, it looks cool but I am not sure it will be useful. After I finish that I am going to work on event functionality.
What are the Big Features?
I want the calendar to be a complete javascript calendar ready to be plugged into an app.
I intend for it to be highly configurable, for style, for performance, and for layout.Features I’ve got for developers:
- MooDate Date Extension (Fills in some gabs in the Javascript Date object.)
- *MooMonth Events (Handles a collection of events with Ajax.)
- *MooMonth Event (Create, Read, Update, Destroy events with Ajax.)
- MooMonth Date (Uses the date extension to setup a the calendars’ date.)
- MooMonth Size (You can choose to present the calendar with a specified width and height, or tell it to mimic an html element, or just let it fill the window.)
- MooMonth Resize (Animate the size of the calendar.)
- MooMonth Element (Choose to use a table structure or a div hierarchy, only the div. The table type is limited, its really only meant for “mini months”. Options are available for setting border size, label size, header size, and margin. Also it uses events for all the controls so you can change what happens when you click on a day.)
- MooMonth Constructors (Make an calendar app, *date-picker, or customize your own.)
Features for users:
- Multiple views: Day, Week, Month, *Year
- View Transitions
- *View specific controls (Clicking next when viewing a week will take you to next week.)
- *Events
- *Dragable
- *Resizable
* Planned features, but not finished.
The code for MooMonth is released under a mixed Creative Commons/LGPL license and takes advantage of the MooTools JavaScript library. You can play with the calendar via the demo page.
Also, Roland is looking for help on this project so if you’re interested be sure to contact him via the site.