Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.