This manual is deprecated. Please visit https://groupoffice.readthedocs.io for the latest documentation.

Difference between revisions of "Addressbook"

From Group-Office Groupware and CRM Documentation
Jump to: navigation, search
(Document templates)
(Document templates)
 
(34 intermediate revisions by 4 users not shown)
Line 31: Line 31:
  
 
<b>Tip:</b> If the fields in your CSV file match the column names in Group-Office (Look at a Group-Office export for reference of these names). Then Group-Office will match the fields automatically and will save you from matching the fields each time.
 
<b>Tip:</b> If the fields in your CSV file match the column names in Group-Office (Look at a Group-Office export for reference of these names). Then Group-Office will match the fields automatically and will save you from matching the fields each time.
 +
 +
<b>Note:</b>Some PHP versions have troubles with importing unicode characters. It only happens when the first character of a fields is a non ascii character. To solve this makle sure the fiels are wrapped in quotes. In LibreOffice you can check "Quote all text cells" in the export dialog.
  
 
==Exporting contacts==
 
==Exporting contacts==
  
It is also possible to export the group office address book to a Comma Seperated Values (*.csv) or vCard (*.vcf) file, you can either export Contacts or Companies. This process creates a file which can be used as a backup, to send it to a colleague for example or import it into another program.
+
It is also possible to export the group office address book to a Comma Separated Values (*.csv) or vCard (*.vcf) file, you can either export Contacts or Companies. This process creates a file which can be used as a backup, to send it to a colleague for example or import it into another program.
  
To export an addressbook go to:
+
To export contacts make your selection in the module and press the "Export" button. By default only admins have access to this button. It needs to be shared by the administrator in the Address book -> Administration Dialog.
  
Adressbook -> Administration -> Export
+
==Document merging for sending paper letters==
 +
