GR8 CRM is a set of Grails Web Application Framework plugins that makes it easy to develop web applications with CRM functionality.
You can find more information about GR8 CRM on the main documentation site http://gr8crm.github.io.
1.1. Customer Relationship Management
Customer relationship management (CRM) is a system for managing a company’s interactions with current and future customers. It involves using technology to organize, automate and synchronize sales, marketing, customer service, and technical support. Wikipedia
The GR8 CRM "Ecosystem" currently contains over 40 Grails plugins. For a complete list of plugins see http://gr8crm.github.io.
Each GR8 CRM plugin defines a Bounded Context that focus on one specific domain, for example contact, project or document.
2. Course Management Plugin
This plugin provides services and persistence for course management in GR8 CRM applications.
|Although the plugin was originally designed for administration of course/training events it ended up being a very generic plugin capable of managing any type of events where people attend. It can be traditional training classes, seminars, small conferences or user group meetings.|
This is a "headless" plugin. For event management user interface see the crm-training-ui plugin.
CrmTrainingService provides methods for course/event management.
3.1. Create a conference event
def conferenceType = crmTrainingService.createTrainingType(name: "Conference", true) (1) def gr8conf = crmTrainingService.createTraining(name: "GR8Conf EU", type: conferenceType, url: "http://gr8conf.eu/", true) (2) def taskType = crmTaskService.createTaskType(name: "Conference", true) (3) def startDate = new GregorianCalendar(2015, Calendar.JUNE, 2, 8, 0, 0).time def endDate = new GregorianCalendar(2015, Calendar.JUNE, 4, 17, 15, 0).time def gr8confeu2015 = crmTaskService.createTask(number: 'GR8CONF-EU-2015', name: "GR8Conf EU", type: taskType, startTime: startDate, endTime: endDate, displayDate: "June 2nd - 4th, 2015", location: "IT-University, Rued Langgards Vej 7, Copenhagen, Denmark", username: 'admin', reference: gr8conf, description: "GR8Conf is an independent, affordable series of conferences in Denmark and the US. It's dedicated to the technologies in the Groovy ecosystem", true) (4) crmTrainingService.addAttender(gr8confeu2015, [firstName: "Göran", lastName: "Ehrsson", status: "confirmed", tags: ["Speaker"]) (5) crmTrainingService.addAttender(gr8confeu2015, [firstName: "Søren", lastName: "Berg Glasius", status: "confirmed", tags: ["Crew", "Speaker"]]) crmTrainingService.addAttender(gr8confeu2015, [firstName: "Guillaume", lastName: "Laforge", status: "confirmed", tags: ["Speaker"]])
|1||Create an event type called "Conference"|
|2||Define an event called "GR8Conf EU". This instance holds common metadata for this conference type, no dates or speakers.|
|3||An event instance is really a CrmTask instance. We create a task type "Conference" to easier separate conferences from other tasks in our calendar.|
|4||This creates the specific occurrence of GR8Conf EU in June 2015.|
|5||Add attendees to the conference.|
Fixed BLOCKER issue
attender.booking.taskpath was wrong. Added properties
vaton CrmTraining domain class.
First public release
This plugin is licensed with Apache License version 2.0
6. Source Code
The source code for this plugin is available at https://github.com/technipelago/grails-crm-training