22

Product support

Visit this product's website for support.

Categories

UPCOMING FEATURES

  • commenting inside each lesson
  • a separate theme app for courses creators

Campus - Online Courses Platform

Campus is a Kajabi clone plugin for October CMS. It lets you create an complete online course platform. People can purchase course and follow through the course with the pre-defined drip-method by the course author. You can set up your own fully functioning online courses with your own video, external video, audio, pdf, images and content.

DEMO

I can provide a demo link on demand if you are interested to know more about this plugin and associated theme. Just make the request. :)

Features

  • OC v3 compatible
  • multisite compatible (Note: the Campus plugin and its data must be installed in the primary site)
  • a course is comprised of multiples modules themselves comprised of lessons.
  • a course can be free to access, be purchased or a prior interview is necessary (by application).
  • a course's access can be limited in time (to avoid fraud and sharing account)
  • the pace of the course can be decided with the following options:
    • All modules/lessons are instantly and always available
    • Modules get available every X days
    • Modules get available on a particular weekday
    • Modules get available on a specific date
  • a module can be set to be always available independently of the course drip-method chosen (useful for Bonus modules or Introduction type of modules)
  • user checkout and fulfill the registration process after successful payment
  • allow to externalize the customer onboarding process with an external application process (Ex: interview) and payment process
  • notifications to customers and admin when a customer purchases a course
  • notifications when a module gets unlocked and available (requires the cronjob to be installed)
  • manual trigger for notification from the course author to customers when a new lesson has been added or updated
  • course progress management (Lesson completion and general progress in the course)
    • Free flow mode: capacity to decide if user is required to complete a lesson before seeing the next one or have access to all the lessons inside a module
  • possibility to use a custom email template inside a course or let the system use the default one when a module is getting unlocked for the user
  • thumbnail generation from video file (requires FFMpeg library to be installed on the server) at creation of lesson (settings)
  • a lesson material can be:
    • a video file
    • an audio file
    • a rich text content (with video, embed video, and/or audio)
    • Images slideshow
    • PDF slideshow
    • attachments files
  • lesson video resumes where you left it in the lesson page
  • backend shortcuts access to modules'courses and lessons' courses (settings)
  • easy way to reorder modules (from the course form) and lessons (from the modules form)
  • can add notes aside each lesson for content creators. Helps to add reminders, to-dos,...
  • compatible with RainLab.User v3

Multisite

The plugin is multisite compatible to allow this multisite configuration wiht only one October CMS installation.

Site www.domain.tld : your marketing Website Site app.domain.tld The Campus plugin to manage the courses data and settings with the upcoing Campus App theme dedicated to the courses creators. Site campus.domain.tld: The Campus frontend for the customers

You will need to set which site is used to handle the courses data and select the CMS page from in the plugin settings. In the previous example, it will be set to the site 2 app.domain.tld

Notification Emails

These are the notification emails that are sent using Campus.

Associated theme

