Jun 28 2012
Jun 28

It’s official. After months of development, ELMS has been labeled Beta. The major blockers to beta included user management, information architecture stabilization, a solid foundation of features out of the box, a bullet proof installation, and (most importantly) full distribution packaging on drupal.org. All of these are now included in addition to a lot of bug testing and questions from the community that have been rolled in. Videos have been reshot for the entire project's tutorial site on youtube too! Watch the ELMS tutorial channel now!

Why is this important? Because for the first time, ELMS will be packaged nightly by drupal.org. As patches and issues are addressed in the queue you’ll be able to download and see the changes the next day! This will add a new level of transparency to a project already being developed out in the open.

With the ushering in of ELMS Beta I can also announce a few other things that have been going on the last few months:

  • All ELMS related modules available in contrib. on drupal.org are almost all beta or full stable releases.
  • Most ELMS related modules available in contrib. have a drupal 7 branch if not published version
  • ELMS has a Drupal 7 branch for the community to help push the upgrade forward, now made more possible because of the standardization in information architecture
  • ELMS Collaborative learning environment is now a functional alternate install routine for the ELMS distribution
  • ELMS Media is now available for download on drupal.org. It’s still early in open development but is worth checking out how we handle asset management in our courses
Mar 06 2012
Mar 06

Last Thursday we had the opportunity to meet up wth Bryan Ollendyke aka btopro to discuss his flagship product ELMS, as well as numerous other modules – Accessible Content for making more standards compliant sites, CDN for speeding up sites, Organic Groups for working with students and classes, Spaces, database tuning, and many more.  You’ll want to skip to ~minute 8 or 9 where we worked out our technical difficulties.  Ask any questions in the blog and I’ll do my best to help answer.  Specifically settings for CDN are covered as well as use cases and other general high level approaches to development.   Note that link goes to a JNLP blackboard elluminate session – you can exand the size of the window pretty easily in there


apologies for the


Feb 09 2012
Feb 09

ELMS Alpha 6 was released yesterday and in keeping with our releases I wanted to do a recap of developments with the project and why it's important for the Drupal community at large. This release sees 22 features, 11 non-elms modules, 4 non-elms APIs, 4 elms specific modules, and 16 themes all be released to the Drupal community. Many of these things were out there in earlier forms of development but for the first time everything just mentioned is now available on drupal.org.

Read to the end for a list of all the components you can download individually if you like.

The Drupal community has picked up and helped via patches and co-maintaining several projects that are now central to ELMS environments. For this I am extremely grateful. Releasing all code to drupal.org was in large part because of the support of community members selflessly giving their time to help improve the platform. I've grown as a developer and a person as a result and I am honored to indirectly work with all of you.

The major changes in ELMS with Alpha 6 and why the larger Drupal community should care

  • ELMS remains the only distribution (to my knowledge) that is theme-independent. It accomplishes this through the use of the Regions API. Why is this so important for the community? Because it means that you have access to almost any Drupal 6 theme either that you can create or download from drupal.org
  • ELMS helps content authors ensure they are meeting accessibility requirements in the content that is produced. If you care to learn more about this, download the platform and see or just ask. It's a combination of the Accessible Content module and the HTML Purifier module.
  • You can now duplicate course sites with a simple button press via the Spaces OG Clone module. This module can also be used to clone project spaces in atrium while maintaining all references correctly (or seeks to at least)! Huge props to hefox on extrapolating the original code I had written for this.
  • All language of Courses and Course Versions / Offerings has been abstracted (thanks String Overrides module!). Why does this matter? Because ELMS is now based on a concept of Parent nodes and associated Site nodes (Organic groups) you can build other types of systems that have this similar micro-site to organizer relationship. I'll be presenting on this topic specifically at Drupalcamp Maryland this weekend! The first alternate install of ELMS will be as a collaborative learning environment (which ships with the distribution as well).
  • Many of the Features created for ELMS are kit compliant and should work in other distributions and drupal sites!
  • There is over an hour of video tutorials that ship inline with the system thanks to the advanced help module. This way you can learn about elms and drupal while using the system or access the channel on youtube.

