refinerycms 0.9.8 → 0.9.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. data/Gemfile +6 -6
  2. data/app/controllers/application_controller.rb +2 -1
  3. data/bin/refinerycms +36 -32
  4. data/changelog.md +471 -0
  5. data/config/environments/production.rb +1 -1
  6. data/db/migrate/20100606135207_change_thumbnail_sizes_for_dragonfly.rb +4 -4
  7. data/db/migrate/20100826232810_move_inquiry_settings_to_refinery_settings.rb +2 -2
  8. data/db/migrate/20100831122919_move_page_to_nested_set.rb +28 -0
  9. data/db/schema.rb +7 -1
  10. data/db/seeds/refinery_settings.rb +2 -4
  11. data/license.md +21 -0
  12. data/readme.md +97 -0
  13. data/todo.md +61 -0
  14. data/vendor/refinerycms/authentication/app/views/admin/users/index.html.erb +5 -13
  15. data/vendor/refinerycms/authentication/app/views/layouts/login.html.erb +1 -1
  16. data/vendor/refinerycms/authentication/config/locales/de.yml +53 -56
  17. data/vendor/refinerycms/authentication/config/locales/en.yml +1 -2
  18. data/vendor/refinerycms/authentication/config/locales/lv.yml +38 -38
  19. data/vendor/refinerycms/authentication/config/locales/pt-BR.yml +21 -48
  20. data/vendor/refinerycms/authentication/features/lost_password.feature +40 -0
  21. data/vendor/refinerycms/authentication/features/manage_users.feature +57 -0
  22. data/vendor/refinerycms/authentication/features/step_definitions/lost_password.rb +8 -0
  23. data/vendor/refinerycms/authentication/features/step_definitions/user_steps.rb +32 -0
  24. data/vendor/refinerycms/authentication/features/support/factories.rb +17 -0
  25. data/vendor/refinerycms/authentication/features/support/paths.rb +24 -0
  26. data/vendor/refinerycms/authentication/lib/authenticated_system.rb +1 -1
  27. data/vendor/refinerycms/authentication/lib/authentication.rb +1 -1
  28. data/vendor/refinerycms/core/app/views/admin/_head.html.erb +4 -4
  29. data/vendor/refinerycms/core/app/views/admin/_menu_tab.html.erb +2 -2
  30. data/vendor/refinerycms/core/app/views/layouts/admin.html.erb +1 -1
  31. data/vendor/refinerycms/core/app/views/layouts/admin_dialog.html.erb +1 -1
  32. data/vendor/refinerycms/core/app/views/shared/_footer.html.erb +1 -1
  33. data/vendor/refinerycms/core/app/views/shared/_google_analytics.html.erb +1 -1
  34. data/vendor/refinerycms/core/app/views/shared/_header.html.erb +1 -1
  35. data/vendor/refinerycms/core/app/views/shared/_menu.html.erb +5 -2
  36. data/vendor/refinerycms/core/app/views/shared/_menu_branch.html.erb +6 -3
  37. data/vendor/refinerycms/core/app/views/shared/_site_bar.html.erb +11 -15
  38. data/vendor/refinerycms/core/app/views/shared/admin/_form_actions.html.erb +1 -0
  39. data/vendor/refinerycms/core/app/views/shared/admin/_image_picker.html.erb +3 -3
  40. data/vendor/refinerycms/core/app/views/shared/admin/_make_sortable.html.erb +2 -1
  41. data/vendor/refinerycms/core/app/views/shared/admin/_resource_picker.html.erb +24 -17
  42. data/vendor/refinerycms/core/app/views/wymiframe.html.erb +1 -1
  43. data/vendor/refinerycms/core/config/locales/de.yml +50 -51
  44. data/vendor/refinerycms/core/config/locales/en.yml +5 -2
  45. data/vendor/refinerycms/core/config/locales/lv.yml +6 -3
  46. data/vendor/refinerycms/core/config/locales/pt-BR.yml +34 -38
  47. data/vendor/refinerycms/core/crud.md +12 -12
  48. data/vendor/refinerycms/core/features/engine_generator.feature +27 -0
  49. data/vendor/refinerycms/core/features/search.feature +56 -0
  50. data/vendor/refinerycms/core/features/site_bar.feature +24 -0
  51. data/vendor/refinerycms/core/features/step_definitions/core_steps.rb +61 -0
  52. data/vendor/refinerycms/core/features/step_definitions/engine_generator_steps.rb +19 -0
  53. data/vendor/refinerycms/core/features/step_definitions/generator_steps.rb +11 -0
  54. data/vendor/refinerycms/core/features/support/paths.rb +14 -0
  55. data/vendor/refinerycms/core/features/uploads/beach.jpeg +0 -0
  56. data/vendor/refinerycms/core/features/uploads/refinery_is_awesome.txt +1 -0
  57. data/vendor/refinerycms/core/lib/core.rb +52 -53
  58. data/vendor/refinerycms/core/lib/generators/refinery_engine/refinery_engine_generator.rb +14 -3
  59. data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/controllers/admin/plural_name_controller.rb +3 -1
  60. data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/models/singular_name.rb +4 -3
  61. data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/views/admin/plural_name/_form.html.erb +2 -1
  62. data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/views/admin/plural_name/_singular_name.html.erb +6 -2
  63. data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/views/plural_name/index.html.erb +3 -1
  64. data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/views/plural_name/show.html.erb +7 -3
  65. data/vendor/refinerycms/core/lib/refinery/application_controller.rb +85 -75
  66. data/vendor/refinerycms/core/lib/refinery/application_helper.rb +10 -190
  67. data/vendor/refinerycms/core/lib/refinery/crud.rb +283 -0
  68. data/vendor/refinerycms/core/lib/refinery/{form_helpers.rb → helpers/form_helper.rb} +0 -0
  69. data/vendor/refinerycms/core/lib/refinery/helpers/html_truncation_helper.rb +26 -0
  70. data/vendor/refinerycms/core/lib/refinery/helpers/image_helper.rb +37 -0
  71. data/vendor/refinerycms/core/lib/refinery/helpers/menu_helper.rb +38 -0
  72. data/vendor/refinerycms/core/lib/refinery/helpers/meta_helper.rb +67 -0
  73. data/vendor/refinerycms/core/lib/refinery/helpers/script_helper.rb +36 -0
  74. data/vendor/refinerycms/core/lib/refinery/helpers/site_bar_helper.rb +26 -0
  75. data/vendor/refinerycms/core/lib/refinery/helpers/tag_helper.rb +19 -0
  76. data/vendor/refinerycms/core/lib/refinery/helpers/translation_helper.rb +17 -0
  77. data/vendor/refinerycms/core/lib/refinery/plugin.rb +3 -3
  78. data/vendor/refinerycms/core/lib/tasks/refinery.rake +4 -3
  79. data/vendor/refinerycms/core/public/javascripts/refinery/admin.js +93 -101
  80. data/vendor/refinerycms/core/public/javascripts/refinery/core.js +3 -0
  81. data/vendor/refinerycms/core/public/javascripts/refinery/nestedsortables.js +164 -0
  82. data/vendor/refinerycms/core/public/javascripts/refinery/serializelist.js +66 -0
  83. data/vendor/refinerycms/core/public/stylesheets/refinery/refinery.css +11 -73
  84. data/vendor/refinerycms/dashboard/config/locales/de.yml +6 -6
  85. data/vendor/refinerycms/dashboard/config/locales/pt-BR.yml +3 -5
  86. data/vendor/refinerycms/dashboard/features/dashboard.feature +54 -0
  87. data/vendor/refinerycms/dashboard/features/support/paths.rb +14 -0
  88. data/vendor/refinerycms/images/app/controllers/admin/images_controller.rb +6 -6
  89. data/vendor/refinerycms/images/app/helpers/admin/images_helper.rb +1 -1
  90. data/vendor/refinerycms/images/app/views/admin/images/_existing_image.html.erb +15 -13
  91. data/vendor/refinerycms/images/app/views/admin/images/_grid_view.html.erb +1 -1
  92. data/vendor/refinerycms/images/app/views/admin/images/_list_view_image.html.erb +1 -1
  93. data/vendor/refinerycms/images/config/locales/de.yml +21 -25
  94. data/vendor/refinerycms/images/config/locales/pt-BR.yml +13 -23
  95. data/vendor/refinerycms/images/features/manage_images.feature +48 -0
  96. data/vendor/refinerycms/images/features/step_definitions/image_steps.rb +37 -0
  97. data/vendor/refinerycms/images/features/support/paths.rb +17 -0
  98. data/vendor/refinerycms/images/features/uploads/beach.jpeg +0 -0
  99. data/vendor/refinerycms/images/features/uploads/id-rather-be-here.jpg +0 -0
  100. data/vendor/refinerycms/images/features/uploads/refinery_is_awesome.txt +1 -0
  101. data/vendor/refinerycms/images/lib/images.rb +6 -0
  102. data/vendor/refinerycms/images/readme.md +12 -36
  103. data/vendor/refinerycms/pages/app/controllers/admin/pages_controller.rb +4 -42
  104. data/vendor/refinerycms/pages/app/controllers/pages_controller.rb +1 -1
  105. data/vendor/refinerycms/pages/app/models/page.rb +3 -4
  106. data/vendor/refinerycms/pages/app/sweepers/page_sweeper.rb +18 -0
  107. data/vendor/refinerycms/pages/app/views/admin/pages/_form_advanced_options.html.erb +1 -1
  108. data/vendor/refinerycms/pages/app/views/admin/pages/_page.html.erb +6 -5
  109. data/vendor/refinerycms/pages/config/locales/de.yml +66 -36
  110. data/vendor/refinerycms/pages/config/locales/pt-BR.yml +29 -57
  111. data/vendor/refinerycms/pages/features/manage_pages.feature +45 -0
  112. data/vendor/refinerycms/pages/features/step_definitions/page_steps.rb +29 -0
  113. data/vendor/refinerycms/pages/features/support/paths.rb +18 -0
  114. data/vendor/refinerycms/pages/lib/pages.rb +5 -0
  115. data/vendor/refinerycms/pages/spec/models/page_spec.rb +13 -0
  116. data/vendor/refinerycms/refinery.rb +1 -1
  117. data/vendor/refinerycms/resources/app/views/admin/resources/_existing_resource.html.erb +2 -2
  118. data/vendor/refinerycms/resources/config/locales/de.yml +16 -17
  119. data/vendor/refinerycms/resources/config/locales/pt-BR.yml +15 -17
  120. data/vendor/refinerycms/resources/features/manage_files.feature +39 -0
  121. data/vendor/refinerycms/resources/features/step_definitions/file_steps.rb +21 -0
  122. data/vendor/refinerycms/resources/features/support/paths.rb +17 -0
  123. data/vendor/refinerycms/resources/features/uploads/beach.jpeg +0 -0
  124. data/vendor/refinerycms/resources/features/uploads/refinery_is_awesome.txt +1 -0
  125. data/vendor/refinerycms/resources/lib/resources.rb +17 -1
  126. data/vendor/refinerycms/settings/app/models/refinery_setting.rb +82 -64
  127. data/vendor/refinerycms/settings/config/locales/de.yml +36 -16
  128. data/vendor/refinerycms/settings/config/locales/pt-BR.yml +32 -34
  129. data/vendor/refinerycms/settings/features/manage_refinery_settings.feature +5 -0
  130. data/vendor/refinerycms/settings/lib/settings.rb +1 -1
  131. metadata +86 -53
  132. data/vendor/refinerycms/core/lib/crud.rb +0 -265
  133. data/vendor/refinerycms/core/lib/refinery/html_truncation_helper.rb +0 -22
  134. data/vendor/refinerycms/core/public/javascripts/jquery/jquery.nestedsortables.js +0 -186
