TikiCRM will be developed at and once it's good enough, it will de converted to a profile, so anyone can deploy in one click.
Table of contents
Developer notes
php installer/shell.php install; sh setup.sh; php lib/search/shell.php rebuild; php lib/profilelib/shell.php install Customer_Relationship_Management; sh setup.sh
Missing features
- Permission Management
- Users are automatically unassigned from the group after
- prefs for user trackers
- New we get "You do not have permission to insert an item"
- After a user joins a group (with payment), it should not produce an error
- PluginMemberPayment
- After paying on Membership: This invoice does not exist or is in limited access.
Basic prefs
General
instructions: Setup preferences: feature_trackers: y allowRegister: y payment_feature: y wikiplugin_addtocart : y wikiplugin_memberpayment : y userTracker: y
Temporary
preferences: validateUsers: n
Membership-groups
permissions: Members: description: Members of the organization
Wiki pages
objects: - type: wiki_page ref: crm_home_page data: name: HomePage content: wikicontent:Customer_Relationship_Management_HomePage - type: wiki_page ref: crm_setup data: name: Setup description: Post-Profile Setup Instructions lang: en content: wikicontent:Customer_Relationship_Management_Setup - type: wiki_page ref: crm_myprofile data: name: MyProfile content: wikicontent:Customer_Relationship_Management_MyProfile - type: wiki_page ref: crm_membership data: name: Membership content: wikicontent:Customer_Relationship_Management_Membership
Customer_Relationship_Management_HomePage
Customer_Relationship_Management_Setup
Customer_Relationship_Management_MyProfile
Customer_Relationship_Management_Membership
Trackers
Contact info
objects: - type: tracker ref: crmcontact data: name: CRM contacts - type: tracker_field ref: crmusername data: order: 10 name: Username type: user tracker: $crmcontact - type: tracker_field ref: crmfirstname data: order: 20 name: First name type: text_field tracker: $crmcontact - type: tracker_field ref: crmlastname data: order: 30 name: Last Name type: text_field tracker: $crmcontact - type: tracker_field ref: crmorganization data: order: 40 name: Organization type: text_field tracker: $crmcontact - type: tracker_field ref: crmaddress data: order: 50 name: Address type: text_field tracker: $crmcontact - type: tracker_field ref: crmcity data: order: 60 name: City type: text_field tracker: $crmcontact - type: tracker_field ref: crmprovince data: order: 70 name: State/province type: text_field tracker: $crmcontact - type: tracker_field ref: crmpostalcode data: order: 80 name: Zip/Postal code type: text_field tracker: $crmcontact - type: tracker_field ref: crmcountry data: order: 90 name: Country type: country tracker: $crmcontact - type: tracker_field ref: crmmobilephone data: order: 100 name: Mobile Phone type: text_field tracker: $crmcontact - type: tracker_field ref: crmofficephone data: order: 110 name: Office Phone type: text_field tracker: $crmcontact - type: tracker_field ref: crmemail data: order: 120 name: E-mail type: text_field tracker: $crmcontact
Actions
Menus
objects: - type: menu ref: CRM_Top_menu data: name: Top description: A menu containing the base navigation of the site collapse: none items: - name: Home url: ((HomePage)) - name: My Profile url: ((MyProfile)) - name: Membership url: ((Membership)) - name: Help url: ((Help)) - name: Setup url: ((Setup)) permissions: [ admin ]
Menu on top
objects: - type: module data: name: menu params: id: $CRM_Top_menu type: horiz menu_id: tiki-top nobox: y groups: order: 1 position: topbar
Features
- Database of contacts, managed by admins
- Some of those contacts have logins and can update their profile as per User_Trackers
- Anonymous can create an account and update profile
- Registered users can become members (and pay) (there is more than 1 membership type) as per: http://doc.tiki.org/Payment#Membership_Management
- Members have access to privileged content (A members-only category)
- Make trackers for contacts with customers (ticket system)
- with admin field (visible to user) with time spent
- When ticket is closed, this is passed to the Credit system
- Registered users can use the ticket system (report issues, etc.)
- Admins can also use the ticket system to log interactions with contacts (whether or not they are members)
- with admin field (visible to user) with time spent
Actions by group
What are various actions that can be done by various user types in a typical CRM/Membership Management System?Anonymous
- Have access to the public information about the organization
- Are invited to register to the site
Registered
- Can login and update their profile user tracker with name, phone number address, photo, etc.
- A main staff contact for each (so the best person calls when relevant)
- Note: there are some contacts which have no login and the info is solely maintained by staff
- Can pay for membership
- Payment is via Paypal or manual payment
- Can see if payment is due
- credits
- Can purchase
- Can check status
- Can use credits
- Can't see other profiles
- Can register to an event
- Can purchase an item (ex.: book) via the Shopping Cart
- Tickets (using Trackers)
- log a support ticket
- review status of tickets already submitted
Members
- See restricted section for members. This is a category with permissions.
Staff
- Send Newsletters to members in good standing
- Can promote list of members on public site
- Can change the user type
- Ex.: Contact, Lead, Past Customer, etc.
- Can see full list of members
- Can edit wiki pages and member's profile
- Credits
- Can manage credits for all users
- View all and respond to all tickets
Admins
- Can do everything
Questions
- Do we need to make the distinction between an individual contact and a company/account which has many contacts in it.
- Would be simpler not to. Otherwise, we need to figure something out with group trackers.
- interaction or actions, or should they be called something else?
Nice to have
- Admins can indicate: Time spent (minutes to be deducted from Credits, when ticket is closed)
- Admins can filter contacts by a criteria and contact them
- User groups can have access to a common contact database with different access levels. For example the contact database "sales" is readable by the members of "sales", "sales_senior" can add contacts and edit those contacts they own and "sales_admin" can reassign contacts to others and edit them all. Another user group "tech" will have their own contact database and so on.
- Each contact can have n different contact types with different values, for example 3 entries "telephone". new contact types can be defined
- for some contact types links can be generated (for example if I enter data into a homepage field, this is a link to the website, for a telephone number this is a link to a helper script on my pbx server to trigger a call and for an email it is a mailto link of course.
- Notes can be attached to a contact which are visible to all or to the author only
- Documents can be attached to a contact
- contacts can be grouped in relations: Bill is the superior of Joe, Lisa is the wife of Joe etc.
Long term
- Show off credit system
- Shopping cart is available to replenish credits (this part needs to be coded)
- Use payment to run a Data Channel (to show off the new feature)
Todo
- Make more tests as an end user becoming a member
- change top menu
- Clarify the CRM action aspect
- It should look like a ticket from the client's perspective, with some hidden fields for the admins
- <title>test company Array</title>
- How does a user know if he has outstanding payments?
- Make activity tracker (calls, etc) work
- What about contact with no username? (what is in drop down?)
- Make group tracker associate within profile for User_Trackers
- Profile should ask for: sender email
Related profiles
Related links
- http://en.wikipedia.org/wiki/Customer_relationship_management
- http://en.wikipedia.org/wiki/Category:Free_customer_relationship_management_software
- http://dev.tiki.org/crm
- http://wikisuite.org/Customer-Relationship-Management