Category Archives: drupal

How to Build an E-Learning Website – 5-Point evaluation


Create your e-learning website, and use VdoCipher for secure video hosting

In this blogpost I discuss how you can build an E-learning website. I make the recommendations on the basis of the following five parameters:

  1. Technical Skills required to create the website
  2. Features and Customization available
  3. Cost of solution for building website
  4. Time to build solution
  5. Expected Number of students and scaling with increasing numbers

The four methods that you can use to create your E-learning website are:

  1. Coding using PHP/ ASP/Jave/ Node.JS
  2. Content Management Systems – WordPress, Joomla, Drupal, Moodle
  3. Website Builders – Weebly, Wix, SquareSpace
  4. E-Learning Website builders – Teachable, WebAnywhere

Create e-website website, and secure videos using VdoCipher

Here is a video explaining in full detail all the options. A text version of video is also included below.

Coding Using PHP/ ASP/ Node.JS

Technical Skills required

A website may be built from scratch using PHP, ASP and Node.Js. Naturally building these websites would either require an in-house website developer or should be outsourced to web designer. Which of the coding platforms – PHP, ASP or Node.JS you opt for would depend largely on the preferences and comfort levels of the developer in your team/ the web designer that you hire. PHP is one of the most popular scripting languages, while Node.JS is the newest website runtime environment which has seen massive adoption for websites. Alongside choosing the language, you would need to setup the server and database as well. For building a large website you can use a custom solution with a dedicated server on Amazon Web Services. For single-website usages (the more likely scenario) for E-learning websites, you can opt for shared web server hosting, using for example GoDaddy.

Features and Customization

Since your website is being built from the ground up, you have the widest possible options for customization for features that you wish to incorporate. For instance, as a security mechanism against sharing of login credentials, you may set an upper limit on overall time a student may be logged in to the system. Such a solution can be implemented while building the website code.

One thing that you should make clear is to ensure that the code is well documented. Good documentation ensures continuity between different developer teams.

Cost of Solution

Such a solution would require a dedicated development team to build. Support and maintenance are also additional issues that you would need to work on.

Time to Build Solution

Keep a time period of 2-3 months for such a website to build. To minimize site development time you should have developed a good understanding of the design and structure of your website, and communicated that to the developer. This would ensure minimal confusion in the website development process

Scale of website and Expected Number

1,000+ expected annual users – You would be able to incorporate features specifically on the basis of user requirements. It is important to make sure that appropriate security features are installed in the website framework.

Content Management Systems – WordPress, Joomla, Drupal, Moodle

Technical Skills required

Such an option mainly requires familiarity with the CMS interface. These skills can be learnt quite easily by beginners. A number of our clients – independent artists and individual teachers – have easily setup their WordPress and Moodle websites for hosting their E-learning courses. There would be a one-time effort in setting up the server though.

Features and Customization

Moodle is an LMS, and is therefore designed as an E-learning platform. WordPress on the other hand is a Content Management System, to which you can add LMS functionality through WordPress plugins.

Cost of Solution

Costs of building websites on Content Management Systems include cost of plugins for adding functionalities. WordPress and Joomla offer plugins such as Sensei, Guru and eMember, which simplify the process of course-creation considerably. Many of the useful plugins available are paid, while a lot of them are free as well (generally free plugins offer specific solutions, while paid plugins bundle a whole lot of useful features together). Cost-wise this is the cheapest solution, as the CMS itself is free – the only costs are the plugins and the server hosting.

Sensei plugin for eLearning - use VdoCipher for secure video hosting

Time to Build Solution

Expect a time to launch between 15 to 30 days for a fully functional CMS hosted site.

Scale of website and Expected Number

Such a solution would work pretty good upto a number of 10,000 students. There is no lower limit to the number of students, as costs are low.

Website Builders – Weebly, Wix, SquareSpace

Technical Skills required

In this solution the website hosting company uses a basic website template that they use.

Features and Customization

Such a website would follow a basic template, and there are not many options to customize additional features.