data/Gemfile CHANGED
@@ -36,13 +36,13 @@ gem 'sqlite3-ruby', :require => 'sqlite3'
36
36
  gem 'refinerycms', :path => '.'
37
37
 
38
38
  # Specify additional Refinery CMS Engines here (all optional):
39
- gem 'refinerycms-inquiries', '~> 0.9.8.4', :require => 'inquiries'
40
- # gem 'refinerycms-news', '~> 0.9.8', :require => 'news'
41
- # gem 'refinerycms-portfolio', '~> 0.9.7', :require => 'portfolio'
42
- # gem 'refinerycms-theming', '~> 0.9.8', :require => 'theming'
39
+ gem 'refinerycms-inquiries', '~> 0.9.8.7'
40
+ # gem 'refinerycms-news', '~> 0.9.9'
41
+ # gem 'refinerycms-portfolio', '~> 0.9.8'
42
+ # gem 'refinerycms-theming', '~> 0.9.8'
43
43
 
44
44
  # Add i18n support (optional, you can remove this if you really want to).
45
- gem 'refinerycms-i18n', '~> 0.9.8.3', :require => 'refinery/i18n'
45
+ gem 'refinerycms-i18n', '~> 0.9.8.6', :require => 'refinery/i18n'
46
46
 
47
47
  # Specify a version of RMagick that works in your environment:
