title: Failed upgrade from 5.69.2 to 5.69.5

text:
# Question
Title: Failed upgrade from 5.69.2 to 5.69.5
My **System Status** page says "The site is running **5.69.2**" but the Civi footer on the same page and WP's plugins page say version **5.69.5** \- clearly an upgrade has gone wrong!

Now, several pages in our CiviCRM are throwing errors but the error is about cookies and I'm pretty sure that's not the actual cause: `We can't load the requested web page. This page requires cookies to be enabled in your browser settings.`

The log also contains `Unexpected error while rendering a file in the AssetBuilder: Unrecognized asset name: angular-modules.js`

These errors have pretty severe effects: Pages affected include **clearing cache** (and the cache is not cleared); **System \> Debugging** when trying to turn on debugging (remains off); create or **edit a contact**; create or edit a **CiviEvent,** and more.

What steps can I take to identify and fix the root cause?

CiviCRM 5.69.2 / 5.69.5
WordPress 6.4.3
PHP 8.2.15
nginx on VPS hosted Linux

When I do this:
I get this:

#### wp-content/uploads/civicrm/ConfigAndLog/CiviCRM.\[...\].log

*Note: I have replaced the actual site domain with `my.domain.tld`.*

```
2024-02-17 22:16:20+0100  [error]
$Fatal Error Details = array:3 [
  "message" => "We can't load the requested web page. This page requires cookies to be enabled in your browser settings. Please check this setting and enable cookies (if they are not enabled). Then try again. If this error persists, contact the site administrator for assistance.<br /><br />Site Administrators: This error may indicate that users are accessing this page using a domain or URL other than the configured Base URL. EXAMPLE: Base URL is http://example.org, but some users are accessing the page via http://www.example.org or a domain alias like http://myotherexample.org.<br /><br />Error type: Could not find a valid session key."
  "code" => null
  "exception" => CRM_Core_Exception {#2624
    #message: "We can't load the requested web page. This page requires cookies to be enabled in your browser settings. Please check this setting and enable cookies (if they are not enabled). Then try again. If this error persists, contact the site administrator for assistance.<br /><br />Site Administrators: This error may indicate that users are accessing this page using a domain or URL other than the configured Base URL. EXAMPLE: Base URL is http://example.org, but some users are accessing the page via http://www.example.org or a domain alias like http://myotherexample.org.<br /><br />Error type: Could not find a valid session key."
    #code: 0
    #file: "/var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php"
    #line: 861
    #cause: null
    -_trace: null
    -errorData: array:1 [
      "error_code" => 0
    ]
    trace: {
      /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php:861 {
        CRM_Core_Controller->invalidKeyCommon()
        ›   $msg = ts("We can't load the requested web page. This page requires cookies to be enabled in your browser settings. Please check this setting and enable cookies (if they are not enabled). Then try again. If this error persists, contact the site administrator for assistance.") . '<br /><br />' . ts('Site Administrators: This error may indicate that users are accessing this page using a domain or URL other than the configured Base URL. EXAMPLE: Base URL is http://example.org, but some users are accessing the page via http://www.example.org or a domain alias like http://myotherexample.org.') . '<br /><br />' . ts('Error type: Could not find a valid session key.');
        ›   throw new CRM_Core_Exception($msg);
        › }
      }
      /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php:856 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php:316 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php:193 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller/Simple.php:49 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Utils/Wrapper.php:61 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:292 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:69 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:36 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm.php:1231 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-includes/class-wp-hook.php:324 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-includes/class-wp-hook.php:348 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-includes/plugin.php:517 { …}
      /var/www/vhosts/my.domain.tld/httpdocs/wp-admin/admin.php:259 { …}
    }
  }
]

2024-02-17 22:16:20+0100  [debug] $backTrace = #0 /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(443): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(39): CRM_Core_Error::handleUnhandledException(Object(CRM_Core_Exception))
#2 /var/www/vhosts/my.domain.tld/httpdocs/wp-content/plugins/civicrm/civicrm.php(1231): CRM_Core_Invoke::invoke((Array:4))
#3 /var/www/vhosts/my.domain.tld/httpdocs/wp-includes/class-wp-hook.php(324): CiviCRM_For_WordPress->invoke("")
#4 /var/www/vhosts/my.domain.tld/httpdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters("", (Array:1))
#5 /var/www/vhosts/my.domain.tld/httpdocs/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#6 /var/www/vhosts/my.domain.tld/httpdocs/wp-admin/admin.php(259): do_action("toplevel_page_CiviCRM")
#7 {main}

```

# Answer
> 0 votes
May be your civicrm.settings.php is missing permalink\_structure check?

```
if (!defined('CIVICRM_CLEANURL')) {
  if (function_exists('variable_get') && variable_get('clean_url', '0') != '0') {
    define('CIVICRM_CLEANURL', 1 );
  }
  elseif ( function_exists('config_get') && config_get('system.core', 'clean_url') != 0) {
    define('CIVICRM_CLEANURL', 1 );
  }
  elseif( function_exists('get_option') && get_option('permalink_structure') != '' ) {
    define('CIVICRM_CLEANURL', 1 );
  }
  else {
    define('CIVICRM_CLEANURL', 0);
  }
}

```

---
Tags: upgrade, installation, debugging, setup
---


# Question
Title: Get list of all expiring memberships, but excluding all those that have been "renewed" with another membership type
I need to send reminders to expiring memberships. But I would like to exclude all those that have been "renewed" with another membership type (bought another membership type that fundamentally continues the previous membership).

I have many membership types, there are no old or new membership types, but for example a member can renew for 1 year or 2 years for different types (free book, access to digital magazines...).
I have to send the reminder only to those who have not renewed any membership.

How can I do this? It would be preferable for me to use SearchKit. It would also be fine to do a custom where, but I don't know how to do it in a custom extension.

# Answer
You can create a smart group with all current membership.

Using searchkit you can build a list for all expired membership and not in above create group.

Hth

Pradeep
> 2 votes

---
Tags: civimember, searchkit, custom-search
---


# Question
Title: Is is possible to view all activities in calendar widget?
I am part of a small company that uses CiviCRM for project management. Until now we have been using Google Calendar where all the managers and members of the company could see everyone's calendar.

Is there any way we can do this using the CiviCRM calendar widget? The only way I have found is to assign the activities created to everyone so that everyone can see them, but this does not make sense if not all managers/members participate in that activity.

This is a problem as sometimes an administrator assigns me tasks in schedules that are already occupied by activities added by me and assigned to me because that administrator cannot see my activitities in his/her calendar widget.

I hope someone can help me (us)!

Thanks!

# Answer
There is a `CiviCRM: view all activities` permission that would allow everyone to see the activities even though they are not tagged also there is Activity Type ACL extension that will allow specific activity type to be seen by all.
> 2 votes

# Answer
In the end, I installed the extension Contact Calendar and added all members to the activities as a target contact, leaving the responsible/s as the assignee of the activity.
> 2 votes

# Answer
FYI, if the current calendar display does not meet your needs, there is a new extension for SearchKit Calendar Displays, currently under development. Everyone is encouraged to try it out and leave feedback or submit improvements for this new extension.
> 1 votes

---
Tags: activities, calendar, widget
---


# Question
Title: Categorize contacts automatically created from inbound emails
Would it be possible to set Civi that contacts which were created from inbound emails will be of a certain type? Or added to a certain group? A tag will be added to it, to allow a rule to catch it an appropriately add the contact to the correct type and groups?

# Answer
> 0 votes
You can do it with https://docs.civicrm.org/dev/en/latest/hooks/hook\_civicrm\_emailProcessor

The contact id will be in $params.

---
Tags: groups, civirules, tags, contact-types, inbound-email
---


# Question
Title: Event PCP IDs mismatch in the civicrm_pcp_block table
An oddity discovered in WP/CiviCRM 5.70.0: an **Event** "Personal Campaign" tab displays non-editable fields

* Campaign Type "Contribution" (mustn't be "Event" ? )
* Online Contribution Page : empty (supposed to allow an Event selection I believe )

---

Partially confirmed on the https://wpmaster.demo.civicrm.org/ \- the tab comes empty & with the infamous "Network Error Unable to reach the server " message.

A temporary band-aid:in the "civicrm\_pcp\_block" table, find the block corresponded with the event and manually change the "target\_entity\_id" from "contribute" to "event" (the "contribute" appears to be the default choice for every "event" record in the table).

This makes the "Online Contribution Page" label disappear and fixes the rest of it.

Possible related deprecation message:

```
[warning] attempt to access invalid property :_eventId Caller: CRM_Core_Form::getVar
Array
(
[civi.tag] => deprecated
)

```

# Answer
A temporary band-aid:in the "civicrm\_pcp\_block" table, find the block corresponded with the event and manually change the "target\_entity\_id" from "contribute" to "event" (the "contribute" appears to be the default choice for every "event" record in the table).

This makes the "Online Contribution Page" label disappear and fixes the rest of it.
> 0 votes

---
Tags: civievent, pcp
---


title: SQL error when installing Joomla add-on

text:
# Question
Title: SQL error when installing Joomla add-on
I am trying to install the add-on for Joomla, but I get the following error message:

`Cannot execute CREATE TABLE `civicrm_extension` ( `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'Local Extension ID', `type` varchar(8) NOT NULL, `full_name` varchar(255) NOT NULL COMMENT 'Fully qualified extension name', `name` varchar(255) COMMENT 'Short name', `label` varchar(255) COMMENT 'Short, printable name', `file` varchar(255) COMMENT 'Primary PHP file', `schema_version` varchar(63) COMMENT 'Revision code of the database schema; the format is module-defined', `is_active` tinyint DEFAULT 1 COMMENT 'Is this extension active?', PRIMARY KEY (`id`), UNIQUE INDEX `UI_extension_full_name`(full_name), INDEX `UI_extension_name`(name) ) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC: Specified key was too long; max key length is 767 bytes`

How can I solve this?

# Answer
Welcome to SE CiviCRM

You will need the following MySQL server configuration:

```
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=true

