Re: Remember the Milk



2008/4/11 Kevin Kubasik <kevin kubasik net>:
> Initial work is up here
>  http://bugzilla.gnome.org/show_bug.cgi?id=510108 almost at the point
>  of being a workable source, but I chose to start by gunning for 2way
>  with this one. (bad call)
>
>  Anyways, this was an experiment-oriented project, and served me well
>  as far as learning more of the guts of Conduit and how it functionally
>  does things (or doesn't in this case). Lemme know what your workign on
>  specifically so if I get some free time we done duplicate ;)

I committed the above patch to make it easier for you guys to work
together on this.
 * If you end up improving pyrtm so much to make it useful we can
release it as an external library, or keep it in tree.
 * Also, remember to add a test for any work you do.
 * put() is the hardest function for two way. See
http://www.conduit-project.org/wiki/WritingADataProvider/GeneralPutInstructions
for the recommended implementation

Some quick comments (from the bug)

> problems understanding the differences between UIDs, URI's, and LUID's wrt
> conduit,

data UID (sometimes called LUID) = the unique representation RTM uses
to store the data. The point is that is need only be locally unique,
that is unique within RTM for some set of criteria. It need not be
globally unique because it is in effect 'namespaced' within the UID of
the dataprovider
dataprovider UID = This forms the namespace part of the data storage.
A dataproviders UID should encompass that information which describes
its unique configuration such that if two dataprovider are congigured
identically, they should have the same UID.

Therefor:
data LUID + dataprovider UID = Globally unique identifier for a bit of data.

Having a UID for the dataprovider and the data is necessary because
not all dataproviders allow us to attach arbitary generated GUIDs to
data we touch. It is also necessary to have two identically configured
dataproviders have the same UID so that we can detect when something
is deleted.

The URI is just a conveniece, and is used in comparison. ITs just a
URI that can be opened to allow the user to compare the data they are
talking about. Not all data has a URI, and often the datas URI is
different to its UID. For example the UID for a flickr data is some
random string, while its URI is (should be?) that photos page on
flickr.

HTH

John


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