Re: New module proposal: tracker

2009-11-10 Thread John Carr
On Tue, Nov 10, 2009 at 10:28 AM, Rob Taylor rob.tay...@codethink.co.uk wrote:
 Iain wrote:
 On Mon, Nov 9, 2009 at 12:01 AM, Philip Van Hoof s...@pvanhoof.be wrote:

 Sorry but, with DBusGProxy you already have a GObject that you can
 immediately connect a signal to and get informed when something gets
 added, removed and changed.

 http://live.gnome.org/Tracker/Documentation/SignalsOnChanges

 With DBusGProxy you also already have a GObject to make a SPARQL query.
 You just have one method called SparqlQuery that takes a string, and
 that returns an array of an array of strings.

 It can't get much more simple than that.

 Except that with libtracker-client you don't even have to think DBus
 anymore.

 I saw the DBus API, I just didn't seriously think you were proposing
 it as application facing API.
 Porting the QTtracker library (or writing a high-level GObject
 equivalent) should be a priority if
 you want to get Tracker accepted by GNOME.

 As John mentioned earlier, see:

 https://labs.codethink.co.uk/index.php/p/sparql-glib/

 I'd be quite happy to propose this as a GNOME module. It probably needs
 some cleaning and tidying but is completely usable at this point.

 Thanks,
 Rob

