[ghns] ghns status, api, etc.
Frank Karlitschek
karlitschek at kde.org
Wed Jun 24 14:50:51 PDT 2009
On 23.06.2009, at 18:03, Jeremy Whiting wrote:
> On Tuesday 23 June 2009 00:28:34 Josef Spillner wrote:
>> Am Dienstag, 23. Juni 2009 08:06:17 schrieb Jeremy Whiting:
>>> From my end (knewstuff2 client) I'd like to expose as much
>>> functionality
>>> that exists on the web interface as possible (and reasonable of
>>> course).
>>> In order to do that I'm going to need something I think I'm already
>>> getting from frank's api which is a unique identifier for each
>>> entry. Is
>>> that right Frank? Josef, if you could provide this that would be
>>> excellent, take a look at Frank's xml feeds to see how he's added
>>> it (and
>>> we should add it to the ghns spec probably also).
>>
>> There's knewstuff/doc/Identification.txt which presents the i18n-id
>> comparison algorithm. It's a bit more complex than just a global ID
>> but its
>> advantage is that it will detect duplicates across servers. So it all
>> depends on what you want to achieve: Should entries be unique on
>> one server
>> or among all potential GHNS servers? In the former case, we could
>> just push
>> out the internal database id, in the latter case nothing else but
>> i18n-id
>> can ever work. (Except maybe checksums on a subset of the entry
>> tags so
>> that an entry's evolving nature including translations and comments
>> are
>> taken into account.)
>
> That works fine for internal identification of an entry, but does
> not work for
> client to talk to the server about an entry unless we all three use
> the same
> hash function.
Yes. Can´t we simply use the service provider as a "namespace"? I mean
your unique ID would be the name of the service provider + the id you
get from the server.
For example the unique id of the content 1234 from openDesktop.org
would be "openDesktop.org1234"
>>> Second I'd like to be able to ask each web api if entry x is
>>> updateable.
>>> There have been numerous wishlist requests to see what's been
>>> installed
>>> in the past via knewstuff2 and I'd like to provide this. I have
>>> all the
>>> data in the registry I keep of what's been installed, including each
>>> entry's xml, so I should be able to create a feed in memory of
>>> installed
>>> items, then ask the server each came from to see if it is
>>> updateable.
>>> One advantage of this could be a button to update all like most
>>> package
>>> managers have.
>>
>> I thought this is what KNS::Entry::Updateable is for? It is set
>> automatically when an entry has a newer version in the feed than on
>> disk.
>
> Yes, and that works fine for feeds, but once an entry isn't in any
> of the feeds
> anymore, the client has no way to ask the server about it anymore.
>
>> We could additionally have a method for querying just the
>> possibility to
>> update for any of the installed items, but this is going to cause a
>> lot of
>> traffic if you aim at one request per item. In this case, the HTTP
>> headers
>> will always be a lot larger than the request itself.
>
> Yes, that's true, however I see no other way around taking a list of
> installed
> entries and finding out which ones are updateable when some may not
> be in any
> of the automatically fetched feeds. If you have another idea how
> that could
> be done I'm more than willing to discuss, but I don't see another
> way at this
> point =)
>
> thanks,
> Jeremy
> _______________________________________________
> ghns mailing list
> ghns at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/ghns
--
Frank Karlitschek
karlitschek at kde.org
More information about the ghns
mailing list