To create a merged document to send a letter by regular mail you need to make an export to CSV first and then use that as a datasource for [http://wiki.services.openoffice.org/wiki/Documentation/How_Tos/Creating_Mail_Merge_Documents_From_Text/CSV_or_Spreadsheets OpenOffice.Org] or [http://support.microsoft.com/kb/197657 Microsoft Word].
  
 
==Document templates==
 
==Document templates==
You can create document templates for OpenOffice.Org and Microsoft Office 2007 and up in Group-Office. This way you can have a document template filled with data from the addressbook automatically. To create a template use OpenOffice.Org or Microsoft office to create a new document and you can use the following values:
+
You can create document templates for OpenOffice.Org and Microsoft Office 2007 (You can use older versions but then you must install the [http://www.microsoft.com/downloads/en/details.aspx?FamilyId=941B3470-3AE9-4AEE-8F43-C6BB74CD1466&displaylang=en compatibility pack]) and up in Group-Office. This way you can have a document template filled with data from the addressbook automatically. To create a template use OpenOffice.Org or Microsoft office to create a new document (in '''.docx''' format) and upload it at:
 +
 
 +
Addressbook -> Administration -> Templates -> Add document template
  
 +
You can use the following values in the document:
  
 
'''Custom fields'''
 
'''Custom fields'''
  
 
You can use custom fields like this:
 
You can use custom fields like this:
 +
<pre>
 +
{project:col_x}
  
{project:Custom field category:Custom field name}
+
{contact:col_x}
  
{contact:Custom field category:Custom field name}
+
{company:col_x}
  
{company:Custom field category:Custom field name}
+
etc.
 +
</pre>
  
 +
You can lookup the dataname of custom fields in the module custom fileds.
  
 
'''Common fields'''
 
'''Common fields'''
Line 59: Line 69:
 
{date} Current date
 
{date} Current date
  
'''Fields of the logged in user:'''
+
{filename} The filename of the document.
  
{my_name}
 
  
{my_first_name}
+
'''Fields of the logged in user:'''
 
+
<pre>
{my_middle_name}
+
{user:sirmadam} Sir or Madam depending on the gender.
 
+
{user:name}
{my_last_name}
+
{user:first_name}
 
+
{user:middle_name}
{my_initials}
+
{user:last_name}
 
+
{user:initials}
{my_title}
+
{user:title}
 
+
{user:email}
{my_email}
+
{user:email2}
 
+
{user:email3}
{my_home_phone}
+
{user:home_phone}
 
+
{user:fax}
{my_fax}
+
{user:cellular}
 
+
{user:address}
{my_cellular}
+
{user:address_no}
 
+
{user:zip}
{my_address}
+
{user:city}
 
+
{user:state}
{my_address_no}
+
{user:country}
 
+
{user:department}
{my_zip}
+
{user:function}
 
+
{user:department}
{my_city}
+
 
+
{my_state}
+
 
+
{my_country}
+
 
+
{my_company}
+
 
+
{my_department}
+
 
+
{my_function}
+
 
+
{my_department}
+
 
+
{my_work_phone}
+
 
+
{my_work_address}
+
 
+
{my_work_address_no}
+
 
+
{my_work_zip}
+
  
{my_work_city}
+
You can also use {usercompany:*} (see company fields below) to access the logged in user's company fields.
 +
</pre>
  
{my_work_state}
 
  
{my_work_country}
 
  
 
'''Fields of the contact / company:'''
 
'''Fields of the contact / company:'''
  
{salutation} The salutation
+
<pre>
 +
{contact:sirmadam} Sir or Madam depending on the gender.
 +
{contact:salutation} The salutation
 +
{contact:formatted_address} Get the full address formatted according to the country standards.
  
{beginning} Dear sir / madam
+
{contact:beginning} Dear sir / madam
 +
{contact:first_name} First name
 +
{contact:middle_name}
 +
{contact:last_name}
 +
{contact:initials}
 +
{contact:title}
 +
{contact:email}
 +
{contact:email2}
 +
{contact:email3}
 +
{contact:home_phone}
 +
{contact:fax}
 +
{contact:cellular}
 +
{contact:address}
 +
{contact:address_no}
 +
{contact:zip}
 +
{contact:city}
 +
{contact:state}
 +
{contact:country}
 +
{contact:department}
 +
{contact:function}
 +
{contact:work_phone}
 +
{contact:work_fax}
 +
{contact:homepage}
 +
</pre>
  
{first_name} First name
+
<b>Note:</b> Replace contact with company for company fields.
  
{middle_name}
+
<pre>
 +
{company:formatted_address} Get the full address formatted according to the country standards.
 +
{company:formatted_post_address} Get the full address formatted according to the country standards.
  
{last_name}
+
{company:mtime}
 +
{company:ctime}
 +
{company:crn} Company registration number
 +
{company:iban}
 +
{company:vat_no}
 +
{company:bank_no}
 +
{company:comment}
 +
{company:homepage}
 +
{company:email}
 +
{company:fax}
 +
{company:phone}
 +
{company:post_zip}
 +
{company:post_country}
 +
{company:post_state}
 +
{company:post_city}
 +
{company:post_address_no}
 +
{company:post_address}
 +
{company:country}
 +
{company:state}
 +
{company:city}
 +
{company:zip}
 +
{company:address}
 +
{company:address_no}
 +
{company:name2}
 +
{company:name}
 +
{company:id}
 +
{company:invoice_email}
  
{initials}
+
{company:col_X} for custom fields. Look them up at Start menu -> Custom fields.
 +
</pre>
  
{title}
 
  
{email}
+
'''Project fields'''
 +
<pre>
 +
{project:name}
 +
{project:customer}
 +
{project:contact}
 +
{project:description}
 +
{project:ctime} Creation time
 +
{project:mtime} Modification time
 +
{project:status}
 +
{project:type}
 +
{project:start_time}
 +
{project:due_time}
 +
{project:units_budget}
 +
{project:responsibleUser:name} The manager
 +
</pre>
  
{home_phone}
 
  
{fax}
+
'''After you created the document go to:'''
  
{cellular}
+
Addressbook -> Manage templates -> Add Document template
  
{address}
+
Enter a name for the template and click at browse to select your document.
  
{address_no}
+
Click at 'Ok' to save it.
  
{zip}
+
Now lookup a contact, company or project and click at:
  
{city}
+
New -> Document from template -> Select the template if you have more then one.
  
{state}
+
===Example template for standard letter===
 +
<pre>
 +
{company:name}
 +
{company:formatted_address}
  
{country}
 
  
{company}
 
  
{department}
+
Date: {date}
 +
About: {filename}
  
{function}
 
  
{work_phone}
+
{contact:salutation},
  
{work_fax}
 
  
{work_address}
 
  
{work_address_no}
+
Best regards,
  
{work_city}
 
  
{work_zip}
+
{user:name}
 +
{user:function}
 +
</pre>
  
{work_state}
+
==callto: links==
 +
Group-Office generates callto:+123456890 links for phone numbers. You can customize this link by putting this in your config.php for example:
  
{work_country}
+
<pre>$config['callto_template']='callto:{phone}+type=phone';</pre>
  
{work_post_address}
+
If you need to pass additional variables to a script that handles the call you might want to create a custom script to handle that:
  
{work_post_address_no}
+
You could create a custom php script in GO:
  
{work_post_city}
+
callto.php:
 +
<pre>
 +
<?php
 +
require('Group-Office.php');
 +
header('location: someothercalltoscript.php?callto='.$_GET['phone'].'&user='.$_SESSION['GO_SESSION']['username']);
 +
?>
 +
</pre>
  
{work_post_zip}
+
Now just put that script in the calllto_template:
  
{work_post_state}
+
<pre>$config['callto_template']='callto.php?phone={phone}';</pre>
  
{work_post_country}
+
==Advanced search==
 +
The advanced search can be used to do more complex searches. You can supply specific columns to search on and use grouping. In the screenshot for example you would search for all people that have the last name 'Doe' and live in 'Amsterdam' or 'Berlin'. In SQL: WHERE last_name LIKE 'Doe' AND (city LIKE 'Amsterdam' OR city LIKE 'Berlin').
  
{homepage}
+
Note that grouping works on a single level only. You can't have groups within groups.
  
 
+
[[File:Advanced search.png]]
'''Project fields'''
+
 
+
{project:name}
+
 
+
{project:customer}
+
 
+
{project:description}
+
 
+
{project:ctime} Creation time
+
 
+
{project:mtime} Modification time
+
 
+
{project:status}
+
 
+
{project:type}
+
 
+
{project:start_time}
+
 
+
{project:end_time}
+
 
+
{project:units_budget}
+
 
+
{project:responsible_user_name} The manager
+
 
+
 
+
'''After you created the document go to:'''
+
 
+
Addressbook -> Manage templates -> Add Document template
+
 
+
Enter a name for the template and click at browse to select your document.
+
 
+
Click at 'Ok' to save it.
+
 
+
Now lookup a contact, company or project and click at:
+
 
+
New -> Document from template -> Select the template if you have more then one.
+

Latest revision as of 11:13, 19 October 2018

Contact information panel

The addressbook is a very powerful tool to manage contacts. It's very easy to share addressbooks with other users. Some default addressbooks (Customers, Prospects and suppliers) have been created. They are shared with the default group "Internal".

At each contact you can create linked items like tasks, appoinments, files, notes etc. as you can see in the Contact information panel screenshot. The latest links are shown immediately. To browse and manage all links of the contact, click at the "Links" button.

Sharing an addressbook

To share an addressbook with other users or user groups two things need to be setup. The user must have access to the addressbook module and to the addressbook. To setup the permissions for an addressbook go to :

Addressbook -> Administration -> Double click addressbook -> Permisssions.

Here you can add the users and user groups you want to grant access. Read more about managing permissions here.

If you want to create a global shared addressbook it is recommended to add this addressbook as the "admin" user so it won't be deleted along with a regular user when this employee leaves the company for example. This is a very common mistake.

Importing contacts

The addresbook can import contacts from another application. To import contacts you will have to export contacts to a comma seperated values file (*.csv) or a vCard (*.vcf) file from the other application first. Consult the documentation of that application on how to do this.

If you made a CVS file then you goto:

Addressbook -> Administration -> Double click the addressbook -> Import

Select the CSV file and click at 'Ok'. The address book file you have selected will be scanned for columns containing data. You can then select which columns from the old program should go to which columns in the Group-Office addressbook.

After clicking on 'OK' your address book will be filled with all the data from the addressbook file. If you open the new addressbook you will see that it has been filled with all the exported contacts information.

Note: Group-Office uses separate companies and contacts. If you are importing Companies and contacts separately it's wise to import the companies first. Group-Office will attempt to find an existing company to link to the contact. If it can't find a matching company it will create a new empty one. So if you import contacts first and after that the companies, you will end up with duplicates.

Tip: If the fields in your CSV file match the column names in Group-Office (Look at a Group-Office export for reference of these names). Then Group-Office will match the fields automatically and will save you from matching the fields each time.

Note:Some PHP versions have troubles with importing unicode characters. It only happens when the first character of a fields is a non ascii character. To solve this makle sure the fiels are wrapped in quotes. In LibreOffice you can check "Quote all text cells" in the export dialog.

Exporting contacts

It is also possible to export the group office address book to a Comma Separated Values (*.csv) or vCard (*.vcf) file, you can either export Contacts or Companies. This process creates a file which can be used as a backup, to send it to a colleague for example or import it into another program.

To export contacts make your selection in the module and press the "Export" button. By default only admins have access to this button. It needs to be shared by the administrator in the Address book -> Administration Dialog.

Document merging for sending paper letters

To create a merged document to send a letter by regular mail you need to make an export to CSV first and then use that as a datasource for OpenOffice.Org or Microsoft Word.

Document templates

You can create document templates for OpenOffice.Org and Microsoft Office 2007 (You can use older versions but then you must install the compatibility pack) and up in Group-Office. This way you can have a document template filled with data from the addressbook automatically. To create a template use OpenOffice.Org or Microsoft office to create a new document (in .docx format) and upload it at:

Addressbook -> Administration -> Templates -> Add document template

You can use the following values in the document:

Custom fields

You can use custom fields like this:

{project:col_x}

{contact:col_x}

{company:col_x}

etc.

You can lookup the dataname of custom fields in the module custom fileds.

Common fields

{date} Current date

{filename} The filename of the document.


Fields of the logged in user:

{user:sirmadam} Sir or Madam depending on the gender.
{user:name}
{user:first_name}
{user:middle_name}
{user:last_name}
{user:initials}
{user:title}
{user:email}
{user:email2}
{user:email3}
{user:home_phone}
{user:fax}
{user:cellular}
{user:address}
{user:address_no}
{user:zip}
{user:city}
{user:state}
{user:country}
{user:department}
{user:function}
{user:department}

You can also use {usercompany:*} (see company fields below) to access the logged in user's company fields.


Fields of the contact / company:

{contact:sirmadam} Sir or Madam depending on the gender.
{contact:salutation} The salutation
{contact:formatted_address} Get the full address formatted according to the country standards.

{contact:beginning} Dear sir / madam
{contact:first_name} First name
{contact:middle_name}
{contact:last_name}
{contact:initials}
{contact:title}
{contact:email}
{contact:email2}
{contact:email3}
{contact:home_phone}
{contact:fax}
{contact:cellular}
{contact:address}
{contact:address_no}
{contact:zip}
{contact:city}
{contact:state}
{contact:country}
{contact:department}
{contact:function}
{contact:work_phone}
{contact:work_fax}
{contact:homepage}

Note: Replace contact with company for company fields.

{company:formatted_address} Get the full address formatted according to the country standards.
{company:formatted_post_address} Get the full address formatted according to the country standards.

{company:mtime}
{company:ctime}
{company:crn} Company registration number
{company:iban}
{company:vat_no}
{company:bank_no}
{company:comment}
{company:homepage}
{company:email}
{company:fax}
{company:phone}
{company:post_zip}
{company:post_country}
{company:post_state}
{company:post_city}
{company:post_address_no}
{company:post_address}
{company:country}
{company:state}
{company:city}
{company:zip}
{company:address}
{company:address_no}
{company:name2}
{company:name}
{company:id}
{company:invoice_email}

{company:col_X} for custom fields. Look them up at Start menu -> Custom fields.


Project fields

{project:name}
{project:customer}
{project:contact}
{project:description}
{project:ctime} Creation time
{project:mtime} Modification time
{project:status}
{project:type}
{project:start_time}
{project:due_time}
{project:units_budget}
{project:responsibleUser:name} The manager


After you created the document go to:

Addressbook -> Manage templates -> Add Document template

Enter a name for the template and click at browse to select your document.

Click at 'Ok' to save it.

Now lookup a contact, company or project and click at:

New -> Document from template -> Select the template if you have more then one.

Example template for standard letter

{company:name}
{company:formatted_address}



Date: 	 {date}
About:	 {filename}


{contact:salutation},



Best regards,


{user:name}
{user:function}

callto: links

Group-Office generates callto:+123456890 links for phone numbers. You can customize this link by putting this in your config.php for example:

$config['callto_template']='callto:{phone}+type=phone';

If you need to pass additional variables to a script that handles the call you might want to create a custom script to handle that:

You could create a custom php script in GO:

callto.php:

<?php
require('Group-Office.php');
header('location: someothercalltoscript.php?callto='.$_GET['phone'].'&user='.$_SESSION['GO_SESSION']['username']);
?>

Now just put that script in the calllto_template:

$config['callto_template']='callto.php?phone={phone}';

Advanced search

The advanced search can be used to do more complex searches. You can supply specific columns to search on and use grouping. In the screenshot for example you would search for all people that have the last name 'Doe' and live in 'Amsterdam' or 'Berlin'. In SQL: WHERE last_name LIKE 'Doe' AND (city LIKE 'Amsterdam' OR city LIKE 'Berlin').

Note that grouping works on a single level only. You can't have groups within groups.

Advanced search.png