• No se han encontrado resultados

Disseny i desplegament d un sistema CiviCRM aplicat a la gestió de voluntariat dins del projecte Code Club Catalunya

N/A
N/A
Protected

Academic year: 2022

Share "Disseny i desplegament d un sistema CiviCRM aplicat a la gestió de voluntariat dins del projecte Code Club Catalunya"

Copied!
141
0
0

Texto completo

(1)

Pérez Serra, Raquel Curs 2018-2019

Director: LAIA ALBÓ GRAU EN ENGINYERIA EN SISTEMES AUDIOVISUALS

T r e b a l l d e F i d e G r a u

GRAU EN ENGINYERIA EN

(2)

Disseny i desplegament d’un sistema

CiviCRM aplicat a la gesti ´o de voluntariat dins del projecte Code Club Catalunya

Raquel P´erez Serra

TREBALL FI DE GRAU

GRAU EN ENGINYERIA EN SISTEMES AUDIOVISUALS ESCOLA SUPERIOR POLITECNICA UPF

ANY 2019

DIRECTORA DEL TREBALL

Laia Alb´o

Departament de Tecnologies de la Informaci´o i les Comunicacions

(3)
(4)

A tothom amb qui gaudeixo de la vida.

For all who I enjoy my life with.

:)

(5)
(6)

Agra¨ıments

