
Consultant, Implementor, Trainer
Northbridge Digital
The community provides excellent forum support, new ideas and feedback on suggestions. The CiviCRM software suits many use cases and allows us to support a large number of diverse UK voluntary sector organisations.


DEVELOPER
EMPHANOS
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.


Ally, FanBoy
Aspiration
By giving the nonprofit sector a values-driven, free/open source solution for CRM needs!


Developer
Semper IT Inc.
I help non-profit organizations optimize workflows by creating interactive Drupal/CiviCRM websites for them.

Implmentor, Developer
Backoffice Thinking
CiviCRM has allowed us to empower many non-profits to improve their services and become more efficient.


Administrator, Developer
Consulting, CiviCRM Services
CiviCRM is seamleassly integrated in Drupal, the world's leading social publishing system. This Open Source combination allows for the most flexible solutions while enjoying continously improved CRM-standards that shorten the time-to-market span of your individual demands.

Core Team Member, Developer, Implementor
CiviCRM, Caltha
I've always been passionate about what non-profits and advocacy groups can achieve using technology. For me, CiviCRM shows an essential example of how non-profit and technology worlds can come together to provide real change - working as community, creating value for yourself, but also for others in non-profit sector.


Implementor, Developer
Skvare, LLC
Helping non-profits, membership organizations, and professional associations to make the most out of their resources with open-source tools.


Implementor, Developer
AGH Strategies
CiviCRM allows our clients to have a robust tool for tracking and engaging their supporters that can grow with them. I began as an end user, and now I work with CiviCRM full-time.


Administrator, Implementor
Professional Exchange Service Corporation
PESC uses CiviCRM as pillar in maintaining many nonprofits throughout California and Nevada.


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.


DEVELOPER
WIKIMEDIA FOUNDATION
At the Wikimedia Foundation, we leverage CiviCRM to maintain millions of records of donors and their contributions. Working with the product and particularly with the community has been a terrific experience. There's nothing quite like two open source organizations working together to meet their respective goals while ultimately strengthening the open source community as a whole.


Comments
As for japan...
Hey,
So in Japan, the address starts with the county/prefecture and goes down up to the number in the block.
Not street number, block number.
http://en.wikipedia.org/wiki/Japanese_addressing_system
How would it fit in?
Canadian Civic Address formats
I like the idea of putting all parsing into a single extension. We'll just need to open up commit permission to the code repository for the extension to several people.
Your list doesn't include the normal English Canadian civic street address (ie the one used in cities and towns), which is also similar to the US address format:
{apartment or unit}{-}{street number}{optional street number suffix}{ }{street name}{ }{street type}{ }{street direction}<next line>{city}{, }{province}{ }{postal code}
OR
{street number}{optional street number suffix}{ }{street name}{ }{street type}{ }{street direction}{, }{Unit type, eg Apt or Ste or #}{ }{apartment or unit}<next line>{city}{, }{province}{ }{postal code}
Currently in CiviCRM we don't have reason to parse street type (ie Ave, St, Blvd, Ln...) or street direction (N, S, E, W, NE, NW, SE, SW) since we are not doing detailed address matching for duplicate identification and elimination yet. On a simplified level that is good enough for now:
{street number including optional street number suffix}{ }{street name including street type and street direction}<next line>{city}{, }{province}{, country}{ }{postal code}
French Canadian civic addresses format are:
{apartment}{-}{street number}{optional street number suffix}{, }{street type}{ }{street name}{ }{street direction}<next line>{city}{, }{province}{ }{postal code}
The comma after the street number is commonly used though it is not in the official standard, and there is the same common switch of the apartment or unit information from the beginning of the civic address line to the end of line as in English.
There are a large variety of rural address formats used in different parts of the country, which can be usefully parsed into things like PO Box, RR, Concession, Lot, Quarter, Meridian, Range, etc. for matching purposes. The Canadian address parser in CiviCRM currently ignores them.
Url:
Would a different approach give increased flexibility.
I think there will be many more than your original 6 formats if the presence or absence of commas and dashes and upper or lower case for the various components are considered. For example the Australian convention is a variation of the English-Canadian:
{apartment or unit}{ }{street number}{ }{street name}{ }{street type}<next line>{CITY}{ }{STATE}{ }{postal code}
How about a different approach altogether with an street parsing/address format table with a column that specifies which country codes that format should be applied to. If your CRM includes addresses for numerous countries then the addresses would be formatted correctly for each country rather than the 'one format fits all' approach that currently applies.
The standard address format would include {Country}
A customisable format would also be included with 'use for country X' which would take precedence over the preset formats in table.
I am suggesting this based on my use for CiviCRM and my previous use of a different CRM
Most of our members live in Australia, but some do not. I would like the addresses formatted correctly for each country, but with the current 'one size fits all' approach that is not always possible. I also need the country include in non-Australian addresses but do not want it included for Australian addresses (including it is non-standard addresss formating for our postal service which means I lose access to bulk mail discounts for NFPs if it is included)
With a customisable option I could set it up to be in the standard Australian format (no commas or dashes, uppercase {State} and no country) and specify it is to be used for country code 1013.
Addresses for all other countries would be formatted according to the preset formats in the Address format table.
This customisable option would also allow changes in addressing standards for a particular country to be addressed promptly. For example standard UK Pastal format is now:
52 Cheviot Close, Camberley, GU13 SW4 (County not included)
Customisable
Thanks for all your comments. I think the thing should be customisalbe (obviously). The objective should certainly be to make correct street parsing available for every country format, even if you want to deviate from that for one specific install. At the same time, we need to have a structure that makes maximum room for community development, because I do not think 'core' should take care of all street parsing. To my mind that does not agree with the whole idea of Civi.
So what I am looking for is a structure that allows me to do my bit quite easily (i am fine with taking care of the Dutch format) but not taking on the responsibility for the whole thing. That is way too big for me....all and all the suggestion of a table that tells me what country uses what format option, with a customisable set up too (much like the current email/postal greeting stuff) makes sense to me. We do need to make sure we have a good idea of what needs adapting. Is there anyone willing to take part in the development of this stuff (and I think Joe Murray and me are both up for a part of this)?
Re: Customisable
Sorry, I am not able to help with any coding as I have zero skills in that area, but if you opt for a table listing what country uses what format I could collate that info if that would help.
Table listing
That would certainly help if you can dive into what country uses what format!!
This might help:
This might help:
http://www.gisgraphy.com/documentation/addressparser.htm#hk
Url:
gisgraphy
Thanks for that dalin! That is really helpful, I will test the API from gisgraphy. Looks like we can incorporate calls to that API in our extension! Cool
Now all we need is a address formatting api :)
and that will allow us to do the same for addresses for different countries. maybe we should convince the gisgraphy folks to do so if they dont have it already :)
lobo
Found something to store
Hi,
Looking at civicrm_country table, there is already a column address_format_id. It doesn't seem to be used so far, but could be to store that?
X+
Xavier's point makes me
Xavier's point makes me wonder - is this just about storing an option value (for each country that we have data for) with the relevant address parsing string? Which would be of course UI editable through existing mechanisms on a per site basis.
Is this an extension requirement or a minor tweak Plus some data gathering?