```

add above configuration in your my.cnf file.

See mysql requirement for CiviCRM
> 1 votes

---
Tags: joomla, mysql
---


# Question
Title: Remove references to the token {$dataArray} as it has been replaced by {found within $participants}
Not quite sure about the "{found within $participants}" part of the story. How would it look in, say, `{if}` and `{foreach}` :

* `{if !empty($dataArray)}` becomes `{if !empty($participants)}` ?
* `{foreach from=$dataArray item=value key=priceset}` becomes `{foreach from=$participants item=value key=priceset}` (????)

# Answer
> 0 votes
Due to a lack of ideas, suggested wokaround would be:

* restore the default template
* re-apply customizations made, if any.

---
Tags: tokens
---


# Question
Title: Exception: "Queue runner must be configured before execution."
This has come up a few times on SE but I've not found a working solution yet.

WP 6.4.3 / CiviCRM 5.68.1 - hosted on Cloudways / DigitalOcean (not sure that's relevant)

Upgrading to 5.69 and I got the Queue runner error - I figured it was a CiviCRM upgrade issue with the WP version, so rolled back and waited for 5.70

Still have the error (output below).

I've tried refreshing cache from the WP CiviCRM setting tab and I've tried deleting the entire of civicrm\_cache from the WP\_DB. Regular cron jobs are working fine. I'm going to ask the Cloudways tech team to install cv so I can try a command line `cv upgrade:db` but I'm not optimistic at this point.

Any suggestions / solutions?

```
[Error: undefined]
Exception: "Queue runner must be configured before execution."

#0 /home/***/public_html/wp-content/plugins/civicrm/civicrm/CRM/Queue/ErrorPolicy.php(93): CRM_Queue_Page_AJAX::{closure}()
#1 /home/***/public_html/wp-content/plugins/civicrm/civicrm/CRM/Queue/Page/AJAX.php(38): CRM_Queue_ErrorPolicy->call()
#2 /home/***/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(288): CRM_Queue_Page_AJAX::runNext()
#3 /home/***/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem()
#4 /home/***/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke()
#5 /home/***/public_html/wp-content/plugins/civicrm/civicrm.php(1231): CRM_Core_Invoke::invoke()
#6 /home/***/public_html/wp-includes/class-wp-hook.php(324): CiviCRM_For_WordPress->invoke()
#7 /home/***/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#8 /home/***/public_html/wp-includes/plugin.php(517): WP_Hook->do_action()
#9 /home/***/public_html/wp-admin/admin.php(259): do_action()
#10 {main}

```

# Answer
> 1 votes
Solved

```
wp civicrm core update-db --vv

```

> CiviCRM 5.69+ has proper WP-CLI support - and WP-CLI might already be installed, if not then it's pretty easy wp-cli.org/#installing - so you could try wp civicrm core update-db --vv instead?

Thanks @Christian

---
Tags: upgrade, civicrm-home, core, ajax
---


title: Problems with composer civicrm:publish

text:
# Question
Title: Problems with composer civicrm:publish
I recently had an error becuase my **kcfinder** package was out of date. I fixed it by manually copying the `kcfinder` folder from `dir/vendor/civicrm/civicrm-packages` to `dir/html/libraries/civicrm/packages`. I had tried running `composer civicrm:publish` but it seems this command is not working as expected for me.

I have a slightly different structure in my project as follows:

```
    dir
    -html
    --libraries
    ---civicrm
    ----packages
    -vendor
    --civicrm
    ---civicrm-packages

```

so in my root composer.json I have:

```
"civicrm-asset": {
            "path": "html/libraries/civicrm",
            "url": "/libraries/civicrm"
        },

```

When I run `composer civicrm:publish`, it looks like it runs fine, I get the message:

```
Publishing CiviCRM assets to html/libraries/civicrm
Generating CiviCRM asset map

```

however, no new files seem to get written to the packages folder `html/libraries/civicrm/packages`. I tried changing the `civicrm-asset` paths in my `composer.json` file to:

```
 "civicrm-asset": {
            "path": "html/libraries/civicrm/packages",
            "url": "/libraries/civicrm/packages"
        },

```

Then this generates a new folder `packages` inside the existing `html/libraries/civicrm/packages` folder and has copied across the libraries. However, it doesn't copy all the files, it doesn't seem to copy some of the folders or any of the `.php` files.

I am recently now also getting an error on my status page:

> Wrong version of assets in public web directory: expected 5.70.0 but found 5.69.4

I checked the permissions on the `html/libraries/civicrm/packages` folder and they seem to be fine so not sure what the problem is. I also thought it would be useful to view the generated CiviCRM asset map, but wasn't sure how to do this.

# Answer
Based on comments the `-D` option cleared out the cobwebs.
> 3 votes

---
Tags: composer
---


# Question
Title: CiviContribution: Modify contribution fail
We have a problem that seems to have been there forever with our civiCRM. Indeed, once a contribution from a donor is recorded, it is not possible to modify it afterwards with the "modify" option on the contribution's page. Instead, an error saying that "Contributor is a required field" appears, although the contributor field is filled and cannot be changed. As a result we have to delete the contribution and create a new one every time we need to change something. I have attached a screen shot in French.

If anyone has an idea on how that could be sorted that would be fantastic.

Gaëtan

# Answer
> 0 votes
After rechecking administrator permissions and clearing the cache, the problem is now resolved. Successive updates to the CIVI core have certainly added new rules that had not been properly revised.

---
Tags: civicontribute
---


# Question
Title: Contribution Page: associate a contribution to a WordPress post
I'm not sure if this is feasible, but I would like to create a payment form and associate it with a WordPress post. In short, users can create posts that will only be published after payment. So what I need is:

* Associate a post ID with the contribution form, considering that the same form would be used for different posts and users.
* Trigger a hook when the payment is approved.

# Answer
Once the user has submitted a post (default status unpublished) redirect the user to the Contribution page with `postId` in the URL. On the contribution page you can include a custom field (called post id) for the contribution and make it hidden via CSS or JS by default and populate the field from the URL.

This will be stored against the Contribution that is created.

Once the Contribution status is set to Completed you can write `post()` hook and publish the content using the post id stored in contribution custom field.
> 2 votes

---
Tags: wordpress, contribution-page
---


# Question
Title: Civi Upgrade Error when upgrade from 5.66.2 to 5.70
Upgrade fails below error

```
CRM_Core_Exception: 1265 ALTER TABLE `civicrm_managed` CHANGE `cleanup` `cleanup` varchar(16) NOT NULL DEFAULT 'always' COMMENT 'Policy on when to cleanup entity (always, never, unused)' [nativecode=1265 ** Data truncated for column 'cleanup' at row 62] in /var/www/html/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Queue/Task.php on line 101

```

# Answer
Try updating the database with below query before the upgrade and then run Civi update

```
UPDATE civicrm_managed
SET cleanup = 'always'
WHERE cleanup IS NULL;

