Webbased configurator

From #openttdcoop wiki

Jump to: navigation, search

This wiki page shows the requirements, design, implementation and progress of the development of a web-based configurator for openttd.cfg. Before any design will be made, functional requirements of the system should be clear. For questions or remarks, please use the discussion page or contact Kommer on #openttdcoop

Project goal and scope

The goal of this project is to design a webbased configurator for the openttf.cfg configuration file. The initial scope is to only generate a openttd.cfg configuration file. Other possibilities, like restarting a server, will be out of scope for the first version of this configurator.

Functional Requirements


  • the web-based tool should be able to manage the configuration of the openttd.cfg configuration file.
  • it should generate server specific openttd.cfg files for all #openttdcoop servers;
  • the web-based tool should have a read only and read-write option to make it possible for users to see our config;
  • all options and new grf settings of the openttd.cfg should be changeable;
  • options need to be mandatory or non-mandatory;
  • newgrfs and their options must be selectable;
  • each option should have a description of the possible values and their meaning;
  • values of options should be open, an enumeration or multiple values (NewGRF Parameters)
  • some options should be specific for a configuration and some options should be specific for a server
  • each server should be able to have multiple configurations in the tool


  • it should be possible to load a openttd.cfg into the webtool.
  • support for presets/templates
  • it should be possible to upload the config file to a server using (S)ftp;

Database design

The database design is made in Mysql workbench, which can generate all SQL scripts easily.

Database design v0.03

Gui design

A pre of the system is to use some kind of template tool or use plain xhtml with a good css file.

If you have suggestions, please add them here!

Requirements on the implementation

  • the tool should use PHP as the programming language

Rationale: PHP is used in a lot of webbased tools. If we choose something like java (with google's webtoolkit?), it would be harder to install and maintain the tool.

  • as database a open source *SQL version should be used. (For now, we will use MySQL)

Implementation design

A design of the implementation will be posted here when the global requirements are final and the database design will be finished.

Possibly a MVC approach will be used. The mysql workbench file can be used to generate all model files, which saves a LOT of development time.

Also looking into the Zend Framework which will also make coding a lot easier and Object Oriented. Also Eclipse can be used to develop php code with the zend framework.

Powered by MediaWiki
  • This page was last modified on 2 August 2014, at 23:08.