AddonServerSocial

From The Battle for Wesnoth Wiki
Revision as of 17:17, 5 August 2012 by BettyMorgan (talk | contribs) (minor updates)

Me and Myself

Who Am I IRL ?

My name is Bastien Abadie, I'm french (21), living in Brittany (http://en.wikipedia.org/wiki/Brittany). I'm in an engineering school (http://www.enib.fr), i'll get my master in Computer Science next year.

Actually i work daily on a project for my school about 3D representation of ship and climate conditions of the sea. Plus there is a big network part in this project (connecting a C++ client to a matLab server and using data).

...Online ?

You can contact me by mail or GTalk using lao.geek(at)gmail.com .

My nicknames on Wesnoth are:

  • lao on the forum
  • La0 on the wiki (lao was already taken :/ )
  • lao on gna.org
  • Lao on IRC

Experience

Development

I've worked on many websites as a developper (i'm not a design guy !), mostly in PHP, using XHTML/CSS, and sometimes Javascript (with Jquery). Many of my school's projects were made in C/C++ (nethack-like game, HTTP/HTTPS server with cgi server, paint-like ,...); I've played with JAVA (JSF, JQuery for the web, Netbeans ide...) but I rather prefer C++.

Speaking of GUIs, i've made some in Tcl/TK, Qt, and C# but no GTK at the moment. Like most Linux developpers (... and admins) i've made lots of shell scripts, a bit of python,... and played with config files.

Open Source

I'm an occasional developper for ZenPhoto http://zenphoto.org, the simplest and cleanest web photo gallery! I've worked on the video support for ZenPhoto http://la0c00n.info/zenvideo . Now videos are officially supported in the core Zenphoto, no more needs for hacky patches :p I have been very busy at school this year, so little implicated recently in this project.

I have NOT participated in any ways to the Google Summer of Code before.

Games

I'm not a big gamer, but enjoy some good FPS : Half Life 1&2, Portal, Counter Strike (original, not really into Source), all Call of Duty, Serious Sam (only in coop!). I like RPG games as Baldur's Gate, Neverwinter Nights,... I play a bit on my Wii too: Zelda, Super Mario Galaxy, Wario Smooth moves.

Now, for Open Source Games: Lbreakout2, Tremulous, frozen-bubble, ... and Wesnoth of course :)

Practical

As said in my introduction, I live in France, meaning i'm under GMT+1. I can work from 9:30am to 7pm with no problem; i'm generally awaken from 9am to 0AM. I'm used to work late, and attend IRC meetings nightly.

I'have not any exams or school work to do during the period of the SOC. So i won't be pertubated :)


Work on the Addon Server

I plan to work on the Addon Server, update the code to improve inter-operability with external tools (such as WML tools and WesCamp) and add some social content.

My personnal idea is adding some social content to addons. It means adding tags, which represents and defines in a more human way the addons.

Tags

Tags can be given by Wesnoth staff and by author. After discussing of it on IRC, users should not have the possibility of adding some tags to addons. By the way, authors can add tags too but NOT the same as those used by the staff.

There would be 2 types of tags: Registered ones, applied by the admins/staff, and "normal" ones applied by addon's author. Tags used by authors could be set freely or selected in a list defined by the server's admin.

Tags permit also to know which addons he liked, and search for addons he WOULD enjoy. It's a simple search function for tags, but it should be appreciated by users.