```
> 1 votes

# Answer
It sounds like you have some weird data in that column. The new maxlength is 16 which is plenty long for the 3 possible values (always, never, or unused). Can you check your existing data & see what's in there?
> 0 votes

---
Tags: upgrade
---


# Question
Title: Smarty error after upgrading civicrm from 5.69.4 to 5.70.0
I'm still using smarty 2, PHP 7.4, drupal 7.99 (note: I have a test site for php 8 and smarty 3 and there are problems with both)

After upgrading from civicrm 5.69.4 to 5.70.0 getting the following error on event registration:

> Message was not parsed due to invalid smarty syntax : Smarty error: \[in evaluated template line 476\]: syntax error: invalid attribute name: '=' (Smarty\_Compiler.class.php, line 1549)

I tried rolling back the code and that doesn't fix it, which would imply a database change, but I don't see any db sql in the incremental files.

FWIW, the registration goes through but the confirmation email is not generated.

# Answer
I was able to restore values in `civicrm_msg_template` from a backup which seems to have allowed me to roll back to 5.69.4.

Will check out github.com/civicrm/civicrm-core/pull/29428 for https://lab.civicrm.org/dev/core/-/issues/5006 as per Demerit's comment.
> 1 votes

---
Tags: upgrade, smarty, drupal-7, smarty3
---


# Question
Title: "Unrecognized Angular module" when creating a front-end accessible form
Curious if anyone else experience this issue?

I'm running WordPress 6.4.3 / CiviCRM 5.70.0 / PHP 7.4 on a VPS. When I create a SearchKit search with a table (bypass permissions), then create a FormBuilder from the SearchKit table (Generic: Allow all users (including anonymous), with "accessible on front-end of website" checkbox checked), but WP throws the following error message when I access the form page either from an admin acount or guest:

---

**Fatal error:** Uncaught CRM\_Core\_Exception: \[0: Unrecognized Angular module afsearch03022024ChildColloquia. Please ensure that all Angular modules are declared. thrown in **/home/office/public\_html/wp-content/plugins/civicrm/civicrm/Civi/Angular/Manager.php on line 160**

There has been a critical error on this website.

---

I looked at the FormBuilder | Search Forms listing, and "afsearch03022024ChildColloquia" is there. I also installed the Angular Profile extension, but I'm still seeing the same error. Curious if anyone knows what might be the issue? Could it be because I'm still running PHP 7.4? Any help is greatly appreciated!

# Answer
This was tracked down to a caching bug and has been fixed: https://github.com/civicrm/civicrm-core/pull/29260

Released in the latest 5.69 and 5.70.
> 2 votes

---
Tags: formbuilder
---


# Question
Title: searching for address of a system message
I have a "Subscribe to our Newsletter form" that works fine. It replies to a new subscriber with a system message with the address: https://my-website.org/civicrm/profile/view?reset=1&id=2109&gid=15&cs=b1e3576229a9f1640c7e52b6a06fbdc0\_1708528073\_168

Below is a screenshot of that page. I want to change the message in black and the Thank you message but I have no idea how to find the system template.

# Answer
> 1 votes
Do you know how to use grep? It's very handy for this. It shows the first one is:

**CRM/Mailing/Event/BAO/MailingEventSubscribe.php**: `CRM_Utils_System::setUFMessage(ts('Your subscription request has been submitted for %1. Check your inbox shortly for the confirmation email(s). If you do not see a confirmation email, please check your spam/junk mail folder.', [1 => $groupTitle]));`

and the second is

**CRM/Profile/Form/Edit.php:** `CRM_Core_Session::setStatus(ts('Your information has been saved.'), ts('Thank you.'), 'success');`

But I don't recommend editing core files. You could use word replacements to change the strings just the match needs to be on how they are written in the code lines above. So e.g. the "Thank you" is a separate string from "Your information has been saved".

---
Tags: system-workflow-messages
---


# Question
Title: Searchkit - Can you search for any email that matches criteria?
Search Criteria - in a certain group AND one of the contact's emails contains a certain domain or word.

Right now I think I can only search primary email email and I have to create or arguments for every other type of email but billing is the only type I can get to show up.

5.69.5

# Answer
When you search on Contacts, you get primary and billing email fields available as a convenience.

If you join to Contact Emails you get all the email fields:
> 6 votes

---
Tags: searchkit
---


# Question
Title: Subscription confirmation "from" address is "do-not-reply@EXAMPLE.ORG"
I don't see any place to change this - it looks pretty bogus, IMO.

Any ideas? Thanks!

# Answer
Duh - default mailbox. Oops - my bad. Sorry.
> 0 votes

# Answer
I disagree that there is a default 'do-not-reply@...' email address. There are these:

* fixme.domainemail@example.org
* "FIXME" info@EXAMPLE.ORG
* EXAMPLE.ORG

And in a fresh configured install (Drupal 10.2.3, CiviCRM 5.69.5, I have not come across, and certainly have not created a 'do-not-reply@...' email address.

And yet, (in a fresh and completely configured install (Outbound SMTP is working correctly) I get the following error when I try to use the https://example.org/civicrm/mailing/subscribe

> Error Mailing error: Failed to set sender: **do-not-reply@example.org** \[SMTP: Invalid response code received from SMTP server while sending email. This is often caused by a misconfiguration in Outbound Email settings. Please verify the settings at Administer CiviCRM \>\> Global Settings \>\> Outbound Email (SMTP). (code: 550, response: 5.7.1 Invalid credentials for relay \[IP address\]. The IP address you've 5.7.1 registered in your Workspace SMTP Relay service doesn't match the 5.7.1 domain of the account this email is being sent from. If you are 5.7.1 trying to relay mail from a domain that isn't registered under your 5.7.1 Workspace account or has empty envelope-from, you must configure your 5.7.1 mail server either to use SMTP AUTH to identify the sending domain or 5.7.1 to present one of your domain names in the HELO or EHLO command. For 5.7.1 more information, go to 5.7.1 https://support.google.com/a/answer/6140680#invalidcred t185-20020a815fc2000000b00607cc69d4bdsm982685ywb.50 - gsmtp)\]
>
> Mailing Error Unable to send email. Please report this message to the site administrator

This 'do-not-reply' string does not exist in the database. But it can be found in several files:

* vendor/civicrm/civicrm-core/release-notes/5.43.0.md:600:- \**Fixed issue with sending from do-not-reply@domain address *\[maybe not\]*
* vendor/civicrm/civicrm-core/release-notes/5.4.0.md:522: confirmation emails shouldn't use do-not-reply@yourdomain.org
* vendor/civicrm/civicrm-core/tests/phpunit/CRM/Mailing/MailingSystemTest.php:216: 'do-not-reply@chaos.org',
* vendor/civicrm/civicrm-core/tests/phpunit/CRM/Utils/Mail/EmailProcessorInboundTest.php:215: * info@acme.com, do-not-reply@acme.com, the
* vendor/civicrm/civicrm-core/templates/CRM/Admin/Form/Preferences/Mailing.hlp:15:

{ts}Leaving this blank will use the default which will be do-not-reply@default\_domain where the default\_domain will be the email domain address of your default mailing account also used for bounce handling.{/ts}
* vendor/civicrm/civicrm-core/CRM/Core/BAO/Domain.php:373: return $noReplyAddress ?: "do-not-reply@$emailDomain";

NOTE: there is no 'do-not-reply@example.com' so it appears this is being constructed likely by some of the code here. This is beyond my scope to easily fix.
> 0 votes

---
Tags: drupal, subscribe
---


# Question
Title: How are the civicrm_relationship and the civicrm_relationship_cache tables supposed to interact?
I have a Drupal view that shows related contacts, and I noticed that it wasn't matching what I was seeing in the Civi relationships tabs on the relevant contacts. There were contacts displayed in the Drupal view with no relationships listed between those contacts in the Civi view.

Some digging reveals (I think), that the Drupal view is using the relationship table and the Civi view is using the relationship\_cache table, and some further digging makes me concerned something isn't flowing correctly.

The specific example I'm looking at, there are relationships in the relationship table that do not exist in the relationship\_cache table (and vice versa). I'm trying to work out any way of seeing these relationships in SearchKit or anywhere else in the interface, but the connections aren't appearing. They are in the database (and the Drupal view), but not accessible through Civi seemingly.

Some data points:

* the relationship table has approximately 23,000 relationships
* the relationship\_cache table has approximately 25,000 relationships

I've read stuff about regenerating the cache table, but it really seems like the cache table is more accurate/current, or at least the non-cache table seems to have some out dated info.

I'm not clear on how the two tables really relate nor how to navigate out of the problem.

# Answer
The `civicrm_relationship` table is the canonical source of relationship data. It is a read/write table and will contain all the current records.

The `civicrm_relationship_cache` is a read-only copy of the data. It will never be more current or correct, because it only ever copies data from the other table.

`civicrm_relationship_cache` should always contain exactly 2x number of rows as `civicrm_relationship` because it copies each relationship twice (once from the POV of each contact).

It should always stay in-sync unless something goes wrong with your SQL triggers, in that case there is a system check which will automatically alert you and allow you to fix the problem with one click:
> 2 votes

---
Tags: relationships
---


title: Can I use Drupal 10 Search API?

text:
# Question
Title: Can I use Drupal 10 Search API?
I need to update a Drupal 10 Webform so that it allows the user to pick a school in our database by name **and/or** postcode. This is because there are a very large number of schools with very similar names e.g. St Mary's ..., and the autocomplete or Select list will not do the job. We end up with the wrong school selected.

I already have an existing Drupal View that does this for internal use, but I'd like to incorporate this functionality without the limitations of linking to this View and using a result link to return to the form with a contact ID for the Existing Contact i.e. I stay on the form to give the best user experience.

I came across this old blog Using Drupal Search and Facet APIs with CiviCRM Data and in principle this approach, updated for D10, would seem to be the answer?

Our CiviCRM and Drupal Databases are separate. When I add the database server and indices I get a PHP exception:

```
Drupal\Core\Database\DatabaseExceptionWrapper: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'drupal_dev.civicrm_address' doesn't exist:

```

For D7 you had to include in `settings.php` a section with all the CiviCRM tables, but this is no longer the case with CiviCRM Entity.

So my questions are:

1. Should I use the Drupal Search API approach as broadly outlined in the old blog and if not, what's the best way?
2. Is my environment set up properly re the `settings.php` \- you no longer get a list of tables?

I can imagine this is not an uncommon use case, so hoping the answer to my question will benefit lot of people that the original blog was aimed at but are upgrading Drupal from 7 to 10.

# Answer
> 2 votes
You can use Search API with CiviCRM Entity If you have CiviCRM tables in a separate database than Drupal tables, you need this PR: https://github.com/eileenmcnaughton/civicrm\_entity/pull/450

---
Tags: webform-civicrm, civicrm-entity
---


title: Import Contact ID as the External ID

text:
# Question
Title: Import Contact ID as the External ID
I need to make the contact ID to match the external ID in order to match the import file for activities. Is there a way to do this upon the import of contact files? I already deleted the contact imports to try putting my IDs as the contact IDs but getting mismatched contact type or no contact found for this contact ID:

Unless someone has a workaround for importing activities and matching them to the new Contact IDs without having to figure out each new ID to then add into a column in the import spreadsheet?

Update: I rolled back to my backup from last night to see if it was because my previous import attempts meant contact IDs were already taken regardless of deletion. Still same error of "no contact ID found for this contact ID".

# Answer
Not sure I quite follow. If you have a table with the Ext ID and the Activity. And you have previously created the Contacts with the Ext ID, then you can export the Contact ID and Ext ID, do a vlookup in a spreadsheet, then import your table using the Contact ID.

That said, I am surprised that importing Activities does not allow you to match on Ext ID.

THere is also this extension which gives more options for importing: https://civicrm.org/extensions/api-csv-import-gui

Perhaps you could clarify your question by giving a very simple example of what the data is you are dealing with, eg

IMPORT v1 Ext ID + email etc

IMPORT v2 Ext ID + Activity
> 2 votes

---
Tags: contacts, import, activities
---


# Question
Title: Public Event/Contribution Pages Not Showing
I have created an event and I have set permissions for public access based on the following from the permissions guide :

> Viewing event info and registering for events¶
>
> If **view event info** and **register for events** are enabled (*I HAVE THESE ENABLED*) for the anonymous and authenticated roles then all visitors to your site will be able to register for any event.

I made a new hidden menu item which is an Event Registration Form and selected the event. Event date and registration date are set earlier than today. The form should be appearing here: https://www.heartgalleryofbroward.org/test-event-reg (NOTE: The Live URL works from within the event. I tried using this URL as a menu type - URL and just get a 404 component not found).

Can someone assist? I tried looking around in stack exchange but cannot find anything other than checking permissions.

UPDATE: I also have setup a contribution form which is also not displaying. https://www.heartgalleryofbroward.org/test-contribution

Updating as well with some screenshots of public permissions:

Thank you!

UPDATE:

Here is the screenshot of settings for menu items as CiviCRM menu settings in Joomla. These seem to be set correctly, but no form is showing.

And this is the live link I am talking about. I go to manage events, event links for our TruHearts event, live link: https://www.heartgalleryofbroward.org/index.php?option=com\_civicrm&task=civicrm/event/register&reset=1&id=3

And for Contribution pages I click links for general donation and get this: https://www.heartgalleryofbroward.org/index.php?option=com\_civicrm&task=civicrm/contribute/transact&reset=1&id=1

Both live links will show someone the form in incognito mode/anonymous user. but I cannot actually get these forms to work on their own on the website through menu items.

UPDATE 2/24/24:

I confirmed that the template in use has a component section for the main body.

# Answer
> 1 votes
A couple of ideas:

I see you're using a Joomshaper Helix template. Does the template style assigned to your two menu items include a Joomla "Component" area?

Are you using any custom URL rewrite rules? Have you tried the Civi menu items with friendly URLs turned off?

Are you using any firewall extension like Akeeba Admin Tools that might be blocking any of the Civi components?

# Answer
> 1 votes
Please make sure jQuery is loading on your site.

SPPagebuilder resources are not loading correctly.

The payment/donation popup is not loading its contents.

There seems to be a js/jQuery issue on your site.

You can use a menu-item to display the event registration form on your site. **You can NOT use a custom SEO-link (menu-item type URL) to display the respective form.**

I'd suggest to work with the redirection component of joomla and redirect URL/short-link to the URL/index.php?option=com\_civicrm&task...

---
Tags: civievent, civicontribute, joomla, contribution-page, forms
---


title: Write failed: No space left on device

text:
# Question
Title: Write failed: No space left on device
We currently have CiviCRM installed in a Bitnami solution in WordPress from a VM in Azure. In the last few days we have experienced problems logging in and when trying to access phpmyadmin we received this message:

> session\_write\_close(): Write failed: No space left on device (28)
>
> session\_write\_close(): Failed to write session data (files). Please verify that the current setting of session.save\_path is correct (/opt/bitnami/php/var/run/session)

The answer seems obvious **"The server disk is full"**, however I would not want to rush to change the size of the Virtual Machine in Azure without first trying other options.

By running **df -h** we get the following:

```
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           796M  524K  796M   1% /run
/dev/sdb1        30G   28G     0 100% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sdb15      124M   11M  114M   9% /boot/efi
/dev/sda1        16G   24K   15G   1% /mnt
tmpfs           796M     0  796M   0% /run/user/1000