One option is that some of this code could be merged into tracker
itself, if it is deemed useful, along with exposing
TrackerSparqlBuilder (which might be internal atm? can't remember).
Just an option, but i'm not strictly in favor of that as i had hoped
to see it able to access other SPARQL endpoints like dbpedia.org. That
said, theres no reason it couldnt support multiple endpoint types, as
im sure the miners would love to query such repositories online.

The main problem with sparql-glib as it stands is that it stands is
that its still quite low level. You are essentially building an AST by
hand and then sparql-glib flattens that into sparql. For the common
case we need to come up with something a little higher level i think.
Like gobject property getters (pass in multiple properties to fetch,
it builds and uses the AST to get sparql). However for complicated
queries with lots of relations to other resources this approach won't
be as useful, i think.

I'd like to see jalchemy merged in to sparql-glib too, as that is
really just a wrapper to make using sparql-glib less verbose from js
land.

John


 iain
 ___
 desktop-devel-list mailing list
 desktop-devel-list@gnome.org
 http://mail.gnome.org/mailman/listinfo/desktop-devel-list


 --
 Rob Taylor, Codethink Ltd. - http://codethink.co.uk
 ___
 desktop-devel-list mailing list
 desktop-devel-list@gnome.org
 http://mail.gnome.org/mailman/listinfo/desktop-devel-list

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: New module proposal: tracker

2009-11-09 Thread John Carr
On Sun, Nov 8, 2009 at 8:43 PM, Iain i...@gnome.org wrote:
 Tracker 0.7 ships with a DBus API, Nepomuk as ontology, SPARQL as query
 language, SPARQL UPDATE for inserting and updating data and finally
 signals-per-classes as life search capability.

 The DBus APIs are simple but very powerful thanks to SPARQL.

 From looking at tracker again this weekend, and indeed it does work
 better than the last time I checked in June (modulo some apparent big
 bugs and some issues with the concept that I couldn't test due to the
 bugs) but from a application developer point of view, I'm still
 disappointed.

 Essentially, I feel the APIs are far too low level and the
 documentation is very very incomplete, which ended up leaving me
 wandering around in dark as to what I was meant to do. The Application
 Development Manual is useless (I know its not finished, but its no
 help at all). I know you guys love love love ontolgoies and SPARQL and
 predicates and all that, but honestly, as an application developer I
 couldn't care less. All I want is to get at the data I want in the
 easiest possible way, and looking at tracker and discovering that I
 need to learn yet another language and a whole new load of boring
 concepts to do that is very offputting. SPARQL, tuples, ontologies
 should be internal details that you shouldn't need to know about.

While I agree that the terminology is a little buzzwordy and perhaps
even scary to newcomers, i want to start with a rather defensive
point: sqlite (or any database) isnt any better out of the box. I
think all C apps using sqlite are quite low level and SQL has to be
manually written? Things are better in python where we have ORM but
people often go low level anyway beecause they want to be fst.

But I agree. We can do better here.

In addition to the things Philip has mentioned you might want to look
at tralchemy, a python helper for working with tracker. Right now this
is an experimentation area for what we can build on top of the tracker
store. A couple of things it does:

 * It dynamically binds all the ontologies (schemas) tracker knows
to python objects similar to traditional python ORM tools. The
bindings don't needed to be updated for new ontologies, it just works.
 * This means simple queries can be as easy as Contact.get(firstName=John)
 * To add a new records is c = Contact.create(); c.firstName = John;
c.commit()
 * Help works on classes: from tralchemy.ns import nco; help(nco.Contact)
 * Event propagation - Contact.connect(added, callback). Though this
might be disabled in HEAD pending some refactoring.
 * For more complicated queries, there is an experimental JSON
representation of SPARQL.

tralchemy has 2 cousins - jalchemy (JavaScript) and sparql-glib
(vala). They were developed to the point where they were useful for an
application but currently tralchemy is more actively developed (read:
experimented on). All of them can be found on labs.codethink.co.uk.

 Looking at tracker/src I see 7 things begining with libtracker- and
 none of them look overly helpful. The most useful looks like
 libtracker-client, but again its too low level. What I would really
 like to see is some simpler high level calls that enable me to get all
 data of (for example) Music, allow me to specify what fields I want,
 and it should be a GObject that I can connect to signals on to find
 out when a result has been added/removed/changed.

AFAIK, most of the libtracker- things are internal.

I believe there has been some discussion about how a dynamic gobject
binding might look, but no volunteers to write it yet. I would love to
see some proposals for what the API might look like, everything i can
think of severely limits the queries that are possible or is
excessively verbose. I wrote an example of the excessively verbose
kind, sparql-glib..

 We should be looking
 to make our APIs as simple and easy to use as possible to enable
 developers to make the applications without distracting them with
 irrelevant implementation details. If this already exists, I apologise
 and blame the lack of documentation.

 iain

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: New module proposal: tracker

2009-10-27 Thread John Carr
Hi,

On Tue, Oct 27, 2009 at 8:58 AM, Martyn Russell mar...@lanedo.com wrote:
 On 27/10/09 03:34, Sriram Ramkrishna wrote:


 On Mon, Oct 26, 2009 at 4:08 PM, Andre Klapper ak...@gmx.net
 mailto:ak...@gmx.net wrote:

    Am Dienstag, den 18.08.2009, 13:05 +0100 schrieb Martyn Russell:
      I would like to propose Tracker as a new GNOME module.

    The GNOME release-team will soon decide about module inclusions for
    GNOME 2.30.

    To the GNOME developers:
    If you have not commented yet, if there is anything to add, if you have
    questions to the maintainer: Please comment now.


 I have one comment and I think from a marketing perspective, I would
 like to see that we are on par with the other desktops. OSX has
 spotlight, and I believe windows has winfs or at least it has something
 built in.  We are doing ourselves no favors when we are not feature
 complete against other desktops.

 Carlos Garnacho and I did spend 2 or 3 days writing an application similar
 to spotlight - although it is just a quick mock up to demonstrate the speed
 and ability of Tracker and could do with some more love. The blog/video
 about it is here:

  http://blogs.gnome.org/mr/2009/09/30/tracker-0-7-released/

 I am though a little disheartened that they had such a hard time coming
 up with use cases.  :/

 Hi all,

 Since posting the initial request a lot has changed. 0.7.0 up to 0.7.4
 versions have been released, we are doing weekly releases now too. After
 some brief talk on IRC, we are considering making stable releases from the
 end of the year or so.

 Regarding use cases, this is how it is being used now (0.7.x that is)

 Maemo platform (I may have missed some cases):

  * Calendar
  * Bookmarks
  * Image Viewer
  * Media Player
  * Instant Messaging (I think)

Could you expand on what this means? Is tracker being used as the
primary store for calendar in Maemo now? Or is it just indexing the
calendar. Etc.

 For the desktop:

  * Totem - http://blogs.gnome.org/mr/2009/10/07/tracker-totem/
  * Evolution
  * File system (of course)
  * Applications (desktop files)

Here its just acting as an indexer and putting stuff in the RDF store,
right? And consuming data in totems case?

 In the works:

  * Zeitgeist
  * Photo management application - work done by Debarshi Ray
  * Epiphany developers were looking into using it - progress unknown.
  * We have a branch we are currently looking into merging with web
    application support (facebook, flickr, twitter, etc) - work done
    by Adrien Bustany (GSoC student).

The web miners are awesome.

 Perhaps Bastien will change his opinion now I fixed up his app :P

 --
 Regards,
 Martyn

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Proposing couchdb-glib and evolution-couchdb for GNOME 2.30

2009-10-01 Thread John Carr
Hi,

On Thu, Oct 1, 2009 at 12:42 PM, Rodrigo Moya rodr...@gnome-db.org wrote:
 Hi

 Purpose
 ===
 couchdb-glib is a library to implement the protocol to talk to CouchDB
 servers (http://couchdb.apache.org), a schema-free, json-based, database
 of documents, which offers synchronization and replication between
 several machines.

 evolution-couchdb is the 1st module to make use of couchdb-glib, to
 allow contacts from Evolution to be stored in CouchDB databases and
 replicated/synchronized for free to other CouchDB servers.

 Target
 ==
 couchdb-glib for the developer platform
 evolution-couchdb for the desktop

 Dependencies
 
 couchdb-glib depends on json-glib, libsoup, libuuid and (optionally)
 libssl (for OAuth authentication)
 evolution-couchdb depends on couchdb-glib, evolution-data-server and
 evolution

I've not looked at evo-couchdb, is the intention that there would be a
local couchdb instance or that it would connect directly to a remote
couchdb?

If there is a local couchdb exepected for the common case then maybe
the mozilla js dependency needs a mention.

 Resource usage
 ==
 Source code is already in GNOME's git (couchdb-glib and
 evolution-couchdb modules)
 Tarballs are already published on GNOME's FTP
 Bugs are right now in Launchpad, but moving them to GNOME's bugzilla as
 soon as needed

 Adoption
 
 Both modules are included in Ubuntu One service integration in Ubuntu
 Karmic upcoming release, to provide contacts synchronization between the
 desktop CouchDB database and the cloud-based services of Ubuntu One.

 For GNOME 2.29, plans are to add support for calendars and tasks
 (evolution), and, hopefully, also notes (Tomboy), metadata (tracker),
 configuration settings (dconf, when adopted, if so)


 GNOME-ness
 ==
 Right now, everything is setup like any GNOME project, that is, it uses
 gettext for translations, and should be accessible (almost no UI
 involved right now, just a very simple settings widget for evolution to
 setup CouchDB addressbooks).

 It is not translated into any language though, but translators should be
 able to start translating it straight away, since all its ready. Also,
 couchdb-glib API documentation is missing, but that's one priority task
 for the GNOME 2.29 cycle, whether the modules are accepted or not.

 Bugs are in Launchpad, but could be moved to bugzilla.gnome.org pretty
 easily for the bugsquad.

 3.0 readiness
 =
 No deprecated libraries or symbols being used. Also, the addition of an
 online services infrastructure could give 3.0 another major feature to
 offer to users, apart from what is already planned.

Have you considered using the NEPOMUK ontologies (they've spent quite
a lot of time developing ways of describing contacts and calendars and
such things and from your ML it looks like you are reinventing the
wheel).

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Proposing couchdb-glib and evolution-couchdb for GNOME 2.30

2009-10-01 Thread John Carr
On Thu, Oct 1, 2009 at 1:12 PM, Rodrigo Moya rodr...@gnome-db.org wrote:
 On Thu, 2009-10-01 at 12:55 +0100, John Carr wrote:
 Hi,

 On Thu, Oct 1, 2009 at 12:42 PM, Rodrigo Moya rodr...@gnome-db.org wrote:
  Hi
 
  Purpose
  ===
  couchdb-glib is a library to implement the protocol to talk to CouchDB
  servers (http://couchdb.apache.org), a schema-free, json-based, database
  of documents, which offers synchronization and replication between
  several machines.
 
  evolution-couchdb is the 1st module to make use of couchdb-glib, to
  allow contacts from Evolution to be stored in CouchDB databases and
  replicated/synchronized for free to other CouchDB servers.
 
  Target
  ==
  couchdb-glib for the developer platform
  evolution-couchdb for the desktop
 
  Dependencies
  
  couchdb-glib depends on json-glib, libsoup, libuuid and (optionally)
  libssl (for OAuth authentication)
  evolution-couchdb depends on couchdb-glib, evolution-data-server and
  evolution

 I've not looked at evo-couchdb, is the intention that there would be a
 local couchdb instance or that it would connect directly to a remote
 couchdb?

 evo-couchdb can work with a per-user CouchDB
 (https://edge.launchpad.net/desktopcouch ) which is what is used for
 Ubuntu One syncing, with a system-wide CouchDB (http://localhost:5984)
 or with any remote server you set up. On that server you just need to
 run a CouchDB instance on a known port, and create an addressbook in
 Evolution to point to it.

 The Evolution-couchDB UI shows the 3 options just for the sake of
 simplicity for the user, but all 3 options are the same, you just need
 to point it to a URL:port, and evo-couchdb uses the same code to connect
 to all 3 of them.

 Of course, the most interesting thing is to be running a local CouchDB,
 so that it can get synchronized to a remote server, but again,
 evo-couchdb does not force any specific setup. Another typical setup, I
 guess, would be to connect evolution to a couchdb server on your home
 network, and synchronize that with a remote server on your
 office/whatever. Evo-couchdb can deal with any setup you can think of

 If there is a local couchdb exepected for the common case then maybe
 the mozilla js dependency needs a mention.

 it is not required for evo-couchdb to work, so I don't think it needs
 any mention, apart from saying that if you want to run a local CouchDB,
 you need to install CouchDB and all its dependencies.

I only brought it up because of the ongoing mozilla vs webkit
discussions (and mozilla js vs seed/jscore) and i think the most
useful configuration of evo-couchdb does depend on couchdb and hence
mozilla js.

I'm only so bothered in as much as i really don't want a desktop in
the future to need 2 javascript engines and each application depending
on 2 or 3 different database engines and so on :]

  Resource usage
  ==
  Source code is already in GNOME's git (couchdb-glib and
  evolution-couchdb modules)
  Tarballs are already published on GNOME's FTP
  Bugs are right now in Launchpad, but moving them to GNOME's bugzilla as
  soon as needed
 
  Adoption
  
  Both modules are included in Ubuntu One service integration in Ubuntu
  Karmic upcoming release, to provide contacts synchronization between the
  desktop CouchDB database and the cloud-based services of Ubuntu One.
 
  For GNOME 2.29, plans are to add support for calendars and tasks
  (evolution), and, hopefully, also notes (Tomboy), metadata (tracker),
  configuration settings (dconf, when adopted, if so)
 
 
  GNOME-ness
  ==
  Right now, everything is setup like any GNOME project, that is, it uses
  gettext for translations, and should be accessible (almost no UI
  involved right now, just a very simple settings widget for evolution to
  setup CouchDB addressbooks).
 
  It is not translated into any language though, but translators should be
  able to start translating it straight away, since all its ready. Also,
  couchdb-glib API documentation is missing, but that's one priority task
  for the GNOME 2.29 cycle, whether the modules are accepted or not.
 
  Bugs are in Launchpad, but could be moved to bugzilla.gnome.org pretty
  easily for the bugsquad.
 
  3.0 readiness
  =
  No deprecated libraries or symbols being used. Also, the addition of an
  online services infrastructure could give 3.0 another major feature to
  offer to users, apart from what is already planned.

 Have you considered using the NEPOMUK ontologies (they've spent quite
 a lot of time developing ways of describing contacts and calendars and
 such things and from your ML it looks like you are reinventing the
 wheel).

 I talked with you about it, and haven't had time this cycle to look much
 at it, but yes, it might be interesting to look at using them, or at
 least integrating easily with tracker's usage of them

I know the feeling. We should really sit down and look at this before
your home grown ontologies are frozen

Re: Tracker, Zeitgeist, Couchdb...where is the problem ?

2009-08-19 Thread John Carr
On Wed, Aug 19, 2009 at 2:53 PM, Ivan Fradeivan.fr...@gmail.com wrote:
 Hi,

 On Wed, Aug 19, 2009 at 2:11 AM, Thomas H.P. Andersen pho...@gmail.com
 wrote:

 On Tue, Aug 18, 2009 at 22:48, Matthias Clasenmatthias.cla...@gmail.com
 wrote:
  I think this recent discussion about tracker as a gnome module is
  somewhat backwards. I don't think it is leading us anywhere to talk
  about ontologies and rdf and events and timelines and metadata stores
  and kernel apis before we answer the first question:
 
  What is the user problem that we are solving here ?
  Can that be described in a paragraph ?
  And if it can, is it something that a 'regular' user would recognize
  as a problem he has on his computer ?

  The basic problem is to link information and make it available out of the
 application silos. The desktop is full of data, but there is no way to mix
 those data. IM messaging, Contacts, Email, are very close to each other but
 we cannot build a Google wave-like window.

  The classic search engines (tracker 0.6, beagle) were fighting against tons
 of formats to reconstruct information. The application knows that some
 information is a contact, save it in a vcard, tracker reads the vcard and
 tries to reconstruct the contact. This solution tends to fail: the
 reconstruction is never complete, and a lot of guess is needed.

  So the new approach in tracker 0.7 is to offer a common schema, and let the
 application push the information directly. Skip the file step, so no
 information is lose in the file roundtrip.

  What does this mean to the user? That he can see related information
 everywhere.

 For instance, take EOG
 * you could filter by photos sent by...
 * you could open an IM conversation with the person who sent you the picture
 * you could have a tag cloud, including your fspot tags
 * If zeitgeist set relations between photos, it could suggest related
 documents
 * In EOG you can ask for photos tagged as GCDS and find
 local/flickr/facebook results with that tag

 This could apply also to totem or rhythmbox. s/pictures/songs/

 The browser:
 * Bookmark a page in epiphany, and it is available in firefox.

 Other example:
 * Somebody write: Hey, have you take a look to the document i sent you
 yesterday? and your dashboard shows the last document sent by that contact
 and his last blog posts. It can show that not because it understand the
 have you take a look... but because it knows you are talking with a
 certain contact. I.E. No magic or wonderfull inference: just queries to a
 well structured database.

 Right now, all the information is already available somewhere (evo,
 telepathy, pidgin, ...), but these use cases are impossible to implement.


Thanks for this explanation - its one of the best ones i've read :)


 Once we have the problem scoped out, we need to look at the user
 experience we want to aim for in solving it. Will it be a single
 search-for-everything dialog ? A query language ? Tagging everywhere ?
  The dedicated search window is dead. The applications are the client of
 this central storage: the application knows what is showing, so knows what
 can be related with it!

 After that, it might be possible to evaluate whether tracker,
 zeitgeist, couchdb or something else can be part of the
 implementation...

  Zeitgeist + tracker are complementary (and a nice team together).

  CouchDB is also a storage but with a different philosophy. The nicest part
 is the synchronization... but maybe we could wrap tracker in a similar
 code to allow the online replication. This is just a wild guess.

I think its possible - here is a little something i've been hacking up
on my train to work for couch pulling from tracker:

http://github.com/Jc2k/tracker-replicator/tree/master

And i've been talking to Rodrigo - couchdb-glib might make
implementing a client of this even easier :)

  Regards,

 Ivan

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Proposing libgdata as a new desktop module

2009-05-07 Thread John Carr
On Thu, May 7, 2009 at 7:27 AM, Philip Withnall phi...@tecnocode.co.uk wrote:
 Hi,

 I would like to propose libgdata as a new desktop module for GNOME 2.28.
 libgdata is a GLib-based library for accessing online service APIs using
 the GData protocol — most notably, Google's services. It provides APIs
 to access the common Google services (at this stage, only Google
 Calendar, YouTube and Google Contacts; PicasaWeb support is in the
 works), and has full asynchronous support. You might have already heard
 a little about it on my blog[1]; a little more information is available
 on its l.g.o page[2].

 libgdata 0.2 was released a few weeks ago, and a 0.3 release will be
 made in a few more weeks' time. Until version 1.0, there are no
 guarantees as to API stability, with errors in the API being corrected
 with each release.

 libgdata will not introduce any new dependencies; it depends on only:
 * glib-2.0 = 2.16.3
 * libxml-2.0
 * gio-2.0 = 2.17.3
 * libsoup-2.4 = 2.24.0
 It can optionally depend on libsoup-gnome-2.4 for GNOME integration
 (such as automagic proxy support).

 libgdata uses GNOME resources exclusively: Bugzilla, git, damned-lies
 and GNOME FTP.

 The library is already in use in the Totem YouTube plugin, and I'm in
 the process of porting evolution-data-server to use libgdata[3]. As a
 consequence of being used in Totem, the library is already packaged for
 Fedora 11[4].

 As far as community is concerned, libgdata is mostly there. There is
 full API documentation, and the few strings which can be localised, are.

 libgdata fits (I think) nicely into the GNOME 3.0 vision, allowing
 tighter web–desktop integration. It doesn't use any deprecated libraries
 or API. There were two SoC projects this year which were related to
 integrating Google services in applications, and I have high hopes that
 libgdata will be able to help in that area.

 libgdata is licenced under LGPL 2.1.

 The project started in January 2009, and has already had two
 person-years invested in it, according to Ohloh[5]. I suppose this
 should be taken with a pinch of salt, but it gives the general idea.

 If libgdata does not make it as a desktop module, for whatever reason,
 it needs to be listed as an external dependency, due to its use in Totem
 and upcoming use in evolution-data-server.

 Regards,
 Philip Withnall
 Maintainer of libgdata

 [1]: http://tecnocode.co.uk/2009/04/07/libgdata/
 [2]: http://live.gnome.org/libgdata
 [3]: http://bugzilla.gnome.org/show_bug.cgi?id=580021
 [4]: https://bugzilla.redhat.com/show_bug.cgi?id=493432
 [5]: https://www.ohloh.net/p/libgdata

 ___
 desktop-devel-list mailing list
 desktop-devel-list@gnome.org
 http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Awesome :) +1 here.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: fast-forward only policy

