I have an idea for a small new feature. I think this feature would be useful to a significant portion of the Civi user community. I'm willing to build it. Is there a standard process for proposing my feature, getting approval (from the community? from the Civi core team?), and then developing it?

(To give an example, I'd like to expose "Payment Processor" as a search criterion on the Find Contributions form. No change to the database schema, not a huge change to the UI, and probably not a lot of new code. This feature would probably be useful to a larger portion of the Civi community than just the client who requested it.)

Is the process any different if I won't be building the feature myself?

How is the process different for features of different sizes? (And how is it determined whether a feature is "big" or "small" -- or what constitutes a "new feature" versus an "improvement on an existing feature"?)

  • IMO another good question here is "Is this a new feature, or a modification of an existing feature? How do I tell?" ... the feature you describe might be considered part of an existing feature, the "Find Contributions" form. Mar 14, 2017 at 1:55
  • @ChrisBurgess, good point. I edited the question to include that. Mar 14, 2017 at 2:03

1 Answer 1


Noah - hi - am sure there will be better answers for this but this might help get the ball/conversation rolling. A lot of discussion about 'is this something that can go in core' happens on https://chat.civicrm.org/civicrm/channels/dev

There is an ongoing debate about what new features should go in to core versus Extensions that ship with core, versus other Extensions.

There is a real focus on tests coming with any new PR.

If you aren't building it yourself? Well if you are commissioning the core team or one of the Partners then they will worry about such things on your behalf. If you are shipping the idea off to freelancer or some such then it is probably the same as if you are doing the dev, ie you are responsible for providing the tests and the arguments for why something should be a fix/add to core versus an extension.

Other resources that might help you answer this more yourself, but expect you have already trawled for them but may be useful for others who read this


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.