Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-03-05T05:03:25Zhttps://lab.civicrm.org/dev/core/-/issues/3693Proposal - remove `CustomGroups` section from default contribution backoffice...2024-03-05T05:03:25ZeileenProposal - remove `CustomGroups` section from default contribution backoffice receiptI'm proposing we remove the following chunk of code from the back-office contribution receipt where it has not been customised
```
{if !empty($customGroup)}
{foreach from=$customGroup item=value key=customName}
<tr>
...I'm proposing we remove the following chunk of code from the back-office contribution receipt where it has not been customised
```
{if !empty($customGroup)}
{foreach from=$customGroup item=value key=customName}
<tr>
<th {$headerStyle}>
{$customName}
</th>
</tr>
{foreach from=$value item=v key=n}
<tr>
<td {$labelStyle}>
{$n}
</td>
<td {$valueStyle}>
{$v}
</td>
</tr>
{/foreach}
{/foreach}
{/if}
```
This code adds details about all the custom fields associated with the contribution. For many sites this is not an issue as there are none :-)
However, for those that have contribution custom fields there are generally a mix of fields that are public facing and private facing (I've seen organisations accidentally send out commission information in the past).
It is now possible to use contribution tokens in all contribution workflow templates so the idea would be that
- if the offline template is uncustomised and the site has contribution custom fields they get a pre-upgrade message
- the message would say that if they upgrade the above section will be removed & emails would not have custom field information going forwards and point them to version-specific-upgrade-docs
- the upgrade docs would offer two options (not recommended) - put back the above block, which may not be supported forever or (recommended) construct the fields they want with tokens on the 'pdf letter for contributions screen' and copy it backhttps://lab.civicrm.org/dev/core/-/issues/3681Double down or remove use of empoweredBy in invoice template2024-03-25T05:03:20ZeileenDouble down or remove use of empoweredBy in invoice templateThe invoice template but exactly ZERO of the other templates adds the `empoweredBy` CiviCRM logo to the header.
As part of trying to consolidate template handling code I want to EITHER
- switch to using a token for the empoweredBy imag...The invoice template but exactly ZERO of the other templates adds the `empoweredBy` CiviCRM logo to the header.
As part of trying to consolidate template handling code I want to EITHER
- switch to using a token for the empoweredBy image OR
- remove it from the invoice template (on new installs- but in the long-term it might break on existing ones if I do that)
I feel an emoji poll coming on - go on - be Caesar - thumbs up it lives - thumbs down it dies (although death would be slow & gradual in this case)
Tangential issues
- invoice also uses an image-based horizonal line - I'm leaning towards making that a token `{formatting.line}` but that is for a separate issue
- this brings up a bunch of feature requests around what WOULD be useful in place of the empoweredBy. I did chat with Tim on that & will try to put it in another issuehttps://lab.civicrm.org/dev/core/-/issues/3678UX: Search Kit and Form Builder should have an "edit" link at the top if you...2023-12-29T02:48:03ZJonGoldUX: Search Kit and Form Builder should have an "edit" link at the top if you have permission to edit themIn Drupal, if you're logged in as an administrator, there's a gear icon at the top of a View when displaying it on a page. "Edit View" is an option. Likewise, the (relatively recent) "Configure Contribution Page" in Civi.
I propose a...In Drupal, if you're logged in as an administrator, there's a gear icon at the top of a View when displaying it on a page. "Edit View" is an option. Likewise, the (relatively recent) "Configure Contribution Page" in Civi.
I propose a similar menu be added to elements embedded in a Form Builder form, as well as a menu for the form itself. Embedded Search Kits should have an "Edit Display" and "Edit Search", and Form Builder forms can have "Edit Form" and "View Submissions".colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/3675Permissioned Relationship no longer set up for "On Behalf of Organization" Me...2022-06-23T14:27:09ZmarcusjwilsonPermissioned Relationship no longer set up for "On Behalf of Organization" Membership Contribution Form submissionsOverview
----------------------------------------
Previously, when an Individual Contact would submit a front end Membership Contribution form "On Behalf of Organization", I believe the Individual Contact would have been awarded "View an...Overview
----------------------------------------
Previously, when an Individual Contact would submit a front end Membership Contribution form "On Behalf of Organization", I believe the Individual Contact would have been awarded "View and Edit" permissions over the Organization Contact record created.
In version 5.49.5, it seems that no Permissions are awarded for this Relationship anymore when the Individual Contact registers an Organization as a Member via front end Contributions forms. This means that an Organization's lead for Membership is not able to view/edit their Organization's details.
I suspect this happened some time between 5.44.0 and 5.49.5 - during our last upgrade path.
It seems others are experiencing the same issue, although I'm not had a chance to test on a vanilla install yet.
See thread: https://chat.civicrm.org/civicrm/pl/gwcz6se433difyfzpsqh8bf7ye
Reproduction steps
----------------------------------------
1. Set up a new Contribution form for a "On Behalf of Organization" Memberships - free or paid - using standard Profile forms.
2. Complete the Form front end and submit
Current behaviour
----------------------------------------
3. Employer/Employee relationship is set up between Organization and Individual as before, but no "View/Edit" Relationship is set up for the Individual to view/edit the Organization Contact record as it was before.
Expected behaviour
----------------------------------------
"View/Edit" permission from Individual to Organization contact record should be set up as before.
Environment information
----------------------------------------
CiviCRM: 5.49.5
CMS: WordPress 6.0
PHP: 7.3
Database:MySQL 5.7.7
Comments
----------------------------------------https://lab.civicrm.org/dev/core/-/issues/3659APIv4 Contact.get - include email, phone, address?2023-01-04T23:44:25Zaydunsaidan.saunders@squiffle.ukAPIv4 Contact.get - include email, phone, address?# Suggestion/Discussion
Many times when creating a SearchKit search, I want a contact's email and phone. That requires joining on the email and phone entities.
1. that's dull and repetitive for such a common requirement
1. for end-user...# Suggestion/Discussion
Many times when creating a SearchKit search, I want a contact's email and phone. That requires joining on the email and phone entities.
1. that's dull and repetitive for such a common requirement
1. for end-users or newcomers to SK, they either don't find how to do it, or they do and it looks excessively complicated and off-putting for something so basic
In APIv3, `Contact.get` includes the primary email, phone and address.
Without polluting APIv4 with lots of special cases, I wonder whether it is worth making an exception for email and phone and returning those fields in APIv4 `Contact.get` Maybe also the address fields, but for me, that comes up less frequently.https://lab.civicrm.org/dev/core/-/issues/3641[Feature] More (privacy) options for click tracking2024-02-23T05:03:23Zmarcelklehr[Feature] More (privacy) options for click trackingHello,
I would like to have more options regarding click tracking in mailings.
1. Currently, every user can decide for themselves if they want to use it. I would like to be able override this with a setting, so i can e.g. disable click...Hello,
I would like to have more options regarding click tracking in mailings.
1. Currently, every user can decide for themselves if they want to use it. I would like to be able override this with a setting, so i can e.g. disable click tracking entirely.
2. Click-throughs are currently tracked by mail-adress, which is not conformant to the privacy laws in Germany, or at least requires additional consent. It would be nice to be able to limit this to just the numbers per link, without personal data. I would like to have this as an admin option, too.
Thanks for your consideration and this awesome software!https://lab.civicrm.org/dev/core/-/issues/3638Provide a fullPage property for message templates2024-02-22T05:03:26ZmfbProvide a fullPage property for message templatesIn various parts of the UI, CiviCRM allows users to send a message template either on its own, or wrapped in a header and footer.
e.g. you can send a message template to a contact.
Or, you can create a mailing based on a message templa...In various parts of the UI, CiviCRM allows users to send a message template either on its own, or wrapped in a header and footer.
e.g. you can send a message template to a contact.
Or, you can create a mailing based on a message template, with additional header and footer.
CKEditor needs different settings at civicrm/admin/ckeditor?preset=civimail re: allowed HTML tags to support these two scenarios. With fullPage = true, the HTML is forcibly wrapped with html/head/body tags, and so a message template that includes its header and footer can be composed. With fullPage = false, html/head/body are silently stripped, so this is useful for message templates that should be used with a header and footer.
However, there is only one CKEditor setting for both of these scenarios.
I would propose a new database column where we can indicate if a message template is "fullPage" - i.e. includes header and footer, or not fullPage, i.e. designed to be used with header and footer.
This would allow us to toggle the fullPage setting appropriately. It would also allow us to prevent a user from sending a message template that needs a header and footer without one, or wrapping a message template that includes its header and footer with an additional header and footer.https://lab.civicrm.org/dev/core/-/issues/3624Additional Bounce Patterns according to SMTP status codes2022-06-11T14:57:20ZpbatroffAdditional Bounce Patterns according to SMTP status codesCurrently SMTP status codes are mostly ignored when processing and classifying mails for bounces. I wrote a [stackexchange](https://civicrm.stackexchange.com/questions/23091/bounce-pattern-smtp-error-codes) question to see if someone had...Currently SMTP status codes are mostly ignored when processing and classifying mails for bounces. I wrote a [stackexchange](https://civicrm.stackexchange.com/questions/23091/bounce-pattern-smtp-error-codes) question to see if someone had already implemented this.
Since I got no feedback, I did it myself and had promising test results with the additional pattern:
From a sample bounce pool of approx. 4500 Mails, ~1500 were classified as syntax bounce (read: unknown) with the default bounce pattern. With the new pattern that shrank down to 400. (With some custom German away messages not yet parsed, so results should be even better, around ~200 syntax bounces)
My question would be if a pull request on civicrm-core is preferred, or if I should build an extension managing additional bounce pattern? I realize that with only 10 classifications available in CiviCRM-Bounce Type Vs. 30-50 SMTP Error codes the mapping could be open for some discussion, but I think this is a good start.
See [here](https://www.usps.org/info/smtp_codes.html) for simple smtp codes and [here](https://www.usps.org/info/smtp_status.html) for enhanced status codes as reference according to the [RFC-5248](https://tools.ietf.org/html/rfc5248#page-5)https://lab.civicrm.org/dev/core/-/issues/3615<link> URLs are tracked and shouldn't be2022-06-13T09:15:05Zlarsssandergreen<link> URLs are tracked and shouldn't beIf you use <link href=URL> in a mailing template, for example to load a webfont, that URL is converted to a tracked URL. Presumably it shouldn't be as this makes a mess of the clickthrough statistics (every one of these links will be cou...If you use <link href=URL> in a mailing template, for example to load a webfont, that URL is converted to a tracked URL. Presumably it shouldn't be as this makes a mess of the clickthrough statistics (every one of these links will be counted as clicked as long as the user's mail client fetches the resource). In other words, a link being fetched in a not a click and shouldn't be counted as one.
Do we need to track any URLs that aren't inside an <a> tag? It might be easier to limit to <a... rather than trying to exclude <link.... The only valid way to write an <a> is with the tag right after the <, so I think we could just look for <a instead of <.
I can provide a patch if this approach is supported.https://lab.civicrm.org/dev/core/-/issues/3614Civi not automatically imploding a dropdown Array for use as a token in a mes...2022-06-13T12:03:17ZswebervnaCivi not automatically imploding a dropdown Array for use as a token in a message templateHello!
I have a custom field, which is a multi-select dropdown, and I've inserted a token for that field to be used in a Message Template. Unfortunately, anytime I do the mailing using that Message Template, instead of the token inserti...Hello!
I have a custom field, which is a multi-select dropdown, and I've inserted a token for that field to be used in a Message Template. Unfortunately, anytime I do the mailing using that Message Template, instead of the token inserting what you'd expect (Option1,Option2, etc as selected in the dropdown), it just says "Array". I've found that it's just referencing the underlying infrastructure, in this case it's the Array entity *(Drupal 7)* for the dropdown value, but Civi won't implode it and list them like it should for that token:
**Mailing Result:**
![image](/uploads/7843e1a6df4105fea0ce1dcef982ac44/image.png)
**Message Template:**
![image](/uploads/3e863bdebab4a99dd00236fe36402df7/image.png)
**Custom Field:**
![image](/uploads/8ee568e35f5d7faa020cc74bf1393edf/image.png)https://lab.civicrm.org/dev/core/-/issues/3574Password for mail accounts should not be stored in plain text2024-02-14T05:03:29ZscardiniusPassword for mail accounts should not be stored in plain textMySQL field civicrm_mail_settings.password contains password in plain text. Should it? I think not
This issue could by linked with https://lab.civicrm.org/dev/core/issues/236MySQL field civicrm_mail_settings.password contains password in plain text. Should it? I think not
This issue could by linked with https://lab.civicrm.org/dev/core/issues/236https://lab.civicrm.org/dev/core/-/issues/3562Message templates and headers might or might not be processed by Smarty2024-02-12T05:03:29ZmfbMessage templates and headers might or might not be processed by SmartyCIVICRM_MAIL_SMARTY allows the admin to disable Smarty for bulk mail, and some other senders such as CRM_Activity_BAO_Activity::sendEmail() also honor the toggle. However, a message template sent to a contact via CRM_Core_BAO_MessageTemp...CIVICRM_MAIL_SMARTY allows the admin to disable Smarty for bulk mail, and some other senders such as CRM_Activity_BAO_Activity::sendEmail() also honor the toggle. However, a message template sent to a contact via CRM_Core_BAO_MessageTemplate::sendTemplate() will always be processed by Smarty.
Relatedly, some tokens are only available in certain contexts. {domain.address} is not available with CRM_Activity_BAO_Activity::sendEmail() but is available with CRM_Core_BAO_MessageTemplate::sendTemplate().
This leads to some confusion because message templates and headers need to be formatted differently depending on whether or not they will processed by Smarty, but the Civi UI allows them to be sent both ways. CSS needs to be wrapped with {literal} {/literal} when it will be processed by Smarty; when not processed by Smarty, CSS should not be wrapped.
I don't have a solution for this at the moment, but I think it's worth flagging as an issue re: both user experience and developer experience.https://lab.civicrm.org/dev/core/-/issues/3560CiviMail flagged URI_WP_HACKED_2 by SpamAssassin2024-01-29T09:58:35ZbrendanspaarCiviMail flagged URI_WP_HACKED_2 by SpamAssassinOverview
----------------------------------------
CiviCRM emails were reported as going to the Spam folder in Gmail. I did some digging with mail-tester.com and found that SpamAssassin is dinging my mailings -1.629 points for the code UR...Overview
----------------------------------------
CiviCRM emails were reported as going to the Spam folder in Gmail. I did some digging with mail-tester.com and found that SpamAssassin is dinging my mailings -1.629 points for the code URI_WP_HACKED_2.
I did some more digging and found this is likely caused by the WP REST API that was integrated into Civi in 5.25. I'm currently running 5.27.0.
Things I have done that have not resolved the issue:
- I have installed the cv-rest-mailing plugin located here: https://develop.tadpole.cc/plugins/cv-rest-mailing
- I have also ran my site against MalCare which returned a Clean rating.
- I have disabled the plugin WP Mail SMTP.
- I have disabled tracing of opens and click throughs.
I have confirmed that this is occurring on 3 of my clients sites all running Civi 5.27.0 with Mosaico.
I have confirmed this on sites that are running gSuite as their email provider as well as sites that are running a local mail exchanger.
The following two Stack Exchange questions are open with no resolution. I confirmed with Heather O. that she is still facing difficulty.
- https://civicrm.stackexchange.com/questions/35064/civimail-tracked-links-in-wordpress-site-are-marked-down-by-mail-tester?r=SearchResults&s=3|14.7395
- https://civicrm.stackexchange.com/questions/36244/spamassassin-marking-mailings-as-compromised-wordpress-site?r=SearchResults&s=1|42.5634
Reproduction steps
----------------------------------------
1. Create a new group called SpamTesting
2. Create a new individual named Spam Tester
3. Add Spam Tester to the Group SpamTesting
4. Give the individual Spam Tester the email address corresponding to https://www.mail-tester.com/
5. Create a new mailing or reuse an existing mailing.
6. Add SpamTesting as a recipient group.
7. Send the mailing immediately
8. Click check your score on Mail-Tester.com
Current behaviour
----------------------------------------
Many CiviCRM mailings are going to spam after upgrading to 5.27.0. Please see attached image.
![KrY6G_1_](/uploads/9e3ce80bac221077adffbf7380dd8434/KrY6G_1_.png)
Expected behaviour
----------------------------------------
Emails should not be getting flagged as a hacked WordPress site.
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
* __Mail Server__ : gSuite
* __Browser:__ Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36
* __CiviCRM:__ _Master/5.27.1
* __PHP:__ 7.3.14
* __CMS:__ WordPress 5.4.2
* __Database:__ _MySQL 8.0.18
* __Web Server:__ _Apache 2.4.41
Comments
----------------------------------------https://lab.civicrm.org/dev/core/-/issues/3550Email to activity processing: New feature to make the creation of new contact...2022-06-11T14:50:44ZJamie Novick - CompucoEmail to activity processing: New feature to make the creation of new contacts "optional"**User story:**
- As an administrator
- When filing inbound emails
- I would like to configure whether CiviCRM will create a new contact where a contact does not already exist within the system
- So that I can ensure that new contacts a...**User story:**
- As an administrator
- When filing inbound emails
- I would like to configure whether CiviCRM will create a new contact where a contact does not already exist within the system
- So that I can ensure that new contacts are not created in the system when filing an email.
- In the situation of a case email where the email has a valid Case ID or Case token in the subject line the email should still be filed to a case, even if no contacts are matched.
**How it works currently:**
Currently, when CiviCRM performs email to activity processing, Civi will search CiviCRM for a contact with the relevant email address in the From / To / CC fields and then assign the created activity accordingly.
When CiviCRM cannot find a contact with a relevant email address, it simply creates a new "stub" contact with the email address.
**The problem**
For multiple reasons this is might not be desirable behaviour:
This is a security risk, as in most cases CiviCRM email-activity processing works off a mailbox, that might need to be public. As such it is possible that an unscrupulous third party may chose to spam your mailbox and thus spam your CRM with unwanted emails and content. Whilst this can be mitigated by having your automated filing on a separate mailbox, it might be preferable to simply only file the emails for contacts who already exist in your system, and to selectively add the rest.
Also, from a GDPR perspective it may not be desirable to hold the details of the persons who sent an email, whilst the contents of the email might be important (i.e. the attachments) especially in a casework context.
**Proposed solution:**
Add an additional option to the email to activity processing configurations (civicrm/admin/mailSettings?action=add&reset=1)
- When "Used For?" = Email to activity processing
- Show an additional option:
- "Do not create new contacts when filing emails"
- Checkbox
- Default null
- Help:
- If this option is enabled, CiviCRM will not create new contacts when filing emails.
- The email should also always be filed as an activity.
If checked:
- When CiviCRM checks for a matching contact, if no matching contact is found it will not create one and the email is skipped
- unless the email has a valid Case ID or Case token in the subject line, in which it will still be filed against the case, but no contacts will be linked to the email.5.31.0https://lab.civicrm.org/dev/core/-/issues/3545Make it possible to make a copy of a draft mailing2022-06-11T14:50:35ZlarsssandergreenMake it possible to make a copy of a draft mailingIt would be quite useful to be able to make a copy of a draft mailing. As it stands currently, if you want to duplicate a draft email (for instance, if you want to send two slightly different mailings), you have to send it first and then...It would be quite useful to be able to make a copy of a draft mailing. As it stands currently, if you want to duplicate a draft email (for instance, if you want to send two slightly different mailings), you have to send it first and then reuse it.
I'm not sure if this would be complicated or simple to implement (essentially the same as re-using a mailing or something more complex). Does anyone have thoughts?5.38.0https://lab.civicrm.org/dev/core/-/issues/3541[Meta] Does CiviCRM have a single defined application HTTP entry point which ...2024-02-11T05:03:23Zxurizaemon[Meta] Does CiviCRM have a single defined application HTTP entry point which routes all requests?Various issues arise when we have multiple entry points to the application (eg scripts in `extern/`, direct call scripts like KCFinder `integration/civicrm.php`, IPN handlers).
These issues stem from duplicated / non-identical approache...Various issues arise when we have multiple entry points to the application (eg scripts in `extern/`, direct call scripts like KCFinder `integration/civicrm.php`, IPN handlers).
These issues stem from duplicated / non-identical approaches to bootstrapping / path discovery / session management.
The end goal here is to eliminate alternate entry points and ensure any callback uses CiviCRM's core routing.
As much as possible auth/bootstrap/url/path resolution should be handled in one place only (each) for maintainability.
## Background issues / examples:
* [CRM-17212](https://issues.civicrm.org/jira/browse/CRM-17212)
* [CRM-13249](https://issues.civicrm.org/jira/browse/CRM-13249)
* [CRM-12246](https://issues.civicrm.org/jira/browse/CRM-12246)
* cloud-native#6
* cloud-native#7
## Targets
* [`extern/authorizeIPN.php`](https://github.com/civicrm/civicrm-core/blob/master/extern/authorizeIPN.php), [`ipn.php`](https://github.com/civicrm/civicrm-core/blob/master/extern/ipn.php), [`pxIPN.php`](https://github.com/civicrm/civicrm-core/blob/master/extern/pxIPN.php) - IPN handlers → use `civicrm/ipn/%` entry point
* [`extern/cxn.php`](https://github.com/civicrm/civicrm-core/blob/master/extern/cxn.php)
* [`extern/open.php`](https://github.com/civicrm/civicrm-core/blob/master/extern/open.php) - endpoint to track mail opens via image URL
* [`extern/rest.php`](https://github.com/civicrm/civicrm-core/blob/master/extern/rest.php) - API endpoint → `civicrm/api/v3`, `civicrm/api/v4` etc
* [`extern/soap.php`](https://github.com/civicrm/civicrm-core/blob/master/extern/soap.php) - SOAP interface, still used by CiviSMTP? → `civicrm/soap`
* [`extern/url.php`](https://github.com/civicrm/civicrm-core/blob/master/extern/url.php) - Mailing redirect → `civicrm/redirect` ?
* [`packages/kcfinder/integration/civicrm.php`](https://github.com/civicrm/civicrm-packages/blob/master/kcfinder/integration/civicrm.php) - KCFinder integration for CiviCRM - IDK
IPN handlers should be tackled as those core payment processors are moved to extensions.https://lab.civicrm.org/dev/core/-/issues/3538Docker2022-06-11T14:45:10ZMichael McAndrewDockerHey there,
I've been doing a bit of work on [CiviCRM on Docker](https://github.com/michaelmcandrew/civicrm-buildkit-docker/). I know that others have been doing the same and I feel like it would be great to start co-ordinating a bit mor...Hey there,
I've been doing a bit of work on [CiviCRM on Docker](https://github.com/michaelmcandrew/civicrm-buildkit-docker/). I know that others have been doing the same and I feel like it would be great to start co-ordinating a bit more.
I am wondering whether cloud native is the right place for it, or if we should create a Docker project.
On the one hand, I feel like there could be a lot of Docker chat and wouldn't want to drown out other chat. On the other, I don't want to proliferate groups unnecessarily.
Any thoughts? I am erring toward a seperate group at the minute.https://lab.civicrm.org/dev/core/-/issues/3534Simplify the settings for filesystem paths2022-06-11T16:35:32ZxurizaemonSimplify the settings for filesystem paths* [Hosting environments like WPEngine don't permit (extra) .php files located in the webroot (apparently)](https://civicrm.stackexchange.com/questions/15942/is-it-possible-in-civicrm-to-change-extension-of-cached-php-files-from-php-to-s)...* [Hosting environments like WPEngine don't permit (extra) .php files located in the webroot (apparently)](https://civicrm.stackexchange.com/questions/15942/is-it-possible-in-civicrm-to-change-extension-of-cached-php-files-from-php-to-s)
* Caching generated content there means potential for info leakage or execution via input variables
* Filesystem caching can be inefficient compared to other caches
* Herb has done work to get Smarty caching via Redis?
* https://www.drupal.org/node/2570335
* https://forum.civicrm.org/index.php?topic=35125.0;nowap
* https://issues.civicrm.org/jira/browse/CRM-17401
* https://github.com/freeform/civicrm-drupal-pantheon/blob/4.6.x/patches/smarty-redis-civi-cache.patch
* would Smarty 2 choke if we just set the path to redis:// ?
* .php extension is [tacked on here](https://github.com/civicrm/civicrm-packages/blob/master/Smarty/Smarty.class.php#L1512), may be other places to change thishttps://lab.civicrm.org/dev/core/-/issues/3530[META] Does CiviCRM make it easy to install without using the UI?2024-02-08T05:03:21Zherbdool[META] Does CiviCRM make it easy to install without using the UI?Currently CiviCRM can be installed via the commandline with drush ~~or cv~~, but it doesn't allow for environmental variables in the command (from what I can tell). I'm not sure if that's the best way to automate a build anyway. To allow...Currently CiviCRM can be installed via the commandline with drush ~~or cv~~, but it doesn't allow for environmental variables in the command (from what I can tell). I'm not sure if that's the best way to automate a build anyway. To allow for builds we may need to be able to point CiviCRM to a file with the env vars and then install fresh. And may need to override the default behaviour of CiviCRM showing errors when it finds a civicrm.settings.php already.
---
Issues towards this goal:
* https://lab.civicrm.org/dev/cloud-native/issues/7
* https://lab.civicrm.org/dev/cloud-native/issues/8https://lab.civicrm.org/dev/core/-/issues/3527Logging improvements2024-02-07T05:03:28ZmfbLogging improvementsI ran into some issues re: CiviCRM logging:
1. Currently, in many cases, CiviCRM does not indicate a severity level when logging a message. Thus many events are logged at info level.
1. When passing log messages thru to Drupal's watchdo...I ran into some issues re: CiviCRM logging:
1. Currently, in many cases, CiviCRM does not indicate a severity level when logging a message. Thus many events are logged at info level.
1. When passing log messages thru to Drupal's watchdog() logger, debug level is typically used, even for a fatal error. There is no attempt made to map the level appropriately.
1. Some of the CRM_Core_Error methods - e.g. CRM_Core_Error::debug_var() - don't have an argument for severity level - but we could/should add one.
1. When providing a severity level to "old school" CRM_Core_Error calls, we also have the option of "upgrading" these to instead be Civi::log() calls.
I would be curious to hear anyone's thoughts, but it seems fairly straightforward to make some big improvements here.