CiviCooP / be.aivl.streetimport

Native CiviCRM extension for Amnesty International Flanders to import street recruitment and welcome call csvfiles into CiviCRM
Other
1 stars 7 forks source link

CAUTION!

master branch has changed to a neutral, stripped version. In order to use it, you would have to implement your configuration/handlers in a separate extension. For an example, have a look at this extension.

The original master has now moved to the aivl_master branch.

[ORIGINAL README - needs update]

CiviCRM extension be.aivl.streetimport

Native CiviCRM extension for Amnesty International Flanders (AIVL) to import street recruitment and welcome call csvfiles into CiviCRM. The extension was created initially by Erik Hommel (CiviCooP) and Björn Endres (Systopia) for AIVL.

Table of Contents

[1 BASIC FUNCTIONALITY] (#basic-functionality)

[2 INSTALLATION] (#installation)

[3 IMPORT SETTINGS] (#import-settings)

[3.1 Employee handling errors] (#employee-handling-errors)

[3.2 Employee doing folluw up calls] (#employee-doing-follow-up-calls)

[3.3 Folder to get CSV files from] (#folder-to-get-csv-files-from)

[3.4 Folder to move processed CSV files to] (#folder-to-move-processed-csv-files-to)

[3.5 Folder to move failed CSV files to] (#folder-to-move-failed-csv-files-to)

[3.6 Group for newsletter] (#newsletter-group)

[3.7 Membership type] (#membership-type)

[3.8 Offset days for SDD mandate] (#offset-days-for-sdd)

[3.9 Offset days for Follow Up activity] (#offset-days-for-follow-up-activity)

[3.10 Phone type for landlines] (#phone-type-for-landlines)

[3.11 Phone type for mobiles] (#phone-type-for-mobiles)

[3.12 Location type for address, email and first phones] (#location-type-for-address-and-1st-phone)

[3.13 Location type for additional phones] (#location-type-for-additional-phones)

[3.14 Default country] (#default-country)

[3.15 Default financial type for SDD] (#default-financial-type-for-sdd)

[3.16 Prefix for individual or household] (#prefix-for-individualhousehold)

[3.17 Gender for female contacts imported] (#gender-for-female-import)

[3.18 Gender for male contacts imported] (#gender-for-male-imports)

[3.19 Gender for unknown import] (#gender-for-unknown-import)

[3.20 Relationship types for employees or other] (#relationship-types-for-otheremployee)

[3.21 Date format used in CSV] (#date-format-of-csv)

[3.22 Group for deduping contacts] (#group-for-deduping-new-contacts)

BASIC FUNCTIONALITY

AIVL use street recruitment to get new donors and SEPA Direct Debits (SDD). The actual street recruitment is done by a supplier, who follows up the recruitment with a welcoming call to the new donor within a week of recruitment. Daily they will put a csv file with either street recruitment data or welcome call data on the server, which will be imported by this extension. The records will contain:

Depending on the configuration the street recruitment record import will automatically do the following:

Depending on the configuration the welcome call record import will automatically do the following:

Once the complete file is processed, the file will be moved to a folder specified in the settings. If the import of the file fails, the file will be moved to a folder specified in the settings.

INSTALLATION

You can install the extension by downloading a zip file from GitHub or by pulling, fetching or cloning the repository. You can then use the CiviCRM manage extensions menu option to install the extension.

In the resources folder are a couple of CiviCRM entities that will be created upon installation of the extension (or whenever the extension is referenced in CiviCRM). This is done in the CRM_Streetimport_Config class constructor. The Config object is instantiated in the install hook of the streetimport.php file. The entities are in JSON-files:

IMPORT SETTINGS

The settings used in the import process are stored in a JSON file import_settings.json in the resources folder of the extension. You can manipulate the JSON file to update the settings, but there is also an option in the CiviCRM menu Administer/CiviContribute with the name AIVL Import Settings. If you click on this option you will see all the import settings. When you hit the save button, the results will be stored in the JSON file import_settings.json in the resources folder. All settings will be discussed below (you might get Dutch headings if you have a Dutch CiviCRM installation but we think you will understand anyway).

Employee handling errors

During the import whenever an error is logged, an activity of the type Import Error will be created. In this setting you select the contact that will be set as one the activity will be assigned to. In the select list you will get a list of all contacts in your database that are considered as an employee (based on the setting Relationship types for other/employee as AIVL has more than one relationship type that can signify an employee in the sense for this setting. By default it will show those contacts that have the 'employee' relationship. It is possible that you have to change the Relationship types for other/employee first, save the settings and then select the contacts.

Employee doing follow up call

If a donor during street recruitment or welcome call answered that they would like a follow up call, an activity of the type FollowUp Call will be created with the status scheduled. In this setting you select the contact that will be set as one the activity will be assigned to. In the select list you will get a list of all contacts in your database that are considered as an employee (based on the setting Relationship types for other/employee as AIVL has more than one relationship type that can signify an employee in the sense for this setting. By default it will show those contacts that have the 'employee' relationship. It is possible that you have to change the Relationship types for other/employee first, save the settings and then select the contacts.

Folder to get CSV files from

The scheduled job that calls the street recruitment process api will by default try to read all CSV files in this folder in alphabetical order.

Folder to move processed CSV files to

Once the CSV file has been processed completely, it will be moved to this folder to make sure the files are kept but not processed more than one time. A log file (showing the name of the file and ending on .log) will detail what has been done.

Folder to move failed CSV files to

Once the CSV file fails, it will be moved to this folder. A log file (showing the name of the file and ending on .log) will details what the error was.

Newsletter group

If the CSV record for the donor has a value that is seen as 'yes' in the newsletter column, the contact will be added to this group.

Membership type

If the CSV record for the donor has a value that is seen as 'yes' in the membership column, a membership of this type will be added (if it does not exist yet)

Offset days for SDD

When the mandate is created, this is the number of days that will be added to the start date before the first transaction will be done.

Offset days for follow up activity

When the follow up activity is created, the activity will be scheduled for the run date + the amount of days specified in this setting.

Phone type for landlines

The phone type that will be used for the first and second land ('normal') phone numbers in the donor CSV record.

Phone type for mobiles

The phone type that will be used for the first and second mobile phone numbers in the donor CSV record.

Location type for address and 1st phone

The location type that will be used for the address, email address and the first phones (poth landline and mobile) for the donor CSV record.

Location type for additional phones

The location type that will be used for the second phone number (landline and/or mobile) for the donor CSV record.

Default country

The country that will be used as a default when no country is entered in the donor CSV record.

Default financial type for SDD

The financial type that will be used when generating the SDD.

Prefix for individual/household

In the CSV record for the donor there will be column 'organization yes/no'. If this is set to yes, a contact of the type 'Organization' will be generated for the donor. If this column is set to no, the prefix of the CSV record will determine if a contact of the type 'Individual' or of the type 'Household' will be generated.

Gender for female import

In the CSV record the prefix will determine the gender. The value 'mevrouw' signifies a male, and this is the gender id that will be used when creating the contact in CiviCRM.

Gender for male import

In the CSV record the prefix will determine the gender. The value 'meneer' signifies a female, and this is the gender id that will be used when creating the contact in CiviCRM.

Gender for unknown import

In the CSV record the prefix will determine the gender. If the value is not 'meneer' or 'mevrouw', this is the gender id that will be used when creating the contact in CiviCRM.

Relationship types for other/employee

When specifying the employee dealing with the Import Errors or Folluw Up Calls, you do not get a select list of all contacts in your database but only 'your' employees. By default the 'Employee of' relationship type id will be used, but here you can specify more relationsships to be seen as employees.

Date Format of CSV

Details the date format that is used in the CSV import files. You can select an option from the list, other types are not allowed.

Group for deduping new contacts

All imported contacts will be added to this group with the purpose of deduping the newly imported contacts regularly.