```

We have very important data that increases the MariaDB tables, we have also already **optimized the tables**, but this does not seem to work.

These are the characteristics of the resource created in Azure. (Server)

> **VM:** Standard D2s v3 (2 vcpu, 8 GiB memory) BITNAMI WordPress
> **OS disk:** Storage type - Premium SSD LRS Size | (GiB) - 30

# Answer
> 2 votes
Your root filesystem on `/dev/sdb1` shows as 100% in use which is where your `/opt/bitnami/php/var/run/session` is probably located and makes sense of the error message you are getting.

You either need to expand that `/dev/sdb1` filesystem or move some files from that to another filesystem. You have 15G free on `/mnt` so you could look at relocating `/opt` or `/opt/bitnami` to `/mnt` \- but it depends how big those subtrees are and what level of access you have.

It's just a disk space issue and nothing to do with CiviCRM.

---
Tags: php, civicrm.settings.php, admin, webserver, mariadb
---


# Question
Title: Upgrade to 5.70 caused issues; incomplete or flawed version or?
I upgraded to the latest release last night and the upgrade appeared to have succeeded, but there were issues as I did it—out of memory issues on the sever (which I think I resolved now by editing the correct php.ini file), so may not have completed all tasks.

Symptoms:

1. Status page does not show anything at all
2. Going to the CiviCRM menu initially results in an error, but refreshing browser immediately resolves it.
3. Log shows Error: Undefined class constant 'MAJOR\_VERSION' in GuzzleHttp\Utils::defaultUserAgent() (line 116 of ... /sites/all/modules/civicrm/vendor/guzzlehttp/guzzle/src/Utils.php).

CiviCRM Cron results in function should not be reachable Caller: CRM\_Contact\_BAO\_Query::whereClauseSingle Array ( \[civi.tag\] =\> deprecated )

User deprecated function: function should not be reachable Caller: CRM\_Contact\_BAO\_Query::whereClauseSingle in CRM\_Core\_Error::deprecatedWarning() (line 1129 of .../public\_html/sites/all/modules/civicrm/CRM/Core/Error.php).

Warning: file\_get\_contents(https://latest.civicrm.org/stable.php?format=summary): Failed to open stream: no suitable wrapper could be found in CRM\_Utils\_VersionCheck-\>pingBack() (line 297 of .../sites/all/modules/civicrm/CRM/Utils/VersionCheck.php).

Ideas and solutions?

"CIVI\_VERSION": "5.70.0", "CMS\_VERSION": "7.98", (Drupal) domain is using php 7.4 (higher versions are right now resulting in website errors.) shell for upgrade was using php 8.1

# Answer
Check your extensions - you may have one using an older version of Guzzle. See if there is a newer version of the extension and upgrade it. Alternatively, disable it to get things running again.

You may have more issues if there were memory problems causing steps of the upgrade to fail. You might be better to restore the backup you did just before upgrading and rerun the upgrade with your modified php.ini
> 2 votes

---
Tags: upgrade
---


# Question
Title: Webform token works for file name pattern but not for activity subject?
I am testing a proof of concept for photo uploads. I want the name of each photo to have a unique ID with a combination of the Organisation's External ID, its CiviCRM contact ID, and a random number. The Organisation is selected on the form via an auto complete and its name displayed, and its External ID and Contact ID are stored via two Hidden fields. This all works fine.

I can rename the files on submission by using the 'rename files' and the following tokens:

```
[webform_submission:values:civicrm_2_contact_1_contact_contact_id]-[webform_submission:values:civicrm_2_contact_1_contact_external_identifier]-[webform_submission:uuid]

```

Each file gets stored with the unique prefix with an \_1, \_2 etc and so this also works as expected.

It then goes awry with CiviCRM activities. I have a CiviCRM activity attached to this form and want the Activity subject to have the same unique number. I have used exactly the same tokens but the only one that prints is `[webform_submission:uuid]`? I cannot get the contact ID `[webform_submission:values:civicrm_2_contact_1_contact_contact_id]` or External ID `[webform_submission:values:civicrm_2_contact_1_contact_external_identifier]` to store in the subject line. Exactly the same tokens will print fine in a confirmation screen or email. I end up with a subject of the two raw tokens and the correct UUID.

I have tried them individually (as the help says use commas to separate default values), but again, the only one that works is the UUID.

Any ideas?

# Answer
> 1 votes
Can you try changing the type of the element to `computed_twig` and confirm if it stores the subject correctly?

The source yaml could look like:

```
  civicrm_1_activity_1_activity_subject:
    '#type': computed_twig
    '#title': 'Activity Subject'
    '#prepopulate': true
    '#template': '{{ uuid }} - {{ data.civicrm_2_contact_1_contact_existing }} - {{ data.civicrm_2_contact_1_contact_external_identifier }}'
    '#store': true
    '#form_key': civicrm_1_activity_1_activity_subject
    '#extra':
      width: 20
    '#parent': civicrm_1_activity_1_fieldset_fieldset

