Daily content to rocket your growth plan


I’ve got plenty of ways we can work together, but if you’re looking for a zero-cost source of inspiration, insights, and stories from the trenches, you might enjoy these posts from my daily mailing list.

I LOVE the daily thoughts that result from subscribing to you. They are forward-looking, optimistic in every way.

— Adrienne R. Smith, New Mexico Caregivers Coalition

If you like what you see here, sign up below to join the list. Yes, it’s really daily. Yes, people really stay subscribed. And yes, I do read (and usually reply to) all responses. See you in the in-box!

Looking for more free resources?

  • Mastering CiviCRM Crash Course
    A free 10-day email course to teach you how to leverage CiviCRM for your organization’s goals.

  • CiviCRM Upgrade Messages Previewer
    Before you start a CiviCRM upgrade, check here to preview the kind of messages you can expect to see, based on your current and target CiviCRM versions.

  • Tools I use
    A collection of tools and services I love and recommend.

Daily Emails

Allen Shaw Allen Shaw

There’s an extension for that

It seems like it happens at least once a week.

  1. A client asks me how to do something that we both know is not easy in CiviCRM, or maybe not even possible out-of-the-box.

  2. I imagine that's something that a lot of people would use, if it existed.

  3. I check the extensions directory, and there it is. Somebody already built it, and we just have to install it.

Today it was:

Is there a way to automatically soft credit one spouse for the other spouse’s contributions?

Okay, that's actually a good idea. It seems like a lot of people would use that. That should probably exist.

Yeah, it does: Automatic Soft Credit (or check this link for a better description).

Sure, it's not always that easy.

If it's really unique to this organization's policies, and it's not the kind of thing that a lot of people would need, then the chances are slimmer.

But it's always worth checking.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Custom development for CiviCRM: Worth it?

What should you do when you want something that's not possible in CiviCRM out-of-the-box, and there's no available extension that would do it for you?

Would creating an extension (or even modifying CiviCRM itself) be worth the investment?

It’s a trick question, I guess. Because it’s not really about CiviCRM.

“Is it worth it?” is one of the first questions you should ask any time you’re considering custom software of any kind.

But the real question is:

How would you even know if it's worth it?

How would you measure that?

If you know how you would measure it, you probably already have a sense of whether it would be worth it or not.

But if you don't know how to measure that, how could it possibly ever be worth it?

Here's the thing:

If you care about value, you have to have a way to measure it.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Theme fixes

What if you're unhappy with the way CiviCRM forms look on the front-end of your website?

First of all, remember that you don't have to make everything look “just so.” There's no rule requiring it.

But say you have a sound business case for investing a little effort and changing the look of those front end CiviCRM forms.

Here are two ways to make that easier for your developer — or whoever is going to make these changes:

Custom template:

Sometimes a WordPress theme will do all kinds of unexpected things in the default template that goof up CiviCRM's content.

Usually, the symptoms are that CiviCRM's content doesn't display at all, or it displays in the wrong place on the page.

A common solution is to create a template that avoids all that fancy logic and just shows the CiviCRM stuff where it's supposed to be.

Remove conflicting styles:

By default, CiviCRM adds its own styles to the content it generates, but that can conflict with the styles of your site theme. As long as you have both styles fighting each other, it can be hard to formulate the style rules that will give you the formatting you want.

Under WordPress, you can do that pretty easily, using a setting in the WordPress plugin CiviCRM Admin Tools.

Under Drupal, there's no module that does this with a simple check box setting like that. But your Drupal theme developer should easily be able to prevent the stylesheet from being loaded, by using Drupal hooks in the theme.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Theme problems

Do CiviCRM forms look weird on your website?

Whether WordPress or Drupal, it's a challenge for some sites:

I've worked hard to make the whole site look just right, but anything that CiviCRM produces looks like it came from another planet.

Contribution pages, event registration forms, anything. Why can't I just have it look beautiful like the rest of my site?

Most CiviCRM sites don't have this kind of problem. Most themes work just fine with CiviCRM, and many organizations are so happy to have the functionality that they don't sweat the details when it comes to the visual design.

But if you're investing a lot of time and money into a beautiful comprehensive design, then "it works fine for most people" is no great comfort.

So what to do?

In my next email I'll offer a few tips and tricks that can make it easier.

But in more general terms: sometimes it's just hard.

