diff --git a/projects.md b/projects.md index 60a9948b3698985ced5c19728f1675579f54605b..a5e5eb795d0931971300f396aff1fc64ba0141fb 100644 --- a/projects.md +++ b/projects.md @@ -9,20 +9,21 @@ GSoC students are free to propose projects that are not on this list, but will n 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. +## Pluggable data export formats for reports +Potential Mentor: Mathieu Lutfy (Coop SymbioTIC) + +CiviCRM currently supports exporting reports to CSV and PDF format. Some +extensions make it possible to export to other formats, such as for exporting to +Excel (xlsx), but they have to implement odd hacks to get around the lack of +pluggable data export formats in CiviCRM. + +This project would therefore aim to provide a clean set of 'hooks' so that +extensions can support other export formats. It would also aim to propose +changes to some of the extensions, to provide examples. Since this is a change +to CiviCRM's core, it would require writing a unit test, documentation and +interacting with other developers to gather other potential use-cases for this +hook. ## Mosaico for transactional emails Themes: UI, responsive html5