Webbased configurator
From #openttdcoop wiki
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
Contents
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
Mandatory
- 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
Optional
- 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
Media:webtool_configurator_database_design_v0.03.pdf
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!
Implementation design
A design of the implementation will be posted here when the global requirements are final and the database design will be finished.
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)