CiviCRM is intended to run on wide variety of sites and CMSs. Its forms and pages have to look decent on any site, but it's almost impossible for them to look great, right out of the box, on every site.

There's just too much variety:

  • Your custom site design;

  • Your particular CMS theme;

  • Plus all of the modules and plugins you may be running.

If you're one of the many for whom this isn't causing problems, that's wonderful.

But if you've already made a big investment in your site design and have a business case for making every bit of content look just so, it's probably worth budgeting a little extra to style the CiviCRM content to match.

Just how much extra effort will depend on your design requirements.

All the best,
A.

Read More
Allen Shaw Allen Shaw

CiviCRM contact dashboard extension

How do you keep your organization’s members informed on the status of their membership, outstanding payments, event history, and the like?

The CiviCRM Contact Dashboard is a handy way to do that.

The only problem I've seen is that it's so darn long. Members get a little lost scrolling through all that information.

A little while ago a client inspired me to clean it up a little, so we created a tabbed interface that looks like this:

It also lets you hide, re-order, or re-label the tabs, and — this is pretty useful — add additional sections based on Profiles.

That's available as an extension in the Extensions Directory; give it a try if you like: CiviCRM Contact Dashboard Tabs.

And of course, there's plenty of other cool stuff in the Extensions Directory.

Give that a look now and then too. You'll probably find something you like.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Smart habits for CiviCRM mastery

I've got a few clients who are rolling out CiviCRM for the first time.