The future is bright, so excited for Drupalcon in March!

List of Drupal.org releases

Nov 01 2011
Nov 01

It's a silly title but the ELMS Distribution Alpha 5 has been released! I'm very happy with where things are heading with ELMS now that I've transitioned the platform completely to a Spaces / OG / Features / Context / Views / CCK based platform. There have been 11 features created as part of ELMS Alpha 5 and I've posted 24 module releases to drupal.psu.edu or drupal.org in the last 24 hours. It's been a wild ride but the reason that I say this is atrium's little brother is that it's essentially the same backbone as Atrium (Spaces, OG, PURL, Features) but flavored for education.

Much of the code that has been written for ELMS will work in Open Atrium or any other Spaces based platform. For example: projects like Workflow PURL integration, Feeds RID Map, Feeds Node Helper, Spaces OG Clone, Spaces Theme, and the Regions API should all work outside of ELMS. Most of the projects released as part of this build are applicable to any Drupal site! Regions and the 3 implemented regions in ELMS should deploy against any Drupal site.

It has been my philosophy to make ELMS a user of Drupal modules, not a builder of custom code. This has lead to a very small amount of code and features being written specific for the ELMS platform itself. I hope more people can benefit from the development of ELMS as a result of this development philosophy. This also can provide greater code security as more pieces will be audited outside of the EDU context. This was an absolute must in my mind because a large reason I didn't develop for Moodle was the quality of the Drupal core product and community around it.

With all that said, I hope you enjoy the modules that have been released and any feedback on the distribution is most welcome. Make sure you read the README.txt file before reporting issues as you need to make sure error reporting is not printed to the screen on install (again, this is still alpha). This should be the last release marked alpha as we'll be running something similar to this for the Spring semester (after User experience testing). Here's the tutorial series recorded for the elms.psu.edu website about ELMS

Sep 23 2011
Sep 23
Links Updated Nov 1, 2011

In this screencast I'll cover the newly created Regions API that I built while developing ELMS. There seemed to be a million different ways that people were handling the adding of bars in drupal. Some projects like Appbar provide a top nav with flexible CSS configuration but start to lose focus and get into things like notifications and functionality beyond framework. Many of the bars I found were doing this, either providing a very specific use-case or were clearly aiming to be more of a facebook-esk bar framework.

So, I knew that for ELMS interface I wanted to have 3 regions that lived outside the context of any one theme. Enter Regions API. Regions allows you to define a new region through a very simple hook_define_regions. This allows you to package chunks of functionality in Features (via Context) that are theme independent. An example of when you might want to do this is displaying a Feedback tab on a series of sites that don't share the same theme regions. In ELMS case, this is for defining a top, left and right area that blocks can be dropped into and function consistently. This will allow for Features that add relationship-based functionality (like the atrium feed reader integration seen here

Aug 02 2011
Aug 02

This is a quick walk through of how to install the Accessible Content Module for Drupal.  Accessible content uses a project called QUIAL to audit pages in your Drupal site and tell you what needs to be done in order to make them compliant.  It lets you set various levels of Accessibility standards including Section 508, WCAG 1.0 and WCAG 2.0.

We are currently investigating the validity of these tests but they appear to be at least a good starting point for identifying and correcting accessibility issues in Drupal.

Jul 26 2011
Jul 26

This tutorial walks through how I was able to make the top branding bar in ELMS "follow you" as you go through the site.  The modules used in this video primarily are Appbar, Context, Menu Block, Menu Icons, and Menu Token.  There is also some custom code in the elms_spaces module which extends Menu Token's default functionality but this should help you build out your own consistent region in your projects.  As always, feedback is much appreciated!