```

The above snippet assumes you have `Existing Contact` enabled for 2nd contact in your webform settings.

---
Tags: webform-civicrm, tokens
---


# Question
Title: Change Profile submission confirmation FROM email
I have a standalone profile that is embedded on a WordPress page using a shortcode. I have set up email notifications in the advanced settings of the profile for when a submission occurs. I receive the email fine, but I would like to change the FROM email address it's sent from, usually send from the default one. I could not find any setting to override that. Any idea how to achieve that, please? Thanks

# Answer
> 2 votes
I have created a extension that allows one to select from an address and message template for notification when a profile is submitted.

It needs a patch to be applied to make it work. The PR should be merged in 5.72 version.

---
Tags: profile, email, smtp, shortcode
---


# Question
Title: How can you bulk update contacts found using search kit?
Is anyone else having issues updating contacts via profile using searchkit? I click the contacts I want to update, I select update profile using actions - I choose the profile - then nothing happens. 5.69.5

Replicated in demo master - https://wpmaster.demo.civicrm.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fsearch#/edit/43

When I go to bulk profile update any of them - I cant.

For now - I add contacts to a group then go to group via manage groups and update the contacts there.

# Answer
There are known bugs with the "Profile Update" action, however fixing them has been low-priority because there is another alternative: in SearchKit you can select the "Update Contacts" action which allows you to choose values directly, without needing to configure a profile.
> 3 votes

---
Tags: contacts, profile, searchkit
---


# Question
Title: Event registration state and country not working together
We are venturing into event registrations in CiviCRM (version 5.65.2) for the first time. On our form, there are a series of address fields tied to an Individual contact type. The fields show properly and work together when I'm logged in, but when I bring up the form as an anonymous user (which we want to allow), things don't work. You can change the Country field, but the State field never adjusts from its disabled state showing "Choose country...". There are no errors in the browser's console. What are we missing? How do we fix this?

**Updated 26-FEB-2024**

1. CiviCRM is installed in WordPress.
2. The fields in question are profile fields. Here is a screenshot of the back-end setup of those fields:

# Answer
Please check, if the desired countries and states/provinces for your form are configured correctly. You find theses settings in "Administer \> Localization \> Languages, Currency, Locations". There you will have to select the countries/states/provinces that should be available to choose from for your registration form.
> 0 votes

---
Tags: civievent, registration, addresses
---


# Question
Title: Error saving update on Participant Status
After the latest Core update I receive an error when trying to save an updated Event Participant Status. The record ultimately does save, but throws an error (details below). I'm not sure how to interpret it. Any indication where I should be looking, or what is going wrong?

**DETAILS:**

* CiviCRM version 5.69.3
* WordPress version 6.4.3
* Active theme: Hello Elementor (version 2.4.2.1642712871)
* PHP version 8.1.23

# Error Details

An error of type E\_ERROR was caused in line 90 of the file /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/Civi/WorkflowMessage/WorkflowMessage.php. Error message: Uncaught TypeError: Civi\WorkflowMessage\WorkflowMessage::importAll(): Argument #1 ($model) must be of type Civi\WorkflowMessage\WorkflowMessageInterface, array given, called in /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/MessageTemplate.php on line 358 and defined in /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/Civi/WorkflowMessage/WorkflowMessage.php:90 Stack trace: #0 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/MessageTemplate.php(358): Civi\WorkflowMessage\WorkflowMessage::importAll(Array, Array) #1 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/MessageTemplate.php(422): CRM\_Core\_BAO\_MessageTemplate::renderTemplateRaw(Array) #2 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/api/v3/MessageTemplate.php(126): CRM\_Core\_BAO\_MessageTemplate::sendTemplate(Array) #3 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm\_api3\_message\_template\_send(Array) #4 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(156): Civi\API\Provider\MagicFunctionProvider-\>invoke(Array) #5 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(79): Civi\API\Kernel-\>runRequest(Array) #6 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/api/api.php(136): Civi\API\Kernel-\>runSafe('MessageTemplate', 'send', Array) #7 /home/\[MYDOMAIN\]/www/www/wp-content/uploads/civicrm/ext/de.systopia.eventmessages/CRM/Eventmessages/SendMail.php(100): civicrm\_api3('MessageTemplate', 'send', Array) #8 /home/\[MYDOMAIN\]/www/www/wp-content/uploads/civicrm/ext/de.systopia.eventmessages/CRM/Eventmessages/Logic.php(305): CRM\_Eventmessages\_SendMail::sendMessageTo(Array) #9 /home/\[MYDOMAIN\]/www/www/wp-content/uploads/civicrm/ext/de.systopia.eventmessages/CRM/Eventmessages/Logic.php(85): CRM\_Eventmessages\_Logic::processStatusChange(40, 20, 21, 605) #10 /home/\[MYDOMAIN\]/www/www/wp-content/uploads/civicrm/ext/de.systopia.eventmessages/eventmessages.php(104): CRM\_Eventmessages\_Logic::recordPostCommit(605, Object(CRM\_Event\_BAO\_Participant)) #11 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook.php(288): eventmessages\_civicrm\_postCommit('edit', 'Participant', 605, Object(CRM\_Event\_BAO\_Participant), NULL) #12 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook/WordPress.php(136): CRM\_Utils\_Hook-\>runHooks(Array, 'civicrm\_postCom...', 5, 'edit', 'Participant', 605, Object(CRM\_Event\_BAO\_Participant), NULL, NULL) #13 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/Civi/Core/CiviEventDispatcher.php(326): CRM\_Utils\_Hook\_WordPress-\>invokeViaUF(5, 'edit', 'Participant', 605, Object(CRM\_Event\_BAO\_Participant), NULL, NULL, 'civicrm\_postCom...') #14 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(251): Civi\Core\CiviEventDispatcher::delegateToUF(Object(Civi\Core\Event\PostEvent), 'hook\_civicrm\_po...', Object(Civi\Core\UnoptimizedEventDispatcher)) #15 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\Component\EventDispatcher\EventDispatcher-\>callListeners(Array, 'hook\_civicrm\_po...', Object(Civi\Core\Event\PostEvent)) #16 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/Civi/Core/CiviEventDispatcher.php(263): Symfony\Component\EventDispatcher\EventDispatcher-\>dispatch(Object(Civi\Core\Event\PostEvent), 'hook\_civicrm\_po...') #17 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook.php(401): Civi\Core\CiviEventDispatcher-\>dispatch('hook\_civicrm\_po...', Object(Civi\Core\Event\PostEvent)) #18 \[internal function\]: CRM\_Utils\_Hook::postCommit('edit', 'Participant', 605, Object(CRM\_Event\_BAO\_Participant)) #19 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/Civi/Core/Transaction/Frame.php(198): call\_user\_func\_array(Array, Array) #20 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/Civi/Core/Transaction/Frame.php(148): Civi\Core\Transaction\Frame-\>invokeCallbacks(2) #21 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/Civi/Core/Transaction/Manager.php(103): Civi\Core\Transaction\Frame-\>finish() #22 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Transaction.php(126): Civi\Core\Transaction\Manager-\>dec() #23 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Event/BAO/Participant.php(253): CRM\_Core\_Transaction-\>commit() #24 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Event/Form/Participant.php(1003): CRM\_Event\_BAO\_Participant::create(Array) #25 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Event/Form/Participant.php(808): CRM\_Event\_Form\_Participant-\>submit(Array) #26 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(625): CRM\_Event\_Form\_Participant-\>postProcess() #27 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Upload.php(153): CRM\_Core\_Form-\>mainProcess() #28 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Upload.php(120): CRM\_Core\_QuickForm\_Action\_Upload-\>realPerform(Object(CRM\_Event\_Form\_Participant), 'upload') #29 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM\_Core\_QuickForm\_Action\_Upload-\>perform(Object(CRM\_Event\_Form\_Participant), 'upload') #30 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML\_QuickForm\_Controller-\>handle(Object(CRM\_Event\_Form\_Participant), 'upload') #31 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(355): HTML\_QuickForm\_Page-\>handle('upload') #32 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Event/Page/Tab.php(100): CRM\_Core\_Controller-\>run() #33 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Event/Page/Tab.php(158): CRM\_Event\_Page\_Tab-\>edit() #34 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(322): CRM\_Event\_Page\_Tab-\>run(Array, NULL) #35 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(69): CRM\_Core\_Invoke::runItem(Array) #36 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(36): CRM\_Core\_Invoke::\_invoke(Array) #37 /home/\[MYDOMAIN\]/www/www/wp-content/plugins/civicrm/civicrm.php(1231): CRM\_Core\_Invoke::invoke(Array) #38 /home/\[MYDOMAIN\]/www/www/wp-includes/class-wp-hook.php(324): CiviCRM\_For\_WordPress-\>invoke('') #39 /home/\[MYDOMAIN\]/www/www/wp-includes/class-wp-hook.php(348): WP\_Hook-\>apply\_filters('', Array) #40 /home/\[MYDOMAIN\]/www/www/wp-includes/plugin.php(517): WP\_Hook-\>do\_action(Array) #41 /home/\[MYDOMAIN\]/www/www/wp-admin/admin.php(259): do\_action('toplevel\_page\_C...') #42 {main} thrown

# Answer
> 2 votes
Note this was fixed in the latest 5.69 point release (5.69.5)

---
Tags: error
---


# Question
Title: illegal offset type in CiviEventDispatcher
On attempt to install on Drupal 10.2.3 I get at line

```
if (isset($this->dispatchPolicyExact[$eventName])) {

```

```
TypeError: Illegal offset type in isset or empty in Civi\Core\CiviEventDispatcher->checkDispatchPolicy() (line 417 of vendor/civicrm/civicrm-core/Civi/Core/CiviEventDispatcher.php).
Civi\Core\CiviEventDispatcher->dispatch(Object, 'civi.setup.init') (Line: 106)
Civi\Setup::init(Array) (Line: 120)
_civicrm_setup() (Line: 71)
civicrm_requirements('install')
call_user_func_array(Object, Array) (Line: 400)
Drupal\Core\Extension\ModuleHandler->invoke('civicrm', 'requirements', Array) (Line: 156)
Drupal\hook_event_dispatcher\HookEventDispatcherModuleHandler->invoke('civicrm', 'requirements', Array) (Line: 958)
drupal_check_module('civicrm') (Line: 463)
Drupal\system\Form\ModulesListForm->buildModuleList(Object) (Line: 481)
Drupal\system\Form\ModulesListForm->submitForm(Array, Object)
call_user_func_array(Array, Array) (Line: 129)
Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object) (Line: 67)
Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object) (Line: 597)
Drupal\Core\Form\FormBuilder->processForm('system_modules', Array, Object) (Line: 325)
Drupal\Core\Form\FormBuilder->buildForm(Object, Object) (Line: 73)
Drupal\Core\Controller\FormController->getContentResult(Object, Object)
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 627)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 121)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 181)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle(Object, 1, 1) (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 52)
Drupal\crawler_rate_limit\CrawlerRateLimitMiddleware->handle(Object, 1, 1) (Line: 57)
Drupal\advban\AdvbanMiddleware->handle(Object, 1, 1) (Line: 50)
Drupal\ban\BanMiddleware->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 704)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

```

# Answer
do not know if there was bad code , bur a "composer update -W" brought down version 570.1 and then Could not delete without locking up the site, so I ran an update. Same issue, but it threw arrors into the terminal of the $var error and identified the file as /vendor/pear/db/DB.php on line 474, 547, 549 and 552, and I fixed those, and had to run "mysql\_upgrade -u root -pxxx " from a mysql.proc error and it finally came up See also https://stackoverflow.com/questions/27918764/cannot-load-from-mysql-proc-the-table-is-probably-corrupted
> 0 votes

---
Tags: install
---


# Question
Title: Mailing only delivering to some contacts
When I send a mailing out it is only being delivered to I think around 50% of the contacts it should be. I am not receiving them despite being on the mailing list and others I have asked. However, when I click on the report it is saying it has successfully delivered to all contacts. I assume it is around 50% as my clicks are down 50% compared to 2 weeks ago.

# Answer
> 1 votes
Please make sure you use a DKIM-signature and have a valid SPF-entry on your host/server-side.

---
Tags: contacts, email, mailing
---


# Question
Title: Steps to create a development Joomla environment
Our live CIVICRM environment is CiviCRM 5.67.1, Joomla 4.4.2, PHP 8.1, hosted on Siteground.

We are in the process of trying to replicate our live site to a development site where we can configure and test changes prior to doing the same on our live site.

We have not been successful in our efforts to make this happen. What we have tried is backing the live site up with Akeeba and using that backup to restore to a dev slot. We have also tried the same with backups that Siteground executes to no avail.

Would greatly appreciate it if I could get the exact steps that need to be executed to create a development site in an enivironment as stated above. TIA.

# Answer
The procedure works as follows:

1. Take a complete backup of the live-site via Akeeba Backup, incl. the whole DB.
2. Create a new domain/subdomain/staging environment
3. Create a new empty DB and a DB-user
4. Copy the backup-archive/-s (.jpa-file and .jp\[0-9\]-files) to your staging environment
5. Unpack the archive with Akeeba Kickstart
6. Run the ANGIE-installer, make sure to adjust DB-connection and -credentials to the new empty DB created in step 3
7. Adjust tmp- and log-path in ANGIE to match the new environment
8. Finish the restoration of the ported DB and files through Akeeba Backup.
9. Edit the two files **civicrm.settings.php**, one in administrator/components/com\_civicrm and the second in components/com\_civicrm: declare the new DB-connection and -credentials in those two files

That's it. You're done and should be able to run CiviCRM from your staging environment now.
> 2 votes

---
Tags: joomla, developer, php8, siteground
---


title: Civimail: from address is wrong

text:
# Question
Title: Civimail: from address is wrong
I need help solving a problem regarding the "from" field when sending mailings via Civimail. I have the correct person chosen in the "From" field on the compose screen.

I also have the name and email address set correctly on the Administer -\> Civimail -\> From Email Addresses screen.

And here's the edit screen from that.

The problem is that when the mail is actually sent, the "from" address doesn't match when I go to read the message in my inbox.

As you can see, the name is correct but the email address is different. Any ideas? Is there another place I need to set the email correctly?

Thank you, Richard

# Answer
The problem was that the email address set in Administer -\> System Settings -\> Outbound Email was not what it should have been. I corrected it and now the problem is solved.

Thank you for your help, Pradeep.

Richard
> 2 votes

# Answer
It depends upon what is the email i.e Event registration or Donation receipts or reminders etc

Civi allows you to choose your own from address(name and email) and not from the From address lists for sending one of above-mentioned emails.

So you will need to go into the respective configuration and check under receipt section for From name and From address.

HTH

Pradeep
> 3 votes

---
Tags: civimail, outbound-email
---


# Question
Title: unable to change selections for participant registrations
we've just set up our first event in a year and I've just realized it's not possible to change the selections of any participant in the admin backend.

The registration process itself works fine. Participants register through a CiviEvent online registration form in the frontend. But making backend changes to existing registrations isn't possible.

I can view or edit the participant record, and there is a "Change selections" button where I expect it. But when the "Change Selections" is clicked, the "Change Registration Selections" window opens as expected, but there simply is no list of other options shown. So there are no options to change or select. The window shows the current selections, then goes right to "Payment Confirmation" section. See below:

There are no errors in the browser console, and no errors in the ConfigDebug log. The functionality simply isn't there.

As it's been a while since our last event, and I have made several upgrades since last time, I have no idea when this functionality disappeared; it was working for our event in March 2023. I was hoping this was a version issue, so I've just upgraded to Civi 5.70.0. But the issue still persists.

System info: Joomla 3.10 CiviCRM both 5.66.1 and 5.70.0

# Answer
> 2 votes
It's buried in the comments, but I wanted to put a conclusion here -- in the end it was some forgotten custom PHP code that was the culprit. Thank you Pradeep for the suggestion, sorry I couldn't give you the bounty!

# Answer
> 1 votes
Attempted to replicate on dmaster.

https://dmaster.demo.civicrm.org/civicrm/contact/view/participant?reset=1&action=update&id=42&cid=77

Click through to change selection gives me this url

https://dmaster.demo.civicrm.org/civicrm/event/participant/feeselection?reset=1&id=42&cid=77&action=update

and this screen

is there anything about what I have done that is incorrect, as currently it seems like it does deliver the expected outcome

if the problem on your site cannot be replicated on eg dmaster or one of the other demo sites then perhaps worth using Inspect to see if you can see any console errors

---
Tags: civievent, participants
---


# Question
Title: Installing extension to allow CiviDiscount without event or membership
I want to use CiviDiscount for a contribution that is not an event or membership. I've tried with a priceset and that doesn't work. Looking at Can CiviDiscount be used on a Contribution Page without Membership I see this wasn't desogned to workbut @bgm has written some code that does this. Its an extension and I have put the code in the extension folder but it doesn't show on the system \> extensions screen so I can't Enable it. Its described as a proof-of-concept extension so maybe I need to do something else. I do have CiviDiscount enabled. Not sure what to try next.

Extension is https://lab.civicrm.org/extensions/discountcontributions

# Answer
Clear your CiviCRM cache or Hit the refresh button in extension page
> 1 votes

---
Tags: extension, cividiscount
---


title: GDPR Module fatal errors

text:
# Question
Title: GDPR Module fatal errors
I have gotten the GDPR module working in all cases that I need anyway. I'm sure there are some more issues, but I haven't gotten anymore fatal errors.

I will upload a diff, and it appears the module is abandoned, but we need it and especially the Terms and Conditions for events which now works.

I'm not a full-time dev anymore and a volunteer at our organization. The only tech person, so my time is limited. I would like to give this back. I guess I can take over the module, or fork it? What is best?

# Answer
I see you have opened an issue on its Github repo which is a good start. See what response you get to that - they may be ok to hand it over but otherwise you can create a fork and submit a PR.
> 0 votes

---
Tags: gdpr
---


# Question
Title: New Mailing error "SAVEPOINT civi_0 does not exist"
PATH(civicrm/a/#/mailing/new) When I input data, the system will save data, and after save, "SAVEPOINT civi\_0 does not exist" appears in the message box on the right. I have installed the latest version of DRUAPL and CIVICRM. Why are there always so many problems?

# Answer
> 1 votes
I've found this discussion in the issue logs and a solution that appears to work (enable patching in composer):

https://lab.civicrm.org/dev/core/-/issues/2198

---
Tags: mailing
---


# Question
Title: SmartyException: "Unable to load template 'file:group2summary.tpl'"
I have a CiviCRM plugin in my worpdress website and am getting following exception while clicking on single "View" in contacts :

```
SmartyException: "Unable to load template 'file:group2summary.tpl'"

