Designing and deploying of Contact Relationship Management (CiviCRM database)



Similar documents
FOSS License Restrictions and Some Important Issues

Project Definition Document. CiviMobile: Developing a front-end mobile application for CiviCRM

Open Source Voting Systems

NewGenLib: OPEN SOURCE SOFTWARE S IN INDIAN LIBRARIES

THE NATIONAL FREE AND OPEN SOURCE SOFTWARE (FOSS), AND OPEN STANDARDS POLICY DRAFT SEPT 2014

Freedom and Open Source

Open Source vs. Proprietary

Impact of cloud computing

Overview of available elearning Platforms (focusing on freeware) Blended Learning Quality-Concepts Optimized for Adult Education

Answers to Review Questions

Exhibit F. VA CAI - Staff Aug Job Titles and Descriptions Effective 2015

The following is a comparison between CiviCRM, RedHen and CRM Core which are the leading option for CRM in the Drupal Community.

Sun Bear Marketing Automation Software

Non-Profit Solution for Microsoft Dynamics CRM

Using CiviCRM. 1 open source. Develop and implement a fully-functional, systematic. Joseph Murray, PhD. CRM plan for your organization using CiviCRM


Continuous integration for databases using

META DATA QUALITY CONTROL ARCHITECTURE IN DATA WAREHOUSING

Getting Started with Automizy

ACCESS Importing and Exporting Data Files. Information Technology. MS Access 2007 Users Guide. IT Training & Development (818)

Data Quality Assessment. Approach

GOMEMBERS. GOMEMBERS OVERVIEW Membership driven solution to help you fulfill your mission.

An Introduction to the Legal Issues Surrounding Open Source Software

INTERNATIONAL FOUNDATION FOR ELECTORAL SYSTEMS (IFES) Request for Proposals for Customer Relationship Management Software RFP/15/082

Continuous integration for databases using Redgate tools

Chapter 6 Basics of Data Integration. Fundamentals of Business Analytics RN Prasad and Seema Acharya

Vector HelpDesk - Administrator s Guide

DATA QUALITY DATA BASE QUALITY INFORMATION SYSTEM QUALITY

imis20.2 Product Update Brian Lindsey, ASI What s New and What s Coming

Power Tools for Pivotal Tracker

Die Mobiliar Insurance Company AG, Switzerland Adaptability and Agile Business Practices

Chapter-1 : Introduction 1 CHAPTER - 1. Introduction

CONTENT STORE SURVIVAL GUIDE

Query and Export Guide

Jet Data Manager 2012 User Guide

All-inclusive solutions with a low startup cost and fixed monthly fee

8/4/2015 Sphere Sphere US

Business Intelligence Tutorial

release 240 Exact Synergy Enterprise CRM Implementation Manual

Enterprise Resource Planning Analysis of Business Intelligence & Emergence of Mining Objects

Introduction to Microsoft Access 2003

Development of a Learning Content Management Systems

IBM Campaign and IBM Silverpop Engage Version 1 Release 2 August 31, Integration Guide IBM

Identifying Information Assets and Business Requirements

ORACLE ENTERPRISE DATA QUALITY PRODUCT FAMILY

Community CRM. Empowering Not for Profit, NGO, Community and Government Organisations to create resilient communities. Systems Migration Guide

By the end of this section, you will be able to: Create an Campaign Link Campaign to Interest Category. Populate Initial Campaign Audience

COPYRIGHT, FREE AND OPEN SOURCE SOFTWARE AND ASSORTED GRAND. Steven P. Tapia Senior Attorney Microsoft Corporation

Project management integrated into Outlook

Foundations for Systems Development

Requirements Management Database

Optimum Database Design: Using Normal Forms and Ensuring Data Integrity. by Patrick Crever, Relational Database Programmer, Synergex

Pinpointe User s Guide

A microeconomic analysis of commercial open source software development

Sending on Blue Hornet

LMS Evaluation Tool User Guide

SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems

Using WhatCounts Publicaster Edition To Send Transactional s

Foundations of Business Intelligence: Databases and Information Management

5.2.3 Thank you message Bounce settings Step 6: Subscribers 6.1. Creating subscriber lists 6.2. Add subscribers Manual add 6.2.

ENHANCE. The Style Sheet Tool for Microsoft Dynamics NAV. Microsoft Dynamics NAV 5.0. User s Guide

POLICY AND GUIDELINES FOR THE MANAGEMENT OF ELECTRONIC RECORDS INCLUDING ELECTRONIC MAIL ( ) SYSTEMS

Rational Reporting. Module 3: IBM Rational Insight and IBM Cognos Data Manager

Marketing Features

WordPress and CiviCRM: Dynamic Integration for Non-Profits

To use MySQL effectively, you need to learn the syntax of a new language and grow

Infor SyteLine Sales/CRM User Guide

MANAGING USER DATA IN A DIGITAL WORLD

The GlobalCerts TM Secur Gateway TM

Introduction to Business Process Improvement

LETTERS, LABELS &

Realizing the Benefits of Data Modernization

HP Service Manager. Software Version: 9.34 For the supported Windows and UNIX operating systems. Service Desk help topics for printing

Guidelines and Procedures for Project Management

Marketing Features

ONCONTACT MARKETING AND CAMPAIGN USER GUIDE V8.1

Membership Management Software

DiskPulse DISK CHANGE MONITOR

Enterprise Information Management Services Managing Your Company Data Along Its Lifecycle

HP Quality Center. Upgrade Preparation Guide

Database Design Basics

ORGANISATION OF EASTERN CARIBBEAN STATES. Consultancy for Re-design of OECS Website

DATABASE SYSTEMS. Chapter 7 Normalisation

10 How to Accomplish SaaS

DocAve 6 Service Pack 1 Administrator

Continuous integration for databases using Red Gate tools


Successful CMS & AMS Integrations

WHITE PAPER. Written by: Michael Azoff. Published Mar, 2015, Ovum

EndNote Beyond the Basics

Web Analytics and the Importance of a Multi-Modal Approach to Metrics

Service Management Simplified

Tutorial on Relational Database Design

Four Clues Your Organization Suffers from Inefficient Integration, ERP Integration Part 1

6 Steps to Creating a Successful Marketing Database

Transcription:

Designing and deploying of Contact Relationship Management (CiviCRM database) Case Study: United Nations University-WIDER Stephen Lyabandi Bachelor s Thesis DP in Business Information Technology 2012

Abstract Degree programme Author Stephen Rupia Lyabandi Title of Thesis Designing and deploying of Contact Relationship Management (CRM) A case study: United Nations University of World Institute of Economics Research in Helsinki, Finland Group Bite 2007 Number of pages and appendices 50 +13 Supervisor Haaga-Helia: Raine Kauppinen Instructor UNU-WIDER: Bruck Tadesse The main objective of this research study was to design and deploy an effective and CRM package tool for UNU-WIDER s to manage their external and internal communications through CiviCRM web-based database platform. The overall process in this research study involved import relevant contact information data from Microsoft Access Database into CiviCRM. This process of data importation also entails investigation on how to implement an effective data migration strategy and how quality can be maintained during the process of data migration testing. The study was limited to working with two modules activities within CiviCRM (CiviMail and CiviEvent). The research methods for this thesis was qualitative, while empirical part was carried out as a single case study at the United Nations University World Institute for Development Economics Research (UNU-WIDER) in Helsinki, Finland, where design and deploy of CRM was executed successfully and modules of CiviMail and CiviEvent were proved to be helpful in enhanced mass email capabilities. The empirical part in this study was also involve in creating a profile form in which recipients would have access to be able to update their own profile through CRM webbased. This thesis could be useful for those interested in data migration from Microsoft Access database into CiviCRM web-based platform and reader who is interested in issues related to data migration testing. Therefore, the primary objectives of this research study to implement data migration and create profile form were both accomplished within the timeframe outlined in the research plan. Keywords Data migration testing, CiviCRM, data quality and data integrity

