Difference between revisions of "SoC Ideas UMCD 2014"

From The Battle for Wesnoth Wiki
(Are you the guy?: Replace with a gender-neutral heading)
 
(4 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
==Description==
 
==Description==
 
===UMCD===
 
===UMCD===
User-made content daemon (UMCD) project. Improving and complete an add-on server. More informations on this page [[SoC_Ideas_UMCD_2014]].
+
Page of the idea: [[SoC_Ideas_UMCD_2014]]
 +
Improving and completing the new add-ons server, '''UMCD''' (User-made Content Daemon).
  
 
{{#dpl:
 
{{#dpl:
Line 10: Line 11:
 
  |suppresserrors=true
 
  |suppresserrors=true
 
  |noresultsheader=''There are no submitted student proposals for this idea''
 
  |noresultsheader=''There are no submitted student proposals for this idea''
  |category=Summer of Code 2014 Student Page&SoC Ideas IDEA NAME
+
  |category=Summer of Code 2014 Student Page&SoC_Ideas_UMCD_2014
 
  |notcategory=SoC 2014 Not Submitted To Google
 
  |notcategory=SoC 2014 Not Submitted To Google
 
  |include=#Description
 
  |include=#Description
Line 20: Line 21:
 
==Additional Information==
 
==Additional Information==
  
The current add-on server is old and monolithic so it'd problematic to extend it. That's why we started the last summer a new add-on server during a GSOC (see the proposal of the last year here [http://wiki.wesnoth.org/User:Trademark/GSoC_2013/Addon_Server:_Create_a_new_and_shiny_one]). If you are interested and before starting anything, please come see us.
+
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 ([[User:Trademark/GSoC_2013/Addon_Server:_Create_a_new_and_shiny_one|see last year's proposal here]]). If you are interested, and before starting anything, please come to see us.
  
===Goal===
+
===Goals===
  
* <strong>Main goal</strong> of this summer project is to finish the basics of the server, it means that every actions on add-on should be implemented (create, update, delete, retrieve, update password, ...). It also mean that you should update the client accordingly.
+
* 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.
* <strong>Second goal</strong>: Dependencies resolution of the add-ons.
+
* '''Secondary goal''': Resolution of add-on dependencies.
* <strong>Additional goal</strong>: Synchronization of the translations with Wescamp.
+
* '''Additional goals''':
* <strong>Additional goal</strong>: Support for gettext on the client side (translation of the server responses).
+
** 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'll use inside the UMCD. It could be great to design the add-on server such that basic add-on part could be re-used in other open-source projects (the requirements for an add-on server are often the same).
+
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===
 
===Where to start===
  
* First you should subscribe to the Wesnoth mailing-list [https://mail.gna.org/listinfo/wesnoth-dev/].
+
* First you should subscribe to the [https://mail.gna.org/listinfo/wesnoth-dev/ Wesnoth developers mailing list].
* Download and build NEEV [https://github.com/ptal/neev], since you'll need to install and build Boost, it's important to build this library first (Wesnoth depends on Boost).
+
* Download and build [https://github.com/ptal/neev NEEV]. Since you'll need to install and build Boost, it's important to build this library first (Wesnoth depends on Boost).
* Download the source of the game via Github and compile it [https://github.com/wesnoth/wesnoth-old].
+
* Obtain a clone of the [[WesnothRepository|Wesnoth source repository]], and [https://github.com/wesnoth/wesnoth/blob/master/INSTALL.md compile it].
* See the official UMCD page [http://wiki.wesnoth.org/UMCD] and compile the UMCD server.
+
* See the official [[UMCD]] page, and compile the UMCD server.
* Before starting anything, send a mail or ask on IRC, the UMCD page isn't updated with last informations.
+
* 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?===
 
===Are you the person?===
  
There is only one requirement, you must choose between being motivated or being a genius. But 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 pass a lot of time learning so be warned). Classic skills in software engineering and SQL are a plus. A love for writing clean code and design is highly advisable.
+
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.
  
 
===Resources===
 
===Resources===
  
* Wesnoth repository [https://github.com/wesnoth/wesnoth-old/], especially the branch asio_umcd.
+
* [https://github.com/wesnoth/wesnoth-old/ Wesnoth repository], in particular, the branch '''asio_umcd'''.
* UMCD page [http://wiki.wesnoth.org/UMCD] (not updated be careful).
+
* [[UMCD|UMCD page]] (not updated, be careful).
* Boost C++ libraries [http://www.boost.org/], especially Boost.Asio [http://www.boost.org/libs/asio].
+
* [http://www.boost.org/ Boost C++ libraries], in particular, [http://www.boost.org/libs/asio Boost.Asio].
* SQLPP11 library [https://github.com/rbock/sqlpp11].
+
* [https://github.com/rbock/sqlpp11 SQLPP11 library].
* Neev library [https://github.com/ptal/neev].
+
* [https://github.com/ptal/neev Neev library].
  
 
==Whom to ask about this==
 
==Whom to ask about this==
 
* trademark on IRC or by mail <ptalbot@hyc.io> (contact me first by mail, I could miss you on IRC)
 
* trademark on IRC or by mail <ptalbot@hyc.io> (contact me first by mail, I could miss you on IRC)
 
* mordante on IRC
 
* mordante on IRC

Latest revision as of 20:11, 15 May 2020


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



Description

UMCD

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.

Goals

  • 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.

Resources

Whom to ask about this

  • trademark on IRC or by mail <ptalbot@hyc.io> (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.