```

I updated my CiviCRM to 5.70.1, all extensions including "group2summary" seem to be up-to-date. I cleared CiviCRM cache but it did not help. My Wordpress and all plugins are up-to-date. Any ideas on what else can be done?

Here is exception log:

```
#0 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render(FALSE, 0)
#1 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(116): Smarty_Internal_TemplateBase->_execute(Object(Smarty_Internal_Template), NULL, NULL, NULL, 0)
#2 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Region.php(81): Smarty_Internal_TemplateBase->fetch("group2summary.tpl")
#3 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Region.php(157): CRM_Core_Region->{closure}((Array:8))
#4 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Smarty/plugins/block.crmRegion.php(26): CRM_Core_Region->render("          \n      \n  <div><input name=\"entryURL\" type=\"hidden\" value=\"h...", TRUE)
#5 /home/globalphil/public_html/wp-content/uploads/civicrm/templates_c/en_US/09/db/ee/09dbee8c8e3bca9eaff6bf395a1dbee9d7666bc5_0.file.CMSPrint.tpl.php(107): smarty_block_crmRegion((Array:1), "          \n      \n  <div><input name=\"entryURL\" type=\"hidden\" value=\"h...", Object(Smarty_Internal_Template), FALSE)
#6 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_65e502b040bc80_61552004(Object(Smarty_Internal_Template))
#7 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode(Object(Smarty_Internal_Template))
#8 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(216): Smarty_Template_Compiled->render(Object(Smarty_Internal_Template))
#9 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(385): Smarty_Internal_Template->render()
#10 /home/globalphil/public_html/wp-content/uploads/civicrm/templates_c/en_US/36/00/0d/36000d975f6d067785f581437bd6e0167ea5fa53_0.file.wordpress.tpl.php(31): Smarty_Internal_Template->_subTemplateRender("file:CRM/common/CMSPrint.tpl", NULL, NULL, 0, 3600, (Array:0), 0, FALSE)
#11 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_65e502b03ecbf0_29524232(Object(Smarty_Internal_Template))
#12 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode(Object(Smarty_Internal_Template))
#13 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(216): Smarty_Template_Compiled->render(Object(Smarty_Internal_Template))
#14 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render(FALSE, 0)
#15 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(116): Smarty_Internal_TemplateBase->_execute(Object(Smarty_Internal_Template), NULL, NULL, NULL, 0)
#16 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Page.php(273): Smarty_Internal_TemplateBase->fetch("CRM/common/wordpress.tpl")
#17 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/CRM/Contact/Page/View/Summary.php(122): CRM_Core_Page->run()
#18 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(322): CRM_Contact_Page_View_Summary->run((Array:3), NULL)
#19 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem((Array:18))
#20 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:3))
#21 /home/globalphil/public_html/wp-content/plugins/civicrm/civicrm.php(1231): CRM_Core_Invoke::invoke((Array:3))
#22 /home/globalphil/public_html/wp-includes/class-wp-hook.php(324): CiviCRM_For_WordPress->invoke("")
#23 /home/globalphil/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters("", (Array:1))
#24 /home/globalphil/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#25 /home/globalphil/public_html/wp-admin/admin.php(259): do_action("toplevel_page_CiviCRM")
#26 {main}

```

And here are warnings from debug.log (I did not see them before) :

```
[03-Mar-2024 23:11:23 UTC] PHP Notice:  Indirect modification of overloaded property CRM_Core_Smarty::$template_dir has no effect in /home/globalphil/public_html/wp-content/uploads/civicrm/ext/org.wikimedia.geocoder/geocoder.civix.php on line 107
[03-Mar-2024 23:11:23 UTC] PHP Notice:  Indirect modification of overloaded property CRM_Core_Smarty::$template_dir has no effect in /home/globalphil/public_html/wp-content/uploads/civicrm/ext/coop.palantetech.exportprimaryemails/exportprimaryemails.civix.php on line 100
[03-Mar-2024 23:11:23 UTC] PHP Notice:  Indirect modification of overloaded property CRM_Core_Smarty::$template_dir has no effect in /home/globalphil/public_html/wp-content/uploads/civicrm/ext/eu.tttp.group2summary/group2summary.civix.php on line 100
[03-Mar-2024 23:11:23 UTC] PHP Notice:  Indirect modification of overloaded property CRM_Core_Smarty::$template_dir has no effect in /home/globalphil/public_html/wp-content/uploads/civicrm/ext/contactnotes/contactnotes.civix.php on line 100

```

# Answer
> 1 votes
Its a known issue for Smarty3, I have pushed a PR for the https://lab.civicrm.org/extensions/group2summary/-/merge\_requests/11

You can apply the patch or comment `CIVICRM_SMARTY3_AUTOLOAD_PATH` line in your civicrm.settings.php

---
Tags: civicrm.settings.php
---


title: User logins over past month

text:
# Question
Title: User logins over past month
OK I'm sure this is really easy but I cant find out how to do it.

I simply want to know how many users have logged in each month so that I can track activity.

Any help much appreciated.

Thanks Mike

# Answer
User authentication and management when using CiviCRM are handled by your CMS of choice (CiviCRM standalone aside).

For Wordpress, I've had good success with User Login History to generate data to report on Monthly Active Users (MAU) to see how much usage the CRM is getting. You'll need to export the CSV, trim it to get only the successful logins and group by User ID, etc to get that figure.
> 2 votes

---
Tags: user-account, logs
---


title: Outdated tokens in use system message

text:
# Question
Title: Outdated tokens in use system message
I have the system message below after updating to civicrm 5.70.0 on Wordpress 6.4.3. My question is for the 1st one: Do I just replace `$participant.id` (as I find it without the curly brackets) with {participant.id} or just participant.id? For the 2nd one: in the if and foreach below do i replace $dataArray with {found within $taxBreakDown} (with the curly brackets) ?

{foreach from=$dataArray item=value key=priceset}

{if !empty($dataArray)}

---

You are using tokens that have been removed or deprecated.

Please review your event\_online\_receipt message template and remove references to the token {`$participant.id`} as it has been replaced by {participant.id}

Please review your event\_online\_receipt message template and remove references to the token {$dataArray} as it has been replaced by {found within $taxBreakDown}

# Answer
> 2 votes
This alert is because you have a custom implementation of the System message template `event_online_receipt`.

If there are minimal custom changes to your template, such as a header addition or image logo, it would be advisable to revert the template to its default state and then reapply your modifications on top of the updated HTML.

If there are complex custom additions to your template, pretty sure for the first, a simple replacement with `{participant.id}` is required (including brackets).

Eg, if you have

```
{if $isPrimary || $participant.id === $currentParticipant.id}

```

replace it with

```
{if $isPrimary || {participant.id} === $currentParticipant.id}

```

Re `$dataArray`, its a bit complicated and not just a replacement with `{found within $taxBreakDown}`. I think best would be to compare your template with the default HTML and then choose, which part is required, can be omitted, etc.

---
Tags: wordpress
---


title: Mosaico Install Fail -- DB Error

text:
# Question
Title: Mosaico Install Fail -- DB Error
So this weekend I purchased hosting via CiviHosting for a WP/CiviCRM setup. Most things have been setup without much issue, however, Mosaico will not install. It fails with a rather generic, 'DB Error: Syntax error'.

Mosaico Install version is 3.5.1709296836
Civi is version 5.67.0
WP is version 6.4.3
PHP is 8.3.2
MySQL is v8.0.35

Its not likely related, but I was also unable to install CiviVolunteer, though in troubleshooting that it appears to be on borrowed time.

Here is error log:

```
    2024-03-04 04:05:01+0000  [error]
