Hi Simon, nice proposal. Unfortunately I will not have the time to mentor this year as I'm in the middle of starting my company (which leaves little time for open-source related tasks, atleast not enough to do decent mentoring). Apologies for that.
Kind regards, Ruben On Friday 1 April 2011 at 15:12, Simon Lindgren wrote: > sön 2011-03-27 klockan 00:42 +0100 skrev Simon Lindgren: > > Hello list, > > > > This is an evolution of my previous GSoC mails, with a much less > > ambiguous formulation. Obviously, if you disagree with my decisions or > > think I should clarify something, please tell me :) > > > > Now I need to find a mentor. > > I have gotten some feedback on this list and on various IRC channels, so > I have updated my application. Also, I am still in need of a mentor and > since I still have not received any response from any of the F-Spot > maintainers (as noted in the MAINTAINERS file), I am CC:ing them > explicitly this time. > > I am hoping to submit this via the GSoC site this weekend, but I still > need to code up a patch to prove my worthiness :) > > Changes: > * Some notes on why I consider Flickr, Amazon S3 and Conduit > problematic for implementing this particular task. > * Add more things I need to look into before the project > * Some more interesting functionality that may not be fully > implementable in one summer. > > > GSoC 2011: Synchronizing F-Spot data > ==================================== > By Simon Lindgren <[email protected]> > > DRAFT 2 > > Abstract > -------- > I'm a long time user of the F-Spot photo manager. I use it to tag images > for easier retrieval later. Currently, F-Spot stores its data in a SQLite > database in the users home directory. This has a few drawbacks, namely > > * The data is only available on one computer, and therefore: > * It is difficult to work with the data at geographically separate locations > > In my particular case, I want to browse and edit my images on my main > computer, which is a desktop. When traveling I only have my laptop with me > and thus I do not currently have access to my F-Spot database. A workaround > is to copy the database between the computers, but that is tedious and error > prone. This project aims to solve this problem by introducing a > synchronization > solution capable of synchronizing the F-Spot data model in its entirety > across multiple F-Spot installations. > > Requirements > ------------ > The synchronization must: > * support synchronization of all current metadata > * be flexible enough to allow future additions of data in > a backwards compatible way > * Support conflict detection and resolution > > It would also be nice if it could > * support additional data that might be added by addins > * support lightweight transfer of on-file metadata changes > It might be too much to implement those last two things this summer though. > > Technical approach > ------------------ > I have looked at some different approach to the problem, including using > a web based storage service like Amazon S3 or a Flickr Pro account, but > those kinds of approaches will probably make it hard to handle the > F-Spot-specific parts of the metadata, like versions and the tag tree. > I have also looked at Gnome Conduit, but my estimation there is that > it wouldn't solve that many problems. It would most likely add a few > of it's own too, like dealing with both Python and C# and it would make > integration into F-Spot harder to accomplish. > Therefore, my current thinking is that I will implement this as > a remote repository of the F-Spot data that support pushing and pulling > data to/from the repository and also some extra functionality to simplify > synchronization. > To communicate with the server an XML-based REST api will be used. XML makes > it > easy to integrate XMP metadata, which I believe will cover much of the > per-image data. An addin to F-Spot keeps the local > F-Spot database up to date with the server so that F-Spot can continue to > use the already existing queries, and load images quickly from the local > harddrive. This addin will also track changes to the data and manage > synchronizing the changes back to the server. > > Interesting extra features > -------------------------- > These are extra features that might be nice to support, if there is time. > * mhutch suggested that a concept like catalogs in Lightroom might be useful. > Basically, this would be a way to only sync selected pictures. > It could be implemented as a tag query, to tie in to existing F-Spot > concepts. > * Partial local cache. Perhaps this overlaps a bit with the above, but it > transform the local pictures folder into a cache containing the most recently > used files. Reduces initial bandwidth requirements and used storage space. > > Deliverables > ------------ > The deliverables of the project would be: > * An addin for F-Spot to support synchronization > * (if needed) patches for F-Spot to support the addin > * A specification of the REST api and the data format > * A synchronization server implementation > > Preliminary Schedule > -------------------- > Before May 23 Familiarize myself with the F-Spot codebase, > Read Mono.Addins docs, > Read up on file synchronization and > conflict handling methods > Read up on Unison > Read through the Tomboy Snowy protocol for inspiration > May 23 - May 26 Draft the design > (serverside data model, REST api, plugin structure, > decide on file synchronization approach, etc) > This will be a little slow though, due to my exams > May 27 - June 1 School examinations > June 2 - June 5 Finish initial design, > Make neccessary adjustments to F-Spot > June 6 - June 19 Implement a basic working system to the state > that images and metadata can be uploaded. > June 20 - June 26 Implement downloading images and metadata. > June 27 - July 3 Implement authentication (I intend to code in a > "get it to work" mode up to this point, but ofcourse > with authentication and authorization in mind) > July 4 - July 17 Implement the rest of full synchronization, > including conflict detection > July 15 Mid-term evaluation deadline. > July 18 - July 31 Implement automatic merging of changes > Aug 1 - Aug 14 Buffer time, in case of delays > Aug 15 - Aug 22 Bug fixing, testing, documentation and cleanups > > About Me > -------- > My name is Simon Lindgren and I am a third year Computer Science student > at Linköpings Unversitet (the Linköping University). I have used C# and mono > extensively for small homegrown experimentations, and I have gained a fair bit > of knowledge of how various .NET libraries works. I have previously looked > through the F-Spot code, although that was before the big reorganization. > I have also written a Finance::Quote module in perl. It is currently living > in it's own branch, at > https://github.com/pfenwick/finance-quote/blob/Morningstar/lib/Finance/Quote/Morningstar.pm. > Gnome patch is TBD. > > -- > Simon Lindgren >
_______________________________________________ f-spot-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/f-spot-list
