16

Hopefully a new release will be made for the API Key extension soon. Here are detailed instructions for creating one manually without needing to get access to your database through phpMyAdmin, mysql on the command line or some similar MySQL database administration tool. Usually it is a good idea to create a special separate contact for each service that ...


14

For the first example, you need to 1. clear the compiled Smarty templates cache. In the second case you need to 2. rebuild the menu system using your xml file. 3. There are some db cache tables you sometimes need to clear out using mysql or a link in the UI. 4. Caching in the CMS can also affect CiviCRM pages. a) One way to do this is to go to Admin > ...


11

The cv cli tool provides the following commands for working with extensions: ext:disable Disable an extension ext:download Download and enable an extension ext:enable Enable an extension ext:uninstall Uninstall an extension and purge its data ext:upgrade-db Apply DB upgrades for any extensions ext:list ...


10

Like CiviCRM, its extensions are currently without any upfront or ongoing licensing fees. People are free to offer paid extensions, but I am not aware of them. You are free to use, modify and share the code. If you benefit from Free and Open Source Software (FOSS), you are encouraged to contribute back to the community.


9

+1 for Joe's comment which is pretty thorough. Re: drush cc all -- this command can be pretty important in the workflow for Drupal dev. In Civi-Drupal, the analogous command is drush cvapi system.flush In Civi-Wordpress, it's wp civicrm api system.flush . (Or, if you're more into Firebug's CLI, CRM.api3('system','flush')) Note: Despite the anachronistic ...


8

The URL formula is different for each CMS. The most accurate approach is to open a CiviCRM page and examine its URL. For example, I logged into the public demo sites for v4.5, navigated to "Contributions => Dashboard", and the URL of each page: WordPress: http://wp45.demo.civicrm.org/wp-admin/admin.php?page=CiviCRM&q=civicrm/contribute&reset=1 ...


8

The Electoral API extension is what you're looking for.


8

(Update) As of v4.7.0, the approaches below still work, but there's a better way to write to the log file using a PSR-3 logger, e.g.: Civi::log()->info('Hello, log!'); Civi::log()->error('I'm sorry, {name}. I'm afraid I can't do that.', array( 'name' => 'Stanley Kubrick', )); See also: https://civicrm.org/blog/totten/the-static-is-dead-long-live-...


8

Approaches There are a few different patterns one could follow in connecting Civi extensions with composer: (Broad scope) Site build via composer: The entire web site is defined with a custom composer.json file. It doesn't matter what kind of dependency you need to pull in (CMS, CMS module, CMS theme, CRM, CRM extension, PHP library, CSS library, etc), it'...


7

There's an extension that does precisely this: https://github.com/cividesk/com.cividesk.normalize It used to be in the extensions directory, but it's gone now for some reason. It uses libphonenumber, and it formats international numbers appropriately based upon the country in the address.


7

You'll want to start with the civix generate:form command. Alter the generated code to have your form class extend CRM_Admin_Form_Setting instead of CRM_Core_Form and then follow the example of other such forms by declaring the settings that form is supposed to manage. You may also wish to insert a link to this form into the navigation menu.


7

It's hard to apply the Drupal model to CiviCRM because the release cycles are so very different. Drupal releases a complete overhaul every 3-5 years, with nothing but bugfixes in-between. Civi's release cycle is more frequent and incremental, with some big changes in each major release but a lot of stability too. Drupal intentionally breaks compatibility ...


7

