Can’t believe the year has passed so quickly. 2017 was a big year for WPLMS as we migrate from a completely WP theme oriented framework into other technologies and areas.
#5 WPLMS Gift Course
We were often suggested upon the idea to enable gifting courses to users. The idea that users should be able to gift courses to others and the users getting the gift should automatically be created and assigned to the course. Although the user flow is quite simple the implementation was as much challenging due to the fact that there were several security issues if left unchecked could have been exploited. The basic functionality was complete in a matter of weeks, however fixing the security loop holes took us 3 months before we could finally launch the plugin. more
#4 WPLMS Course Templates and Package Uploader
This is one of the most requested features for the WPLMS front end course creation. We often got the feedback that there are just too many controls in the course creator. However the fact that each of the control existed there for a reason really confused us, on how to make things simpler. There was an option of clubbing the settings into groups but then again the groups would grow larger and we’ll face the same issue later on. So we decided to build Course templates, a feature which would assign a default value to the course creator settings and hide the ones which are not necessary for instructors. For example, Administrators can create course templates for Offline courses and online courses, or for drip courses and the instructors using the templates do not have to worry about the settings. The package uploader was added as a part of this as it in itself is a course template which replaces the curriculum part by an upload area. We’ll be adding Scorm Courses and TinCan Courses this year in the same area. Learn more
#3 WPLMS Custom Learning Paths
This was an exciting new feature which we had been working on. The concept “Activity based learning” in itself is really amazing. Learning through activities, so we wanted to have a feature where in LP (Learning path) creator can chose the activities and award users on completing the activities. Not only a specific set of activity but users can generate their own set of learning activities (Learning Path) to complete an objective. Internally the LP’s maintain a points system which is used to calculate the progress towards the objective. For example, to become a Software developer you need a total of 100 points. The LP has steps which give you an option to complete a course on cobol worth 50 points or a course on c# worth 50 points and a course on Agile SDLC worth 50 points. So the users can decide on their own which set of activity they want to achieve the Software Developer objective. Learn more.
REST API is a norm of today’s web technology, especially for WordPress as they claim that REST API calls are faster than Ajax. WPLMS being the leading LMS for WordPress, it was a much needed feature. However, we also needed a use case for developing the REST API. What better than a mobile App which runs solely on REST API. However, this presented a problem, we also needed a server to authenticate requests from API calls. For Authentication we implemented the WP oAuth 2.0, however, we found that although it is great, it does not allow the user to sign in directly from the APP. It opens a web browser window in the app and the user signs in on WPLMS site which then responds with a token which is used by the app. We altered this a little bit and we have a token-based system which requires first login via APP. The second problem was that we were using current logged in user everywhere in the WPLMS, so we had to change the entire architecture of the WPLMS system and instead of using current logged in user we implemented a user ID which was recognized via the REST API call through the token based system.
#1 WPLMS Student Mobile App
The number 1 highlight was the WPLMS Student App. We published the app both on Google Play and Apple App Store. This was quite challenging, as we had to adapt to newer technologies and generate something which was not yet existing. The work for the App started in December 2016 and we released it on September 17. We were testing the App on Apple and Android devices which uses an in App browser to open the Woocommerce checkout page for purchases, however we stumbled upon a grave situation when Apple rejected our App saying that all purchases inside an app should be made via inAppPurchases. For which we implemented a Wallet system which uses purchases from inAppProducts to maintain a points system on the WPLMS Server. Of course like all our controls the admin can freely manage points of any member from their controlled interface. Every purchase passes a signature which is verified by the WPLMS site and upon verification the points are updated in the App. These points can be used to purchase courses in the App.