Changes

m
Line 1: Line 1:  
{{TOCright}}
 
{{TOCright}}
  −
  −
Please note that this proposal isn't fully fleshed out because I decided to apply only last minute (my diploma thesis would have been within the same time frame originally, but got delayed for external reasons so I can participate now). A proper design will be the first part of the project, see the time line given below. The issues and possible solutions are well-known and the scope is sufficiently limited to ensure this project will be a success.
        Line 12: Line 9:  
* Wiki user name: sascha_silbe
 
* Wiki user name: sascha_silbe
 
* IRC nickname: silbe
 
* IRC nickname: silbe
* Primary language: german
+
* Native language: german (english preferred for technical communication)
 
* Location: Germany
 
* Location: Germany
 
* Work hours: about 12h to 00h local time, i.e. 10h to 22h UTC
 
* Work hours: about 12h to 00h local time, i.e. 10h to 22h UTC
 
* Open source projects (with other developers beside me) I participated in: [http://husky.sourceforge.net/ Husky (Fidonet on Linux)] (many years ago, co-founded the project; my profile on that page is rather outdated), [http://www.openstreetmap.org OSM], contributed bug reports and patches to a large number of projects. Try a web search on my name, it's unique (AFAIK at least).
 
* Open source projects (with other developers beside me) I participated in: [http://husky.sourceforge.net/ Husky (Fidonet on Linux)] (many years ago, co-founded the project; my profile on that page is rather outdated), [http://www.openstreetmap.org OSM], contributed bug reports and patches to a large number of projects. Try a web search on my name, it's unique (AFAIK at least).
* Current affiliation with SugarLabs: maintainer of the [[DevelopmentTeam/Buildbot|build infrastructure]]
+
* Current affiliation with Sugar Labs: maintainer of the [[Development Team/Buildbot|build infrastructure]]
    
==About my project==
 
==About my project==
   −
* Name of project: Version support for [[DevelopmentTeam/DatastoreRewrite|data store]] / [[Design_Team/Designs/Journal|Journal]]
+
* Name of project: Version support for [[Development Team/Datastore Rewrite|data store]] / [[Design_Team/Designs/Journal|Journal]]
 
* Technologies used: The ones currently in use by the data store / journal. The bonus part might introduce additional ones (e.g. sqlite) for indexing.
 
* Technologies used: The ones currently in use by the data store / journal. The bonus part might introduce additional ones (e.g. sqlite) for indexing.
   Line 37: Line 34:  
[http://wiki.laptop.org/go/OLPC_Human_Interface_Guidelines/The_Laptop_Experience#Implicit_Versioning_System was part of] the  
 
[http://wiki.laptop.org/go/OLPC_Human_Interface_Guidelines/The_Laptop_Experience#Implicit_Versioning_System was part of] the  
 
[http://wiki.laptop.org/go/OLPC_Human_Interface_Guidelines/The_Laptop_Experience#The_Journal original design concept]
 
[http://wiki.laptop.org/go/OLPC_Human_Interface_Guidelines/The_Laptop_Experience#The_Journal original design concept]
for the Journal, but [[DevelopmentTeam/DatastoreRewrite#Versioned_entries_.28not_fulfilled_yet.29|hasn't been finished yet]].  
+
for the Journal, but [[Development Team/Datastore Rewrite#Versioned_entries_.28not_fulfilled_yet.29|hasn't been finished yet]].  
    
There are several prototypes ([http://wiki.laptop.org/go/Olpcfs Olpcfs], [http://dev.laptop.org/git/users/cscott/olpcfs2/ olpcfs2])
 
There are several prototypes ([http://wiki.laptop.org/go/Olpcfs Olpcfs], [http://dev.laptop.org/git/users/cscott/olpcfs2/ olpcfs2])
Line 49: Line 46:  
For this reason, I don't believe that any of these prototypes will mature enough to get integrated
 
For this reason, I don't believe that any of these prototypes will mature enough to get integrated
 
in Sugar even mid-term. My project focusses on the version support instead, enhancing the
 
in Sugar even mid-term. My project focusses on the version support instead, enhancing the
[[DevelopmentTeam/DatastoreRewrite|current data store]] instead of replacing it, with the Journal as the only
+
[[Development Team/Datastore Rewrite|current data store]] instead of replacing it, with the Journal as the only
 
intended user of the versioning API (though, at least in theory, regular activities could access it as well).
 
intended user of the versioning API (though, at least in theory, regular activities could access it as well).
   Line 58: Line 55:  
=== Time line ===
 
=== Time line ===
   −
(to be completed)
+
;2009-04-03
 
+
:Application deadline
2009-04-12: Easter
+
;2009-04-12
2009-04-20: start of (university) term
+
:Easter (sunday); UI mockup submitted for review by [[Design_Team|Design Team]]
2009-05-23: start of GSoC
+
;2009-04-20
2009-07-06: GSoC midterm evaluation ("working and 90% done")
+
:start of (university) term; announcement of accepted GSoC proposals
2009-07-25: end of (university) term
+
;2009-05-10
2009-08-10: end of GSoC
+
:submitted API draft for review by [[Development_Team|Development Team]]
 
+
;2009-05-16
<!--
+
:[[Marketing Team/Events/MiniCamp Paris 2009|SugarCamp Europe 2009]]
The Summer of Code work period is 7 weeks long,
+
;2009-05-23
May 23 - August 10;
+
:start of GSoC
 
+
;2009-05-31
# Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described.
+
:current code examined and understood; API, on-disk format and UI design chosen
This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing,
+
;2009-06-07
but be creative. Link to prior work or other resources as relevant.
+
:data store enhanced to be able to deal with versions (basic API)
For instance, you could avoid facing the issue of automated pruning of old versions for disk space,
+
;2009-06-14
or not have a converter for existing datastores.
+
:added (working) prev/next buttons to Journal details view
 
+
;2009-06-21
Note: the work for this idea is ''more than halfway done''.
+
:added support for importing from existing data store
The olpcfs2 virtual file system linked above is ''working'',
+
;2009-06-28
supporting versions and metadata;  
+
:added unit tests (and potentially regression tests), fixed all known bugs, submitted for review by [[Design_Team|Design Team]]
all you need to do is a UI and an
+
;2009-07-06
index/searching mechanism on top of that.  
+
:GSoC midterm evaluation ("working and 90% done"); added indexing (e.g. using sqlite)
And even if your indexing mechanism is just brute-force-search each-time,
+
;2009-07-13
sure, it will be too slow for real use, but we can take it from there, as long you have a working proof-of-concept UI.
+
:code integrated upstream for increased exposure (testing!); started discussion on extended UI design (version tree etc.)
 
+
;2009-07-25
-->
+
:end of (university) term
 +
;2009-08-10
 +
:end of GSoC
 +
;2009-10-31
 +
:Fedora 12 release; Sugar 0.86 release short time later?
    
== Me and the community ==
 
== Me and the community ==
Line 115: Line 116:     
I'm skipping the screenshot of the simple text replacement task for time reasons. I guess being the maintainer of the  
 
I'm skipping the screenshot of the simple text replacement task for time reasons. I guess being the maintainer of the  
[[DevelopmentTeam/Buildbot|build infrastructure]] and having committed several patches on the bugtracker should be  
+
[[Development Team/Buildbot|build infrastructure]] and having committed several patches on the bugtracker should be  
 
sufficient substitute. :)
 
sufficient substitute. :)
  
344

edits