1
redheadedrod
Xoops Install Script

I mentioned elsewhere that I am working on updating the Install Script for Xoops and since I will be getting back to this in the next week or so depending on my progress for a major project for my class I wanted to throw this out there and see if anyone has any other ideas they would like to see incorporated.

I am redoing this script because I see that it seems like 90% of the newbie questions are related to problems with their install. No one has really spent the time to simplify the install process and we now have an install guide. My intent is to simplify this for the normal user while allowing the experienced user flexibility.

I have an SVN where I am keeping my lastest version stored. The link for that is...
http://sourceforge.net/projects/xoopinstall/

At the time of this writing you will note that I haven't touched it in months. My time is opening up due to where I am at with my classes so I will be getting back to this.

Some of the changes...
Allow a fully automatic install from a configuration file.
multiple levels of install complexity currently to include:
Basic - this will install xoops without any need for input assuming the defaults work
Intermediate - Will ask for information on the install and perform everything for you
Expert - Will allow many more adjustments and will display the install similar to current. Basic and intermediate will show a progress indicator only.

I will use Ajax and Javascript to validate entries and to automate many things. I will also incorporate a help system to make having an install guide hopefully obsolete.

The current system makes extensive use of POST variables which makes it very slow and cumbersome. I will be simplifying it by making use of SESSION data where possible instead which should also make it quicker.

I will be separating a lot of the settings out to specific settings files to make customization easier and support unattended installs.

It appears a number of developers have made quick hacks on this to make it work and things are in disarray. I plan to clean them up and remove all dependencies on the xoops source code to make it stand alone. This includes support for multi language and multi theme.

I plan to change it to use PDO directly to access the database to support future use of other databases. It will look at the settings to see which databases to allow. In other words it will only use the PDO engine to access MySQL at this point but in the future it will be VERY simple to support other databases once the core does.

It will offer choices for databases, languages and themes if more than one exists in the install modes other than basic.

If anyone can think of anything else that would be nice to see in the install program let me know... Will be written for English for now. Once it is in RC I will ask for translations. Considered at prealpha stage at this point since it does not work yet.

Attending College working towards Bachelors in Software Engineering and Network Security.

2
Anonymous
Re: Xoops Install Script
  • 2012/3/15 16:10

  • Anonymous

  • Posts: 0

  • Since:


I don't know if this can be done.. But would it be possible to let the script check for the latest xoops version and give a warning in case it's an older core?

3
redheadedrod
Re: Xoops Install Script

Quote:

flipse wrote:
I don't know if this can be done.. But would it be possible to let the script check for the latest xoops version and give a warning in case it's an older core?

I am working towards this for a future project.

But I have no current plans to add any sort of version checking at this time. If I have an RSS feed I can check then that may change.

I have some ideas for a future project but I want to make sure I complete this first.
Attending College working towards Bachelors in Software Engineering and Network Security.

4
redheadedrod
Re: Xoops Install Script

I will be aggressively working on this Starting this weekend.

I am headed towards a 1 button install for basic installs.

The link in the first message is active but you won't see any changes to the code until I have worked on it some this weekend. Because of my current schedule I will be doing the majority of work on the weekends.

Gone will be a lot of the messages about requirements and such. The install script will just take care of these and if it finds a problem will contact the user.

The main screen will allow the most basic settings to be chosen. At the bottom of the page the user will choose if they want a "Basic", "Advanced" or "Expert" install.

Basic install will use the settings from the main screen and assume defaults for everything else. Thus simplifying the install dramatically for first time users.

Advanced installs will be similar to the current system but will be far shorter.

Expert installs will allow a variety of extra settings to be selected with the intention of being able to set a bunch of functions we now normally set in the admin menu after an install.

The intent is to greatly reduce the learning curve of installing a system for most users, have the script do most of the work for us and let us know when there are issues. This should reduce a huge number of newbie questions and allow xoops to look like a more solid platform.

I will be making extensive use of javascript for validation to smooth out the user interaction.

Hopefully will be able to provide a screen shot of the first page this weekend for comments.

Also, for those that do a series of installs there will be support of an unattended install which will just install and provide an ending status screen when finished.

Since this system will be totally new I will also rewrite the install guide to reflect the changes. However with included "tool tips" I do expect that the reliance of an Install guide to be minimal.

Support for Additional themes and Languages have already been added but I will wait until it is in RC status before looking for translations.
Attending College working towards Bachelors in Software Engineering and Network Security.

5
redheadedrod
Re: Xoops Install Script

With the end of my semester coming shortly and now that I am no longer working a second job I should have quite a bit of time to work on promised projects. It is time to bring this subject back up again and ask for some input. I have some ideas and recently have decided to potentially scrap the old script all together and start with a new script that works in a different fashion.

If I build a script that can take the compressed file and install directly from it and include any module packs as well will that be something that will work? In other words have it decompress the files directly to the locations they will be used in?

I am curious if there are hosts out there that would block something like this. I plan to have the script adjust the permissions of the directories as well.

This was something I wanted to do down the road but I think I can do this rewrite possibly quicker than trying to rework the original code. Once working the intent is to eventually make it so all you do is put the install script on the host you want it on, choose the version of xoops you want with modules and it will download and install everything. Before this can be fully done though there needs to be some support framework built which has not been done yet so for now the intent will be to upload the script with the compressed xoops and module pack or single modules and install.

There will be three different levels of install difficulty:
Easy - useful for quick install and many settings will be assumed and a basic admin account added. This would be for use on a local host with very basic settings setup. Would not be a good choice for installing on a live host. (And will be noted as such)

Advanced - this level would be more like the normal installation we are used to now. But many defaults will be set based on the current systems information.

Expert - This will be an expansion of the Advanced level and allow you to change settings for additional items that are not currently allowed.

Because all the more advanced difficulty settings will be allowed by opening up new sections on the form I may not use the above terms. Once I am done with the PDO connector I will be drawing out the interface I want to use to see what I will actually need to do with it.

There will also still be an automated install mode that will allow unattended installs that will be as simple as just uploading the files, typing in install and waiting... This will require a file to be pre-made ahead of time but the actual install will create a compatible file automatically to show the settings that were used. There will also be a full log file that will show what happened during the install in case there are issues.

I will also be writing this to use the PDO library to support multiple Databases so it will be compatible with the new database connector that should be finished before this install program is. It will default to MySQL but will support others if they are available in the system and are enabled in the script.

To support different versions of Xoops I will also be setting up a settings file that will be loaded with the install script to allow future versions to be included by simply editing a settings file instead of having to tweak the script each time a new version comes out.

Login

Who's Online

123 user(s) are online (94 user(s) are browsing Support Forums)


Members: 0


Guests: 123


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Apr 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits