notes-0.4.0.txt 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. =======================================================================
  2. iEat Release Notes
  3. @VERSION@ @BUILD_DATE@
  4. =======================================================================
  5. Major new features:
  6. - Background job to automatically remove "stale" user registrations.
  7. - Search by ingredients (kitchen search).
  8. - Recipe ratings: rate any recipe from 1-5 stars, displays average
  9. rating for all users.
  10. - "Forgot my password" support.
  11. - Import/export RecipeML data; export plain text recipes.
  12. - Pagination support on recipe and user index views.
  13. =======================================================================
  14. NOTE: the database schema has changed since the last release. You
  15. will need to recreate your iEat database as described in
  16. the README file. You should be able to export your existing
  17. database data, recreate the database, and import the data
  18. back in without difficulty as only new tables have been
  19. added.
  20. =======================================================================
  21. Changes since last release:
  22. - Added Xalan and Xerces JARs to binary release build.
  23. - Added delete cascade notion to meal recipe DB schema so when
  24. deleting a meal the corresponding meal recipes are deleted, too.
  25. - Fixed problem where some error messages could be displayed twice.
  26. - Added validation for alter size form.
  27. - Simplified webapp configuration by extending parent bean definitions.
  28. - Implemented Quartz job for removing "stale" user registrations
  29. (users registered but not confirmed for 14 days).
  30. - Fixed bug with DynamicInitializerRequestDataBinder that prevented
  31. some forms from properly binding.
  32. - Implemented search-by-ingredient (kitchen search).
  33. - Implemented recipe ratings (DB schema change). Also added support
  34. for recipe comments (to be implemented in the future).
  35. - Save recipe search form in session so previous search criteria
  36. available when navigating between search and other pages.
  37. - Cleaned up much XHTML output so that nearly all pages validate as
  38. XHTML 1.0 strict.
  39. - Implemented global XSTL layout template which greatly simplifies
  40. individual XSLT view implementations and standardizes all page views.
  41. - Properly handle error condition when attempting to create a new
  42. user with a login/email that already exists.
  43. - Fixed database transaction declarations so additional operations
  44. occur within a transaction.
  45. - Implemented "Forgot my password" functionality.
  46. - Tweaked RecipeIngredient schema order of elements so that XML
  47. "reads" more naturally.
  48. - Upgraded to JAXB 1.0.4 (JWSDP 1.5).
  49. - Fixed build script JAXB generation target so as to not delete the
  50. Hibernate mapping files when generating domain objects.
  51. - Added new business interface for import/export of recipe data.
  52. Implemented importing of RecipeML recipes and export of RecipeML
  53. and plain text.
  54. - Implemented a Spring view resolver DefaultXSLTViewResolver which
  55. greatly simplifies the handling of XSLT views and reduces the
  56. size of the views.xml configuration file.
  57. - Removed unused "ordering" attributes from domain object schema.
  58. - Cache the JAXBContext for better performance of view transforms.
  59. - Use <xsl:key> and key() to display internationalized messages in
  60. XSLT views (instead of using explicit selectors) to simplify XSLT
  61. and boost performance.
  62. - Update to Hibernate 2.1.8.
  63. - Altered the Recipe Hibernate mapping slightly to work with string
  64. types instead of text, discovered during testing with PostgreSQL 8.
  65. - Now index Unit data to aid recipe import process of mapping imported
  66. units to iEat units.
  67. - Fixed issues with incremental indexing so they occur outside the
  68. scope of any database transaction and thus no longer attempt to
  69. index objects before they have been committed to the database.
  70. - Implemented new XwebJaxbView to replace XwebView; this implementation
  71. renders output via a direct transform from JAXB to the output
  72. stream, bypassing the former step of creating a DOM Document and
  73. then transforming that to the output stream. This should increase
  74. the performance of the view transforms.
  75. - Made JAXB domain objects implement Serializable so can be cached
  76. and stored in session.
  77. - Implemented 100% Lucene-based search business interface
  78. implementation, removing previous reliance on database queries. Now
  79. recipe and user index views are generated via Lucene searches. This
  80. removes two of the most complex custom SQL queries used by iEat,
  81. helping towards the goal of having a single Hibernate SQL query
  82. definition file instead of multiple ones per database (as currently
  83. need different configurations for PostgreSQL versus MySQL).
  84. - Added caching aspect for the recipe and user index view business
  85. methods; now index view data is cached to help performance of
  86. these expensive operations.
  87. - Added 'xslt.cache' environment property so don't need to have
  88. different versions of ieat-servlet.xml configuration files to
  89. enable/disable XSLT caching.
  90. - Implemented pagination UI support for recipe and user index views.
  91. - Updated view implementation to handle directly the MessagesSource
  92. resource bundle object, removing the need for individual controller
  93. implementations to pass this to the view.