Hello
I am a fairly competent non-web programmer who has volunteered to extend a Charity's website. It's a smashing and unique little charity which recieves no funding. We can't find an experienced web programmer to do this and its down to this old slave to corporate telephony api's to try my best. Being new to the web and open-source I am looking for feed back about what might be possible, and how I might best proceed.
What we have now
A php5 website with public pages and a limited members area. A mysql db holds various tables supporting detailed membership records/attributes, login etc.
What we want
We would like to add some community areas for members by location. That is, we would like members to select a region (of the real world i.e London) and see a forum, a calender and a list of members, all relevant to the selected region.
The charities membership is currently European wide but in theory anyone from anywhere in the world might join. Any solution must be hosted on our server, and be customizable in looks and must be secure. It must use our existing members tables. The solution must be free or very cheap.
I imagine a system which stores a location with everything, every forum thread and calender entry, etc. A user can search with a varying distance form any location (ie within 1 mile, 10 miles etc) and see a forum, members and calender containing data that falls within the location scope. Like combining an estate agents location functionality but displaying a calender, members and a forum instead of houses. To achieve this I am, maybe optimistically, hoping I might be able to combine something like the google api with some already available community tools.
The idea of a location based forum might just be too much and too db intensive - but I thought I'd put it out there - it could work by associating a location with each thread but it could easily become a quagmire. Location based calender and members searches seems a more reasonable first stage. But I have no idea what mechanisms are available to store queriable locations in the db. How smart can this location stuff be for free? What choices do I have using php/javascript?
Also, what existing community tools/scripts is it worth me looking at, that might be adapted to suit my needs?
Apologies that my questions might be daft and please tell me if you think I am looking at this all wrong. Thanks in advance for any responses.
Phil
Location search and community tools?
Moderator: General Moderators
- ReverendDexter
- Forum Contributor
- Posts: 193
- Joined: Tue May 29, 2007 1:26 pm
- Location: Chico, CA
Setting up stuff for specific locations I don't think would be that difficult. It would involve setting up a look-up table in your db with all of your locations, and then having foreign keys in everything you'd like to have be region specific (members, forum threads, whatever).
Searching for stuff "within 1 mile, within 10 mile, etc" I think would be much more difficult, but you could make a workaround using "regions". By that I mean in your location look-up table, you could add a field to each row that would be a "parent" region, i.e. for the region "sacramento" it's parent might be "sac valley", who might have a parent of "Northern California" who's parent is "California"... so on and so forth. Rather than distance, you could then have users search by larger and larger region areas. This also gives you the flexibility of making very "small" regions for areas with higher population density - it doesn't make sense to look for stuff within 1 mile of you if you live in the middle of nowhere, but you might have to get even closer if this was in the city. The SQL for that kind of search I'd have to sit down and think about, though
Hopefully that helps!
Searching for stuff "within 1 mile, within 10 mile, etc" I think would be much more difficult, but you could make a workaround using "regions". By that I mean in your location look-up table, you could add a field to each row that would be a "parent" region, i.e. for the region "sacramento" it's parent might be "sac valley", who might have a parent of "Northern California" who's parent is "California"... so on and so forth. Rather than distance, you could then have users search by larger and larger region areas. This also gives you the flexibility of making very "small" regions for areas with higher population density - it doesn't make sense to look for stuff within 1 mile of you if you live in the middle of nowhere, but you might have to get even closer if this was in the city. The SQL for that kind of search I'd have to sit down and think about, though
Hopefully that helps!
- CoderGoblin
- DevNet Resident
- Posts: 1425
- Joined: Tue Mar 16, 2004 10:03 am
- Location: Aachen, Germany
Might want to look at the following Find distance between two locations. or search for "great circle distance" (all items) on these forums for additional topics on this.