2009-05-05 Thread John Carr
Hi,

On Mon, May 4, 2009 at 9:38 PM, Zeeshan Ali (Khattak) zee...@gmail.com wrote:
 Hi,
  I was one of the happiest person on this planet the day we moved to
 git and i can't thanks the people involved enough. Although overall i
 am pretty happy with the migration, I do have one concern: The policy
 of disallowing non-fastforward pushes to any branch. I understand that
 this is good for master and other stable branches, but otoh I think it
 breaks the usual git workflow for feature branches.

I don't think it does break the usual git workflow. See [1] and [2].
In particular:

Rebasing is clearly a useful technique, though. Linus does not tell
developers not to use it; in fact, he encourages it sometimes. The key
rule that was passed down is this: Thou Shalt Not Rebase Trees With
History Visible To Others

This means: if you're still in the git rebase phase, you don't push
it out. If it's not ready, you send patches around, or use private git
trees (just as a patch series replacement) that you don't tell the
public at large about.

git.gnome.org is quite public. There is email and IRC spam and
everything. Suppose you could use heuristics to turn that off, but not
really a fan of that. I for one want the spam on all my branches (if
im still in rebase phase im not pushing to GNOME).

  I had a little chat with Owen regarding this:

 == IRC LOG BEGIN==
 zeenix owen: hi, are we sure about this 'only fastforward for all
 branches' policy?
 owen zeenix: Well, if we had a way of figuring out that some
 branches where feature branches not maintenance branches, then we
 could conceivablly allow rebasing those branches
  zeenix: But not sure how to do that. I suppose we could say if there
 are no numbers in the branch name it's a feature branch, but that
 would make thigns weird if you had a branch 'bonobo-removal-2' or
 something
 zeenix owen: or you could make developer put some specific prefix in
 the name of feature branches?
 owen would be a bit ugly if all our branches were named feature-*
 owen zeenix: feel free to mail suggestions for a policy to
 gnome-infrastructure
 zeenix ok, will do
 ==IRC LOG END==

   I am sending this mail here cause I thought it might be better to
 have a discussion on this and so that other developers can speak-up if
 they (dis)agree.

 --
 Regards,

 Zeeshan Ali (Khattak)
 FSF member#5124


John

[1] http://lwn.net/Articles/328436/
[2] http://lwn.net/Articles/328438/
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: R: git migration - svn:externals

2009-04-23 Thread John Carr
On Thu, Apr 23, 2009 at 12:27 PM, Zeeshan Ali (Khattak)
zee...@gmail.com wrote:
 On Thu, Apr 23, 2009 at 1:24 PM, Tim-Philipp Müller t@zen.co.uk wrote:
 On Thu, 2009-04-23 at 12:09 +0200, Jaap A. Haitsma wrote:

 I think gst-ffmpeg uses this feature. gst-ffmpeg is in git while it
 uses ffmpeg which is in svn.

 Not really - gst-ffmpeg just runs svn checkout in autogen.sh, and that's
 it.

 We use git submodules in GStreamer though (we have a 'common' submodule
 for all other modules), but git submodules are still fairly cumbersome
 to use and I wouldn't recommend them until the git people make them less
 painful to use, at least not for projects where the submodule reference
 needs to be updated frequently.

   This whole idea of sub-modules is just brain-dead so I wouldn't
 count on git developers fixing that instead of concentrating on
 features of real importance. If you have some code (or even data) that
 is needed by more than one of your modules/packages, you either put
 that common stuff in another module/package and make other packages
 depend on this or you just bite the bullet and don't mind the
 redundancy. In some cases you just have to wisely use the combination
 of both.

 --
 Regards,

 Zeeshan Ali (Khattak)
 FSF member#5124

Very much +1.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Move back 2.27.1 one week?

2009-04-22 Thread John Carr
On Wed, Apr 22, 2009 at 5:01 PM, Srinivasa Ragavan sraga...@novell.com wrote:
 Evolution  isn't yet ready to do anything. I heard there are similar
 modules. Settling with jhbuild w/git, and the entire clone, pro'lly
 gonna eat lot of time. If its possible, I second this.

 -Srini.

 On Wed, 2009-04-22 at 10:50 -0500, Jason D. Clinton wrote:
 With the outstanding git migration problems (and the resulting
 inability to jhbuild) perhaps we should postpone 2.27.1 by one week?

Can we selectively roll back JHBuild modules that are failing because
of broken Git repositories to point at SVN? Seems nicer than breaking
jhbuild build?

Any individual modules having problems could use a git-mirror (i
havent downed the server, yet...) and then use git-format-patch and
git-am to migrate when the module is fixed. Alternatively we could try
and get SVN access turned back on for broken modules if fixing the
problems is going to take any unreasonable length of time.

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Adding module descriptions

2009-04-17 Thread John Carr
On Fri, Apr 17, 2009 at 10:08 AM, Ross Burton r...@burtonini.com wrote:
 On Thu, 2009-04-16 at 16:58 -0400, Owen Taylor wrote:
 The great migration to git.gnome.org is now underway. Once your module
 shows up on http://git.gnome.org/cgit/, you'll notice that it is
 described as:

  Unnamed repository; edit this file to name it for gitweb.

 Since you want something better than that, what you are going to do to
 fix is add a file in the toplevel of your module named:

  modulename.doap

 Devil's Pie already had a DOAP file:

 http://git.gnome.org/cgit/devilspie/tree/devilspie.doap

 But I still see unnamed repository :/

 Ross
 --
 Ross Burton                                 mail: r...@burtonini.com
                                          jabber: r...@burtonini.com
                                           www: http://burtonini.com


I think its a post push hook to poke the git module settings and wasnt
run as part of the import.

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Git day minus 1

2009-04-16 Thread John Carr
On Thu, Apr 16, 2009 at 1:39 PM, Ruben Vermeersch ru...@savanne.be wrote:
 On Wed, 2009-04-15 at 17:27 -0400, Kristian Høgsberg wrote:
 Tomorrow, Thursday April 16th, is the big flag day for the GNOME
 repositories. We've moved over quite a few repositories from SVN,
 GitHub, freedesktop.org and other places that people have put GNOME
 git repositories, but tomorrow we finish the migration and move over
 everything else. We've timed it so that the 2.26.1 release could be
 finished first, and since that just happened, now is the time to push
 the big button. Thanks to a lot of sysadmin legwork from Owen, the
 GNOME git infrastructure is looking great: we have cgit set up on
 git.gnome.org and the various commit hooks and mailing lists scripts
 have been setup and tuned.

 So eh, what does this mean for the svn-commits mailing list? Will git
 commits end up there? Will we all have to subscribe to a new git-commits
 list? Can we get migrated automatically?

 Cheers,
   Ruben

From what i've seen on that list, Git commits already end up there.

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Gnome Desktop synchronization

2009-04-04 Thread John Carr
On Thu, Apr 2, 2009 at 3:55 PM, Frank Niedermann f...@thelogic.org wrote:

 Hi,

 I saw that there are many ideas for the Gnome 3.0 Desktop and
 I was wondering, if there are also plans for Desktop synchronization?

 Example: User Joe has a Desktop PC at home with Gnome 3.0 He has
 some pictures in his home folder from his digital camera. He taggs some
 of the pictures and has done some editing with gimp.

 Next day he is at school/work/somewhere with his laptop. Will he see
 the pictures in his homefolder? Will he see the tags he made on his
 Desktop PC? Will he see gimp as last used application (not yet started
 on the laptop)?

 I think that Desktop synchronization gets more and more important
 with the features the desktop gets, like tagging documents. Would
 be very great to have some synchronization with Gnome Desktop,
 like Apple has with the .Mac accounts.

 Thanks,
  Frank
 --

Theres lots of work going on, but i'm not sure what will be ready for GNOME 3.0.

I think the closest GNOME saw to .Mac was http://online.gnome.org, but
i think work on this has slowed in favour of the GNOME Shell work.

John Stowers and friends continue to work on Conduit which is already
an accepted external dependency for GNOME apps wanting to add sync to
their part of the desktop. Work is on going for building conduits
between the desktop and both online services like Google and
ScheduleWorld and mobile devices. It should be in good shape for 2.28,
the main blocker is people integrating it - i have some ideas though:

Epiphany integration. Visit a service that Conduit supports - Google,
Facebook, Box.net and in the future anything with SyncML support like
ScheduleWorld - and Epiphany asks you if you would like to set up sync
with that services. At the very least you won't have to put any
details like usernames in apart from password. Maybe if gnome-keyring
is used, even that won't be needed. (Of course, Firefox integration
would be needed for those distros that dont encourage Epiphany).

Bluetooth pairing integration. When you pair a device you tick a sync
checkbox. And paired devices with that flag will be synced to the
configured GNOME PIM application.

(In the future there is no reason why as i user i shouldnt be able to
pick GMail as my default PIM and Conduit would sync phones directly to
that, and tracker would index Gmail directly too).

There is also Wizbit which is still in very early stages but is
concerned with, for desperate want of a better description, all about
your personal cloud, or mist. The end goal is to use DVCS type
technologies to replicate your data between all your devices, with
some emphasis on tracker so that metadata about last used documents
(which implies used applications) and tagging data and all the other
RDF goodness are also everywhere.

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: GNOME DVCS Survey Results

2009-01-04 Thread John Carr
 Anyway, I'd rather add John Carr to the sysadmin team. I plan to make a
 proposal to switch GNOME to a DVCS where Git works using Johns
 suggestion. Then other sysadmins[1] can suggest whatever proposal they
 want. These proposals can be investigated on merit and then a one can be
 chosen (chosen as in: go ahead and try if this would work, not go
 ahead blindly; everything must be tested before a cutover).

 John's idea is a good one but it patently loses on technical merit. As
 stated by John here, git will only be support in a degraded,
 bastardized form because he chose bzr as the repository format:

 http://blogs.gnome.org/johncarr/2008/12/11/dvcs-for-gnome/#comment-172

 Are we really going to go back to the days of CVS where file moves
 aren't supported?

A git move operation is simply git rm  git add. By that reckoning
i'd either not be able to represent any deletes or any adds because of
that god damn impaired Bzr file format! Wow, i'd be so eager to share
that idea with the community ;)

The big deal here is that git uses a heuristic to say Foo is now
called Bar (selectively; its not done for speed in some cases). This
is not stored anywhere in the file format, git redetermines it (if it
wouldnt be too slow to do so). In Bazaar, its stored in the file
format. This means merge doesnt have to consider ancestry to know if 2
files are related, it just knows they are. Solution? We simply have to
run that heuristic ourselves so that Bazaar knows 2 files are related
at import time.

Git support is not degraded here, and Bazaar is no worse off than if
you had imported a Git project into Bazaar for the first time
(basically merge will work, but won't work *as* well in the rename
case).

