Installation guide

1. iCRM set up

Checking your environment
Installation routine
First login
Installation check
Menu customization
Menu access and roles

2. Customization guide

Label changing
GUI Customization
GUI Design change

3. Localization

General
Currency symbol and date formats

4. Email notifications

Notifications
Notification templates

5. Data import

Enabling the Data Import function
XML Data import
Joomla contact and user data import
Outlook data import

6. Product catalog and products

SEF Urls and search engine settings
Product catalog
Products

7. Lead generation and client tickets

Lead generating
New ticket


1. Installation guide

Checking your environment

iCRM is intended to run under Joomla 1.5.
There are no special requirements to MySQL and PHP versions.
Please contact our support team if you have any special settings for the Joomla database, or database user
Please contact our support if you are going to use the any special SEF URL components. iCRM is designed to work with standart Joomla SEF URL functions

Installation routine and sample data

The installation routine is straight-forward:
-    Open the Extensions->Install/Uninstall menu of your Joomla Administrative part.
-    Open the File Dialog window by clicking the Open button
-    Locate the downloaded iCRM installation package file
-    Click the Upload File and Install button
-    Wait while the installation routine installs the component and the sample data. Depending on your server performance it may take up to several minutes


The sample data will help you to explore your application function right after the application is installed. After you feel that you understand the application functions enough the sample data should be removed from the server.

First login

After the installation routine is finished it will show a message informing about success of installation and changes it made to your system. Please read the message carefully, as it provides first log in instructions.


There are several important actions you should undertake in order to continue to work with iCRM
-    Log out and log in as iCRM Super admin user. This is necessary because iCRM has own security model and in order to see iCRM data you should be logged in as iCRM Administrator. Please pay attention that right after the installation routine is finished your Joomla Super Administrator does not have access to iCRM data, and if you are logged in as the Joomla Super Administrator you will not be able to see iCRM views.
-    After you are logged in as iCRM Super Admin user, you may open this user form, switch to the Other tab, open the Joomla user drop down list, locate your Joomla Super Administrator user and select it in the list. After that please press the Apply or OK button and log out again.
-    Now you may log in as your usual Joomla Super Administrator. This time iCRM will allow access to its data.
-    It is necessary to note here that iCRM is designed as a team collaboration tool and this is why iCRM Super Admin user is not necessarily Joomla Super Admin. iCRM Super Admin may be even an ordinary Registered from Joomla viewpoint user.

Installation express check

After you installed iCRM please press your browser Reload button, in order to update the css style sheets.


After that check the following
-    Sample data is installed
-    Suggesting lists are working
-    Object linking is working
-    Master/detailed lists are working
-    Product catalog is properly working
-    New lead screen is properly working
-    Client's, Employee's and Sales person's GUI are available
-    The application controls look as expected.

Menu customization, menu access and roles

Before you begin to customize iCRM menus you need to plan which Joomla pages will be shown to each user.


iCRM will provide a user with a menu corresponding to iCRM role.


iCRM menu does not depend on Joomla access privileges. So you can publish only one iCRM menu item for Super administrators, Sales persons and Employees. To do this, please
-    open the Joomla Administrative part Menus menu item,
-    select the menu you want to add a new iCRM menu item
-    in the menu item list click the New button, located at the top-right screen corner
-    in the Select Menu Type tree select iCRM Professional->iCRMPro Menu
-    in the Menu item form indicate the menu item Title and Alias
-    in the Parameters(Basic) lists indicate a type of object list (or view) which will appear when a user clicks this menu item.  The Users type, opening the Contact list, is set by default. You may try to change this value to ServiceRequests, Orders (Employee does not have access to the Orders list), or Projects.


For persons, having iCRM Client privileges there is the need to create a special menu item.


Client has access to Orders and Service requests lists only. The procedure of menu creation is similar to the above.
If you want to allow your clients to create new tickets, there is a special iCRM Professional->New Ticket menu type;

Guests have access to Product Categories and Leads only. So if you want to provide your site visitors with access to your product catalog, or to allow them to submit their requests, you should choose the iCRM Professional -> Product Categories and iCRM Professional -> New lead menu item types.
Role assignment

Each iCRM users should have a role. Roles are user attributes, which define access to iCRM GUI. Roles are different to contact types. Contact types are used for contact segmentation. For example, any company employee contact data may have the Employee contact type, but each employee may have different roles.