Cost of Solution

The cost of building such a website include purchasing the website template and server hosting.

Time to Build Solution

Fast – You need very little time to deploy such a video hosting solution. Server setup and configuration of the website would take time between 7-10 days.

Scale of website and Expected Number

Implementing such a website is best for the case of fast-deployment of your e-learning platform. Because time of launch and costs are priority in this, such a solution would be appropriate for upto 100 users paying for the course. Beyond this number this solution fails to add the customizations you need to cater to the growing list of users.

E-Learning Website builders – Teachable, WebAnywhere

Technical Skills required

There is no coding required. Most features can be implemented using drag-and-drop

Features and Customisation

Teachable and WebAnywhere offer ready-to-use E-Learning themes, Student management options, Media and text addition, Membership Access, Server hosting and Database management.

The features that these sites offer are sufficient for most e-learning website creators. These sites however are not very customizable in terms of additional security features or tweaks in User Interface. UI additions such as adding comment sections to pages, and security restrictions such as restricting login time on page, are not available when you opt for this solution.

Cost of Solution

Costs are dependent on the features you integrate, and the number of students enrolled. Because the websites are designed specifically for e-learning such a solution is somewhat more expensive than the case of ready-to-make websites.

Time to Build Solution

7-10 days

Scale of website and Expected Number

Such a website solution would be appropriate for upto 1000 annual users. This is the approximate number of students you can manage without the need to alter your User Interface and backend. Beyond this number you should explore CMS hosting or creating your own website.

Suggestions

When you set about creating an e-learning website I recommend that you check other websites in similar areas. You can use the tool BuiltWith to analyze the tech stack on which any website is made. If you find that 8 out of 10 of your competitors use a particular tech stack, then implementing that stack would be the most reliable way to build an e-learning site.

Streaming E-Learning Videos And Protection From Piracy

The reasons I am specifically writing a different section on video streaming for e-Learning is because:

  1. Video courses are typically the lifeline of any e-Learning portal and second
  2. Video streaming and safeguarding the video content from piracy is a major technical challenge, which the 4 options discussed do not solve inherently themselves. Most of E-Learning sites use some premium video streaming provider to cater to their streaming needs.

Streaming bufferless for HD worldwide and ensuring smooth delivery to regions in Africa and India with slow connections is a major problem. YouTube is quite good in this aspect, but lacks business friendly customization. Vimeo has a B2B offering that is quite popular and is okay in terms of streaming experience. YouTube and Vimeo use standard streaming protocols to deliver video content, and thus a lot of free plugins and downloaders are able to grab and download the videos. For this reason, a more custom video player, providing higher security and flexibility to manage video related features, is needed for premium videos. Here is the link to implement and compare secure technologies used in video hosting for education. Many of the top e-Learning companies either go for a combination of the above solutions or build proprietary systems of their own (for example Udemy and BYJU’s).

Aspect of Comparison Code from Raw: PHP, ASP, NodeJS, JAVA Moodle, WordPress, Joomla, Drupal + LMS themes + Plugins Ready to launch E-learning site – Teachable, Thinkfic etc Ready to Launch Generic Website – Weebly, Wix
Coding Skills Required Every functionality is full coded, require full stack development team One Time server setup required Nil Nil
Features & Customization All customizations are possible, but takes time and cost Most of Elearning functionalities available, Decent customizable. Have to give up on 10-20% of your custom needs Common Elearning functionalities available, except some themes, major customizations not possible. Elearning feature set integration not so varied – suitable for start simple cases
Cost One time considerable cost, recommended for long term control and stability Quite affordable, themes plugins have one time costs Charges monthly basis, not much burden in form of upfront costs Quite affordable , one time costs
Time 2-3 months to go live, each new feature takes time 1 month typically to go live, additional features doable through plugins , not much time taken Go live in a day, not much feature addition can be done, so no time addition Go live in a day, not much feature addition can be done, so no time addition
Scale Effects Good for large user base companies Good if number of students not going more then 10,000 Good till scale of 1000 Good for starting and testing up , upto 500 paid users
Conclusion Choice of technology depends on comfort of your dev team, ideal for large custom required sites Optimizes cost , features and control of all the options- Most popular option I have seen Good for individual teachers. Have to give up on customizations. Affordable Good for experimentation, Better to choose amongst other 3 for full elearning portal