I'm not a complete idiot - if it was going to be a degraded,
bastardized form of Git I wouldn't waste my time on it. I suppose I
might be an evil genius stalling for Bazaar DS9 to be written (sorry
for the very bad joke that probably only i get...).

 It strikes me that this very vocal minority--John and Robert Carr,
 Karl Lattimer and Rob Taylor (whom are four of the six people I
 mentioned above)--are potentially delaying even longer what we've
 wanted for more than two years, now. It is from these same people that
 came the suggestion that git users were a rapid, vocal minority. Why
 are we letting them derail this process?

This is not my 1st reply. The first one was fully of angry cow :().
Please dont single people out. I'm happy to have a hand wavy
discussion with you 1st person, IRL especially so. Also, KL and RT are
innocent.

As bkor has stated, there are lots of Git users so any implementation
will support you, and support you well. That is a requirement. So any
talk of my idea is not Git vs Bazaar, its talk of one way we can move
forward. So i dont consider it to be derailing. When mentioning my
idea, lets stick to technical problems with it rather than trying to
undermine anyone who has looked at it and thinks it is sound and
doable.

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: DVCS

2008-10-28 Thread John Carr
On Tue, Oct 28, 2008 at 2:24 PM, Zeeshan Ali Khattak [EMAIL PROTECTED] wrote:
 Hi everyone!
  I remember that at GUADEC, we were seriously thinking about
 migrating to git but the decision was postponed on Mark Shuttleworth's
 request. It's been some months since that and we are still stuck with
 SVN. AFAIK both git and bazaar have very strong supporters in our
 community so the only way I see out of this is:

 1. Get someone (known and trusted) to volunteer to set-up and maintain
 the repository. I think Olav likes bazaar so he would volunteer for
 that?
 2. Assuming that we get volunteers for both the repository types, we
 simply vote amongst the top 50 contributers (i myself most probably
 don't count :))

  Lets not turn this into yet another bazaar vs. git war cause we
 already had plenty of that and nothing good comes out of that.

I think the vote should be down to the foundation members.

  The reason i bring this up is:

 1. I don't see any way of using git mirrors (don't know of bazaar) in
 jhbuild setup.

Help wanted:

http://bugzilla.gnome.org/show_bug.cgi?id=538507

 2. I want to move a module from o-hand SVN to gnome SVN while keeping
 the history intact and seems the only way of achieving that is to wait
 on bkor to get to import the svn dump. Don't get me wrong, I am not
 saying bkor is taking very long but I have no way of knowing when
 would he get time to do it.

bkor isnt the only sysadmin, but who are the others and how much do
they do.. the whole sysadmin process is not very transparent.
Shouldn't it be? I would *love* to help out the sysadmins, maybe even
offer them some of my time. Where is it documented on how to be
considered as a sysadmin? Even a junior sysadmin that can just set up
mailing lists and do svn imports... I hang around #sysadmin but there
is only so much i can suggest people try before i have to leave them
to the irc gods

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: DVCS

2008-10-28 Thread John Carr
On Tue, Oct 28, 2008 at 2:59 PM, Zeeshan Ali (Khattak) [EMAIL PROTECTED] 
wrote:
 Hi!

 On Tue, Oct 28, 2008 at 4:44 PM, Thomas Thurman [EMAIL PROTECTED] wrote:
 I don't think it's a secret that I like one over the other, but I'd
 rather either of them than sticking with svn.

  Same feelings here.

 2. Assuming that we get volunteers for both the repository types, we
 simply vote amongst the top 50 contributers (i myself most probably
 don't count :))

 Why 50?  Can't we canvass the whole Foundation?

  Hm.. don't know, just what came to my mind at the time or writing.
 :)  I am afraid if we go for the whole foundation, people like me who
 talk more and do little will also get counted and maybe we want to
 avoid that?

 --
 Regards,

 Zeeshan Ali Khattak
 FSF member#5124
 ___
 desktop-devel-list mailing list
 desktop-devel-list@gnome.org
 http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Don't put yourself down - the fact is you made it through the
foundation membership process.. You've shown the guys that manage that
process that your a good GNOMie. The power users matter for sure, but
some of their arguments against bazaar have been i dont like python
and i cant be arsed to learn a new tool... Any and all foundation
members are entitled to a say. Actually, shouldn't all SVN account
holders be entitled to a say too...
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: DVCS

2008-10-28 Thread John Carr
On Tue, Oct 28, 2008 at 4:00 PM, Behdad Esfahbod [EMAIL PROTECTED] wrote:
 Claudio Saavedra wrote:
 On Tue, 2008-10-28 at 15:10 +, John Carr wrote:
  Lets not turn this into yet another bazaar vs. git war cause we
 already had plenty of that and nothing good comes out of that.
 I think the vote should be down to the foundation members.

 I actually think that, if any, the vote should be down to the GNOME SVN
 users. But all of them (or at least those who care enough to vote).

 Agreed.  Only recently active SVN users.  Why should past contributors who do
 not commit anymore decide what DVCS tool *I* use?

 Claudio

 behdad


Don't forget sysadmins. While not active SVN users, they will have to
support whatever you demand.. Pretty sure they should have a say..

Personally, no one is telling me what DVCS tool *I* use. Its like
mandating I use emacs for GNOME development. Ain't gonna happen...
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: DVCS

2008-10-28 Thread John Carr
On Wed, Oct 29, 2008 at 12:30 AM, Ali Sabil [EMAIL PROTECTED] wrote:
 On Wed, Oct 29, 2008 at 1:18 AM, John Carr [EMAIL PROTECTED] wrote:

 On Tue, Oct 28, 2008 at 4:00 PM, Behdad Esfahbod [EMAIL PROTECTED]
 wrote:
  Claudio Saavedra wrote:
  On Tue, 2008-10-28 at 15:10 +, John Carr wrote:
   Lets not turn this into yet another bazaar vs. git war cause we
  already had plenty of that and nothing good comes out of that.
  I think the vote should be down to the foundation members.
 
  I actually think that, if any, the vote should be down to the GNOME SVN
  users. But all of them (or at least those who care enough to vote).
 
  Agreed.  Only recently active SVN users.  Why should past contributors
  who do
  not commit anymore decide what DVCS tool *I* use?
 
  Claudio
 
  behdad
 

 Don't forget sysadmins. While not active SVN users, they will have to
 support whatever you demand.. Pretty sure they should have a say..

 Personally, no one is telling me what DVCS tool *I* use. Its like
 mandating I use emacs for GNOME development. Ain't gonna happen...

 I have been using bzr-mirror for the past few months happily, thanks to John
 Carr's work I can pull from either bzr-mirror or directly from svn, and push
 to svn as if it was a bzr branch.

 I personally think that keeping svn, and maintaining bzr-mirror, git-mirror,
 and hopefully an hg-mirror would make everyone happy. All of bzr, hg and git
 provide a mean to interop with svn, while there is not always a way to
 interop between the various DRCS that people tend to prefer, so maybe
 sticking with svn for now would be the right choice ?

 --
 Ali

As much as I personally agree with the sentiment, unfortunately
git-svn is just not as mature and useful as bzr-svn. While you can
just 'bzr push' like we already had bzr.gnome.org all along, git-svn
has rules and limitations on what does and doesnt work (and maybe what
is and isnt safe to try and do...)

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: conduit branched for 2.24

2008-09-07 Thread John Carr
Hi Gil

I pinged [EMAIL PROTECTED] with my original e-mail, but i wasnt a
subscriber so it got stuck in a mod queue.

Which branch is normally shown on gnome-extras? If its normally a
stable branch, then gnome-2-24, otherwise trunk...

John

On Sat, Sep 6, 2008 at 5:09 PM, Gil Forcada [EMAIL PROTECTED] wrote:
 Hi,

 If you want to have stats for that branch make sure to ping
 gnome-i18n :)

 I have added it, which branch you want to see in damned-lies
 gnome-extras page?

 Cheers,

 El dv 05 de 09 de 2008 a les 11:09 +0100, en/na John Carr va escriure:
 Not sure if it needs announcing as we're only an blessed dep, but
 conduit branched for 2.24.

 John
 ___
 gnome-i18n mailing list
 [EMAIL PROTECTED]
 http://mail.gnome.org/mailman/listinfo/gnome-i18n
 --
 gil forcada

 [ca] guifi.net - una xarxa lliure que no para de créixer
 [en] guifi.net - a non-stopping free network
 bloc: http://gil.badall.net


___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


conduit branched for 2.24

2008-09-05 Thread John Carr
Not sure if it needs announcing as we're only an blessed dep, but
conduit branched for 2.24.

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Proposed module: conduit

2008-08-04 Thread John Carr
On Wed, Jul 30, 2008 at 12:37 PM, Willie Walker [EMAIL PROTECTED] wrote:
 From Li Yuan regarding a11y:

 Accessibility is a problem for conduit. The GUI is simple, but the left
 tree view doesn't support keyboard navigation well. Also one has to drag
 some items to the right sync area, there is no way to do this by keyboard.
 And the sync area is not accessible. I suspect accessibility work is need
 by goocanvas.

 See: http://bugzilla.gnome.org/show_bug.cgi?id=545429
 http://bugzilla.gnome.org/show_bug.cgi?id=545430
 http://bugzilla.gnome.org/show_bug.cgi?id=545431

 Li


I was asked to give an update on a11y.

One of the above bugs has now been closed as invalid (The treeview
supports the standard keyboard operations).

I've been doing some work on 545431 and think that i'd need to patch
goocanvas, pygoocanvas and pygtk to provide the proper experience. I
hope that the pygtk patching will be enough to close the bug, though.
See [1] for more information.

We've talked a little about 545430. It should follow shortly after
some other usability tweaks.

[1] http://blogs.gnome.org/johncarr/2008/08/04/conduit-and-accessibility/

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Proposed module: conduit

2008-07-29 Thread John Carr
On Tue, Jul 29, 2008 at 11:21 AM, John Stowers [EMAIL PROTECTED]
 wrote:

 On Tue, 2008-07-29 at 11:24 +0200, Murray Cumming wrote:
  On Mon, 2008-07-28 at 00:32 +0200, Vincent Untz wrote:
   Homepage: http://www.conduit-project.org
   svn/git/bzr/...: http://svn.gnome.org/viewvc/conduit/
   Proposal on d-d-l:
 http://mail.gnome.org/archives/desktop-devel-list/2008-March/msg00320.html
   License: ??? (GPLv2 or later?)
  
   Short description:
   ==
   Conduit is a synchronization architecture for the GNOME desktop. It
   provides an intuitive GUI for synchronizing things and a DBus interface
   for external applications to do the same.
 
  Surely any proposed application should be much clearer about what it
  will allow users to do.
 
  What can I realistically expect to sync with what? Are we talking about
  syncing multiple desktops, or syncing information between the desktop
  and phones/PDAs.

 For a good overview, written better than I could, please check out the
 lifehacker article

 http://lifehacker.com/398775/sync-and-back-up-your-data-with-conduit-for-linux
 And also, the presentation I gave at GUADEC is pretty informative
 http://files.conduit-project.org/Conduit%20-%20GUADEC%202008.pdf

 
  How easy is it to do this for any particular specific cases, such as
  syncing a Palm with a desktop PC (With Evolution, hopefully), or syncing
  the contacts on my mobile phone, or with my N810?

 Palm isnt supported.


