We provide turn-key solutions to the most common IT requirements of schools.
We do this using Google Apps for Education, WordPress with Woocommerce, and Moodle. By Integrating two very powerful and popular open source platforms Moodle and WordPress, we are able to cover all of the common IT requirements of educational institutions. The advantages to using our approach compared with using a canned “one tool do it all” type of solution one commonly sees being offered are: Virtually unlimited flexibility and customization, ability to add new functionality as needed, easy integration to 3rd party API’s, etc. Since the software is open source with a vast user base it is easier to get help from the numerous support forums. One last noteworthy mention is the fine grained permissions and capabilities that both Moodle and WordPress implement, that allow us to tailor permissions with exquisite control not normally possible with canned packages. This approach is much more expensive than the typical canned software available both in initial setup as well as maintenance. You do need a sysadmin (hired or on contract) who needs to maintain the servers, perform backups, fix problems as they arise, etc. The payback is a much more comprehensive flexible tool.
We describe our solution in detail below. First we layout the typical IT needs that an educational institution may have and then we proceed to describe our solution.
Requirements of a typical educational institution:
- Email accounts for staff and Students Official email accounts for staff are important to keep all school communications under the control of the school. If staff leave the institution their accounts remain with the institution and can be archived and retain the content. It is also advantageous if the school can offer email accounts to students.
- School Information System (SIS) provides for the following: Click Here for For Wikipedia article on definition
– Comprehensive data management of students and staff
– Provide communication means (Text message, email, push)
– Manage classes: Student enrollment, teacher association
– Manage Attendance of students and staff
– Schedule meetings (such as Parent Teacher meetings (PTA), etc.)
– Provide means for payment for school services and products
– An Intranet (that is, a private website for authorized users only such as students and staff) to provide information to students and their parents about school policies, FAQs, blogs of teachers, etc.
– Others (Library management, school inventory, etc.)
- A Learning Management System (LMS) is a software application for the administration, documentation, tracking, reporting and delivery of electronic educational technology (also called e-learning) courses or training programs. Colleges, universities, school districts, and schools use an LMS to deliver online courses and or augment on-campus courses. LMS also acts to augment the lessons the teacher is giving in a brick and mortar environment, not just replace them. Click here for Wikipedia article on LMS definition
- Content for the LMS This is to be provided either by teachers of the school or the school pays to get / build content per their requirements.
- Website This is to provide information to the public at large about the school in whatever way and depth of detail that the school chooses.
- Repositories Schools have a need for storage space where records can be archived as for example records of past students and staff, attendance records, grade reports, etc. A secure cloud based repository is very convenient rather than having this information in some one’s computer. Secure storage, cloud convenience, reliability of storage, etc., are the important considerations.
- E-Commerce for payments to School for services and products: How to provide low cost payments? (credit card payments charge about 2% transaction fee)
- Interface to Accounting Software Data uploads to accounting software such as Tally. This software (Tally for example) needs to know about details of payments made by students.
- Mobile App It is very desirable to have a mobile App especially for PUSH notifications and communications and also for content access on the go.
- Remote Classroom or Virtual Classroom This is basically a web conferencing facility such that a teacher can access her students and vice-versa where either the teachers and or the students can be remote. This is of course the core requirement for online only educational institution but is becoming increasingly important even for regular schools. Use cases are when a teacher is sick and or out of station but still can take class, Students who are sick and at home but still able and willing to remotely attend the class, recorded of classes for future access by students for refreshing and or for absentees, etc.
- Directory services and SSO: It is important to have a directory for the organization that automatically controls the provisioning of all accounts. Otherwise someone has to manage adding and deleting of accounts to all the various services each time someone joins or leaves the school.
Keeping in mind the above requirements for a typical educational institution we offer the following integrated solution:
- Email and Repositories: Google G-Suite Education. If you are a not-for-profit educational institution then you may qualify for free Google Apps from Google. This includes email, docs, calendar, Google Drive, etc. Your institution deals directly with Google to get this arranged but we can help. Google typically wants to see an official school website and also a domain that ends with .edu. It then assigns a set number of accounts usable by the school and each account is usually given unlimited space. If for some reason you do not qualify for the free accounts then you have 2 options: Pay for Google G-Suite (usually not preferred due to cost) or have a dedicated server for mail and data storage. This is more effort but a last resort.
- School Information System (SIS): Moodle. Wait! Moodle was not designed to be a school management system! but it is so capable that it has most of the features needed for a school information system subsumed. Most important of all, Moodle has a fine grained permission control at all levels which is absent in most commercially available SISs. To provide an e-commerce site for payment services, as well as an intranet,our solution is to seamlessly integrate a WordPress multi-site including Woocommerce, with Moodle. We have a single sign on (SSO) to WordPress, as we access this only from inside of Moodle. In doing this we are integrating two very powerful systems to provide the coverage that we need in an integrated environment. We can customize Moodle to enhance functionality-as examples: A simple employee leave management system (modifying Moodle mod_data core); enhanced reporting (using custom SQL and the plugin configurable reports); export of grades as a CSV with a specific format (using a customized plugin-configurable reports); etc.
- Learning Management System (LMS): Moodle of course! It is the premier LMS of choice. Please click here to see how widespread and prevalent is the choice of Moodle as LMS worldwide.
- Content for LMS: There are 3 options for this:
– Your organization builds your own content and you don’t need any training. Here, our role is non-existent.
– Your organization builds content but we train you initially (most common)
– You pay us to or someone else to build your content
- Website: We use the WordPress platform. WordPress has numerous themes and plugins to implement most features that schools commonly need both aesthetically and functionally. We use WordPress also for the Intranet multi-site websites.
- E-Commerce: Implemented using WordPress + WooCommerce along with gateways and custom plugins developed by us. We facilitate Direct Bank Transfer type of payments with automatic reconciliation with WooCommerce Orders. This brings down transaction fee drastically. Please read our blog post on this.
- Interface to Tally like software: This is not completely automatic. Payment information is downloaded from WordPress / Woocommerce as a CSV file and uploaded into Tally for example. Important point is that even though process is not completely automatic all the relevant information can be transferred with no data entry needed.
- Servers and hosting: We use Virtual Private Servers (VPS) in the cloud using the LAMP (Linux, Apache, Mysql, PHP) stack with Ubuntu LTS, hosted by DigitalOcean. We use at least 2 servers: One to host Moodle and another to host WordPress and possibly the mail server if there is a need for it. We chose DigitalOcean because of cost, features, locations, and service. In many cases we need another small server for housekeeping tasks such as: Nagios for site monitoring, LDAP for directory services, etc.
- Mail Server: We need a mail server to send mail out to users. We use Postfix on VPS to configure our own mail server for sending out bulk mail. We secure the mail server with TLS along with proper SPF, DKIM, and DMARC protocols. By restricting the mail server to only sending mail and using Google to receive mail we simplify our mail server configuration and requirement for managing it.
- Mobile App: Moodle Mobile App for both Google Android and Apple IOS platforms with a comprehensive PUSH solution for notifications and much more. Please click here for details.
- Virtual Classroom: BigBlueButton (BBB) is our choice. This is an open source software and is tightly integrated into Moodle LMS by BBB itself through free dedicated plugins. Teachers can setup virtual classrooms in their courses and lessons can be recorded for access later. This is a very popular choice and is widely used and is therefore our choice. Ideally this software requires (a fairly elaborate installation on) a dedicated bare metal server in the cloud and can be expensive. Less ideal choices are large VPS’s but even these can cost US$44 to US$88/month. However if they are used as needed then the server can be spun up just before a virtual class and spun down just after this paying only a fraction of the monthly cost. This spin up and down needs to be done manually now, that perhaps could be automated with custom code in future. Another alternative is to use Teamviewer web conferencing software. The one-time cost for this software ranges from US$729 to US$2799. This is an excellent product but is not integrated into Moodle and so any recordings will have to be manually uploaded into Moodle. Other free alternatives are Skype Business (comes bundled with Microsoft Office 365 Education) and Google Meet (part of G-Suite).
- Directory services and SSO: Moodle, LDAP, GCDS We use Moodle as the reference directory. An LDAP based directory located on one of the servers will be synchronized with the Moodle Directory using our custom moodle plugin. This is turn will drive the provisioning of the G-Suite and Office 365 accounts. The Google G-Suite is the main authentication for SSO to Moodle. This simplifies and automates account provisioning to a large extent.
- Google Apps Scripts: We have written several custom Google Apps that run from Google Drive. Some examples are: 1) Automatic generation of Google Doc reports from uploaded grades CSV file obtained from Moodle; 2) Automatic block conversion of all Doc files in a given folder to PDFs in another specified folder; 3) Automatic dissemination of PDF reports to users in Moodle; etc.
- Customization and Integration: We have customized Moodle and WordPress to enhance capabilities: Some examples are: 1) LDAP management interface to an LDAP server; 2) Account management interface to manage Virtual Bank Accounts to facilitate Direct Bank Transfer type of payments in India; 3) Moodle LTI interface to WordPress for SSO and user meta configuration; 4) Plugins to reconcile payments in WordPress; 5) Plugins to view user documents and payments from dashboard in Moodle; 6) Core modifications to implement a Leave Management System in Moodle; etc.