
End-user and Developer
Woolman Sierra Friends Center
If it weren't for CiviCRM we'd be using at least 5 different
systems for Woolman: one for donor management, another for email newsletters, a third for our school enrollment, a fourth for our summer camp registration, and then a whole bunch of spreadsheets for keeping track of things like event attendance, prospective students, CSA memberships, etc. And of course none of those systems would talk to each other or make it possible to get a whole picture of the many ways one person might participate in our education center's activities. Migrating all of our scattered data and disparate systems to CiviCRM was a long and challenging process, but the results have been more than worth it. Our ability to track and report on our programs has improved dramatically, while the burden on staff to do data entry has been greatly reduced, and our participants are happy that they can now register/enroll online rather than mailing or faxing paper forms.


DEVELOPER
NS WEB SOLUTIONS
I'm quite impressed with the responsiveness of the CiviCRM community, both from the core developers and many experienced users who have quickly provided answers and ideas in areas where I just needed that extra insight, or where we needed to do something totally new. After several years working with open source software, I'm finding the CiviCRM community to be the most responsive and helpful I've seen.
We make CiviCRM one of our primary offerings because it just provides so much right out of the box that our clients need, without a line of custom code. And when we need to extend it for the clients' unique needs, the APIs and programming hooks let us add in features that would be impossible in some other systems. This means we can provide great value to our clients with quick turnaround times and reasonable budgets, which is great for our clients and for us.


Developer, Implementor
Réseau Koumbit
As non-profit consultants working for non-profit organizations, we found CiviCRM to be particularly well suited to answer the common needs of activist associations, charities and other medium-sized groups. Based in Montréal, we've helped local and international organizations migrate to CiviCRM to manage their memberships, events, communications and fundraising campaigns. We empower our clients and assist them when they need us.


Core Team Member
CiviCRM
I find the engagement with our community of users to be intellectually stimulating
and rewarding. Seeing folks with expertise in a particular area step up and contribute their time and ideas to help improve the product is quite exciting. Every time I hear about a new interesting organization starting to use CiviCRM, I get a renewed sense of excitement about our work. The range of civic sector organizations currently using the software is quite amazing to me - from large international advocacy organizations to local performing arts troupes. I also really enjoy interacting with our international community - building friendships and getting to share culture (food, music, humor ....) with colleagues on every continent.


End-user and Developer
Woolman Sierra Friends Center
Working with CiviCRM enriches our commonwealth. Any investment in CiviCRM is
shared by the community as a whole. Community organizations naturally complement the spirit of Free/Libre Software.


Implementor, Developer
Third Sector Design
Being part of the CiviCRM community is really something to shout about! Not only is CiviCRM an amazing software package, its designed for organisations that make a difference in the world. We help non-profits across the UK gain control of their data through the power of CiviCRM.
It is without a doubt the best piece of software I've ever worked with, and I'm constantly discovering cool new features. More recently I've been working on CiviMobile as part of a project for my course at University. I'm really looking forward to seeing this being used by organisations across the globe.


Implementor, Developer
PeaceWorks Technology Solutions
PeaceWorks provides technology solutions for not-for-profit organizations. CiviCRM fills an important niche among our clients who need a flexible, comprehensive, user-friendly, web-integrated CRM solution.


Implementor, Developer
CiviCRM LLC
Still thinking of a deep deep quote. Basically:
It is super important for non-profits, advocacy and related groups to take charge of their destiny. Having control of your data is a good start. The crowd-sourced nature of an open source project in so in line with the co-operation and principles of most non-profits
CiviCRM is a project that strives to make the above possible. It is FREE as in kittens.


Implementor, administrator
Third Sector Design
We work with non-profits to help them use and understand Civi. It's such an important tool for these organisations and it's great to see people using it in different and interesting ways. Using and working with Civi is made so much more fun and useful by the enthusiastic and talented community surrounding it.


Implementor
Progressive Technology Project
The organizations we work with are experiencing the benefits of a robust tool that is
easy to use, supports their work, and allows them to collect and track data from various parts of their organization, such as membership, fundraising, communications, and organizing into a centralized database. CiviCRM as an open-source solution also allows us to nurture and build a user community to share and create a common vision of future features that would be useful to the community organizing field. Just two years after our pilot project, we're currently supporting 30 community organizing groups to use CiviCRM, and the community is steadily growing.


End-user, Administrator
City Bible Forum
City Bible Forum is an Australian not-for-profit Christian organisation. We need to communicate effectively with our constituents, and CiviCRM gives us a comprehensive set of tools for managing relationships. Interestingly, we often find that new features are being added just as our need for those features is becoming apparent. It's the right fit for us.


Implementor
Palante Technology Cooperative
Palante Tech works with social justice organizations on a tight budget to be more effective through technology. CiviCRM allows us to provide a high-quality low-cost database for community organizing, donor and membership management.