Agraeixo, per una banda, a la Martina Mayrhofer la oportunitat de formar part en aquest projecte i l’esforc¸ dedicat. I per altra banda, a la Laia Alb´o per tota la implicaci´o i suport al llarg del projecte; disponible en tot moment i d’una forma molt transparent i pr`oxima. De tu aprenc, entre d’altres coses, que a part de dir les coses a millorar tamb´e cal felicitar la bona feina.

(7)
(8)

Resum

En aquest treball s’ha dissenyat i desplegat un sistema gestor de clients basat en web que permet administrar una base de dades de voluntariat dins del programa Code Club Catalunya. L’objectiu ´es facilitar el registre automatitzat de persones volunt`aries a l’organitzaci´o i agilitzar la seva gesti´o, fins ara manual. Code Club Catalunya ´es un projecte que pret´en apropar la programaci´o als infants oferint tallers gestionats per voluntariat en hores extra-escolars. Els Code Clubs es rea- litzen en diferents espais (escoles, biblioteques, . . . ) i involucren diferents actors (voluntariat, gestors dels espais, . . . ). Aix´ı doncs, el que aporta aquest treball ´es una adaptaci´o del gestor de codi obert CiviCRM a les necessitats del projecte Co- de Club, permetent gestionar els diferents perfils d’usuaris aix´ı com facilitant els processos de registre per a participar en el projecte (entrega documents, gesti´o de correus electr`onics. . . ). Per tal d’arribar a la soluci´o de disseny final, s’ha seguit una estructura c´ıclica, amb dues iteracions d’avaluaci´o amb usuaris finals.

Abstract

A web-based customer management system has been designed and deployed for the Code Club Catalunya to streamline their management of volunteers. The Code Club Catalunya project offers after-school workshops for children. The volunteer- managed workshops are held in a variety of spaces including schools and libraries, and involve multiple actors such as volunteers and managers of the spaces. The deployed customer management system, an adaptation of the open source Civi- CRM manager, streamlines the management of actors involved in the project. The system supports the management of actors by profile and improves the volun- teer registration process (delivery documents, management of emails). A cyclical structure comprising two evaluation iterations with final users was used to achieve the final design of the solution.

(9)
(10)

Sumari

´Index de figures xii

´Index de taules xiv

Appendix xiv

1 INTRODUCCI ´O 1

1.1 Context . . . 2

2 AN `ALISI DE LA NECESSITAT 5 2.1 Objectius . . . 5

2.2 Requeriments del projecte . . . 5

2.2.1 Requeriments funcionals . . . 6

2.2.2 Requeriments no funcionals . . . 8

3 PLANIFICACI ´O I FASES DEL PROJECTE 11 4 DISSENY 15 4.1 Disseny del sistema . . . 15

4.2 Estudi de solucions . . . 26

4.2.1 Estudi de tecnologies . . . 26

4.2.2 Tecnologia escollida . . . 28

5 IMPLEMENTACI ´O 35 5.1 Gesti´o de persones usu`aries . . . 37

5.2 Gesti´o de correu electr`onic . . . 38

5.3 Gesti´o de documents . . . 40

6 PRIMERA AVALUACI ´O 47 6.1 Avaluaci´o modalitat q¨uestionari en l´ınia i reuni´o . . . 47

6.2 Resultats: descripci´o de les millores . . . 47

7 IMPLEMENTACI ´O DE LES MILLORES 57

(11)

8 SEGONA AVALUACI ´O 63

8.1 Disseny prova . . . 63

8.1.1 Tasques a realitzar . . . 63

8.1.2 Instruments . . . 63

8.2 Participants . . . 65

8.2.1 Procediment . . . 65

8.3 Resultats de la prova d’avaluaci´o . . . 65

9 CONCLUSIONS 71 9.1 Treball futur . . . 71

A ANNEXOS 75 A.1 Formularis d’inscripci´o del voluntariat i de les biblioteques. . . 75

A.2 Exemples fitxes de contactes. . . 79

A.3 Entrega de documents necessaris del voluntariat i de la biblioteca. 81 A.4 Exemple de com es guarda l’entrega de documents en la fitxa d’un contacte. . . 83

A.5 Q¨uestionari primera avaluaci´o. . . 84

A.6 Respostes primera prova d’avaluaci´o. . . 94

A.7 Cronograma de les plantilles de correu electr`onic. . . 99

A.8 Tasques ha realitzar del rol de persona usu`aria. . . 110

A.9 Tasques ha realitzar del rol de biblioteca. . . 112

A.10 Q¨uestionari rol voluntariat. . . 114

A.11 Q¨uestionari rol biblioteca. . . 118

A.12 Full de consentiment. . . 122

A.13 Respostes segona prova d’avaluaci´o. . . 124

(12)

´Index de figures

1.1 Elements dels Code Clubs [2]. . . 3

1.2 Fragment dels passos a seguir del primer projecte amb Scratch anomenat ’Grup de Rock’ (http://codeclubcat.org/materials/curriculum/) [2]. . . 3

3.1 Model iteratiu de disseny de software seguit al llarg del treball . . 14

4.1 Mapa de rols de persones usu`aries. . . 17

4.2 Mapa de casos d’´us amb les relacions d’especialitzaci´o, extensi´o, composici´o i afinitat. . . 24

4.3 Model de successi´o per a l’activitat extraescolar dins del projecte “Code Club a les Biblioteques”. . . 25

4.4 Caracter´ıstiques m´es destacades de CiviCRM; en blau aquelles que s’utilitzen en el projecte (blau fosc com a requeriment princi- pal, blau clar com a requeriment secundari) . . . 31

4.5 Mapa conceptual dels diferents components que disposa CiviCRM, en lletra de color negra els que s’utilitzen (CiviCase i CiviEvent potser (segon requeriment) i en blanc els que no. . . 33

5.1 Mapa conceptual dels diferents elements necessaris per al bon funcionament de CiviCRM. . . 35

5.2 Dibuix esquem`atic de la pantalla inicial de Drupal. . . 37

5.3 Zoom en la pantalla inicial de CiviCRM. . . 37

5.4 Relacions de la BBDD que guarda les dades dels contactes. . . 39

5.5 Captura de pantalla dels diferents formats en que es pot escriure un correu electr`onic i de la opci´o per a adjuntar un fitxer. . . 41

5.6 Captura del llistat de plantilles de correu electr`onic del sistema. . . 42

5.7 Captura d’exemple missatge ’Av´ıs de formaci´o pr`evia’. . . 43

5.8 Relacions de la DDBB que guarda les dades dels documents. . . . 45

6.1 Visualitzaci´o de la configuraci´o de la connexi´o entre Drupal i Ci- viCRM de les persones volunt`aries. . . 51

(13)

6.2 Visualitzaci´o de la configuraci´o de la connexi´o entre Drupal i Ci- viCRM de les biblioteques (notar que no disposem de una opci´o

reservada). . . 51

6.3 Captura de la cerca per a poder exportar el que es demana. . . 53

6.4 Exemple de la cerca per a obtenir el que es demana. . . 53

6.5 Exemple de la cerca per obtenir el que es demana. . . 55

7.1 Millores visualment destacades del formulari d’inscripci´o com a persona volunt`aria. . . 58

7.2 Millores visualment destacades del formulari d’inscripci´o com a biblioteca. . . 58

7.3 Correu electr`onic autom`atic final del formulari d’inscripci´o com a persona volunt`aria. . . 59

7.4 Correu electr`onic autom`atic final del formulari d’inscripci´o com a biblioteca. . . 60

7.5 Captura final de l’entrega de documentaci´o necess`aria del volun- tariat. . . 61

7.6 Captura final de l’entrega de documentaci´o necess`aria de les bi- blioteques. . . 61

8.1 Gr`afic respostes preguntes primera tasca. . . 67

8.2 Gr`afic respostes preguntes segona tasca. . . 67

8.3 Gr`afic respostes preguntes visi´o global. . . 68

A.1 Formulari inscripci´o persona volunt`aria (fotografia 1) . . . 76

A.2 Formulari inscripci´o persona volunt`aria (fotografia 2) . . . 76

A.3 Formulari inscripci´o persona volunt`aria (fotografia 3) . . . 77

A.4 Formulari inscripci´o persona volunt`aria (fotografia 4) . . . 77

A.5 Formulari d’inscripci´o biblioteques (fotografia 1) . . . 78

A.6 Formulari d’inscripci´o biblioteques (fotografia 2) . . . 78

A.7 Dades d’un contacte voluntari (fotografia 1) . . . 79

A.8 Dades d’un contacte voluntari (fotografia 2) . . . 80

A.9 Dades d’un contacte biblioteca . . . 80

A.10 Captura formulari ’Documentaci´o necess`aria del voluntariat’ (fo- tografia 1). . . 81

A.11 Captura formulari ’Documentaci´o necess`aria del voluntariat’ (fo- tografia 2). . . 82

A.12 Captura formulari ’Documentaci´o necess`aria de les biblioteques’. 82 A.13 Captura d’exemple fitxa de contacte. . . 83

(14)

´Index de taules

3.1 Diagrama de Gantt inicial . . . 12 3.2 Diagrama de Gantt final . . . 13 4.1 Llistat dels principals tipus de rols que interactuen, breu descrip-

ci´o i les corresponents interaccions. . . 16 4.2 Resposta del sistema a la tasca ’Utilitzar la plataforma’. . . 18 4.3 Resposta del sistema a la tasca ’Inscriure’s com a biblioteca o com

a persona volunt`aria’. . . 18 4.4 Resposta del sistema a la tasca ’Entregar els documents’. . . 19 4.5 Resposta del sistema a la tasca ’Utilitzar les tres diferents gestions

persones usu`aries, correus electr`onics o documents’. . . 19 4.6 Resposta del sistema a la tasca ’Modificar el formulari d’inscrip-

ci´o, ja sigui de biblioteques o persones volunt`aries’. . . 19 4.7 Resposta del sistema a la tasca ’Utilitzar la gesti´o de persones

usu`aries’. . . 19 4.8 Resposta del sistema a la tasca ’Cercar una persona usu`aria en

concret’. . . 20 4.9 Resposta del sistema a la tasca ’Modificar alguna dada d’una per-

sona usu`aria en concret’. . . 20 4.10 Resposta del sistema a la tasca ’Crear un grup per tenir les perso-

nes participants de un Code Club en concret totes agrupades’. . . . 20 4.11 Resposta del sistema a la tasca ’Utilitzar la gesti´o de correus electr`onics’. 21 4.12 Resposta del sistema a la tasca ’Enviar un correu electr`onic a una

persona usu`aria o col·lectiu en concret’. . . 21 4.13 Resposta del sistema a la tasca ’Enviar un correu electr`onic amb

un format concret utilitzant una plantilla’. . . 22 4.14 Resposta del sistema a la tasca ’Afegir una plantilla nova’. . . 22 4.15 Resposta del sistema a la tasca ’Utilitzar la gesti´o de documents’. . 22 4.16 Resposta del sistema a la tasca ’Visualitzar els documents entre-

gats per una persona usu`aria en concret’. . . 23

(15)

4.17 Resposta del sistema a la tasca ’Afegir la sol·licitud d’un docu- ment necessari, ja sigui pel conjunt de biblioteques o persones

volunt`aries. . . 23

4.18 Comparativa open source CRM, en groc els que han aparegut en tres o m´es dels quatre estudis. . . 28

4.19 An`alisi del compliment dels requeriments, en groc el que com- pleix tots els requeriments. . . 28

5.1 Llistat de plantilles de correus electr`onics necess`aries . . . 40

6.1 Millores i modificacions en la visi´o de persona usu`aria. . . 49

6.2 Millores i modificacions en la visi´o de persona gestora. . . 50

(16)

Cap´ıtol 1

INTRODUCCI ´ O

Avui en dia, les tecnologies de la informaci´o (TIC) s´on cada cop m´es presents en tots els moments de la nostra vida: a l’escola, a casa, al carrer, als espais de lleure, a la feina, etc`etera.

En concret, incorporar noves tecnologies a la feina es benefici´os. Com expli- quen Garc´ıa-Canal i S´anchez en les respectives publicacions [4] i [9], els avantat- ges de les TIC dins les empreses s´on molts, entre ells:

• Milloren l’efici`encia interna de l’empresa.

• Milloren en la qualitat de servei dels actuals clients.

• Defineixen nous mercats y noves oportunitats de mercat.

A m´es, i igual d’important que la resta, per`o en aquest cas ´es la ra´o de pes del meu projecte

• Les TIC desencadenen una major agilitat en la gesti´o.

Cal destacar que el fet d’utilitzar tecnologia dins de l’empresa no substitueix tre- balladors, sin´o que les TIC s´on complement`aries a la feina d’aquests [4].

Per altra banda, en els ´ultims anys, han sorgit moltes iniciatives per acostar les TIC als m´es petits. En la nostra zona geogr`afica hi ha diverses activitats extra- escolars per ensenyar a programar a nens i nenes a partir de 5-8 anys. Activitats com: campus i casals especialitzats en la creaci´o de videojocs, el coneixement de l’electr`onica, la rob`otica, la impressi´o 3D, la programaci´o i la tecnologia, jornades d’activitats per aprendre noves tecnologies o campaments tecnol`ogics d’estiu.

Com a conseq¨u`encia de l’augment de nombre d’activitats, augmenta tamb´e el nombre de centres especialitzats en ensenyar els infants aquest m´on. Citilab1,

1https://www.citilab.eu/formacio-tecnologia-informacio-comunicacio/

(17)

Codelearn2, Petits Enginyers3o Scratch Barcelona4s´on alguns d’ells.

1.1 Context

En l’apartat anterior s’han donat exemples d’activitats per ensenyar a programar, per`o totes elles plantejades com a activitat extraescolar de pagament. N’hi ha de gratu¨ıtes, una d’elles ´es la que ofereix Code Club Catalunya en els seus tallers.

Code Club Catalunya [2] ´es una xarxa d’activitats gratu¨ıtes de programaci´o, anomenades Code Clubs, per a nens i nenes de 9 a 12 anys i t´e com a objectiu oferir a cada infant de Catalunya la possibilitat d’aprendre a programar.

Els Code Clubs estan gestionats per persones volunt`aries i es duen a terme com a activitat extraescolar en escoles, centres c´ıvics, biblioteques, entre d’altres; i ´es Code Club Catalunya qui s’encarrega de gestionar i promoure tota aquesta xarxa arreu de Catalunya. Gestionen, com veiem en la figura 1.1, la participaci´o per part del voluntariat, la preparaci´o dels projectes i la cerca de llocs de reuni´o; on, despr´es d’un seguit de processos, s’hi reunir`a el voluntariat i infants per aprendre a programar.

La metodologia i material utilitzats per a dur a terme l’activitat consta d’una s`erie de cursos amb els passos a seguir detallats per a l’infant com es veu en la figu- ra 1.2, quan aquest t´e algun dubte pot sol·licitar l’ajuda de la persona volunt`aria.

El programari utilitzat en els cursos ´es Scratch, per introduir els conceptes m´es elementals de la programaci´o; HTML i CSS, per introduir els conceptes b`asics; i Python, per ampliar tots els conceptes anteriors.

La idea original de Code Club Catalunya prov´e dels Code Club United King- dom (UK), una comunitat que va sorgir l’any 2012 al Regne Unit amb l’objectiu de que tots els infants tinguessin l’oportunitat d’aprendre a programar, indepen- dentment de qui siguin o d’on vinguin. Actualment hi ha uns 12.000 Code Club actius en tot el m´on, repartits en uns 160 pa¨ısos i 180.000 infants aprenent a pro- gramar cada setmana.

Per altra banda hi ha el projecte Code Club a les biblioteques, ´es una inici- ativa del Servei de Biblioteques de la Generalitat, que juntament amb Code Club Catalunya [2] i les universitats: Universitat Oberta de Cataunya (UOC), la Facultat d’Inform`atica de Barcelona de la Universitat Polit`ecnica de Catalunya (UPC-FIB), la Universitat de Girona (UDG), la Universitat Pompeu Fabra (UPF), la Univer- sitat de Barcelona (UB-Biblioteconomia) i el centre adscrit a la UPF, Elisava;

col·laboren per impulsar la idea dels Code Clubs. D’aquesta forma, es dinamit- zen i modernitzen les biblioteques; ja que ens els ´ultims anys no es un espai tan

2https://codelearn.cat/blog/

3https://www.petitsenginyers.com

4https://scratch.barcelona

(18)

Figura 1.1: Elements dels Code Clubs [2].

Figura 1.2: Fragment dels passos a seguir del primer projecte amb Scratch ano- menat ’Grup de Rock’ (http://codeclubcat.org/materials/curriculum/) [2].

freq¨uentat pels infants i adolescents. Com, tamb´e, es promou la participaci´o d’es- tudiants universitaris com a resultat de la manca de voluntaris per a realitzar l’ac- tivitat. Per a promoure aquesta participaci´o s’ofereix als estudiants la possibilitat de rebre cr`edits universitaris a canvi de la participaci´o en el voluntariat.

L’actual gestor de Code Club Catalunya i del projecte Code Club a les bibli- oteques ´es l’entitat Colectic [10]. Colectic ´es un projecte cooperatiu sense `anim

(19)

de lucre que treballa per la transformaci´o social a trav´es de la participaci´o, l’apre- nentatge i la socialitzaci´o de les TIC. Aix´ı doncs, entenen la tecnologia com una eina facilitadora i possibilitada per l’autonomia de les persones. Promouen l’´us del programari i maquinari lliure i situen la seva activitat en el marc de l’economia solid`aria.

Colectic va n´eixer el 2017, per`o ja en el 1992, un grup de professionals de l’educaci´o del Raval (Barcelona) va constituir l’Associaci´o per a Joves Teb amb l’objectiu d’obrir un espai de lleure que ha anat avanc¸ant amb el binomi tecnolo- gia i comunitat. Al llarg de la seva hist`oria ha guanyat premis i reconeixements, per exemple, Medalla d’honor de la ciutat de Barcelona l’any 2013. Alguns del seus projectes s´on: el disseny i desenvolupament de la p`agina web de la tercera edici´o del Mobile Social Congress; WEMIN, un projecte que promou un model d’integraci´o pioner per a dones migrants i refugiades; la redacci´o i publicaci´o de continguts del web de WomanLiderTic, una trobada anual de dones que ocu- pen llocs de lideratge en empreses tecnol`ogiques a nivell internacional; o el Pla d’Iniciaci´o Professional, una formaci´o especialitzada en ’Auxiliar de muntatge i manteniment d’equipaments inform`atics’ per donar acc´es al mercat laboral a joves en risc d’exclusi´o social a trav´es del domini de les TIC.

Aix´ı doncs, aquest treball neix de la necessitat d’incorporar un sistema de gesti´o de voluntariat dins del projecte “Code Club a les Biblioteques”, ja que ac- tualment aquesta gesti´o es fa manualment i suposa una c`arrega de feina important i feixuga. ´Es una sola persona de l’entitat de Colectic qui s’encarrega de cercar voluntaris i biblioteques que vulguin participar, qui coordina la disponibilitat de voluntaris amb les biblioteques per dia i hora per a realitzar el Code Club, qui els demana les dades necess`aries, i que gestiona els diferents correus electr`onics que tot aix`o comporta. Com s’ha dit anteriorment, un dels avantatges d’incorporar les TIC en l’`ambit laboral ´es que aquestes porten una major agilitat en la gesti´o, i aix`o ´es el que s’espera en aquest cas; ja que actualment tamb´e cal sumar-hi a la problem`atica l’increment en el nombre de voluntariat.

Aquest projecte es dur`a a terme amb la col·laboraci´o de l’entitat Colectic, ja que, com ja he dit, ´es l’actual gestor de Code Club Catalunya. Per tant, ´es un treball desenvolupat en i per a un entorn real i on s’espera que el resultat final s’utilitzi amb usuaris i usu`aries reals.

(20)

Cap´ıtol 2

AN ` ALISI DE LA NECESSITAT

En aquest cap´ıtol s’analitza la necessitat amb deteniment i es defineixen els ob- jectius i requisits del problema.

2.1 Objectius

El principal objectiu ´es facilitar la gesti´o del voluntariat de Code Club Catalunya, ja que ´es un projecte que ha anat creixent i cada vegada t´e m´es persones invo- lucrades. Aix`o fa que per a poder realitzar i planificar una activitat extraescolar en concret cal una comunicaci´o entre els interessats i una s`erie de documents per formalitzar-la. Aix´ı doncs, podem definir aquests objectius amb tres fites dife- rents:

• Dissenyar una gesti´o de persones usu`aries.

• Dissenyar una gesti´o de correus electr`onics.

• Dissenyar una gesti´o dels documents.

2.2 Requeriments del projecte

En aquest apartat es fa un an`alisi de requeriments, per tal de definir i documentar les necessitats del projecte d’acord amb les stakeholders, que s´on les encarregades de Code Club Catalunya, la coordinadora de Code Club Catalunya i la tutora del treball. Els requeriments es distribueixen en funcionals i no funcionals.

(21)

2.2.1 Requeriments funcionals

Els requeriments funcionals consisteixen en la declaraci´o dels serveis que oferir`a el sistema. En aquest cas tenim uns serveis principals i uns de secundaris, els quals es realitzarien un cop enllestits els principals, per a millorar el servei.

Pel que fa a requeriments funcionals principals els podem dividir en tres sec- cions: gesti´o de persones usu`aries, de correu electr`onic i de documents.

Gesti´o persones usu`aries

1. El sistema ha de comptar amb una gesti´o de persones usu`aries.

Aquestes es diferenciaran entre biblioteques, on realitzar l’activitat, i perso- nes volunt`aries o estudiants, que condueixen i donen suport durant la classe extraescolar. Mitjanc¸ant un formulari que hauran d’omplir per formar part del voluntariat de Code Club Catalunya s’introduiran a la base de dades.

Aix´ı doncs, es disposar`a de dos formularis diferents. Per una banda, el for- mulari per a biblioteques on es demanar`a les seg¨uents dades: nom de la biblioteca, persona de contacte, adrec¸a, correu electr`onic, si ha participat en edicions anteriors i disponibilitat hor`aria. I per altra banda, al formu- lari per a persones volunt`aries i estudiants es demanar`a altres dades com:

nom, document d’identificaci´o nacional, correu electr`onic, tel`efon de con- tacte, localitat, si ha participat en edicions anteriors, disponibilitat hor`aria, tres prefer`encies de biblioteca on dur a terme els Code Clubs, quina expe- ri`encia t´e amb activitats amb nens i nenes, amb Scratch i de programaci´o, si es tracta de persona volunt`aria beneficiada amb cr`edits universitaris o no i;

en el cas de persona beneficiada amb cr`edits, universitat on estudien i quins estudis cursen. Aquests dos grups de persones usu`aries es guardaran dins la base de dades amb una dada afegida, anomenada “Actiu”. Aquesta da- da s’haur`a d’actualitzar any rere any, ja que es podria donar el cas que una persona usu`aria deix´es de voler participar com a voluntari en cert moment.

2. El sistema ha de poder fer certes agrupacions.

El conjunt de persones usu`aries un cop dins la base de dades s’han de poder agrupar segons uns par`ametres amb la finalitat de facilitar l’assignaci´o de persones volunt`aries a les diferents biblioteques i l’enviament de correus i la rebuda de documents. Agrupacions de:

(a) Totes les biblioteques.

(b) Totes les persones volunt`aries i estudiants.

(c) Persones vinculades amb una biblioteca en concret.

(d) Persones volunt`aries que estudien en una mateixa universitat.

(22)

(e) Persones volunt`aries que no es beneficien amb cr`edits.

(f) Persona volunt`aria no assignat a cap biblioteca.

(g) Biblioteques amb cap persona volunt`aria assignada.

(h) Persona volunt`aria que no ha entregat la documentaci´o.

(i) Biblioteques que no han entregat la documentaci´o.

Gesti´o de correus electr`onics

3. El sistema ha de tenir una gesti´o de correus electr`onics.

Aquesta ha de permetre enviar correus per les agrupacions esmentades en el requeriment 2; per exemple, un correu al voluntariat per informar-los de la realitzaci´o d’una sessi´o de formaci´o. Tamb´e, ha de tenir unes plantilles de correu electr`onic per facilitar la redacci´o de cadascun d’ells i crear una l´ınia comuna.

Gesti´o dels documents

4. El sistema ha de comptar amb una gesti´o de documents.

Aquests documents s´on diferents depenent de les persones usu`aries del sis- tema de gesti´o. Per una banda, Colectic demana a les biblioteques un certi- ficat d’assist`encia i un informe final de valoraci´o. Per altra banda, Colectic demana al voluntariat una confirmaci´o de participaci´o en una formaci´o, un document de comprom´ıs de col·laboraci´o amb la biblioteca, un document amb un quadre de seguiment d’activitats (d’entrega volunt`aria), q¨uestiona- ri d’avaluaci´o final; i en el cas de ser persona volunt`aria sense benefici de cr`edits (´es a dir, que no est`a assegurat per la seva universitat), un comprom´ıs de voluntariat firmat per tal d’estar assegurat per l’entitat Colectic.

Requeriments secundaris que millorarien el servei 5. El sistema podria comptar amb una gesti´o d’activitats.

Conseq¨uentment, es tindria un control m´es acurat de cada extraescolar que es du a terme; a part del control a nivell de persones usu`aries anteriorment esmentat.

6. El sistema podria comptar amb una gesti´o m´es automatitzada.

Com a conseq¨u`encia del punt 5, s’aconseguiria una gesti´o m´es automatit- zada de correus, com el recordatori de la sessi´o d’activitat als voluntaris corresponents.

(23)

2.2.2 Requeriments no funcionals

Requeriments del producte

El producte ha de facilitar la gesti´o de Code Club Catalunya, i no pas, dificultar-la.

Per aix`o, ´es necessari que compleixi:

1. Bon comportament i fiabilitat.

El sistema ha de ser capac¸ de gestionar el volum de dades de manera esca- lable i eficient, per tant, no hi ha d’haver confusions o p`erdua de persones usu`aries, correus electr`onics o documents, en la gesti´o de cadascuna d’elles.

2. Bon rendiment i velocitat

La velocitat de les gestions s’ha de agilitzar gr`acies al sistema, aix´ı doncs, el sistema ha de ser capac¸ d’accedir a les dades de la BBDD en un temps raonable.

3. Bona usabilitat

Ha de resultar un sistema ´util per a les diferents persones que l’utilitzen:

biblioteques, voluntariat i, en especial, les persones gestores de Code Club Catalunya (stakeholders).

Requeriments organitzatius

Aquests requeriments es deriven de les pol´ıtiques i procediments existents en la organitzaci´o, en aquest cas, Colectic que ´es el gestor de Code Club Catalunya actual (4 i 5) i la universitat (6).

4. Implementaci´o.

(a) Caldria utilitzar preferiblement una tecnologia de codi obert, ´es a dir, de programari lliure i gratu¨ıta.

(b) Es proposa la utilitzaci´o d’un sistema de Gesti´o de Relacions amb Cli- ents, Customer Relationship Management (CRM) que

i. disposi d’una bona gesti´o de voluntariat.

ii. que funcioni sobre Drupal, un gestor de contingut; ja que en un futur volen tenir la plataforma web en aquest gestor.

5. Utilitzaci´o d’un llenguatge inclusiu, tant en la documentaci´o com en el propi producte/sistema.

(24)

6. Entrega.

La entrega est`a prevista per a principis de juny; per aix`o la planificaci´o del projecte es repartir`a al llarg de principis d’any fins a finals de maig.

En el moment de l’entrega cal entregar aquesta mem`oria a la universitat i coincidir`a amb l’entrega del producte enllestit a Code Club Catalunya.

Requeriments externs 7. Legals i `etics.

El sistema no divulgar`a informaci´o personal sobre el col·lectiu de persones usu`aries a operadors externs.

(25)
(26)

Cap´ıtol 3

PLANIFICACI ´ O I FASES DEL PROJECTE

Al comenc¸ar el projecte es van realitzar unes reunions pr`evies amb les stakehol- ders per poder estructurar i planificar el temps i les diferents tasques del projecte.

A la Taula 3.1 es mostra el diagrama de Gantt, el qual ´es una representaci´o de com es va planificar distribuir les tasques del projecte al llarg del temps. En l’eix vertical hi ha les activitats a realitzar i en l’eix horitzontal la l´ınia del temps (on les setmanes van numerades segons el n´umero de setmana de l’any). Aquest

´es el diagrama de Gantt inicial i consta, en primer lloc, d’un estudi i disseny ini- cial i aprovaci´o d’aquest, en segon lloc, la implementaci´o d’aquest disseny en un prototip (en un web local, per exemple) i l’avaluaci´o d’aquest, en tercer lloc, la im- plementaci´o d’aquest prototip en la plataforma real i definitiva, i finalment, tamb´e consta de la redacci´o de la mem`oria que es realitza paral·lelament als anteriors tres punts. Per`o aquest no ´es el diagrama de Gantt final, ja que en la implemen- taci´o del prototip, la instal·laci´o del programari va caldre fer-la en la plataforma real per motius t`ecnics. Aix´ı doncs, el diagrama de Gantt final ´es el de la Taula 3.2. Aquest consta, en primer lloc, d’un estudi i disseny inicial, en segon lloc, la instal·laci´o i configuraci´o de la tecnologia, en tercer lloc, la implementaci´o de les tres gestions (gesti´o d’usuaris, gesti´o de correu electr`onic i gesti´o de documents), en quart lloc, una primera avaluaci´o de la implementaci´o, en cinqu`e lloc, la incor- poraci´o de les millores adients en el sistema, i en sis`e lloc, una segona i ´ultima avaluaci´o. A m´es, paral·lelament als sis anteriors punts tamb´e es fa la redacci´o de la mem`oria.

El diagrama de Gantt final plasma com s’ha estructurat el treball final de grau.

Aquest segueix el seg¨uent cicle de vida (figura 3.1). Es tracta d’un model de disseny de software c´ıclic amb: el disseny, la implementaci´o i l’avaluaci´o, i aquest s’inicia amb l’an`alisi de requeriments i necessitats i conclou amb les conclusions i l’an`alisi del treball futur [8].

(27)

Taula 3.1: Diagrama de Gantt inicial

(28)

Taula 3.2: Diagrama de Gantt final

(29)

Figura 3.1: Model iteratiu de disseny de software seguit al llarg del treball

Aix´ı doncs, en els seg¨uents cap´ıtols es veur`a com s’han realitzat iteracions del cicle: en el cap´ıtol 4 tenim el disseny, en el 5 la implementaci´o, el 6 la primera avaluaci´o i el segon disseny i implementaci´o i el cap´ıtol 7 la segona avaluaci´o.

(30)

Cap´ıtol 4 DISSENY

En aquest cap´ıtol es planteja l’assoliment dels objectius i requeriments, esmentats anteriorment. Per una banda, es fa un an`alisi complet de com ha de ser el sistema,

´es a dir, definir com aquest s’ha de comunicar amb la persona usu`aria. Per l’altra banda, es fa un estudi de solucions i explicaci´o detallada de la tecnologia que s’utilitzar`a.

4.1 Disseny del sistema

Abans de comenc¸ar la implementaci´o, cal realitzar un an`alisi complet de com ser`a el sistema, amb la finalitat de definir com s’ha de comunicar el sistema i la persona usu`aria, quines parts del sistema pot controlar cada persona usu`aria o com ho far`a.

En primer lloc, per entendre el perfil de les persones usu`aries que utilitzen el sistema disposem del model de rols de persones usu`aries. Per a definir aquest mo- del cal definir aquelles persones usu`aries que necessiten d’alguna manera o altra entrar en contacte amb el sistema i agrupar-los segons una col·lecci´o abstracta de necessitats, interessos, expectatives, comportaments i responsabilitats que carac- teritzen una relaci´o entre una classe o tipus de persones usu`aries i el sistema [1].

Tenim tres rols de persones usu`aries diferents: les persones gestores de Code Club Catalunya, les biblioteques i el voluntariat; i cadascun d’ells t´e unes interaccions diferents amb el sistema (taula 4.1). Per tenir una visi´o m´es completa dels rols definim un mapa per representar les relacions que tenen (figura 4.1).

En segon lloc, per per entendre les funcions del sistema disposem del model de tasques i casos d’´us. Per a definir el model de tasques i casos d’´us cal una descripci´o narrativa de cadascuna de les tasques per cada persona usu`aria en cada rol espec´ıfic. Aquesta descripci´o narrativa es divideix en el model d’acci´o de la persona usu`aria, on es mostra les accions de cadascuna d’elles, i el model de resposta del sistema, on es mostra la resposta del sistema a les accions de cada

(31)

Taula 4.1: Llistat dels principals tipus de rols que interactuen, breu descripci´o i

(32)

Figura 4.1: Mapa de rols de persones usu`aries.

(33)

persona usu`aria [1].

Els casos d’´us del nostre sistema segons els diferents rols s´on els seg¨uents:

Tasca del conjunt de rols de ‘biblioteques i persones volunt`aries’:

• Utilitzar la plataforma (taula 4.2).

Acci´o de la persona usu`aria Resposta del sistema

presentar les diferents tasques que pot realitzar escollir i seleccionar la tasca desitjada

mostrar la tasca seleccionada Taula 4.2: Resposta del sistema a la tasca ’Utilitzar la plataforma’.

Tasca del conjunt de rols de ‘biblioteca/volunt`aria interessada’:

• Inscriure’s com a biblioteca o com a persona volunt`aria (taula 4.3).

Acci´o de la persona usu`aria Resposta del sistema presentar el formulari emplenar les dades del formulari

guardar les dades i incorporar-les a la seva base de dades enviar un correu de confirmaci´o a la persona usu`aria amb les dades que ha introdu¨ıt

Taula 4.3: Resposta del sistema a la tasca ’Inscriure’s com a biblioteca o com a persona volunt`aria’.

Tasca del conjunt de rols de ‘biblioteca/volunt`aria realitzadora de Code Club’:

• Entregar els documents (taula 4.4).

Tasques del conjunt de rol ‘persona gestora de Code Club’:

• Utilitzar les tres diferents gestions persones usu`aries, correus electr`onics o documents (taula 4.5).

• Modificar el formulari d’inscripci´o, ja sigui de biblioteques o persones vo- lunt`aries (taula 4.6).

Tasques del conjunt de rol ‘persona gestora de persones usu`aries’:

(34)

Acci´o de la persona usu`aria Resposta del sistema

presentar els diferents documents necessaris carregar els documents demanats

guardar els documents en la persona usu`aria corresponent dins la base de dades

enviar un correu de confirmaci´o a la persona usu`aria amb les dades que ha introdu¨ıt

Taula 4.4: Resposta del sistema a la tasca ’Entregar els documents’.

Acci´o de la persona usu`aria Resposta del sistema

presentar les tres opcions de gesti´o seleccionar la gesti´o que es desitgi

mostrar les opcions de la gesti´o seleccionada Taula 4.5: Resposta del sistema a la tasca ’Utilitzar les tres diferents gestions persones usu`aries, correus electr`onics o documents’.

Acci´o de la persona usu`aria Resposta del sistema

presentar les dades possibles a modificar del formulari modificar les dades desitjades

guardar la modificaci´o del formulari

Taula 4.6: Resposta del sistema a la tasca ’Modificar el formulari d’inscripci´o, ja sigui de biblioteques o persones volunt`aries’.

• Utilitzar la gesti´o de persones usu`aries (taula 4.7).

• Cercar una persona usu`aria en concret (taula 4.8).

• Modificar alguna dada d’una persona usu`aria en concret (taula 4.9).

• Crear un grup per tenir les persones participants de un Code Club en concret totes agrupades (taula 4.10).

Acci´o de la persona usu`aria Resposta del sistema

presentar les opcions dins la gesti´o de persones usu`aries seleccionar l’opci´o que es desitgi

mostrar l’opci´o seleccionada

Taula 4.7: Resposta del sistema a la tasca ’Utilitzar la gesti´o de persones usu`aries’.

(35)

Acci´o de la persona usu`aria Resposta del sistema

presentar les opcions de cerca afegir els elements de cerca (nom, tipus de

contacta,...) de la persona que busca

consultar a la base de dades segons els elements de cerca i mostrar els resultats Taula 4.8: Resposta del sistema a la tasca ’Cercar una persona usu`aria en concret’.

Acci´o de la persona usu`aria Resposta del sistema

mostrar la persona usu`aria en concret que s’hagi cercat pr´emer sobre la dada a modificar

permetre modificar la dada modificar la dada

guardar la dada en la DDBB

Taula 4.9: Resposta del sistema a la tasca ’Modificar alguna dada d’una persona usu`aria en concret’.

Acci´o de la persona usu`aria Resposta del sistema

mostrar les opcions de tipus de contactes seleccionar el contacte ‘grup’

mostrar els par`ametres del grup (nom, per exemple)

emplenar els par`ametres del grup

guardar els par`ametres i permetre afegir persones al grup

buscar les persones desitjades i afegir-les

guardar el grup amb el nom i les persones membres

Taula 4.10: Resposta del sistema a la tasca ’Crear un grup per tenir les persones participants de un Code Club en concret totes agrupades’.

Tasques del conjunt de rol ‘persona gestora de correus electr`onics’:

• Utilitzar la gesti´o de correus electr`onics (taula 4.11).

• Enviar un correu electr`onic a una persona usu`aria o col·lectiu en concret.

(taula 4.12).

• Enviar un correu electr`onic amb un format concret utilitzant una plantilla

(36)

(taula 4.13).

• Afegir una plantilla nova (taula 4.14).

Acci´o de la persona usu`aria Resposta del sistema

presentar les opcions dins la gesti´o de correu electr`onics

seleccionar l’opci´o que es desitgi

mostrar l’opci´o seleccionada

Taula 4.11: Resposta del sistema a la tasca ’Utilitzar la gesti´o de correus electr`onics’.

Acci´o de la persona usu`aria Resposta del sistema

mostrar la persona usu`aria/col·lectiu en concret que s’hagi cercat per a enviar el correu electr`onic

mostrar les accions que pot realitzar sobre aquella persona usu`aria/col·lectiu

seleccionar enviar correu electr`onic

mostrar els elements a emplenar del correu electr`onic

emplenar els elements

guardar els elements i enviar el correu a la persona/col·lectiu escollit

Taula 4.12: Resposta del sistema a la tasca ’Enviar un correu electr`onic a una persona usu`aria o col·lectiu en concret’.

Tasques del conjunt de rol ‘persona gestora de documents’:

• Utilitzar la gesti´o de documents (taula 4.15).

• Visualitzar els documents entregats per una persona usu`aria en concret (tau- la 4.16).

• Afegir la sol·licitud d’un document necessari, ja sigui pel conjunt de bibli- oteques o persones volunt`aries (taula 4.17).

(37)

Acci´o de la persona usu`aria Resposta del sistema un cop seleccionat la persona/col·lectiu

que volem enviar el correu electr`onic

mostrar l’opci´o de enviar correu electr`onic utilitzant una plantilla pr´emer l’opci´o

mostrar les plantilles disponibles seleccionar la plantilla desitjada

mostrar els elements de la plantilla seleccionada revisar els elements i pr´emer enviar

enviar el correu plantilla escollit a les persones/col·lectiu escollit

Taula 4.13: Resposta del sistema a la tasca ’Enviar un correu electr`onic amb un format concret utilitzant una plantilla’.

Acci´o de la persona usu`aria Resposta del sistema

mostrar l’opci´o d’afegir plantilla seleccionar l’opci´o afegir plantilla

mostrar els elements de la plantilla a emplenar seleccionar la plantilla desitjada

mostrar els elements de la plantilla seleccionada emplenar els elements de la plantilla

guardar la plantilla dins la DDBB Taula 4.14: Resposta del sistema a la tasca ’Afegir una plantilla nova’.

Acci´o de la persona usu`aria Resposta del sistema

presentar les opcions dins la gesti´o de documents seleccionar l’opci´o que es desitgi

mostrar l’opci´o seleccionada

Taula 4.15: Resposta del sistema a la tasca ’Utilitzar la gesti´o de documents’.

Per tenir una visi´o m´es completa de les tasques i casos d’´us definim un mapa per representar les relacions que tenen entre ells (figura 4.2).

En tercer lloc, per entendre com es desencadena una activitat extraescolar dins del projecte “Code Club a les Biblioteques” es modelitza el treball en forma de model de successi´o. On es fa una representaci´o que detalla les accions, el seu

(38)

Acci´o de la persona usu`aria Resposta del sistema un cop seleccionat la persona usu`aria

de qui volem visualitzar les documents

mostrar l’opci´o de mostrar els documents necessaris

escollir l’opci´o de mostrar el documents

mostrar els diferents documents carregats Taula 4.16: Resposta del sistema a la tasca ’Visualitzar els documents entregats per una persona usu`aria en concret’.

Acci´o de la persona usu`aria Resposta del sistema

mostrar l’opci´o d’afegir document necessari seleccionar l’opci´o d’afegir document

mostrar els par`ametres del nou document a emplenar

emplenar els par`ametres per un nou document

guardar el document a la DDBB

Taula 4.17: Resposta del sistema a la tasca ’Afegir la sol·licitud d’un document necessari, ja sigui pel conjunt de biblioteques o persones volunt`aries.

ordre, bucles , branques i trencaments i s’identifiquen triggers; desencadenants d’accions [1]. En el model de successions de la figura 4.3 s’il·lustra els passos que desencadenen l’inici de l’activitat extraescolar, i per tant, els passos que ha de realitzar el sistema creat mitjanc¸ant CiviCRM [1].

(39)

Figura 4.2: Mapa de casos d’´us amb les relacions d’especialitzaci´o, extensi´o, com- posici´o i afinitat.

(40)

Figura 4.3: Model de successi´o per a l’activitat extraescolar dins del projecte

“Code Club a les Biblioteques”.

(41)

4.2 Estudi de solucions

En aquest apartat es fa una s`erie de propostes com a soluci´o del problema i s’es- colleix la m´es adequada.

4.2.1 Estudi de tecnologies

En aquest subapartat es fa un estudi de les diferents tecnologies possibles per a complir els diferents objectius i requeriments de l’anterior apartat. Recordem l’especificaci´o del requeriment no funcional n´umero 4: pel que fa a la implemen- taci´o, caldria utilitzar preferiblement una tecnologia de codi obert, ´es a dir, de programari lliure i gratu¨ıta. A m´es, en concret, ´es proposa la utilitzaci´o d’un sis- tema de gesti´o de relacions amb clients, un CRM, que disposi d’una bona gesti´o de voluntariat i que funcioni sobre Drupal i sigui de codi obert.

Aix´ı doncs, en primer lloc, qu`e ´es un CRM? Una completa i bona definici´o de Customer Relationship Management ens la exposa Kincaid en el seu llibre [6]. Un CRM, o gesti´o de relacions amb clients, ´es l’´us estrat`egic d’informaci´o, processos, tecnologia i persones per gestionar la relaci´o del client amb la empresa (m`arqueting, vendes, serveis i suport) al llarg del cicle de vida del client. ´Es a dir, CRM inclou totes les funcions que toquen directament al client durant tota la seva vida en l’empresa; inclou funcions com m`arqueting, vendes, serveis al client i suport del producte. A m´es, es tracta d’un impacte estrat`egic, no pas, d’un impacte operacional, per tant, els beneficis s´on a llarg termini.

Amb aquesta definici´o de CRM queda evident que un CRM ´es el que demana la nostra necessitat. Amb la finalitat de gestionar tot all`o que es relaciona amb els clients i recopilar tot el coneixement dels clients en un sol sistema. En aquest cas, els clients s´on les persones volunt`aries i les biblioteques.

En segon lloc, el que ens interessa con`eixer s´on els diferents softwares CRM que estan en ´us. Donat que el sistema ha de ser gratu¨ıt i de codi obert, podem dividir els CRM en tres grups:

• CRM de propietat privada, per tant, s´on versions pagades i de codi privat.

• CRM de propietat lliure, per`o amb versions il·limitades de completa funci- onalitat.

• CRM de codi obert, i per tant, codi disponible i lliure.

El grup que interessa en aquest cas ´es el darrer, per`o abans, fem un cop d’ull al primer grup per a con`eixer els CRM m´es coneguts al mercat. Segons un estudi de Capterra en data de desembre del 20181 (un servei web que t´e com a objectiu

1https://www.capterra.com/customer-relationship-management-software

(42)

ajudar a les empreses a trobar solucions de software mitjanc¸ant revisions v`alides d’usuaris/`aries i investigacions independents a trav´es de centenars de categories de programari comercial) en el ‘top cinc’ segons els n´umero total d’usuaris i usu`aries tenim:

1. Zoho CRM - tot i que disposa d’una edici´o gratu¨ıta amb certes restriccions, es tracta d’una empresa de titularitat privada.

2. SAP CRM - no ´es gratu¨ıt t´e un preu de a partir d’uns $58 al mes.

3. Salesforce - no ´es gratu¨ıt t´e un preu de a partir d’uns 25eal mes.

4. OracleOracle Sales Cloud - no ´es gratu¨ıt t´e un preu de a partir d’uns $65 al mes.

5. Dynamics CRM - no ´es gratu¨ıt t´e un preu de a partir d’uns $115 al mes.

Ara s´ı, estudiem els CRM de codi obert. Centrem-nos primer, en la comparati- va de quatre estudis de CRMs de codi obert. Veiem una taula 4.18 comparativa entre: Par Research, una plataforma de descobriment B2B (business-to-bussines) que ofereix bones pr`actiques, guies de compra, revisions, classificacions, compa- racions, investigacions, comentaris i an`alisis de programari i serveis empresari- als2, ens dona el top ten de open source CRM software; Medium, una plataforma de periodisme social, amb una col·laboraci´o h´ıbrida de persones i publicacions aficionades i professionals3ens dona 8 alternatives open source al CRM Salesfor- ce (com hem vist, un CRM molt utilitzat) en l’any 2017; OpenSource, on Scott Nesbitt, un usuari de programari lliure de codi obert durant molt temps i escriptor de diversos blogs4 ens dona el top sis de les open source CRM durant el 2016;

i CrmSearch, on Chris Bucholtz, comercialitzador de continguts, especialista en relacions d’analistes, editor i escriptor; i acutalment centrat en CRM i Business Finance5ens ofereix el top ten de sistemes CRM open source.

Per tant, dels CRM de programari lliure, destaquen: CiviCRM, Espo CRM, Fat Free CRM, Suite CRM i Vtiger. D’aquests, vegem a la taula 4.19 quins complei- xen els requeriments per complet, per tant, quins disposen d’una bona gesti´o de voluntariat i d’una funcionalitat sobre Drupal.

Finalment, CiviCRM ´es el sistema que s’adapta a la nostre necessitat i, per tant, compleix els requeriments i ens ser`a ´util per aconseguir els objectius de manera satisfact`oria.

2https://www.predictiveanalyticstoday.com/top-free-open-source-crm-software/

3https://medium.com/@sunawang/8-open-source-crm-alternatives-to-salesforce- 215059cbf8b5

4https://opensource.com/business/16/2/top-6-open-source-crm-tools-2016

5http://www.crmsearch.com/top-10-open-source-crm-systems.php

(43)

Comparativa /

CRM Par Research Medium OpenSource CRMSearch

Bitrix24 - 2 - -

CentraView - - - 8

CiviCRM 8 7 x 10

Compiere - - - 6

Epesi 5 - - -

Espo CRM 7 5 x -

Fat Free CRM 9 8 x -

Odoo CRM 3 - - -

Opentaps - - - 7

Oro CRM - 6 x -

Splendid CRM 10 - - 3

Sugar CRM 2 - - 1

Suite CRM 4 1 x -

Vtiger 1 3 - 2

X2CRM 6 - - -

XRMS - - - 9

Xtuple - - - 4

Zurmo - 4 x -

Taula 4.18: Comparativa open source CRM, en groc els que han aparegut en tres o m´es dels quatre estudis.

CRM /

Requeriment CiviCRM Espo CRM OpenSource CRMSearch

Gesti´o de

voluntariat S´ı No No espec´ıficament No

Funcionalitat

sobre Drupal S´ı S´ı, t´e una extensi´o

per a CMS Drupal 7 No No

Taula 4.19: An`alisi del compliment dels requeriments, en groc el que compleix tots els requeriments.

4.2.2 Tecnologia escollida

Despr´es de comparar i fer un balanc¸ de les possibles tecnologies ha utilitzar, Ci- viCRM ´es la m´es adecuada en aquest projecte.

Per una banda, perqu`e ´es la sorgida de l’estudi de tecnologies i per tant, la que s’espera que s’adapti millor a la necessitat del projecte. Per altra banda, hi ha moltes altres raons per confiar i escollir CiviCRM.

(44)

CiviCRM ofereix suport mitjanc¸ant la seva pr`opia viquip`edia, anomenada Ci- viCRM Documentation6i un llibre en l´ınia7on hi pots trobar documentaci´o per a administradors/ores, usuaris/`aries i desenvolupadors/ores. En concret, tamb´e ofe- reix suport per als desenvolupadors. Els desenvolupadors s´on aquells que volen modificar o ampliar el nucli del programari que l’equip de CiviCRM distribueix i mant´e. Aquests disposen de recursos en l´ınia, un canal de xat IRC (Internet Re- lay Chat)8que proporciona conversa en temps real, un f`orum anomenat CiviCRM Stack Exchange9, que pot donar suggeriments per a solucions simples; entre d’al- tres f`orums addicionals de suport10, i esdeveniments peri`odics de formaci´o com CiviCon (conferencies), un cop a l’any el CiviDay o ’CiviCRM meet-up groups’.

Tamb´e disposa d’una iniciativa iniciada l’agost del 2010 anomenada Make It Hap- pen (MIH); aquesta ha ajudat a donar suport a molts usuaris/`aries i consultors/ores per a diverses noves funcions. El programa funciona quan una organitzaci´o defi- neix les especificacions i el pressupost requerit d’una duna funcionalitat. L’orga- nitzaci´o s’encarrega de buscar patrocini i suport i finalment es comenc¸a a treballar i incorporar la funcionalitat en el programari b`asic per a que tothom se’n pugui beneficiar.

CiviCRM ´es un gestor utilitzat per moltes empreses, i per tant, fiabilitat per part de les empreses. Empreses sense `anim de lucre, com Amnist´ıa Internacional o la caritat de recerca de c`ancer de sang de del Regne Unit, Bloodwise.

Radio Televisi´o Espanyola ja el 2014 posava `emfasis en CiviCRM en la seg¨uent not´ıcia11 on destaca que “qualsevol usuari amb coneixements mitjans o avanc¸ats en inform`atica es capac¸ de utilitzar-lo”, que “existeix una amplia co- munitat que millora i desenvolupa el software - tenen un gestor de incidencies-, pots trobar videotutorials i guies per aprendre a utilitzar-lo” i que “potser molts dels dubtes que es presentin a l’usuari ja est`an resposts en el foro de la comunitat CiviCRM”.

CiviCRM ´es un sistema textbfutilitzat en la nostra zona geogr`afica, l’empresa Ixiam12 ´es una consultoria tecnol`ogica de Barcelona on realitzen eines de codi obert amb entitats que busquen generar un impacte social i ho fan amb CiviCRM.

Tot seguit, una descripci´o i explicaci´o de la tecnologia que s’utilitza. Tenim, per una banda, Drupal, necessari per a la instal·laci´o de CiviCRM; i per l’altre, el propi CiviCRM.

6http://wiki.civicrm.org

7https://docs.civicrm.org

8http://freenode.net

9https://civicrm.stackexchange.com

10http://forum.civicrm.org

11http://www.rtve.es/noticias/20140130/civicrm-herramienta-software-libre-ayuda-ong- gestionar-datos/865740.shtml

12https://www.ixiam.com/es

(45)

Drupal

Drupal13 es un sistema de gesti´o de contingut (Content Management System), modular, gratu¨ıt i de codi obert, escrit en PHP. Permet construir diferents formats de p`agines web, adaptant-se a les necessitats particulars de cada cas.

Com s’ha dit, Drupal ´es un sistema modular; ´es a dir, consta de m`oduls, que afegeixes segon convingui. Els m`oduls s´on elements que permeten afegir noves funcionalitat a Drupal per adaptarlo a les necessitats de cada lloc web; s´on plu- guinsque amplien les funcionalitats. Els m`oduls es divideixen en dos grans grups:

els Core Modules, que venen per defecte a Drupal; i els Contributed Modules, que no venen per defecte i s´on desenvolupats per la comunitat que dona suport a Dru- pal. En aquest projecte, CiviCRM ´es el m`odul utilitzat per excel·l`encia de Drupal;

entre d’altres que s’aniran describin en pr`oxims cap´ıtols.

CiviCRM

CiviCRM14 es tracta d’un gestor de relacions amb clients (Custom Relationship Management) de codi obert constru¨ıt com un m`odul de CMS i es por utilitzar amb totes les plataformes CMS de codi obert principals, com ara Drupal. Est`a basat en web i dissenyat per gestionar informaci´o sobre els membres i donants, registrar esdeveniments, gesti´o de correu electr`onic, entre d’altres: a m´es, ´es utilitzat, en especial, per organitzacions sense `anim de lucre. CiviCRM est`a constru¨ıt utilit- zant PHP, Smarty, jQuery and JavaScript pur, i es connecta a una base de dades MySQL.

Per entendre millor qu`e ´es CiviCRM, cal destaca el concepte de Constitu- ent Relationship Management (CRM), que ´es l’equivalent sense `anim de lucre de Customer Relationship Management. Com s’explica en el llibre de [5] CRM ´es el conjunt de processos i tecnologies de suport utilitzades per iniciar i millorar les relacions amb els components. La gesti´o de relacions amb els components impli- ca tots els fluxos de treball, processos i informes que una organitzaci´o utilitza per aconseguir els seus objectius.

CiviCRM agrupa diferents caracter´ıstiques com podem observar en la figura 4.4 i, a continuaci´o, una breu descripci´o de cadascuna d’elles.

• La gesti´o de contactes permet emmagatzemar autom`aticament totes les da- des de contacte en un sol lloc, creant un registre unificat i complet per a cada component.

• CiviCRM ´es configurable i personalitzable. La llic`encia de codi obert de

13https://www.drupal.org

14https://civicrm.org

(46)

Figura 4.4: Caracter´ıstiques m´es destacades de CiviCRM; en blau aquelles que s’utilitzen en el projecte (blau fosc com a requeriment principal, blau clar com a requeriment secundari)

(47)

CiviCRM permet trobar un programador adequat per adaptar-la a una ins- tal·laci´o espec´ıfica a les necessitats de cada empresa.

• La gesti´o de membres permet a les persones f´ısiques registrar-se i pagar la seva membres´ıa en l´ınia, rebre avisos autom`atics de renovaci´o de membres i rebre correus electr`onics nom´es per membres.

• La integraci´o de comptes permet exportar totes les transaccions financeres i importar-les al programari de comptabilitat.

• La gesti´o de casos permet a les organitzacions crear, gestionar i realitzar un seguiment de fluxos de treball senzills o sofisticats de gesti´o de casos. Per exemple, registrar els resultats d’una conversa telef`onica amb un compo- nent.

• La gesti´o d’esdeveniments proporciona un conjunt complet d’eines per exe- cutar esdeveniments i registrar l’assist`encia d’un component en el seu regis- tre d’activitat.

• El m`arqueting per correu electr`onic permet crear i gestionar llistes de correu massives. Tamb´e permet segmentar les llistes, fer proves i controlar les estad´ıstiques.

• La gesti´o de la contribuci´o permet provar i fer un seguiment de les contribu- cions, enviar informes sobre les dades en un proc´es de flux de treball elegant i intu¨ıtiu.

• CiviCRM permet crear campanyes de promoci´o i rastrejant el progr´es dels esdeveniments, enviaments, activitats i contribucions d’una campanya.

• La recaptaci´o de fons entre iguals permet als membres i donantes poder obtenir fons en nom de la pr`opia organizaci´on a trav´es de campanyes per- sonals.

• CiviCRM permet crear informes triant un dels 40 informes est`andrd o con- figurant i creant-n’he un de personalitzat per avaluar l’impacte de l’organit- zaci´o.

• CiviCRM ´es pot integrar amb els seg¨uents CMS: Drupal, Wordpress i Jo- omla.

Com exposa Tereso en el seu recull de sistemes de codi obert de CRM per a petites i mitjanes empreses, i relacionat amb les caracter`ıstiques de CiviCRM; el sistema inclou uns components opcionals que proporcionen un millor servei de suport a

(48)

Figura 4.5: Mapa conceptual dels diferents components que disposa CiviCRM, en lletra de color negra els que s’utilitzen (CiviCase i CiviEvent potser (segon requeriment) i en blanc els que no.

(49)

les persones usu`aries [11]. En la figura 4.5 seg¨uent les tenim representades amb algunes de les seves funcionalitats.

A banda, cal donar especial `emfasis a l’extensi´o CiviVolunteer que ofereix CiviCRM; per ara no s’utilitzar`a, ja que no disposa de tanta documentaci´o com la resta; per`o es tindr`a en compte per m´es endavant.

(50)

Cap´ıtol 5

IMPLEMENTACI ´ O

En aquest cap´ıtol es veu detalladament com s’ha implementat el disseny esmentat anteriorment. Aquest s’ha fet seguint les pautes que podem trobar a la web de CiviCRM i amb l’ajut de desenes de v´ıdeo tutorials que hi ha per Internet, tant en p`agines oficials de CiviCRM com a Youtube.

Per una banda, hi ha un an`alisis del elements necessaris a nivell de sistema per a qu`e funcioni i, per altra banda, una mostra en detall del funcionament del sistema una vegada implementat (separat en els tres apartats de gesti´o).

Pel que fa els elements necessaris per a que el sistema pugui funcionar, equiva- len als requeriments d’instal·laci´o del sistema, el qual ´es CiviCRM. Es poden veu- re en la figura 5.1. Aix´ı doncs, el sistema creat utilitza el servidor extern i-MSCP

Figura 5.1: Mapa conceptual dels diferents elements necessaris per al bon funci- onament de CiviCRM.

(51)

(Internet Multi Server Control Panel)1. Aquest ´es un projecte de codi obert que permet la gesti´o d’entorns d’allotjament compartit en servidors Linux. Proporcio- na, per una banda, un interf´ıcie d’usuari web, tant per administrador, distribu¨ıdor i clients i, per altra banda, una gesti´o de servidors sense cap intervenci´o manu- al, com ara MySQL o MariaDB. Aquest servidor ´es propietat del gestor de Code Club: Colectic. En aquest servidor cal instal·lar el programari, Drupal i CiviCRM.

Un cop feta la instal·laci´o ´es necess`aria una configuraci´o inicial. Aquesta, per`o, no ´es definitiva, ja que a mesura que es van fent implementacions aquesta con- figuraci´o s’ha d’anar retocant. Alguns dels par`ametres de la configuraci´o inicial s´on:

• Selecci´o dels components que volem utilitzar; inicialment, CiviMember i CiviMail.

• Personalitzaci´o del men´u de prefer`encies.

• Definici´o de les prefer`encies alhora de fer cerques en el buscador.

• Configuraci´o de la p`agina inicial de CiviCRM, anomenada Dashboard.

• Configuraci´o de l’adrec¸a de correu electr`onic principal on s’enviar`a c`opies de cadascun dels correus que s’envi¨ın.

A m´es, el sistema creat tamb´e disposa d’una BBDD i un correu electr`onic corpo- ratiu,que s´on proporcionats per Colectic.

Abans d’entrar en detall en com s’ha desenvolupat cada una de les tres gesti- ons (persones usu`aries, correu electr`onic i documents) coneixem a nivell general l’entorn on ´es treballa; CiviCRM i Drupal. La pantalla inicial de Drupal cont´e una barra superior que permet crear continguts de la web i modificar-los, una segona barra personalitzable amb dreceres, una capc¸alera amb el men´u dels diferents con- tinguts creats per a la web i el cos on veiem l’element escollit en el men´u (vegeu figura 5.2).

Per altra banda, la pantalla inicial de CiviCRM ´es similar a la de Drupal, per`o la barra superior cont´e aquells elements que possibiliten la gesti´o de contactes (Contacts), de correu electr`onic (Mailings), d’administrador (Administer) i ajuda (Support) (vegeu figura 5.3).

Ara veiem com s’ha desenvolupat el sistema per a cada gesti´o: la gesti´o de persones usu`aries, la gesti´o de correu electr`onic i la gesti´o de documents.

1https://sourceforge.net/projects/i-mscp/

(52)

Figura 5.2: Dibuix esquem`atic de la pantalla inicial de Drupal.

Figura 5.3: Zoom en la pantalla inicial de CiviCRM.

5.1 Gesti´o de persones usu`aries

Els elements que calen en l’apartat de gesti´o de persones dins de CiviCRM s´on:

• Dos formularis d’inscripci´o, un per les biblioteques i un altre per les perso- nes volunt`aries i/o estudiants.

• Una base de dades amb totes les persones usu`aries.

Aix´ı doncs, pels formularis d’inscripci´o ´es necessari afegir el m`odul Webforms a Drupal. Aquest m`odul t´e moltes funcionalitats, entre elles, i les que utilitza el sistema, ´es poden dividir en tres grans grups: de connectivitat, de configuraci´o i de correu electr`onic.

(53)

En quant la connectivitat; permet crear el formulari amb connexi´o a CiviCRM, per a guardar les dades al sistema i a la nostra base de dades connectada amb aquest autom`aticament.

En quant la configuraci´o del formulari; facilita la creaci´o de formularis amb dades i estructura predeterminades, permet personalitzar la informaci´o web un cop completat i enviat el formulari; per exemple un missatge d’agra¨ıment, i permet guardar un registre dels formularis complerts accessible des del mateix contenidor on s’ha creat el formulari.

En quant a correu electr`onic (i per tant, millora la gesti´o de correu electr`onic plantejada pel projecte), permet generar un correu de electr`onic al destinatari de- terminat encarregat de la gesti´o de Code Club Catalunya per a que pugui tenir un registre a la b´ustia de correu de qui s’ha registrat i les dades que ha introdu¨ıt.

Tamb´e permet generar un correu electr`onic a l’usuari que completa el formula- ri amb la finalitat de agrair-li la inscripci´o o informar-lo dels seg¨uents passos o avisos. En personalitzar cadascun dels formularis (formulari d’inscripci´o del vo- luntariat i de les biblioteques), aquests queden com podem veure en l’annexA.1.

Un cop l’usuari ha omplert el formulari les seves dades es guarden en una fitxa pr`opia d’usuari dins de CiviCRM de la forma com es veu en l’annexA.2.

Finalment, en la mapa conceptual de la figura 5.4 podem veure les relacions amb qu`e es guarden les dades introdu¨ıdes. En primer lloc, una persona usu`aria dins el sistema s’anomena ’contacte’. Un contacte pot ser de dos tipologies, o de tipus ’organitzaci´o’, i per tant, s´on les nostres persones usu`aries biblioteques, o de tipus ’individual’, que s´on les nostres persones volunt`aries. En segon lloc, el sistema t´e tres tipus de dades per a guardar en cada tipologia: tags, dades perso- nalitzades o relacions. Aquests tres tipus de dades han estat utilitzades com m´es han convingut. Aix´ı doncs, tenim un tag tipus disponibilitat hor`aria i un tag tipus persona activa, tenim una relaci´o tipus ’interessat en’ i unes dades personalitzades guardades en quatre grups: tipus ’formulari biblioteca’, tipus ’formulari volunta- riat, tipus ’experi`encia i coneixements previs’ i tipus ’drets d’imatge i protecci´o de dades personals’. Finalment, totes aquestes dades amb la tipologia corresponents es guarden en el contacte corresponent un cop enviat el formulari d’inscripci´o.

5.2 Gesti´o de correu electr`onic

Pel que fa a la gesti´o de correu electr`onic, ja tenim del l’apartat anterior els cor- reus electr`onics autom`atics de confirmaci´o d’inscripci´o que s’envien a la gesti´o de Code Club i al usuari inscrit. Ara cal enviar correus per les agrupacions, esmen- tades en el requeriment 2; i generar plantilles de correus electr`onics per a facilitar la redacci´o de cadascun d’ells i crear una l´ınia comuna.

Per una banda, les agrupacions per a enviar correus a un conjunt de persones

(54)

Figura 5.4: Relacions de la BBDD que guarda les dades dels contactes.

(55)

usu`aries es poden fer mitjanc¸ant la zona de cerca d’aquestes. Aix´ı doncs, acotar la cerca segons convingui. Des de la cerca avanc¸ada podem mostrar les persones usu`aries que pertanyen a un mateix grup: que tinguin la mateixa disponibilitat hor`aria o prefer`encia de formaci´o obligat`oria, persones beneficiades amb cr`edits universitaris, persones que estudien en una mateixa universitat; i tamb´e altres cer- ques per: nom, correu electr`onic, adrec¸a, localitat, etc. Un cop feta la cerca nom´es cal seleccionar aquelles persones usu`aries que volem enviar el correu electr`onic i emplenar el que ens demana el sistema en refer`encia al correu electr`onic. El sistema emplena per defecte l’origen i el dest´ı del correu electr`onic, i permet es- collir una plantilla (que pots modificar al moment) o escriure un correu nou. A m´es, permet afegir-hi documents adjunts (figura 5.5). En quant a l’estructura del correu electr`onic, el correu electr`onic es pot escriure en format HTML o format de text pla.

Per altra banda, les plantilles de correus electr`onics necess`aries s´on les esmentades a la taula 5.1.

Tipus de correu

electr`onic Destinatari Freq¨u`encia

Informar de coincid`encia Persona volunt`aria i biblioteca en concret

Cada vegada que hi hagi un possible Code Club donada la coincid`encia entre la disponibilitat i posici´o geogr`afica de persona volunt`aria i biblioteca Informar de formaci´o pr`evia Voluntariat Quan hi hagi una formaci´o Confirmar entrega certificat

antecedents delictes sexuals Voluntariat i biblioteques Quan h`agim rebut el correu de confirmaci´o

Sol·licitar un document Voluntariat i biblioteques En el proc´es de formalitzar l’activitat extraescolar Taula 5.1: Llistat de plantilles de correus electr`onics necess`aries

A la figura 5.6 observem com es guarden el llistat de plantilles dins del sistema.

I en la figura 5.7, un exemple de la maquetaci´o d’un correu electr`onic.

5.3 Gesti´o de documents

L’entrega de documents es fa mitjanc¸ant el mateix m`odul de formulari que en la gesti´o de persones usu`aries. En l’annexA.3 veiem el formulari de Documentaci´o necess`aria de les biblioteques i del voluntariat. Com en el cas de la inscripci´o

(56)

Figura 5.5: Captura de pantalla dels diferents formats en que es pot escriure un correu electr`onic i de la opci´o per a adjuntar un fitxer.

(57)

Figura 5.6: Captura del llistat de plantilles de correu electr`onic del sistema.

(58)

Figura 5.7: Captura d’exemple missatge ’Av´ıs de formaci´o pr`evia’.

(59)

de les persones usu`aries, els documents tamb´e es guarden en la base de dades, ho veiem en l’annexA.4 i; en el mapa conceptual de la figura 5.8 veiem la rela- ci´o amb qu`e es guarden aquestes dades dins del sistema. S’utilitza la tipologia

’dades personalitzades’ com en l’apartat de gesti´o de persones usu`aries i s’agru- pen en tipus ’documentaci´o necess`aria de les biblioteques’ i tipus ’documentaci´o necess`aria del voluntariat’.

(60)

Figura 5.8: Relacions de la DDBB que guarda les dades dels documents.

(61)
(62)

Cap´ıtol 6

PRIMERA AVALUACI ´ O

En aquest cap´ıtol hi ha una primera avaluaci´o, de modalitat ’q¨uestionari en l´ınia i reuni´o’, del sistema i seguidament, com a conseq¨u`encia, una descripci´o de les millores a introduir en el sistema atesos els resultats.

6.1 Avaluaci´o modalitat q ¨uestionari en l´ınia i reuni´o

Per una banda, es fa una primera avaluaci´o de la implementaci´o amb la finalitat de analitzar si es compleixen els requeriments i objectius esmentats en el cap´ıtol 2 i detectar els possibles errors i millores.

Aquesta primera avaluaci´o consta de dues parts; un q¨uestionari en l´ınia men- tre es visiona una gravaci´o de les diferents funcions del sistema , i una reuni´o.

L’avaluaci´o t´e com a finalitat obtenir informaci´o sobre l’opini´o, experi`encies, ex- pectatives o millores respecte a l’implementaci´o inicial, per tant, el q¨uestionari i la reuni´o es faran als stakeholders (coordinadora de Code Club i tutora del treball), ja que s´on elles qui coneixen el sistema actual, les seves limitacions i les necessitat que en manquen.

Aix´ı doncs, en aquesta reuni´o les stakeholders manifestaran la seva visi´o i cr´ıtica sobre el sistema. Per a poder treure tot el profit possible de la reuni´o;

entre 3 o 4 dies abans les stakeholders reben el q¨uestionari amb l’enllac¸ al v´ıdeo1 (vegeu annexA.5)

6.2 Resultats: descripci´o de les millores

Un cop realitzat el q¨uestionari en l´ınia i recollides les respostes (vegeu annexA.6), en les seg¨uents figures hi ha un llistat de les millores i modificacions que s’han

1https://forms.gle/ENADyzDPAKLDnQCS6

Referencias

Documento similar

Consecuentemente, en el siglo xviii hay un cambio en la cosmovi- sión, con un alcance o efecto reducido en los pueblos (periferia), concretados en vecinos de determinados pueblos

La combinación, de acuerdo con el SEG, de ambos estudios, validez y fiabilidad (esto es, el estudio de los criterios de realidad en la declaración), verificada la

If certification of devices under the MDR has not been finalised before expiry of the Directive’s certificate, and where the device does not present an unacceptable risk to health

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun