Proposed ESB connector scenario - Integrating Canvas (LMS) with Eventbrite, MailChimp, GoogleCalendar, Facebook, GoToTraining and Disqus.

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Proposed ESB connector scenario - Integrating Canvas (LMS) with Eventbrite, MailChimp, GoogleCalendar, Facebook, GoToTraining and Disqus.

Rasika Hettige

1.     Overview

Canvas is the trusted, open-source learning management system (LMS) that's revolutionizing the way we educate. It facilitates a full package of creating a course and managing them. Some of the customers of Canvas are the London South Bank University, Florida State University and etc.

2.     Benefits of Canvas

  • Allows effective course management.
  • Provides the students and faculty with the ability to communicate in and out of Canvas via discussion forums and social media networks.
  • Can be integrated with third party tools to facilitate notifications, event management, online trainings, reminders and discussions. With this solution it facilitates to handle paid courses and training. 

3.     Canvas Business Scenario

In describing the business scenario of Canvas, it can be divided into sections such as Course Initiation, Manage Notifications, Handle Paid Training, and Collaboration or Knowledge Sharing as shown below:


Inline image 1 

 

3.1  Course Initiation

Inline image 2

Course Creation and Marketing

  1.       A course can be created in Canvas as an offline process
  2.         This course can be retrieved from Canvas and it can be created as a paid event in the EventBrite API and the same can be created as a draft campaign in the MailChimp API for marketing purposes. As a prerequisite MailChimp should have a list of existing subscribers.

 Note: Once the event is made live in EventBrite, the mail has to be sent from MailChimp. And users can access the event in EventBrite through the mail sent from MailChimp and they can pay online and purchase tickets for the event in EventBrite. This is an offline process.

Course Management

1.      The attendees could be retrieved from the EventBrite API and added to the MailChimp subscribers list, if they are not in the list already. At the end of this step a list of email addresses would be returned.

2.    Prerequisite: As an offline process, the email addresses received in the above step should be added to the course in Canvas by the instructor. Subsequently the students will be receiving an email invitation, using which they can register themselves to the course. The instructor should also have created a private group in Facebook for the course.

3.      The enrolled students can be retrieved from Canvas and a calendar could be created and shared with them in the Google Calendar API. (In order perform this step, students must have given a Gmail ID)

4.      The students who have specified their Facebook ID while registering will be invited to join the private group in Facebook.

Advantages of integrating with EventBrite API

·         Eventbrite is an online ticketing service that allows event organizers to plan, set up ticket sales and promote events and publish them

Advantages of integrating with MailChimp API

·         MailChimp is an online email marketing solution to create campaigns, manage contacts, send emails and track results.

Advantages of integrating with Facebook API

·         Facebook can be used as a tool to share details about a course and notify relevant personnel regarding appointments, event, courses and etc.

Advantages of integrating with Google Calendar API

·         Google Calendar can be used as a communication medium through which the students could be notified/reminded about appointments and notifications.


 

3.2  Manage Notifications

1.   Inline image 3   


  1.     Retrieve calendar events which are appointments, assignments or quizzes created in the Canvas API and add those as a calendar entry in the Google Calendar API.
  2.       These calendar events can be added as a post in the group created in the Facebook API.

Advantages of integrating with Google Calendar API

·         Google Calendar can be used as a communication medium through which the students could be notified/reminded about appointments and notifications.

Advantages of integrating with Facebook API

·         Facebook can be used to share details about a course and notify relevant personnel regarding appointments, event, courses and etc.


 

3.3  Course Training

Inline image 4

Training Management

1.      Retrieve calendar events which are trainings from the Canvas API and create them as paid trainings in the GotoTraining API, as events in EventBrite and as a Draft Campaign in MailChimp.

Note: Once the event is made live in EventBrite, the mail has to be sent from MailChimp. As a prerequisite MailChimp should have a list of existing subscribers. This is an offline process.

Manage Attendees

          2.    Retrieve attendees from the EventBrite API and create them as registrants in the GotoTraining API and add them to the MailChimp subscribers list, if                  they are not in the list already.

 

Advantages of integrating with GotoTraining API

   ·       GotoTraining can be used as online training software which facilitates the instructor to perform live trainings, interactions and provide instructions to the       student.

Advantages of integrating with EventBrite API

·         Eventbrite is an online ticketing service that allows event organizers to plan, set up ticket sales and promote events and publish them

Advantages of integrating with MailChimp API

·         MailChimp is an online email marketing solution to create campaigns, manage contacts, send emails and track results.


3.4  Course Discussions/Collaboration

Inline image 5
1.      Discussions can be created in the Canvas API and the same could be created as a thread in the Disqus API.

