16

We struggled with this initially. Things we went through: Check the debug console in Chrome to make sure Civi isn't having trouble finding resources - look for 404s in the Source tab. This can slow down Civi tremendously as it waits for them to time out. Can be fixed in the Admin -> Resource URLs / Directories / Update Paths If you're running PHP 5.3, get ...


14

In CiviCRM Administration > Display Preferences you can turn off emails to activity assignees globally civicrm/admin/setting/preferences/display?reset=1


11

CiviCRM: Sih-Vee See Ar Em Civi (for short): Sih-Vee


9

To add to Erik's, here are three advantages to separating the databases: 1) Upgrades. When we are working to upgrade Civi, I know that the website side of the house is largely unaffected (not completely unaffected, but mostly), and if something in the upgrade goes awry, I'm only having to deal with the Civi side of things (especially in the event of ...


8

You should think of a smart group as two parts: A static group (and all the tables it involves) A query and its associated tables The final list of contacts is the union of the above two (minus the contacts who have been explicitly removed from the static group) I think the above design allows a lot of flexibility and power. I think the main issue with ...


8

My understanding is that Lobo's answer above is slightly misleading (at least if you read it 100% literally--the gist what he is saying is exactly correct, as usual, but the exact terminology may lead some of us astray). The contact hash is a value stored in the civicrm_contact table of the database (i.e., civicrm_contact.hash). The contact hash is used ...


7

Generally, CiviCRM's data is stored in separate tables and you can treat the CRM and CMS as separate entities. Many people store the CRM and CMS in separate databases for convenience (eg exampleorg_drupal & exampleorg_civicrm). Particular items to check, though: If you are using Webform CiviCRM or CiviCRM Entity, you may need to rebuild connections ...


6

I have a number of clients who use CiviCRM on a subdomain separately from their main content site. It has both pros and cons. Pros: 1. Security. The main issue addresssed here is the risk of security lapses on the main site exposing CiviCRM. The reason a separate site can be more secure is that you will typically have more modules and functionality on ...


5

And this is an example of a function to create an Activity type /** * Function to create activity type * * @param array $params * @return array * @throws Exception when params invalid * @throws Exception when error from API create * @access public * @static */ public static function createActivityType($params) { $...


5

Palante Tech has been building an internal document for this, but we haven't devoted much time to fleshing it out - it's more a "list of questions we wished we'd remembered to ask" and doesn't get into the important questions, like "What is this for? Who will be using it?" Nevertheless, here is our work-in-progress: All projects How much traffic does ...


5

Yes contact hashes are regenerated every time they are created. the microtime is embedded in the contact hash. Contact hashes have a specific life time (by default, this is 7 days). So they are invalid after 7 days


5

If you find yourself wanting to give really long custom field names, think about whether you really should have a fairly short label and then provide help text that goes along with the field. Besides causing database problems (though CiviCRM largely handles that on its own by just cutting off the field name), you'll have trouble displaying a super-long ...


5

You can do this by including a checksum link in your emails that returns the user to their contact dashboard and allow them to edit it. You can also use a checksum link to a profile to let them update things. it'd be something like the following http://mydomain.org/civicrm/user?reset=1&cid={contact.contact_id}&{contact.checksum}


4

You can also create a smart group based on other regular groups and other smart groups. This works well unless the smart group criteria is edited. In general you can go about 4 levels before nesting causes performance issues. I agree, I avoid adding users directly to smart groups.


4

I admire the principle of not being too ambitious in building customizations, but I worry that you'd be going through far more trouble than you'd need to. You might consider just building a custom Drupal module that did exactly what you need. Set up a Drupal form with all the fields that you need. Then in the submit function, use the CiviCRM API to create ...


4

My standard practice is still to have them separately simply because I prefer the overview as a developer. And obviously you have to make sure the backup is OK, but if they never checked that (or tested it) I would see that as a bigger issue than having it in one database :-)


4

you can add "free" participants from the backoffice to get them on the list. I'm not sure I understood your need about the number of seats, but you could create a status "paid elsewhere" that you set as not counted as taking a seat. In theory, you can link these participants to the paying "main" participant, but I don't think you can do it from the user ...


4

That's a huge question- but the answer is "yes", it's all there, but you need to do your homework. A combination of rules (check out the civi rules extension) tags and smart groups can automate just about anything you'd find in a donor pipeline.


4

The conventional approach Generally, the safe play is to make a file like <myextension>/CRM/MyExtension/MyClass.php: <?php class CRM_MyExtension_MyClass { ...} (Be sure to match the capitalization of files and classes.) Most documentation and tooling is based on CRM_* conventions, and a handful of things in core (such as ...


3

You first create the activity type in your code. Then you create the custom group with extends = Activity, where you then have to set the activity type you want to link the data too in the param 'extends_entity_column_value', something like this: if ($customGroupParams['extends'] == 'Activity') { $extendsActivity = CRM_Streetimport_Utils::...


3

I think manually adding contacts to a smart group is confusing, and this is what we experience with some of our customers.


3

Have you tried running mod_php as opposed to fastcgi mode? In the past when we've had this with our servers our first point of call is to determine which part of the stack is limited to 1 core. Our experience has been that its normally mysql. Could you load up mysql with a few concurrent large DB operations and see if it uses multiple cores? This should ...


3

Creating 10 "duplicate" fields is often a sign that there is something sub-optimal on the data modelling. As you start to realise, having the "wrong" data model is creating tons of problems further down the line, it's often better to come back to the root problem and try to fix it directly Could you clarify your need?


3

Sih-Vee-See-Are-Em. In a perfect Toronto accent. ;) https://english.stackexchange.com/questions/207687/how-are-you-supposed-to-pronounce-fragile/207688#207688 More seriously, as the CRM is always pronounced See-Are-Em, there is no 'C' left at the end of CiviCRM to justify a hard k sound at the end. So for me, there is no way to make CiviCRM sound like Civic-...


3

I've sped up CiviCRM considerably by using NGINX over Apache, huge speed boost!


3

In general, the CiviCRM code is not that much slower than Wordpress, so something other than CPU is involved here. I'd suggest your two best lines of inquiry are: If the slowness is very specific to after saving a new contact or making changes, then either your SQL server has way too much caching, or else you have some kind of slow extension/customization ...


3

I use separate database whenever possible, for a few reasons, many of which Allen already covered. In addition, I am often responsible for migrating data to a new CiviCRM installation while a coworker (or another dev shop) is responsible for CMS implementation. This allows me to give frequent updates to the client on a test server without coordinating with ...


3

Yes - there are a number of organizations who use CiviCRM to manage all aspects of a fundraising pipeline! From prospecting & donor segmentation to identify donors and calculate appropriate ask amounts, to assigning such prospects to phoners or door-to-door fundraisers right down to civimail to send immediate thank you-s and scheduled reminders to ...


3

As the others stated, yes it should all be possible but it will require some thought and configuration. If you want to find out what CiviRules can do you can have a look at the cookbook on the wiki: https://wiki.civicrm.org/confluence/display/CRMDOC/CiviRules+Cookbook. There is a section with an example of donor segmentation which will not answer the full ...


3

With that clarification, what you would actually want is a setup using CiviCase. Per the Civi Book: CiviCase is a tool for tracking and managing sequences of interactions between people in your organisation and contacts in CiviCRM. Per the wiki for CiviCase: Cases involve a sequence of interactions (activities). The record of these activities ...


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