I don't know if this has been discussed yet, but I think it would be a good idea to create a system that helps with the final deployment of a project. I don't know how enhancement proposals are handled, and the main site appears to be down right now so I can't look it up ... which means you get the probably-too-formal method we use at work. I will be working on a patch to provide this just as soon as I know it at least has a chance to be accepted. Here is my proposal, I would appreciate any ideas or suggestions that you may have:
Idea: Add a tg-admin command that starts a temporary site used to configure and set up the permanent site, along with associated libraries to assist in creating the configuration site. Motivation: The current system requires, at the least, hand editing of configuration files. If any applications require initial database configuration, that must be accomplished through the shell. Considering the high level of automation for the installation process that is provided by setuptools it does not make sense for configuration to require manual configuration file edits and (possibly) python shell usage. This system will provide application developers with a clear path for handling initial setup. It will reduce the knowledge requirements for setting up a website to the same requirements for running and using it. A setup environment is also a good place to conduct sanity checking of the application's configuration before the user attempts to launch it. Implementation: The implementation would start with a new tg-admin command. Since it has not yet been used I think "tg-admin setup" is an appropriate choice. This command will request the following information from the user before launching the server: 1) The port the configuration server should bind to 2) The base url where the application will reside 3) A user name and password that are used to log in to the configuration system. #1 is self explanatory. #2 is used to launch the web browser pointed at the configuration system, in the same way that tg-admin toolbox currently functions. #3 is used to ensure that only the person setting up the application is able to log in to the configuration site. This could obviously be exchanged for another method of restricting access, but I feel that the username and password combination would be the most secure. When the configuration server launches it will look in <sitedir>/<sitedir>/config for a root controller named config and mount it. Since it is running in the application folder it has full access to all of the resources used by the application, and should be able to make any required changes. Additional Features: I would like to create a configuration file manager that processes the configuration files and redisplays them as user editable web forms. This system will provide application developers with the option of supplying validators for the configuration pages, which will allow full control over the values that are written to the config files. A method of supplying per-item and per-file additional configuration instructions will also be provided. Conclusion: Most web applications do not address the configuration issue beyond manual editing of config files and database item entry. I think this solution would provide application developers with an easy means of addressing this issue in a user-friendly manner. -Adam --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TurboGears Trunk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/turbogears-trunk -~----------~----~----~----~------~----~------~--~---