Comments
Rock on dude
Thanks Kyle -- good stuff. -B
This is brilliant
A couple of comments:
- jquery-ui has been introduced recently, and applying in to all the elements in the templates is a long term goal, not even sure to see when it has been achieved. Shall we introduce a {* This template needs to be modifified according to the v3 guidelines for the ids and classes *} in all the templates, so we can see the progress ?
- id is also very important to add jquery behaviour. eg to store meta data ", or to be able a specific field/item
- some layouting (eg. the zebra striping) should be added by a one line of jquery instead of carrying an extra odd event class in all the rows
- some complex forms/views (eg contact edit/view) couldn't be done properly without using table layout. Not sure anymore that it is that bad to have a table for layout instead of zillions of float/clear divs that aren't that semantic either
- we should try using more microformats while we are at it
X+
thanks!
great ideas xavier:
use of tables
I'll piggyback on X's comments re: tables. Civi does render a lot of content as tabular data, which semantically justifies the use of tables. Where I think divs are most needed is the higher level page organization, which is properly a layout issue, not data.
The biggest issue I've run into when styling tpls with css is that there's currently a lot of inconsistency. Divs are used in some places, tables for field layout in some, dl/dt tags in other places, and descriptive tags (label) are not always applied consistently (e.g. the table class may be different so the cell tag is applied differently). In order to create a consistent layout, for even something as basic as an event registration page, you have to do a lot of work in the tpl and css just to bring the markup tags in line.
agreed
tabular data should always be rendered as tables - and the dl/dt/dd system seems to have become incredibly cumbersome. the primary goal of this project is to come up with a consistent system for displaying/formatting page elements (accordions/form fields/help blocks etc...)
my aim is to slowly overhaul the tpl files so that tables are only used for tabular data and that there is a consistent class-naming system for all layout blocks/elements This will make it easy to predictably target "all elements of the type-x" as well as target an individual elements such that with only a css change we should be able to:
easily give all text input fields a background-color of gray,
and
set the border to yellow on the credit card input field of a specific donation form,
without having to change any .tpl files
ack
ACK No! To do that you would need to have jQuery use a class selector. Something like
$('.some-class').doSomething();
class selectors are slow in Ff/Sf/Op and melt CPUs in IE because that browser is such sh*t. CSS is the better way to go when possible. Having many class selectors on a large DOM will really slow down the client-side performance.
I beg to disagree
Hi,
Really, not going to fight that one.
However and FYI, jquery got a ":odd" selector, so you can $("#contactlist tr:odd").addClass("odd"). Hardly visible on the rendering time when you have small lists (like on jquery, max 100 rows)
X+
this is only tangentally related, but
One of the things I would like to see is the addition of a hook to allow add-ons/modules to ship with their own templates. The main use case I see is allowing templates to be overridden without adding a step the module install process of copying templates into the the custom template directory declared under Global Settings.
This is essentially mimicking Drupal's themeing functionality to allow for more robust support for a CiviCRM modules repository. This does get away from integrating with the CMS's template system, but I have to admit I'm of the opinion that the future of CiviCRM is in being CMS ambiguous (note this is coming form the guy who does most of the Views2 integration support with Drupal :))
If ya'll are interested in that route Rooty Hollow would be happy to donate the time to make it happen in this process.
This is in the works ...
i've got it close to working in the SFS module. I do agree that modules should be able to set their own PHP/template path and not have folks tweak the admin settings. I'll polish it off when i migrate SFS to the newer version
lobo
so as long as I'm in the neighborhood
What about adding a hook that allows changing the administration page. For example say a module wanted to add an options list or a Global setting. How much work would that be?
Any reason why admin pages need a specific hook?
can u use the pageRun / buildForm / postProcess hooks available for all pages? We can chat more on IRC. We dont have a generalized good way of storing settings as yet, and thus using drupal's variable_set/get is probably a better mechanism for your storage needs :)
lobo
this is a general problem (at least for drupal)
Development Seed has been using strongarm for forcing global variables - might be a good thing to look into?
http://drupal.org/project/strongarm
Great stuff
Really happy that more people are doing stuff with Layout and CSS and cool that you are building on the stuff in the wiki.
I've been the layout and css person on the advisory group for a while - haven't got passed the brainstorming stage that you saw on the wiki as yet, but would like to put some resources aside for a implementing these improvements - so please keep me in the loop / i'll stay in the loop.
And I'll add my thoughts on zebra striping to the wiki page :p
print styles
Kyle,
Another item for this discussion --
There should be better handling of print-specific css styles. Since Civi provides the ability to print pages via icon on just about every page, we should develop a print only stylesheet and have better control over how those display.
-Brian
agreed
Print styles will be much easier to implement from css as we refactor the html - there has been a fair amount of progress on the end-user side of the application, but there is still lots of html refactoring to be done in order to get the "admin-side" (whih I assume is what will be most printed) up to snuff for styling for print. But, definitely something that we are looking towards implementing properly once the html has been fully re-factored.