GSoC/GCI Archive
Google Code-in 2010 KDE

Upload of self-created maps

completed by: Utku Aydın

mentors: Dennis Nienhüser

Marble should provide a way to upload self-created maps to a common KDE server. These maps would then be available for other users via the "Download Maps" (KNewStuff) feature already available in Marble. Subtasks are

Upload feature

  1. Do some research on upload possibilities (KNewStuff vs. Open Collaboration Services) and server requirements. Marble currently uses KNewStuff for downloading so its upload feature may be easier to implement; OCS may be more "future-proof".
    Afterwards we should know which one to use and the requirements for the configuration of a test server which will be used to upload maps while testing the code
  2. Create a new context menu entry for the maps view, e.g. "Upload Map". It opens an upload dialog, either self-created or reusing one provided by knewstuff/libattica
  3. In the dialog or before, the map contents needs to be packaged correctly. Have a look at existing maps to find out what's needed. Use a QProcess to call a utility like tar to create the package. When it is not installed, inform the user about it. Similarly when creating the package fails.
  4. Use the libraries feature to initiate the upload
  5. Before uploading, the user must be informed about possible licenses that can be used. Have a look at e.g. wikipedia's upload file site.

Integration with the existing "Download Maps" feature

Ideally this one is easy and does not require writing code, but only adjust marble.knsrc and xml files

  1. Change the ProvidersUrl in marble.knsrc to a different one on the test server
  2. Configure the providers.xml file on the test server to use both the "official" maps from the server and the user contributed maps on the test server
  3. Verify that uploaded maps turn up in the "Download Maps" dialog (in a different category) and are installable