Skip to content

Instantly share code, notes, and snippets.

@btopro
Last active April 12, 2017 04:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save btopro/cdbb79f5fe9c5e7ea9b2932a72bb3ced to your computer and use it in GitHub Desktop.
Save btopro/cdbb79f5fe9c5e7ea9b2932a72bb3ced to your computer and use it in GitHub Desktop.
ELMS:LN - Apereo incubation submission

##a. A proposed name for the project, together with a brief explanation of why the project wishes to enter Apereo incubation, and how the project would benefit higher education. ELMS: Learning Network A Next generation digital learning environment (NGDLE) that seeks to change the way systems are developed in the educational technology space. We seek to expand the number of developers in the space and the number of instructional technologists, instructional designers, faculty and students who can actively participate in the construction of learning ecosystems. This project has roots in faculty and staff empowerment and has been built at the grass roots level at Penn State. It has grown from a homegrown custom solution into a sophisticated framework utilized and collaborated on by members of different institutions both in and outside of Penn State. Through building on a common development framework of Drupal CMS we have been able to bridge the development gap so common in getting communities going by extending a community that so many in education already have experience with (28% of university sites are Drupal).

##b. A short preface for the mailing lists, for use if the Project or Community is accepted ELMS Learning Network (http://elmsln.org) seeks inclusion in the Apereo incubation program. We have an active and growing community that has been running for several years and hope Apereo can help us take our efforts to the next level. Using the Drupal CMS as a framework for building ecosystems, ELMSLN is a NGDLE, well positioned to bridge the gap between "just a CMS" and "just an LMS" worldviews. The network name comes from the system design in which applications talk to each other over web services, never assuming they are in the same place. This gives us flexibility as a development platform as well as community to grow.

##c. A proposed Project Lead or Community Chair, with contact information Bryan Ollendyke (bto108@psu.edu)

##d. Two or more organizational recommendations from representatives of members of the Apereo Foundation. I definitely could use some help in this area as I am very new to this community. I believe Dr. Chuck Severance would recommend us for inclusion.

##e. A list of the initial contributors for the Project or Community

##f. An overview of the aims of the Project or Community The project seeks to be the first of its kind platform for building, integrating and extending existing Learning Management Systems and educational technologies to create a Next Generation Digital Learning Environment (NGDLE). ELMS:LN's community seeks to create a platform for empowering users to create their own learning ecosystems while doing so in a sustainable way.

##g. A technology overview The platform is a server technology that can operate as a stand-alone server or across multiple in a fractal pattern. The nature of the architecture is such that the system connects (even to other parts of itself) via RESTful web services. By doing this, we can detach and expand these services into new servers as needed, allowing for cost effective resource utilization at initial conception, leading to organic expansion as needs dictate. The system is built on bash, drush, MySQL, apache, PHP, and jQuery. The applications in the system are primarily built using the Drupal (7 currently) Content Management Framework.

The RESTful approach allows us to also build faster and expand more rapidly as new services / systems don't impact existing ones. While they share a sub-set of the same modules, any new custom development can happen just on that domain / system without concern of influencing the other parts of the network. This allows for rapid prototyping and development as well as rolling alpha and beta services in production environments to get additional feedback and testing from a wider audience of real users. There's even a system in the network called 'innovate' that allows users to construct and submit new ideas to the community without needing to understand programming. If they can do Drupal site building, they can do ELMS:LN tool building.

The system is heavily reliant on pattern-based automation. Much of this automation is found in bash scripts and drush, a command-line version of drupal. Drush, and a chain automation format called Drush Recipes, allow for targeting the pattern of courses in elmsln and running bulk commands against them. This makes management at scale for system administrators painless when wanting to make bulk customizations. The system's upgrade and deployment routines also rely on these capabilities, and there is also a command-line version of elmsln called "leafy", which helps in system administration and management behind the scenes. All of these also make it possible to use systems like Jenkins to administer and keep multiple ELMSLN deployments in sync across multiple servers without additional personnel on staff to do so.

We leverage the pattern based automation above board too for users on the front-end. This is reflected in the design methodology and "Apps" style approach to the system. We have a Network icon which acts much like a Google or Microsoft web-apps button, showing all the possible toolsets that a user can use. While in a course, students are presented with the other applications that they could access on a per course basis, while administrative and faculty are presented with additional applications for helping build the course experiences.

Staff and faculty can also leverage the nature of the system to "inline" functionality from the other systems in the network. This can be used to keep student interactions on-pace and more linear, while tapping into an ever expanding capability set. For example, student submissions can be communicated and submitted in the flow of instruction even though the item storage and reporting of completion have come from the Open Studio tool. Everything is embeddable everywhere through the use of short codes, and every page everywhere in the system has a share button that lets users see all the ways they can embed and repurpose the item they are currently looking at.

A detailed video description talking through the architectural design of the system and showing examples in action can be viewed on the http://elmsln.org home page. We also have two white papers that help describe the platform and idea:

##h. An overview of any current user base or user community

  • Penn State has four actively used deployments of ELMS:LN in the Colleges of Arts & Architecture, Eberly College of Science, Smeal College of Business and College of Agricultural Sciences. Arts and Architecture founded the project and supplies 2 full time developers to the project as well as 2 student developers. Eberly College of Science provides 1 full time developer and Smeal has part of a developer's time dedicated to the system. All colleges provide instructional design support, expertise and advisement in the development of the platform as well as working with faculty to ensure that requirements are correctly brought to the platform from those that utilize it for online teaching.
  • Buttercups Training, a medical training company in the UK has a large scale active deployment.
  • University Wisconsin: Madison Law School's Center for Patient Partnerships has a deployment for managing a few courses.

The development of the system has contributed over 100 installation profiles, modules, and themes to the larger Drupal community, all of which work in and outside the context of elmsln. This puts the download count of by-products of elmsln (not including elmsln itself) at close to 1 million with approximately 15,000 active installations. Drupal 7 has over 1 million active installs and the hundreds of contributed modules we use have many other systems using them. While not elmsln directly, this puts more sites, developers and systems on the hook for the security, usability and feature sets of a huge portion of the elmsln architecture, allowing us to tap into a larger community then our own for code, best practices and new functionality.

##i. An overview of how the Project or Community relates to other parts of Apereo, if appropriate ELMS:LN is LTI 1.2 provider compliant as well as supports xAPI / Tin Can. It is a project started in the grassroots like many members of Apereo, by a member institution, and it seeks to grow and sustain a completely open community. It is also seeking Content Item conformance similar to Tsugi apps to provide an "app store" for existing LMSs like Sakai. For this reason I feel ELMS:LN can plug nicely into the community both in mindset and in systems integration.

##j. A pointer to any current information (for example, an existing Web page) for the project

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment