Development & System Updates
The DELTA development team has put a lot of effort this year into improvements in our LMS. In addition to small fixes and patches that have been deployed throughout the year during regular maintenance windows, there have been several large projects. The biggest project has been the new WolfWare Toolbox Manage Course Spaces tool. This tool allows instructors to request a WolfWare/Moodle space for their R&R courses and then afterwards, manage that space. Some features of the Toolbox include:
- the ability to choose any of the NCSU themes to apply to the Moodle space during the request process
- the ability for instructors to add or remove additional R&R rosters/sections to their Moodle space
- the ability to add or remove additional individuals to the Moodle space
- the ability to manage the Student Visibility Window (open and close date) of their Moodle space
Other large development efforts have included:
- updating Elluminate to use the WolfWare look and feel
- removing Vista functionality and links from WolfWare (and other NCSU websites we could locate) after it was retired June 1, 2011
- changing the Moodle links on the WolfWare course browse pages to be direct links to the course instead of just to the login page
- with approval from Technology Transfer; releasing the first DELTA-developed Moodle add-on back into the Moodle community. This is a role import/export report that makes it much easier to copy permission sets from one server to another. On campus we use this functionality to develop and evaluate permission sets on a test server and then easily and correctly copy them to the production server.
Some of the smaller fixes were made to address visual and accessibility issues that lowered the user experience below NCSU standards. Other issues fixed were largely behind the scenes and helped to improve the overall effectiveness of Moodle as an LMS. These fixes included improved validation of data, faster page loads, and corrected programming logic not yet addressed in the latest Moodle releases.
Although DELTA’s goal is to continually improve NCSU’s implementation of Moodle, we have found that a portion of our work will often benefit other institutions. In light of this, DELTA has made efforts to contribute bug fixes, feature enhancements, and new modules back to the Moodle community. Many of our contributions have been accepted into future releases of the software and we have been invited by the core Moodle team to help with weekly Quality Assurance testing. This collaboration has opened up direct communication between DELTA and the core Moodle community, which will continue to benefit NCSU’s implementation of Moodle.
Future development work includes:
- improvements to the WolfWare Toolbox to enhance usability
- adding Local Admin functionality to the WolfWare Toolbox, including admin course creation and bulk roster uploads for designated local administrators
- investigating the integration of existing DELTA-managed tools with WolfWare. As an example, considering how to make it easy for an instructor to link the syllabus they created in the Syllabus Tool to their course listing on WolfWare.
A number of enhancements have been made at the system administration level. While this work is often invisible to our users, it does enable us to do things in a more reliable, robust and efficient manner.
- One major recent systems accomplishment is a completely scripted Moodle install. This includes all local changes, themes, plug-in, blocks, configuration, etc. Previously, there were several manual steps but those have all been eliminated. This allows for completely consistent installs across all servers including staging and testing. Now we can be completely confident that everything is exactly the same and consistent.
- We are gathering real-time performance metrics so we can at-a-glance tell how much traffic we are getting and how long average page loads are taking. We also have the ability to drill down and look at performance for specific pages if the need arises.
- We have detailed monitoring for all the machines associated with Moodle. Things like system load, memory usage, and disk space are being watched, with real-time notification should something go wrong.
- We have systems setup specifically for testing plug-ins that come from feature requests so that we can adequately take a look at them in separate environment.
- We are also doing research and development into architecture changes that could benefit the system. An example is we have a system setup to test changing the storage engine on MySQL from MyISAM to InnoDB, and to test changing some internal parameters to better take advantage of all the RAM that we have on the machine.
- Moodle 2.1 installs are being done to allow us to test several different methods of importing old content from Moodle 1.9.x into Moodle 2.1. We also have systems setup for theme development, accessibility testing, and training, to name a few.
- We have implemented some significant changes to the built-in help system so that the Elluminate help system points to existing resources with NCSU rather than offsite.
- We have re-branded the service so that it has the look of other existing WolfWare tools.
- We have tested alternate configurations to get around some client outbound firewall restrictions
- This is the appliance that controls most of the traffic used in Moodle, Mediasite, and other Web applications that we offer.
- We have recently updated the firmware on the F5 BigIP’s to the latest version and are making plans to implement the next major version change (BigIP V11), which should be released this year.
- With the switchover from ITECS (Engineering) to DELTA in running the systems side of Mediasite, we have had to quickly learn about the load balancer it uses, a Cisco Netscaler, and understand key difference in how it operates. This has helped to create a deeper understanding of how our own load balancer operates.
Basic System Administration
- We have been moving to a more virtual environment to better utilize the current hardware we have available to us. Creating VM’s (virtual machines) has also been automated and provisioning can happen very quickly.
- With all of this automation we can quickly bring new Moodle Web nodes into existence or create any other type of resource we need when the need arises do to things like increased load or to replace failed systems.
- We recently upgraded the lights out management firmware on all the existing machines currently at MCNC. This software allows us direct remote access to an individual blade for administration purposes.
- Backups and disaster recovery have also been very high on our list. Every production machine we run has backups in at least two other places spread across datacenters. If something major happens to a specific data center we could recover quickly with minimal data loss. We are also taking frequent snapshots of shared file systems that would allow point-in-time recovery of several production systems (ex: Moodle) should the need arise.
- Monitoring for all systems has now been implemented with Nagios. If a machine has an issue, we are notified immediately. Significant work has also been done to automate the process of adding new services to the monitoring system. When we add a new production node, we can quickly configure the services that need to be monitored and add it to our current Nagios system.
The systems support people are constantly working to make the systems we use and rely on stable and available at all times. We are also working to improve systems through diligent research and development and constantly learning about new technologies that we can use.