In order to build this new functionality, we'll start from two main approachs:
1. Portal will use portal.properties to activate or not the simple setup. So developers can start the portal just overridding property in portal-ext.
2. Portal will store in his database that user successfully completed an initial setup.
Then, Portal start-up proccess will decide with those conditions if it's necessary to use the simple setup:
a. If the setup wizard has never been completed and it is enabled in portal*.properties, then show the setup.
b. If the setup wizard has never been completed and it is not enabled in portal*.properties, Liferay will start with the default data (just like in previous versions), that is with a basic configuration driven by portal*.properties.
c. IF the setup wizard had been completed previously, Liferay will always start with the existing configuration as set in the portal*.properties files
The setup wizard, users will be able to fill an small number of fields to Liferay running:
1) Preferred Language (will be used for the setup wizard and will be set as the default for Liferay as well)
2) Database configuration:
a. Default: simple setup will use HSQL plus default data.
b. Custom: DB driver, DB username, DB password
3) Default administrator: username, password, e-mail address
4) Default portal Fields: default site name
Depending on the application server, the configuration entered by the user will be written directly to a properties file on disk or it will be provided to the user so that he stores it in the appropriate place within the app server. After the setup wizard finishes it might be necessary to ask the user to restart the server.