A few users' group meetings ago, some of us talked about doing community service projects as a users' group, helping a local non-profit get a drupal Web site in place. Since then, a project putting the Rose City Resource Guide has come to my attention. I wanted to bring it to the attention of the group in case others would like to get involved.
The Rose City Resource is a publication of Street Roots, and is Portland's most comprehensive, updated list of services for people experiencing homelessness and poverty. The resource guide is a quarterly 80-page guide of services throughout the Portland region. It's currently maintained online in a series of PDFs at http://streetroots.wikispaces.com/Rose+City+Resources
The main liaison with the folks at Street Roots, Sarah, has some very ambitious mapping plans that probably make it more than a weekend project, but both she and I are committed to doing this as a volunteer project and could benefit from direction in terms of mapping modules. Thus far, we've installed 6 and explored Gmap and Mapping Kit. She's inclined toward Mapping Kit because of OpenLayers and I have no experience with either. We'd also love advice about the best way to structure the site as there is content in both Spanish and English, and Russian may be coming. She's done a a great write up of the project, which I've attached.
So, I'm curious if people are still interested in the idea of getting together to work on a site once a month or so and whether this project is of interest. Maybe it's something we could talk about briefly at the next meeting.

Comments
Sounds like fun
Sounds like an awesome project, and could definitely be a bit of a learning experience for developers new to Drupal as well.
I'm not real familiar with OpenLayers but it looks pretty nice, I'd be a bit nervous that Mapping Kit requires PostgreSQL, given it's current support in Drupal. </open can of worms>
As recent patch queues have
As recent patch queues have indicated, Postgresql support for Drupal core isn't going away. For GIS, it is definitely the clear choice, given projects such as PostGIS (which is the reason for Mapping Kit's dependency on Postgresql).
Does the entire install need
Does the entire install need to be Postgres, or just the Geo Data tables (or is this a nonsensical question)?
In Drupal 6 and earlier...
In Drupal 6 and earlier, only one database type may be used, due to the design of the swappable database system. Looks like Postgres would be an excellent fit, and probably would be supported pretty well due to the Schema API in Drupal 6.
/me stuffs worms back in can
I can help with localization
Excellent idea. I'd be happy to help out with the localization aspects. I've done a bit with that in D6.
Would Love to Help Any Way We Can
We would love to help with any exposure we might be able to provide on Portland.com for any non-profits or help in any way that we can. It would be great to be a part of this and giving back to the community. Let me know how we can assist.
Best,
Jeremia
Jeremia@Portland.com
will people be meeting face
will people be meeting face to face to work on this or is a virtual collaboration? I'm only an advanced beginner in web design, and so if you're meeting face to face, post the time and place as I'm interested in showing up and learning and maybe seeing if I can be of some use. - will hall
The original intention of
The original intention of Web Site in a Weekend was a face-to-face work session exactly so that people could learn from the process. We'll be doing that, I think, but the scheduling may be a little tough with the holidays and all. I figured we'd discuss it at the meeting next Wednesday and see who's in town when. We'll definitely post the plan as soon as we make it.
Project description and writeup: draft 1
Wow, I am feeling so thankful and happy to see interest and enthusiasm around this project- I am deeply honored that you all want to help bring this into being. I think it'll be an awesome tool for the region, and I can't wait to work with everyone on this.
For some background (or nighttime reading?) on the rosecityresource.org project and how it started I am attaching the writeup that I sent Melissa- draft 1.0 of my idea. That said, I am new at this, so I humbly request guidance and patience with my grasshopper knowledge... anything is possible and/or up for discussion and debate.
Being an apprentice geo-geek, I have a strong desire to learn how to better use mapping and geography to solve problems and get people to what they need. I would love to learn how to do this well using open source, as many of the places that could really use these data can't afford... well, you know the line. That said, though, I don't want the mapping part to be a hindrance to getting the project up and usable, so am really looking forward to learning from the brains (Drewish!) about wisely using geolocative data.
Please feel free to contact me with any questions...
[many and infinite thanks to Melissa for getting the word out, momentum and brains rolling]
Cheers!
Sarah
Leave geodata for the end
Or, at least until the other functionality is solid -- as any of the discussions in the Location and Mapping group will show, there is a lot of work going on with the mapping space. At the outset, I'd recomment staying as simple as possible, and GMap has the advantage of simplicity. But another mapping solution I'd definitely look at is http://drupal.org/project/nicemap
But I'd definitely focus on the information architecture first, and making sure the content is well presented and well organized. Then, the geodata can add an additional facet to a this solid foundation.
My .02
FunnyMonkey
Click. Connect. Learn.
FunnyMonkey
Store Addresses with Location or CCK?
Thanks, Bill. Nicemap had not made it on my radar at all. I started looking at the mapping options early primarily to decide how the address data should be stored (and so Sarah could explore mapping in Drupal while worked progressed on the rest of the project). I'm glad I did because it led me to the Location module.
Your advice is well-received! One question, would you say it's best to use Location to store the address information (as opposed to CCK fields)? It's nice how seamlessly Location looks up longitude/latitude information. It seems to be well-exposed to views, too. Are there hidden advantages to using CCK?
am interesting in helping out
This sounds like a great cause and I would be happy to lend some expertise. I've integrated Google Maps into several projects, and can assist with all around project needs.
Lev Tsypin
ThinkShout, Inc.
thinkshout.com | twitter.com/levelos
One small difference
The one small difference that I've noticed, is that Location defines it's own Forms API widget for the address form. This can be a good or bad thing depending on the level to which you want to modify the form using hook_form_alter. On the other hand, it just works.
Location getting cck-ified
See http://drupal.org/node/183004
FunnyMonkey
Click. Connect. Learn.
FunnyMonkey
Another CCK option
The addresses module seems promising but we might need to do some work to tie it into the Google Maps. It also has some formatting problems in terms of the ordering of the address elements.
Resources in a CSV file
I dumped their PDFs to a text file then wrote some code to convert it into a CVS so we can import it into the site.
Similar for the Spanish files
Using the script from here and a lot of copy and pasting I've made a Spanish version.
All files used are in the 7-zip archive if needed.
Best way to import?
Sweet. Thank you! I'm not actually sure the best way to import node data in 6. I found the dev version of node_import, but it doesn't look ready. FWIW, it also doesn't seem to support location-enabled nodes, yet, although the 5 version did.
Custom code?
I'm not sure what'd work. I've always just written custom import code for stuff like this. If you could var_dump a filled in node I could probably modify some code I've got lying around.
Using what we just learned about simple test ....
This can be scripted with the simpletest scriptable web browser. I have some code as an example of doing this for another site here. This could be easily modified to add content from a cvs file.
This could be helpful for import
http://drupal.org/project/export_node
From the description: "The tab presents site admins with a snippet of PHP capable of re-recreating that node programmatically"
This could be used to jumpstart generating the code needed to import the content.
Cheers,
Bill
FunnyMonkey
Click. Connect. Learn.
Using Drupal in Education
FunnyMonkey
The paritally finished code I wrote
This is the code for adding stuff to the database through the web ui. It is paritally done and I will try to finish it up this week. I am still waiting for the cleaned up csv from Sarah. This already adds the location correctly, and the stuff for adding the resource is half way done. This adds stuff from a csv (http://groups.drupal.org/node/17216#comment-59630) that was initially created by drewish. This will have to be modified a bit to add the spanish content.
finished version
Note: there may still be some bugs. I only had time today to run this from a windows host and there seems to be some problem with php / cygwin / simpletest. I will finish this up with the csv that Sarah sent out tomorrow at lunch.
That's great news! I have
That's great news! I have backed up the database. If you'd delete all the test Locations and Resources before importing, I think it will save confusion. (I'd do it now, but occasionally Sarah has to demo what we have, so I like to leave it around until it's definitely time to get to work. Don't be the least bit shy about deleting it when you're ready to go, though).
I'll also let halstead know that he can take a look at it with the Spanish csv in mind.
I tried running it just now
... And it looks like the resource type is no longer pulling in the locations. I don't have the time to look at this now, please advise and I will run the utillity again when this is working again.
I just took a look at it,
I just took a look at it, and it seems that most of the resources are working provided they have a location set, and the location is valid. Do you have a URL of an example where it is not pulling in the location?
I just took a look at it,
I just took a look at it, and it seems that most of the resources are working provided they have a location set, and the location is valid. Do you have a URL of an example where it is not pulling in the location?
As far as I can see, the
As far as I can see, the site is still working like it did on Sunday. When the relationship between Resource and Location is made via a node reference field (where the Resource references an already existing Location) the map is appearing: http://www.rosecityresource.org/node/1
There is test data where no relationship was made between a Resource and a Location, though.
When you get a minute, let me know which URLs look broken, and I'll see what I can figure out.
url proof w/ outpudding
ok, when I go to: http://rosecityresource.org/node/add/resource, I should see all of the locations that are available right? But http://rosecityresource.org/admin/content/node/overview will show you a location titled "Fort Greeley" that is not in that list.
Am I missing something?
Ahh gotcha, apparently there
Ahh gotcha, apparently there was a filter for Node translation language on the view that provides that allowed values for the node reference field, I've removed that and checked that Fort Greeley is now displayed in the node reference select widget.
I got it now?
OK fingers are crossed. I think I have the content from the csv correctly added now. I ended up not parsing the hours field because it was too variable, instead I just put an additional line at the top of the body with the hours information. I figure this can be added later by the people who are doing the follow ups?
I was stuck for a bit on using simple test to set multiple select form fields. FYI it turns out that you have to pass an array when setting multiple select form fields.
ie:
$browser->setField("taxonomy[1][]", array($taxonomy_tid));not:
$browser->setField("taxonomy[1][]", $taxonomy_tid);Also there seems like there is a memory leak in simpletests browser. I ended up increasing the max memory to 512M for cli.
I have been having problems adding attachments on the forums here so I am just going to create a link to a zip of all of the related files.
http://backup.dennisonwilliams.com/rsr.tgz
It's looking good
It's looking good. Thanks for all your work on this!
One question: There's a field called field_hours that's separate from the field_days. Was there a problem stuffing the hours in the field_hours or was it the field_days and their checkboxes or both.
I'll take a closer look at it over the weekend, but again, thank you for everything so far.
Next Steps
At last night's user group meeting, I promised to post what I see as the handful of foundational decisions that need to be made for the project to go forward.
We'll be meeting this Sunday (open to anyone who's interested) to talk about how to structure the project in general, and hopefully, we'll also begin to address these topics. Sarah and I are going to narrow the scope of the project from the write up she posted to include more specific and less ambitions mapping plans by the time we meet.
I'd think by early next week we'll have a clear plan for what we're setting out to do, where help is needed, and how it can best be provided. We'll also have a better idea of what learning opportunities are available to the community. The project is going to be a mixture of input here on the group, individual contributions, and face-to-face get-togethers, so there will be a variety of ways to be involved and people can pick what suits them.
I'm sure there will be a lot to learn along the way about building a site together like this, but I'm really excited to give it my best shot and excited by the support people have expressed for the project! Thanks to everyone for their input so far, and the input to come.
Language handling
Language
For simple nodes, in my experience, the multilingual functionality in core for D6 is excellent. I've worked on several sites that use it, and the workflow seems much more straight-forward than in D5.
This may get tricky with resources, since, ideally, the translator would not have to duplicate the entire resource (coordinates, addresses, etc, are still the same), but only the relevant parts, like the description.
I'll set up translate
I'll set up translate content, looking out for the gotcha drewish mentioned (which I think was that menu labels get translated but don't point to the appropriate language URL).
This may be something that helps make a decision on the architecture. I've just finished setting up a workshop registration elsewhere which used a location (not the module, a CCK content type), instructor, and workshop. We may end up with a resource, location and contact setup to best represent the data, although it would sure be nice to keep it simpler.
storybus
Jonathan worked on the StoryBus site a while back, and I like the bilingual functionality of that:
http://www.storybus.org
He used Drupal Core. He also wrote a blog about primary/secondary menu translation:
http://www.opensourcery.com/blog/jonathan-hedstrom/drupal-6-and-primarys...
i was thinking about that too
i was considering how to break it out so perhaps a location is a separate node from the resource, then the location nodes aren't translated but the resource nodes are. that'd also allow multiple resources to share a location but each resource could have it's own description.
A few small issues
I've worked with this style architecture before, where places/locations are their own node type and resources(in my case events) were their own node type with node reference fields for locations. This worked well, and allowed for a view all 'resources' for a given location to be attached to the location node.
The area where this broke down, was in filtering by resource type in a map view. Since the actual location based nodes didn't have the data in them about types of resources available, this proved problematic since that type of view isn't immediately obvious. (This was in D5 btw.)
This may be easier in D6 and Views2 due to relationships and such, and it seems as if it should be possible to write some views handlers (should be a straightforward left join)* to cover this type of filtering if it isn't possible with relationships.
I'd love to hear how others have solved this abstraction issue in their projects because I really believe it offers a great level of functionality to be able to reference the same location from multiple resources, and vice versa.
* On second though this might be a bit tricky since it'd have to loop through the node-references to check for the resource type. This one-to-many join is still throwing me and merlinofchaos has told me that it's possible with Views2, however I'm still not groking it.
Node Referrer
In d5, I used node reference and node referrer, then I combined my three types, location, contact, and workshop, to be displayed in a single view with edit links so that it was easier for users to maintain. (I tried to use panels, but I still don't understand how it would work for it so I went back to my tpl files).
There's no release of node referrer for 6, though, and I don't know that it would do what's needed for the map even if there were.
That's the idea
That's pretty much exactly what I used in D5 as well, which worked fine for basic node display, and simple views. The tricky part was the map view. For example, say we have a resource content type, and a location content type. Let say we provide a view of resources with an exposed filter on the "type" of resource, so that a user could look for all resources that offer meals. Now lets say we want to make a map of resources with an exposed filter on type. In D5 with these content types it wasn't possible (that I knew of) since a listing of just "resource" nodes with a filter on the type of resource, wouldn't include the location data which was stored in node-referenced "location" nodes.
But D6 and Views 2 with relationships may have solved all this, I just haven't tried it yet.
Prepopulate
We used prepopulate in D5 to do this -- it allowed up to grab the nid and place it in the nodereference field.
And, it has a D6 release: http://drupal.org/project/prepopulate
Cheers,
Bill
FunnyMonkey
Click. Connect. Learn.
Using Drupal in Education
FunnyMonkey
Ya...
This is definitely something that is worth hashing out, I think; there are situations like The Downtown Chapel, which is a single location that offers their space for multiple programs to use (i.e., center for prostitiution alternatives, some hygiene programs, etc). Also, though, there is the reverse case, like, say, Human Solutions, which runs different programs at different locations, but is all Human Solutions.
Multiple node reference from resource to location
Then it sounds like each resource should have multiple locations.
Views will definitely lets us build queries listing things by location and displaying all the resources. The trick would be getting the map built from a view.
Relationships
In Views2, won't relationships cover this out of the box? Or does this not work for geodata?
FunnyMonkey
Click. Connect. Learn.
Using Drupal in Education
FunnyMonkey
Once the view of the
Once the view of the resources/locations is in working order, if it doesn't "just work" with locations/gmaps, I'd be happy to take a look. I'd bet the basic views integration is in the gmaps module, but more advanced relationship stuff may not be entirely built out or debugged.
spanish content?
is the spanish version of the content available on the web someplace? i didn't see it on that wiki.
I didn't find the Spanish
I didn't find the Spanish version online, either, so I imagine Sarah will need to get it from the Street Roots folks, which probably can't happen by Sunday.
Will try to get the data en espanol by Domingo
I was at Street Roots this afternoon and tried to get this but Israel (director) couldn't find it due to the complicated altoids-based desk drawer filing system. But Eddy (resource guide dude) works on Sunday so I'll give him a call and see if I can pick it up before the meeting- I know he has it done, but if the updated version isn't available, I can still grab the old (fall edition) data.
great
Even if it's a bit out of date that'd be fine. I think it'll just be important to have a set of data to compare to see exactly what differs between the two languages so we can be sure to take that into account. Heck I guess we could even compare the printed versions but it would be nice to get the import of both figured out.
Spanish PDF next week
Hi,
I just talked to Street Roots... the Spanish PDFs are not going to be ready till next week. We will get them as soon as they are ready, and I'll get them out asap when that happens.
Cheers
Gmap 6.x-1.0 and Location 3.0 released yesterday!
Wow, they just released gmap v. 1.0 yesterday...
http://drupal.org/node/346388
Edit:
Also, Location 3.0 has arrived:
http://drupal.org/project/location
Updated
I updated these (and all the other modules that needed it) on the site in preparation for today. I also installed the addons so we can look at them.
"did you mean" functionality for spelling errors when searching?
Is there a possibility of adding a "did you mean" functionality within the searches, similar to what one would see if they typed "protland" instead of "portland" in a web search engine?
[-this would apply to Resources only, maybe location, I think]
I'm just thinking of someone with spelling issues (education, learning disorder, dyslexia, etc) trying to search for something. Likely they would be trying to search for a resource name or neighborhood/area (I think every other category will be pretty obvious).
From what I've seen, fuzzy
From what I've seen, fuzzy searching in Drupal is not that well developed (there is a 5.x module that claims to do this, but since it doesn't mention views, I'm betting it doesn't integrate http://drupal.org/project/fuzzysearch). A quick and dirty way of overcoming this would be with taxonomy's synonym functionality...that way you could at least catch the obvious ones like Protland.
For Drupal 7, if this makes it in:
http://drupal.org/node/247482
that would be a step in the right direction.
Help from afar
I'd love to telecommute the help since I live Corvallis. I have some experience with 6. If need be I can work on the Spanish content.
December 19 and 20
Sarah and I will be working together tomorrow evening on the setup for the site translation. While we're working, we'll be in irc.freenode.net/8001 in #rosecity. I'm planning to be on at 5:00 p.m.
After last Sunday, I think we've made the major decision to try to use the location and GMap modules. We've decided to use two separate content types, one to store the location data and one for the resource.
I'm hoping this weekend we'll be able to:
So if you have experience with translation, tomorrow @ 5:00 would be a great time to join us in irc.
Exploring Translations
Sarah and I explored the structure for the Spanish site, and I feel like I learned a lot, but not enough, about what's available.
Questions about Core Language Functions
Translating Taxonomy Terms and Menus: i18n
Taxonomy Terms
i18n allows three ways to translate:
Localizing terms is a pretty weird interface for our client, and what we'd really like is that he could create an English node with its classifications and then when he created the translated node, the proper translation of the term would be preselected. Option 2, per language terms, does that, but the terms aren't kept synchronized. Enter i18n's Syncrhonize Translations. Except that it doesn't sync the Spanish and English terms, but rather applies the English term. This sure feels like a bug, but from what I read it's more for keeping the same image, say, over multiple translations rather than ensuring that when I choose a term on the English node its Spanish counterpart is added to the Spanish node.
In addition, we wanted Taxonomy Menus, either produced by the Taxonomy Menu module or by views. I don't know how to get either to toggle between languages they presumably know. So, I'm inclined to go forward with Item 3, Set language to vocabulary. I can then use Taxonomy Menu and create the Spanish and English Taxonomy Menus and configure them to display only in the appropriate language views.
Menus
Once I enable i18n's internationalization, block translation, string translation, and menu translation, I think I have what I want. My menus toggle happily between Spanish and English.
Translation and Node Reference
The location for each resource is added via node reference, which seems to work only if I create a view, using i18n's Views Translation module, filtered on Node translation: Source translation.
So I have the plan, except that for some reason the Spanish Resource taxonomy doesn't display its terms on the Spanish nodes. Once I track that down, we're good to go. I'd still like the client to be able to choose a term in either language and have it sync'd on the translation, but I'm not seeing that as possible.
We'd definitely appreciate feedback from anyone with experience at this!
January Sprint
After a snowy hiatus over the holidays, we're ready to get started on the Rose City Resource Project in earnest. We made quite a bit of progress with our one virtual meeting, documented in this thread. Thanks to everyone who participated!
The next steps will be importing English data, fixing the display of multiple points in GMap, finalizing strategies for translation, and importing the Spanish data.
We're kicking around a couple of dates for the first face-to-face sprint:
Monday, January 19 (MLK)
Sunday, January 25
Hopefully we can choose a date and time at the users' group meeting (or shortly thereafter).
+1 1/25
I sadly won't be making the next drupal users group meeting, and will be working on the 19th, but would be able to work on 1/25
article re: location module and multilingual sites
This was posted by a user in the Location and Mapping group and goes over some issues regarding the location package with Drupal 6, specifically for multilingual sites.
http://civicactions.com/blog/Location_Package_Drupal_6
Cleaner csv file
Today I took Drewish's csv table and cleaned it up for dwilliams, who is working on import.
I added a column for "city" because there are a few different cities
and removed city names from the main address field. Also, for entries
with multiple locations/addresses, I created multiple entries with one
address each and split them up that way. I ran a couple quick find
and replace-es to get rid of the unicode weirdness, hopefully that
carries over ok.
There is one entry physically located in WA: Open House Ministries, in
Vancouver (currently line 259). The rest are in OR. I decided not to
make a column with state because that's the only non-OR anomaly... I
had also thought about making a zip code column, but there were only a
couple of entries that had zip code anyway so it seemed superfluous to add at this point.
Also, I changed all the category headings/names to begin with Rose
City Resource: ResourceName (ex: Rose City Resource: Food Boxes). Most of
them were like that already but there were a couple that weren't.
(remove _.txt from filename for csv file)
10-4
Thanks for doing the city bit, cities in the csv wernt very normal. I am going to try and do a little work on this at lunch time.
Views update
We installed the Views attach module to allow the attachment of views directly into content types. This allows the embedding of a view that displays information about a node within the node display, without requiring blocks. In this case we are using it to display the map on resource nodes, since the actually location information is stored in a location node, that is referenced from each resource. This allows users to choose a location when entering a resource instead of typing in the address multiple times, for different resources at the same location.
This also allows location nodes to have an embedded view with the list of resources available, and a view that displays a map of that location. By adding a filter for Node: translated language to the view of available resources at each location, and setting it's value to that of the Current user's language, the view will only show the resources available that are translated into the language that user is currently browsing the site in.
Translation Strategy
At today's sprint, we decided upon the translation strategy for the site. We're translating the Resources, but not the Location, using the optional core Content Translation module. In addition, we're using i18n's Taxonomy Translation and Block Translation to handle toggling between English/Spanish menus and English/Spanish taxonomies. These choices depend on Locale (for i18n) and Internationalization (for Taxonomy and Block translations).
Two outstanding questions:
url proof w/ outpudding
ok, when I go to: http://rosecityresource.org/node/add/resource, I should see all of the locations that are available right? But http://rosecityresource.org/admin/content/node/overview will show you a location titled "Fort Greeley" that is not in that list.
Am I missing something?
Theese hours are killing me ... I reposted in reply to the correct thread above.
cleaned spanish csv file
Here's the cleaned-up Spanish csv file which Halstead is working on importing. This one was a bit different, the hours and bus are mixed up in the body of text and will probably have to be gone over and placed by hand along with any smoothing of the text. Also the Spanish doesn't have all the resources that the English does, but once we get everything linked up it'll be easier for Street Roots to see what they're missing translations for. :)
Like the English csv, I added a "city" column and also separated additional content in the address line with a comma (i.e., 222 First Ave, Suite 20).
(remove _.txt from filename)
Cheers
Project wrap-up work day @ Street Roots March 21st
I've posted an event for the wrap-up for this project- we're going to train Street Roots staff on how to use the site while we clean up the content and add the Spanish data. This will be the day that everyone from our family gets to meet and work with everyone from the Street Roots family, and will be pretty much the finishing of the project.
Saturday, March 21st
at Street Roots office in Old Town
event details:
http://groups.drupal.org/node/19597
Woot!
Launch and party Saturday March 28th 3:30-6PM @ OpenSourcery
Friends!
You're all invited to the launch and launch party for this project a week from Saturday at OpenSourcery.
Please come!
Event details:
http://groups.drupal.org/node/20346
It would mean a lot to see you there.
Thank you for all you have done.
Street Roots article on rosecityresource.org today! Well done.
//sorry, had to take out the leading http on urls 'cause Drupal thinks I'm a spam bot with the links.
I wanted to let the group know that today Street Roots did their hard launch of our community project, the Rose City Resource site. Since we went live in March, Israel (SR director) and I have been tweaking, configuring, and adding (with the continued support of the dev team, thank you).
You can pick up a copy of today's Street Roots to find an article on page 3. Israel is holding a stack of papers for us so if you're not able to pick one up, let me know and I'll send one to you if you want. :)
You can also see the article here:
streetroots.wordpress.com/2009/05/29/a-site-of-the-times-new-rose-city-resource-guide-web-site/
Also an article about our live launch on March 28th:
streetroots.wordpress.com/2009/05/29/rose-city-resource-web-team-has-a-party/#more-1515
Thank you so much for your help in making this a reality. Street Roots is very excited about it, and I think we've made a great community tool. I'm proud of us.
If I'm missing someone or have made a spelling/linking/affiliation choice that isn't right in either of these pages, please let me know. (Also, still open to feedback, I'll be supporting this site for a while.)
/content/about/thanks
/content/about/development
Also, in other news, there will be a panel on this project at the Open Source Bridge Conference in Portland (June 17-19). We're scheduled for the 10:00 session of the first day, with Joaquin, Melissa, Israel, Molly Vogt (Gresham), and myself.
opensourcebridge.org/sessions/41
opensourcebridge.org/events/2009/schedule
Cheers, thank you, and well done.