I decided to call my Python 3.2 conversion of Trac, Projile. This is until I find out that I accidentally named it “penis” from some foreign language or slang in my current language. Regardless, it is a temporary name, to prevent people from thinking that it is related to the official Trac project. I actually got some work done last night with setting up Python, CherryPy and reading Python Library documentation and CherryPy documentation. I haven’t played Minecraft in 2 days, so I’m doing pretty good so far.
I’m still going to have a web installer, which will default to some port. The problem I’m facing is that I won’t be able to completely remove all of the steps involved, unless I want to write a custom build script that is just run. I do think that reducing the steps using the installer and having majority of the configuration done using the installer and administration might be of benefit. However, the project has to be in a working completed state before any real user testing and survey can take place.
Experiment 1: Does having a web installer that reduces a few steps beneficial?
I want to somehow provide the ability to download and install and enable plugins. I plan on experimenting with the current loader.py in Trac to see if rewriting it using 3.2 module modules will shorten the code and be of some benefit. I think however, that I’m missing some point with those Python modules and they aren’t meant for what I think they are meant for. Whatever, the experience should be of some use to figure out exactly their purpose and using them will provide some experience for when they are actually needed. I do need to find where “env.is_component_enabled()” method is located.
The plan for the installer / upgrader is to list existing packages, the requirements and optional dependencies. The goal is to have the installer / upgrader guess as much as possible to get the project running as quickly as possible. Then allow for setting up projects and configuring the software. I’ve decided that I’m going to attempt as closely as possible provide as many configurations as possible, but I also think that providing an initial base for building off of and extending later to ease the process a little bit more each iteration would be better than attempting everything I want at this time.
So the initial installer will (hopefully):
- Setup the database configuration, if not already
- Setup administration username and password (optional, will default “admin” for username, and randomly generated password.
- Check dependencies and display if not met.
- Check for installer / upgrade plugins. Run plugins after upgrade, in case they have a hook for post upgrade.
- Configure initial project name, description.
- Check for existing trac.cfg file and convert it and existing projects.
Possibly Related Posts:
- Bullet: E-Book Library Management and Content Server
- Using ZendFramework 2 beta1 For Directory Project
- The Way of Kings and Cosmere Theory
- “In Time” Movie Premise Flawed
- Completing HTTP Library For PHP
Comments are closed.