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. Task Management User Interface Plugin
This plugin provide user interfaces for managing tasks in GR8 CRM applications. It depends on the crm-task plugin for low level services and persistence. A Task in GR8 CRM is a domain instance that represents a unit of work that has been done in the past or is scheduled to be done in the future. A task is very similar to a calendar item, it has a start time and a duration.
With this plugin you get a basic CRUD controller where you can create new, search for and update existing tasks. You also get a calendar that can display tasks in monthly, weekly and daily views. Tasks can be associated with other domain instances and the plugin provide a GSP template that you can inject in other GSP pages to get a list of tasks associated with a domain instance.
3. Create a new task
To create a new task you visit crmTask/create which will show an input form where you can add task details.
4. Search for tasks
To query for tasks you visit crmTask/index which will show the query form.
You can enter query values in any field and then hit the Search button to search for tasks matching your query. If you don’t enter any query value all tasks will be included in the search result.
If the query result contains more than one task, a list will be displayed. If the query result contains exactly one task, then details for that task will be displayed. I.e. it will skip the list view and go directly to the show view.
5. Task details
The task details page crmTask/show shows all the details for a selected task. Here you will find task name, start time, priority, etc.
If the crm-tags plugin is installed you can see existing tags and add new tags to a task.
6. Edit task details
To edit task details you hit the Edit button. This will display the edit page crmTask/edit. Here you can alter values and then hit Save to store the new values in the database.
A task can have a collection of attenders. Attenders can be people stored as a CrmContact domain instance, or just name and address stored in the CrmTaskAttender instance. Task attenders are not enabled by default. If you set the config option crm.task.attenders.enabled to true you will get an extra tab in the task details page. This tab will display attenders and let you add attenders to the task.
The CrmCalendarController crmCalendar/index displays a month/week/day calendar with all the tasks in your database. The calendar is based on the FullCalendar jQuery plugin. A username query parameter can be specified to filter events for a specific user. Otherwise it will display all events in the current tenant.
Several small improvements to attender management
Attender contact information can now be easily replaced with an existing contact (requires crm-contact-ui 2.4.3)
Much improved attender management! Leverages refactored domain hierarchy in crm-core version 2.4.2
Tagging support for task attenders and fixed compatibility issue with crm-notes plugin
First version compatible with Grails 2.4.4
First public release
This plugin is licensed with Apache License version 2.0
FullCalendar jQuery plugin is open source licensed under an MIT license.
11. Source Code
The source code for this plugin is available at https://github.com/technipelago/grails-crm-task-ui
Please report issues or suggestions.
Want to improve the plugin: Fork the repository and send a pull request.