In order to change users role you should open a correspondent contact form and switch to the Other tab. Then select the necessary role and click the Apply button.

Customization guide

Label changing

General.

All the resource strings by default are placed at the resources_en-GB.php file. In order to change a string please open it in a text editor, and using text search function locate the sting you want to replace.


When your text editor stops at the target string you will see a statement like


DEFINE("_Discount","Discount");


In order to replace the Discount word with for example “Discount value” you should change the text marked in red so you will see


DEFINE("_Discount","Discount value");


After you save the resources_en-GB.php, and refresh the screen you will find “Discount value” instead of “Discount”.


If you need to include a quote sign into your string, please do not forget to escape it.


For example, if we need to replace the Discount word with “Great” discount, the resulting string in the resources_en-GB.php will look like:


DEFINE("_Discount","\"Great \" discount");


Please note, if you need to insert the quote sign, you need to put a \ (back slash) sign prior to the quoter.

Object renaming

It is often happens that some iCRM object name should be changed. In order to rename the whole object you should perform 4 name changes. For example you need to rename Projects to Programs. For this you should find the following constants in the resources_en-GB.php file.


1.    _Projects – responsible for the menu label
2.    _ProjectsDetails – responsible for the form header
3.    _ProjectsObjectCreation – responsible for providing a default title for a new project.
4.    _ProjectsList – responsible for the project list header.

 

In the simplest case the renaming will look like


DEFINE("_Projects","Programs");
DEFINE("_ProjectsDetails","Program");
DEFINE("_ProjectsList","Program list");
DEFINE("_ProjectsObjectCreation","New program");

GUI Customization

Custom fields.

Several iCRM Objects support custom fields, which can be shown in object forms, views and filters. These objects are: Contacts, Orders, Projects and Products. It is simple enough to enable and disable a custom field. For example, in order to enable a contact custom field you should go to the guiconfig.php file, and find the string

//DEFINE('CONTACTCUSTOMFIELD1_USED',1);

Uncomment this statement, or in other words remove the // (slashes) sign before the string so that this string will look like

DEFINE('CONTACTCUSTOMFIELD1_USED',1);

Then save the file and refresh the application by clicking any iCRM menu item. You will find that the custom field 1 appeared in 3 places at once:

1.    In the Contact form
2.    In the Contact view
3.    In the Contact view filter set

Please read the Label Changing paragraph to find out more about how to change the Contact Field string labels to something more business oriented like Gender, Department, etc.

Regular views and forms customization

Almost all fields and filters found in the forms and views may be hidden and shown again. This is especially convenient if you want to hide any specific information from users of certain role. Field-by-Field customization may be complicated enough, so please contact the support team for this.


General rule is that you should go to the guiconfig.php file and comment/uncomment a specific field for specific view of a specific object. For example, if the string

DEFINE('COMPANIES_MAIN_VIEW_IDID_SHOW',1);

is commented, it will hide the id field in the company list;


By commenting and uncommenting the constants it is possible to customize forms, views and filter sets to the necessary extent.

GUI Design change

Styles

iCRM Supports styles. A style is a set of graphical design files, and a php script intended to define the graphical design files load sequences and conditions. Styles are installed into a special folder. This folder name is same to the style name.


In order to change the default application style it is necessary to open the appconfigdata.php file, find the ICRMPRO_DEFAULT_STYLE constant, and change its name according to the style name you are going to use. For example, if you want to use a style named blue your default style definition should look like:

DEFINE('ICRMPRO_DEFAULT_STYLE', 'blue');

CSS Classes and images.

CSS Classes are used to change GUI look and feel. CSS Classes specification may change for each style and depending on iCRM version. Please contact our support team if you need to get consultations how to change a particular view or a GUI control.

Localization

Localization steps are very similar to the described in the previous paragraph scenario, but you should pay attention to your translation encoding.  Joomla encoding is UTF-8, so you should save your resources_nn-NN.php file as a UTF-8 file.

For example, ordinary MS Windows Notepad allows you to save a file in UTF-8 encoding. If you use Notepad, after you save the file, please do not forget to reopen the file and remove first tree unnecessary characters at the file beginning.

This is a special Unicode signature, which you will not need in iCRM.

General

