Friday, February 20th, 2009 (updated 7 Mar ’13)

adam@engaging.net | Brighton, England

Schools association adopts web system to manage teacher training

 
B

uilt with Engaging.net on ExpressionEngine and launched February 2009, the Christian Schools of Florida’s Master Inservice Program is not a web site but a web system, a secure area within the larger christianschoolsfl.org site produced by WebLadyBug.

Though the system does have some content, it serves primarily not as a publication but as a tool to help manage ongoing teacher training for CSF’s 25 member schools. Actively used by hundreds of teachers and dozens of school administrators, the MIP system demonstrates that ExpressionEngine — usually considered a content management system — can power a growing set of an organization’s business processes, and that a public-facing web site can become merely one facet of an integrated and streamlined browser-based organization-wide information management system.

That such a setup can now be produced at unprecedented low costs by small web development shops is a game changer. Organizations that previously considered both a dynamic web presence and an organization-wide management system to be beyond their means can — and should! — now consider developing both.

The Master In-Service Program homepage at the Christian Schools of Florida site  

Details, details

At the heart of the MIP matter are activities. These are courses or seminars held by the member schools that meet Florida state requirements for inservice teacher training. New activities are entered into the system using an online form by an Inservice Coordinator assigned at each school. Each activity must then be approved by the CSF Inservice Director, who is informed automatically of submissions via email (using the Solspace Entry Notifications extension) and whose MIP homepage lists all submitted activities, each with a link to edit and approve.

There are two precursors to inservice activities. Since every activity is held by a school and meets the requirements of a component, we seeded the system with a) the 25 schools and b) the Florida Department of Education’s 123 components, complete with related downloadable documents (uploaded using Mark Huot’s File extension).

MIP data diagram

Most components award a fixed number of inservice points, but some allow variation, not only among activities but among participants within a single activity. These variations are handled within the activity application and participation report forms by using jQuery to show, hide and populate various fields depending on the values entered in others.

The homepage of a School Inservice Coordinator lists all his or her school’s inservice activities as organized by status — saved, submitted, approved or completed. A saved activity is one begun but not yet submitted for approval. A submitted activity is one pending approval by the CSF Inservice Director. An approved activity has been assigned a number by the CSF Inservice Director and given authority to proceed. And a completed activity is one that has already taken place, had its participants and feedback reports submitted, and been signed off by the school’s Approving Administrator.

Only after an activity has taken place can a School Inservice Coordinator report its participants, selecting teachers from a dropdown list of those registered in the system. Having reported all the participants (though there’s an opportunity to return and add more), the next screen is a matrix enabling the School Inservice Coordinator to submit the teachers’ evaluations of the activity. Only once the evaluations have been submitted can the School Approving Administrator then sign off on the activity, marking it complete.

This constitutes pretty much all the data entry required. The system can then produce at any time both an annual (academic year) and cumulative Record for each teacher, listing his or her participation in inservice activities together with the total number of inservice points accrued. Rather than store these totals within EE, they are calculated client-side whenever displaying records and report screens using Pengoworks’ Calculation plugin for jQuery, which makes it easy to traverse the DOM and do arithmetic. Each Record is accessible only to the teacher or to the school’s coordinator and administrator. Still in development is the report required by the state Department of Education summarizing points accrued for each component.

Pushing ExpressionEngine to power an online application requires one main insight: that members be brought within the fold of general EE content. For this they need a one-to-one binding with a content channel of persons. An add-on has been created to help with this, Leevi Graham’s LG Member List extension, but we found that the binding can be made more simply and helpfully by having each member be the author of themselves as a person. This requires presenting EE’s standalone entry form as part two of a two-part registration process. It helps that Solspace’s User module enables reducing membership to only an email and password so that all other data about the member, even his or her name, can be shunted into the persons content channel. The front-end result is a two-step registration process that feels normal.

We also used the User module to send keyed invitations to school officials to register as School Inservice Coordinators, Administrators and Approving Administrators, whereas anyone who registers at the site in the standard uninvited way joins the Teachers member group.

Less actively, the site also has screens listing all schools, teachers, administrators, inservice components and approved inservice activities. And of course there are screens for a member to edit his or her email, password and profile.

Finally, there’s an About MIP area containing more textual content, such as the purpose of the program and the relevant Florida state rules. These are entered in a dedicated content channel, but since the same publish/edit screen is used as that handling all the other types of content, albeit with a different set of fields, the MIP Inservice Director is already familiar and comfortable with it.

Although used by hundreds of teachers and dozens of school administrators, the system is managed by just one person, CSF Inservice Director Susan Taylor, who had to learn how everything works. In a lengthy series of online meetings using Skype for voice and Yugma for screensharing we combined project definition, development, testing and user training. From not knowing that she’s using what’s known as a web browser when accessing the internet — and that it’s called Microsoft Internet Explorer — Susan became adept at juggling among Firefox, Chrome and Opera to view the site’s processes simultaneously from the various perspectives of different users.

The result is an online system that works. The launch was gradual, as Susan brought in a growing number of administrators to test the system and provide feedback. Within a week or so some two dozen administrators and nearly 300 teachers had registered, and 30 activities were processed.