2012/3/31 Teo Mrnjavac <[email protected]>: > On Thu, Mar 29, 2012 at 22:16, Xavier Claude <[email protected]> wrote: >> Hello, >> >> I'm interesting in joining the Google summer of code. I hope it's not too >> late. I'm using KDE for more than 5 years and I'm a member of the French >> translation team, that's why I choose KDE as the GSoc organization. I'm a >> student in computer science in Belgium, I'm in the third and the final >> academic >> year of my study. >> >> I've read the ideas page and I've found the nepomuk backend for Amarok. As >> I'm currently doing an internship about semantic data for some countries >> budget, I already know RDF and Sparql. And I've also written some Qt >> applications for my course. >> >> Cordially, >> > > Hello, > > thanks for contacting us. It is very good that you already have > experience with RDF and SPARQL. I suggest that you start by building > Amarok from git and taking a look at the collection code to get an > idea of the result you'd need to achieve. What we need is a collection > backend that could replace the current SQL collection (if needed) > without feature regressions, but you should plan on both backends > being available rather than one being a drop-in replacement of the > other. Please see this article [1] for some guidelines on how to > structure a GSoC proposal for Amarok. When you prepare a first draft, > please submit it for review on this mailing list. > > [1] > http://teom.wordpress.com/2012/03/01/how-to-write-a-kick-ass-proposal-for-google-summer-of-code/ > > Cheers, > -- > Teo
Thank you for the explanation, the blog post was very useful. Here is what I've write: Name: Xavier Claude Email Address: [email protected] Freenode IRC Nick: claudex IM Service and Username: N/A Location (City, Country and/or Time Zone): Arlon, Belgium Proposal Title: Semantic desktop collection in Amarok Introduction: Amarok currently uses MySQL (embedded or external) to store the collection but this doesn't allow other applications to easily use Amarok collections. Motivation for Proposal / Goal: - A fully functionnal Nepomuk backend to store Amarok collection - A GUI to choose the backend - A tool to migrate an existing MySQL collection to the Nepomuk backend. Implementation Details: Nepomuk is a tool used by KDE to provide a semantic desktop that all applications can use. I'll have to define how to store the data currently stored in the MySQL database. This mean that I'll have to use the class already defined and used by Nepomuk and other applications which use Nepomuk such as Dolphin. If the ontology does not cover all the information in the database, I'll have to extend it. When the data model will be defined, I'll have to write C++ code and the SPARQL queries to retrieve the data and insert/modify them when they are added/changed by another application or by Amarok. When doing that, I'll reuse as much as possible the existing code used by the MySQL backend, the UI code should be used with the two backends without disctinction. The GUI will consist on two radio buttons in the current database tab in the Amarok configuration. One will say Nepomuk and the other MySQL, if the second is chosen, the external MySQL database could be checked. If Nepomuk is disabled, the Nepomuk button will be inactive and their will be an explanation why. The migration tool will be a tool that will read the MySQL database and write the data in Nepomuk. The GUI will automatically ask if the user want to use it when he switches from MySQL to Nepomuk and could be manually triggered if the Nepomuk backend is chosen. It could read both embedded or external MySQL database. Tentative Timeline (in weekly intervals until 2 weeks after the end of GSoC): - List the needed functions and define their specifications (2 weeks, 21st May to 3rd June): lists which functions are used and, particularly, what are the limits behavior. This will allow me to understand how the Amarok code is designed and written. - Define the data model (1 week, 4th June to 10th June): define which class in the ontology I'll use and understant how to use Nepomuk API. - Writing the functions (3 weeks, 11th June to 1st July): write the backend. - Performance tests and improving code if needed (2 weeks, 9th July to 22nd July): find the bottleneck and improve the code, this should mostly be SPARQL queries improvement. - Migration tool (2 weeks, 16th July to 29th July) - GUI (1 week, 30th July to 5th August) - Advanced tests (1 week, 6th August to 12th August): creating exotic collection and test the migration tools and the backend. - Documentation (1 week, 13th August to 19th August): writing documentation to user on userbase to explain them how to use the backend and to developers on techbase to explain how the backend work. Do you have other obligations from late May to early August (school, work, vacation, etc.)? I have final work and internship presentations in mid-June but since most of the work should be done by mid-May, I will have enough time to work for the GSoC. About Me (let us know who you are!): I'm a student in computer science in Belgium, I'm using KDE since 5 years. I'm a moderator on the French Linux website Linuxfr.org. I'm currently doing an internship about semantic budget and using RDF and SPARQL. You can also find it here http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/claudex/1 -- Xavier Claude [email protected] _______________________________________________ Amarok-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/amarok-devel
