1 of 49

Open Source Learning

The company and products

2 of 49

Open Source Learning

  • Owned and run by Andrew Hancox
  • Network of highly experienced freelancers
    • Three consultants/trainers, one Spanish speaking
    • U/X expert front end developer
    • Content creator
    • AWS certified engineer
  • Full service
    • A full suite of products to support Moodle:
      • Inward facing - e.g. Corporate LMS
      • Outward facing - e.g. training sales channel partners
      • E-commerce enabled
    • Front end development
    • Hosting
    • Configuration and training

3 of 49

Andrew Hancox

  • 10 years of experience with Moodle
  • 5,328 lines of code across 52 commits in Moodle core
  • 59 accepted pull requests into Moodle plugins on github
  • 79 commits in Totara

4 of 49

Clients

  • 18 clients with 23 production Moodle sites
  • Multi-sector - Pharma, Tech, SAAS, Publishing, Healthcare
  • High profile clients – 2 NHS trusts, Nikei 225 listed pharma, $3.9Bn tech company, South American government, UN
  • Small clients – local adult education center, further education startup

5 of 49

Theming

6 of 49

Theming

7 of 49

Theming

8 of 49

Theming

9 of 49

Products

  • Product first approach to all client requirements
    • Scale
    • Value
  • No hacks
    • All products are one or more Moodle plugins with no core hacks
  • Idiomatic
    • Use of capabilities
    • AMD modules
    • Language packs
    • Standard rendering functions
    • Mustache templates

10 of 49

At mentions

  • Slack style functionality to mention users around Moodle
  • Pluggable
    • Forums
      • Configure to allow mentioning forum subscribers or enrolled users
      • Auto subscribe mentioned users to the forum
      • Notify them they have been mentioned
      • Add click action to their name within the post
    • Activity introduction
    • Course summary

11 of 49

At mentions

12 of 49

At mentions

13 of 49

Version control

  • Track changes to course content
    • Compare to current/previous version
    • Identify individual responsible
    • Download snapshot of activity/course
  • Can be enabled by default for new activities or courses
  • Automatic mode
    • Commit is made immediately with no message
  • Manual mode
    • Commit is made manually
    • User able to make multiple changes in a single commit
    • Custom commit message

14 of 49

Version control

15 of 49

Version control

16 of 49

Version control

17 of 49

Report builder

  • A comprehensively updated and enhanced version of the GPL v3 report builder tool from Totara seedlings
  • Refactored into a local plugin with no core hacks
  • Re-built to work with Moodle bootstrap themes
  • New set of report sources created to support Moodle entities
    • Cohorts
    • Activities – page, label, questions, quizzes, quiz attempts
  • New custom profile fields created to drive reporting
    • Standard custom profile field plugins that integrate with Moodle functionality e.g. profile forms, SSO field mappings, bulk uploads etc.
    • Used to pre-filter reports

18 of 49

Taxonomy

  • Hierarchical taxonomies
  • Each taxonomy can be used in multiple ways
    • User profile field
    • Database field
    • Course custom field
  • Option to allow users to create terms while entering values

19 of 49

Taxonomy

20 of 49

Related user

  • Builds a hierarchical tree of users
  • Mainly used for reporting
  • Detects and prevents loops in hierarchy

21 of 49

Reporting

  • Choose a report source
    • In SQL terms a base table with a set of joins
    • E.g. label activity instances, cohorts, users, courses, enrolments
  • Columns
    • E.g. activity name, user name, enrolment date
  • Filters for user to apply
    • E.g. Enrolled before, email contains
  • Pre-filters – exclude data from user view
    • Only show data for line reports (direct or in-direct)
    • Only show data for users attached to child terms of a hierarchy
  • Graphs

22 of 49

Reporting

  • Columns
    • E.g. activity name, user name, enrolment date

23 of 49

Reporting

  • Filters for user to apply
    • E.g. Enrolled before, email contains

24 of 49

Reporting

  • Pre-filters – exclude data from user view
    • Only show data for line reports (direct or in-direct)

25 of 49

Reporting

  • Pre-filters – exclude data from user view
    • Only show data for users attached to child terms of a hierarchy

26 of 49

Reporting

  • Access control

27 of 49

Reporting

  • Embeddable as block

28 of 49

Reporting

  • Top line statistics can be embedded using a context aware filter

29 of 49

Reporting

  • Browse accessible reports

30 of 49

Reporting

  • Schedule delivery by email

31 of 49

Reporting – export to PDF

  • Download or schedule email good looking reports

32 of 49

Reporting

  • Columns can be dynamic e.g. enrolled courses by user
  • Columns can be graphical, e.g. line graph

33 of 49

Reporting

  • Columns can define expanders which inject an iframe – e.g. view submitted answers to questions

34 of 49

E-commerce

  • Most ambitious product to date
  • Far in advance of other platforms on the market
    • Totally embedded and integrated
    • No external dependencies except the payment gateway
    • Massively more flexible
    • Support for dynamic tax calculation

35 of 49

E-commerce

  • Each product is associated with one or more benefits e.g.
    • Enrolment on a course
    • Access to a restricted activity or course topic
    • Booking on a scheduled event
    • Quiz attempt
    • Membership of a cohort
    • Ability to log in to the site

36 of 49

E-commerce

  • Each product is associated with one or more price which can be
    • One off – perpetual
    • One off – fixed duration of access
    • Recurring – monthly or annually
    • Volume discount
    • Multiple units per order
  • Deep links to take user straight to the payment gateway to purchase a specific product/price – example
  • Non-logged in users can purchase products which are then linked to either an existing account with a matching email or an account dynamically created with registration completed on first login

37 of 49

E-commerce – edit product

38 of 49

E-commerce browse products

  • Relevant products can be browsed by the user
  • Filtered by product prerequisites and benefits the user has already purchased

39 of 49

E-commerce – Quiz attempt benefit

  • Can be purchased from product catalog or from within the quiz

40 of 49

E-commerce – Course enroment benefit

  • Can be purchased from product catalog or from the course enrolment screen

41 of 49

E-commerce – Activity/section access

  • Can be purchased from product catalog or from within the course

42 of 49

E-commerce – purchase for team

  • Users can purchase products for other users individually or in bulk
  • On completion of the purchase the user is presented with a voucher that they can distribute
  • The voucher consists of a link that users follow, at which point they either login or create an account which instantly receives the purchased benefits

43 of 49

Certifications

  • Build complex lists of requirements based on course completions and re-certification.
  • Configure emails to remind users to re-certify.
  • Set validity period
  • Automatically reset course completion data

44 of 49

Certifications

  • Build PDF certificates

45 of 49

Certifications

  • Users can view their status

46 of 49

Certifications

  • Configure reminder emails

47 of 49

Certifications

  • Manually award certifications
  • Upload CSV files of legacy data

48 of 49

Certifications

  • Report on user data

49 of 49

Certifications

  • Browse
  • Follow
  • See status