[https://octobercms.com/theme/inherent-ecourses](ecourses theme)

Course Workflow

Demo data

The demo data provides you with 3 different test courses and a user. The user will be registered to 2 of the courses:

  • Relationship Mastery for Men
  • Online Cooking
  • Learn to play the guitar

Note: This will create the corresponding folders in the media files to store videos and images.

Relationship Mastery for Men

Registration can be done after payment - This is a paid course - link to a Stripe Product.

Content is revealed automatically every 7 days from the user registration date.

Online Cooking

Registration is immediate as this is a free course -

All content is immediately available.

Learn to play the guitar

Registration is manual as this course needs a interview, which we call a By application course -

Content is revealed on Saturday's.

Upcoming versions

new features coming up:

  • refactoring the webhook payment so that we can easily add new ones like Paypal
  • adding a quizz feature for the lesson
  • a theme implementing a UI for course creator to manage courses (to replace OC backend)
  • a comment system underneath each lesson / or global forum attached to each course
  • possibility to add a pinned message on the course UI
  • send reminder to user who didn't check their new modules available
The main backend screen with automatic shortcuts to lessons & modules from a specific courses

Campus - Online Courses Platform Plugin

Campus is a Kajabi clone plugin for October CMS. It lets you create an complete online course platform. People can purchase course and follow through the course with the pre-defined drip-method by the course author. You can set up your own fully functioning online courses with your own video, external video, audio, pdf, images and content.

Features

  • OC v3 compatible
  • multisite compatible
  • a course is comprised of multiples modules themselves comprised of lessons.
  • a course can be free to access, be purchased or a prior interview is necessary (by application).
  • a course's access can be limited in time (to avoid fraud and sharing account)
  • the pace of the course can be decided with the following options:
    • All modules/lessons are instantly and always available
    • Modules get available every X days
    • Modules get available on a particular weekday
    • Modules get available on a specific date
  • a module can be set to be always available independently of the course drip-method chosen (useful for Bonus modules or Introduction type of modules)
  • user checkout and fulfill the registration process after successful payment
  • allow to externalize the customer onboarding process with an external application process (Ex: interview) and payment process
  • notifications to customers and admin when a customer purchases a course
  • notifications when a module gets unlocked and available (requires the cronjob to be installed)
  • manual trigger for notification from the course author to customers when a new lesson has been added or updated
  • course progress management (Lesson completion and general progress in the course)
    • Free flow mode: capacity to decide if user is required to complete a lesson before seeing the next one or have access to all the lessons inside a module
  • possibility to use a custom email template inside a course or let the system use the default one when a module is getting unlocked for the user
  • thumbnail generation from video file (requires FFMpeg library to be installed on the server) at creation of lesson (settings)
  • a lesson material can be:
    • a video file
    • an audio file
    • a rich text content (with video, embed video, and/or audio)
    • Images slideshow
    • PDF slideshow
    • attachments files
  • lesson video resumes where you left it in the lesson page
  • backend shortcuts access to modules'courses and lessons' courses (settings)
  • easy way to reorder modules (from the course form) and lessons (from the modules form)
  • can add notes aside each lesson for content creators. Helps to add reminders, to-dos,...

Notification Emails

These are the notification emails that are sent using Campus.

Admin templates

  • admin-client-purchase: Sent to the site admin when a course has been purchased.

Public templates

  • client-purchase: Sent to the customer after a successful checkout process.
  • client-registration: Sent to the customer after a successful checkout process for website registration purpose.
  • client-module-unlocked: Sent to the customer when a module get unlocked (if the course is setup with drip content).
  • client-updated-lesson-lang: Manually triggered by course author. Sent to the customer when a lesson has been added or updated.

Note: Make sure the .env variable ACTIVE_THEME is set with the active theme

Course Workflow

Demo data

The demo data provides you with 3 different test courses and a user. The user will be registered to 2 of the courses:

  • Relationship Mastery for Men
  • Online Cooking
  • Learn to play the guitar

Note: This will create the corresponding folders in the media files to store videos and images.

Relationship Mastery for Men

Registration can be done after payment - This is a paid course - link to a Stripe Product.

Content is revealed automatically every 7 days from the user registration date.

Online Cooking

Registration is immediate as this is a free course -

All content is immediately available.

Learn to play the guitar

Registration is manual as this course needs a interview, which we call a By application course -

Content is revealed on Saturday's.

To seed the data

run the command php artisan campus:seed-demo {site_id}

example: php artisan campus:seed-demo 3 will seed the demo in the site Id 3.

You can then login with the following credentials email: john@doe.com password: johndoe9090

Installing the cron job worker

This job is handling the correct flow in the user's progress on their courses. It will move forward the user progress to the next module when it is required and send the appropriate email to notify the user.

Install the cron tab on your server as per October CMS documentation

Ex: * * * * * php /october/artisan schedule:run >> /dev/null 2>&1

One time test the schedule job worker

or manually run the command to test php artisan campus:test-job

How to implement payment options

Stripe setup

The Campus plugin is using the Stripe Checkout Link.

First, create your Stripe account here. Set the test mode. Then, create a Stripe payment link page. Copy/paste your payment page link url in your Course, in the tab options of the form in the backend. Ex: https://buy.stripe.com/3fsbYd1QO9cRgVKdQQ

Then go to your Stripe dashboard, menu developers, tab Webhook and add your webhook link relative to your application domain name. Ex: https://courses.mydomain.com/webhook/{your_token}

Note: {your_token} must be defined in the plugin settings

Grab your Stripe Product ID and paste it into the course, options tab, in the backend. Note: the product you created for your payment link can be found on the product catalog page, then on the top right corner of the product detail page. A product ID looks like prod_PBzUOxYHmboLvN

Then head over your website and you can pay by using the credit card number 4242 4242 4242 4242, a expiry date in the future like 12/34 and a random CVC.

Components

[courseRegister]

[courseList]

[courseDetails]

[moduleDetails]

[lessonDetails]

Upcoming version

new features coming up:

  • refactoring the webhook payment so that we can easily add new ones like Paypal
  • adding a quizz feature for the lesson
  • a theme implementing a UI for course creator to manage courses (to replace OC backend)
  • a comment system underneath each lesson / or global forum attached to each course
  • possibility to add a pinned message on the course UI
  • send reminder to user who didn't check their new modules available
1.3.3

Created table inherent_campus_user_progress

Oct 09, 2024

1.3.2

Seed UserGroup n Channel

Oct 09, 2024

1.3.1

minor bug fixes

Oct 04, 2024

1.3.0

multisite

Oct 04, 2024

1.2.27

demo data seed bug fix

Oct 04, 2024

1.2.26

preparation for integration comments within the lesson

Oct 04, 2024

1.2.25

Add un/publish capacity to the listviews

Sep 24, 2024

1.2.24

bug fix in the worker when there is no next lesson available in the next module

Sep 11, 2024

1.2.23

update required plugins version

Sep 10, 2024

1.2.22

Add choice in how the video are distributed in the lesson frontend

Sep 09, 2024

1.2.21

handling a paused Order

Sep 09, 2024

1.2.20

typo fixes

Aug 18, 2024

1.2.19

Updated table inherent_campus_modules

May 11, 2024

1.2.18

Updated table inherent_campus_courses

May 11, 2024

1.2.17

refactoring user lang ui

May 11, 2024

1.2.16

Update Demo Data and ReadMe

Apr 04, 2024

1.2.15

Updated table inherent_campus_courses

Apr 04, 2024

1.2.14

Add capacity to notify users upon new or updated lesson

Apr 04, 2024

1.2.13

Updated table inherent_campus_customers

Apr 04, 2024

1.2.12

Updated table orders and courses

Apr 04, 2024

1.2.11

Updated table inherent_campus_customers

Apr 04, 2024

1.2.10

Updated table inherent_campus_lessons

Apr 04, 2024

1.2.9

Add Color Columns

Apr 04, 2024

1.2.8

Updated table inherent_campus_modules

Apr 04, 2024

1.2.7

Updated table inherent_campus_courses

Apr 04, 2024

1.2.6

Change default materials value for lesson

Apr 04, 2024

1.2.5

Updated table inherent_campus_courses

Apr 04, 2024

1.2.4

Handles module defined drip content

Apr 04, 2024

1.2.3

Add on pause column to Orders table

Apr 04, 2024

1.2.2

General Refinements

Apr 04, 2024

1.2.1

Add drip column in modules table

Apr 04, 2024

1.2.0

Ready app for prod

Apr 04, 2024

1.1.2

Add tags to Lesson

Apr 04, 2024

1.1.1

adding notes to lesson; varioux bug fixes

Apr 04, 2024

1.1.0

refactoring customer registration and course progress management

Apr 04, 2024

1.0.9

Update Course Table with registration methods

Apr 04, 2024

1.0.8

Update Customer table with location capacity

Apr 04, 2024

1.0.7

bug fix

Apr 04, 2024

1.0.6

Enhance customer course backend feature

Apr 04, 2024

1.0.5

version production ready

Apr 04, 2024

1.0.4

Add Last Available Lesson in the User Course Pivot Table

Apr 04, 2024

1.0.3

Bug fix on Course Details

Apr 04, 2024

1.0.2

Add product ID to courses table

Apr 04, 2024

1.0.1

Creating tables

Apr 04, 2024