48
48
  gem 'rmagick', '~> 2.12.0', :require => false
@@ -63,7 +63,7 @@ group :test do
63
63
  gem 'database_cleaner'
64
64
  gem 'cucumber-rails'
65
65
  gem 'cucumber'
66
- gem 'spork' unless RUBY_PLATFORM =~ /mswin|mingw/
66
+ gem 'spork' unless Bundler::WINDOWS
67
67
  gem 'launchy'
68
68
  gem 'gherkin'
69
69
  # TODO: Change back to gem when patch is merged in
@@ -3,6 +3,7 @@
3
3
 
4
4
  # You can extend refinery with your own functions here and they will likely not get overriden in an update.
5
5
 
6
- class ApplicationController < Refinery::ApplicationController
6
+ class ApplicationController < ActionController::Base
7
+ include Refinery::ApplicationController
7
8
 
8
9
  end
@@ -14,8 +14,7 @@ end
14
14
  require 'pathname'
15
15
  require 'fileutils'
16
16
  require 'optparse'
17
-
18
- require 'child_labor' if RUBY_PLATFORM !~ /mswin3?2?/
17
+ require 'rbconfig'
19
18
 
20
19
  # Load refinerycms
21
20
  require Pathname.new(File.expand_path(File.dirname(__FILE__) << "/..")).join('vendor', 'refinerycms', 'refinery.rb')
@@ -29,7 +28,8 @@ module Refinery
29
28
  @options = {
30
29
  :database => 'sqlite3',
31
30
  :force => false,
32
- :heroku => false
31
+ :heroku => false,
32
+ :gems => []
33
33
  }
34
34
 
35
35
  @optparse = OptionParser.new do |opts|
@@ -45,6 +45,10 @@ module Refinery
45
45
  @options[:database] = db
46
46
  end
47
47
 
48
+ opts.on("-g", "--gems gem1,gem2,gem3", Array, "Additional gems to install") do |gems|
49
+ @options[:gems] = gems.reject {|g| g.to_s =~ /^(refinerycms|rmagick)$/}.map {|g| "gem '#{g.to_s}'"}
50
+ end
51
+
48
52
  opts.on("-f", "--force", "Force overwriting of directory") do
49
53
  @options[:force] = true
50
54
  end
@@ -115,12 +119,12 @@ module Refinery
115
119
 
116
120
  def generate!
117
121
  # Generate a rails application
118
- # TODO: Check output to see whether or not it worked
119
- rails_command = "rails new #{@app_path}"
122
+ rails_command = "rails new '#{@app_path}'"
120
123
  rails_command << " --database #{@options[:database]}"
121
124
  rails_command << " --force" if @options[:force]
122
125
  rails_command << " --skip-test-unit --skip-prototype"
123
126
  run_command(rails_command, {:cd => false})
127
+ abort "Generating Rails application failed. Exiting..." unless $?.success?
124
128
  end
125
129
 
126
130
  def refine!
@@ -128,22 +132,33 @@ module Refinery
128
132
  %w(app db).each do |folder|
129
133
  FileUtils::cp_r Refinery.root.join(folder), @app_path, :verbose => false
130
134
  end