Tags would be added in the PBL file for each addon: (Documentation on PBL http://www.wesnoth.org/wiki/PblWML) with the formating (in the _main.cfg, section campaign) :

authorTags="My First Tag","Cool Addon"
officialTags="Best Addon Ever"

Tags could be also stored in a unique file for better search capacities. This file would be structured this way:

[tag]
  name="my cool tag"
  category="author"
  addonsId="orcish_incursion", "other_addon"
[/tag]

Every time an addon is uploaded to the campaign server, its tags are selected, and if any match with the authorized tags are found, its id is added to the tag's file.


Server Side

Choices

I plan to work on the server code in C++, because:

  • C++ can easily embed python directly, or with Boost C++ Libraries (which are already one of Wesnoth' dependancies)
  • C++ runs on Linux AND stay easily portable to others platforms (Windows, Mac Os X...)
  • The biggest part of Wesnoth is in C++, so why change ?
  • Python tools like the WML suite of tools wan be easily usable directly from the server

Wescamp access via SVN

2 Solutions seem possible:

  • Check the svn every time an user download an addon -> needs to implement the svn access directly from the server
  • Check the svn on a regular basis -> Simple Cron Job

Documentation on svn apis in C, C++ and even python found there: http://svnbook.red-bean.com/en/1.1/ch08s02.html

Given this documentation, the simplest solution(except Cron job) to implement is to use Subversion's Python SWIG bindings (See Examples 8.2 and 8.3). The implementation of these exmaples is far more complicated in C or even C++. By the way, this solution needs one more dependancy.

Client Side

Wesnoth UI

The Client is too simple actually, so i'd improve it by adding some new lists:

  • List of new addons
  • List of most popular (After speaking of this idea on IRC, it's not a good idea after all. Elder addons are the most downloaded but not the best)
  • Search box, looking after title, dates, authors, tags

Those lists would be accessible from a dashboard. This dashboard would welcome the user by showing him updates for addons he previously installed, and/or addons he would enjoy (based on tags).

Each addon should have an expanded view, and a simple view. The simple view is the view by default, clicking on a button "Show me more..." would expand the view.

Expanded view shows more informations:

  • comment by the author
  • tags (given by staff and by the author)
  • list of actual translations (versionned): Ideally translations should be selected by default for the user language, but a menu showing addon's translation and their versions would be great.
  • Date of creation
  • Actually installed on user system ? (if so, an Uninstall button would be great)

Web UI

Each addon server could be accessible via a web interface (on port 80, or 8080).

Most general datas from Wesnoth Addon UI could be reachable from the Web Interface. It includes addons common datas (name, author, tags...) but also sort functionalities, like in the improved client UI.

The web server would be a simple TCP server listenning queries on a given port, integrated directly in the addon server. No use of apache (or even lighthttpd) is required for generating simple HTML pages.

Furthermore, an user account creation could be used to track users'data like "addons installed", "languages used...". After discussing of this with Mordante, it would be optional.

Admin UI

Both Wesnoth UI and ... \n

The Opposite Of Poverty Is Justice

[The Opposite Of Poverty Is Justice]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

White dress, green wedding

Lindsey Gehl and Ryan Bell have a vision of their June wedding being white - and green, too.The 27-year-olds will pledge their troth in a traditional ceremony, followed by a reception amid the scenic trails and wildlife habitats of the Pilcher Park Nature Center in Joliet, Illinois, to which theyre donating $600.

[White dress, green wedding]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Three Qualifications for the New Politician

There are plenty of politicians who genuinely desire to serve their communities and nations with humility and integrity, dedicating their lives to the cultivation of a wisdom that will benefit society at large; sadly, they are a minority.

[Three Qualifications for the New Politician]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Happiness: Getting Our Priorities Straight

There is a vitally important shift underway in how we think about progress. Growing numbers of economists, political leaders and expert commentators are calling for better measures of how well society is doing; measures that track not just our economic standard of living, but our overall quality of life. We too can benefit from a shift in priorities and a recognition that real happiness is less about what we earn or own and more about our relationships and state of mind;

[Happiness: Getting Our Priorities Straight]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Reuse of Wastewater May Improve Drinking Water Supply

With recent advances in technology and design, treating municipal wastewater and reusing it for drinking water, irrigation, industry, and other applications could significantly increase the nations total available water resources, particularly in coastal areas facing water shortages, says a new report from the National Research Council.

[Reuse of Wastewater May Improve Drinking Water Supply]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]