I'd use System.get API call. (source) In the return values, there's a value for version which corresponds to the value in civicrm-version.php $ cv api System.get name=version { "is_error": 0, "version": 3, "count": 1, "id": 0, "values": [ { "version": "4.6.20.0", "uf": "Drupal", "php": { ...


7

Agree with Chris that System.get is a great API for inspecting the system -- with a trade-off of breadth vs speed. If you need something more performant, use CRM_Utils_System::version(), e.g. $ cv ev 'return CRM_Utils_System::version();' "4.7.16"


7

You could involve CiviCase, but depending on your needs you may get away with just creating custom Activity Type(s) and custom Activity Statuses. And then given you are doing this in Drupal, I would spin it all together via Webform+CiviCRM which should then give you ability to have a single form and apply Conditionals based on the 'need' to specify which ...


7

Mosaico doesn't create any custom data in CiviCRM, so it is safe to Uninstall the extension. However, any template created in Mosaico will be lost. To uninstall the extension you will need to disable it.


7

Its a bad idea of upgrading as uninstall and install new version of extension. You can upgrade the extension either one of the following two ways: If the extension is listed under CiviCRM extension page with auto-download as true then under CiviCRM extension page of your site you should be able to see an option for updating the extension(if option not ...


7

All thanks to the code example link in Eric's answer here's a simplified example of how to offer up a hook (my_new_hook) which takes one argument, $the_argument: CRM_Utils_Hook::singleton()->invoke( 1, $the_argument, $dummy, $dummy, $dummy, $dummy, $dummy, 'my_new_hook'); Then ...


7

Short answer: you need to update your extensions. Visit your extension admin page and apply all updates. Longer answer: There are incompatibilities between older and newer versions of the ContactLayout and Api4 extensions. The breaking change was introduced in ContactLayout 1.4 and Api4 4.3 (which were both released on the same day). Either both ...


6

My name is Mitch Cannon, and I'm the VP of Technology for Textify Mobile. We currently only offer a private API for specific integrations and partnerships. With that said, we are actively developing a RESTful, JSON-based API for our general user base. I would love to talk with anyone interested in an integration about their needs and what we can currently ...


6

There are several places which rely on the full name of the extension: Extension directory: One must create a new record for the new extension key. Ownership, release-history, etc, will be different. Pingback stats: The old and new name will have separate stats. Upgrades (downloading new code): Upgrades issued in the new name won't be displayed as upgrades ...


6

I was able to reproduce your issue and fix it on my Linux install. It seems to only happen with Linux, not MacOSX. I can fix it by changing the filename of the job to be first letter caps only, i.e. not camel case. Don't make any other changes. Following the advice in various other locations, including civix or related issues, does not fix it (shortening, ...


6

I'm in the same boat! Just about to install and enable as we need to trigger email to customer when they submit a profile from WordPress... UPDATE From initial testing it seems to work fine with 4.7.3 however I have only used the "Add to group" trigger and "send email" function. Both seem to work fine. UPDATE 2 CiviRules is working on a live site now and ...


6

In general, I'd recommend no. Some extensions - literally - may not be reinstallable if they aren't qualified for that version of Civi. My recommendation: TAKE BACKUPS!!! Then don't disable extensions and just go ahead with the upgrade.


6

LExIM is the new overall release and extension strategy: LEAP BY EXTENSION. ITERATE BY MONTH. It basically means that: CiviCRM development will now happen mostly through extensions, enabling the users to individually turn these new features on or off by enabling these new extensions Releases are going to be published on a predictable monthly ...


6

The equivalent would be any of these: Navigate to civicrm/admin/extensions/upgrade?reset=1 Navigate to "System Status" or "Manage Extensions". Those pages will link to the above. On CLI, run cv ext:upgrade-db (Download cv from https://github.com/civicrm/cv)


6

The 4.7 -> 5.0 increment is a normal monthly release. There shouldn't be any reason that extensions should break. The shift from 4.7 to 5.x is about changing how version numbers increment, not a major shift in how Civicrm core codebase works. For more on the version number change there is a blogpost here https://civicrm.org/blog/dev-team/v50-the-littlest-...


6

Here is an example of a hook we created for CiviRules: https://lab.civicrm.org/extensions/civirules/blob/master/CRM/Civirules/Utils/HookInvoker.php Hope this helps :-)


6

I believe you cannot set id to a button using php however you can define your own class for the button and use JS to set the id for that class. Here is the snippet to add class for button $this->addButtons([[ 'type' => 'next', 'name' => E::ts('Next'), 'isDefault' => TRUE, 'class' => 'custom_class', //adding class for button )); HTH ...


6

There has been some work going on to support shoreditch for CiviCRM 5.13. The temporary solution(until a new release is available) is to make the Menu colour to white by navigating to CiviCRM >> Administer >> Customize Data and Screens >> Display Preferences. Update the form by changing the 'Menu Color' to white Cheers Pradeep


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