Table of contents 1 Introduction... 1 1.1 Research background... 2 1.2 Case study and motivation for research topic... 4 1.3 Objectives and research questions... 4 1.4 Scope of research and delimitations... 5 1.5 Methodology... 6 1.6 Key concepts and abbreviations... 6 1.7 Structure of thesis... 10 2 Data migration and related testing... 12 2.1 Data migration and Data migration lifecycle... 12 2.2 CiviCRM and contact management systems... 13 2.3 Migration planning and mapping requirements... 14 2.4 Test process, data quality and database testing... 15 2.5 Normalization... 18 3 Microsoft access database and CiviCRM... 20 3.1 Microsoft Access database... 20 3.2 Overview of CiviCRM web-based platform... 21 3.3 CiviCRM and content management systems (CMS)... 22 3.4 Using CiviCRM profile... 23 3.5 Ongoing support, development and maintenance... 24 3.6 Open Source Initiative (OSI)... 24 4 Case Study... 26 4.1 Case organization... 26 4.2 Research method and data collection... 27 4.3 Addressing validity and reliability... 28 5 Analysis and Results... 29 5.1 Design data migration... 29 5.2 Configuring MS access database... 30 5.3 Configuring CiviCRM the domain information... 31

5.4 Update existing data and check consistencies of data integrity design... 33 5.5 Data cleansing... 35 5.6 Trails data migration... 36 5.7 Implement of profile form user interface... 37 5.8 Implement last migration testing... 42 6 Discussion and research implications... 44 6.1 Limitations of the study and suggestions for further research... 47 6.2 Conclusion... 49 Bibliography... 51 Appendices... 54 Appendix 1: Definition of migration roles and responsibilities... 54 Appendix 2: Configuration... 56 Appendix 3: First trial data migration... 57 Appendix 4: CiviMail testing template... 61

1 Introduction This thesis is the result of practice research on data migration. In this study project, the researcher examines challenges, obstacles, risks and stages involved in the deployment of Contact Relationship Management Database at UNU-WIDER through iterative development and simultaneously from Microsoft Access Database into CiviCRM a web-based platform. This research project also provides valuable insight into two broad questions pertaining to data migration strategy and testing. This project intend also to discusses about CiviMail and CiviEvent modules and their role in streaming administrative tasks related to event management and communications. CiviMail allow end-users to send mass email through database. There is option of sending email to groups or to everyone in this module. Usually, the process of sending email is carrying out via web browser and consists of html and text version of the email. While CiviEvent allow end-users to set up events and enable clients to register themselves and update their own profile form. Overall, the purpose of this thesis is to provide a relatively well-detailed step-by-step process of data migration from MS Access Database into CiviCRM, which one might come across in the course of a data migration project. The research also highlights technical compatibility, application performance issues, data corruption, missing data, data loss and extended or unexpected downtime. The empirical part of this study is based on a qualitative field case study with focus on design and deploys CRM for UNU-WIDER in spring 2012. The questions remains as to who will benefit from this study. The researcher himself aims to understand and examines the concepts of data migration within a framework of installation, test, configuration, customization and deployment of CRM new database systems and thereby obtain a better informed and expand his knowledge of the CiviCRM. Moreover, this project will bring news insights into others who are enthusi- 1

astic and eager to learn about data migration, particularly in a CiviCRM platform and increase the knowledge base in this field. This view is supported by Berditsson, Hansson, Olsson and Lundell, (2008, p5) who point out that: Dissemination of results is necessary in order to ensure that the knowledge is spread to other people you might learn a lot from project, no one else will do so if the results are not disseminated 1.1 Research background The starting point of this study was explored design and the deployment of Contact Relationship Management (CRM) at UNU-WIDER in the context of UNU-WIDER being nonprofit organization. CiviCRM prefer to use word Constituent Relationship Management which is focused on interdependent advocacy relationship. Throughout this study CRM will be used as an abbreviation for Contact Relationship Management. There are varieties of software that provides services for commercial and open source sectors and all of them belong to CRM category. Normally, customer relation management is targeted to track and engage existing and potential customer from a commercial sales perspective. In relations to CiviCRM is the same concept, but it built to target on nonprofit organizations. In this particularly research study, CRM works as Contact Relationship Management (database). UNU-WIDER is UN affiliated organization which founded in 1985, in Helsinki, Finland. The institute undertakes multidisciplinary research and policy analysis on structural changes affecting the living conditions of the developing countries. The institute also offers a forum for professional interaction, promote environmentally sustainable growth, train scholars and researchers and provide capacity strengthening skills to government officials in the fields of economic and social policy planning. Currently, UNU- WIDER has 13 employees and 15 research fellows. (UNU-WIDER, 2012) 2

Prior to the installation of the CiviCRM, UNU-WIDER maintained a Microsoft Access database, which was marked by time-consuming, keeping information up-to-date, has proved to be problematic and difficult. Also, Staff experienced problems in accessing contact database systems from outside the office. Actually the old database was more like a glorified spreadsheet that does little to facilitate actual day-to day operations. After investigating several database systems, the UNU-WIDER s Information Management Systems Department decided that, given all improvement alternatives, CiviCRM was option for streamlining and consolidating organization data processing and management activities. As matter of efficiency CiviCRM is capable of doing much more in terms of keeping track of contact information, sending volumes of emails with newsletter and announcements and not as mere address diary book. The following are some of the factors which influenced UNU-WIDER to optimize systems in order to satisfy its technological needs: Easily updatable distribution Platform independence Strong space community and a rapidly growing independent open source community for developers, consulting firms A systems designed, dedicated and targeted to non- governmental organizations those deal with communities, political organizations and educational sector Full control of systems operations A free system that can be installed without a license. (CiviCRM user and administrator guide, 2012) 3

1.2 Case study and motivation for research topic Because UNU-WIDER decided to install new database systems, this research can be justified as being the right time and right place as being alternative solution to be carried out as well as necessity for testing of the implementation of the CiviCRM webbased environment. The empirical research is a result on researcher participates in data migration at UNU- WIDER. The researcher is eager to learn and enrich more himself in the area of data migration. In this respect, the topic was seen as valid and thesis was approved to be carried out within timeframe agreed upon research plan. 1.3 Objectives and research questions The primary objective of this thesis is to design and deploy an effective and optimum package tool contact database for UNU-WIDER to manage their internal and external communications. The specifications are as follows: Importing all relevant contact information from Ms Access Database into the CiviCRM platform Creating a profile form to allow end-users to edit or view specific fields from their own contact information This research intends to examine data migration by answering two sets of research questions: How can an effective data migration testing strategy be implemented? How can quality be maintained in data migration testing? Theoretical framework of this study is based on current information about data migration and related testing and MS access database in comparison with CiviCRM open 4

source, web-based database. The main purpose of theoretical framework is to review the most recent critical literature on data migration testing strategy from different articles, scholarly works and other professional reliable sources. The aim of reviewing the critical literature is allow researcher to acquire knowledge in this field and to introduce the subject to new readers who are interested in, but not familiar in this field of data migration. In addition, the study intends to serve as reference for those readers familiar already with the topic. 1.4 Scope of research and delimitations In seeking to develop myself, gain work professional competencies and apply theoretical of database and software testing knowledge. The researcher limited this case study to the following database migration life cycle parameters: Designing data migration Migration testing planning Installing and configuring CiviCRM set up Importing relevant contact information from Microsoft Access database into CiviCRM platform Updating existing data and testing consistencies of database integrity design Implementing migration testing. The empirical part of this thesis was conducted at UNU-WIDER and the results were gathered during the period of researcher internship, between Februarys and April 2012. Traditionally, one of the most significant components needed to be accomplished after data migration is testing. The reason for conducting test is to make sure that all records and contact information are loaded into the target database and without duplication errors or data invalid. With this in mind, several database tests were carried out in order to ensure ascertain that flourishing migration has met with user requirements. 5