In order to use the new resource file, first you should note which encoding is used by your localized Joomla version, and replace the nn-NN letters with for example fr-FR if you use French so that the resource file look like resources_fr-FR.php.


iCRM may be launched as a multi-language application. For this you should put all the translated files into the iCRM root directory. iCRM will react to user language preferences change and will load resources_en-GB.php file if the user selects English language, resources_fr-FR if the user selects French, and so on. By default iCRM will load resources_en-GB.php file, so if a localized resource file is not found iCRM will be translated into English;

Currency symbol and date formats

Currency symbols

In order to replace the currency symbol, Please open your resources_en-GB.php file, find the DEFINE(_CurrencySymbol,$); string and replace the $ with your local currency symbol.


£      -British Pound Sterling
€     -Euro

Date formats

Date formats are changed in the resources.php file. In order to change the date format you should find the _DateFormat and _DateFormatCalendar constants.
In order to have your dates looking like 31.11.2009 you should set


_DateFormat as d.m.Y and
_DateFormatCalendar as %d.%m.%Y


if you prefer the 2009-11-31 format, your _DateFormat and _DateFormatCalendar should be correpondently
Y-m-d and %Y-%m-%d


Please contact our support team if you have any special date format requirements

Email notifications

Client registration email notifications

Each time you register a new joomla user iCRM sends to this users a email notification informing the newly registered person about the registration event and credentials he or she should use to log in into your site client areas. The email notification text is placed in the resources_en-GB.php file. In order to change it open the file and find the _NotificationEmailBody constant.


There are four %s signs in the _NotificationEmailBody. These signs are intended to be replaced with real contact values. First %s sign is replaced with contact Name, second with contact Last name, third with contact username and last forth sign is replaced with a new automatically generated password.


The simplest email notification body looks like


Dear %s %s, we registered you at our server, your username is %s, your password is %s.


Real email notification, generated by iCRM will be:


Dear John Doe, we registered you at our server, your username is johndoe@example.com, your password is ab23ef.


In this example first %s was replaced with John, second %s with Doe, third %s with johndoe@example.com, and the last forth %s with automatically generated password ab23ef


You can change the notification message text and look according to your needs. If you are not familiar with html, please contact the support team.

Object status change email notifications

Object status change email notifications are used to inform about object status changes.


Notifications for Orders, Tasks, Project Tasks, Projects and Service requests are sent when the object Comment field value is changed or the object changes its status.


In order to define a list of persons who will receive the status change notifications you should add people into the objects’ mailing lists.


The appconfigdata.php file contains several additional means of notification customization.


The sample below provides an example how to change appconfigdata.php file in order to customize notifications for service requests:


DEFINE('_ICRMPRO_SEND_SERVICEREQUEST_NOTIFICATIONS', 1);
DEFINE('_ICRMPRO_SERVICEREQUEST_NOTIFICATION_INCLUDE_OWNER', 1);
//DEFINE('_ICRMPRO_SERVICEREQUEST_NOTIFICATION_INCLUDE_INITIATOR', 1);
//DEFINE('_ICRMPRO_SERVICEREQUEST_NOTIFICATION_IN_TEXT_FORMAT', 1);
DEFINE('_ICRMPRO_SERVICEREQUEST_NOTIFICATION_TEMPLATE_FILENAME', 'templates'.$ds.'Notificaton_tmplt.txt');


Let’s look closer to each line:


1.    DEFINE('_ICRMPRO_SEND_SERVICEREQUEST_NOTIFICATIONS', 1);


this string allows sending service request notifications;


if this line is commented, i.e. looks like:
//DEFINE('_ICRMPRO_SEND_SERVICEREQUEST_NOTIFICATIONS', 1);
The service request email notifications will be turned off;


2.    DEFINE('_ICRMPRO_SERVICEREQUEST_NOTIFICATION_INCLUDE_OWNER', 1);
this line allows sending email notifications to service request object owners.


3.    //DEFINE('_ICRMPRO_SERVICEREQUEST_NOTIFICATION_INCLUDE_INITIATOR', 1);
This line indicates that service requests initiators will not get notification messages.


4.    //DEFINE('_ICRMPRO_SERVICEREQUEST_NOTIFICATION_IN_TEXT_FORMAT', 1);
This line states that the mail client will send email messages in html format. If this line is uncommented the messages will be send as plain text.


