Hi Andriy, On Thu, 2008-04-03 at 12:40 +0300, Andriy Kushnarov wrote: > Hi my name is Andriy Kushnarov, I am a student that would like to > apply for google summer of code. I would like to apply for progect > "Rework Setup"
> Installation steps: > > + Introduction. No changes to any configuration files should be made > to start up the installation wizard. The installation wizard is > located in setup/ and is callable for exactly one installation. In > case of using the central database "phpGroupWare already installed" > status should be saved in local files. The installation wizard is > jumped to if determined that phpGroupWare is currently not set up. For > every step taken an object oriented interface must be provided. After > the installation the API is used to review the setup and provide help > if anything changed. The installation has multilingual interface. In > case of there is any error or not proper configuration(e.g. no > database support found on server) for the current step user cannot go > to the next step while he correct the error. There is button "Reload" > that should be clicked after the all step errors are corected. The > setup process info is saved so in case of stopping of installation > process(e.g. user computer rebooted) user can continue the > installation process from the same step. There is possibility go not > only to the next step but to the previous also(e.g. user wants to > change something in previous configuration). Storing any state on the server filesystem can be problematic. Storing the information in a session is probably the best option, which doesn't allow for client reboot/crashes. I also think that there should be a 'sub wizard" for adding a new domain to phpgw. > + Step 2: Directory configuration. After check-out from CVS or > decompressing, the directory and files permissions are probably not > set properly. The step will check if all directories exist and if they > are writable/readable if required. Show a list of directories that > have been checked. On this step user also can specify "Server Root" > and "Include Root"(these two fields has preset values). Also user will > be asked to create header.inc.php(user will have two links: "Download > header.inc.php" and "View header.inc.php", so he can upload correct > file to the server). After the submit form should be validated and > checked if header file exists on server. If something wrong(e.g. user > entered bad server root) user will be redirected to the same step with > error description. Encouraging users to change permissions so we can write a header file is probably not the best option. > > + Step 3: Configuration parameters. Here user should configure some > additional parameters like "Persistent connections", "Sessions Type > ", etc. Some of dropdowns have default values. Near the input field > "MCrypt initialization vector" there is a button for random generation > of vector string by JavaScript. After the submit form should be > validated. "Configuration Password" also will be asked on this step. > > + Step 4: Database configuration. Ask the user to input required > database parameters: database type(dropdown with supported databases > types), db host(default localhost), db name(default phpgroupware), db > user(default phpgroupware), db password(default empty). After the > submit database permissions will be checked. This validation will be > performed by making simple tests like: > + create table phpgw_test > + insert into phpgw_test > + update phpgw_test > + delete phpgw_test > + drop table phpgw_test > if all permissions are OK user is redirected to the next step. In case > of any error appropriate message will be shown to the user. I thin you will need to swap 3 and 4 around, some of the data from 3 needs to be written to the db. See also Chris' comments about guided db creation and his other suggestions about what is important in setup. > All timelines are compatible with google Summer Of Code timelines: > + 26.05.2008 - 7.07.2008: development. Every day commit, every week report Blog rather than report :) A catch up online to discuss things is usually better than an emailed report. > 1st week: Software Design(UML, class design, etc.) Test cases would be good here too :) Overall I like your proposal, but I would suggest you editing your proposal a little to make it fit a little better with the requirements of phpgw. Cheers Dave PS Sorry for the lag, as I explained on msn, I have a lot on atm :( _______________________________________________ phpGroupWare-developers mailing list [email protected] http://lists.gnu.org/mailman/listinfo/phpgroupware-developers