$Fatal Error Details = array:3 [
  "message" => "DB Error: syntax error"
  "code" => null
  "exception" => CRM_Core_Exception {#3165
    #message: "DB Error: syntax error"
    #code: -2
    #file: "/home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/api/api.php"
    #line: 138
    #cause: null
    -_trace: null
    -errorData: array:8 [
      "error_code" => -2
      "sql" => ":  Undefine_e112a5f4_after_insert"
      "debug_info" => """
        DROP TRIGGER IF EXISTS civicrm_value_civivolunteer_\n
        :  Undefine_e112a5f4_after_insert [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':  Undefine_e112a5f4_after_insert' at line 2]
        """
      "entity" => "Extension"
      "action" => "install"
      "is_error" => 1
      "error_message" => "DB Error: syntax error"
      "debug_information" => ":  Undefine_e112a5f4_after_insert"
    ]
    trace: {
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/api/api.php:138 {
        civicrm_api3(string $entity, string $action, array $params = [])
        › if (is_array($result) && !empty($result['is_error'])) {
        ›   throw new CRM_Core_Exception($result['error_message'], CRM_Utils_Array::value('error_code', $result, 'undefined'), $result);
        › }
      }
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Admin/Form/Extensions.php:187 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php:614 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php:144 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php:43 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php:203 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php:103 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php:355 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php:364 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php:170 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Admin/Page/Extensions.php:110 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:322 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:69 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:36 { …}
      /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm.php:1199 { …}
      /home/friendsofthe/www/www/wp-includes/class-wp-hook.php:324 { …}
      /home/friendsofthe/www/www/wp-includes/class-wp-hook.php:348 { …}
      /home/friendsofthe/www/www/wp-includes/plugin.php:517 { …}
      /home/friendsofthe/www/www/wp-admin/admin.php:259 { …}
    }
  }
]

2024-03-04 04:05:01+0000  [debug] $backTrace = #0 /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(443): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(39): CRM_Core_Error::handleUnhandledException(Object(CRM_Core_Exception))
#2 /home/friendsofthe/www/www/wp-content/plugins/civicrm/civicrm.php(1199): CRM_Core_Invoke::invoke((Array:3))
#3 /home/friendsofthe/www/www/wp-includes/class-wp-hook.php(324): CiviCRM_For_WordPress->invoke("")
#4 /home/friendsofthe/www/www/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters("", (Array:1))
#5 /home/friendsofthe/www/www/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#6 /home/friendsofthe/www/www/wp-admin/admin.php(259): do_action("toplevel_page_CiviCRM")
#7 {main}

```

# Answer
> 0 votes
No solution found — As this was an a new install and not yet populated, CiviHosting deleted CiviCRM and reinstalled for me.

---
Tags: wordpress, extension, error, mosaico
---


# Question
Title: what are the payment gateways are possible in civicrm for NGO in India
Any suggestion about the payment gateways are possible in civicrm for NGO in India

# Answer
You can use paypal, we have done integration with Icici for one-off payment and enach for recurring
> 1 votes

---
Tags: wordpress, extension, import, payment-processor, search
---


# Question
Title: Contact Export Failure on Multiple Contacts
When I try to export multiple contacts I get the following error, if i do them one at a time no issue but I have nearly 24000 contacts

WordPress version 6.4.3 Active theme: Twenty Twenty-One Child (version 1.4.1643122669) Current plugin: CiviCRM (version 5.57.1) PHP version 7.4.27

# Error Details

An error of type E\_ERROR was caused in line 135 of the file wp-content/plugins/civicrm/civicrm/api/api.php. Error message: Uncaught CRM\_Core\_Exception: \[0: Invalid postal greeting

thrown

I have checked the postal greeting but cannot see anything that would cause it

Any ideas?

# Answer
> 1 votes
So in the DB itself the table "civicrm\_uf\_match", the "id" & "uf\_id" contained different numbers

Example: id = 3 uf\_id = 7

I matched the numbers to be the same and have fixed the issue.

@demerit thanks for the info too.

# Answer
> 0 votes
Change this line in api/v3/Contact.php line 649 from

`throw new CRM_Core_Exception(ts('Invalid %1 greeting', [1 => $key]));`

to

`throw new CRM_Core_Exception(ts('Invalid %1 greeting: %2', [1 => $key, 2 => $greetingVal]) . ' ' . var_export($params, true));`

This will give you some extra debugging info, and the `contact_id` value in the output will tell you which contact is the problem.

It seems like $greetingVal is somehow not one of the defined greetings.

---
Tags: contacts, export
---


# Question
Title: Is there a way to include WP Posts in Mosaico
I have a client who wants to publish newsletter directly calling the content from WordPress (image, title, content) without copy/paste. Tokens give access to all possible date inside CiviCRM but I can't find anything that would create a link to WP's content .

Other way to ask is: are WP posts exposed in CiviCRM? Is it possible?

# Answer
I need the same function. This looks like it would meet the need, but appears abandoned:

https://github.com/skyslasher/wp-civi-mosaico
> 0 votes

---
Tags: mosaico
---


# Question
Title: browser session expired = unable to complete event form
I am using WP 5.4.2 - PHP 7.2 - CiviCRM 5.27.3 - the Plugin lite-speed 3.2.4 is activated. UAT has raised this issue : "the browser session has expired you are unable to complete the event form subscription"

I see those post : All Contribution pages result in "Your browser session has expired" "Could not find a valid session key" Intermittent "Your browser session has expired and we are unable to complete your form submission" errors

And I understand the root cause is "cache management". Yes: if I delete cache on the host-admin the form is now available to the end.

Someone said the solution is :

> Based on further investigation and discussion this seems to have been related to the WP Super Cache "Don’t cache pages with GET parameters. (?x=y at the end of a url)" setting being disabled.

But I don't understand if the fix is to be done :

* on WordPress = modify WP Super Cache
* on Lite-speed plugin = desactivate it
* on the Host = ?

BR Hervé

# Answer
I modified the WP Super Cache settings and it's all good... (Deactivate visitors with cookies enabled) Thanks!
> 1 votes

# Answer
thank you for your answer. Yes I am using "WP Cleaner URL's": -the starting page seen in civicrm-admin is: /event/info/?reset=1&id=2

page1= http://migrationccb.esy.es/2020/08/03/la-6eme-edition-des-vallees-breuilletoise-se-prepare/?civiwp=CiviCRM&q=civicrm%2Fevent%2Fregister&cid=0&reset=1&id=2

page2= http://migrationccb.esy.es/2020/08/03/la-6eme-edition-des-vallees-breuilletoise-se-prepare/?civiwp=CiviCRM&q=civicrm%2Fevent%2Fregister&\_qf\_Confirm\_display=true&qfKey=4e151fc03d552da26b4ccef7fa052d83\_8032

page3= http://migrationccb.esy.es/2020/08/03/la-6eme-edition-des-vallees-breuilletoise-se-prepare/?civiwp=CiviCRM&q=civicrm%2Fevent%2Fregister&\_qf\_ThankYou\_display=true&qfKey=4e151fc03d552da26b4ccef7fa052d83\_8032

The website is hosting by Hostinger that advice to activate LiteSpeed from his admin-page: it is LiteSpeed Cache 3.3 with defaut settings. As a first step I decided now to

* un-activate "Mettre en cache les utilisateurs connectés"
* un-activate "Server stale"
* set "shedule purge time" at 00:01

Thank you for suggestions
> 0 votes

---
Tags: wordpress, civievent
---


# Question
Title: Civi does not send circular letters to all contacts in our distribution list. Why?
I send a circular letter to one of my companies distribution lists. On that list we have 107 contacts. In the report of the circular letter it reads that Civi send the letter to 94 contacts. The letter bounced in the case of 2 of those recipients, but that is not the issue. There are 11 contacts that did not get the letter because Civi did not try to send it to those contacts. Now I am scratching my head, why?

I checked and all 11 contacts have a valid E-Mail address and the box for bulk mailing is checked for those E-Mail addresses. What else could it be that they are not included in the list of recipients for our circular letters?

Any help/idea is appreciated!

Thank you :)

# Answer
There are several reasons why Civi would not send an email. I'm pretty sure this list will be missing at least one of those. I'm assuming you're using bulk email as it's over 50 recipients.

1. Duplicate email address (2 or more contacts with the same email address)
2. Email address is on hold (maybe from a previous bounce)
3. Contact has 'Do not email' set on in comms preferences
4. Contact opted out of bulk emails
> 4 votes

---
Tags: civimail, contacts
---


title: Deleting blank Gift Aids

text:
# Question
Title: Deleting blank Gift Aids
We had an issue with one of our forms and so we now need to delete a load of gift aid declarations from CiviCRM that are blank. Is there anyway we can do this in bulk rather than doing it manually.

Any help appreciated.

# Answer
> 1 votes
You could use API4 explorers

/civicrm/api4#/explorer/Custom\_Gift\_Aid\_Declaration/delete

Or via the searchkit

/civicrm/admin/search#/create/Custom\_Gift\_Aid\_Declaration?params=%7B"version":4,"select":%5B"id","Eligible\_for\_Gift\_Aid:label","Start\_Date","End\_Date","Reason\_Ended:label","Source","Notes","name\_of\_charity","High\_Rate\_Tax\_Payer:label","Declaration\_Method:label","Gift\_Aid\_confirmation\_date\_1"%5D,"orderBy":%7B%7D,"where":%5B%5D,"groupBy":%5B%5D,"join":%5B%5D,"having":%5B%5D%7D

---
Tags: gift-aid-extension
---


title: Hide Base Templates in Mosaico?

text:
# Question
Title: Hide Base Templates in Mosaico?
now that mosaico has 3 base templates for people to choose from - we don't want our users choosing any of those and only want them to use the custom template we created. Is there something I can do?

# Answer
> 4 votes
The best way to do this now is to go to **Administer menu » CiviMail » Mosaico Settings** and configure the *Hide these base templates* option. See screenshot.

# Answer
> 4 votes
I think there is nothing that allow to hide base templates for now.

Personally, I would like to see a functionality that allows hide selectively the usable templates from a list of available templates. Perhaps a new featured request could be opened on https://github.com/veda-consulting/uk.co.vedaconsulting.mosaico on this direction.

# Answer
> 3 votes
We did it by just removing those template files from the server (I couldn't find a less brute-force way to do it). In wordpress they are here: `wordpress/wp-content/uploads/civicrm/ext/uk.co.vedaconsulting.mosaico/packages/mosaico/templates`.

---
Tags: civimail, mosaico
---


# Question
Title: How to enable the ability to change the size of an image on Mosaico template or when using a Mosaico template to design an email
I would need that the editing options of an image is available either on the **Mosaico** templates or when designing an email from a Mosaico template. Specifically, the option to **change the size of the image**.

I have installed the ***Mosaico Extras*** extension to be able to configure on the *Mosaico Toolbar Settings* and I have added the tool set:

*| editimage imageoptions |*

but haven't achieved anything.

Any help on that, would be greatly appreciated.

# Answer
It's a bit hard to follow the question, so I'll state my understanding, using screenshots.

You would like to put an image into a Mosaico image placeholder that doesn't match the resolution of the placeholder. For example, in the image below, you want to put an image that is not 285x170 in the first image spot.

This isn't really possible, because email clients all render emails differently. Mosaico blocks are pre-written to ensure the template comes through the same on everyone's client. They must also resize correctly on mobile devices.

However, most blocks in the `versafix-1` template have alternate image sizes. For instance, both blocks in the image below are the same, but you can see on the left I set *Image Size* to **Small** on the second block.

I recommend changing the *Image Size* settings if you haven't already. In all likelihood, there is one that is close enough to what you need.

If none of those work at all, and you want to get a bit technical, you can create a new base template and modify your blocks.
> 1 votes

---
Tags: civimail, mosaico
---


# Question
Title: Custom views filter with civicrm_entity Drupal 9
Need a hint. With civicrm\_entity (3.5) i haven't the possibility to get multiple items in a views row. So i wrote a custom field and now I want to filter it.

I think this works for the contact type (Organization), but I need to filter the related contacts (Individual) by the attached tags.

```
if (!empty($this->value)) {
  $configuration = [
    'table' => 'civicrm_entity_tag',
    'field' => 'entity_id',
    'left_table' => 'civicrm_contact',
    'left_field' => 'id',
    'operator' => '=',
  ];
  $join = Views::pluginManager('join')->createInstance('standard', $configuration);
  $this->query->addRelationship('civicrm_entity_tag', $join, 'civicrm_contact');
  $this->query->addWhere('AND', 'civicrm_entity_tag.tag_id', $this->value, 'IN');

  dump($query->options['relationship']) // i get 'contact_id_a' thats correct with the relationship, but how can i use it?

}