The ones who are having the best time of it are doing a few smart things:

  1. They've gotten very familiar with the online documentation.

  2. They regularly check the Extensions Directory when they need a feature they don't have.

  3. When they have a question, they ask somebody with experience (that's usually me, but not always).

Starting out with a complex system like CiviCRM is a pretty big task. It's a steep learning curve.

But a few good habits can not only make it possible, but put you on the path to long-term success.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Helping people you like get what they want

I've been having one of the funnest weeks of my life helping a small WordPress shop get their heads around CiviCRM.

They've been in the WordPress business for a long time, but this is their first experience implementing CiviCRM for one of their clients.

From where I stand, it looks like they were completely stuck. But with a few phone calls and screen sharing sessions, they're now very close to making their tight launch deadline.

Why am I so excited about it?

  • I'm vain. They ask me a bunch of questions that I know the answers to, and then they tell me how smart I am.

  • I like instant gratification. With a little bit of guidance, I can watch them eat up this project like movie theater popcorn.

  • I'm stingy. Yes I seem to be giving them a lot of valuable information, but I still get to keep that information myself as well.

  • I'm greedy. Every time they ask me a question that I don't immediately know the answer to, I have a reason to go figure it out. Then I've got more useful information than I had before.

Here's the thing:

I feel like I could do this forever. Helping people with stuff they need, and getting a lot for myself out of the experience.

That's often how it works when you're helping people you care about get what they want.

If you're in the business of helping people — and I think you are — I wish for you lots of similar experiences.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Heed the warnings

You’ve probably noticed that when you log into CiviCRM you'll sometimes get messages like this:

This System Status pop-up will appear now and then on the CiviCRM home page.

Or you'll see something like this in the footer of any CiviCRM back-end page:

Anything other than “System Status: OK” is worth looking into.

Who's monitoring those messages?

(Hint: if you don't know who it is, it's probably you.)

  • Do these messages make you or your users freak out? Then you might want to know what's worth freaking out about and what isn't.

  • Are you ignoring error-level messages — the red ones? You probably shouldn't do that.

What does all this mean?

First of all, you’ll want to look at the full set of System Status messages, which you can do by clicking on the “View details and manage alerts” link in the System Status pop-up, or on the “System Status” link in the page footer.

Some of these messages will seem self-explanatory. Others will be more mysterious.

If you're not sure what to make of one or more of them, you've got some options:

  • Copy and paste the message text into Google. You'll probably find somebody online explaining what it is.

  • Ask your CiviCRM expert to look into it. Maybe you can ignore it, but maybe it needs attention.

  • Feel free to email me anytime, and I'll try and help you figure it out.

Here's the thing:

CiviCRM is trying to tell you something.

It doesn't know your risk tolerance. It's just trying to keep you informed.

It's up to you to make sure your system is well maintained.

Seriously, email me if you're not sure. I'll help you sort it out.

All the best,
A.

Read More
Allen Shaw Allen Shaw

I wonder what this button does: CiviCRM permissions

One more thing that gives people a hard time with CiviCRM permissions:

The meaning of each one is not always plain to see.

  • What's the difference between “access CiviCRM backend and API” and “access AJAX API”?

  • What about “administer CiviCRM” vs. “all CiviCRM permissions and ACLs”?

CiviCRM documentation used to provide some additional information on these permissions. That documentation is a little outdated, though.

The current documentation doesn't contain all that detail, because the permissions interface itself now contains descriptions for each one. And that helps a little.

But still, it's not always obvious.

When you’re not sure, and you don’t have someone handy to ask, the simplest solution is this:

  • Change one thing at a time, and test.

  • Document your changes. This is an extra 5 minutes of your time, but it will save your sanity two months from now.

Here's the thing:

Some parts of CiviCRM are more complex than others. Just like anything else, it can feel daunting the first time, or the first 10 times.

But the feeling of mastering your systems, and owning the outcome, is almost always worth the effort.

All the best,
A.

Read More
Allen Shaw Allen Shaw

CiviCRM permissions vs ACLs

Here's another reason permissions are difficult in CiviCRM:

It's hard at first to understand the difference between permissions and ACLs:

The simplest explanation I've found is this:

  • Permissions allow or deny access to certain functionality.

  • ACLS allow or deny access to certain groups of data.

Want to limit which users can register for online events or access the features for managing contributions? Adjust the permissions.

Want to limit which users can view a specific custom data group or edit contacts who are in a specific contact group? Adjust the ACLs.

The documentation for permissions and ACLs may help.

But if you get stuck, you can always shoot me an email and I'll be glad to help.

All the best,
A.

Read More
Allen Shaw Allen Shaw

How to test permissions and ACLS in CiviCRM

Permission changes in CiviCRM can make for some surprising results.

I don't blame the software. It's meant to be very flexible, which of course means it can be complex.

That’s why I recommend testing carefully any time you make a permissions change.

So how do you do that?

The simple answer is: log in as a regular user — not with your usual admin account, but as a user who has the role that you need to test — and verify that it works as you expect it to.

This process will vary, depending on your CMS:

  • Drupal: Install and use the Masquerade module. Once you've logged in as an administrator, this module provides an easy way to temporarily switch to any other user account, without knowing their password.

  • WordPress: Install and use the User Switching plug-in. It solves exactly the same problem as Drupal’s masquerade module.

  • Joomla: Sorry, there's no such extension for Joomla. The best solution is usually to create a new user account, give it the appropriate user access group, and then login as that user.

(As a general security practice, I don't recommend asking any of your users for their password. There's just too much risk of it being disclosed accidentally.)

By the way, this is also a great way to test anytime one of your users reports some mysterious behavior. Masquerade as that user, and observe it for yourself. This save will save you a whole lot of guesswork.

All the best,
A.

Read More
Allen Shaw Allen Shaw

What’s so hard about CiviCRM permissions?

I got an email yesterday from someone asking for help because, in their words, "CiviCRM permissions are kicking our butt."

It's a common sentiment.

So what's so hard about CiviCRM permissions? And how could you make it easier?

Here's one good reason:

Permissions are easy to change but hard to keep track of.

You can very easily add or remove permissions for any of your user roles. And you can easily add or remove roles. You can even give multiple roles to some or all of your users.

It's easy.

And it gets complex very quickly. If you're not careful, it gets messy.

This just means you have to be more careful. For example:

  • Resist the temptation to create a new user role, until you can articulate clearly who that role is for and why they need it.

  • Write that explanation down somewhere, so you can refer back to it. Because it will be hard to remember when things get complicated.

  • Avoid changing the permissions on a role just for the sake of one user, until you've carefully thought through the implications for everyone who has that role. Is this actually a change that everyone needs? Or does it represent the need for a completely new role?

  • Test. Add or remove one permission at a time, and then test to verify that it has the expected effect.

  • Document changes. Keep a running log somewhere (a Google doc is fine), noting the changes you make, the date you make them, and the rationale. It's an extra 5 minutes of work that might just save your sanity two months from now.

CiviCRM’s permissioning features are awesome, and allow you to build a customized experience for a wide range of users.

With a little extra care, you can make them work for you, instead of against you.

All the best,
A.

Read More
Allen Shaw Allen Shaw

You can’t force it

Overheard this week:

Yeah, I tried that, and it was like trying to stuff a cat into a dryer.

Okay, I've never tried to stuff a cat into do a dryer.

But I know some little kids who have. It never goes well.

Sure there's enough space. With limited life experience, I suppose it might seem like a good idea.

Here’s the thing;

Sometimes, your great idea — for data management, or people management — just doesn't work.

You may not always understand why.

But if it feels like trying to stuff a cat into a dryer, take it as a sign.

There's probably a better way.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Easily describe any problem

When you see something odd in your CRM system, you might want to ask your specialist for help.

To make that work well, you have to describe the problem. Otherwise, how can anybody fix it or explain it?

Here are three easy ways to describe a problem with your CRM:

1. Write down the specific steps you take to observe the problem.

  • Is it happening for a certain contact? Write down the contact ID.

  • Can you make it happen if you take certain steps? Write down those steps — for example, "I log in with this username. I see X. I click on Y. Then I see Z. Then I click on A …” etc., etc.

  • Are you expecting to see one thing but actually seeing another? Write down what you're expecting to see, and what you're actually seeing.

2. Take a picture

If some part of the problem is easily visible on the screen, take a screenshot.

Whether you're on Windows, Mac or Linux, or on your phone, there's a way to take a screenshot. You might have to Google "how do I take a screenshot on my Mac?", but that's faster than trying to write a long description of what you're seeing.

In the worst case, just pull out your phone and take a picture of your screen. It's not beautiful or slick, but as long as it's in focus and shows the problem, why not?

3. Record a screen video

This may just be the best thing ever: A video of 30 seconds or 2 minutes showing the problem from start to finish.

If a picture is worth a thousand words, a video is worth a million.

If you have a microphone and can narrate, great! If not, make a silent movie. It worked for Chaplin, and it can work for you.

If you don't know how to record a screen video, I recommend you just go to screencapture.com, where you can push a button and record your screen and download the video without giving them so much as an email address. (They have a thousand competitors, but this one's the easiest I've seen. And nobody pays me to say this stuff.)

The rest is easy:

Put all of that together in an email, or a support ticket, and send it with your request for help.

You may get some clarifying questions from your CRM specialist, but you've gone a long way toward painting a clear picture.

And describing the problem well is, after all, the first step in getting it resolved.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Succession planning

I have life insurance.

When I’m dead I probably won’t care about the living, but while I'm alive I do care. And I want my people to be taken care of if I happen to make an unexpected departure.

If you should ever have to leave your current organization — for reasons happy or sad — wouldn't you like the organization to proceed well without you?

As the in-house expert for your CRM or any other system, you can take steps now to make that happen.

1. Share your vision

Help people to understand what makes your CRM system great.

Why you love it. Why you chose it. What you're hoping to achieve with it. Where you see it going in the next year or two.

Talk about this often. It gives people something to buy into, and something to shoot for, which is great whether you're there or not.

And when you're not there, it will give them a path they can follow while they're learning to manage things without you.

2. Document stuff

Yes, we know people don't read documentation. It's long and boring, and normal people would rather figure it out themselves than read your 500-page treatise on how to do everything.

So a long list of how-to's is probably not helpful here.

But specific configurations are worth documenting, for example:

  • User roles and permissions:
    What is the purpose of each role? In short simple terms, who are the people who need one role or another?

  • Tags, groups, and relationship types:
    What is the meaning of each of these? A relationship type named "Contact of" doesn't have an obvious meaning. Write that stuff down somewhere.

  • Vendors and external services:
    Just what is it we're paying these people for? What's the best way to reach them? How do these services fit together? How do you know which vendor to call for which kind of problem?

In other words, document the answers to questions that you could answer simply, if you were there.

3. Train "one level above"

Every time you train someone on a new task or procedure, make sure they understand it.

And then take a minute to explain how this task helps whoever is above them on the org chart:

  • Once this task is done, who else uses that data?

  • How does their department — or another department — benefit when this task is done in this way?

Again, this is a great thing to do in general. It gives team members a sense of value in the work they do. It helps them understand why their work is important.

But if you're ever “no longer around,” it will matter all the more.

Here's the thing:

We all love our work, our teams, and our organizations. Most of us have no intention of leaving them.

But circumstances change. Surprises happen. Opportunities arise.

Take steps now to make sure that this organization, into which you've poured so many late nights and weekends, is ready to excel in its mission, no matter what happens.

Think of it as life insurance for all of your hard work.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Departures

How is it possible for an organization that's been using CiviCRM for years to find itself without a staff member who fully understands the system?

Two things, at least:

  • Retirement

  • Career advancement

I'm working through this issue now with three of my clients.

Two of them have recently seen the departure of their primary CiviCRM in-house expert — one of them retired, and the other moved up to a higher position at a new employer. See yesterday's email for a description of the fix this leaves them in.

The third one knows that retirement is coming and is making plans now to do it better.

Here's the thing:

An ounce of prevention is worth a pound of cure.

If you can see it coming, it's worth planning for.

And when you add in the unforeseeable — health issues, accidents, sudden departures — it's worth planning for anyway.

What are you doing now to help ensure that your systems can survive the departure of a critical staff member?

All the best,
A.

Read More
Allen Shaw Allen Shaw

Dealing with system sprawl

I spoke with two clients last week who were lamenting the same problem. Maybe it will sound familiar to you too.

It goes like this:

We're using a different system for every little thing. It's all spread out, and we really have a tough time with reporting, analysis, and moves management.

And they're right.

Imagine using EventBrite for events, MailChimp for mailing lists, Google forms for volunteer sign ups, SurveyMonkey for program inquiries, and 5 other systems for other things.

All while you're running CiviCRM as your central CRM.

How did this happen?

Interestingly, both of these organizations are in a similar situation:

  • They've been using CiviCRM for several years.

  • They each recently merged with a larger organization with an overlapping mission.

  • After the merger, they each saw the departure of their in-house CiviCRM expert, who had pioneered the use of CiviCRM and its ongoing development within the organization.

So what they have in common now is:

  • A powerful centralized CRM;

  • A whole new set of departments, programs, staff, and business functions;

  • A collection of disparate systems that were used pre-merger by the larger organization; and

  • A staff member who's responsible for their CiviCRM situation but who’s still learning what it can do.

What to do?

Just as interestingly, they've decided to take a similar approach to solving this problem:

One program at a time, I'm working with them to identify priorities, design a strategy, and then configure CiviCRM to support that program in place of one of their many "one-off" systems.

It's the "start small" approach I've described here recently.

If they wanted, they could also go for the "start big" approach. We discussed that, with all its pros and cons, and it turned out that starting small was a better fit for both of them.

Here's the thing:

Big sprawling disjointed systems can make for real organizational headaches.

But trying to solve it all at once can seem like too much to take on.

Starting now and starting small can take a little longer, but it’s a great way to increase usability, efficiency, and effectiveness, one step at a time.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Decisions

Overheard this week: "Committee is where decisions go to die."

Committees can be great for getting work done, and even for gathering input on important decisions.

But if you've ever watched hard decisions languish endlessly in "committee review", you might wonder why it's so hard for even small groups to make a decision.

I'm not sure that knowing why would help. People are complicated. That's enough explanation for me.

Here's the thing:

Instead of wondering why, it's enough to know that it's usually true.

High-stakes high-value decisions are made by individuals who have big goals and are willing to take risks.

As nice as it would be to avoid the hard decisions, somebody has to do it.

Yes, get the input. Yes, do the research. And then yes, for heaven's sake, make the decision.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Good enough

Your CRM system — is it good enough?

And the results you're getting with it — good enough?

If it's good enough, you can leave it alone. There's no need to improve it.

That's what "good enough" means.

And if it's not good enough, how can you fix that? What will it look like when it's good enough?

Because if it's not good enough, you need to fix it.

That's what "not good enough" means.

Here's the thing:

Whatever tools and systems you’re using, they're either good enough, or they're not.

You can decide what good enough looks like. You can measure outcomes to know if you've gotten there.

Instead of looking for perfection, you'll make a lot more progress by leaving the "good enough" alone, and focusing your resources where they're needed most.

All the best,
A.

Read More
Allen Shaw Allen Shaw

Small vs specific

Yesterday I asked: Start big or start small?

Another way to think about starting small is: start specific.

Pick the one thing you want to fix first.

  • One headache to solve.

  • One department to help.

  • One program to augment.

  • One staff member who's work you’ll make easier.

Sure, you can't just skip over long-term planning, but even the longest journey begins with one step.

You don't have to leap a chasm every time.

All the best,
A.

Read More