This is a list of potential projects students participating in Google's Summer of Code program might be interested in working on. Ideas should be submitted with enough detail that a student interested in the project could create a full proposal for the project.
It is important to get in touch with the community well in advance. A very thorough guide for students preparing for the selection process (not specific to CiviCRM)
Potential Development Mentors
Xavier Dutoit (GSoC Organization Admin) - I'm Xavier from tech to the people, xavier on civicrm, and tttp on github and drupal.org. My main areas of expertise are online campaigning and dataviz. I'm interested in mentoring projects that focus on dataviz (d3/dc) and civicampaign. I'm based in Europe. I speak french and english.
Tim Otten - I'm totten on civicrm.org, IRC, Github, and drupal.org. I'm one of the core developers for CiviCRM. My main interest is making it easier to develop with CiviCRM. My CiviCRM work has included overhauling the extension framework as well as development of the "civix" tool, the graphical form designer (and other Backbone-based UIs), the continuous-integration infrastructure, and the CiviHR suite of extensions. I live in San Francisco and speak only English.
Parvez Saleh - I'm Parvez from Veda Consulting. My main areas of expertise are CRM's for Not for Profits, in particular integration with financial systems and mapping business processes to CRM workflow. My primary interest is to ensure that charities are not restricted to closed source only systems for their CRM needs, ensuring that CiviCRM is a viable alternative to the traditional closed source systems. I'm interested in mentoring projects that focus around Donor Journeys in CiviCRM, integration with third party systems and drupal rules / maestro + civicrm. I'm based in the UK, in the USA during CiviCon SF, available online most of the time. I speak english, hindi and gujarati.
Kurund Jalmi - I'm kurund on civicrm, drupal.org, irc, github and most other channels. I'm one of the core developers for CiviCRM. My primary interest is to improve overall UI and usability in CiviCRM and make a it simple and easy to use by non-technical users. I'm also interested in mentoring projects that improve Civi's core capabilities, migrating Civi to use Symfony and Doctrine. I live in Mumbai and speak english, hindi, konkani and marathi.
Brian Shaughnessy - I'm from Lighthouse Consulting & Design and am a CiviCRM geek. I write code, fix things, argue with the core team – but always end the argument with a compliment, write books, and am currently #10 on the CiviCRM github commit contributors list. I am based in Albany, NY, and I speak English, PHP, and CiviCRM. I was a GSOC mentor for the Joomla project a few years back, so I have some experience with how things work. I just wish I could get my name to blink, but I guess they disabled that html element.
Mark Hanna - I'm Mark, Senior Developer at Skvare, jackrabbithanna on civicrm.org and irc, and markusa on drupal.org. My main areas of expertise are custom development solutions for Drupal and CiviCRM, and site-building techniques for the implementation and integration of CiviCRM and Drupal. Based in Dallas, TX and I speak English.
Peter Petrik - I'm Peter from Skvare, Slovak on civicrm.org, irc, and drupal.org. I bridge the worlds of business and technology. Technical to get into custom code, and business savvy to see the big picture and lead client organizations to successful CiviCRM implementations. I am based in Dallas, TX and I speak English.
Eileen McNaughton - I'm Eileen from Fuzion. I have contributed a fair amount of code to core with my involvement in the v3 API being the most well known area. I have also been heavily involved in extending testing within CiviCRM and support a couple of Drupal integration modules. I am interesting in making the logic inside CiviCRM less tightly coupled with the existing forms to allow more developer flexibility and make CiviCRM better able to adopt change. I am based in Whangarei, New Zealand and I speak English.
Nicolas Ganivet - I'm Nicolas from Cividesk. I am an active contributor to CiviCRM, a founder and key contributor to the LTS version, and also do maintain a Standalone distribution for my customers. I have created numerous extensions for CiviCRM including the Google Apps Sync, Constant Contact Sync, Normalize and many others. I live in Denver, Colorado and speak English and French.
Joe Murray - I'm Joe from JMA Consulting. I have contributed some code to core, and supervised developers who have made major contributions to core especially in accounting. I've worked with my developers to develop CiviCRM extensions for small usability improvements, large functionality enhancements (grants), and integrations with other products (Mandrill, soon attentive.ly). I also write books with Brian like Using CiviCRM and help political campaigns and non-profits achieve their missions. I'm interested in mentoring projects in the areas of accounting (contributions/memberships/events/grants), large data migrations, VOIP integration, automated installs of customized versions of CiviCRM, and other cool and useful things. I am fluent in English and SQL, and get by in French and many programming languages.
Andrew Walker - I'm Andy, Senior Developer at Circle Interactive (andyw on the forums). We are based in Bristol, UK, specialize in Drupal / CiviCRM, and work with a variety of commercial and third sector organizations. I've written several extensions for CiviCRM, in particular for Sagepay and, more recently, for Bitcoin payments, contribute patches and code to core, and have worked with Eileen from Fuzion on an early version of her Xero accounts integration.
Kevin Reynen - I'm kreynen on Drupal.org, CiviCRM.org, IRC, and Github. My expertise has been primarily in Drupal modules that improve CiviCRM integration including: CiviCRM Cron, CiviCRM Multiday Event, and CiviCRM Certify. I am less interested in Drupal lately, but would love to mentor a students on a project related to CiviCRM and Backdrop (a Drupal fork aimed at smaller orgs who can't afford the Drupal 8 upgrade).
Björn Endres - I'm Björn from SYSTOPIA. We're a consulting agency based in Germany, determined to make Not-for-Profits and NGOs work better, smarter and more efficiently. In this mission, CiviCRM has been a key component right from the beginning. And since a lot of things in Germany (and indeed many other countries) work differently than in the Anglo-American world, we've got years of experience customizing and tweaking CiviCRM and building extensions. I'm looking forward to helping CiviCRM to advance even more. I speak English, German and Spanish.
Jaap Jansma - I am Jaap from CiviCooP. CiviCooP is a an cooperative organisation where we work together on CiviCRM projects. We are based in the Netherlands and work mainly for Dutch and Belgium clients. I am a CiviCRM developer and consultant and love to work with organisations who are implementing CiviCRM for their day-to-day job. What I also like is the fact with the non-profits we work for in the end we all try to make the world a better place to live in. I am looking forward to mentor or co-mentor a student for Google Summer of Code.
Erik Hommel - I am Erik from CiviCooP. CiviCooP is a cooperative organisation where a bunch of people work together on CiviCRM projects. We are based in the Netherlands and work mainly for Dutch and Belgium clients. I am a CiviCRM developer and consultant and have worked with CiviCRM since 2009. With CiviCooP we have created a couple of CiviCRM extensions like CiviRules which you can find on the CiviCRM extensions directory. You can find me on GitHub (https://github.com/ErikHommel) and in the CiviCRM community. I speak English, Dutch and German. I am looking forward to mentor or co-mentor a student for Google Summer of Code, and hope for the Zapier-CiviCRM integration project!
Michael McAndrew - I am the community manager for CiviCRM. In a previous life, I used to run a small CiviCRM consultancy and have worked on 50+ CiviCRM projects. I also have a strong interest in improving our documentation. I code from time to time and am pretty familiar with most of CiviCRM (the product and the community). I would love to grow the size and involvement of our community. I am into farming and growing food. I live in Spain and speak Spanish, English, Dogish, Catish and Goatish, etc.
Karin Gerritsen - KarinG - I'm a CiviCRM consultant/developer with Semper IT based out of Calgary, Canada. I've contributed bug fixes to CiviCRM Core and I'm a co-author/maintainer on two major CiviCRM extensions: Canadian TaxReceipts and iATS Payments integration. I have a lot of experience mentoring students. I've supervised Graduate Students (Ph.D. and M.Sc.), I have served on a number of Graduate committees - and I've worked with a number of Undergraduate students as well. I'm looking forward to working with a GSOC student preferably based in Canada.
Guanhuan Chen - I'm Product Owner/Developer with Compucorp Ltd. I am an active contributor to CiviCRM and relevant modules and extensions. As product owner, I have been leading a few client projects through different phases including scoping, development and timeline management. As a developer, I have contributed a few compatibility implementations and major fixes to the core and Webform CiviCRM regarding accounting and invoice as well as various of other bits and pieces.
Matt Lind - I'm Matt, a Product and Project Manager from Compucorp, a London based Civi and Drupal agency. I have years of Project Management under my belt striving to ensure that our clients are always happy with the end product, and that we're building relationships and solutions that benefit the CiviCRM community. I love CiviCRM and don't mind getting my hands dirty in code every now and again (although my code knowledge is certainly limited!). I'm based in London and speak English.
Mathieu Lutfy - Developer at SymbioTIC.coop (Montreal, Quebec), I also help out with translation and infrastructure/server issues of CiviCRM. I speak French and English. I am bgm on IRC.
Chris Burgess - Developer at Fuzion (Dunedin, NZ). I'm a CiviCRM contributor and mentored for GSoC 2015. My interests are UX, security, decoupling of the existing forms layer, and integrations. I'm based in NZ, so my timezone is Pacific/Auckland. I'm xurizaemon on IRC.
I. Jagatheesan Pillai - I'm a Google Student Ambassador Alumnus. At CiviCRM, I volunteer as an Android end point for the platform. I created Cividroid - A CiviCRM companion on Android! as a GSoC 2015 project. Got some screenshots, documentation and video showing Cividroid in action, on the forum.
IF YOU MEET THE MENTOR QUALIFICATIONS AND ARE INTERESTED IN PARTICIPATING, PLEASE ADD YOURSELF HERE
Potential Organizational Mentors
These people will act as official or unofficial co-mentors of the project. If a project idea is coming from an organization without a developer on staff, ideally they would volunteer time to help manage project scope, usability testing etc.
Owen Bowden - I'm the Insight Manager for the blood cancer charity, Leukaemia & Lymphoma Research. I manage the largest CiviCRM installation in the UK. We are active community members and contribute code and functionality back the the core project. I can advise on real world applications of projects and how they can make a difference to NGOs and charities. I'm in London on GMT time and speak English.
John Sullivan - (this is John's bio from the Free Software Foundation website, here ) - "John started working with GNU Press and the Free Software Foundation in 2003 and then became the FSF's first Campaigns Manager, working on outreach efforts like Defective by Design, BadVista, and PlayOgg. In 2011, John became the Executive Director after four years as Manager of Operations. His background is mainly in the humanities, with an MFA in Writing and Poetics and a BA in Philosophy, but he has been spending too much time with computers and online communities since the days of the Commodore 64. He's become a dedicated GNU Emacs user after first trying it around 1996, and contributes code to several of its extensions. Prior to the FSF, John worked as a college debate team instructor for both Harvard and Michigan State University."
Lesley Parton - I'm the civi admin for the Conservation Council of South Australia and a few other non profits. Many of them are looking longingly at other solutions with better social network integration and easier interfaces (eg Nation Builder and Causevox), particularly for campaigning and peer to peer fundraising - but I love Civicrm! I'm happy to help in any way I can with the Social Media Integration, Mail Blast and Bootstrap projects.
I'm in Adelaide on GMT +9.5 and speak English and Australian.
Joe McLaughlin - I'm joemcl on github and IRC, and Joe McLaughlin on civicrm.org. I'm the data geek and CiviCRM admin for Citizen Action of New York, a multi-issue progressive (meaning, on the 'left/liberal' side of the political spectrum in US terms) advocacy organization based in Albany, New York, USA. See this for more information about Citizen Action. I'm not (yet) really a developer, but am an informed and experienced data guy from my work experience as an organizer and researcher for various progressive causes and many campaigns. I'm an end-user, admin, trainer and rookie developer of Citizen Action's CiviCRM installation. I'm most interested in CiviCRM interoperability and co-mentoring the Open Supporter Data Interface Implementation project (under Projects, to the right -> ). I'm a native English speaker (well, New Jersey American English).
IF YOU MEET THE CO-MENTOR QUALIFICATIONS AND ARE INTERESTED IN PARTICIPATING, PLEASE ADD YOURSELF TO THE LIST ABOVE
IF YOU ARE A POTENTIAL MENTOR OR REPRESENT A CO-MENTORING ORGANIZATION AND HAVE A PROJECT IDEA, PLEASE ADD IT HERE. IF YOU ARE A STUDENT PLEASE DISCUSS POTENTIAL IDEAS IN THE CIVICRM GSoG FORUM OR #civicrm ON irc.freenode.net.
These are ideas for projects suggested by potential mentors or members of the CiviCRM community. Potential GSoC students are free to propose projects that are not on this list, but will need to work with the community to find a qualified mentor for the project.
Improve multi-lingual scalability
Themes: Translation, Internationalisation, Database architecture
Potential Mentor: Mathieu Lutfy (primary), Xavier Dutoit (for client testing)
When organisations operate in multiple languages and have public-facing forms available in multiple languages, CiviCRM has to be switched to "multi-lingual mode". This makes it possible to translate custom field labels, contribution page titles, etc, into more than one language. However, the current database model is made in a way that only makes it possible to use up to 3 languages. We are looking to change the database model to a more scalable one.
Technically, the current database model uses one big table per entity, with an extra column for each language (ex: civicrm_contribute.title_en_US). A MySQL "view" is then created to simplify database queries (civicrm_contribute_en_US.title). The model needs to be flipped around: an extra table for each language. We also need to provide an upgrade mechanism for existing sites.
responsive layout for emails
Themes: UI, responsive html5
The system messages (eg confirmation for an event registration, donation receipt, opt-in email...) look..., well, let's just say it has room for improvement
They are lots of framework and templates that are easy to customise and allow to produce nice looking emails, no matter if you look at it on your desktop or with your smartphone.
It might be needed to extend the template system for automated emails (eg. being able to insert "layout" token, header, footer...), have a publication workflow to use less and make it easy to customise these layout on a per organisation basis, have a cssinliner, move away from smarty....
Improving the extension system
Themes: community, extension
Potential Mentors: someone from the core? Hans? Jaap Jansma
There is more and more extensions added around civicrm, and it's awesome, but now we are hitting the limitations of the infrastructure. Some changes are needed within civicrm (eg being able to define dependencies when an extension needs another one). Some other changes are needed around how we promote and distribute these extensions, eg. making it easier to know what extensions support the latest versions, and for those that don't support them, what's the issue (simply a matter of updating the documentation, some sponsoring needed, very complex changes, obsoleted and feature added in the core...).
Social Media Integration
Themes: Online Marketing, Social Media, Social Graph Analysis
Potential Mentors: kurund (Primary), Joe Murray (JMA Consulting), Xavier
CiviCRM provides a way for non-profits to engage their constituents through multiple media – email, phone, walk-lists, etc. Its support for social media is currently quite limited. Possible projects to improve it include:
- Integrate with social media logins (likely best to start with Facebook, then Twitter and Instagram) for quick and easy petition signing, event registration, etc. and to get authorized access to petition-signers' social graphs (http://en.wikipedia.org/wiki/Social_login)
- Pull in contacts from social media & match to CiviCRM contacts based on available information
- Import into CiviCRM data about who is re-tweeting, sharing, writing on your wall
- Establish ways to determine highly active users based on their social media activity
- Add social media feed dashlet to see 'what's going on right now'
- Add ability to automatically publish/ tweet about events, certain types of activities, possibly progress towards fundraising goals
NB: JMA have developed an extension to integrate with Attentive.ly (https://github.com/JMAConsulting/biz.jmaconsulting.attentively). It synchronizes contacts and groups between attentive.ly and CiviCRM, and pulls from attentive.ly into CiviCRM social media accounts, user images (from Gravatar, Twitter or Facebook), Klout score, and recent social media posts.
NB: There were projects in GSoC 2015 working on social integration:
Themes: Quality Assurance
Potential Mentors: totten (Primary) (maybe yjkchicago or xavier would be interested?)
Organization Feedback: ??
CiviCRM is a large, web-based application developed by a large community of developers. Unfortunately, there are significant gaps in its automated test coverage.
The project aims to provide broader test-coverage through more automated testing; specifically:
- Identifying or designing fuzzy testing techniques appropriate for CiviCRM.
- Implementing the fuzzy testing techniques.
- Incorporating the fuzzy tests into CiviCRM's on-going quality-assurance.
- Communicating with the CiviCRM development community about how to use the fuzz testing.
Potential Mentors: coleman (Primary)
Installing CiviCRM should be as easy as installing Wordpress. Let's overhaul our current installer so that it fits well with the workflows in WP/Drupal/Joomla.
Having software be easy to install is critical to the success and growth of the platform.
Harden CiviCRM Security
Potential Mentors: Chris Burgess (Primary), Joe Murray, mfb, totten
Organizational Feedback: Drupal Association, Electronic Frontier Foundation
When a user account is compromised, damage that can be done should be limited.
- Find any places using eval, preg_replace()'s /e, etc and find another way, including in libraries used.
- Make sure any places where users input paths to unix commands are well-validated.
- Review libraries used.
- Look for CSRF and XSS. (Probably overlaps with fuzz testing)
Import from Google s/sheet
Themes: api, import
Potential Mentors: Eileen (Primary), Jaap Jansma
Core currently has a bunch of import classes for csv import and there is an extension https://github.com/eileenmcnaughton/nz.co.fuzion.csvimport that allows importing to 'any api' from csv. However, if would be really handy to be able to import from google s/sheets and for the implementation to be interface based so that other sources could be added to extend it. This would probably be better done in an extension - either building on the existing one or (better) in an angular extension.
Note that there is a student who is fairly well progressed in a proposal for this
Potential Mentors: totten (Primary) (maybe colemanw or eileen?)
CiviCRM includes powerful search features ("Advanced Search" and "Search Builder") which help non-profits analyze their data and send carefully-targetted messages. Unfortunately, the user-experience can be overwhelming to new or casual users – there are many options to choose from, and the feedback cycle is slow. (For example, a user may look through 40 options in the "Advanced Search", pick a few, execute the search, redirect to a new screen, and then see the anticlimactic result -- no matches. Then he tweaks one or two of the 40 options and repeats.)
In modern search UIs, the results are displayed/refined in real-time as the user selects search criteria. There are several possible directions to take this project, such as:
- Create a new user-interface with Angular on top of the existing search engine.
- Integrate CiviCRM's data with a search service (e.g. http://lucene.apache.org/solr/ ).
- Implement a portable full-text search on top of MySQL's MyISAM.
- Implement faceted search
Report Builder GUI
Themes: Usability, GUI, Drag-and-drop, Visualization, Print, Embedding
Civi components: This feature would tie in with Advanced Search, CiviReports, and would pull data from all aspects of CiviCRM.
The idea is to provide a visual report builder interface. Users can select database attributes, data ranges (date, numeric, nominal values, etc.), grouping, pivoting, and visualization widgets. The data and widgets can be added to a dashboard, fluid canvas, exported as PDF, or exposed through embeddable HTML/JS widgets.
CiviCase: More Flexible, Automatic Workflows
Themes: Workflow, Business Process Management
Potential Mentors: totten (Primary)
CiviCase is a case-management system which tracks counseling, crisis-response, housing-placement, and other social-service "case work." These cases are in fact "workflows" that require coordinating multiple steps among multiple people. By using software to track their cases, a non-profit can prevent cases or steps from "falling through cracks".
CiviCase allows case-workers to manually define the steps in each case – which is flexible but can be tiresome and inconsistent when staff are confronted with a high caseload. CiviCase also allows one to pre-plan the basic steps for all cases – which is more automatic and consistent. Unfortunately, the pre-planning is not very intelligent – it either follows a fixed schedule of steps ("timelines") or fixed list of back-to-back steps ("sequences").
This project would aim to make the automatic aspects more intelligent (to reduce the amount of manual tweaking by caseworkers), e.g.
- Allow conditional steps which are only added if the case or client meets certain criteria.
- Allow complete templates for the steps which can more thoroughly define what's involved in the step – e.g. setting a default values for the type, subject, date, location, duration, description, assignee, and custom-fields on each step.
The project would involve updates to the front-end Angular-based GUI, the back-end workflow runtime, and the test-suite.
CiviCase: Workflow Process Graphs
Themes: Usability, GUI, Business Process Management
Civi Components: This aspect would tie in with CiviCase, CiviEvent, and other Civi components, which would be exposed as process modules.
Business processes can be modeled through a drag-and-drop interface. Processes consist of modules and connectors (nodes and edges). Modules represent business activities such as "Send a welcome message", "Schedule follow-up", "Process Credit Card", etc. Connectors organize the process into sequences, and suggest data products to convey between steps.
Themes: Usability, Accounting, Contributions, Workflows
Potential Mentor: Joe Murray (Primary)
Organizational Feedback: RNAO, Wellington Circus Trust
CiviCRM Components: Core, Contribution, Event, Membership
Various situations require an organization using CiviCRM to refund part or all of a payment: a cheque is made out in the wrong amount, an event ticket is returned before an event, a membership or subscription is cancelled, or a donation exceeds the legal limit for a campaign contribution. Accounting integration in CiviCRM 4.2 provides the infrastructure for this including some work-arounds in the existing UI. This project would improve the usability, security, accounting integration and automation of these workflows. Key deliverables would include 1) separate permissions for roles authorized to create refunds, approve refunds, submit refunds to payment processors, cut cheques for refunds, 2) proper bookkeeping entries for accounts payable for refunds owed but not sent, and for refunds disbursed, 3) intuitive user experience for site administrators who are not bookkeepers, 4) an intuitive user experience for self-serve refunds as appropriate by end users, 5) integrating cheque printing and audit controls from an existing CiviCRM grant programs extension.
Virtual Machine Templates (Appliances/Boxes)
Themes: Systems Engineering, Virtualization
Potential Mentor: totten (Primary), nganivet (maybe bgm, ergonlogic?)
As with many open-source web applications, installing CiviCRM can be difficult – it requires installing/configuring a series of related services (Linux, MySQL, Apache, an email service, and a CMS). A popular solution to this problem is to distribute pre-built virtual machine templates ("appliances" or "boxes").
Unfortunately, there are many competing virtualization systems – such as Amazon EC2, OpenStack, DigitalOcean, VMWare, VirtualBox, Vagrant, and Docker. It can be difficult to prepare and maintain appliances which are broadly compatible. Some tools – such as http://www.packer.io/ – reportedly allow developers to define appliances which are portable across different virtualization systems.
The aim of the project is to determine the best approach to managing and distributing VM templates (or "appliances" or "boxes") – and to implement that approach.
SMS Tracking Survey
Themes: Extension, Usability, Data enhancing
Potential Mentor: JohnFF (Primary), Joe Murray
Future First has an SMS Tracking Survey, originally made by Third Sector Design. Since then it's been tweaked and cleaning/evaluating tools have been added. But it's still ropey, with deadlocking issues and a lot of FF customisations. The parts that translate a response into a field should be made to be generic and settable through an interface.
The objective here is to make it possible to release this extension as a standalone product.
An option would be to refactor current extension so that the UI for creating the survey, selecting recipients and associating the activities with the recipients is done mostly through the existing CiviSurvey component. This would improve the usability of CiviCRM overall, and reduce the code maintenance effort. Major tasks would then be: 1) hooking in the use of SMS, 2) generalizing the method used to semi-automatically convert 'dirty' data responses from free text entry into clean data for the Activity fields (called translating the response in current implementation), and 3) support branching to next question based on response received for current question.
RTL Languages Support
Themes: Translation, i18n.
Potential Mentors: Luciano Spiegel (Primary), Ariel Kogan
CiviCRM has been successfully translated to several languages. However, some issues still remain when trying to run it on right to left (RTL) languages. The project aims to tackle two main lines of work: 1) Overcome the technical challenges that are keeping CivCRM difficult for RTL languages translations (e.g. Editor for e-mail sending, wizard-type progress bars) and 2) Make progress with the translation to Hebrew and use it as a proof of concept to ensure goals with the first task are achieved.
Themes: Synchronization, Google Apps, ConstantContact, Mailchimp.
Potential Mentors: nganivet (Primary), Jaap Jansma
There are a number of extensions that aim at synchronizing CiviCRM data (primarily contacts) with external services - Google Apps, Constant Contact, Mailchimp, Vertical Response, etc. Each of these extensions has has been implemented by a different integrator and their capabilities, inner workings and user interface are completely different. The purpose of this GSoC would be to create a generic synchronization framework for CiviCRM that would take the borrow the best from the above extensions and make it easy to create 'connectors' with additional external services.
Email sending framework
Themes: email, CiviCRM core, scheduler and queues, API.
Potential Mentors: nganivet (Primary)
CiviCRM can send emails with a number of methods, but these are antiquated (SMTP-based) and do not reflect the current state of the industry which is to use APIs to external email services (SendGrid, Mandrill, Amazon SES, ...). The scheduler and queue for sending emails within CiviCRM is also very rudimentary (PEAR::Mail). The purpose of this GSoC is to replace the current email sending engine with a modern library (Swift Mailer, PHPMailer, Zend_Mail) featuring robust queuing / scheduling and capable of using external email sending services, either directly or through the creation of extensions.
CiviCRM integration with Zapier
Themes: API, Integration, Fundraising
Potential Mentors: Erik Hommel (Primary) (and organizational mentor Ilja de Coster from Amnesty International Flanders)
Zapier is a tool which allows easy integration of apps and exchange of data between apps (see https://zapier.com/). During conversations with Ilja de Coster on fundraising, integration with CiviCRM came up. The project would focus on a first Proof of Concept, being able to create an activity in CiviCRM from Zapier so it would be possible to add an activity to CiviCRM as a Zapier action (for example if a Survey is completed). The other way around: to be able to have an API wich can trigger another application that is already on Zapier, for example trigger a Survey to be sent.
CiviPhone Interactive Voice Response (IVR)
Themes: Integration, Usability, Extension
Potential Mentor: Joe Murray (Primary)
This project will create an extension that will allow CiviCRM to conduct automated phone interviews with contacts selected from within CiviCRM. It will build on previous work done with CiviSurvey, and an extension that sends voice blasts (robocalls) to contacts using Plivo's API. CiviSurvey question types will be limited to those that are easy to collect responses for over the phone.
Open Supporter Data Interface (OSDI) API Implementation
Themes: Integration, Usability, Extension
Potential Mentor: Joe McLaughlin (Primary), and potentially Eileen McNaughton, Jason Rosenbaum (OSDI org mentor), Josh Cohen (OSDI org mentor) - Joe McLaughlin will determine the possibility of any or all of these folks being available
This project will continue work towards a beta CiviCRM extension that will allow CiviCRM to implement the Open Supporter Data Interface (OSDI) API. See www.opensupporter.org .
Linking CiviCRM with LibreOffice / Collabora Office
Themes: Usability, Extension
It would be very user-friendly if CiviCRM would provide an action to write a Letter to a contact with LibreOffice / Collabora Office instead of using PDF-Letter. CiviCRM should pass Tokens to LibreOffice / Collabora Office . LibreOffice / Collabora Office should run in the web (like in Owncloud) It should be possible to design a open document template which includes tokens like display_name, address and so on. The action-menu of the search-builder or a contact overview page should contain a button to start Libreoffice in the web. In the next step the user should select a deposited template. If the action has been started from a search-builder, Libreoffice / Collabora Office should print a serial letter, otherwise a single letter. The document should be saved as an activity of the contact.
Mailing list functionality
Themes: Usability, Mail, Extension
This goes in the same direction as the social media integration: Many NGO's make extensive use of mailing lists for discussions between certain groups. Typical software, which is used by many organisations is "mailman". Much of the needed functionality of such a mailing list software is already included in CiviCRM (such as subscribe, unsubscribe, bounce management, ...). There "simply" has to be a new function, that allows authorized e-mail-addresses sending bulk mails to their discussion groups.
In the past, there had been a quite complex solution using drupal organic groups and synchronize them with CiviCRM. However, we would like to avoid the complexity and the dependencies that are coming with that approach.
Cividroid - A CiviCRM companion on Android!
Themes: Android, API, Integration
While Cividroid has established a concrete example of, how the web CiviCRM API and the native Android API combined can enhance the CiviCRM utility on the move, there is a lot more that can be achieved. This project would be a continuation of the current stable version available on the forum.
IF YOU HAVE A PROJECT IDEA, PLEASE ADD IT HERE. THIS IS A WIKI. BE BOLD AND EDIT.