```

# Answer
After I dig a little bit deeper into views and view some other examples - now it works:

```
if (!empty($this->value)) {
  $this->ensureMyTable(); // to get the tableAlias
  $configuration = [
    'table' => 'civicrm_entity_tag',
    'field' => 'entity_id',
    'left_table' => $this->tableAlias, // set the table alias
    'left_field' => 'id',
    'operator' => '=',
  ];
  $join = Views::pluginManager('join')->createInstance('standard', $configuration);
  $this->query->addRelationship('civicrm_entity_tag', $join, 'civicrm_contact');
  $this->query->addWhere('AND', 'civicrm_entity_tag.tag_id', $this->value, 'IN');
}

```
> 1 votes

---
Tags: drupal-views, civicrm-entity
---


# Question
Title: CiviCRM 5.69.4: CRM_Core_PseudoConstant::formatArrayOptions() must be of the type array, null given
Drupal 7.99 running PHP 8.1 - we are running into an issue during the upgrade from 5.63 to 5.69; the upgrade fails during the last queue runner on 5.69 with the following error: TypeError: Argument 2 passed to CRM\_Core\_PseudoConstant::formatArrayOptions() must be of the type array, null given, called in /sites/all/modules/civicrm/CRM/Core/PseudoConstant.php on line 188 in CRM\_Core\_PseudoConstant::formatArrayOptions()

At first I thought this was a PHP 8.x error, but after attempting to patch the code, the upgrade still fails.

Line 188: $fieldOptions = call\_user\_func(Civi\Core\Resolver::singleton()-\>get($pseudoconstant\['callback'\]), $fieldName, $params);

Any advice would be great, thank you.

https://docs.civicrm.org/dev/en/latest/framework/pseudoconstant/

# Answer
> 1 votes
It's hard to answer definitively based on the information provided so far, but I can probably get you past the point you're at.

First - the CiviCRM log should have a backtrace to accompany this error. Editing your question to include the backtrace will help folks give more specific advice.

But broadly - you have some multiple-choice question that, for whatever reason, has no choices. That's probably a data error. The backtrace should provide some insight as to why this is failing. For instance, if the field is the "currency" field, but you deleted all the currency options, this would happen. The "correct" solution is to fix the data error.

But there's a possibility that the lack of choices doesn't actually matter. So if you look at the backtrace and decide that, the solution would be to change line 187 from this:

```
$fieldOptions = call_user_func(Civi\Core\Resolver::singleton()->get($pseudoconstant['callback']), $fieldName, $params);

```

to this:

```
$fieldOptions = call_user_func(Civi\Core\Resolver::singleton()->get($pseudoconstant['callback']), $fieldName, $params) ?? [];

```

This will fix the error at line 188 you're seeing.

---
Tags: drupal
---


title: Using CiviRules to send SMS via Twilio

text:
# Question
Title: Using CiviRules to send SMS via Twilio
I have the Twilio extension installed and working for sending individual SMS messages. However, I don't see any way to trigger an SMS message via CiviRules. Has this not been developed or am I missing something?

# Answer
You will need to install SMS API extension https://civicrm.org/extensions/sms-api
> 1 votes

---
Tags: civirules, sms, twilio
---


title: CiviEvent widget: change date format?

text:
# Question
Title: CiviEvent widget: change date format?
I am trying to work with the CiviEvent widget but several things baffle me. First, the date format is all wrong and I don't see a way to change that? The date is correct on the event page, but not in CiviEvent.

**What I have:** Date format is set to `%E.%b%Y %H:%M`
**What I get:** `Okt. 22, 2023 5:15 pm`
**What I expect:** `22.Okt.2023 17:15`

How can I get the widget to output the correct date format?

**Edit:** I see that the plugin was last updated 5 years ago and this bug has already been reported 4½ years ago, so I guess the code is abandoned and there will be no solution to this problem until someone publishes a fork that fixes this. Dang!

**Edit 2:** I contacted the devs and they responded that "It's definitely patch-welcome, so not strictly abandoned, but we aren't proactively doing work on it." I am not a sufficiently skilled developer to fix this, so it will have to be that way.

# Answer
Try: Administer \> Localisation \> Date Formats
> 0 votes

# Answer
At lines 188-200 in civievent-widget.php

You can change the original parameters to %d.%B.%Y and %H:%M

```
// Get date and time formats.
    $params = array( 'name' => 'date_format' );
    $values = array();
    CRM_Core_DAO::commonRetrieve( 'CRM_Core_DAO_PreferencesDate', $params, $values );
    $this->_dateFormat = CRM_Utils_Array::value( 'date_format', $values, '%A %d %B %Y' );
    $params = array( 'name' => 'time_format' );
    $values = array();
    CRM_Core_DAO::commonRetrieve( 'CRM_Core_DAO_PreferencesDate', $params, $values );
    $this->_timeFormat = CRM_Utils_Array::value( 'time_format', $values, '%H:%M' );
}

```
> 0 votes

---
Tags: civievent
---


# Question
Title: Problem installling CiviCRM on Drupal 10
I am attempting to install CiviCRM on a Drupal 10 website. The composer instructions seem to have downloaded the software just fine, and it all looks reasonable, but when I put in cv core:install --cms-base-url="https://dev,wis.communty" --db="mysql://myusername:mypassword@localhost:3306/dev\_civicrm"

I get back the error Failed to parse or find a CMS null

I am not at all sure what that is telling me or how to proceed.

# If I run it in verbose mode I get: Box Requirements Checker

> Using PHP 8.1.27 PHP is using the following php.ini file: /etc/opt/remi/php81/php.ini

> Checking Box requirements: ✔ The application requires a version matching "\>=7.3.0". ✔ The application requires the extension "json". ✔ The package "psy/psysh" requires the extension "json". ✔ The package "nikic/php-parser" requires the extension "tokenizer". ✔ The package "psy/psysh" requires the extension "tokenizer".

\[OK\] Your system is ready to run the application.

\[BootTrait:debug\] Call CMS bootstrap \[CmsBootstrap:debug\] Options: { "env": "CIVICRM\_BOOT", "search": true, "httpHost": "localhost", "user": null, "output": {} } \[CmsBootstrap:debug\] Find CMS... \[CmsBootstrap:debug\] CMS: null

In CmsBootstrap.php line 66:

\[Exception\]
Failed to parse or find a CMS null

Exception trace: at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/lib/src/CmsBootstrap.php:66 Civi\Cv\CmsBootstrap-\>bootCms() at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/lib/src/Util/BootTrait.php:100 Civi\Cv\Command\CoreInstallCommand-\>\_boot\_cms\_only() at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/src/Util/SetupCommandTrait.php:22 Civi\Cv\Command\CoreInstallCommand-\>bootSetupSubsystem() at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/src/Command/CoreInstallCommand.php:47 Civi\Cv\Command\CoreInstallCommand-\>execute() at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/vendor/symfony/console/Command/Command.php:127 Cvphar\Symfony\Component\Console\Command\Command-\>run() at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/vendor/symfony/console/Application.php:637 Cvphar\Symfony\Component\Console\Application-\>doRunCommand() at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/vendor/symfony/console/Application.php:190 Cvphar\Symfony\Component\Console\Application-\>doRun() at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/src/Application.php:67 Civi\Cv\Application-\>doRun() at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/vendor/symfony/console/Application.php:101 Cvphar\Symfony\Component\Console\Application-\>run() at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/src/Application.php:33 Civi\Cv\Application::main() at phar:///home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar/bin/cv:28 require() at /home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/extern/cv.phar:14 require() at /home/wis/domains/dev.wis.community/public\_html/vendor/civicrm/cli-tools/bin/cv:7 include() at /home/wis/domains/dev.wis.community/public\_html/bin/cv:119

core:install \[--settings-path \[SETTINGS-PATH\]\] \[--setup-path \[SETUP-PATH\]\] \[--src-path \[SRC-PATH\]\] \[--plugin-path \[PLUGIN-PATH\]\] \[--cms-base-url \[CMS-BASE-URL\]\] \[--lang \[LANG\]\] \[--comp \[COMP\]\] \[--ext \[EXT\]\] \[--db \[DB\]\] \[-m|--model \[MODEL\]\] \[-A|--abort\] \[-K|--keep\] \[-f|--force\] \[--debug-event \[DEBUG-EVENT\]\] \[--debug-model\] \[--level LEVEL\] \[--hostname HOSTNAME\] \[-t|--test\] \[-U|--user USER\]

# Answer
Oops. Found the problem. I somehow had a comma in the url rather than a period. Worked fine after I fixed that.
> 3 votes

---
Tags: installation
---