Jasper already summed it up nicely, bringing some concrete examples. What I would do, is to use simply a webapp, such as RedMine, deployed somewhere all project members can access. Since it provides a REST API, you can then send and get JSON requests through normal HTTP operations. You can keep a queue for offline use, and provide an interface to solve conflicts, if you worry that people cannot be always connected to the Internet. Sometimes the easiest solution is just the best one: I would just say "use the web interface". Not an expert so I might be wrong, but: if you really would like an offline Gtk+ application to sync with a server, without having to care too much about how data is synced, I believe you could talk to evolution-data-server through libecal. EDS will then manage things under the hood, possibly using WebDAV/CalDAV, Exchange, etc. I think you could start by getting an ESource from libedataserver, and use it accordingly. Cheers, Matteo Il giorno mar, 02/04/2013 alle 19.25 +0300, אנטולי קרסנר ha scritto:
Hi, This is a somewhat technical question, I hope this is the right place for it. I'm writing a GTK application which manages tasks and projects. At the moment it's more or less like GTG (Getting Things Gnome). I want to add task sharing, and I've been thinking what's the right way to do that. I checked what other people do. GTG uses the XMPP pubsub extension (publish & subscribe), which seems to do the job, but it's not exactly designed for sharing tasks. It does work, but it requires you to setup the server. I've been thinking and I found another idea: use a git repository. This way people can easily watch how projects develop - this way we easily achieve the publish&subscribe capability - and sharing tasks between team members is as easy as working with git, which is already very common. Task sync is simple sync of files in the repo. And it doesn't require any extra work: starting a new local git repo is extremely easy by typing "git init", and starting a repo on a server is done by creating a user on gitorious and creating a repo there. Some sites don't offer private repos for free, but encryption will be used anyway to allow maximal privacy anyway, so it shouldn't be a problem. (GitLab offers 10 private repos for no charge if you really need 100% privacy) I'd like to hear more ideas and make a wise decision, which tool is the best one for task sharing. Git sounds very good to me, but I'm not an expert (just a software engineering student, actually). - Anatoly
Attachment:
signature.asc
Description: This is a digitally signed message part