I will be happy to have feedback and questions in the comments section below or on my LinkedIn profile. You can also share your experience with above technologies and any interesting insights.

A version of this blog was first published on E-learningIndustry.com

Drupal module to embed vdocipher videos

Your videos on vdocipher are protected and can only be played when generating an access token for each video view. This access token needs to be generated securely in your website backend. The Drupal module does this thing in your Drupal website without getting your hands dirty in API programming.  With this module you can add videos inside any text field in content_type in your Drupal website.

The module uses a shortcode like syntax to parse and display videos inside any node such as an article or a page or a custom content type. The markup of the content body is processed and the shortcode syntax is replaced with the player code.

Download here

  1. Download the module file from the link above.
  2. Upload the module file from the install new module page in your Drupal “install new module” page.
  3. Enable the uploaded module.
  4. Click on the configure link in the module page to complete your setup.
  5. Copy your API secret key from vdocipher dashboard > config > general.
  6. Enter the API key in Drupal and save your settings.
  7. Save the configuration.
  8. Copy a video id from your vdocipher dashboard. Edit an existing node in Drupal and add this code in any text field (replace aaaaaaa with id of a video).
    1. [vdo id=aaaaaaa]
  9. Open the article on a page. You should see the video player in your Drupal website.

Q. I am seeing the message: Unauthorized
A. Most probably, you have extra spaces in the API key configuration. Go to the module configuration for vdocipher and make sure the API key is correct.

Q. I am seeing message: Video not found
A. This would probably mean that the video id is not correct. The rich-text editor you are using to add the shortcode might have added extra characters. Content saved in the database is HTML while you are shown rendered HTML in the editor. Click on one of the “view source” option in your editor and try re-pasting the shortcode. Also, make sure there are no spaces before or after the equality sign.

Q. How to set this up for selling video as PPV or subscription?
A. The video can only be viewed by the person who has purchased a membership or a video. You need to set up Drupal permissions such as only those persons can view the assigned content-type which has video.

Q. The height and width are not what I want
A. The height and width are taken from the module configuration and overridden from the shortcode. Did I tell you, you can also add the height and width info like the following. In case the provided width is greater than the available width, the width is set to 100% of available width and height is adjusted to keep the same aspect ratio as provided by the settings.

Q. Why is this not integrated with the media module
A. That what was the idea when we started working on it. But turns out there are certain permission concerns that we need to understand to make sure that using the media module is alright for your video accessibility.

Q. How to manage permission on creating video playable contents
A. The shortcode for video can be added to any node and thus anybody who has the permission to create node(any content type) can add a shortcode to play the video. Note that comment is not a node. We understand this might be a problem for your set-up in a multi-user environment. We plan to solve this problem in the next version with either a custom content type or using the media module to make it easy to control permissions. At the very least, we can add a white-list of content-types which can only have a video embedded in it but it might not work in all cases.

Note on watermark adding.

The watermark can be added to your videos to imprint info about the logged in user or an image for branding. You can configure the watermark from the module configuration page. Check this article for more information on the structure and format required to add watermark text or image in the video. We are going to add a new article on how to configure the watermark in Drupal.

A note about caching

OTP generated here is temporary. You can not cache this OTP and send it to multiple users as it might cause trouble. The OTP once used gets expired and can no longer be used to play video. Some extensions might try to automate the page rendering and especially when on pages which do not need login. The configuration must be set to make sure pages with embedded videos are not cached and cause error while playback.

vdocipher api illustration

For reference about how everything works, please check API reference.

Do let us know about your experiences setting up your secure video in Drupal to create your own PPV or subscription-based video portal. and how we can make the integration simpler.