Tag Archive for development

One Year Old

The Catlin Gabel website recently turned one! After a gestation period of six months, the website launched on July 1, 2009.

The Drupal-based website held up well last year. Dedicated hardware helped ensure that performance would remain high. The site received high ratings for usability. We improved the site throughout the year in response to user feedback and continue to develop it now.

Drupal 6 itself matured over the course of the year. Code and SQL errors resolved themselves as the community released patches and we installed the updated versions.

The year validated our decision to integrate password-protected, community content throughout the site. When logged in, users access protected content and tools based on their group membership. Users get to these tools in their expected locations on the site, rather than having to enter a separate community portal.

This year, we plan to build a complete online admission application, improve the design of section landing pages, and make a lot of small features more usable.

Maru-a-Pula Website To Drupal

Just two months ago, I wrote how I was still using Website Baker successfully for two sites. Well, it’s down to one now! I have migrated the Maru-a-Pula website from Website Baker to Drupal. Maru-a-Pula is an amazing school in Botswana that I have worked from the U.S. to assist since teaching there from 1994-96.

Nothing went wrong with Website Baker. The school had just outgrown the basic CMS for its needs. The principal had started to write a news column, and while Website Baker does support news, the Drupal module is much easier to use. We now have several new features the school or I had wanted: RSS feeds sitewide, a blog for any author, actual calendar functionality, and all sorts of future possibilities using modules from the Drupal community.

For the sake of a smooth user transition, I built a new Drupal theme (sub-theme of Zen) to copy almost exactly the old Website Baker theme. The two sites look nearly identical. I have to re-theme the Search form. I have done enough theme work in the last year that I felt very comfortable manipulating template and CSS files to create the desired look.

The site is designed so that local tech staff in Botswana may take over as much administration as they wish. The site has no custom module code whatsoever, and all dynamic content is presented through content types, views and blocks (e.g., main home page photo and three feature columns).

New site
new site

Old site
old site

Contributed Modules
Menu breadcrumb
Site map

Teachers teaching teachers

Ten teachers attended our professional development day today. Seven also presented! Interestingly, all but two were from the upper school, atypical for our professional development activities. We followed a model in which teachers did all the presenting and led the group discussion, which led to an energizing day that focused squarely on teacher interests. Here is a summary of content covered.

Tony presents at the tech training

Ginia shared the sophomore English Moodle site, which is organized by type of assignment (tests, recitations, essays, etc.) instead of unit or week. Forum is more useful than chat for “decentered discussion.” Encourages different voices to speak in the class. Art reported that education research in modern language acquisition has found that success in written, online discourse has transferred to oral participation in class. Teachers differed on how firmly they held students to proper writing form, though people agreed on the desire to do so. The best tools allow one to print a single document from the discussion of the day. English teachers use the forum tool to set up a space where students may post essay drafts and other students may post replies and response papers. It can be difficult to compare three drafts of an essay posted to Moodle. Ginia reflected that students don’t automatically think to check the website for course information. They appear to be more mindful of paper. Lisa and Daisy speculated that upcoming students will be more automatic about this due to online experiences in the younger grades.

Tony built on Ginia’s presentation by showing the Junior English Moodle site. He used one discussion forum for students to write and improve their questions in preparation for the upcoming Tracy Kidder assembly next week. The site uses the Moodle groups feature to keep section discussions separate. The site is most valuable to keep all of the drafts of the writing process in one place for the teacher and student to access. Can be a challenge for the kid who has a hard time staying on task, but teachers can help by monitoring computer use in the room.

Paul commented that the English program may have led to students’ higher comfort level with typing lab reports in science. While this has improved the quality of presentation, students are struggling to produce good diagrams in this format. This has led to a trend in which many students prefer to find an existing diagram and copy it into their document instead of drawing an original illustration. It’s interesting that the use of Photoshop here is widespread, yet use of Illustrator is rare.

Lauren shared a community, service learning project with which her students are currently engaged. She won a small grant to fund this project, working with our development and communications departments to refine her proposal. Her class is creating an online presentation of the Hispanic Presence in Oregon to complement a production at Portland’s Miracle Theater. Their project compares the hispanic presence during the depression to the present day. The curriculum has evolved as opportunities have appeared to interview good subjects around town. They have found no interview subjects from the depression era, but an author helped them understand that the lack of found information is useful information in itself. Contextualize this finding and move forward.

Lauren presents at the tech training

The theater director challenged the kids to make the site truly interactive. So far, they have decided to add a comment box to their website, in order to gather more stories. Also, students will be present at each performance in order to explain the project and potentially collect interviews on the spot! Students are collecting footage with Flip cameras, notwithstanding the lack of proper video lighting. The historical archives has commented that a serious deficit of raw material exists on this topic. The students’ footage has the potential to become an important research source, especially if the site persists and continues to collect footage after the theater performances are over.

Students are using the course Moodle site to manage the project, including notes, interview forms, and links to web-based resources. The teacher has stepped back and left room for the students to plan and execute.

