Heads up to anyone working with the sourcecode from svn trunk. I've just merged the new Setup system. The new system provides a lot more helpful information during setup and is designed such that if an error happens, the process can continue if the cause of the error is corrected. When doing a clean install, all you have to do is create the database and set the connection string with a user that has sufficient permission to create the schema and the Setup will do the rest including creating all needed database objects. The only data layer where I have not got it working correctly yet is Firebird, but it fails gracefully and tells the user where to find the scripts that need to be run manually. I think I may yet be able to get this automated in Firebird but it looks like it will not work using the same approach as all the other data layers so I will have to try to make it work a different way than the others do.
In addition to the new automated schema creation, the new Setup system installs features based on xml configuration files so it will be easy for third party developers to package their own features into the setup process as well as the ability to leave included features out if they want to. You can even make a custom header file so the setup screen shows your own custom branding during install.
The system also allows configuration of pages that will be created during setup. You can specify pages in the xml and which features to put on a page. Currently it is limited to just putting an instance of a feature on a page and setting its title, it cannot set any properties on the instance except for the included Html Content module. For the Html Content module you can specify a content template so that actual html content is on the page. For all other features like the Blog for example, it can put a blog on a page and give it a title but it can't currently put a post in the blog. Maybe I can come up with design to do things like that later if they seem important.
I am still refining and testing a little bit and would appreciate anyone testing this from svn trunk and letting me know any issues so I can fix them and then can make a new release.
Other improvements that also landed in svn trunk.
- Automatic Google Site Map you can submit to google using yoursiteroot/SiteMap.ashx
- Page Settings now has settings for Search Engine Optimization, ie, you can configure the changefrequency, and the priority within a site for each page. This determines how it will appear in the Google Site Map.
- Feature Names are now localizable
- A simple log viewer has been implemented in the Admin section to allow viewing the error log without having to download via ftp.
- Improved the Child Page Menu so it now renders more like the Site Map page, showing all pages below the current page
- Fixed a bug that was happening when creating new pages using SQLite
I would like to release these improvements soon so any help in testing would be great.