131
- %w(.gitignore config/routes.rb config/settings.rb config/environments/production.rb config/initializers/acts_as_indexed_config.rb
132
- config/initializers/field_with_error_fix.rb config/initializers/fix_rack.rb).each do |file|
135
+
136
+ # Copy in important files to the Rails app.
137
+ %w(.gitignore readme.md license.md config/routes.rb config/settings.rb config/environments/production.rb
138
+ config/initializers/acts_as_indexed_config.rb config/initializers/field_with_error_fix.rb
139
+ config/initializers/fix_rack.rb).each do |file|
133
140
  FileUtils::cp_r Refinery.root.join(file), @app_path.join(file), :verbose => false if Refinery.root.join(file).exist?
134
141
  end
135
142
 
136
- # Remove default application layout and public/index.html
137
- %w(app/views/layouts/application.html.erb public/index.html).each do |remove|
143
+ # Copy stylesheets so they're ready to use.
144
+ %w(application.css formatting.css home.css).map{|stylesheet|
145
+ Refinery.root.join('vendor', 'refinerycms', 'core', 'public', 'stylesheets', stylesheet)
146
+ }.each do |stylesheet|
147
+ FileUtils::cp stylesheet.to_s,
148
+ @app_path.join('public', 'sylesheets').to_s,
149
+ :verbose => false if stylesheet.file?
150
+ end
151
+
152
+ # Remove default application layout, README, and public/index.html
153
+ %w(README app/views/layouts/application.html.erb public/index.html).each do |remove|
138
154
  FileUtils::rm @app_path.join(remove) if @app_path.join(remove).exist?
139
155
  end
140
156
 
141
157
  # Add refinery gems to the Gemfile
142
- # TODO: Allow adding extra gems in the generator
143
158
  gemfile_contents = File.read(Refinery.root.join('Gemfile'))
144
159
  refinery_gems = gemfile_contents.match(/# REFINERY CMS =+.*# END REFINERY CMS =+/m)[0]
145
160
  File.open(@app_path.join('Gemfile'), "a") do |f|
146
- f.write "\n" + refinery_gems
161
+ f.write "\n" + refinery_gems + "\n\n# USER DEFINED\n" + @options[:gems].join("\n") + "\n# END USER DEFINED"
147
162
  end
148
163
 
149
164
  # Change from development to production
@@ -220,32 +235,21 @@ module Refinery
220
235
 
221
236
  def run_command(command, options = {})
222
237
  options = {:cd => true, :puts => true}.merge(options)
223
- to_run = ((forkable = RUBY_PLATFORM !~ /mswin3?2?/) ? "" : "cmd /c ")
224
- to_run << "cd #{@app_path} && " if options[:cd]
238
+ to_run = %w()
239
+ to_run << "cmd /c" if RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw)!
240
+ to_run << "cd #{@app_path} &&" if options[:cd]
225
241
  to_run << command
242
+ to_run = to_run.join(' ')
226
243
 
227
- if forkable
228
- if options[:puts]
229
- puts "Running: #{to_run}"
230
- ::ChildLabor.subprocess(to_run) do |t|
231
- while (line = t.gets)
232
- puts line
233
- end
244
+ if options[:puts]
245
+ puts "Running: #{to_run}"
246
+ IO.popen(to_run) do |t|
247
+ while (line = t.gets)
248
+ puts line
234
249
  end
235
- else
236
- ::ChildLabor.subprocess(to_run)
237
250
  end
238
251
  else
239
- if options[:puts]
240
- puts "Running: #{to_run}"
241
- IO.popen(to_run) do |t|
242
- while (line = t.gets)
243
- puts line
244
- end
245
- end
246
- else
247
- `#{to_run}`
248
- end
252
+ `#{to_run}`
249
253
  end
250
254
  end
251
255
 