Thanks to someone i met at LRL, we should have a couple of palms to work on
replacing gnome-pilot be august 15th so palm support won't be far away, but
will be after the next stable release.

Windows Mobile 2003 should be easy, and we have the hardware for testing.
Will follow WM5 polishing and Palm work.


 Windows mobile 5/6 support is OK, and getting better.
 Nokia phone support (via gnome-phone-manager is being worked on ATM)
 Nokia nxxx support is pretty good.


I did have a blog post from a year ago showing off PC to PC sync, but my
migration to blogs.gnome.org seems to have killed the video...


 Our strength and historical focus has been sync to online services from
 GNOME apps. Our current focus is on mobile devices.

 We have two SOC projects, SyncML support, and iPod support.

 
  Also, shouldn't this be integrated into particular applications?
  Shouldn't Evolution have a sync menu item, replacing it's current awful
  gnome-pilot synchronization feature.


Personally, I want to plug in my device and have my desktop say hey, wanna
sync this?. The next time I plug it in, i just want it to sync. If i leave
it plugged in, I want things to sync in response to change events in the
applications we are syncing.

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Proposed module: conduit

2008-07-29 Thread John Carr
On Tue, Jul 29, 2008 at 1:20 PM, Dave Neary [EMAIL PROTECTED] wrote:


 Hi,

 Bastien Nocera wrote:
  On Tue, 2008-07-29 at 11:24 +0200, Murray Cumming wrote:
  snip
  Also, shouldn't this be integrated into particular applications?
  Shouldn't Evolution have a sync menu item, replacing it's current awful
  gnome-pilot synchronization feature.
 
  It might be awful but it's working.

 Given that I've never managed to get sync working with my new phone, I
 thought I'd give this a try again  give a return on experience...

 When I plug my phone over USB, FSpot starts  offers to import photos
 from the phone.

 Skip that... start Evo and try  do a sync.

 http://www.flickr.com/photos/bolsh/2713756602/in/photostream/

 GNOME Pilot starts up a wizard, detecting that this is the first time
 I'm setting up a sync source.

 http://www.flickr.com/photos/bolsh/2712943917/in/photostream/

 I changed Cradle to Phone, and selected USB for sync. I guessed the
 device would be usb:, but really I was surprised I needed to.

 http://www.flickr.com/photos/bolsh/2713756782/in/photostream/

 I need to configure an owner name  PDA ID? I have no idea what these
 are for... Oh, well, assume sensible defaults...

 http://www.flickr.com/photos/bolsh/2713756836/in/photostream/

 I have no HotSync button, my phone is plugged in, but undetected, and
 there is no way to complete the registration of the sync source.

 Am I doing something wrong, running an unsupported phone (is there a
 list), or does this stuff just not work as well as I'd have hoped?


I can't tell :-) What kind of device do you have? Conduit can sync
Evolution, but it doesn't integrate into Evolution yet. (So your screenshots
are nothing to do with us :-) I can assure you that when we assimilate
gnome-pilot you won't have to set all those options. We haven't yet, though,
so if you do have a palm based device you will probably have to wait for
2.26.

As for a list of devices, the best i can manage is to say anything on this
list that runs WM5 or above (support for below WM5 isn't hard, though).

http://www.geekzone.co.nz/smartdevices.asp

or the N800/N810 or iPods.

We are working with/on phonemgr to support any of the devices on this list:

http://wiki.gnokii.org/index.php/Config

I can point you to the branches of Conduit and phonemgr to try this out, but
we are crashing somewhere in gnokii/phonemgr right now. I don't have a
device to test this, so i'm dependant on Rob to not be busy and wanting to
get his new phone to work (trust me when i say its mainly the busy thats
getting in the way).

And finally, John is working on SyncML. Which will potentially mean more
devices than we can shake a stick at.

I'm all for thinking positive, but the uniform feedback I've had when
 talking to people is that syncing smartphones on Linux needs a lot of work.

 Cheers,
 Dave.


It's not easy, but I think its doable in a release cycle given a suitable
array of test devices. The code to support Windows, Palm, Nokia, Sony,
Motorola and any outlying SyncML devices is all there. Someone just needs to
sit down and integrate it. Which is what we are doing. (Donating devices
that arent yet supported is a big help, and thanks to people doing just that
I can finally start on sorting out gnome-pilot..)

(Sorry for being an outlier in your dataset :-)

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Proposed module: conduit

2008-07-29 Thread John Carr
On Tue, Jul 29, 2008 at 12:13 PM, Frej Soya [EMAIL PROTECTED] wrote:

 John Carr john.carr at unrouted.co.uk writes:

  
   Also, shouldn't this be integrated into particular applications?
   Shouldn't Evolution have a sync menu item, replacing it's current awful
   gnome-pilot synchronization feature.
 
  Personally, I want to plug in my device and have my desktop say hey,
 wanna
 sync this?. The next time I plug it in, i just want it to sync. If i
 leave it
 plugged in, I want things to sync in response to change events in the
 applications we are syncing.John

 Is that possible with bluetooth devices? For local sync i assume (well it's
 pure
 guessing) that bluetooth would be the major use case.

 If it's GUI button+bluetooth vs. physical insertion+auto detection, i
 actually
 prefer a button. I really don't think it's horrible to have a sync button,
 especially when cool wireless hardware saves me from the annnoying cable.

 With bluetooth, the 'always on case' consumes power on two portable devices
 (laptop+phone)?

 Ofcourse my point of view is based on my (possible) use of conduit ;).
 That's
 calendar and contacts.


