Re: Tools for Sharing Tasks



I see... Redmine can do the job, but it's meant to be used for a
project. For a team working together using one server. My application
tries to make task sharing easy even if you don't have a whole project.

For example, delegate a task to your nice neighbor.

What git gives me is the ability to share tasks without a centralized
system. Each user can choose any git hosting service he/she wants, and
if you want to share a task with someone, it can be done using your repo
as the "remote" one, or using the other user's repo. It doesn't matter
because there's project.

I can use any file sharing service of course, but git provides version
tracking. You can store tasks and source code in the same repo easily.

There will be no mess and no conflicts, because tasks cannot be edited
by all the people sharing them. In the general case, only the creator,
the one who assigns tasks to people under him, can edit them. It makes
sense: you can't "edit" the orders you're given from your boss.

Maybe there's something better than git or XMPP, but I need something
specific which gives me all those features of decentralized file
sharing.

I'll read more about XMPP, I'm not sure yet if it can store the files on
the server or at least keep an "offine message" to send to a given user
when the users connects to the server... if I can use existing
Jabber/XMPP servers it's great, otherwise it's to much work for a home
user to do just to share a task or two

On ג', 2013-04-02 at 18:58 +0200, Matteo Settenvini wrote:
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






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]