@@ -0,0 +1,471 @@
1
+ ## 0.9.8 [30 August 2010]
2
+
3
+ * Rails 3 support.
4
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.13...0.9.8)
5
+ * [See our blog post](http://refinerycms.com/blog/refinery-cms-supports-rails-3)
6
+
7
+ ## 0.9.7.13 [23 August 2010]
8
+
9
+ * Russian language support (RU). [Sun](http://github.com/sunchess)
10
+ * We <3 HTML5 (better supported HTML5 semantics) [Joe Sak](http://github.com/joemsak) and [Philip Arndt](http://github.com/parndt)
11
+ * Fixed issue with Refinery's 404 page. [Philip Arndt](http://github.com/parndt)
12
+ * Fixed recent inquiries display on dashboard when HTML present. [Steven Heidel](http://github.com/stevenheidel)
13
+ * Better dutch (NL) translations. [Michael van Rooijen](http://github.com/meskyanichi)
14
+ * Fixed for IE and added fixes to WYMeditor from the core project. [Philip Arndt](http://github.com/parndt)
15
+ * Added pagination for search results to the plugin generator. [Amanda Wagener](http://github.com/awagener)
16
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.12...0.9.7.13)
17
+
18
+ ## 0.9.7.12 [11 August 2010]
19
+
20
+ * Smoothed the sortable list in the admin UI. [Joe Sak](http://github.com/joemsak)
21
+ * Binding link dialogue URL checker to paste action. [Joe Sak](http://github.com/joemsak)
22
+ * Kill hidden overflow on dialogues for smaller browser windows. [Joe Sak](http://github.com/joemsak) and [Philip Arndt](http://github.com/parndt)
23
+ * Refactored the ``parse_branch`` method to speed up reordering on the server. [Joshua Davey](http://github.com/jgdavey)
24
+ * Running ``refinerycms`` with ``-v`` or ``--version`` will now output the version number. [Steven Heidel](http://github.com/stevenheidel)
25
+ * Made the core codebase not rely so heavily on ``@page[:body]`` by adding ``Page.default_parts`` and using ``.first`` on that instead. [Philip Arndt](http://github.com/parndt)
26
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.11...0.9.7.12)
27
+
28
+ ## 0.9.7.11 [07 August 2010]
29
+
30
+ * Removed ``app/controllers/application.rb`` due to its serious deprecation. Fixed deprecations in how we use acts_as_indexed. [Philip Arndt](http://github.com/parndt)
31
+ * Added passing cucumber features for search for: [Uģis Ozols](http://github.com/ugisozols)
32
+ - Images
33
+ - Files
34
+ - Inquiries
35
+ - Pages
36
+ * Moved HTML5 enabling script to a partial so that IE always runs it first. [Philip Arndt](http://github.com/parndt)
37
+ * Fixed some invalid HTML. [Bo Frederiksen](http://github.com/bofrede)
38
+ * Added Danish translation for WYMeditor. [Bo Frederiksen](http://github.com/bofrede)
39
+ * Fixes for Tooltips [Philip Arndt](http://github.com/parndt)
40
+ - Tooltips were not showing in dialogues, they now are.
41
+ - Tooltips would not position properly above links, they now do.
42
+ - The Tooltips' nibs (the arrow) would not sit properly centered above the element if the tooltip had to move for the browser window size, they now do.
43
+ * Lots of fixes for translations. [Uģis Ozols](http://github.com/ugisozols)
44
+ * Fix XSS vulnerability on page meta information by escaping the relevant fields properly [David Jones](http://github.com/djones)
45
+ * Ensure that the generator script grabs the first attribute that is a string, not just the first attribute, when choosing the field for Dashboard activity. [Joe Sak](http://github.com/joemsak)
46
+ * Updated ``json-pure`` to ``1.4.5``, now using the actual gem [Philip Arndt](http://github.com/parndt)
47
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.10...0.9.7.11)
48
+
49
+
50
+ ## 0.9.7.10 [02 August 2010]
51
+
52
+ * Added options to site_bar partial to allow particular components to be disabled (CSS, JS, jQuery or cornering script) so that they don't interfere with these already being included in the theme. [Philip Arndt](http://github.com/parndt)
53
+ * Fixed the schema file as it was invalid somehow. [Steven Heidel](http://github.com/stevenheidel)
54
+ * Made search more consistent and added it to Spam/Ham. [Uģis Ozols](http://github.com/ugisozols)
55
+ * Fixed a bug with adding new resources. [Steven Heidel](http://github.com/stevenheidel)
56
+ * Fixed a range of issues with translation keys and grammar between different languages. [Uģis Ozols](http://github.com/ugisozols)
57
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.9...0.9.7.10)
58
+
59
+ ## 0.9.7.9 [30 July 2010]
60
+
61
+ * Added a theme generator to create the basic file structure of a new theme. [David Jones](http://github.com/djones) and [Levi Cole](http://github.com/levicole)
62
+ * Renamed ``script/generate refinery`` to ``script/generate refinery_plugin``. [David Jones](http://github.com/djones)
63
+ * Add deprecation notice to ``script/generate refinery``. [David Jones](http://github.com/djones)
64
+ * Updated documentation to reflect new generator changes. [David Jones](http://github.com/djones)
65
+ * Added tests for both plugin and theme generators. [David Jones](http://github.com/djones) and [Levi Cole](http://github.com/levicole)
66
+ * Refactored the ``refinerycms`` & ``refinery-upgrade-097-to-097`` tasks to make better use of Pathname. [Philip Arndt](http://github.com/parndt)
67
+ * Added more cucumber features and tagged existing ones. [Philip Arndt](http://github.com/parndt), [James Fiderlick](http://github.com/jamesfid) and [Steven Heidel](http://github.com/stevenheidel)
68
+ * Removed mysterious ``page_translations`` table if you had it. [Philip Arndt](http://github.com/parndt)
69
+ * Added workaround for tests that involve dialogues. [Uģis Ozols](http://github.com/ugisozols)
70
+ * Added as default the ability for forms to know whether they are inside a modal / dialog. [Philip Arndt](http://github.com/parndt)
71
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.8...0.9.7.9)
72
+
73
+ ## 0.9.7.8 [23 July 2010]
74
+
75
+ * Refactored Amazon S3 and gem installation to make it easier to install on Heroku. [Steven Heidel](http://github.com/stevenheidel)
76
+ * Made project more testable. Renamed rake refinery:test_all to rake test:refinery [Philip Arndt](http://github.com/parndt)
77
+ * Documentation improved [David Jones](http://github.com/djones), [Philip Arndt](http://github.com/parndt) and [Steven Heidel](http://github.com/stevenheidel)
78
+ * Installed spork for use with systems that support forking for performance improvements. Doesn't run on Windows. [Philip Arndt](http://github.com/parndt) and [James Fiderlick](http://github.com/jamesfid)
79
+ * Improvements and new translations for Norsk Bokmål localisation. [Ken Paulsen](http://github.com/ken-guru)
80
+ * Ensured that RefinerySetting restrictions work properly using a before_save handler. [Joe Sak](http://github.com/joemsak)
81
+ * Updated jquery-html5-placeholder-shim to latest version. [Amanda Wagener](http://github.com/awagener)
82
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.7...0.9.7.8)
83
+
84
+ ## 0.9.7.7 [20 July 2010]
85
+
86
+ * Fixed an issue in the plugin generator that saw locales being created with singular_name not the interpreted version. [Philip Arndt](http://github.com/parndt) and [Joe Sak](http://github.com/joemsak)
87
+ * Fixed an issue with non-MySQL databases. [Lee Irving](http://github.com/magpieuk)
88
+ * Refactored versioning and .gitignore file so that both are easier to follow and use. [Steven Heidel](http://github.com/stevenheidel)
89
+ * Added rake refinery:test_all command to run all tests Refinery has. [Steven Heidel](http://github.com/stevenheidel)
90
+ * Fixed deprecation warnings with translate rake tasks. [Steven Heidel](http://github.com/stevenheidel)
91
+ * Bugfixes, some IE compatibility. [Philip Arndt](http://github.com/parndt)
92
+ * Fix syntax errors in existing resource dialog. [David Jones](http://github.com/djones)
93
+ * Identified and fixed a positioning bug in dialogues [Joe Sak](http://github.com/joemsak) and [Philip Arndt](http://github.com/parndt)
94
+ * Fixed issue that was causing Refinery to load in rake tasks twice if they lived under ``"#{Rails.root}/vendor/plugins"``. [David Jones](http://github.com/djones) and [Philip Arndt](http://github.com/parndt)
95
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.6...0.9.7.7)
96
+
97
+ ## 0.9.7.6 [15 July 2010]
98
+
99
+ * Bugfixes, fixed some failing tests. [Philip Arndt](http://github.com/parndt)
100
+ * More pt-BR translation keys translated. [Kivanio Barbosa](http://github.com/kivanio)
101
+ * Locked gems using ``Gemfile.lock``. [David Jones](http://github.com/djones)
102
+ * Changed 'refinery' task to 'refinerycms' as that is our gem's name. [Steven Heidel](http://github.com/stevenheidel)
103
+ * Fixed bug where settings were still considered restricted if NULL. [Steven Heidel](http://github.com/stevenheidel)
104
+ * Ensures that bundler is available before creating an application from a gem. [Philip Arndt](http://github.com/parndt)
105
+ * Application generator (from gem) and application upgrade bin task. (from 0.9.6) is now Ruby 1.9.2 compatible. [Philip Arndt](http://github.com/parndt)
106
+ * bin/refinery-upgrade-from-096-to-097 will no longer allow you to run it if Gemfile is present and thus signifying an upgraded app. [Philip Arndt](http://github.com/parndt)
107
+ * Cleaned up syntax, changed CSS involving dialogues. [Philip Arndt](http://github.com/parndt)
108
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.5...0.9.7.6)
109
+
110
+ ## 0.9.7.5 [08 July 2010]
111
+
112
+ * Wrote an upgrade task for migrating from 0.9.6.x releases of RefineryCMS. Just run refinery-update-096-to-097 inside your application's directory. [Philip Arndt](http://github.com/parndt)
113
+ * Improved code used to include gem rake tasks and script/generate tasks into the Refinery application to fix issue with these tasks not being found. [Philip Arndt](http://github.com/parndt)
114
+ * Fixed a broken migration that would mean pages were missing upon upgrading. [Jesper Hvirring Henriksen](http://github.com/hvirring)
115
+ * More pt-BR translation keys translated. [Kivanio Barbosa](http://github.com/kivanio)
116
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.4...0.9.7.5)
117
+
118
+ ## 0.9.7.4 [07 July 2010]
119
+
120
+ * Fixed critical issue in the i18n routing pattern that was matching prefixes like /news/ as a locale incorrectly. [Philip Arndt](http://github.com/parndt)
121
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.3...0.9.7.4)
122
+
123
+ ## 0.9.7.3 [07 July 2010]
124
+
125
+ * Falls back to default locale when a translation key can not be located in the current locale, only in production mode. [Philip Arndt](http://github.com/parndt)
126
+ * Fixed issue creating a Refinery site using bin/refinery where directory paths contained spaces. [Philip Arndt](http://github.com/parndt)
127
+ * Fixed issue when using script/generate refinery surrounding the migration incorrectly using the plugin's title. [Philip Arndt](http://github.com/parndt)
128
+ * Added verbose=true option when running rake refinery:update that prints out everything it's doing. [Philip Arndt](http://github.com/parndt)
129
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.2...0.9.7.3)
130
+
131
+ ## 0.9.7.2 [06 July 2010]
132
+
133
+ * Bugfixes with users and roles. [Philip Arndt](http://github.com/parndt) and [Amanda Wagener](http://github.com/awagener)
134
+ * Fixed the rake translate:lost_in_translation LOCALE=en and rake translate:lost_in_translation_all tasks so that they accurately reflect the missing i18n translation keys. [Philip Arndt](http://github.com/parndt)
135
+ * Refactored routing of i18n to allow different default frontend and backend locales. [Philip Arndt](http://github.com/parndt)
136
+ * Added better grammar support for some i18n. [Halan Pinheiro](http://github.com/halan)
137
+ * Improved output of rake refinery:update task and removed bin/refinery-update-core task. [Steven Heidel](http://github.com/stevenheidel)
138
+ * Set config.ru to run in production RAILS_ENV by default. [Philip Arndt](http://github.com/parndt)
139
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.1...0.9.7.2)
140
+
141
+ ## 0.9.7.1 [03 July 2010]
142
+
143
+ * Bugfixes in the gem installation method process. [Philip Arndt](http://github.com/parndt)
144
+ * Made installing from gem faster. [Philip Arndt](http://github.com/parndt)
145
+ * Provided example files for sqlite3, mysql and postgresql. [Philip Arndt](http://github.com/parndt)
146
+ * Created option for specifying a database adapter (sqlite3, mysql or postgresql) when creating from Gem. [Philip Arndt](http://github.com/parndt)
147
+ * Other bugfixes including UI consistency around signup. [Philip Arndt](http://github.com/parndt)
148
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.7...0.9.7.1)
149
+
150
+ ## 0.9.7 [02 July 2010]
151
+
152
+ * Full backend internationalisation (i18n) support and frontend i18n routing. [Maarten Hoogendoorn](http://github.com/moretea) and [Philip Arndt](http://github.com/parndt) and many others
153
+ * Marketable URLs, such as "/contact". [Joshua Davey](http://github.com/jgdavey) and [Joe Sak](http://github.com/joemsak).
154
+ * Switched to bundler and rack. [Alex Coles](http://github.com/myabc) and [Philip Arndt](http://github.com/parndt)
155
+ * Added options to Refinery Settings :restricted, :scoping, :callback_proc_as_string. [Steven Heidel](http://github.com/stevenheidel) and [Philip Arndt](http://github.com/parndt)
156
+ * Added caching abilities to frontend and to RefinerySetting to drastically speed up the application under certain conditions. [Philip Arndt](http://github.com/parndt)
157
+ * Added spam filtering to contact form. [David Jones](http://github.com/djones)
158
+ * Full Refinery UI redesign. [Resolve Digital](http://github.com/resolve)
159
+ * User Role support. [Amanda Wagener](http://github.com/awagener) and [Philip Arndt](http://github.com/parndt)
160
+ * [See full list](http://github.com/resolve/refinerycms/compare/0.9.6.34...0.9.7)
161
+ * [See blog post](http://refinerycms.com/blog/refinery-cms-0-9-7-released)
162
+
163
+ ## 0.9.6.34 [09 May 2010]
164
+
165
+ * Bugfixes.
166
+
167
+ ## 0.9.6.33 [06 May 2010]
168
+
169
+ * Bugfixes.
170
+
171
+ ## 0.9.6.32 [05 May 2010]
172
+
173
+ * Bugfixes.
174
+
175
+ ## 0.9.6.31 [19 April 2010]
176
+
177
+ * Bugfixes.
178
+
179
+ ## 0.9.6.30 [15 April 2010]
180
+
181
+ * Bugfixes.
182
+
183
+ ## 0.9.6.29 [14 April 2010]
184
+
185
+ * Bugfixes.
186
+
187
+ ## 0.9.6.28 [12 April 2010]
188
+
189
+ * Bugfixes.
190
+
191
+ ## 0.9.6.27 [12 April 2010]
192
+
193
+ * Bugfixes.
194
+
195
+ ## 0.9.6.26 [07 April 2010]
196
+
197
+ * Bugfixes.
198
+
199
+ ## 0.9.6.25 [01 April 2010]
200
+
201
+ * Bugfixes.
202
+
203
+ ## 0.9.6.24 [26 March 2010]
204
+
205
+ * Bugfixes.
206
+
207
+ ## 0.9.6.23 [26 March 2010]
208
+
209
+ * Bugfixes.
210
+
211
+ ## 0.9.6.22 [26 March 2010]
212
+
213
+ * Bugfixes.
214
+
215
+ ## 0.9.6.21 [23 March 2010]
216
+
217
+ * Bugfixes.
218
+
219
+ ## 0.9.6.19 [03 March 2010]
220
+
221
+ * Bugfixes.
222
+
223
+ ## 0.9.6.18 [02 March 2010]
224
+
225
+ * Bugfixes.
226
+
227
+ ## 0.9.6.17 [02 March 2010]
228
+
229
+ * Bugfixes.
230
+
231
+ ## 0.9.6.16 [02 March 2010]
232
+
233
+ * Bugfixes.
234
+
235
+ ## 0.9.6.15 [01 March 2010]
236
+
237
+ * Bugfixes.
238
+
239
+ ## 0.9.6.14 [24 February 2010]
240
+
241
+ * Bugfixes.
242
+
243
+ ## 0.9.6.13 [23 February 2010]
244
+
245
+ * Bugfixes.
246
+
247
+ ## 0.9.6.12 [16 February 2010]
248
+
249
+ * Bugfixes.
250
+
251
+ ## 0.9.6.11 [16 February 2010]
252
+
253
+ * Bugfixes.
254
+
255
+ ## 0.9.6.10 [15 February 2010]
256
+
257
+ * Bugfixes.
258
+
259
+ ## 0.9.6.9 [15 February 2010]
260
+
261
+ * Bugfixes.
262
+
263
+ ## 0.9.6.8 [14 February 2010]
264
+
265
+ * Bugfixes.
266
+
267
+ ## 0.9.6.7 [10 February 2010]
268
+
269
+ * Bugfixes.
270
+
271
+ ## 0.9.6.6 [10 February 2010]
272
+
273
+ * Bugfixes.
274
+
275
+ ## 0.9.6.5 [08 February 2010]
276
+
277
+ * Bugfixes.
278
+
279
+ ## 0.9.6.4 [07 February 2010]
280
+
281
+ * Bugfixes.
282
+
283
+ ## 0.9.6.3 [07 February 2010]
284
+
285
+ * Bugfixes.
286
+
287
+ ## 0.9.6.2 [04 February 2010]
288
+
289
+ * Bugfixes.
290
+
291
+ ## 0.9.6.1 [04 February 2010]
292
+
293
+ * Bugfixes.
294
+
295
+ ## 0.9.6 [04 February 2010]
296
+
297
+ * Minor release.
298
+
299
+ ## 0.9.5.31 [27 January 2010]
300
+
301
+ * Bugfixes.
302
+
303
+ ## 0.9.5.30 [24 January 2010]
304
+
305
+ * Bugfixes.
306
+
307
+ ## 0.9.5.29 [23 December 2009]
308
+
309
+ * Bugfixes.
310
+
311
+ ## 0.9.5.28 [17 December 2009]
312
+
313
+ * Bugfixes.
314
+
315
+ ## 0.9.5.27 [16 December 2009]
316
+
317
+ * Bugfixes.
318
+
319
+ ## 0.9.5.26 [13 December 2009]
320
+
321
+ * Bugfixes.
322
+
323
+ ## 0.9.5.25 [09 December 2009]
324
+
325
+ * Bugfixes.
326
+
327
+ ## 0.9.5.24 [08 December 2009]
328
+
329
+ * Bugfixes.
330
+
331
+ ## 0.9.5.23 [07 December 2009]
332
+
333
+ * Bugfixes.
334
+
335
+ ## 0.9.5.22 [07 December 2009]
336
+
337
+ * Bugfixes.
338
+
339
+ ## 0.9.5.21 [06 December 2009]
340
+
341
+ * Bugfixes.
342
+
343
+ ## 0.9.5.20 [03 December 2009]
344
+
345
+ * Bugfixes.
346
+
347
+ ## 0.9.5.19 [30 November 2009]
348
+
349
+ * Bugfixes.
350
+
351
+ ## 0.9.5.18 [29 November 2009]
352
+
353
+ * Bugfixes.
354
+
355
+ ## 0.9.5.16 [26 November 2009]
356
+
357
+ * Bugfixes.
358
+
359
+ ## 0.9.5.15 [22 November 2009]
360
+
361
+ * Bugfixes.
362
+
363
+ ## 0.9.5.14 [19 November 2009]
364
+
365
+ * Bugfixes.
366
+
367
+ ## 0.9.5.13 [18 November 2009]
368
+
369
+ * Bugfixes.
370
+
371
+ ## 0.9.5.12 [18 November 2009]
372
+
373
+ * Bugfixes.
374
+
375
+ ## 0.9.5.11 [18 November 2009]
376
+
377
+ * Bugfixes.
378
+
379
+ ## 0.9.5.10 [17 November 2009]
380
+
381
+ * Bugfixes.
382
+
383
+ ## 0.9.5.9 [16 November 2009]
384
+
385
+ * Bugfixes.
386
+
387
+ ## 0.9.5.8 [15 November 2009]
388
+
389
+ * Bugfixes.
390
+
391
+ ## 0.9.5.7 [09 November 2009]
392
+
393
+ * Bugfixes.
394
+
395
+ ## 0.9.5.6 [09 November 2009]
396
+
397
+ * Bugfixes.
398
+
399
+ ## 0.9.5.5 [08 November 2009]
400
+
401
+ * Bugfixes.
402
+
403
+ ## 0.9.5.4 [04 November 2009]
404
+
405
+ * Bugfixes.
406
+
407
+ ## 0.9.5.3 [04 November 2009]
408
+
409
+ * Bugfixes.
410
+
411
+ ## 0.9.5.2 [04 November 2009]
412
+
413
+ * Bugfixes.
414
+
415
+ ## 0.9.5.1 [03 November 2009]
416
+
417
+ * Bugfixes.
418
+
419
+ ## 0.9.5 [03 November 2009]
420
+
421
+ * Minor release.
422
+
423
+ ## 0.9.4.4 [29 October 2009]
424
+
425
+ * Bugfixes.
426
+
427
+ ## 0.9.4.3 [19 October 2009]
428
+
429
+ * Bugfixes.
430
+
431
+ ## 0.9.4.2 [19 October 2009]
432
+
433
+ * Bugfixes.
434
+
435
+ ## 0.9.4 [15 October 2009]
436
+
437
+ * Minor release.
438
+
439
+ ## 0.9.3 [11 October 2009]
440
+
441
+ * Optimise loading of WYM Editors.
442
+ * Supported more plugins' menu matches.
443
+
444
+ ## 0.9.2.2 [08 October 2009]
445
+
446
+ * Bugfixes.
447
+
448
+ ## 0.9.2.1 [08 October 2009]
449
+
450
+ * Fix bug with using instance_methods vs using methods to detect whether friendly_id is present.
451
+
452
+ ## 0.9.2 [08 October 2009]
453
+
454
+ * Update rails gem requirement to 2.3.4.
455
+
456
+ ## 0.9.1.2 [07 October 2009]
457
+
458
+ * Updated JS libraries and added lots of convenience methods.
459
+
460
+ ## 0.9.1.1 [05 October 2009]
461
+
462
+ * HTML & CSS changes.
463
+
464
+ ## 0.9.1 [04 October 2009]
465
+
466
+ * Bugfixes.
467
+ * Renamed project from Refinery to refinerycms and released as a gem.
468
+
469
+ ## 0.9 [29 May 2009]
470
+
471
+ * Initial public release.