Community issueshttps://lab.civicrm.org/groups/community/-/issues2020-01-14T04:47:43Zhttps://lab.civicrm.org/community/gsoc/-/issues/7Document GSoC mentor and admin processes2020-01-14T04:47:43Zjoshjosh@civicrm.orgDocument GSoC mentor and admin processesIn order to facilitate continuity in the CiviCRM + GSoC effort (assuming admins and/or mentors will change from year to year), we need to document the processes and necessary steps to administer it.In order to facilitate continuity in the CiviCRM + GSoC effort (assuming admins and/or mentors will change from year to year), we need to document the processes and necessary steps to administer it.https://lab.civicrm.org/community/sustainability/-/issues/14Annual Report2020-01-26T20:11:29Zjoshjosh@civicrm.orgAnnual ReportDevelop an annual report for the CiviCRM community to demonstrate health of project. Report could highlight:
- Previous year achievements
- Near term objectives
- Financials
- Community Summit 2020
- Contributors
- GSoC
- Project summar...Develop an annual report for the CiviCRM community to demonstrate health of project. Report could highlight:
- Previous year achievements
- Near term objectives
- Financials
- Community Summit 2020
- Contributors
- GSoC
- Project summary, working group structure, how to get involvedjoshjosh@civicrm.orgjoshjosh@civicrm.org2020-01-15https://lab.civicrm.org/community/feature-request/-/issues/24api feature request for usability: filter out deleted contacts unless is_dele...2020-02-04T21:03:41Zndavisapi feature request for usability: filter out deleted contacts unless is_deleted = 1 in parametersThe title says it all... when pulling a contact by email, I should only get undeleted contacts. This is painful when something works fine on dev then you move it to stage, with a much bigger dataset that includes billions of deleted cont...The title says it all... when pulling a contact by email, I should only get undeleted contacts. This is painful when something works fine on dev then you move it to stage, with a much bigger dataset that includes billions of deleted contacts, and everything breaks.
"where is_deleted=0" should be a part of all api calls unless you specifically indicate that you want deleted stuff.
```
$result = civicrm_api3('Email', 'get', [
'sequential' => 1,
'email' => "someuser@somedomain.org",
'api.Contact.get' => [],
]);
```
returns all contacts with that email attached. By default it should only include contacts that aren't deleted.
Just a suggestion! No one is interested in deleted contacts unless they're removing them permanently or undeleting them.https://lab.civicrm.org/community/sustainability/-/issues/6Review/revise partner program2020-02-07T22:26:43Zjoshjosh@civicrm.orgReview/revise partner programSeveral months ago the core team ran an annual partner survey, the [results of which can be found here](https://forms.gle/8e8TjEp1WfKDShpcA). The core team has been interested in revising the partner program and has been reflecting on th...Several months ago the core team ran an annual partner survey, the [results of which can be found here](https://forms.gle/8e8TjEp1WfKDShpcA). The core team has been interested in revising the partner program and has been reflecting on the survey results, on informal discussions with various partners and on [a past post by Parvez](https://lab.civicrm.org/community/partners/issues/7).
A [recent partner call](https://lab.civicrm.org/community/partners/wikis/meetings/2019-06-20) demonstrated interest in "rejuvenating" the [partner program](https://lab.civicrm.org/community/fundraising/wikis/Partner-Program). This issue is intended to provide a thread for discussing and improving the program. Questions that the core team is actively considering (not necessarily in order):
- What is the purpose of the partner program?
- Why do most partners support CiviCRM?
- How do we encourage/enable new partner support?
- Does the "dues" structure discourage additional support?
- What do "partner dues pay for?" (and what don't they pay for?)
- What opportunities exist for partners to self organize?
- How can partner support be leveraged to garner support from other stakeholders?
## Items we're confident should change
- Benefits should focus on promotion (listings, recognition, demos, etc.), not on access or process related items (like RFP support). Benefits that are not consistently applied, or applied at the discretion of others, should be dropped (like discounts on event sponsorships and registration. These should be offered at the event level at the discretion of organizers).
- As we transition civicrm.org to a new platform/design, we should consider how to better recognize and promote those who support CiviCRM. The current partner listing is viewed as very positive, however we interested in determining other opportunities to recognize support.
- The "Founding" label should go away and be replaced with a label that indicates "length of support". Many partners are not founding, but have supported for several years.
- "Dues" should somehow be made more fluid to provide smaller shops a way to support the project at a lower investment, and larger shops a way to commit more (without being locked into a cap).joshjosh@civicrm.orgjoshjosh@civicrm.orghttps://lab.civicrm.org/community/community-engagement/-/issues/15Revise community guidelines2020-02-14T15:38:10Zjoshjosh@civicrm.orgRevise community guidelinesRevise the community guidelines to incorporate the points/spirit raised in https://lab.civicrm.org/community/community-engagement/issues/5
Current community guidelines can be found here: https://lab.civicrm.org/community/community-engag...Revise the community guidelines to incorporate the points/spirit raised in https://lab.civicrm.org/community/community-engagement/issues/5
Current community guidelines can be found here: https://lab.civicrm.org/community/community-engagement/wikis/home
Working document here: https://docs.google.com/document/d/17Ogt364gj2Kl94wr52gqplnSgDmICD5VSI4OYmrlv9U/edit?usp=sharingjoshjosh@civicrm.orgjoshjosh@civicrm.orghttps://lab.civicrm.org/community/sustainability/-/issues/18Partner Sales Funnel2020-02-26T15:06:18Zjoshjosh@civicrm.orgPartner Sales FunnelThe CiviCRM Core Team is contacted from time to time by end users seeking guidance on implementing CiviCRM. Potential projects range in size from the very small to the very large. Where possible, the CT attempts to qualify the leads and ...The CiviCRM Core Team is contacted from time to time by end users seeking guidance on implementing CiviCRM. Potential projects range in size from the very small to the very large. Where possible, the CT attempts to qualify the leads and refer them either directly to the partner list (happens most often) or to specific partners therein (happens probably 6 times a year).
The idea of a sales funnel has been discussed in the past, however no consensus has been reached regarding how to do it in an equitable, efficient manner.https://lab.civicrm.org/community/community-engagement/-/issues/20Installer should ask analytics-related questions2020-02-27T01:42:06ZJonGoldInstaller should ask analytics-related questionsIt looks like there's a plan underway to make the 2019 installer the standard installer: See https://lab.civicrm.org/dev/core/issues/1615.
Several years ago, we discussed adding additional installer questions to improve our communicatio...It looks like there's a plan underway to make the 2019 installer the standard installer: See https://lab.civicrm.org/dev/core/issues/1615.
Several years ago, we discussed adding additional installer questions to improve our communications/analytics. If we're rolling out a new installer, let's reopen discussion.
Proposals I recall are checkboxes for the following:
* Allow signing up for CiviCRM newsletter (aka "get added to c.o/civicrm") from the install screen.
* Allow collecting the Default Organization data for similar purposes.
* It's OK to contact the evaluator for assistance with evaluation.
* There was also discussion of a field, hidden from the UI, that indicated that the installer was managed by a partner (and an optional field for the installer's name). This would allow us to a) get a sense of how many sites are being implemented by partners, b) in-app communication could be tailored based on whether a partner is involved.
Some of this got bogged down in, "Oh, it's not fair if one shop hogs all the evaluation calls" - but honestly, 5 years later that feels like the least of our concerns. We should implement whichever of these feels uncontroversial.
I'll also propose:
* Contact me if we have an unpatched security issue.
@joshhttps://lab.civicrm.org/community/feature-request/-/issues/25Enriched Deletion2020-03-18T20:08:55ZtottenEnriched Deletion> You might call this a "minority opinion" - I imagine few would take (on first glance) come to the same approach. However, I want to get it on paper because I think it's a deeper solution - and the issue may recur.
# Background / Conte...> You might call this a "minority opinion" - I imagine few would take (on first glance) come to the same approach. However, I want to get it on paper because I think it's a deeper solution - and the issue may recur.
# Background / Context
CiviCRM is a *database application* which tracks *related data*. For example, an `Activity` may be related to a `Case` and three `Contact`s. This creates the question of *referential integrity*. For example, if one of those three `Contact`s is deleted, then the *relation* (aka "foreign key" or "reference") between the `Activity` and the deleted `Contact` becomes nonsensical, and you must do something to make the data sensible again.
CiviCRM builds on top of MySQL, and MySQL provides one mechanism to deal with this: `ON DELETE`. When declaring the schema for `Activity` and `Contact`, you can set a rule to resolve this nonsensical situation by either (a) putting a blank (`null`) value into the reference or (b) deleting the record which has the invalid reference. This process can be thought of as s *cascading* or *propagating*. (Conceptually, the deletion of `Contact` could trigger the deletion of an `Activity` which could trigger the deletion of a custom dataset for that activity).
CiviCRM also builds on top of PHP. It has hooks and events, which leads to another mechanism: by subscribing to some event (e.g. `hook_civicrm_pre`), you can take some action before or after deletion. This mechanism can also provide the *cascading* or *propagating* effect. Compared to MySQL, this empowers a developer to define more nuanced cascading rules.
# Basic Concept
The basic concept of "Enriched Deletion" (*for want of a better name*) can be seen by comparing these two screens. First, we have a normal confirmation dialog that you might show to user before deleting an important record:
![Screen_Shot_2020-03-17_at_8.25.22_PM](/uploads/1b3e288f2cdef33843ed1170d2ec0967/Screen_Shot_2020-03-17_at_8.25.22_PM.png)
With enriched deletion, the user (or *agent*; more about the expanded view in a moment) has visibility and discretion into the consequences of the deletion:
![Screen_Shot_2020-03-17_at_8.25.34_PM](/uploads/630070c9e524b11eb4274e8cbf155a15/Screen_Shot_2020-03-17_at_8.25.34_PM.png)
They have the ability to *see* what data is affected by their action -- and to *decide* what the impact will be.
# Expanded Concept
The *cascade policy* is what you in see the table above -- a list of relations and the rules about how to handle each stale reference (delete the record, set to null, block deletion/raise an error, etc).
The *default cascade policy* is, well, the default. It is determined programmatically. It is mediated via event/hook, and the site administrator can make overrides/customizations.
A screen such as the above is a thin wrapper around an API. All standard API entities would support two actions:
* `delete`: This API performs the deletion. In absence of suitable instruction, it obeys the *default cascade policy*. If the agent has suitable permission (eg `manage rich deletion` -- *for want of a better name*), and if the API call specifies some `cascade` option, then the inputs will take precedence over the defaults.
* `deletePreview` (*for want of a better name*): This API reports about the related entities that would be deleted - and the cascade options that are valid for them. (If the user permission `manage rich deletion`, then all options are valid. If they lack permission, then options are locked-in to the *default cascade policy*.)
# Rationale
Rare is the user who clicks "Delete" while thinking, "Please, I hope the next screen is more complicated!" So why would you add this extra panel to the "Delete" action?
Regardless of this Gitlab filing, *some* cascade policy already exists. It must exist. The question is its form, content, comprehension, maintenance. Who can influence it?
* In the early/original CiviCRM, the cascade policy is specified via `xml/schema/**.xml` (e.g. `xml/schema/Contribute/Contribution.xml` specifies that the `contact_id` relation has a policy of `<onDelete>CASCADE</onDelete>`).
* In CiviCRM with hooks/events, a third-party developer can potentially use `hook_civicrm_pre` to refine the cascade policy. It is not certain if this is actually done or if the interface works well for the purpose, but the basic idea is there.
However, there is no *visibility* into this behavior for a user. Whatever the cascade policy is, there will be elements which feel a bit grey or uncertain. Users will be in the dark about this - they won't even think about the extended implications of a delete until *after* it matters. The existence of extensions heightens the mystery - a user isn't in a position to know what extensions are, and an admin isn't in a position to say how each extension does (or does not) adjust the policy.
CiviCRM is a modular, multi-organization, "customizable/off-the-shelf" system. Consequently, it is difficult to make one set of judgments for grey area things -- especially when there's an open-set of customizations for each site. Even if you do understand the policy, programmatically customizing the policy is an expensive proposition.
The basic concept of "Enriched Deletion" is to formalize the cascade policy in a way that realistically allows+reconciles influence from (a) developers, (b) site admins, and (c) backend users.
# Alternatives
* Hard-code one cascade policy
* Use "on-delete" hooks to allow programmers to customize policies
* Never delete anything - all deletions should be reversible.
* __Comment__: I'm not sure this changes the basic issue about the *sensibility* of the data - for example, suppose a user "deletes" a contact who has a case. Does that case remain visible? Do its activities in reporting about case-activities? Whether the deletion mechanism is hard or soft, there is still some kind of policy/effect on the case and activities ascribed to the contact.
https://lab.civicrm.org/community/covid-19/-/issues/1Create CiviCRM Spark template site for Community/Mutual aid requirements.2020-03-26T23:09:16ZnicolCreate CiviCRM Spark template site for Community/Mutual aid requirements.Please ping @nicol if you would like admin access to the Spark instance to look at any of this.
# Required
* [x] 1. Profile form for volunteer registration
* [x] 2. Profile list to display volunteers
* [x] 3. Profile map to display...Please ping @nicol if you would like admin access to the Spark instance to look at any of this.
# Required
* [x] 1. Profile form for volunteer registration
* [x] 2. Profile list to display volunteers
* [x] 3. Profile map to display volunteers
* [ ] 4. GDPR/privacy compliant
* [x] 5. Help Wanted form for request registration (should this be an activity, repeating contact field, Case, sopemthing else?)
* [ ] 6. Profile list and profile map to display help wanted
* [ ] 7. SMS - integration for mass SMS
* [ ] 8. some kind of ACL to volunteers/requestees who can ammend their details – and admins, who view and contact everyone
# Desired
* [ ] 9. CiviTutorial - to talk thru key tasks, ie adding Twilio details, or Google geocode API key, importing contact data from Google Sheets.
* [ ] 10. A simnple dashboard on first login pointing admins to the most useful things (CiviMail, import, volunteer signup, etc)
* [ ] 11. SMS Conversation / Dialogue flow? In case confident admins want to try and use it?
* [ ] 12. Better styling of Map markers & poopups (for 3. and 6.)
* [ ] 13. CiviCase?
# Also
* [ ] 12. Multingual support (Spark is multilingual, but how to translate custom field / profile names?)
* [ ] 13. Public landing/info page
* [ ] 14. Small number of test users
* [ ] 15. Input from privacy/accessibility/legal experts - CiviCRM LLC obvs cannot be liable for how users use the system, but how to make this clear and encourage best-practice?https://lab.civicrm.org/community/region/melbourne-meetups/-/issues/1Scheduled Reminders for Membership renewal not being triggered2020-03-27T03:31:40ZMickCScheduled Reminders for Membership renewal not being triggeredSome scheduled reminders for Membership renewal were not being triggered as expected.
Two recent findings which could be a problem for Scheduled Reminders code:
1. Previous Reminder:
* If the same reminder was sent last year, the remind...Some scheduled reminders for Membership renewal were not being triggered as expected.
Two recent findings which could be a problem for Scheduled Reminders code:
1. Previous Reminder:
* If the same reminder was sent last year, the reminder was not sent
* Archiving the past reminders >90 days , and deleting them from the civicrm_action_log table solved the problem
2. Status Override
* If the status was overridde, the reminder was not sent
* removing the override solved the problem
This will need to be reported to CiviCRMhttps://lab.civicrm.org/community/region/melbourne-meetups/-/issues/2In CiviMail, the 'Count' of contacts are less than the group count - why?2020-03-27T03:31:41ZMickCIn CiviMail, the 'Count' of contacts are less than the group count - why?Often a mailing is set up and the number of contacts is less than the total number of contacts in the group.
This can be disconcerting if there is some doubt that the count is correct.
So why is it different?
I can tell you that CiviMai...Often a mailing is set up and the number of contacts is less than the total number of contacts in the group.
This can be disconcerting if there is some doubt that the count is correct.
So why is it different?
I can tell you that CiviMail will only count 'mailable' contacts, i.e. they have a valid email address and they are not opted out, on hold, marked 'do not email', or deceased. In database marketing parlance, these can be referred to as 'standard exclusions'.
So what are some best practice tips to be reassured about the numbers of contacts, keeping lists healthy and recommended workflow for regular monthly mailings?
Civi user guide is a good place to start https://docs.civicrm.org/user/en/latest/email/maintaining-healthy-email-lists/MickCMickChttps://lab.civicrm.org/community/region/melbourne-meetups/-/issues/3Batch Merge - how to 'keep' all emails2020-03-27T03:31:41ZMickCBatch Merge - how to 'keep' all emailsSome duplicates are caused by same name, different email.
When merging manually, there's an option to add email from the duplicate contact, ie keep both.
When batch merging, there doesn't appear to be an option to do that, and the dupl...Some duplicates are caused by same name, different email.
When merging manually, there's an option to add email from the duplicate contact, ie keep both.
When batch merging, there doesn't appear to be an option to do that, and the duplicate email is 'lost'.
How can this be addressed either by configuration or workaround?
a) change the configuration of bulk merge to keep all emails?
b) manually exporting dupes and reimporting the duplicated email?
c) a custom extension / database operation?MickCMickChttps://lab.civicrm.org/community/region/melbourne-meetups/-/issues/4Measuring Engagement Via Searches2020-03-27T03:31:41Zrenz56c.oMeasuring Engagement Via SearchesHow would you use Search builder to show all participants who have status Registered or Attended for 10 or more events?How would you use Search builder to show all participants who have status Registered or Attended for 10 or more events?https://lab.civicrm.org/community/region/melbourne-meetups/-/issues/6Households - what are they and when should they be used?2020-03-27T03:31:41ZMickCHouseholds - what are they and when should they be used?What experiences can we all share bout using Households?
Can Households be members? What are the challenges?
[Relationships and Households]{https://docs.civicrm.org/user/en/latest/organising-your-data/relationships/#adding-contacts-to-h...What experiences can we all share bout using Households?
Can Households be members? What are the challenges?
[Relationships and Households]{https://docs.civicrm.org/user/en/latest/organising-your-data/relationships/#adding-contacts-to-households}
[Reporting example]{https://docs.civicrm.org/user/en/latest/reporting/what-is-civireport/#scenario-determining-total-contributions-for-a-household}https://lab.civicrm.org/community/region/melbourne-meetups/-/issues/7Relationships - how can they be used to Segment in a Marketing Campaign?2020-03-27T03:31:41ZMickCRelationships - how can they be used to Segment in a Marketing Campaign?https://lab.civicrm.org/community/region/melbourne-meetups/-/issues/8Contribution Refunds2020-03-27T03:31:41ZmfuggleContribution RefundsIt would be helpful if refunds could be initiated in CivCRM and effect the Payment Gateway so that it is not necessary to deal with refunds in the Payment Gateway (eWay in our case) as well as CiviCRM.It would be helpful if refunds could be initiated in CivCRM and effect the Payment Gateway so that it is not necessary to deal with refunds in the Payment Gateway (eWay in our case) as well as CiviCRM.https://lab.civicrm.org/community/region/melbourne-meetups/-/issues/9Contribution Partial Refunds2020-03-27T03:31:41ZmfuggleContribution Partial RefundsIt is not possible to make a partial refund without the use of a third party extension. It would be helpful to be able to make partial refunds in CiviCRM and have the refund take effect in the Payment Gateway.It is not possible to make a partial refund without the use of a third party extension. It would be helpful to be able to make partial refunds in CiviCRM and have the refund take effect in the Payment Gateway.https://lab.civicrm.org/community/region/melbourne-meetups/-/issues/10Improvements to Soft Credits2020-03-27T03:31:41ZmfuggleImprovements to Soft CreditsIf one contact makes a payment for more than one other contact (e.g. a parent paying a membership fee for two or more children) the total value of the contribution shows against the parent. However the total amount also shows against eac...If one contact makes a payment for more than one other contact (e.g. a parent paying a membership fee for two or more children) the total value of the contribution shows against the parent. However the total amount also shows against each of the children as a soft credit. What needs to happen is that the total value should show against the parent but the individual membership fees, for example, should show as soft credits against the children.
For example assume a parent has two children and the membership fee for each child is $100. The parent would pay $200 and that is shown as a contribution against the parent's contact record. The soft credit against each child should be $100, however the soft credit against each child is $200.
This issue is a webform issue when integrated with CivCRM.https://lab.civicrm.org/community/region/melbourne-meetups/-/issues/11How to show relationships on the summary page?2020-03-27T03:31:41ZMickCHow to show relationships on the summary page?Is there an extension that can help do this?Is there an extension that can help do this?https://lab.civicrm.org/community/region/melbourne-meetups/-/issues/12Standard CiviCRM menu is missing2020-03-27T03:31:41Zdavid.hohmStandard CiviCRM menu is missingOur menu bar is currently missing. I managed to get CiviCRM Admin Utilities installed and that makes the site workable, but i would like to get the menu working. This is what I currently see. ![Menu](/uploads/7eef3c131a38fed6fe23af2db91d...Our menu bar is currently missing. I managed to get CiviCRM Admin Utilities installed and that makes the site workable, but i would like to get the menu working. This is what I currently see. ![Menu](/uploads/7eef3c131a38fed6fe23af2db91db1f5/Menu.PNG)
I am not sure if I am on the correct track, but I saw on some forums that this could be related to the resource url.
My resource url currently is ![resourceurl](/uploads/78721980ae1dc7dea725d4afea852137/resourceurl.PNG).
Is that correct?
Hope the question isn't too details specific.
thanks for any help,
David