Editorial note: I call a project "Menu Translate" in the first part, what I mean to say is Menu Token.

May 05 2011
May 05

First of all, special thanks to Aaron Winborn for writing and posting about the Media: Webcam module.  What I've been able to do is only possible because of his module as I admittedly know very little about creating ActionScript that can capture video.  We follow his steps to integration up to the point of sending things off to youtube as we keep assets on our own systems for protection of data related to students.

That said, I'd like to demonstrate the integration of Aaron's module into the ELIMedia system.  ELIMedia is our unit's asset management system.  What sets it apart from other AMSs is that the focus is on adding media so that it's easier to embed in sites in our infrastructure.  It also happens to use Drupal 6 as a front-end for Flash Media Interactive Server which traditionally has no GUI.  I'll be talking more and more about ELIMedia over the coming months as it's one of the 3 distributions I'm trying to release; so enough about that, let's get to the webcam.

This video will showcase how I went about making the previous video

This last one shows a proof of concept of what I'll be working on next which is creating a CKEditor button for using the webcam functionality of ELIMedia.

Look for a release of ELIMedia 6.x-1.0-alpha1 later this month!  I'll be doing some additional blogging about this over on http://drupal.psu.edu as more progress is made over the next week with the proof of concept.

Jan 06 2011
Jan 06


I've been very negative about usage of Organic Groups in the past.  ELMS started being built in organic groups in 2007 only to be declared a total failure because of how immature Drupal 5 (and organic groups 5.x) were.  This drove us to use a purely multi-site based approach to site structuring and completely scare me away from infrastructures involving Organic Groups.

Fortunately, a lot has changed since our journey began back in 2007:

  • Drupal and Organic Groups have drastically matured as platforms
  • Community support for Organic Groups via helper modules and distributions built off of it have helped push the notion of OG far beyond just the idea of "that thing that powers groups.drupal.org"
  • Our Unit has matured in our thinking about instructional design as well as how technology can help augment instructional design
  • I'm much more active in the community and we've benefited immensely in terms of bouncing ideas off of colleagues and other project leads
  • The Outline Designer (v 1.2+), backbone of our course development, has support for Organic Groups (6.x)

 All of these things have lead to today's announcement:  ELMS Alpha 2 has been released, running fully off of organic groups.  What does that mean for people that have been interested in ELMS in the past?  The requirement for installing ELMS is stated like this: "Can you install Drupal? good to go!".

Groups in organic groups have been mapped to Courses thanks to some renaming of views, string over-rides module (critical for UX) and a helper module specific to the distribution.

While we still are running a multi-site based stack for our current course infrastructure, we'll be bringing up a modified version of the ELMS distribution on a new machine in the future and chugging ahead, fully in-love with Organic Groups and we think you will too!  Click through to download ELMS Alpa 2 today! Then watch the installation tutorial below!

Nov 03 2010
Nov 03

This is a series of screencasts about how to use the ELIMedia system.  While it is currently a closed system for internal use by the e-Learning Institute, I figured I'd post the tutorials here so you could see some possibilities of Drupal.  This is a Drupal 6.x site with a Flash Media Interactive Server on the back-end, heavy use of Views and JWPlayer Module, and a snazzy theme.  There are two helper modules to connect systems together as well as stream-line different asset types.

Currently, there are tutorials for navigating the site and how to embed flash in a course.  The trackback system is also discussed.  Many, MANY more of these videos will be posted tomorrow and over the next few days.  The Flash tutorial also showcases smart-builder (I accidently call it smart-sheet which is a different product) integration.  After that is a lesson on the importance of using image treatments.  It's a 3 part tutorial on how to use image treatments to replace the need for redundant HTML creation and making images more reusable in courses.  There are also tutorials on uploading video, audio, images and adding youtube videos to the system.

If you have any questions about how different things are done please ask!  I hope this gives you some ideas for asset management in Drupal.

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web