The class built and distributed a survey using our internal survey tool. They got 79 responses to a survey about Hispanic Heritage Month, including a giant collection of narrative comments, which were really useful in guiding their work.

Lisa shared new work she is doing with students to post book reviews into our Follett Destiny library catalog — really exciting work. This has potential to change student perception of the library catalog from an external authority to a community resource. Already, fourth grade students are excited about adding items to this resource. They also rate the books on a five star system. We’d like to post audio reviews as well, and while Destiny may not support audio file playback, we may post them elsewhere and then post links to the catalog. Lisa also demonstrated how a teacher may create a public resource list of library items for students or other teachers to view.

Roberto shared a long-distance correspondence between a Catlin Gabel alum in Quito, Ecuador and Catlin Gabel students. Topics include poverty, energy consumption, and women’s rights, among others. Spanish V students are using an online bulletin board for this purpose.

Roberto also underscored the value of his document camera, which he uses every day. It helps him save time and paper. Roberto uses it for flashcards, homework correction, and editing. Lauren has used it for coins and maps.

For two years, Roberto’s Spanish V class has not used books. All of the resources are posted online. The Spanish I, II, and III textbooks have an online site that includes online activities and audio components. This has been especially valuable for students with learning differences or who want to slow down the audio to listen to it more slowly.

Pat demonstrated his use of the social format in Moodle courses, which transforms the course home page into a student discussion center. He also demonstrated the use of embedded images, YouTube videos, and RSS feeds within his course Moodle sites.

Dale showed how he uses the school website and email system to engage parents in narrative discussion about student artwork well before the semester reporting period. He posts photos of student illustration to the website and then sends an email message to parents with suggestions for what to discuss about the artwork with their children.

Becoming a Drupal.org contributor

If I can contribute to an open-source project, then so can you! After years of using open-source web site software, I have finally begun to contribute back to the open-source community, in this case Drupal. The Drupal community of (mostly) volunteer programmers contribute hundreds of modules that expand and improve the Drupal project as a whole. At first, I gave back by registering an account on Drupal.org and posting comments on other people’s module issues pages. Then, I began to create new issues when I needed support for a module or found a problem with a module. Finally, I am now contributing small module code of my own to one project, LDAP Integration.

LDAP Integration allows your LDAP users (MS Active Directory, in our case) to log into our Drupal site. A user attempts to log in, Drupal checks their credentials against Active Directory, and then Drupal creates an account for the user if one does not already exist. Two additional components automatically generate group memberships and populate profile fields with LDAP data.

I wanted an additional feature — to create Drupal accounts for all of the Active Directory accounts we have ahead of time, so that they could have content assigned to them before they had even created an account. Why would I want to do this? At our school, we are building a new web site and migrating content from the old site. As we build the site, we want to attribute authorship of each article to the correct person, even if he or she has not yet logged into the site for the first time. We also have a Contacts block on some pages, which should show the user information for the contact person even if they have not yet logged into the new site. Finally, we have additional group memberships beyond Active Directory (e.g., content manager) that we want to assign and test whether the user has logged in before or not. You may have other similar needs for your site.

I learned how to create the .info file to define a new module, the .install file to create any database tables or store any Drupal variables when the module is activated. I learned to write a .module file that defines hook functions that fire when certain functions are called elsewhere in the site and also contains the rest of the programming logic for my module. At times, I borrowed code or called functions from ldapauth.module. Elsewhere, I wrote my own code. Learning the Drupal API has been tremendous. The functions of the core code and modules are well-documented, so that one may use them in one’s own modules. This makes writing a custom module both fast, Drupal standards-compliant, and adaptable to future changes in code.

Contributing code to the community has caused additional benefits. Other, more experienced, eyes have reviewed my code and suggested important changes. Others have weighed in on the strategy and design of the module. Unfortunately, “other” has been largely one enthusiastic Drupal user. Although his feedback has been excellent, I do wish that more individuals tried the module. Right now, we are stuck because the module is not running correctly for this one tester, who has an OpenLDAP directory. I only have Active Directory, so I cannot test or confirm his issue.

I now have a module that is working for our new site, that others have reviewed and improved. If we can gain another tester to solve the OpenLDAP issue, then I may also have made a useful contribution to other people’s sites. This contribution is permanently archived for others to find when they discover a similar need to ours. The conversation continues on the LDAPsync component page.

This success encourages me to write more custom modules for our site, as needed. For example, I have written my own mini-version of node_autotitle to create custom titles for athletics event nodes. I have written a custom Contacts block to automatically display the users associated with particular types of content, based on specific criteria. I have ported existing PHP code from custom work of years past to embed faculty/staff, student, and alumni directories into the site and make them available only to certain users based on the Drupal permissions system.

Though operating within the Drupal framework creates more work sometimes, it is extremely powerful and beats coding from scratch by a long way.

LDAP integration component page