Archive for October 1, 2005

Zimbra, Exchange Replacement?

Zimbra is an open source server and client technology for next-generation enterprise messaging and collaboration. Zimbra delivers innovation for both the administrator and the end-user as well as compatability with existing infrastructure and applications (both open source and proprietary). Zimbra is open source in order to leverage the collective talent of the greater community, and to ensure investment protection for Zimbra partners and end-users.

Zimbra combines the best features of Exchange Server, such as centralized file storage and collaboration tools, and GMail, most notably their AJAX-powered interface. The compatibility list contains some of my best friends: Outlook, Mobile, IMAP, POP, iCalendar, RSS, Active Directory/LDAP. AJAX stands for Asynchronous Javascript And XML, which allows web sites to act much more like applications by changing their content without reloading. GMail is a notable example of this kind of web interface. The Zimbra demo will give you a good idea of how well it runs.

Could we replace Exchange server with Zimbra? Perhaps, but since Zimbra is only in beta and an Exchange server license we would use for four years will cost us about $2,000, I’m not yet prepared to take the plunge.

Celestia, Universe Simulator

I recommended Celestia to our Astronomy teacher based this article, and it is his new favorite application. He told me that it could replace a two-week unit of his curriculum by allowing students to visualize aspects of the solar system that are difficult to understand. The limitation with previous solar system simulations, he notes, is that the observer is limited to one position in the system, usually Earth, and one point in time. Celestia allows users to move to different positions and speed up time. It’s nothing short of remarkable.

I sometimes long for the pre-Internet days of CD-ROM based simulations, when visualization of abstract concepts was all the rage. When the web took over, graphical simulations all but disappeared, since they relied on high-bandwidth tools such as Director, Flash, and 3D modeling applications. I truly hope that Celestia is a sign of more high-quality visual simulation to come. Would anyone like to convert my old cell biology animations from Strata StudioPro into a web format?

SSI with phpiCalendar

Here are instructions for including phpiCalendar events in a web page via SSI (server-side include). You may see an example on insideUHS.

Make a new .tpl in templates/default or make a copy of an existing one. Add the appropriate calendar fields and HTML comments. My file looks like this:

<!-- switch some_events on -->
<!-- loop events on -->
<tr><td class=celldivider><P>{EVENT_TEXT}, {EVENT_START}</td></tr>
<!-- switch description_events on -->
<!-- switch description_events off -->
<!-- loop events off -->
<!-- switch some_events off -->

<!-- switch no_events on -->

{L_NO_RESULTS}

<!-- switch no_events off -->

If you want to include more fields than this, then study existing .tpl files to see what your other options are. It is important to include the HTML comments in the file, as phpiCalendar uses them to parse the template.

Make a copy of day.php and rename it to a name of your choice.

Edit line 39 to read as follows:

$page = new Page(BASE.'templates/'.$template.'/yourtemplate.tpl');

(yourtemplate is the name of your template file)

The SSI URL will be something like:

/calendar/yourfile.php?cal=yourcal&printview=day

UHS iCalendar Launched

I aam pretty excited about our new, iCal-based online calendar. Multiple authors may maintain it using a desktop application such as Sunbird, and anyone may view the calendar on our web site using phpiCalendar or subscribe to the calendar via an iCal-compatible application or RSS.

This article reviews the basics for parsing iCal data using PERL, PHP, or WML.

In this article, I?ll go over some options for publishing your iCal data through outside services. I?ll then show you how you can start working with code that will let you display your calendars on your own OS X server. I?ll start with the basics of the iCalendar file format, introduce you to some ways of dealing with iCal files in Perl and PHP, and finally demonstrate a PHP-based WML calendar viewer for cellular phones and other mobile devices.

Full Article

Googlicious Blog Recovery Miracle

I have recovered nearly my entire blog through Google‘s and MSN‘s search databases! Both services cache entire pages, which allows one to view them even after they have been deleted. While this has raised concerns about control over one’s own web site, it saved my butt this week. It took me only a couple of hours to comb through the cached listings using queries such as “Forums Diary Kassblog site:inside.sfuhs.org.” Interestingly, I found that MSN’s cache went further back in time than Google’s, that Yahoo! doesn’t make cached pages available on its search page, and that I had to find these pages quickly before more documents disappeared from the cache!

I recovered all but three articles since I started blogging on July 1. I didn’t try to recover comments.

Nucleus CMS’s “post to the past” feature also helped me reconstruct the blog entries in their original order.

Hooray for Google! No need to hooray for MSN, since they only copied Google ;^)

Server Disaster

A hard drive crash has left the most vulnerable of our three servers in tatters. One day later, it is mostly restored, but this blog took one of the hardest hits. Starting over gives me the opportunity to reflect on whether I have made any progress toward my goals for this blog:

1. Post tips that other people might find useful.
A couple of people wrote to say thanks for technical explanations or strategies that I had posted.

2. Post ideas under development in the hope of receiving feedback.
I found that posting new, partially developed ideas to my blog helped me reflect on them, but I didn’t receive much feedback from other people.

3. Maintain a personal knowledgebase
If you are going to create a personal knowledgebase, make sure it is on regular backup! This didn’t have much value over the three months I blogged.

I guess I’ll keep blogging, though it’s mostly a personal, reflective exercise at this point.

New Server Architecture

Since we are releasing a new server architecture in the middle of the school year, we do not have the usual luxury of lots of unstructured summer days to sit down and plan every last detail of the network in advance. Instead, we find little bits of time here and there to have short conversations with each other, document them in our shared online workspace, and reflect about the changes on our own. Thankfully, this strategy has proven very effective so far.

We had our first network design department meeting yesterday, and we were all well-versed in the issues on the table. We thought that we had figured out what network design we were going to select. To my surprise, we ended the meeting in a very different place from where we started.

Our current design was created by network consultants three and a half years ago. It called for a parent domain for administrators and a child domain for teachers and students. At the meeting, we came up with a new design: one parent domain and three child domains: one for admins, one for teachers, and one for students. This will streamline the exchange of information among different domains and create a new security barrier between student and teacher data. All of the user data will reside in the child domains, and shared services (mail, list, and web servers) will reside in the parent domain.

I am convinced that we would not have been able to move to a new network design had we not already had our individual conversations, personal reflections, and shared documentation. At the same time, we would not have been able to move to a new model without our hour and a half group meeting. We intend to continue to employ this design method for the other aspects of our network.