Difference between revisions of "Webbased configurator"
From #openttdcoop wiki
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | 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 | + | 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 [[Talk:Webbased configurator|discussion page]] or contact [[User:Kommer|Kommer]] on #openttdcoop |
=== Project goal and scope === | === Project goal and scope === | ||
Line 22: | Line 22: | ||
=== Database design === | === Database design === | ||
− | [[Media:webtool_configurator_database_design_v0. | + | The database design is made in Mysql workbench, which can generate all SQL scripts easily. |
+ | |||
+ | [[Media:webtool_configurator_database_design_v0.03.pdf|Database design v0.03]] | ||
=== Gui design === | === Gui design === | ||
Line 28: | Line 30: | ||
If you have suggestions, please add them here! | If you have suggestions, please add them here! | ||
− | |||
− | |||
− | |||
==== Requirements on the implementation ==== | ==== Requirements on the implementation ==== | ||
Line 36: | Line 35: | ||
''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. | ''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) | *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 [http://en.wikipedia.org/wiki/Model-view-controller 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. |
Latest revision as of 23:08, 2 August 2014
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
The database design is made in Mysql workbench, which can generate all SQL scripts easily.
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.