5.    DEFINE('_ICRMPRO_SERVICEREQUEST_NOTIFICATION_TEMPLATE_FILENAME', 'templates'.$ds.'Notificaton_tmplt.txt');
This line indicates which template file should be used for email service request email notifications.

 

Notification templates

By default iCRM uses one email template for email notifications about Orders, Tasks, Project Tasks, Projects and Service requests status change.


The template file is placed into the templates subdirectory.


Email notification subject looks like:


[*{ObjectType}*] id:[*{ObjectId}*] [*{ObjectTitle}*] ([*{ObjectStatus}*]),


in the real message, intended to notify about some Service Request status change it will look like


ServiceRequests id:3456 iCRM menu customization (Opened)


In this example


[*{ObjectType}*] was replaced with "Service Requests",
[*{ObjectId}*] was replaced with a service request id
[*{ObjectTitle}*] was replaced with a service request description
[*{ObjectStatus}*] was replaced with a current service request status


In the similar way all the values from the email notification body will be replaced with proper values.


Responsible: [*{ObjectResponsible}*];
Owner: [*{ObjectOwner}*]
Deadline: [*{ObjectDeadline}*]
Priority: [*{ObjectImportance}*]
Status changed: [*{ObjectStatusChangeDate}*]

Notes
[*{ObjectNotes}*]
Message from  [*{SenderName}*] [*{SenderDescription}*]:
[*{ObjectComment}*]

[*{ObjectHistory}*]

Company signature
Click here to see the full [*{ObjectType}*] data


Please do not forget to replace the and values with real values.


should be replaced with you domain name (i.e. www.example.com).
should be replaced with Joomla menu item id which should be used to open a proper page menu.

Data import

Enabling the Data Import function

Data import function is hidden by default, and in order to enable it you should open your guiconfig.php placed in the iCRM Professional installation root and find the contant

DEFINE(DATAIMPORT_USED,1);

and uncomment it. (or in other words remove 2 trailing slashes at the beginning of the string).

After that the guiconfig.php file should be saved in its usual place. After you then refresh the application by clicking any Joomla iCRM menu item you will find the Data import menu item at the end of the Settings menu list.

XML Data import

ICRM supports xml data import. In order to import you contact and order data into iCRM you should prepare xml of special structure. XML structure is defined by xsd files which are placed into the import subdirectory.

In order to simplify the file development you may explore the samples found in the same directory.

Joomla contact and Joomla user data import

Joomla contact data import is performed in a very simple way. There is a special button allowing you to import your contact and user data. If there is a Joomla user who has associated contact data, iCRM will import the data combination.

Outlook data import

If you need to import your contact data from MS Outlook please contact us, we will provide you with a special import script.
Prior to using the script you will need to install MS VB Script environment, which is necessary to contact MS Outlook data. This environment is available from Microsoft. Please search the Microsoft web site to find the download link.

Product catalog and products

ICRM implement a search engine friendly way of publishing your products and services. Every product and category has attributes necessary for Internet promotion.

In order to help a search engine to index our products and services, you should define your product keywords, metadata, and aliases. Aliases allow placing a keyword into product and category urls, making a powerful promotion combination.

You may simply add a product catalog to any existent Joomla menu or create a new special Joomla menu. To create a new Product category menu item open a menu, click the New button and select a iCRM Professional->Product category menu, then assign a menu item name and alias and click the Save button.

Each product page has two Order buttons allowing your site visitor to place a new order. Please find more about lead generation in the following paragraph.
Lead generation and Ticket data getting

Lead generation and client tickets

Lead generation

Lead generation is a front-end iCRM function serving for handling initial visitor’s requests.

A new lead view is shown when a visitor clicks the product page Order button or when a visitor selects a special menu item.

In order to create a new lead menu item you should open the target Joomla menu and click the New button. Then select the iCRM Professional->New lead menu type.

There one difference between the new lead screens produced by the Order button and the New lead menu item.
If a new lead is created from the product catalog it will contain information about which product was selected by a visitor, if the lead is created from the menu item the product information will not be provided.

Client tickets

ICRM has a special menu type allowing your clients to add a new ticket to the service requests processing system.

In order to add a new menu item select the menu and click the New button. Select the iCRM Professional -> NewTicket menu item type, assign the menu item name and alias.

In case if you choose not to show to your clients the orders and tickets lists please contact our support team for consultations how to perform menu customization.