THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Change #2: Change implementations of the Roller interface
When creating persistence strategy:
- If JDBC connection properties present, use them
- Save errors in Servlet context attributes so we can show them later
- Else use JNDI data-source
- Save errors in Servlet context attributes so we can show them later
Change #3: Change mail sending code
When creating mail-session
- If mail-host property is present, use it
- Else use JNDI mail-session
Change #4: Change RollerContext initialization
- Don't throw RuntimeException on DB connection error
- Instead, allow context to load so we can show error/upgrade pages to user
- Only run upgradeDatabaseIfNeeded if installation.auto option is false
Change #5: Add DatabaseStatusFilter that checks database configuration
- If DB connection fails
- If installation.auto, show error page to explain what went wrong and how to fix it
- Else, show simple error/maintenance page
- If DB does not have tables
- If installation.auto, show table creation page/action
- Else, show simple error/maintenance page
- If DB is older version
- If installation.auto, show database upgrade page/action
- Else, show simple error/maintenance page
Change #6: Table creation page/action
- Tell user that tables need to be created, offer to create them
- Create tables, show user output from running creation script
- Ask user to redeploy or restart server
Change #7: Table upgrade page/action
- Tell user that tables need to be updated, offer to upgrade them
- Upgrade tables, show user output from running upgrade script
- Ask user to redeploy or restart server
Comments
Please comment on the dev mailing-list.