2.      Enrolled students can be retrieved from the Canvas API and could be subscribed for the discussion in the Disqus API. Once subscribed they will be notified via a mail, through which they will be allowed to collaboratively involve in discussions in the thread.

3.      The comments (Posts) on this thread in the Disqus API can be voted as the best. Each vote is considered as a point. The post with the maximum of points will be retrieved and updated back into Canvas.

Advantages of integrating with Disqus API

·         Disqus is a global comment system which facilitates and improves discussions among several communities. 


Thanks & Regards

Rasika


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: Proposed ESB connector scenario - Integrating Canvas (LMS) with Eventbrite, MailChimp, GoogleCalendar, Facebook, GoToTraining and Disqus.

Rasika Hettige
Hi,

FFI, following methods will be implemented under following connectors:

Canvas Connector

createCourse - Create a new course for the teacher.
listCourses - List courses created by the teacher.
getCourse -  Get a course by ID.
listCourseUsers - List all the users belonging to a course.
getCourseUser - Get a user belonging to a course by ID.
search - Search courses of a Teacher.
createCalendarEvent - Create a calendar event for a user.
listCalendarEvents - List a calendar events of a user.
getCalendarEvent - Get a calendar event by ID.
createDiscussionTopic - Create a Discussion Topic
listDiscussionTopics - Retrieve multiple discussion topics created by the current user.
getDiscussionTopic - Retrieve a Discussion Topic by ID
createEntry - Create an Entry under the Discussion Topic.
updateEntry - Update an Entry.
listEntries - List all entries coming under a topic.
deleteEntry - Delete an Entry.

GoToTraining Connector

createTraining - Create (Schedule) a training giving a name, description and dates.
listTrainings - List trainings organized by the organizer referenced by the organizerKey.
getTraining - Get training by trainingId
listRegistrants - List registrants by trainingId
getRegistrant - Get Registrant by trainingId and registrantId
addRegistrant - Add a user identified by email to a Training.
updateTraining - Update the specifics of a training.
getTrainingOrganizers - Get the Organizers of a training.

Disqus Connector

getForumDetails - Returns forum details.
listPosts - Returns a list of posts within a forum/categories and by users.
listThreads - Returns a list of threads within a forum/category sorted by the date created.
listUsers - Returns a list of users active within a forum.
listCategories - Returns a list of categories within a forum.
getCategory - Returns category details.
createThread - Creates a new thread.
getThreadDetails - Returns thread details.
subscribe - Subscribe and unsubscribe for a thread.
getPost - Returns information about a post.

Thanks & Regards
Rasika
Reply | Threaded
Open this post in threaded view
|

Re: Proposed ESB connector scenario - Integrating Canvas (LMS) with Eventbrite, MailChimp, GoogleCalendar, Facebook, GoToTraining and Disqus.

Rasika Hettige
Hi All,

Please note that the method "getTrainingOrganizers" in the GoToTraining connector will be renamed as "listOrganizers".

Thanks & Regards
Rasika
Reply | Threaded
Open this post in threaded view
|

Re: Proposed ESB connector scenario - Integrating Canvas (LMS) with Eventbrite, MailChimp, GoogleCalendar, Facebook, GoToTraining and Disqus.

Rasika Hettige
Hi All,

Since the Eventbrite API has been changed recently, the scenarios will also be modified accordingly:

Course Creation and Marketing/Training Management
1. A course can be created in Canvas as an offline process.
2. This course can be retrieved from Canvas and it can be created as a paid event with the required
        ticket details in the EventBrite API. After which the created event should be published through the
        EventBrite API.
3. For the published events a campaign will be created and sent in the MailChimp API for marketing
        purposes. As a prerequisite MailChimp should have a list of existing subscribers.

Note:  Once the mail has  been sent from MailChimp,  Users can access the event in EventBrite through the mail sent from MailChimp and they can pay online and purchase tickets for the event in EventBrite. This is an offline process.

1. The attendees could be retrieved from the EventBrite API;
     a.  They could be added as users to the course in the Canvas API.
     b.  And they could also be added to the MailChimp subscribers list, if they are not in the list already.
2. The  users added to Canvas will be receiving an email invitation, using which they can register
        themselves to the course. The enrolled users can be retrieved from Canvas and a calendar could be
        created and shared with them in the Google Calendar API. (In order perform this step, students must
        have given a Gmail ID)


Following step under "Course Creation and Marketing" is removed as the facebook API does not support such functionality now.

4.      The students who have specified their Facebook ID while registering will be invited to join the private group in Facebook.

To cater the above changes, following methods have been added.

• createEvent - Create an Event.
• createTicketClass - Create a Ticket Class to associate with the event.
• publishEvent - Publish a created event.

Thanks and Regards
Rasika