Learning Management System on Solaris OS – A Case Study Pathways
Pathways offers self-paced, user-friendly courses in Jewish practice and thought. These courses differ from textbook learning as they leverage the power of the Internet with dozens of multi-media features like instructional videos, interactive online testing, and an automated glossary.
With over 270,000 subscribers and 2.6 million visitors monthly, Aish is one of the largest Judaism websites. Aish selected Powerful CMS to migrate their custom developed Microsoft application to Drupal. Aish wanted to leverage Open Source to control software costs, use a popular CMS so that it would be easy to find developers and host on a Unix based platform to leverage cloud hosting environments, not be tied to any single vendor and a fast turnaround.
David LeVine provided the source Learning Management System in Microsoft ASP Pathways, with Ronie Halibard as project overseer. Joe Matthew served as the project coordinator from Powerful CMS with Sergei Stryukov as the lead software architect, Zdislav Lavnichek, Alfren Enriquez and Mel Bernardino as core developers.
Drupal Hosting Platform – Open Solaris
Based on the scaling needs for Pathways, Joyent with a 1GB accelerator was selected. While most Drupal installations work fine on Linux or BSD, Open Solaris was chosen based on the Solaris track record as the enterprise Operating System. Open Solaris is the open source version of Solaris, complementing Drupal.
Solaris is now open source, it's free to both develop on and deploy, and brings features and functionality that simply are not yet available on other OS. The development team used the DTrace functionality to detect the behavior of Drupal and custom code, and that otherwise the cause of aberrant behavior.
Data Architecture
The first step in this project was to establish the right data architecture across Drupal Content Construction Kit (CCK), to give
Pathways the best options to handle business rules (current and foreseeable) for this mini learning management system:

Above is the partial data model of relevant components designed in Drupal CCK.
Authors CCK name, an identifying photo and a short biography for the author. Only authors can publish a course. Therefore, we
linked Author CCK to Course CCK by node reference field.
There are several sections in Pathways, that are inter-dependent and for these we used Drupal Taxonomy.
In the future, users may need to pay for a course (Drupal Ubercart integration). The concept of a partial course preview becomes relevant
to entice a visitor to register for a course. Sample video can be selected on Edit Course page (we used Node Reference again) because
number of videos is not big. The ecommerce integration with the course is a potential upgrade down the line.
Next step is a Class CCK. Several authors can publish a course, but each author can contribute to different classes for a course. For
example, Author A is the content publisher of the first 10 classes, Author B the next 10 and Author C the next 30. To enable this, we
linked authors to class by Node Reference.
Course can have several subgroups of classes, for example for "Literature" course they could be: "Fantasy", "Economic", "Scientific", etc. Therefore, we added a taxonomy field for this. There can be many subcategories; therefore we enabled "Free Tagging" for this taxonomy field.
Theming and Development
The major layouts to be themed were Home, Course, Class, Quiz and My Account page.
Home Page
- Active courses. Active course block contain course name, count of classes, small course description, links to sample video and sample class and registration button.
- This block contains samples, which can help promote the site. With these samples, visitors can experience many of the site content quickly.
- Testimonials of users, implemented as a Drupal Views block.
- List of future courses. User can review upcoming courses.
Course page (layout for anonymous users for a course)
- List of active courses
- Link to sample class
Course page (layout for authorized users)
- Name of the last class the user visited.
- Link to a page with full list of all multimedia (video, audio, PDF files) for this course.
- When user clicks on this link, the user gets full results for all quizzes of this course
- List of all classes.
Class Page
- Short description.
- Link to PDF version for this class.
- Link to video presentation. We made a special CSS class, so authors can add video objects into class text and these video objects will be shown on the right side of a text.
- Glossary entry. When user hovers over such text, a hint is shown.
- Footnotes entry.
Quiz page
- Question text.
- Set of answers.
- Number of the question
Unfortunately Quiz module provide only one way for questions displaying – one question per page. A wish list item for Pathways was a view of all quizzes on one page. If this work is chartered in the future, this would be contributed to the Drupal community.
My Account page
In "My Account" page a user can changes his or her profile and find results for tests taken.
- Results of tests (empty for new user).
- Example of a course without tests.
- Example of a course with tests, test results are hidden.
Modules Used
| Administration Menu | Renders a menu tree for administrative purposes as dropdown menu at the top of the window. |
| CCK | Allows administrators to define new content types. |
| File Field | Defines a file field type. |
| Image Field | Defines an image field type. |
| Video CCK | Defines a field type for displaying third party videos, such as YouTube and Google Video. |
| Devel | Various blocks, pages, and functions for developers. |
| ImageCache | Dynamic image manipulator and cache. |
| Backup and Migrate | Backup or migrate the Drupal Database quickly and without unnecessary data. |
| FCKeditor with its internal File Manager | Enables the usage of FCKeditor (WYSIWYG) instead of plain text fields. |
| Footnotes | Add automatically numbered footnotes to your posts. (Includes Better URL filter.) |
| Forward | Forward this page module |
| Glossary | Maintain a glossary on your site |
| Pathauto | Provides a mechanism for modules to automatically generate aliases for the content they manage. |
| Remember me | Allows users to have persistent sessions via a checkbox on the login form |
| Update status | Checks to see if your installation of Drupal and its modules are up to date. |
| Upgrade Status | Checks to see if your installed modules are available for the next major release of Drupal. |
| Webform | Enables the creation of forms and questionnaires |
| Quiz | Create interactive quizzes |
| Multichoice | Multiple choice question type |
| Views | The views module creates customized views of node lists. |
| Custom module with helpful functions | An internal We made a new module for some features which can't we realized by existing modules. |
Drupal Version
The site development began in mid November 2008, at which time many of the Drupal 6.x modules relating to quiz, glossary and footnotes were not available. For this reason, Drupal 5.x is selected.
Conclusion
The entire project lasted about two months, through the holiday season of 2008. The core development took about three weeks with two developers. Data migration into the newly developed structure turned out to stretch the project, as the Microsoft LMS application had embedded data and HTML based data architecture, making it difficult to extract out elements as into Drupal CCK. So manual data validation had to be done after some scripted attempts to extract the data into Drupal. Overall, the feedback from the Aish team was that Drupal is easy for the end user, easy for the day-to-day maintenance and the learning curve quick for internal developers to come up to speed.
About PowerfulCMS
Powerful CMS is a Drupal Development Company empowering businesses online, leveraging Drupal. This team of Drupal specialists focuses on deploying Drupal sites and integrating it with Enterprise Business Applications – Open Source Enterprise Resource Planning, Customer Relationship Management (CRM), Software as a Service (SaaS) based applications like Salesforce and deploying Drupal in cloud based deployments.