Drafting a thesis on a subject such as this requires peace of mind. While the researcher was writing this constructive research, he was a simultaneously also doing an internship at UNU-WIDER and finalizing two compulsory courses at Haaga-Helia University of Applied Sciences. This led to a disruption of the pace in drafting this thesis and proceeding at slower speed than expected. 1.5 Methodology The method adopted for this research project is a qualitative approach with the empirical part comprising of a single case study, focus on the design and deployment of a contact relationship management database at UNU-WIDER. A case study approach is the most common qualitative method used in studying information systems. (Orikowski & Baroudi1991, in Myers 2010) The tangible and specific method that was used in this study is described in more detail in the empirical part of the thesis. Key concepts and abbreviations relevant to this thesis are summarized and gathered in Table 1: 1.6 Key concepts and abbreviations Terms Activity CiviCluster Definition In CiviCRM, "activities" provide a way to record and track a variety of interactions with contacts, such as Meeting, Phone Call, or Email.(CiviCRM documentation, 2012) CiviCluster is a Drupal contributed module for CiviCRM that provides duplicate detection and merging (also known as reduplication (Drupal contributed mod- 6

CiviConference CiviContribute CiviCRM CiviMail CiviMember ules, 2012) CiviConference is a Drupal contributed module for CiviCRM that creates a product type "Conference Ticket" which allows attendees to register for related events in CiviEvent during the checkout process( Drupal contributed modules, 2012) CiviContribute is an online fundraising and donor management component of CiviCRM which enables you to track and manage contributions to your organization(civicrm documentation, 2012) CiviCRM is an open source, web-based constituent relationship management systems designed to meet the needs of advocacy and nonprofit groups (CiviCRM documentation, 2012) CiviMail is a mass-mailing component of CiviCRM which allows end-users to track open rates and click through (CiviCRM documentation, 2012) CiviMember is a component/module of CiviCRM which provides flexible membership management for end-users organization, along with convenient online signup and renewal(civicrm documentation, 2012) 7

CiviReports CMS Contact Customer Relationship Management Constituent Relationship Management (CRM) CiviReports is a component of CiviCRM to provide preconfigured reports on CiviCRM data (CiviCRM documentation, 2012) Content Management Systems (CMS). The content of Web pages is stored in a database. Web pages are composed when requested by a user's browser. Set up an application to be used in particular way. There are three types of CiviCRM contacts: Individual, Organization, and Household. Individual Contact record for each Drupal (or Joomla) User, allowing the User to potentially access and update portions of their CiviCRM contact data(civicrm documentation, 2012) Customer Relationship Management (in the commercial world), or Constituent Relationship Management for civic sector organizations. CRM software (like CiviCRM) allows users to track information about people, organizations and their interactions (CiviCRM documentation, 2012) CRM assist nonprofit organizations reach more professionally. A well-customized CRM can convert organization into fund- 8

raising powerhouse. Alternative it can support two or more four mobilize thousands of people to action. In essence a CRM system can help consolidate endusers contact, automate communication reporting and help ensure that nothing falls through the cracks (Upleaf, 2012) Drupal Data migration Data dirty Drupal is an open source modular content management systems. It is particularly popular for building online communities. CiviCRM can be installed as a module running within a Drupal site. Drupal is an English(Drupal contributed modules, 2012) The collective process of data extraction, transformation and cleansing, to move a data set from one or more environments to one or more additional environments This is a catch phrase referring to a subset of data that does not conform to systems standard. (so you say your data s clean, 2012) Data Extraction Data Transformation The process of pulling out a set of data from one or more source systems. (so you say your data s clean, 2012) The process of reformatting a data set 9

Data Cleansing/Scrubbing UNU-WIDER from one or more source systems to conform to the target data structures in the target systems to conform to the target data structures in the target systems. (so you say your data s clean, 2012) The process of removing/replacing inappropriate characters prior to loading data into the target systems. (so you say your data s clean, 2012) United Nations University-World Institute for Development Economics Research (UNU-WIDER, 2012) Wider Angle Table 1 key concepts and abbreviations Wider Angle is UNU-WIDER s newsletter published online monthly and announced through email. It is available free of charge, and features news and articles, with links to further reading resources. (UNU-WIDER, 2012) 1.7 Structure of thesis Chapter 1: Describes the research background, case study and motivation for research topic, objectives and research questions, scope of research and delimitations, summary of methodology and key concepts and abbreviations. Chapter 2: Deals with data migration and related testing Chapter 3: Presents critical literatures review of Microsoft Access Database and CiviCRM. 10

Chapter 4: Presents case study (background of UNU-WIDER), research method, data collection, validity and reliability Chapter 5: Presents analysis, results and achievements of this thesis are derive in this chapter. Chapter 6: Deals with discussion, research implications, limitations and suggestions for future research and conclusion. 11

2 Data migration and related testing The research begins by reviewing current published materials of the literature on data migration strategy and related testing, the basically idea of this literature review is to build up the capability of critically evaluate the works of others and agree or disagree in academic way. 2.1 Data migration and Data migration lifecycle One of the key issues in this research study is to determine how an effective data migration testing can be implemented in real working environment. In recent years many organizations have been implement data migration. Therefore, the question remains what is significant of data migration then? Manek (2003, p5) drew attention to the fact that: The purpose of data migration is to preserve core business knowledge and make it accessible from the new application. Furthermore, Data migration typically involves planning and scooping the project, extracting data from source application, cleaning to repair corrupt data or invalid records, removing duplicates, transforming the source data to conform to Microsoft CRM data requirement, translating source values to new data base on translation tables, loading the data into Microsoft CRM In comparison to warehouse, data migration is a method which is used in transferring data from old (legacy) to a new database; the new database is often called target database or destination database. But warehouse data migration is beyond of this study scope. (IBM global technology services, 2007) Moreover, data migration is vital when organizations make a decision to use a new database management system. Specifically, Data migration is done through project life cycle. (Data migration roadmap 2007, version1.0, p 7)The implementation of these life 12

cycle phases can be executed through iterative or simultaneously. Usually this process is carry out by team who are responsible for import or export data extractions into the new systems. The team replicates this process activity until all data are successful load into new systems target data store. (Data migration roadmap 2007, version1.0, p 8) The picture below (figure 1) depicts data migration project life cycle. Figure 1 data migration project lifecycle Source: Data migration roadmap (2007, version1.0, p 8) 2.2 CiviCRM and contact management systems One of goal in this research study is to implement contact database through CiviCRM platform, therefore in this part of literature contact features of CiviCRM are review and explain in detailed. Contacts are key function laid down foundation of CiviCRM, they are three types of contacts Individuals, Organizations and Households. 13

Organizations: This suit for non-profitable organization, association a company, school or committee. It is recommended that to create at least one contact in organization. Households: This type comprise of a family or people who have the same interest and located at the same place. Individuals: This involves whichever person who the organization would like to store a record of information. (CiviCRM user and administrator guide, 2012) When it comes to define contact in CiviCRM, then this can be carried out through contact type. School and churches are practical example of contacts. Both of these contact type which are defined here are concentrate on one of three central contact types. For instance, schools would focuses on individual contact type, while churches could base on organization. (CiviCRM user and administrator guide, 2012) 2.3 Migration planning and mapping requirements Planning is most crucial stage in data migration process. The planning counts on size of the migration and complexity of each project. Therefore, it is essential to make comprehensive data migration planning before implementation, by doing so it is ensure consistent success in overall of data migration process. Data migration also entails issues such as determine data migration requirement, access current environment, develop migration plan and define assign roles & responsibilities (Data migration roadmap 2007, version1.0, p 9-10). As it can be seen from below (table 2) depicts example of data migration planning phase. 14

Table 2 depicts example of data migration planning phase Source: Data migration roadmap (2007, version1.0, pp. 9-10) Regarding data mapping requirement, this process deal with importing and exporting existing data and mapping current data into CiviCRM and created necessary custom data fields for data which is intended to be imported : contacts, contribution, events participates and activities. (CiviCRM manual, 2012) 2.4 Test process, data quality and database testing According to Taylor, Lacy & MacFarlan (2007, p122) the test activities are not conducted in a sequence way. In this respect the process of carrying out test entail numerous actions which may be done parallel. For instance, test implementation commerce prior all the test design complete. The testing process is shown schematically in (figure 2) 15

Figure 2 Testing process. Taylor et al, (2007, p 133, in Nurmi 2009 p 59) Test administration: It is crucial to perform efficient and effective management of testing activities for data migration testing. It is crucial for Data migration project Manager and Data migration team to determine all data movement activities, convention/transformation procedures, data cleansing procedures and data validation are contained in the package of the Migration Data Architecture Testing human resources (e.g. labour force, licenses, people and tools) are accessible if needed. The testing activities are monitored, controlled and managed. (Taylor et al. 2007, p122), (Data migration roadmap 2007, version1.0, p 27) Subsequently, the Data migration team is responsible for execute testing process. This process is also can be done through plan, control and later report all test activities such as: arranging the test resources, scheduling and prioritizing what is require to be tested first and when, resolving debugs issues, cross check incoming debugs, test metric collection, analysis, reporting and management. (Taylor et al. 2007, p133) Regarding data quality. A recent study by Howard (2011, p3) involved data migration suggest that although extensively research has been carried out in data quality but it is only a while ago this problem emerged as an important issue. This strongly argues was produced by Howard (2011, p3) contend that The GSI Data Crunch report, published in late 2009, compared the product catalogues of the UK s four leading supermarket chains with the same details at their four leading suppliers. It found that 60% of supermarkets records were duplicates, resulting in over-stocking and missed 16

sales for others. The total cost of this poor data quality for these four companies over 5 year was estimated at 1bn. Howard (2011, p3) went further and argue that poor data quality can be regarding as disappointing and implies that data quality has been neglected for sometimes and it seems to be complicate issue in many sectors. This problem of poor data quality can led to incurs a lot of cost and break or impair data migration project. Thus, this could be compare and contrast as bad as broken relationship. According to Software testing time (2012) testing database is intricate process, in general database testing comprised of data flow values which has to migrate from old database to point of destination (new database). During this deployment process, data should matched precisely as per records are stored database. Before test take place, questions must be asked what to test? According to article called Database testing: How Test Relational Database available form (Agile data, 2012) Scholars point out that before test takes place there are numbers of issues must be taken into account when it comes to relational database. In connection to this issue (table 3) illustrate the most important issues which need to be tested for both inside within the database and at the interface to it. Black-Box Testing at the Interface O/R mappings (including the meta data) Incoming data values Outgoing data values (from queries, stored functions, views ) White/Clear-Box Testing Internally Within the Database Scaffolding code (e.g. triggers or updateable views) which support refactoring Typical unit tests for your stored procedures, functions, and triggers Existence tests for database schema elements 17

(tables, procedures) View definitions Referential integrity (RI) rules Default values for a column Data invariants for a single column Data invariants involving several columns Table 3 Testing Database testing (2012) 2.5 Normalization The importance of normalization in data integrity is crucial. In this respect, this study review the concept of normalization and discovered that during creating database, it is likely that one can encounter with relational databases which are unstructured and not optimized. In case of this situation like this happen, the most important thing to do is to be able to determine how relational concepts works. Sometimes it is complicated to fully understand the concepts of normalization process by using text or word only. Therefore, to be able to understand the concept of normalization process, one needs to assess and correct table structures in order to minimize data redundancies. As a result normalization can be defined as a method which is used to make sure that data elements within database are structurally consistent, with less redundancy and organized in logical way. During this processing tables are also verified to make sure that they are able to hold up the required transactions. (Connolly & Begg 2004, pp171-172) At the start point in normalization process, it is recommendable to remember the most 3 normal forms rules: No multi-valued attributes or repetitive non-key attributes( at least 1NF) No partial dependencies (at least 2NF) No transitive dependencies on non-key attributes (at least 3NF) 18

In order to convert a table into 1NF, the followings questions must be asked first: Is the identifier consisting of more than one value/attribute? If yes, is any attribute counts on just part of identifier? With target to normalize a table in 1NF, it is recommendable that attributes and repeating group at the intersection of each row and column must be removed. A table to comply with INF must contain atomic values (at intersection of each column and row must contain one and only single- valued). With purpose of bring a relation to 2NF, attributes that are dependent from the original relation must be removed. For each partial dependency, a new relation needs to be created. This relation must corresponding part of primary key from the original as the primary key. Moreover, a table to comply with 2NF needs a high degree of both synthesis and decomposition: For example, it requires breaking up related attributes from unconnected ones and re-forming into new tables. Given this, it can be inferred that partial dependency must be removed in order for a table to achieve and comply with 2NF, even though this rule is only applicable when there is composite key. In event of composite key, then one need to break the key apart and in setting all columns pertaining to each component in their primary key in their own tables. In relation to 3NF can be defined as a table that already conform to 1NF and 2NF and which the values in all non-primary key columns can be worked out from solely the primary key column(s) and no other columns. Let say for example the value in non-key attribute is determined by the value in another non-key attribute then the field contains transitive dependency. (Connolly & Begg 2004, pp171-172) According to Gray (2005, p5) highlighted the importance of keeping track of record, the author argued that contact can be challenge to many organizations and business sectors should adopt CRM as best solutions for managing and storing information about client. On the other hand, Connolly & Begg (2004, p195) point out that how database can be suffering and contained data redundancy that can lead to update anomalies, which can cause data inconsistencies. 19

Briefly conclusion about preceding normalization discussion, it can be inferred that normalization plays a major role in removing redundancies. Recent the study of normalization has become an important aspect of data integrity for the time being. Furthermore, based on critical reviews of above, it draw attention of the fact that normalization has capacity of assisting in re-structure, re-design relations of table which is crucial in promoting database integrity. 3 Microsoft access database and CiviCRM This chapter discusses the relationship between Microsoft Access Database and CiviCRM. The goal is to compare and contrast these two databases platforms in terms of functionalities. 3.1 Microsoft Access database As stated by Virginia (2007, xi) MS Microsoft Access Database is a tool which has the capacity to handle personal and business information records. This tool consists of features which enable users to enter data, retrieve functions, create and produce information management systems. In past, many NGOs and international organizations opted to keep their data into MS Access Database this is also the case for UNU- WIDER. Therefore, MS Access Database has been using by UNU-WIDER to kept data, store customer contacts, delete and retrieve information. Regardless of better functionalities which Virginia (2007, xi) mentioned above. The researcher of this thesis disagrees with Virginia because of the following reasons. (Virginia 2007, xi) failed to noted that MS Access Database doesn t support web-based technology platform such as CiviCRM does. Moreover, MS Access database s endusers are face constraint in using the system in fixed places and where there is only MS Access Database installed. In contrast and compare to CiviCRM end-users are able to 20

use database platform anywhere, since the database is web-based platform which runs its own web server or on a server provided by hosting. In connection to excel is another application of the MS Office which is compatible and can work very well in conjunction with data Access. The relationship between excel and MS Access Database can be defined as two way traffic road. Virginia (2007p 548) pointed out that Excel can be used in Access or utilize in MS Access database in excel. 3.2 Overview of CiviCRM web-based platform In order for CiviCRM to work effectively and efficiently, it require a server and computers connected to the internet that delivers (serves) a web pages, within this server usually CiviCRM are installed. The server is a workstation unit situated at Internet Service Provider. In this respect, CiviCRM can be categorized as a web application which using web browser such as Firefox or Internet explorer. (What does web-based mean, 2012) Basically CiviCRM performs more functions than a mere address book, with the systems enabling users to keep track of contact information and exchange information within CiviCRM parameters which are called modules. There are several modules within CiviCRM and each module is belonging to a group of functions connected to one aspect of organization s activities. For instance, all CiviCRM functions that control events are compiled together in one module called CiviEvent. These modules can be enable or disable. The following are those modules quoted by CiviCRM organization website: CiviContribute: Use to manage online fund-raising efforts and donors. CiviPledge: A part of CiviContribute, use to allow donors to pledge to contribute over time CiviMember: Use to manage members and online membership sign-up CiviMail: Use to manage personalized email blasts and newsletters CiviEvent: Use to manage online event registration and participant tracking 21

CiviReport: Use to generate reports and manage report templates CiviGrant: Use to manage grants to and from Organizations, individual, or Households CiviCase: Use to track and manage interaction between your organization and your constituents CiviEngage (V.3.2): A drupal module that enhances CiviCRM s core functions for non-profit focused on community organizing and civic engagement work (CiviCRM user and administrator guide, 2012) 3.3 CiviCRM and content management systems (CMS) According to Robertson (2003) CiviCRM works in conjunction with content management systems. CMS functions as tool for designing and managing websites. For developers who lack the knowledge in HTML, PHP and JavaScript. CMS can be easy to use since it provides ability and functionality to manage, delete, update contents from website without possess skills and professional experience in web development. CMS offers vast advantages for CiviCRM, to sum up: Visitor to website can conduct as many activities as possible on their own, e.g. renew membership, requesting email updates, signing up for events and donating fund Data can be shared, e.g. event information. (CiviCRM user and administrator guide, 2012) In addition, CiviCRM has capacity of storing all users information as individuals based on Content Management Systems (CMS) and allows organization to record information of their clients in a number of ways. Nevertheless, this service tends to be available and function solely for individuals. Organization and household are excluded in this service, that means cannot be straight forward linked to user database in CMS. (CiviCRM user and administrator guide, 2012) In context of web development, CMS is works as a tool for control and building a website. This tool provides possibility of modifying, editing and publishing content from a central page. (CiviCRM user and administrator guide, 2012) Taken into together previous argument from Robertson (2003) CMS has multiple functionalities with possibility and capable of managing the content of website. 22

Through those functionalities, CMS works as gateway to arranged content in streamline. 3.4 Using CiviCRM profile The CiviCRM contact profile is compilation of fields. A profile permit s only relevant fields for precise purpose, profile can be used in a number of ways, to sum up as follows: Forms: profile can be used as template in a form in order to collect information and data from contacts. Within this form, it also provides opportunity to be used as data entry form. (CiviCRM user and administrator guide, 2012) Search result: By using search result, profile allows users to display selected fields in the advanced search and also profile can be reused over and over again in a number of ways. (CiviCRM user and administrator guide, 2012) View/edit user account: This service is only available in Drupal, it is frequently useful to allow constitutes users to manage their own data through website. Profile also can be used for purpose of edit information and this information is directly updated in CiviCRM (CiviCRM user and administrator guide, 2012) Batch data updates For the sake of updating mass data this function is often important which records all data at once. (CiviCRM user and administrator guide, 2012) Website user registration: Here is where information gathered regarding person registering for directory members of event. Moreover, a profile provides tool for collecting information from constitutes and exchange that information through website. (CiviCRM user and administrator guide, 2012) In connection to this research study, profile form is used as tool to allow UNU- WIDER s employees and Angle newsletter subscribers to fill their contact data and have possibility of update their own personal information contact in profile online. 23

3.5 Ongoing support, development and maintenance In order to maintain CiviCRM work effectively and efficiently, it is advisable that the system has to be updated from time to time. CiviCRM is not one-project off development, the project requires adapting according to the foreseeable future of organization. Therefore, frequently changes should go hand in hand with CRM evolve. Failing to do so can jeopardize the systems to become out of order in organization. Therefore, after systems being installed and used for a while, then extra features and components, elements should be added to meet end-users expectations. On the other hand, new update system might face constraints such as time, budget and resources. In this respect, plan is needed before hand. (CiviCRM user and administrator guide, 2012) 3.6 Open Source Initiative (OSI) Open source has been available since1998, as a result this is not new technology concept. In recent developments in OSI has highlighted the need for open source in educational and advocacy. The main objective of open source code is to make sure that source codes are obtainable for end users. On the other hand, the concept of open source doesn t imply that access to the code (Open Source Initiative 2012). The open source initiative is emphasized that before any software would be regarded as open source it has to meet and conform to OSI principles and criterions. As illustrated in table 4 below: 1: Free Redistribution The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale. The program must include source code, and must allow distribution in source code as well as compiled 2: Source Code form. Where some form of a product is not distributed with source code, there must be a well-publicized 24

means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed. 3: Derived Works The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. 4: Integrity of the Author's Source Code The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software 5: No Discrimination Against Persons or Groups The license must not discriminate against any person or group of persons. The license must not restrict anyone from making use 6: No Discrimination Against Fields of Endeavor: of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. 7: Distribution of License The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties. 8: License Must Not Be Specific to a Product The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the pro- 25

gram is redistributed should have the same rights as those that are granted in conjunction with the original software distribution. 9: License Must Not Restrict Other Software The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software. 10: License Must Be Technology-Neutral No provision of the license may be predicated on any individual technology or style of interface. Table 4 OSI principle and criterions (Open Source Initiative 2012) Therefore, all things considered: 4 Case Study CiviCRM can be defined as a web-based, open source, Constituent Relationship Management (CRM) software geared toward meeting the needs of non-profit and other civic-sector organizations. (CiviCRM user and administrator guide, 2012) This chapter provides briefly background information of organization where researcher carried out case study. In addition, this chapter explains in details research methods which were used to carry out this thesis and data collection used in empirical part. Eventually, validity and reliability are present and explain at the end of this chapter. 4.1 Case organization This research study based on researcher participated in project of design and deploys CRM at UNU-WIDER in spring 2012. UNU WIDER was established in 1985. The institute undertakes multidisciplinary research and policy analysis on structural changes affecting the living conditions of the world s poorest 26

people; provides a forum for professional interaction and the advocacy of policies leading to robust, equitable, and environmentally sustainable growth; and promotes capacity strengthening and training for scholars and government officials in the fields of economic and social policy making. (UNU-WIDER, 2012) 4.2 Research method and data collection Qualitative single case study was adopted during carried out this research study. Because the aim of this study were to import all relevant contacts data from Ms Access Database into CiviCRM and designed user interface profile form in order allow endusers to be able to edit and manage their own profiles. This offered a chance to gain a deep understand of the phenomenon in particular setting context. A single case study approach was chosen to supply detailed information and examine one organization. (Blom, 2010) The phase of data migration and create profile were conducted simultaneous at UNU- WIDER between Februarys and April 2012. The data used was already available in Ms Access Database. Consequently, there was no need for collect data rather than import into new database platform. During this period the researcher was working in at UNU-WIDER as Database Trainee Assistant. This opened up opportunity for researcher to acquire in invaluable work experience in contact with the practitioners of design and deploy CRM. Throughout in implementation of data migration, the researcher wrote down all the main procedures and issues related to data migration and then analysis this data before documented into thesis. Finally, researcher and his supervisor (instructor of this thesis) measure the success of the full data migration and collect the results for review. 27

4.3 Addressing validity and reliability According to Berndtsson et al (2008, p13) point out that: The issues of validity and reliability is between what you intend to measure (or examine or develop) and what you accuracy measure (or examine or develop). In case of reliability is the accuracy of your method (e.g. implementation, questionnaire, interview style in measuring (or examining or developing). Pre-conceptions and subjective preferences were among the things which could have possible influenced researcher decisions when carrying out this project because of the nature of the project which the researcher was part of team. But this was not the case in this study. Attempt was made to establish the fact about design and deploy of CiviCRM web-based and hope that the fact would bear out hypothesis. Errors data were downloading and fixed through excel sheet, trim function was performed in order to removing spaces and concatenate function was applied for the purpose of joined two or more string together. Excel sheet was also used in order to consolidate all the source data before were being transferred to target database (CiviCRM). A validation procedure was carried out successfully to validate test data migration and resolve data inconsistencies and data duplicates in rows. All fields were checked to make sure that they were populating after data migration. This process was carried out based on download errors directly from CiviCRM and fixed the problems. In terms of usability perspective, the profile form for filling and editing personal data information was well-designed. The layouts, links, buttons and text were designed in consistent manner so that were able to be compatible with CiviCRM windows. An attempt was made to make sure that profile form was self-evident and self-explanatory. The most important point in this phase was to get rid of vague words and sentences. By doing so it reduces the noise level of the page. Moreover, the fundamental principle of create profile form was to ensure that data is editable and displayable to staff or angle newsletter recipients as supposed to (Krug, 2006, p19). 28

In connection to mapping, this was carried out by ensure that mapping between Ms Access Database and CiviCRM fulfilled the requirements of this project, for instance: first name, last name, institution and email were basic element which were used in mapping. In connection to data integrity, this was done in such a way that when email or Angle newsletters were sent to recipients through Civimail mailing list with options for tracking and responding. The email was set to facilitate HTML or Plain browser and also allow recipients to unsubscribed and update profile. 5 Analysis and Results Analysis and results of this research are presented in the following chapter. This chapter describes how data was migrated from MS Access database into CiviCRM. This section also describe how UNU-WIDER Angle newsletter web page was links to CiviCRM profile form where end-users could have access to update their own profile. 5.1 Design data migration Data migration is one part of IT project development. In order to achieve the objective of data migration, a planning phase is required. The planning phase incorporates detailed information on what should be included for each step in a migration procedure. The figure below, (figure 3), depicts the data migration implementation process flow 29

Figure 3 Data migration implementation process flow 5.2 Configuring MS access database Export query of clean data was selected based on criteria in queries which was classify with a condition that must be conformed and complied with the records to be included in the subset. For instance: Email: Is Not Null and Not Like condition was imposed in order restrict an email to have value and not leave blank Country: Is Not Null condition was imposed to ensure that country has value and not leave blank Match: Is Not Null was added in order to determine values from MS Access Database and CiviCRM were compatible. 30

Figure 4 Configure MS Access database 5.3 Configuring CiviCRM the domain information In this phase domain information was configured in order to set up information such as contact types, emails address, mailing group. The purpose of configure domain information was intend to enable Angle newsletter recipients receive mass mailing. To configure UNU-WIDER domain information and customized the following steps were used: Administer, Configure and then Domain information. As it can be seen below from (figure 5) Figure 5 Domain information New group with name Angle and description was set as follows: 31

Figure: 6 new groups The snapshot figure below indicates that a tester with name called Stephen Lyabandi was added into contact database. Figure 7 add contact 32

The email was set this way as shown below Figure 8 Edit email settings 5.4 Update existing data and check consistencies of data integrity design In this phase a substantial amount of time was invested in order to remove data inconsistence. Apparently, the amount of time spent during this phase was exceeding to the amount of time planned in thesis project plan. During this process, test data was exported from Excel and then imported into CiviCRM, and tested. Obvious some of data had to be drop out and rearrange in order to be compatible with CiviCRM systems. 33

Email problem: The following (figure 9) illustrate email inconsistencies in rows due to the fact that a table was not being normalized before imported into CiviCRM Figure 9 email inconsistent in MS Access Database The following is the results of data rows failed to migrate into CiviCRM as it illustrate in (figure 10) Invalid value for field(s) : 1 Individual Prefix Invalid value for field(s) : 5 Individual Prefix Invalid value for field(s) : 7 Individual Prefix Invalid value for field(s) : 17 Individual Prefix Invalid value for field(s) : 18 Individual Prefix 51 Invalid Emil address 423 Invalid Email address 445 Invalid Email address 522 Invalid Email address 34

530 Invalid Email address 595 Invalid Email address 678 Invalid Email address 708 Invalid Email address 770 Invalid Email address 970 Invalid Email address Invalid value for field(s) : 1141 Individual Prefix Invalid value for field(s) : 1142 Individual Prefix Invalid value for field(s) : Individual Prefix 1146 1185 Invalid Email address 1217 Invalid Email address Figure 10 downloaded errors from CiviCRM 5.5 Data cleansing Cleaning data process was aimed to removal an inactive data, inconsistences data and updating the rest of data to a format which is would be compatible with CiviCRM (the destination database). Therefore, in order to make data accuracy and correct flaw records into data content, the following method was used to replace and refine invalid data. For instances: Brother was replaced to Mr. Figure 11 find and replace 35

5.6 Trails data migration After configuration was carried out in MS Access database then contact information were exported temporarily to excel, then imported to CiviCRM. The information about configuration is found in appendix 2. While the process of carry out first trial data migration is describe in detailed in appendix 3. The Second attempt data migration was carried out based on the same steps as first trail migration was carried out. However, this process managed to import 6805 data rows successful, with 37 rows excluded, The reason that 37 rows were excluded was because there had to undergo data refine in MS Access Database, Google refine and Excel before they could have being migrated again. Figure 12 preview 36

(Figure 13) below indicates summary of member records successful into CiviCRM database Figure 13 summary of records 5.7 Implement of profile form user interface One of objective in study was to create a profile form which keeps information of Angle newsletter subscribers and employees. The following steps were used to build Angle newsletter profile form First of all go to Administer Customize profile and click on Add CiviCRM profile A name of Wider angle was added and mark profile to be used The next two fields allow user to include help text to assist person in filling out the form The remain are option which can be used in Advanced setting 37

Figure 14 profile implementation After an Angle newsletter was redesigned then the next step was to link to profile form, there are numbers of ways to do this, but this case study adopted the as following method: Since this form was based on Contact Sign-up form then the following tags were included in Wider Angle newsletter web page: <site root>/civicrm/profile/create?reset=1&gid=n where N is the ID of profile. (Each profile composed of a unique numeric ID Allow Anonymous (not-logged-in) users to edit their profile. In this part, the goal was to create a feature which providing user s ability to view and edit their contact information through profile CiviMail. In order to do so, the following link with token was implemented as show into CiviMail message :< http/<site root>/cicicrmprofile/edit? reset=1gid=n&id= {contact.contact_id} &contact. Checksum where N is the ID of the profile, the contact checksum token generates a special link that provides a user to access to edit their information in that profile for seven days from a day when mail was sent. Because CiviCRM is embed in drupal, then this feature work effectively here. Before Before implementing new user interface, it was not possible to link to the profile form which user can update profile. 38

As it can be seen in (figure 15) below Angle newsletter has no a link to CiviCRM profile. Figure 15 without update link After After UNU-WIDER adopted new system, with an options of update their own profile by clicking these two links called update your own profile here and unsubscribe These two links could lead end-users directly to CiviCRM profile form where user can insert their own information and edit contact information. As it can be seen in (figure 16) 39

Figure 16 with update link Last but not least, the following was one of objective outcome achieved in this research study focus on implement profile form which employee and Angle newsletter subscribers can insert information and update their own file. This window below pop up after user click Update your profile here above 40

Figure 17 profile form The next step window will appear and inform user that Your subscription has been submitted for ground Newsletter Subscriber. Check your inbox shortly for the confirmation email(s). If you do not see a confirmation email, please check your spam/junk mail folder 41

Figure 18 subscription request Last the confirmation information will pop up as it can be seen below Figure 19 confirmation 5.8 Implement last migration testing After two trails of data migration were executed, then the next attempt was to migrate all Angle subscribers contact information into CiviCRM. This phase begun by selecting import data file 42

Figure 20 import data file 2: Match fields As it was carried out in previous importation, this time mapping were based on five fields, first name, last name, Institution, country and email Figure 21 import data and mapping 43

Figure 22 summary and download duplicates 6 Discussion and research implications This study set out with the aim of assessing the importance of designed and deployed CRM database at UNU-WIDER. The solutions and answers to the research questions were structured as follows: The first research question focused on how an effective data migration testing strategy can be implemented. In response to this research question, this case study revealed that the implementation of any data migration relies on the following essential parameters: (i) ability to understand process and technical data migration documentation (ii) stepby-step implementation check and thorough testing processes and procedures. 44

The second research question was aimed at maintaining quality in data migration testing. The research study indicated that maintaining data quality in data migration testing is a challenging process which involves risks such as imported data inconsistencies. Prior data migration implementation, proper procedures should be carried out in order to tackle the problem of poor data quality in source systems. Modern data quality such as Google or Excel can be used to restructure, standardize, cleanse, enrich duplicate and reconcile data. During data migration deployment process, data should matched precisely as per records stored database and importing (i.e. insert) processes it should kept the data, as is as much as possible. Before and after checks are important i.e. selecting some data samples, before and after (checking of these samples with different filters/join statements (if needed). Rows counts before and after. Also if Database is the same the space details should also be the same. Table s columns should be the same and finally types should also be the same. With reference to this case research study both first and second data migration would have been successful and efficiently produced high data quality without any error, duplicate records, missing data or invalid data. But the problem was based on the low quality of the data which was maintained in the MS Access Database, as a result, achieving 100% accurate data migration in the first and second attempts and could not replicated because of incorrect or irrelevant data. An attempt to shed light on the data quality was discussed by Howard (2011, p3) who noted that it, suggested the significance of data quality in business transaction and organizations. This finding supports previous research on maintaining data quality in implementing data migration, and is vital because it reduces inconvenience and reduced data inconsistencies. Therefore, there is significant positive correlation between this study and argument presented by Howard (2011, p3). 45

The rationale behind the present research was the need to better understand the process of data migration from MS Access Database into CiviCRM platform. To examine this issue, the researcher attempted to concisely review the arguments in favor of CiviCRM as compared to Microsoft Access Database. However, the results of this study contradict Virginia (2007, xi) who advocate the use of MS Access Database as a better and effective tool for consolidating data within organizations. In this case study set up, MS Access database proved to be almost impossible to track user movements due to the fact that this platform doesn t support a relational database. Therefore, the findings of this case study do not support the research carried out by Virginia (2007, xi) On the other hand, this study supports the literature review: Ongoing support, development and maintenance (CiviCRM manual, 2012). The study found similar approaches in terms of implementing CiviCRM as an ongoing project which need to be maintained by adding other CiviCRM modules from time to time in order to meet the demand of clients. Failure to do so might jeopardize the system and result in outdated data. A number of technical challenges were encountered in this research. For instances, the researcher lacked of skills and work experience in the deployment of data migration. However, this problem was overcome by pairing up with my instructor who had over a decade of experience in the IT field, another method which proved to be useful to cope with this situation was to learn fast and be flexible to devote extra hours to acquire the skills needed to accomplish this project objectives within the timeframe agreed upon in the research plan. Another challenge encountered during the deployment phase of this research project was lack of one central office for all IT personnel who involved in implementing data migration, this sometime made it difficult to communicate effectively as part of the team. With this in mind, the researcher recommended that all staff dealing with deal- 46

ing with IT-related tasks should be located in one office to minimize time movement between one office to another. This research project revealed the need to prepare a plan for data migration, define the scope of project and allocate enough time for cleansed data. The results of this study indicates that in general, data migration is critical and complicated process, which comprise of time-consuming and involves risks, such as failure to accomplish project within time flame and budget. 6.1 Limitations of the study and suggestions for further research There is no doubt that this study has several limitations. First of all, before drafting this thesis, the researcher had minimum knowledge of data migration. To attempt to fulfill the objectives of this study, the researcher used his spare time to acquaint himself in the field of data migration strategy and testing. Apart from that, there has not been relevant academic research like this before, at least in Finland. Because of these factors, it was a challenge to secure textbooks and relevant materials about CiviCRM. As a matter of fact, CiviCRM platform was only introduced in 2004. It is still unfamiliar platform to some IT practitioners. Because of these limitations, the researcher depended on CiviCRM guidelines, which were available from the internet as open source. Moreover, CiviCRM also has limitations when it comes to using web applications, for instance, bandwidth dependency. Users of CiviCRM need to be connected to the internet in order have access in CiviCRM services, this can be a challenge for an organization does not have access to internet or intranet. Because of this, web-based platforms such as CiviCRM might not be alternative solutions for such organizations. However, this limitation was not encountered at UNU-WIDER which had reliable and unlimited access to the internet. The researcher would have liked to explore other Civ- 47

icrm modules, but due to time constraints and resources, this case study only focused on the CiviMail and Event Mail modules. For organization such as UNU-WIDER, the researcher recommends that it would be much more the effective to explore the effects of other CiviCRM modules, such as CiviReport, which has capacity to produce reports and handle report or CiviContribution module which can be used to run online fund-raising efforts and manage donors. This research project could have also be done different by changing the thrust of paper to a Feasibility study, but this would have implied that this study was simply determining what steps require to migration. And also seeking gauge the feasibility of data migration in the light of various constraints (time, budget and resources). Regardless of the limitations mentioned above, this study attempts to answers all the research questions relating to how an effective data migration testing strategy can be implemented and how can quality be maintained in data migration testing. Regarding who will be benefit in this thesis, the researcher was able make a difference and a meaningful contribution to UNU-WIDER activities and operations, and gained invaluable work experience in relation to data migration within framework of installation, configuration, customization and deployment of contact relationship management using CiviCRM platform. In addition, this project brings new insight for others enthusiastic and eager to learn about data migration, particularly CiviCRM web-based. This thesis can be also be used as guide in implementing a CRM strategy for non-profits organizations using detailed explanations and practical examples. Overall, the objectives of empirical data migration were achieved and this thesis is useful for any reader who is interested in Data migration. 48

Another line of research worth pursuing further is to include CiviCRM web-based as part of the Business Information Technology (BIT) program at Haaga-Helia University of Applied Sciences within the context of developing a web application course and focus on non-profit organizations perspective. 6.2 Conclusion All things considered, this study concludes by pointing out that MS Access Database was a common platform used by non-profit, advocacy and membership -based organizations to track their data before their data management moved to being web based. After CiviCRM was introduced in 2004, it brought new functionalities which allow these groups to integrate their Constituent Relationship Management data management with their web presence. The rest can be measured on the scale of achievement of this research objectives and highlighting the key findings. After all relevant data and contact information were successfully imported into CiviCRM. The new platform enabled the centralization of database systems, consolidated as well as streamlined contact relationship management database functionality. The results of this particular single case study setting proved that CiviCRM is a useful database platform that provides robust management and a sustainable solution for UNU- WIDER in terms of its size, culture and needs. Subscribers to UNU-WIDER s Angle newsletter were able to be recorded directly into the new database systems without any need for data re-entry or migration. Furthermore, after CiviCRM was deployed at UNU-WIDER staff and Angle newsletter subscribers were also able to maintain and update their own contact information efficiently, minimizing the amount of time spent on administration tasks and enhancing data accuracy in the administrative office. Staff working remote locations could also access UNU-WIDER s data from any part of the world. This phase was accomplished by im- 49

plementing of CiviMail & EventMail modules and creating a useful link, which connected Angle newsletter to the CiviCRM profile form. The deployed of these two modules proved quite capable in enhancing mass email capabilities. The evidence from this study suggests that there was a need to make data migration from MS Access into CiviCRM at UNU-WIDER as a solution and as it provide more features than a single contact database such as MS Access Database. In general, this research did not find imports data from Ms Access Database into CiviCRM any different from any other imports. Data has to be identified, cleaned and imported either through CSV CiviCRM graphical user interface import screens or directly to CiviCRM database SQL queries. 50

Bibliography Access database tutorial, 2012 http://accessdatabasetutorial.com/what-are-microsoftaccess-databases/ Quote: 12.3.2012 Berdtsson. M, Hansson.B, Olsson B. and Lundell B, Thesis projects, A guide for students in computer science and information systems, second edition, (2008, p13) Connolly T. & Begg C (2004, 195) Database Solutions: A step-by step Guide to Building Databases Blom, S. 2010. Team collaboration challenges in globally distributed agile software development. Bachelor s thesis. Degree program in Business information technology. CiviCRM user and administrator guide, fifth edition for V4, 1 April 2012 http://en.flossmanuals.net/_booki/civicrm/civicrm.pdf CiviCRM documentation, 2012. http://wiki.civicrm.org Quote: 12.3.2012 April 2007, version 1.0. Data migration roadmap: a best practice Summary, Database testing: How to Regression Test a Relational Database. http://www.agiledata.org/essays/databasetesting.html. Quote: 12.3.2012 Drupal contributed modules. 2012. http://drupal.org/project/civiconference Ghauri P. & Gronhug K. 2002. Research method s in business studies, a practical Guide, second edition 51

Gray A. (2005). Ask Andy to keep contact. Journal of Westchester Country Business Hudicka J.(1999) So You Say your datas clean.http://www.dulcian.com/papers/ioug/1999/soyousaydatasclean.htm Quote: 15.3.2012 Howard P. (2011p3). A White paper by Bloor Research. Data migration http://www.ca.com/~/media/files/industryanalystreports/00002093-ca-databasemanagement.pdf Quote: 19.4.2012 IBM global technology service (2007). Best practices for data migration. Methodologies for planning, designing, migrating and validating data migration http://www- 935.ibm.com/services/us/gts/pdf/softek-best-practices-data-migration.pdf. Quote: 1.2.2012 Krug S. (2006) Don t make me think, a common sense approach to web usability. Second edition Myers M.D 2010. Qualitative Research in information systems. MIS Quarterly (21), June 1997, p 241-242 MISQ Discovery, archival version, June 1997. URL: http:/www.misq.org/discovery/misqd. Quote: 1.4.2012 Manek P.(2003 p5). Microsoft CRM Data Migration Framework. White paper, Nurmi J. 2009. SAP-järjestelmän jatkokehittämisen ja ylläpidon prosessien kehittäminen kelassa (Improving the support and further development processes of SAP systems in the Social Insurance Institute of Finland.) Bachelor s thesis Haaga-Helia University of Applied Sciences. Helsinki. 52

Orlikowski, W.J. & Baroudi, J.J 1991. Study Information Technology in organization: Research Approaches and Assumptions. Information Systems Research (2), pp.1-28) Open Source Initiative (OSI), 2012 Htpp://www.opensource.org/docs/osd/ Quote: 10.3.2012 Robertson, 2003. Chocha, Z. 2010. Joomla website project for norsad agency. Thesis: electronic library of the University of Applied Sciences. Software testing time, 2012. http://www.softwaretestingtimes.com. Quote: 1.2.2012 Taylor S. & Lacy S. & MacFarlan I. 2007. ITIL services Transition. The stationery office. United kingdom Upleaf, 2012. Upleaf harnesses new technologies to help increase the impact of nonprofits on society. http://upleaf.com/our-services/constituent-relationshipmanagement-tools/ UNU-WIDER 2012. The United Nations University World Institute for Development Economics Research. http://www.wider.unu.edu/home/en_gb/index/ Quote: 12.2.2012 Virginia A. (2007, xi). How to do everything with Microsoft office Access 2007 What does web-based mean, 2012. http://www.booki.cc/civicrm-1/what-does-webbased-mean/. Quote: 25.3.2012 53

Appendices Appendix 1: Definition of migration roles and responsibilities The following is data migration specific roles and responsibilities in team members at UNU-WIDER Data Migration Role Responsibilities Bruck: Computer Assistant Configure Drupal (ubuntu) and LAM Install draupal server Install a models necessary to run newsletter Provide guidance to Data migration Database Assistant in establishing Data Migration Plans Lead the Technical expertise to the Migration Management Team during Planning Stephen: Database Trainee Assistant Design data migration Migration testing planning Analyze & and Design Migration Data Architecture (staging & tar- 54

get) Develop migration produces and perform trail migration: refine procedures as needed Install and configuring CiviCRM set up Import contact data from Microsoft Access database to CiviCRM platform Update existing data/ check consistencies of database integrity design, coordinate data cleansing and data quality remediation Implement (execute) migration testing and coordinate validation of reports on the results of the data migration Document data migration results Table 5 Definition of migration roles and responsibilities 55

Appendix 2: Configuration The following configuration was used in a checklist to review and complete configurations tasks in CiviCRM. Figure 23 configuration 56

Appendix 3: First trial data migration After configuration was carried out in MS Access database then contact information were exported temporarily to excel, then imported to CiviCRM. Contact information test trial carried out in order to determine if it is possible to transfer data from MS Access database into CiviCRM via Excel. The following configuration were carried out before data migration importation Set configuration of MS Access database e.g. limit data migration from 1 to 500 Export data from MS Access database to excel then import into CiviCRM The following are steps used to import contact information Step 1: Upload Data Go to CiviCRM Import Contact Click the browse button and navigate to the exported CSV file which contains contact data Figure 24 exports-excel spreadsheet 57

Figure 25 data source Step 2: Match the fields Since the file had column headings then these headings were appeared on the first column on the left side of the field map. As mapping table display below that the next two columns indicate rows of data file were imported and matching with CiviCRM fields. Moreover, this process allows possibility of rearrange in case of import inappropriate. The following below table indicate how mapping was implemented in first attempt data migration importation. Navigate Contacts Import contacts Select data source from the Data source field In the Upload CSV file click the Browse button Navigate to the file on machine, select the file and click the open button In case the file row contain csv, it is recommendable to check headers, check First row contains columns headers Select the appropriated radio button in the contact type field 58

Select the appropriate action to take in the For Duplicated contacts field (For an explanation, click the balloon icon next to the field) Select appropriate date format for data Click Continue button Review the mapping and adjust any fields consequently. Note: access to map data is not available if one import individuals that is appropriate for organizations or households Save this field mapping check box After mapping being verified click Continue (CiviCRM manual, 2012) Figure 26 mapping Step: 3 Previews Preview screen indicate the results of data migration (importing). This screen preview below is the outcome of importing contact information. As it can be seen below the total number of rows in the imported data was 3511, while 37 rows contain invalid data, whereas valid rows consist of 3474 were successful imported. The errors were 59

downloaded by clicking a link called download errors These 37 rows failed to be imported because of inconsistencies within email columns, most of these errors have something to do with command delimiters and can be summarized as follows: Double emails in one column (miss-formatted email addresses) Comma and full stop in emails address Duplicate rows within the import file Figure 27 preview and download error Next step scroll to the bottom of preview to add the contacts to a new or existing group or assign them to a new or existing tag. Next step click Import now button, this was lead to prompt message from webpage which ask Are you sure you want to import? Next make sure and the clicks OK button to complete the importation. CiviCRM will return a summary of result and finally click done. If importation was not successful, fix issues related to errors and re-import. 60

Figure 28 import contact Appendix 4: CiviMail testing template The following steps were used in testing various emails. In the administration menu across the top of page, select Mailing and then New Mailing Then the select a new The process of create test and send CiviMail mailing involved the following steps: 61

Figure 29 selects new mailing Step 1: Select Recipient In this step IT@wider.unu.edu was entered as the name of the mailing in the field To include or exclude group s recipients from previous mailings, the group of Test G was selected on the left click the Add button. In order to remove mailing or group, select group or mailing on the right click the Remove button, Including and excluding groups and mailings allows to created logic rules that insure not sending duplicating mailing to the same recipients Last step click Next button 62

Figure 30 select recipient Step 2: Track and Respond This step indicates the total number of recipients who were receiving email from group and allows to configure Tracking and Responding for this mailing. The track open was selected in order to track the number of times recipients open the mailing in their email software Click the Next button 63

Figure 31 track and respond Step 3 a: Mailing Content (upload HTML message) This step is where actual email was created. The From Email Address default based on From Email Address setting within Administer Configure from Email Addresses. Select the appropriate From Email Address from the drop-down Mailing Subject was entered Override VERP Address is used for tracking bounced mail so it is not recommend checking out. The message was created offline in order to upload the files(.txt ) for the mailing through the following steps: Select Upload Content The WYSIWYG will be disappeared and upload fields for plain text message and HTML will pop up Click the Upload TEXT message Browser button Locate and select the file on local machine Click the Open button Click the Upload HTML message Browse button locate and select the file on local machine 64

Click the Open button Figure 32 a mailing content Step 3 b: Mailing Content (Compose on the screen) Compose on screen was based on What-you-see-is what-you-get method. As it can be seen below that editor was provided, this editor was used to create Wider Angle newsletter message template. In this respect, upload content is fast and produce better result than compose on the screen. 65

Figure 32 b mailing content (compose on- screen) Step 4: Test This step provided the opportunity to send a test mailing. The test group was created with name Test G. G stands for Group. Test G was selected on the Send to This Group drop-down Send a Test Mailing button was clicked in order to send the test email. 66

Figure 33 test email Step 5: Schedule or Send This step determines when the mailing was sent. In this case Send Immediately was checked. This step provided the possibility of click calendar icon to open the calendar and select a date, enters Time and clicks the Submit Mailing 67

Figure 34 schedule or send 68

69