SoC Ideas Simple Content Manager

From The Battle for Wesnoth Wiki
Revision as of 14:21, 21 March 2013 by Esr (talk | contribs) (Hide historical instance of "SVN" from mediawiki search to avoid false positives.)


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



This is a Summer of Code 2011 Idea



Description

Create a simple content manager frontend for non-technical users

More info at SoC_Ideas_Simple_Content_Manager

Wesnoth has all sorts of contributors that are not coders (translators, graphists, multiplayer developers, musicians, etc)

A large part of these users don't know how to use content managers (git, s­­v­­n, etc...) and are not interested in learning. Wesnoth has been looking for a simple frontend to the most common content managers for those developers but none of these are simple enough for our use case.

There is 1 submitted student proposal for this idea

Disruption - Simple Content Manager

Brief: I want to write a Java Simple Content Manager. The most important thing about it would always be simplicity in terms of not requiring technical knowledge at all, so potential contributors in areas like graphics, music, or other artwork could join the community and help with ease.


The idea is developing the project in a Java environment, as java is supported in most OS(Apart from Mac, Unix and Windows, it can also be used in most mobile platforms and systems). Another reason for choosing java is that is very easy to design a cute GUI that don't scares the user away, and also the GUI adapts its “look and feel” to the system it is running in, so the user sees it like another of his programs, rather than an external, strange tool. In terms of programming, as described before, the idea is taking a MVC approach, implementing first the view, and preparing then a modular controller for all the functionality needed. As Java has JUnit tests and a powerful debugger, it's easy to track down bugs and fix them, as well and check that every part works correctly and incrementally, so you can be sure that a new functionality doesn't break an older one(As you can add tests while you develop, so you always execute 100% of the tests).
See Disruption Simple Content Manager for more information.

Additional information

This task would be to develop a front end for the most common SCM that would mask completely the underlying tool and would target people that want to contribute to open source, are not technically inclined, and don't want to learn. This tool would implement a minimal subset of SCM features with the philosophy that the user has the support of technical people to do complicated tasks.

the following feature list is here to help understand the use-case for the tool

things the tool might do

  • update repository wrt distant repository
  • commit to distant repository
  • prepare a bundle to attach to a mail
  • switch branch
  • resolve merge conflicts
  • build a report on the underlying SCM situation to allow debugging by someone else
  • register as a handler to s­­v­­n:// and git://

'things the tool shouldn't do

  • create a new project (if you want to do that, you should learn the real tool)
  • create a new branch (a person with the real tool can do that on the repository for you in the rare case it's needed)


other misc constraints

  • python is the preferred language (all of wesnoth tool are in python) java could be used too (we already have some java code, so maintainability should be ok)
  • it should be SCM agnostic (the point is to lower the barrier to entry for non-technical users)
  • the UI should not be frightening to non-technical people (I.E give some thought to UI design in your proposal)
  • it should integrate as properly as possible into the OS
  • it should work on windows, Mac and Linux

Zaroth: I discussed with the devs a bit about this idea, the information I gathered may be useful for you.

Whom to ask about this

  • Boucman (original idea)