SoC Ideas UMCD 2014

From The Battle for Wesnoth Wiki

This page is related to Summer of Code 2014
See the list of Summer of Code 2014 Ideas

This is a Summer of Code 2014 Idea



Page of the idea: SoC_Ideas_UMCD_2014 Improving and completing the new add-ons server, UMCD (User-made Content Daemon).

There is 1 submitted student proposal for this idea

Spoffy - UMCD Extension Proposal

I intend to complete and extend the User Made Content Daemon produced by Trademark during GSoC 2013. This means implementing the basic functionality (Uploading, downloading addons, etc) in a secure manner. After this, I would continue on to extend it by adding administration tools, refactoring code, adding build scripts, adding cross-platform support (in principle), and other things (probably!). Outlined on this page is an in-depth proposal

More to come as I fill this out.
See SoC 2014 Spoffy Finishing and Enhancing the UMCD for more information.

Additional Information

The current add-ons server used in production (campaignd) is old and monolithic, so it would be problematic to extend it. That is why we started working on a new add-ons server during the last summer for GSoC (see last year's proposal here). If you are interested, and before starting anything, please come to see us.


  • The main goal of this summer project is to finish the basics of the server. This means that every action on add-ons should be implemented (create, update, delete, retrieve, update password, ...). It also means that you should update the client accordingly.
  • Secondary goal: Resolution of add-on dependencies.
  • Additional goals:
    • Synchronization of translations with WesCamp.
    • Support for gettext on the client side (translation of server responses).

There is also a side project of a networking library based on Boost.Asio that we will use in UMCD. It could be great to design the add-ons server such that the basic add-on framework could be re-used in other open-source projects (the requirements for an add-ons server are often the same).

Where to start

  • First you should subscribe to the Wesnoth developers mailing list.
  • Download and build NEEV. Since you'll need to install and build Boost, it's important to build this library first (Wesnoth depends on Boost).
  • Obtain a clone of the Wesnoth source repository, and compile it.
  • See the official UMCD page, and compile the UMCD server.
  • Before starting anything, send a mail or ask on IRC, since the UMCD page isn't updated with the latest information.

Are you the person?

We expect you to be motivated, especially if you are not familiar with the tools we are using. Nevertheless, we would like you to have some familiarity with C++11 or at least C++. If you don't know C++ but you are interested, ask us and we'll give you some references to learn C++ (but you will need to spend a lot of time learning, so be warned). Classic skills in software engineering and SQL are a plus. A love for designing and writing clean code is highly advisable.


Whom to ask about this

  • trademark on IRC or by mail <> (contact me first by mail, I could miss you on IRC)
  • mordante on IRC
This page was last edited on 15 May 2020, at 20:11.