5

As far as I know, they had too many issues with the more recent versions of CiviCRM so it's no longer supported. A client of mine had a chat with Jamie @ Compucorp last February (2020) at the CiviCamp and the message I got from my client is that they were no longer supporting it. I don't know the details so you'd need to speak to Compucorp for more info


5

A couple versions ago the concept of "hidden" extensions was introduced. The theory was it would allow for moving bits of code out of core and into extensions without anyone noticing any difference at first, and then at some point make them visible/optional. You'll find them in the civicrm_extensions database table and also in the ext folder in the ...


4

Overriding core files was how we used to make changes until collectively we figured out that was storing up trouble for the future. Another possibility is that if you think this is likely to be a small, useful improvement for most users of this aspect of CiviCRM then you could propose it as a change for core - go here and use the 'improvement' template. If ...


4

Here's how we handled this: From within your extensions directory: cv dis mosaicomsgtpl mosaico flexmailer rm -rf org.civicrm.flexmailer cv flush cv en flexmailer mosaico mosaicomsgtpl cv ext:up We've found that Mosaico didn't release it's grip on Flexmailer services properly and interfered with the process of getting it to use the core-ext version! Since ...


3

Here's how I did it: Delete the cache files From within the site's extensions dir: EXT_DIR=/var/www/mysite.org/sites/default/files/civicrm/ext/ CONFIG_AND_LOG_DIR=/var/www/mysite.org/sites/default/files/civicrm/ConfigAndLog BACKUP_DIR=~/just-in-case mkdir -p "$BACKUP_DIR" mv org.civicrm.flexmailer $BACKUP_DIR/. cd $CONFIG_AND_LOG_DIR rm Cache* # ...


3

The simple answer to "Can I use the CRM directory that is auto-created by civix to easily store custom versions of existing CiviCRM PHP files?" is no, not easily. While it can be made to work, if you just use a modified copy to replace the core file, then you have to keep your file in sync after every upgrade, which is not fun. So yes it takes ...


3

daveawe12323, identity and access are managed at the Drupal level and there is connection between the Drupal "user" and the CiviCRM "contact". It looks like the only Keycloak Drupal module is for Drupal 8 but there is documentation on using Keycloak as OAUTH or OpenID. I hope this helps.


2

You can create a folder somewhere outside the main tree, so that when you upgrade core you don't overwrite your extensions, and then in civi under Admin - System Settings - Directories, you put the file path to that folder where it says "Extensions Directory". If you already have some other extensions installed, they might have gone under sites/...


2

For anyone else this might help - I ran a Cleanup Caches via /civicrm/admin/setting/updateConfigBackend?reset=1 and the site started working fine again.


2

Looking at CRM/Extension/Browser.php where that error is generated, I would expect it to show a URL between the at and could in your message. So Civi isn't calculating the repository URL. Tracing the code a bit, it seems that the URL should be calculated in CRM_Extension_System::getRepositoryUrl(), which pulls it from the ext_repo_url setting. Here's what I ...


2

This document covers the steps of writing extensions. You can use the civix tool for generating the basics of your extension code. As your extension will execute database updates, you should take a look to this paragraph. The generated code contains examples for executing database queries. I would like to suggest you to take a look to the api explorer tool ...


2

You need to initialize datepicker field $('input[name="job_date_time_end"]').datepicker();


2

Ok, sorted it out with some suggestions and examples. $loader = new \Civi\Angular\AngularLoader(); $loader->setModules(array('trialadmin')); $loader->setPageName('Administration'); $loader->useApp(['activeRoute' => '/trialadmin/trialdetails']); $loader->load(); Worked with this, but I also used the trace and debug in the browser to determine ...


2

I'm guessing when you upgraded you somehow deleted your extensions folder. All you need to do is put the code files for the moregreetings extension back into that folder.


2

So I discovered what you can do is put this in civicrm.settings.php: $civicrm_setting['domain']['ext_repo_url'] = 'https://civicrm.org/extdir/ver={ver}|cms={uf}|ready='; Note the ready= at the end (the default is without it). This then properly shows you pending upgrades for your installed extensions that are in the extension directory but not approved for ...


2

The following will return an array keyed by the long extension 'key', whose values are one of installed uninstalled disabled (or, less commonly, unknown, installed-missing, disabled-missing) <?php $list = CRM_Extension_System::singleton()->getManager()->getStatuses(); You can find enabled ones with: <?php $list = array_keys(preg_grep('/^...


1

You can also do it with a query. Obviously it is better to do it with the API but as explained above it takes a while.... $query = "SELECT COUNT(*) FROM civicrm_extension WHERE full_name = %1 AND is_active = TRUE"; $countExt = CRM_Core_DAO::singleValueQuery($query, [1 => ["aah", "String"]]);


1

Another option for sending reminders where Scheduled Reminders do not apply is via CiviRules


1

Have you tried scheduled reminders? It can be based on activities. See https://docs.civicrm.org/user/en/latest/email/scheduled-reminders/


1

I removed the following tables from from 'civicrm_custom_group' table and everything is working as expected: civicrm_value_civivolunteer_... civicrm_value_volunteer_com_... This was the only remaining civivolunteer trigger reference that we found.


1

This was answered on the CiviCRM Mattermost server. Symfony components are available through the CiviCRM development environment and not needed to be handled through the Symfony framework. It was also suggested that I read several extensions and how they are built to get examples.


1

Turns out ot was a php function call outside class methods in an old extension which used to work before but now caused this weird behaviour.


1

Resolved this issue by using: <td><a href="{crmURL p='civicrm/EditComponent' q='reset=1&action=update&id=2'}" class="crm-popup"> Edit </a><a href="javascript:deleteComponent({$component.id})"> Delete </a></td></tr>


1

You are trying to inject an angular snippet into an otherwise non-angular page, and you're wanting to place it into a new tab in the Manage Events page. This is doable but there are a few things to understand: Yours might not be the only Angular snippet on the page. Other extensions may want to add them in the future. Angular routing requires control of the ...


1

Ok - I went the long way around -> used civix to generate an extension of that name -> then pulled it into the site's extensions dir -> and installed it. Now I can run cv ext:upgrade-db and execute much needed extension updates 🎉


1

You could try changing this line in activityhours.php from: if ($formName == 'CRM_Activity_Form_Activity' && !CRM_Utils_Request::retrieveValue('snippet', 'String')) { to if (($formName == 'CRM_Activity_Form_Activity' || $formName == 'CRM_Case_Form_Activity') && !CRM_Utils_Request::retrieveValue('snippet', 'String')) { You'd probably also have ...


1

If you only want to customize the layout, you can override the Smarty template file. This is usually not recommended in CiviCRM, because it complicates upgrades and maintenance, but this specific template is fairly safe (most templates have too much logic/code in them and change often). You can also include custom JavaScript in templates (between 'literal' ...


1

I find the 'normal' way pretty ugly. listing the args by name in an array, then supplying the args, then needing to pass by ref a NULL/dummy variable for each of the remaining 6 or was it 7? arguments - this is ugly and error prone and passing CRM_Core_DAO::$_nullObject is risky as it allows the hook to overwrite that so it's no longer NULL. I think the ...


Only top voted, non community-wiki answers of a minimum length are eligible