I support people using SynCE (the software for using all Windows Mobile
devices on Linux/*BSD) and by far the majority are using cable based
connections. Myself included. I tend to have the cable with me for charging,
and its easier to plug in my phone and have stuff happen then mess around
establishing a bluetooth connection.

But we can support both use cases. And I know some people who are on
desktops and want their machine to scan for their phone and sync in the
background if its available. We can do that too.

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Proposed module: conduit

2008-07-29 Thread John Carr
On Tue, Jul 29, 2008 at 2:19 PM, Dave Neary [EMAIL PROTECTED] wrote:


 Hi John,

 John Carr wrote:
  Am I doing something wrong, running an unsupported phone (is there a
  list), or does this stuff just not work as well as I'd have hoped?
 
 
  I can't tell :-) What kind of device do you have? Conduit can sync
  Evolution, but it doesn't integrate into Evolution yet. (So your
  screenshots are nothing to do with us :-) I can assure you that when we
  assimilate gnome-pilot you won't have to set all those options. We
  haven't yet, though, so if you do have a palm based device you will
  probably have to wait for 2.26.

 I was replying to Bastien, who said that gnome-pilot worked.

 I don't have Conduit installed, the screenies are from the GNOME Pilot
 assistant.

 My phone is a W910i.

 Cheers,
 Dave.


My apologies then, I took your e-mail as a bit of a (friendly) poke at us
because we don't yet integrate into the Evolution UI.

Hopefully your phone will sync with Conduit /soon/ as its a SyncML device
(summer of code FTW). If you want to help us out, it would be nice to know
what HAL sees when you connect it by USB etc. If its a serial device, it
will need PPPing and lets hope SE stopped using mrouter or it will get icky
for all involved :) (If you want to e-mail me and john off-list, or mail
conduit-list or pop into #conduit some time...)

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Proposed module: conduit

2008-07-28 Thread John Carr


 In future there may be additional reasons to have conduit running all
 the time, such as 'always up to date' sync (only our gconf sync uses
 this ATM, IIRC).


The Tomboy and Folder plugins support Always Up To Date, and in a couple of
days the windows mobile stuff will too. Evolution could, but the bindings
need more love, IIRC. F-spot may. We implemented the dbus support in F-spot,
so i suspect its possible.

(For non conduit people, Always Up To Date is when an application tells
conduit to sync because a change occurred. These are always in direct
response to a change and never done on a timer. Polling for the fail).

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: External Deps: Minimal Python dependency

2008-07-22 Thread John Carr
2008/7/22 Damien Grassart [EMAIL PROTECTED]:

 On Tue, Jul 22, 2008 at 11:01 AM, Olav Vitters [EMAIL PROTECTED] wrote:

 What distributions have Python 2.5 and what has changed since the last
 time this came up?


 I don't know what has changed but Arch, Fedora, Mandriva, openSUSE,
 Slackware, and Ubuntu currently use Python 2.5, while many others do not
 (most notably RHEL and Debian).

 Thanks,
 -Damien


Debian Lenny has a release goal of Make all packages support python2.5 as
standard python version.

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Future of GNOME: Semantics

2008-06-14 Thread John Carr
On Sat, Jun 14, 2008 at 9:11 PM, Anders Feder [EMAIL PROTECTED] wrote:

 Olav,

 Thanks for your reply. I figured that people had read enough shiny use
 cases, so I tried to keep those to a minimum, but sure.

 Let's say you use Evolution's address book to manage all your contacts
 and you just bought a new smartphone which only supports a proprietary
 address book format. You want to move your contacts to the new phone -
 what do you do? Conduit has knowledge of which format is used by the
 phone, but has no way to convert the data.


This made me smile. I've just written the transport stuff needed for syncing
Windows Mobile 5/6 with Conduit, but I need to convert AirSync XML to VCard
and back before i'm finished.


 Today, chances are that you will have to do something like exporting the
 Evolution address book to the .vcf (vCard) format and then searching for
 and downloading an application which is able to convert from .vcf to the
 proprietary format and then finally move over the converted file to the
 phone. Most likely, coming up with the steps involved in this task is
 either too complex or too boring for many users.


I agree that writing things to convert to and from vCard, iCal and others is
the boring part of Conduit :-D If you can solve this problem for me I will
buy you beer.


 Now let's say that Evolution store its address book in the NEPOMUK
 Contact Ontology (NCO) format in a central RDF repository and your new
 phone support the Friend-of-a-Friend (FOAF) format. You do a query for
 your Evolution contacts in Conduit and request them to be moved to the
 phone. Conduit (or a lower level component) detects that the source and
 destination formats differ, automatically search the Web for a matching
 ontology alignment, map the NCO contacts into FOAF and move them to the
 phone.

 RDF can automate many such processes, but a few components would be
 required (or at least be very handy) at the system level such as a
 central RDF repository and an ontology mapping service.


One problem that you've skipped over is how Conduit learned to speak to the
device in the first place. In this case i've written glue to link SynCE and
Conduit, i would surely ship an AirSync ontology with Conduit, or get one
shipped with SynCE, rather than depend on internet access to dynamically
look one up?

I think this might be nice for the formats and conversions problem, but it
doesn't do anything for the transport problem. A generic dbus interface that
we could badger applications to implement, or implement our selves via
addins, would mean applications like Conduit could benefit without transport
glue needing writing specifically for it. That combined with your solution
for format conversion would be awesome.

John
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Why do GNOMEdevelopers almost exclusively use git mirrors and for example not bzr mirrors

2008-04-08 Thread John Carr
On Tue, Apr 8, 2008 at 11:08 AM, Olav Vitters [EMAIL PROTECTED] wrote:
 On Tue, Apr 08, 2008 at 08:14:50AM +0100, Ross Burton wrote:
   On Tue, 2008-04-08 at 08:35 +0200, Jaap A. Haitsma wrote:
I was just wondering why many GNOME developers are using git mirror
and for example not a bzr mirror? If I for example read
http://live.gnome.org/DistributedSCM I have the feeling that bzr would
also be a very good fit. However I haven't seen any gnome.org project
in a bzr mirror while of many projects there exists git mirrors.

  I've been talking with Elijah to determine what is needed in a DSCM.
  Basically, Bzr should be enhanced/improved to have branches in one
  checkout directory. For some reason this is important (for real
  developers.. not me:). E.g. DSCM will likely mean lots of small
  (private) branches; loads more than with a central system.

Like this?

http://bazaar-vcs.org/SharedRepositoryTutorial

From a blog post 2 years ago:
One of the new features comming up in the next release of bzr is
support for shared repositories. This provides a way to reduce disk
space needed to store multiple related branches.

http://blogs.gnome.org/jamesh/2006/04/23/repositories-in-bzr/
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Distributed SCM in Gnome (Was: Git vs SVN (was: Can we improve things?))

2007-09-18 Thread John Carr
On Tue, 2007-09-18 at 18:15 -0400, Behdad Esfahbod wrote:
 On Sun, 2007-09-16 at 19:11 +0100, John Carr wrote:
  On Sun, 2007-09-16 at 12:27 -0400, Behdad Esfahbod wrote:
   On Sun, 2007-09-16 at 09:10 +0100, John Carr wrote:
On Sat, 2007-09-15 at 18:26 -0400, Behdad Esfahbod wrote:
 On Fri, 2007-09-14 at 21:31 +0200, Ali Sabil wrote:
  I am wondering why discussion is continuing in the Git vs SVN (was:
  Can we improve things?) thread, why the discussion is not happening
  here instead ?!
  
  I don't want to offend anyone (so take it lightly), but I am afraid
  that many of us are subject to a Confirmation bias ... Can't we 
  just
  continue the discussion in this thread comparing svn to DRCS in
  general before deciding on which DRCS would be the most appropriate 
  to
  use within the GNOME project ?
 
 Because you can't talk about some abstract concept.  I can't imagine
 anyone having any remotely legitimate reason to discuss that DSCM
 systems are not good for GNOME.  This is simply a corollary of the 
 fact
 that DSCMs provide all functionality that the SCSMs do.  So,
 theoretically, you don't lose anything, and gain some.

How do you set up a master repository with GIT/BZR? Generally it seems
to involve pushing over ssh/sftp? Does that integrate with GNOME
accounts? Does letting people push mean they could push other crap and
hurt the repo? Or have they both gained daemons? Do they have logins
that integrate with gnome accounts? Can one daemon handle multiple
repos?
   
   These are all no problem at all.  See fd.o for example.  We are already
   using ssh with SVN.  It's the same with git. 
  
  How do you see the workflow working though. This isn't simply
  s/svn/git/. Are you looking to implement centralised VCS powered by GIT,
  in effect giving you SVN but with offline/merge powers? Or do you want
  something else out of it.
 
 Depends on how you look at it.  From far, yes, it looks like just
 s/svn/git, but from near, you see developers hosting their own trees for
 various experimental features, etc.  This is how kernel works, and how
 cairo and other fd.o modules work.  This is the central cairo repo for
 example:
 
   git+ssh://git.cairographics.org/git/cairo

I was more interested in whether this was a case of upgrading the
existing GNOME 'way', or reinventing it. 

For example, in the linux case (as far as i can tell) the workflow is
based around the mailing list, a branch each for the core devs and then
the Linus branch. It's this gatekeeper approach which I would have been
most concerned about in GNOME.

From your description, i take it as an upgrade to a fixed SVN with
better branches.

  If we are still using the same accounts infrastructure, then this does
  nothing to improve the situation RE: new accounts. Which was the whole
  starting point of this discussion. (You'll probably argue that the win
  here is that people can maintain local branches to work from if we move
  to git, but git-svn and bzr-svn don't rule it out either do they?)
 
 git-svn and bzr-svn are broken.  They are good to get some benefits of
 git/bzr with svn, but shouldn't be thought of as a long-term plan.  You
 have to flatten all the 20 micro-commits you made before pushing a
 branch out to SVN, and that undoes all the nice properties of
 micro-commits and git.  Next time you track a bug down to that commit
 good luck figuring out what's going on...

I can't speak for git-svn. But bzr-svn is certainly not that broken. I
branched earlier and made a couple of bug fixes on the train. On
returning i did bzr push. The fixes arrived in the parent svn tree as
individual commits.

(Also, from what I am told I could publish my branch somewhere (not SVN)
and someone could merge my changes into their branch of the parent SVN.
So I could pull John S's work into my branch before either set of work
is ready for trunk. Basically, it goes to extreme lengths to ensure that
a remote SVN branch is like a remote BZR branch. On a related note, they
are even working on exposing an SVN server that pushes commits to a BZR
backend).

Perhaps a legitimate reason is that moving to a DSCM won't be a benefit
to everyone, yet everyone will have to learn another set of tools. Even
just last month someone didnt know how to link to a file in SVN. And in
order to make happy The GIT Crowd (and piss off all the people that just
want to get on with their project) a sugar load of infrastructure needs
to be tossed away.
   
   Who was that someone?  Lets say we install a web application for
   translators.  Who else can't be bothered to learn the new tool?  If they
   can't, they can always submit patches.
  
  It was on DDL, not too long back. And he wasn't alone.
  
  I just decided to look at some git notes on kernel.org [1]. One of the
  first things it advised me (in its 20 commands or so version) that i

Re: Distributed SCM in Gnome (Was: Git vs SVN (was: Can we improve things?))

2007-09-16 Thread John Carr
On Sat, 2007-09-15 at 18:26 -0400, Behdad Esfahbod wrote:
 On Fri, 2007-09-14 at 21:31 +0200, Ali Sabil wrote:
  I am wondering why discussion is continuing in the Git vs SVN (was:
  Can we improve things?) thread, why the discussion is not happening
  here instead ?!
  
  I don't want to offend anyone (so take it lightly), but I am afraid
  that many of us are subject to a Confirmation bias ... Can't we just
  continue the discussion in this thread comparing svn to DRCS in
  general before deciding on which DRCS would be the most appropriate to
  use within the GNOME project ?
 
 Because you can't talk about some abstract concept.  I can't imagine
 anyone having any remotely legitimate reason to discuss that DSCM
 systems are not good for GNOME.  This is simply a corollary of the fact
 that DSCMs provide all functionality that the SCSMs do.  So,
 theoretically, you don't lose anything, and gain some.

How do you set up a master repository with GIT/BZR? Generally it seems
to involve pushing over ssh/sftp? Does that integrate with GNOME
accounts? Does letting people push mean they could push other crap and
hurt the repo? Or have they both gained daemons? Do they have logins
that integrate with gnome accounts? Can one daemon handle multiple
repos?

Perhaps a legitimate reason is that moving to a DSCM won't be a benefit
to everyone, yet everyone will have to learn another set of tools. Even
just last month someone didnt know how to link to a file in SVN. And in
order to make happy The GIT Crowd (and piss off all the people that just
want to get on with their project) a sugar load of infrastructure needs
to be tossed away.

Does CIA.vc have bzr/git support? I guess a few GNOME projects must use
it as GNOME is the third most active project today.

How does buildbot work with bzr/git? The project looks a bit stalled,
but the GNOME buildbot was a great idea that I was hoping to see gain
ground.

 In practice however, git is too hard and confusing to learn.  *That* is
 a reason against this specific DSCM system.

This is the reason i've been using bzr-svn. Its svn with benefits
style suits me very well. The fact is, i'm happy with svn until i'm
stranded without an internet connection, thats with bzr steps in. And
its brilliant.

  I am also afraid that we might be just becoming nothing more but geek
  fashion addicts trying to follow the latest RCS tendency without
  really building solid and constructive arguments !
 
 I was going to be offended, but you warned :).  Now that most probably
 means that you don't hack on the more crowded projects that much...
 Many Gtk+ developers for example could not have been as productive as
 they are right now if it wasn't for git-svn.  And that's only a
 half-arsed solution.

Again, its ok to say something is crap, but please tell us why! SVN
SUCKS!! and GIT FTW!! aren't very compelling reasons.

John

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Distributed SCM in Gnome (Was: Git vs SVN (was: Can we improve things?))

2007-09-16 Thread John Carr
On Sun, 2007-09-16 at 09:42 +0200, Vincent Untz wrote:
 Le samedi 15 septembre 2007, à 21:44 -0400, Behdad Esfahbod a écrit :
  Ok, lets be fair:  most people who care about hacking on GNOME already
  know git, why should other options be selected?
 
 I don't think it is fair to state this. A lot of people certainly care
 about hacking on GNOME and don't know git (and don't care about it).
 
 [sorry, this doesn't add anything useful to the debate]
 
 Vincent
 

I agree. Though this is something important to say Vincent, as its
apparently not clear to everyone.

It's wholly wrong to declare that most want GIT without backing it up.
Without some figures, a survey or more people joining in the GIT++
corner, its just fanboyism.

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Distributed SCM in Gnome (Was: Git vs SVN (was: Can we improve things?))

2007-09-12 Thread John Carr
On Wed, 2007-09-12 at 10:13 +0300, Kalle Vahlman wrote:
 2007/9/11, Bryan Clark [EMAIL PROTECTED]:
  GNOME is not in need of a DSCM or any other kind of new SCM.  For source
  control, SVN works fine, just like CVS worked fine.  I'm not looking to
  argue the features of one DSCM above another or what we have now, but really
  the controlling of the source code isn't the problem this DSCM debate is
  circling.
 
 The problem which prompted this debate again was the infamous SVN
 accounts lag. DSCM allows people to comfortably work with their repo
 and easily get a subset of their current work to a patch for
 submitting to eg. bugzilla. Currently, you'd need to take a checkout
 for each line of work you start unless you want to backup your work
 manually with svn diff (urgh). Not so hot, specially since if you are
 not on the net all the time.
 
 If you can comfortably work without access to the central repo, the
 need for the access becomes less of an issue. Thus helping people keep
 patient with the accounts lag, possibly even making it unneccessary
 for some.
 
 So, in my opinion, GNOME does need DSCM as a *part* of the solution
 for the current problems.

Both Git and Bzr have svn interoperability. Are these implementations so
broken as to not be useable by the DSCM-desiring people?

I've had a quick play with bzr-svn and it feels like quite a natural
step up from svn. It has the advantage that people who want DSCM get it,
it doesn't involve learning lots of new commands (very similar to svn
commands wise). And of course, for those of us that don't need it, we
don't have to use it. Finally, no infrastructure changes are needed to
take advantge of it either.

I presume the same is true with git-svn, thus avoiding git/bzr wars?

Just my 2p

John

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Distributed SCM in Gnome (Was: Git vs SVN (was: Can we improve things?))

2007-09-12 Thread John Carr
On Wed, 2007-09-12 at 20:47 +0100, Gustavo J. A. M. Carneiro wrote:
 On Wed, 2007-09-12 at 20:28 +0100, John Carr wrote:
  On Wed, 2007-09-12 at 10:13 +0300, Kalle Vahlman wrote:
   2007/9/11, Bryan Clark [EMAIL PROTECTED]:
GNOME is not in need of a DSCM or any other kind of new SCM.  For source
control, SVN works fine, just like CVS worked fine.  I'm not looking to
argue the features of one DSCM above another or what we have now, but 
really
the controlling of the source code isn't the problem this DSCM debate is
circling.
   
   The problem which prompted this debate again was the infamous SVN
   accounts lag. DSCM allows people to comfortably work with their repo
   and easily get a subset of their current work to a patch for
   submitting to eg. bugzilla. Currently, you'd need to take a checkout
   for each line of work you start unless you want to backup your work
   manually with svn diff (urgh). Not so hot, specially since if you are
   not on the net all the time.
   
   If you can comfortably work without access to the central repo, the
   need for the access becomes less of an issue. Thus helping people keep
   patient with the accounts lag, possibly even making it unneccessary
   for some.
   
   So, in my opinion, GNOME does need DSCM as a *part* of the solution
   for the current problems.
  
  Both Git and Bzr have svn interoperability. Are these implementations so
  broken as to not be useable by the DSCM-desiring people?
  
  I've had a quick play with bzr-svn and it feels like quite a natural
  step up from svn. It has the advantage that people who want DSCM get it,
  it doesn't involve learning lots of new commands (very similar to svn
  commands wise). And of course, for those of us that don't need it, we
  don't have to use it. Finally, no infrastructure changes are needed to
  take advantge of it either.
  
  I presume the same is true with git-svn, thus avoiding git/bzr wars?
 
 If a developer wants to use e.g. bzr, he can use it behind the scenes,
 but:
 
   1. With a manually written ChangeLog file, you can't easily branch and
 merge even with bzr, or you can but every time you merge you'll get
 conflicts in the ChangeLog file;
 
   2. Unless the bzr branch is official, you can't get rid the manually
 written ChangeLog file because you have to support svn users who can't
 easily do micro commits (due to network lag) thus need a ChangeLog file
 to work around this limitation;
 
   3. It is unthinkable to make a bzr branch official branch for a project
 unless it's hosted in a GNOME server;
 
   4. To host a bzr branch in a GNOME server you need official support
 from the GNOME admin team because:
 
   a) hosting on www.gnome.org/~user/ ? Nah.. www.gnome.org is not
 appropriate for that, or so they tell us;
 
   b) You need to allow multiple commiters to the same user-neutral
 branch;
 
   c) you need to run a bzr smart server on the server side or else
 network performance is going to be rather bad.
 
 Bottom line, unless GNOME supports a DSCM, it kind of works, but
 things will never go very smoothly and developers will not take full
 advantage of the DSCM.
 

I don't see the problem with creating your Changelog and attaching it to
the revision log with svn ci -F SomeChangelogFile. With this you can
build up a revision log message as you go. And your changelog data is
now in the revision log (where it belongs IMHO) and doesn't conflict
anymore. Pretty easy.

Once the Changelog is removed, or no longer updated, this argument goes
away.

So what other problems are there with bzr-svn / git-svn?

John

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Distributed SCM in Gnome (Was: Git vs SVN (was: Can we improve things?))

2007-09-12 Thread John Carr
On Wed, 2007-09-12 at 21:58 +0100, Gustavo J. A. M. Carneiro wrote:
 On Wed, 2007-09-12 at 21:40 +0100, John Carr wrote:
  On Wed, 2007-09-12 at 20:47 +0100, Gustavo J. A. M. Carneiro wrote:
   On Wed, 2007-09-12 at 20:28 +0100, John Carr wrote:
On Wed, 2007-09-12 at 10:13 +0300, Kalle Vahlman wrote:
 2007/9/11, Bryan Clark [EMAIL PROTECTED]:
  GNOME is not in need of a DSCM or any other kind of new SCM.  For 
  source
  control, SVN works fine, just like CVS worked fine.  I'm not 
  looking to
  argue the features of one DSCM above another or what we have now, 
  but really
  the controlling of the source code isn't the problem this DSCM 
  debate is
  circling.
 
 The problem which prompted this debate again was the infamous SVN
 accounts lag. DSCM allows people to comfortably work with their repo
 and easily get a subset of their current work to a patch for
 submitting to eg. bugzilla. Currently, you'd need to take a checkout
 for each line of work you start unless you want to backup your work
 manually with svn diff (urgh). Not so hot, specially since if you are
 not on the net all the time.
 
 If you can comfortably work without access to the central repo, the
 need for the access becomes less of an issue. Thus helping people keep
 patient with the accounts lag, possibly even making it unneccessary
 for some.
 
 So, in my opinion, GNOME does need DSCM as a *part* of the solution
 for the current problems.

Both Git and Bzr have svn interoperability. Are these implementations so
broken as to not be useable by the DSCM-desiring people?

I've had a quick play with bzr-svn and it feels like quite a natural
step up from svn. It has the advantage that people who want DSCM get it,
it doesn't involve learning lots of new commands (very similar to svn
commands wise). And of course, for those of us that don't need it, we
don't have to use it. Finally, no infrastructure changes are needed to
take advantge of it either.

I presume the same is true with git-svn, thus avoiding git/bzr wars?
   
   If a developer wants to use e.g. bzr, he can use it behind the scenes,
   but:
   
 1. With a manually written ChangeLog file, you can't easily branch and
   merge even with bzr, or you can but every time you merge you'll get
   conflicts in the ChangeLog file;
   
 2. Unless the bzr branch is official, you can't get rid the manually
   written ChangeLog file because you have to support svn users who can't
   easily do micro commits (due to network lag) thus need a ChangeLog file
   to work around this limitation;
   
 3. It is unthinkable to make a bzr branch official branch for a project
   unless it's hosted in a GNOME server;
   
 4. To host a bzr branch in a GNOME server you need official support
   from the GNOME admin team because:
   
 a) hosting on www.gnome.org/~user/ ? Nah.. www.gnome.org is not
   appropriate for that, or so they tell us;
   
 b) You need to allow multiple commiters to the same user-neutral
   branch;
   
 c) you need to run a bzr smart server on the server side or else
   network performance is going to be rather bad.
   
   Bottom line, unless GNOME supports a DSCM, it kind of works, but
   things will never go very smoothly and developers will not take full
   advantage of the DSCM.
   
  
  I don't see the problem with creating your Changelog and attaching it to
  the revision log with svn ci -F SomeChangelogFile. With this you can
  build up a revision log message as you go. And your changelog data is
  now in the revision log (where it belongs IMHO) and doesn't conflict
  anymore. Pretty easy.
 
 It's not the same.  You don't want your ChangeLog messages to have
 bulleted items including a list of changed files, because if you do that
 then when you generate a full ChangeLog from the stored commit messages
 things will appear all unaligned.

Your changelog text file will be intact in each revision log node. svn 
can give the log in XML format, meaning that you can style it how the heck 
you please. This could easily be an identity type transformation that just 
put the changelog messages in order and dumped them out without touching
the format of the actual text.

 
  
  Once the Changelog is removed, or no longer updated, this argument goes
  away.
 
 Like I tried to explain, no maintainer will want to give up on manually
 written ChangeLog files because:
   1- bundling lots of changes in a single commit log message will make
 the generated changelog look really bad;
   2- not bundling lots of changes in a single commit log message
 implies making lots small commits (i call it micro commits), which is
 very slow with subversion due to network roundtrips.

But wait, if they aren't going to give up on manually written
ChangeLogs, won't merge problems still apply? I thought

Re: Online Desktop, Tomboy, and user storage

2007-08-09 Thread john . carr
Some more thoughts, now that i've slept.

So currently the case study is for Tomboy syncing data to an OGO web notes
application with first class support for tomboy (i.e. not data loss due
to formatting getting stripped, and also making use of metadata from
Tomboy such as tags).

In this limited case study I have no problems with using Tomboys own sync.
Given Conduit's still somewhat an external entity it wouldn't make sense
for this case study.

However, what next? Safe to say the Online Gnome experience won't stop
at notes. I would expect that Contacts or Events would be the next logical
kinds of data that would be synced to the OGO platform, or maybe
Bookmarks.

I think it would be a little mad to implement a sync engine and conflict
resolution in Epiphany, Evolution, Firefox, Thunderbird, Sunbird or
whatever the user happened to be using. So while its outside Havoc's
initial case study this is surely exactly where Conduit steps in. We
provide desktop wide sync smarts for all these applications and OGO. Now
as I've said bookmarks are on their way. Evolution support for Contacts,
Events, Notes and Tasks is there. We will be supporting the OGO APIs.

(As an aside, It's worth saying that if the Facebook API wasn't
over-protective with contact data then Conduit would already implement the
Joe changed his mobile number on Facebook and I want my address book
updating use case. It would have taken about 10 minutes. And have worked
with Evolution, iPod address book, Gmail contacts, and would have worked
with new contact plugins in the future.)

So with that said, the support i'm asking for is for someone working on
OGO for things other than tomboy notes to say yes, that sounds like a
reasonable approach.. when we get to these we'll help to evolve Conduit
for this instead of rolling our own. Does that sound reasonable?

Slight change in topic

Now this morning I woke up. Maybe its only having 3 hours sleep, but I
started to wonder how Conduit's DataProvider model could be extended. I'm
not talking just about sync anymore.

The DataProvider model currently supports a change signal. This is fired
when any change is detected and says hey, you might want to sync now.
Typically this signal comes from something like GnomeVFS telling it which
file changed (in the future, it will get a Note blah added signal from
Tomboy). This signal is a bit pants at the moment, but what if it was
actually fired and said Data ABC was added, Data DEF was removed
(Giving the UID and event type at the least). Now rather than Conduit
blindly initializing a full sync it can just sync that single piece of
data! This is quite cool from a dev point of view, and excellent for
always up to date. Eh, its even a win on power saving as we don't have
to do all the get_changes crap!

Now if an individual conduit has been unavailable for a while
(NetworkManager says no network, but now its back) then Conduit can issue
a get_changes type sync to fetch everything up to date.. Then use the new
signal to keep them up to date. Also think of a turbo charged version of
our current network sync, as soon as you edit a note it will appear
practically instantly on the other Tomboy instance (ok, ok it would have
anyway.. but watching your notes just appear on the 2nd machine is
exciting!! and it does save the get_changes over network wasting time).

Right now some of you are probably thinking, you're just boring me with an
implementation detail! But think about it, if we take this API and also
expose it over dbus suddenly apps built on Conduit aren't just about sync.
I'm going to presume for a minute that we can do PUSH from OGO. The
Conduit API could be used to set trivial watches, not just on OGO but any
dataprovider.

I'm trying to think of a simple example... How about notifications when
something of interest happens? Conduit might already have a friends
photos dataprovider that gets the change signals from OGO...

Or perhaps Gimmie and BigBoard could benefit. They can use get_all to get
the current status of various bits of data they are interested in and
listen on the changed signal to have their GUIs kept up to date. Depending
on how nice we can get the Conduit UI the code needed in any app to grab
and keep data up to date seems quite trivial? I suggest this as a way to
not have multiple implementations of the same basic access layer.

App's like cheese could directly enumerate available dataproviders to
figure out where photos can be pushed.

Does providing access to this part of our framework seem useful to anyone
besides me? :) Or do I need to catch up on my sleep!

  My problem is just a general worry that more and more apps will go do the
  roll there own path when Conduit could help, even in the case of Cheese
  which is looking to add Flickr support.

 You have to be on people's radar so they're aware of what you offer. I have
 been following Conduit because I think it's cool and has a lot to offer the
 project, but I don't know how many other 

Re: Online Desktop, Tomboy, and user storage

2007-08-08 Thread john . carr
Hi everyone

This is my third attempt at this e-mail - it's hard not to waffle or
repeat myself! It's getting late now so my English may have degraded into
nonsensical babble :D

The purpose of this e-mail is to consider Conduit as part of the Tomboy
case study. How can Conduit help deliver Tomboy online. What benefits
does it bring, what disadvantages. What would be the architecture and so
forth.

Hopefully I will convince you that sync can be generic and that Conduit
doesn't care whether its dealing with a data store or something that
understands what that data is. That's really a separate issue completely
to Conduit and generic sync logic.

Conduit is really split in to several parts. Firstly we have a collection
of dataproviders. Dataproviders are the application specific parts. No one
likes having a common interface, that would be easy and boring, so DP's
map everyone's home grown API's onto an established baseline.

For easy reference, the basic API is:

  get_all() - return a list of UID's (think ls)
  get(uid) - returns an object
  put(uid, obj) - returns a uid
  delete(uid)

And object needs a unique id, an hash (so we can tell if its changed), and
data to sync! An hash could just be the last modified time or a
serial/revision number.

With this the next layer of Conduit can actually sync two DP's together.
It doesn't matter what they are, local or remote or a device. The
important thing is the format of the data. Now in some cases this means
conversion, but Tomboy Online can be built to use Tomboy's format
natively. So no format conversion.

We also provide some infrastructure for notifications. These allow a DP to
say hey i've got new data to sync!!. DP's can be made available
dynamically... This means they appear in response to system events - be it
avahi or HAL. This is especially useful in sync GUIs but its available to
any app that cares over Dbus.

The Conduit GUI is really a pretty thing on top of our core code. If we
have a wizard to turn on Tomboy Online out of the box the user might not
even see the Conduit GUI.

Hopefully it should already be clear how this fits in with the online
tomboy notes:

 * We commit to enabling the automatic background sync feature, which in
the scheme of things is quite trivial. It's already partly implemented.
When thats done, the experience then becomes pretty darn seamless for the
user.

 * Tomboy remains pretty much unchanged (work to have change notifications
from tomboy are underway anyway - its something Sandy already offered to
implement for us).

 * Conduit gains a dataprovider plugin that can sync notes to
online.gnome.org through whatever protocol you suggest. This protocol will
have to update the Tomboy online data model from the server end.

(This may relate to (1) and (3) in your original e-mail. I must be missing
part of the ogo stack because I don't see a problem there. Somehow we need
to pass the data to the server - WebDAV, REST, direct database access. It
doesn't matter. But that doesn't mean that the server can't understand the
data. I can send it a file through WebDAV and it can be processed and
stored in a DB, or whatever suits the application. So i'm sure i must be
missing  your point when it comes to (1) and (3)?)

 * Hopefully the server API will use something like
http://brbx.com/orbited so that updates at the server end can appear
locally immediately. I could be wrong but I don't think (2a) is possible
with a PUSH feature like im suggesting here. (Though it is possible if
using Conduit).

 * For free, Evolution Memos can be put on Tomboy online. The same
codepaths allow devices to sync and peer 2 peer without needing separate
interfaces.

I think an important thing here is that some people won't want
online.gnome.org. Personally, i might be tempted to use Conduit to sync
them to an SSH account or a password protected area of a server I control.
By integrating Conduit people have that choice, and at the same time we
don't waste time on multiple sync implementations.

I'm not saying Conduit is perfect, but i'm sure people we've worked with
will back me up when I say that we will work to resolve any issues we
encounter.

In closing, I wanted to point out that Tomboy didn't implement its own
sync because of Tomboy specific logic. It implemented it's own sync
because it was highly desired by GNOME users and yet neither Conduit or
OpenSync are first class citizens in the GNOME desktop.. This made reuse
something of a no-no (this is documented online, and Sandy or Boyd..
correct me if I'm wrong there...)

Apologies if i've glossed over anything there. I'm trying to keep it
concise, and i've failed. I've already spent well over 3 hours on my
response :-) If something doesn't add up i've probably over-simplified
some aspect or completely forgotten about it. Tell me off and i'll try
again :-)

John C
( Sorry if i put you to sleep ;) )

___
desktop-devel-list mailing list

Re: Online Desktop, Tomboy, and user storage

2007-08-08 Thread john . carr
 Hi,

 OK, since my last mail was too long ;-)

 The issue here is very simple. I have the existing Tomboy local data
 store (NoteManager) which is C# objects, and I have some server-side app
 logic (the Java process on online.gnome.org) which has its own way of
 looking at data (Java objects).

 *As an implementation detail of a larger project* I need those two trees
 of C# and Java objects to be in sync.

 If something like DAV gets involved, it's just as a protocol; it would
 be one way to eventually end up with Java objects in the server app. So
 let's just ignore DAV vs. XMPP for a minute.

 OK.

I think that is an excellent summary of many rather large scary e-mails :-)

 Tomboy has a SyncManager thing, which knows how to sync the NoteManager
 to my implementation of a SyncServer interface that sends stuff to my
 server app.

 The thing I'm planning is to implement SyncServer so it somehow gets
 stuff to my Java server, and then I'm coding a server-side app.

 For me, SyncServer is just a simple way to hook in to Tomboy.

 So, concretely how does Conduit affect what I am doing, meaning, which
 code I'm thinking of writing in Tomboy would I write differently?

As i've tried to say, Conduit is what Tomboy should have used for sync. I
think I see *another* e-mail where I can explain this better :-)

I don't know how to explain it. Conduit is meant to be desktop wide sync.
Unfortunately Tomboy had to roll their own this release cycle and we were
stuck on the outside of the GNOME wall were we couldn't really help.

This is a bit of a setback for Conduit adoption! But if average users want
to sync in this release cycle Conduit is perhaps still the best option,
which is why Sandy was so helpful to us. (Thanks :D)

I'm going to go to the other e-mail now, there are more specific questions
I might actually be able to answer :-)

John

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Online Desktop, Tomboy, and user storage

2007-08-07 Thread john . carr
Hi Guys



I'm one of the Conduit developers and I'd just like to get your feelings
on where Conduit and/or OpenSync fit in to this.



I understand that you guys are heading the charge on this, but especially
wanted to draw your attention to Conduit. We are one of a handful of
projects that have been already working with 'online desktop' goals in
mind. It would be a shame if we couldn't work together when we have the
same, or very similar, goals.


So the purpose of my writing is to share our vision. I want to see how it
compliments what you are trying to achieve and find out how we can best
work together (and not end up duplicating our efforts!).



Here is the state of Conduit for those of you not familiar with our work.

For the Tomboy users... Conduit is currently able to sync your notes to an
iPod, Evolution Memos or to Backpackit.com. Oh, and to any folder that
GnomeVFS can see. Local, SSH or otherwise. I've not tried it myself, but
it looks like you can also sync notes to Box.net...

For those braver than average, running from SVN trunk gives you the
ability (with some luck!) to sync your notes, contacts, and soon any type
of data, to other Conduit instances over the network using a simple
XML-RPC protocol with avahi discovery. (There is a low res video of laptop
to laptop tomboy and evolution sync on my blog @ www.unrouted.co.uk)



Ongoing work will see (or was originally designed to see) a Conduit
Server emerge that you can run on a spare machine or, like me, you'll
install it on your VPS/VM box. As your notes are synced from Tomboy on
your laptop to the server they can be pushed out to other machines
connected to the server. The server can use multiple plugins for storage -
it could be flat files, it could be a database, it could be Google's
BigTable. It's storing using the same plugins as normal Conduit - so the
server could really be just passing everything back to Box.net!!



The Conduit Server was then to lead on to a Django, TurboGears or
otherwise Python based web app for viewing (and editing) your data online.
Hosting it was a problem for us but we were hoping to get interest from
the distros on that front. Also, as quite a small python app it would have
been (hopefully) VPS friendly. This is pretty much defunct with
online.gnome.org, though I don't think I could run my own personal gnome
online on my VPS :))



We would like to see Conduit on other platforms - so you can sync the
notes using your Mac, *** PC, or even your N800. (A native N800 port
is likely to be the first of these).



We are working with OpenSync devs to allow their plugins to work in
Conduit, and eventually the use of their sync engine if desired. This will
bring support for more devices (which is outside the scope of Online
Desktop discussions, but worth mentioning). This includes the possibility
of over-the-air phone sync...



We aren't a sync GUI, we are a sync platform. Our dbus service provides
sync for the whole desktop. An example, our API allows tomboy the option
of syncing without involving the Conduit GUI at all. Tomboy can discover
which targets are compatible with its Note datatype, create a group for
that and sync. Similarly one click photo upload to
Flickr,Picasa,Smugmug,iPod using eog is also in progress.



As a project, I think we are good citizens. We have a history of working
with other teams to enable sync. That includes bug reports and patches to
Tomboy, patches to libgpod and even patches to SynCE. We maintain the
python bindings for evolution, which we hope to eventually move upstream.



If it's important to you to know how deployed we are, I know Conduit to be
present in Foresight, Debian unstable, Ubuntu Universe (Gutsy) and Fedora
Extras. Not really sure about the others... We are also working with one
distro to enable Conduit out of the box in their next major release.

So that's Conduit from a (mostly) notes perspective.



In the online desktop climate, where do we fit in?



* We can provide sync logic and conflict resolution. Intelligent client,
server (or client for server) just needs a storage API.



* We can provide Dataproviders for online.gnome.org services (and it
should be a lot easier than Flickr and its frobs and tokens!).



* Apps like Cheese can use our one-way sync api to push images to Flickr,
and get online.gnome.org and other web services for free.



I saw this in another e-mail:



 So it looks like we'll need to duplicate the work here, although

 putting additional pressure on Google to open source it is also a good

 idea.



We have a guy working on bookmark sync for Epiphany, Simply Bookmark and
Delicious to scratch his own itch :)... I don't know how far along he is
though. An online.gnome.org backend would be quite easy too I imagine...



So what are your thoughts?


Also, could Conduit (at least the dbus part of it) merge in someway with
the ideas of the Online Desktop Engine?



Thanks for your time

John Carr