Lance Wicks
Kiwi,
Judoka,
Geek,
Husband
Daddy!

JudoGeek Blog

DojoList Progress 

This is just a small update on my DojoList project, to let people know what’s been happening in the background.

My time/energy for working on DojoList has started picking up again after a self-enforced break from the code I took a couple of blog posts ago. I am now working on the 0.7.0 version of the code and it is coming along slowly but surely.

One of the big reasons it has been slow moving forward is that I've been working with others on some important additions and ideas for the system. Specifically the "sync" idea.
I would like DojoList to be a system that can send and receive data from one installation to another. For example, I already read data from http://judoworldmap.com into http://dojolist.org as the data there (like mine) is creative commons licensed. But my initial hack at this is one-way and just pulls data from the front page.
We (Ulrich, who runs Judo World Map) have been talking about how we might structure things so that should someone update a Dojo I have imported from his site, that update is automatically feed back to his site so that the user updates in one place but the changes appear everywhere.

A good example case would be this. Your area association might install DojoList on the area website, maintaining a list of clubs in your region. It is an accurate list because it is local clubs and the clubs visit the area website, so updates get made.
The National governing body also installs DojoList, but rather than re-enter and re-manage the clubs from your region they point their DojoList installation at your area installation and hey presto, all your local clubs are listed on the national website. When you change training times on the regional site, it updates the national site too. AND (and this is where it gets tricky) if you happen to update the national site, it updates your area site.

So you have a two way sync, and everyone gets better information. Of course it's proving tricky to work out how to do this. I have been making some changes to DojoList to make it possible. This has included the creation of a source URL field to show where the site came from originally and a GUID (Global Unique ID) for each Dojo (I am also adding a "last updated" field). The next step is to build the mechanisms to sync changes between sites and test the daylights out of it!

I've also been working with the biggest list of Judo Clubs out there to see if DojoList could work for them which is exciting. We are not quite there yet, but it's looking promising already. I have worked with them to massage their data into the format that DojoList understands and they are working on a test installation... exciting!

Another feature I have started thinking about, but not started working on is the ability to filter results. So for example to be able to include only Dojo from your country, state/county, city or suburb. This I think will be important when looking at sync too. If your national or regional body in say the USA wanted to pull clubs from DojoList.org they probably don't want the clubs from the UK on the list. So it would be good to separate out the clubs based on their lat/log and use only those within a defined space.

There are some big issues to be thought through around sync, more and more the more and more I think about it. For example, perhaps someone deletes a Dojo off one website, but only because it's from a different organisation from yours. Do you then sync that deletion? What happens if that dojo is on 3 other sites? Does it sync back to the original site? Lots of questions to answer.

If anyone has some experience in distributed systems syncing data like this I'd love to hear from you.
On that subject, I'd love to hear from other Judo interested developers who might have smarts to add to the project. It's open source, so the code is available on github for anyone to start tinkering with. I'd love it if some more people discovered the project and sent in ideas, patches, new features, etc etc.

Also, I'd love to help anyone who is interested in using the system on their website. Be that to replace an existing database or a site with no list. Actual live usage finds more bugs, points at more features, answers more questions about what people want. So, if you fancy having a DojoList install of your own, please let me know.

Also, the more people the merrier. So far I have been working, on the whole, in isolation. I'd love for this project to become a real community project. I know there are plenty of Judo people in IT out there. I'd love to bring some of them together around this project, so again drop me an email. Coders, testers, documentation, translations, etc etc it is all there waiting for someone to give it a go.

The 0.7.0 release will be coming shortly, which will have some of the new idea in it. I want to then crank through 0.8.0 and 0.9.0 and get to a 1.0 version in the near future (a couple of months). That'll need to be pretty stable and solid, so I'd love any help I can get.

Lance
lw@judocoach.com

[ view entry ] ( 11093 views ) permalink

<<First <Back | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Next> Last>>