trusty-cms 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +23 -0
  3. data/CHANGELOG.md +754 -0
  4. data/CONTRIBUTORS.md +263 -0
  5. data/Gemfile +40 -0
  6. data/Gemfile.lock +177 -0
  7. data/INSTALL.md +10 -0
  8. data/LICENSE.md +21 -0
  9. data/README.md +85 -0
  10. data/Rakefile +7 -0
  11. data/app/controllers/admin/configuration_controller.rb +50 -0
  12. data/app/controllers/admin/extensions_controller.rb +11 -0
  13. data/app/controllers/admin/layouts_controller.rb +8 -0
  14. data/app/controllers/admin/page_fields_controller.rb +9 -0
  15. data/app/controllers/admin/page_parts_controller.rb +9 -0
  16. data/app/controllers/admin/pages_controller.rb +89 -0
  17. data/app/controllers/admin/preferences_controller.rb +46 -0
  18. data/app/controllers/admin/references_controller.rb +7 -0
  19. data/app/controllers/admin/resource_controller.rb +245 -0
  20. data/app/controllers/admin/users_controller.rb +40 -0
  21. data/app/controllers/admin/welcome_controller.rb +48 -0
  22. data/app/controllers/application_controller.rb +114 -0
  23. data/app/controllers/site_controller.rb +97 -0
  24. data/app/helpers/admin/configuration_helper.rb +80 -0
  25. data/app/helpers/admin/export_helper.rb +2 -0
  26. data/app/helpers/admin/extensions_helper.rb +2 -0
  27. data/app/helpers/admin/layouts_helper.rb +21 -0
  28. data/app/helpers/admin/node_helper.rb +96 -0
  29. data/app/helpers/admin/pages_helper.rb +117 -0
  30. data/app/helpers/admin/preferences_helper.rb +3 -0
  31. data/app/helpers/admin/references_helper.rb +46 -0
  32. data/app/helpers/admin/regions_helper.rb +28 -0
  33. data/app/helpers/admin/resource_helper.rb +2 -0
  34. data/app/helpers/admin/users_helper.rb +8 -0
  35. data/app/helpers/admin/welcome_helper.rb +2 -0
  36. data/app/helpers/application_helper.rb +241 -0
  37. data/app/helpers/site_helper.rb +2 -0
  38. data/app/models/deprecated_tags.rb +42 -0
  39. data/app/models/file_not_found_page.rb +32 -0
  40. data/app/models/layout.rb +15 -0
  41. data/app/models/menu_renderer.rb +140 -0
  42. data/app/models/page.rb +377 -0
  43. data/app/models/page_context.rb +53 -0
  44. data/app/models/page_field.rb +3 -0
  45. data/app/models/page_part.rb +20 -0
  46. data/app/models/standard_tags.rb +1318 -0
  47. data/app/models/status.rb +41 -0
  48. data/app/models/text_filter.rb +36 -0
  49. data/app/models/trusty_cms/config.rb +313 -0
  50. data/app/models/trusty_cms/page_response_cache_director.rb +43 -0
  51. data/app/models/user.rb +96 -0
  52. data/app/models/user_action_observer.rb +25 -0
  53. data/app/views/admin/configuration/edit.html.haml +38 -0
  54. data/app/views/admin/configuration/show.html.haml +58 -0
  55. data/app/views/admin/extensions/index.html.haml +41 -0
  56. data/app/views/admin/layouts/_form.html.haml +39 -0
  57. data/app/views/admin/layouts/edit.html.haml +9 -0
  58. data/app/views/admin/layouts/index.html.haml +35 -0
  59. data/app/views/admin/layouts/new.html.haml +7 -0
  60. data/app/views/admin/layouts/remove.html.haml +16 -0
  61. data/app/views/admin/page_fields/_page_field.html.haml +12 -0
  62. data/app/views/admin/page_parts/_page_part.html.haml +18 -0
  63. data/app/views/admin/pages/_fields.html.haml +71 -0
  64. data/app/views/admin/pages/_meta_row.html.haml +8 -0
  65. data/app/views/admin/pages/_node.html.haml +26 -0
  66. data/app/views/admin/pages/_popups.html.haml +27 -0
  67. data/app/views/admin/pages/children.html.haml +2 -0
  68. data/app/views/admin/pages/edit.html.haml +12 -0
  69. data/app/views/admin/pages/index.html.haml +26 -0
  70. data/app/views/admin/pages/new.html.haml +10 -0
  71. data/app/views/admin/pages/remove.html.haml +18 -0
  72. data/app/views/admin/preferences/edit.html.haml +44 -0
  73. data/app/views/admin/references/_tag_reference.haml +3 -0
  74. data/app/views/admin/references/filters.haml +6 -0
  75. data/app/views/admin/references/tags.haml +30 -0
  76. data/app/views/admin/users/_avatar.html.haml +5 -0
  77. data/app/views/admin/users/_form.html.haml +53 -0
  78. data/app/views/admin/users/_password_fields.html.haml +18 -0
  79. data/app/views/admin/users/edit.html.haml +9 -0
  80. data/app/views/admin/users/index.html.haml +39 -0
  81. data/app/views/admin/users/new.html.haml +6 -0
  82. data/app/views/admin/users/remove.html.haml +16 -0
  83. data/app/views/admin/welcome/login.html.haml +23 -0
  84. data/app/views/layouts/application.html.haml +50 -0
  85. data/app/views/site/not_found.html.haml +3 -0
  86. data/bin/ci/before_script +15 -0
  87. data/bin/trusty_cms +53 -0
  88. data/config/application.rb +124 -0
  89. data/config/boot.rb +9 -0
  90. data/config/compass.config +15 -0
  91. data/config/database.db2.yml +20 -0
  92. data/config/database.mysql.yml +25 -0
  93. data/config/database.postgresql.yml +25 -0
  94. data/config/database.sqlite.yml +16 -0
  95. data/config/database.sqlserver.yml +20 -0
  96. data/config/environment.rb +5 -0
  97. data/config/environments/development.rb +19 -0
  98. data/config/environments/production.rb +27 -0
  99. data/config/environments/test.rb +35 -0
  100. data/config/initializers/active_record_extensions.rb +1 -0
  101. data/config/initializers/configuration_extensions.rb +0 -0
  102. data/config/initializers/haml.rb +2 -0
  103. data/config/initializers/object_extensions.rb +1 -0
  104. data/config/initializers/radiant_config.rb +16 -0
  105. data/config/initializers/rails_patch.rb +2 -0
  106. data/config/initializers/response_cache_timeout.rb +3 -0
  107. data/config/initializers/string_extensions.rb +1 -0
  108. data/config/initializers/symbol_extensions.rb +1 -0
  109. data/config/initializers/tmp.rb +2 -0
  110. data/config/locales/en.yml +230 -0
  111. data/config/locales/en_available_tags.yml +625 -0
  112. data/config/preinitializer.rb +18 -0
  113. data/config/routes.rb +30 -0
  114. data/db/migrate/001_create_radiant_tables.rb +75 -0
  115. data/db/migrate/002_insert_initial_data.rb +12 -0
  116. data/db/migrate/003_rename_behavior_column.rb +9 -0
  117. data/db/migrate/004_rename_filter_column.rb +11 -0
  118. data/db/migrate/005_add_virtual_column_to_page.rb +9 -0
  119. data/db/migrate/006_integer_columns_to_boolean.rb +36 -0
  120. data/db/migrate/007_remove_virtual_column_from_page.rb +9 -0
  121. data/db/migrate/008_add_virtual_column_to_page_again.rb +9 -0
  122. data/db/migrate/009_add_content_type_field_to_layout.rb +9 -0
  123. data/db/migrate/010_merge_behaviors_and_pages.rb +57 -0
  124. data/db/migrate/011_rename_type_column_on_page_to_class_name.rb +9 -0
  125. data/db/migrate/012_create_extension_meta.rb +13 -0
  126. data/db/migrate/013_add_notes_field_to_user.rb +9 -0
  127. data/db/migrate/014_rename_config_default_parts_key.rb +17 -0
  128. data/db/migrate/015_add_optimistic_locking.rb +15 -0
  129. data/db/migrate/016_add_sessions.rb +16 -0
  130. data/db/migrate/017_rename_created_by_updated_by_columns.rb +15 -0
  131. data/db/migrate/018_add_description_and_keywords_to_pages.rb +11 -0
  132. data/db/migrate/019_add_salt_to_users.rb +11 -0
  133. data/db/migrate/020_add_session_info_to_users.rb +11 -0
  134. data/db/migrate/021_remove_session_expire_from_users.rb +9 -0
  135. data/db/migrate/20081203140407_add_indexes.rb +19 -0
  136. data/db/migrate/20090226140109_add_user_language.rb +9 -0
  137. data/db/migrate/20090929164633_rename_developer_role_to_designer.rb +9 -0
  138. data/db/migrate/20091003095744_change_user_language_to_locale.rb +9 -0
  139. data/db/migrate/20100805154952_add_page_fields.rb +15 -0
  140. data/db/migrate/20100805155020_convert_page_metas.rb +24 -0
  141. data/db/migrate/20100810151922_add_field_name_index.rb +11 -0
  142. data/db/migrate/20110902203823_add_allowed_children_cache_to_pages.rb +13 -0
  143. data/db/migrate/20111016150725_extend_page_part_content_limit.rb +15 -0
  144. data/db/migrate/20120209231801_change_pages_allowed_children_cache_to_text.rb +11 -0
  145. data/db/schema.rb +128 -0
  146. data/lib/active_record_extensions/active_record_extensions.rb +27 -0
  147. data/lib/annotatable.rb +68 -0
  148. data/lib/configuration_extensions/configuration_extensions.rb +357 -0
  149. data/lib/generators/extension/USAGE +30 -0
  150. data/lib/generators/extension/extension_generator.rb +97 -0
  151. data/lib/generators/extension/templates/README.md +6 -0
  152. data/lib/generators/extension/templates/RSpecRakefile +109 -0
  153. data/lib/generators/extension/templates/Rakefile +25 -0
  154. data/lib/generators/extension/templates/cucumber.yml +1 -0
  155. data/lib/generators/extension/templates/cucumber_env.rb +11 -0
  156. data/lib/generators/extension/templates/cucumber_paths.rb +22 -0
  157. data/lib/generators/extension/templates/en.yml +3 -0
  158. data/lib/generators/extension/templates/extension.rb +21 -0
  159. data/lib/generators/extension/templates/functional_test.rb +15 -0
  160. data/lib/generators/extension/templates/gemspec.rb +29 -0
  161. data/lib/generators/extension/templates/lib.rb +8 -0
  162. data/lib/generators/extension/templates/migration.rb +9 -0
  163. data/lib/generators/extension/templates/radiant_config.rb +3 -0
  164. data/lib/generators/extension/templates/routes.rb +5 -0
  165. data/lib/generators/extension/templates/spec.opts +6 -0
  166. data/lib/generators/extension/templates/spec_helper.rb +42 -0
  167. data/lib/generators/extension/templates/tasks.rake +47 -0
  168. data/lib/generators/extension/templates/test_helper.rb +26 -0
  169. data/lib/generators/extension_controller/USAGE +36 -0
  170. data/lib/generators/extension_controller/extension_controller_generator.rb +84 -0
  171. data/lib/generators/extension_controller/templates/controller.rb +10 -0
  172. data/lib/generators/extension_controller/templates/controller_spec.rb +23 -0
  173. data/lib/generators/extension_controller/templates/functional_test.rb +11 -0
  174. data/lib/generators/extension_controller/templates/helper.rb +2 -0
  175. data/lib/generators/extension_controller/templates/helper_spec.rb +11 -0
  176. data/lib/generators/extension_controller/templates/helper_test.rb +4 -0
  177. data/lib/generators/extension_controller/templates/view.html.erb +2 -0
  178. data/lib/generators/extension_controller/templates/view_spec.rb +12 -0
  179. data/lib/generators/extension_mailer/USAGE +17 -0
  180. data/lib/generators/extension_mailer/extension_mailer_generator.rb +68 -0
  181. data/lib/generators/extension_mailer/templates/fixture.erb +3 -0
  182. data/lib/generators/extension_mailer/templates/mailer.rb +15 -0
  183. data/lib/generators/extension_mailer/templates/unit_test.rb +21 -0
  184. data/lib/generators/extension_mailer/templates/view.erb +3 -0
  185. data/lib/generators/extension_migration/USAGE +34 -0
  186. data/lib/generators/extension_migration/extension_migration_generator.rb +25 -0
  187. data/lib/generators/extension_migration/templates/migration.rb +11 -0
  188. data/lib/generators/extension_model/USAGE +35 -0
  189. data/lib/generators/extension_model/extension_model_generator.rb +68 -0
  190. data/lib/generators/extension_model/templates/fixtures.yml +19 -0
  191. data/lib/generators/extension_model/templates/migration.rb +16 -0
  192. data/lib/generators/extension_model/templates/model.rb +2 -0
  193. data/lib/generators/extension_model/templates/model_spec.rb +11 -0
  194. data/lib/generators/extension_model/templates/unit_test.rb +8 -0
  195. data/lib/generators/generator_base_extension.rb +16 -0
  196. data/lib/generators/instance/instance_generator.rb +148 -0
  197. data/lib/generators/instance/templates/databases/db2.yml +40 -0
  198. data/lib/generators/instance/templates/databases/mysql.yml +47 -0
  199. data/lib/generators/instance/templates/databases/postgresql.yml +44 -0
  200. data/lib/generators/instance/templates/databases/sqlite3.yml +16 -0
  201. data/lib/generators/instance/templates/databases/sqlserver.yml +21 -0
  202. data/lib/generators/instance/templates/instance_boot.rb +122 -0
  203. data/lib/generators/instance/templates/instance_config.ru +2 -0
  204. data/lib/generators/instance/templates/instance_environment.rb +83 -0
  205. data/lib/generators/instance/templates/instance_gemfile +81 -0
  206. data/lib/generators/instance/templates/instance_generate +6 -0
  207. data/lib/generators/instance/templates/instance_radiant_config.rb +16 -0
  208. data/lib/generators/instance/templates/instance_rakefile +3 -0
  209. data/lib/generators/instance/templates/instance_routes.rb +1 -0
  210. data/lib/generators/language_extension/USAGE +27 -0
  211. data/lib/generators/language_extension/language_extension_generator.rb +71 -0
  212. data/lib/generators/language_extension/templates/README +3 -0
  213. data/lib/generators/language_extension/templates/RSpecRakefile +123 -0
  214. data/lib/generators/language_extension/templates/Rakefile +25 -0
  215. data/lib/generators/language_extension/templates/available_tags.yml +553 -0
  216. data/lib/generators/language_extension/templates/cucumber.yml +1 -0
  217. data/lib/generators/language_extension/templates/cucumber_env.rb +16 -0
  218. data/lib/generators/language_extension/templates/cucumber_paths.rb +14 -0
  219. data/lib/generators/language_extension/templates/extension.rb +12 -0
  220. data/lib/generators/language_extension/templates/functional_test.rb +15 -0
  221. data/lib/generators/language_extension/templates/gemspec.rb +24 -0
  222. data/lib/generators/language_extension/templates/lang.yml +181 -0
  223. data/lib/generators/language_extension/templates/lib.rb +8 -0
  224. data/lib/generators/language_extension/templates/spec.opts +6 -0
  225. data/lib/generators/language_extension/templates/spec_helper.rb +36 -0
  226. data/lib/generators/language_extension/templates/tasks.rake +28 -0
  227. data/lib/generators/language_extension/templates/test_helper.rb +26 -0
  228. data/lib/inheritable_class_attributes.rb +65 -0
  229. data/lib/local_time.rb +6 -0
  230. data/lib/login_system.rb +132 -0
  231. data/lib/method_observer.rb +50 -0
  232. data/lib/object_extensions/object_extensions.rb +5 -0
  233. data/lib/simpleton.rb +21 -0
  234. data/lib/string_extensions/string_extensions.rb +25 -0
  235. data/lib/symbol_extensions/symbol_extensions.rb +5 -0
  236. data/lib/tasks/database.rake +85 -0
  237. data/lib/tasks/environments.rake +11 -0
  238. data/lib/tasks/extensions.rake +85 -0
  239. data/lib/tasks/framework.rake +255 -0
  240. data/lib/tasks/instance.rake +23 -0
  241. data/lib/tasks/prototype.rake +31 -0
  242. data/lib/tasks/radiant_config.rake +18 -0
  243. data/lib/tasks/release.rake +131 -0
  244. data/lib/tasks/translate.rake +59 -0
  245. data/lib/tasks/undefine.rake +28 -0
  246. data/lib/translation_support.rb +54 -0
  247. data/lib/trusty_cms/admin_ui/region_partials.rb +23 -0
  248. data/lib/trusty_cms/admin_ui/region_set.rb +35 -0
  249. data/lib/trusty_cms/admin_ui.rb +244 -0
  250. data/lib/trusty_cms/available_locales.rb +19 -0
  251. data/lib/trusty_cms/cache.rb +100 -0
  252. data/lib/trusty_cms/config/definition.rb +142 -0
  253. data/lib/trusty_cms/engine.rb +10 -0
  254. data/lib/trusty_cms/extension/script.rb +395 -0
  255. data/lib/trusty_cms/extension.rb +146 -0
  256. data/lib/trusty_cms/extension_loader.rb +130 -0
  257. data/lib/trusty_cms/extension_migrator.rb +98 -0
  258. data/lib/trusty_cms/extension_path.rb +200 -0
  259. data/lib/trusty_cms/initializer.rb +162 -0
  260. data/lib/trusty_cms/pagination/controller.rb +41 -0
  261. data/lib/trusty_cms/pagination/link_renderer.rb +34 -0
  262. data/lib/trusty_cms/resource_responses.rb +121 -0
  263. data/lib/trusty_cms/setup.rb +227 -0
  264. data/lib/trusty_cms/taggable.rb +138 -0
  265. data/lib/trusty_cms/task_support.rb +66 -0
  266. data/lib/trusty_cms.rb +19 -0
  267. data/log/.keep +0 -0
  268. data/public/.htaccess +40 -0
  269. data/public/404.html +8 -0
  270. data/public/500.html +8 -0
  271. data/public/dispatch.cgi +10 -0
  272. data/public/dispatch.fcgi +24 -0
  273. data/public/dispatch.rb +10 -0
  274. data/public/favicon.ico +0 -0
  275. data/public/images/admin/add_tab.png +0 -0
  276. data/public/images/admin/avatar_32x32.png +0 -0
  277. data/public/images/admin/avatar_64x64.png +0 -0
  278. data/public/images/admin/avatar_96x96.png +0 -0
  279. data/public/images/admin/brown_bottom_line.gif +0 -0
  280. data/public/images/admin/calendar_down.gif +0 -0
  281. data/public/images/admin/collapse.png +0 -0
  282. data/public/images/admin/draft_page.png +0 -0
  283. data/public/images/admin/expand.png +0 -0
  284. data/public/images/admin/image.png +0 -0
  285. data/public/images/admin/javascript.png +0 -0
  286. data/public/images/admin/layout.png +0 -0
  287. data/public/images/admin/metadata_toggle.png +0 -0
  288. data/public/images/admin/minus.png +0 -0
  289. data/public/images/admin/minus_disabled.png +0 -0
  290. data/public/images/admin/minus_grey.png +0 -0
  291. data/public/images/admin/navigation_secondary_separator.gif +0 -0
  292. data/public/images/admin/page.png +0 -0
  293. data/public/images/admin/plus.png +0 -0
  294. data/public/images/admin/plus_disabled.png +0 -0
  295. data/public/images/admin/plus_grey.png +0 -0
  296. data/public/images/admin/popup_border_background.png +0 -0
  297. data/public/images/admin/popup_border_bottom_left.png +0 -0
  298. data/public/images/admin/popup_border_bottom_right.png +0 -0
  299. data/public/images/admin/popup_border_top_left.png +0 -0
  300. data/public/images/admin/popup_border_top_right.png +0 -0
  301. data/public/images/admin/search.png +0 -0
  302. data/public/images/admin/single_form_shadow.png +0 -0
  303. data/public/images/admin/snippet.png +0 -0
  304. data/public/images/admin/spinner.gif +0 -0
  305. data/public/images/admin/status_background.png +0 -0
  306. data/public/images/admin/status_bottom_left.png +0 -0
  307. data/public/images/admin/status_bottom_right.png +0 -0
  308. data/public/images/admin/status_spinner.gif +0 -0
  309. data/public/images/admin/status_top_left.png +0 -0
  310. data/public/images/admin/status_top_right.png +0 -0
  311. data/public/images/admin/stylesheet.png +0 -0
  312. data/public/images/admin/tab_close.png +0 -0
  313. data/public/images/admin/upload.png +0 -0
  314. data/public/images/admin/virtual_page.png +0 -0
  315. data/public/images/radiant/radiant-badge-color.png +0 -0
  316. data/public/javascripts/admin/application.js +94 -0
  317. data/public/javascripts/admin/codearea.js +165 -0
  318. data/public/javascripts/admin/controls.js +965 -0
  319. data/public/javascripts/admin/cookie.js +80 -0
  320. data/public/javascripts/admin/dateinput.js +402 -0
  321. data/public/javascripts/admin/dragdrop.js +974 -0
  322. data/public/javascripts/admin/dropdown.js +216 -0
  323. data/public/javascripts/admin/effects.js +1122 -0
  324. data/public/javascripts/admin/lowpro.js +340 -0
  325. data/public/javascripts/admin/overrides.js +1 -0
  326. data/public/javascripts/admin/page_preview.js +41 -0
  327. data/public/javascripts/admin/pagefield.js +54 -0
  328. data/public/javascripts/admin/pagestatus.js +17 -0
  329. data/public/javascripts/admin/popup.js +339 -0
  330. data/public/javascripts/admin/prototype.js +4874 -0
  331. data/public/javascripts/admin/ruledtable.js +13 -0
  332. data/public/javascripts/admin/shortcuts.js +33 -0
  333. data/public/javascripts/admin/sitemap.js +149 -0
  334. data/public/javascripts/admin/status.js +233 -0
  335. data/public/javascripts/admin/tabcontrol.js +123 -0
  336. data/public/javascripts/admin/toggle.js +430 -0
  337. data/public/javascripts/admin/utility.js +53 -0
  338. data/public/javascripts/admin/validationerror.js +18 -0
  339. data/public/loading-iframe.html +11 -0
  340. data/public/robots.txt +1 -0
  341. data/public/stylesheets/sass/admin/_base.sass +18 -0
  342. data/public/stylesheets/sass/admin/main.sass +27 -0
  343. data/public/stylesheets/sass/admin/modules/_boxes.sass +6 -0
  344. data/public/stylesheets/sass/admin/modules/_gradients.sass +4 -0
  345. data/public/stylesheets/sass/admin/modules/_links.sass +18 -0
  346. data/public/stylesheets/sass/admin/overrides.sass +2 -0
  347. data/public/stylesheets/sass/admin/partials/_actions.sass +96 -0
  348. data/public/stylesheets/sass/admin/partials/_avatars.sass +10 -0
  349. data/public/stylesheets/sass/admin/partials/_content.sass +58 -0
  350. data/public/stylesheets/sass/admin/partials/_dateinput.sass +62 -0
  351. data/public/stylesheets/sass/admin/partials/_deprecated.sass +55 -0
  352. data/public/stylesheets/sass/admin/partials/_dropdown.sass +28 -0
  353. data/public/stylesheets/sass/admin/partials/_footer.sass +12 -0
  354. data/public/stylesheets/sass/admin/partials/_forms.sass +322 -0
  355. data/public/stylesheets/sass/admin/partials/_header.sass +114 -0
  356. data/public/stylesheets/sass/admin/partials/_index.sass +147 -0
  357. data/public/stylesheets/sass/admin/partials/_layout.sass +10 -0
  358. data/public/stylesheets/sass/admin/partials/_messages.sass +10 -0
  359. data/public/stylesheets/sass/admin/partials/_popup.sass +213 -0
  360. data/public/stylesheets/sass/admin/partials/_tabcontrol.sass +72 -0
  361. data/public/stylesheets/sass/admin/partials/_toolbar.sass +31 -0
  362. data/public/stylesheets/sass/admin/partials/_typography.sass +60 -0
  363. data/public/stylesheets/sass/admin/partials/_validations.sass +19 -0
  364. data/rails/init.rb +1 -0
  365. data/script/about +4 -0
  366. data/script/breakpointer +3 -0
  367. data/script/console +3 -0
  368. data/script/dbconsole +3 -0
  369. data/script/destroy +3 -0
  370. data/script/extension +5 -0
  371. data/script/generate +3 -0
  372. data/script/performance/benchmarker +3 -0
  373. data/script/performance/profiler +3 -0
  374. data/script/performance/request +3 -0
  375. data/script/plugin +3 -0
  376. data/script/process/inspector +3 -0
  377. data/script/process/reaper +3 -0
  378. data/script/process/spawner +3 -0
  379. data/script/process/spinner +3 -0
  380. data/script/rails +6 -0
  381. data/script/runner +3 -0
  382. data/script/server +3 -0
  383. data/script/version +5 -0
  384. data/spec/ci/database.mysql.yml +4 -0
  385. data/spec/ci/database.postgresql.yml +4 -0
  386. data/spec/ci/database.sqlite.yml +3 -0
  387. data/trusty_cms.gemspec +50 -0
  388. metadata +781 -0
@@ -0,0 +1,75 @@
1
+ class CreateRadiantTables < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "config", :force => true do |t|
4
+ t.column "key", :string, :limit => 40, :default => "", :null => false
5
+ t.column "value", :string, :default => ""
6
+ end
7
+ add_index "config", ["key"], :name => "key", :unique => true
8
+
9
+ create_table "pages", :force => true do |t|
10
+ t.column "title", :string
11
+ t.column "slug", :string, :limit => 100
12
+ t.column "breadcrumb", :string, :limit => 160
13
+ t.column "behavior", :string, :limit => 25
14
+ t.column "status_id", :integer, :default => 1, :null => false
15
+ t.column "parent_id", :integer
16
+ t.column "layout_id", :integer
17
+ t.column "created_at", :datetime
18
+ t.column "updated_at", :datetime
19
+ t.column "published_at", :datetime
20
+ t.column "created_by", :integer
21
+ t.column "updated_by", :integer
22
+ end
23
+
24
+ create_table "page_parts", :force => true do |t|
25
+ t.column "name", :string, :limit => 100
26
+ t.column "filter", :string, :limit => 25
27
+ t.column "content", :text
28
+ t.column "page_id", :integer
29
+ end
30
+
31
+ create_table "snippets", :force => true do |t|
32
+ t.column "name", :string, :limit => 100, :default => "", :null => false
33
+ t.column "filter", :string, :limit => 25
34
+ t.column "content", :text
35
+ t.column "created_at", :datetime
36
+ t.column "updated_at", :datetime
37
+ t.column "created_by", :integer
38
+ t.column "updated_by", :integer
39
+ end
40
+ add_index "snippets", ["name"], :name => "name", :unique => true
41
+
42
+ create_table "layouts", :force => true do |t|
43
+ t.column "name", :string, :limit => 100
44
+ t.column "content", :text
45
+ t.column "created_at", :datetime
46
+ t.column "updated_at", :datetime
47
+ t.column "created_by", :integer
48
+ t.column "updated_by", :integer
49
+ end
50
+
51
+ create_table "users", :force => true do |t|
52
+ t.column "name", :string, :limit => 100
53
+ t.column "email", :string
54
+ t.column "login", :string, :limit => 40, :default => "", :null => false
55
+ t.column "password", :string, :limit => 40
56
+ t.column "admin", :integer, :limit => 1, :default => 0, :null => false
57
+ t.column "developer", :integer, :limit => 1, :default => 0, :null => false
58
+ t.column "created_at", :datetime
59
+ t.column "updated_at", :datetime
60
+ t.column "created_by", :integer
61
+ t.column "updated_by", :integer
62
+ end
63
+ add_index "users", ["login"], :name => "login", :unique => true
64
+
65
+ end
66
+
67
+ def self.down
68
+ drop_table "pages"
69
+ drop_table "page_parts"
70
+ drop_table "snippets"
71
+ drop_table "layouts"
72
+ drop_table "users"
73
+ drop_table "config"
74
+ end
75
+ end
@@ -0,0 +1,12 @@
1
+ class InsertInitialData < ActiveRecord::Migration
2
+
3
+ # Historical. We no longer rely on this migration to insert the initial data into
4
+ # the database. Instead we recommend `rake db:bootstrap`.
5
+
6
+ def self.up
7
+ end
8
+
9
+ def self.down
10
+ end
11
+
12
+ end
@@ -0,0 +1,9 @@
1
+ class RenameBehaviorColumn < ActiveRecord::Migration
2
+ def self.up
3
+ rename_column :pages, :behavior, :behavior_id
4
+ end
5
+
6
+ def self.down
7
+ rename_column :pages, :behavior_id, :behavior
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ class RenameFilterColumn < ActiveRecord::Migration
2
+ def self.up
3
+ rename_column :page_parts, :filter, :filter_id
4
+ rename_column :snippets, :filter, :filter_id
5
+ end
6
+
7
+ def self.down
8
+ rename_column :page_parts, :filter_id, :filter
9
+ rename_column :snippets, :filter_id, :filter
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ class AddVirtualColumnToPage < ActiveRecord::Migration
2
+ def self.up
3
+ add_column "pages", "virtual", :boolean, :null => false, :default => false
4
+ end
5
+
6
+ def self.down
7
+ remove_column "pages", "virtual"
8
+ end
9
+ end
@@ -0,0 +1,36 @@
1
+ class IntegerColumnsToBoolean < ActiveRecord::Migration
2
+
3
+ class User < ActiveRecord::Base; end
4
+
5
+ def self.up
6
+ change_column "users", "admin", :boolean, :default => false, :null => false
7
+ change_column "users", "developer", :boolean, :default => false, :null => false
8
+ end
9
+
10
+ def self.down
11
+ change_column "users", "admin", :integer, :limit => 1, :default => 0, :null => false
12
+ change_column "users", "developer", :integer, :limit => 1, :default => 0, :null => false
13
+ end
14
+
15
+ def self.change_column(table, column, type, options={})
16
+ model_class = table.singularize.camelize.constantize
17
+
18
+ announce "saving #{model_class} data"
19
+ old_values = model_class.find(:all).map do |model|
20
+ [model.id, model.send("#{column}?")]
21
+ end
22
+
23
+ remove_column table, column
24
+ add_column table, column, type, options
25
+
26
+ model_class.reset_column_information
27
+
28
+ announce "restoring #{model_class} data"
29
+ old_values.each do |(id, value)|
30
+ model = model_class.find(id)
31
+ model.send "#{column}=", value
32
+ model.save
33
+ end
34
+ end
35
+
36
+ end
@@ -0,0 +1,9 @@
1
+ class RemoveVirtualColumnFromPage < ActiveRecord::Migration
2
+ def self.up
3
+ remove_column "pages", "virtual"
4
+ end
5
+
6
+ def self.down
7
+ add_column "pages", "virtual", :boolean, :null => false, :default => false
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class AddVirtualColumnToPageAgain < ActiveRecord::Migration
2
+ def self.up
3
+ add_column "pages", "virtual", :boolean, :null => false, :default => false
4
+ end
5
+
6
+ def self.down
7
+ remove_column "pages", "virtual"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class AddContentTypeFieldToLayout < ActiveRecord::Migration
2
+ def self.up
3
+ add_column "layouts", "content_type", :string, :limit => 40
4
+ end
5
+
6
+ def self.down
7
+ remove_column "layouts", "content_type"
8
+ end
9
+ end
@@ -0,0 +1,57 @@
1
+ class MergeBehaviorsAndPages < ActiveRecord::Migration
2
+ class OldPage < ActiveRecord::Base
3
+ set_table_name 'pages'
4
+ end
5
+
6
+ @@page_map = {
7
+ "Page Missing" => "FileNotFoundPage"
8
+ }
9
+
10
+ @@behavior_map = @@page_map.invert
11
+
12
+ def self.up
13
+ announce "converting behavior names to class names"
14
+ OldPage.find(:all).each do |page|
15
+ unless page.behavior_id.blank?
16
+ page.behavior_id = page_name(page.behavior_id)
17
+ page.save!
18
+ end
19
+ end
20
+ rename_column :pages, :behavior_id, :type
21
+ end
22
+
23
+ def self.down
24
+ rename_column :pages, :type, :behavior_id
25
+ OldPage.reset_column_information
26
+ announce "converting class names back to behavior names"
27
+ OldPage.find(:all).each do |page|
28
+ unless page.behavior_id.blank?
29
+ page.behavior_id = behavior_name(page.behavior_id)
30
+ page.save!
31
+ end
32
+ end
33
+ end
34
+
35
+ def self.page_name(behavior_name)
36
+ if @@page_map.has_key?(behavior_name)
37
+ @@page_map[behavior_name]
38
+ else
39
+ name = behavior_name.scan(/\w+/).map { |word| word.capitalize }.join
40
+ name = $1 if name =~ /^(.*?)Behavior$/
41
+ name += "Page" unless name =~ /Page$/
42
+ name
43
+ end
44
+ end
45
+
46
+ def self.behavior_name(page_name)
47
+ if @@behavior_map.has_key?(page_name)
48
+ @@behavior_map[page_name]
49
+ else
50
+ name = page_name.gsub(/(^.|[A-Z])/, ' \1').strip
51
+ name = $1 if name =~ /^(.*)Page$/
52
+ name
53
+ end
54
+ end
55
+
56
+
57
+ end
@@ -0,0 +1,9 @@
1
+ class RenameTypeColumnOnPageToClassName < ActiveRecord::Migration
2
+ def self.up
3
+ rename_column 'pages', 'type', 'class_name'
4
+ end
5
+
6
+ def self.down
7
+ rename_column 'pages', 'class_name', 'type'
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ class CreateExtensionMeta < ActiveRecord::Migration
2
+ def self.up
3
+ create_table 'extension_meta', :force => true do |t|
4
+ t.column 'name', :string
5
+ t.column 'schema_version', :integer, :default => 0
6
+ t.column 'enabled', :boolean, :default => true
7
+ end
8
+ end
9
+
10
+ def self.down
11
+ drop_table 'extension_meta'
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ class AddNotesFieldToUser < ActiveRecord::Migration
2
+ def self.up
3
+ add_column "users", "notes", :text
4
+ end
5
+
6
+ def self.down
7
+ remove_column "users", "notes"
8
+ end
9
+ end
@@ -0,0 +1,17 @@
1
+ class RenameConfigDefaultPartsKey < ActiveRecord::Migration
2
+
3
+ def self.up
4
+ rename_config_key 'default.parts', 'defaults.page.parts'
5
+ end
6
+
7
+ def self.down
8
+ rename_config_key 'defaults.page.parts', 'default.parts'
9
+ end
10
+
11
+ def self.rename_config_key(from, to)
12
+ return unless setting = TrustyCms::Config.find_by_key(from)
13
+ setting.key = to
14
+ setting.save!
15
+ end
16
+
17
+ end
@@ -0,0 +1,15 @@
1
+ class AddOptimisticLocking < ActiveRecord::Migration
2
+
3
+ def self.up
4
+ [:pages, :layouts, :snippets, :users].each do |table|
5
+ add_column table, :lock_version, :integer, :default => 0
6
+ end
7
+ end
8
+
9
+ def self.down
10
+ [:pages, :layouts, :snippets, :users].each do |table|
11
+ remove_column table, :lock_version
12
+ end
13
+ end
14
+
15
+ end
@@ -0,0 +1,16 @@
1
+ class AddSessions < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :sessions do |t|
4
+ t.column :session_id, :string
5
+ t.column :data, :text
6
+ t.column :updated_at, :datetime
7
+ end
8
+
9
+ add_index :sessions, :session_id
10
+ add_index :sessions, :updated_at
11
+ end
12
+
13
+ def self.down
14
+ drop_table :sessions
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ class RenameCreatedByUpdatedByColumns < ActiveRecord::Migration
2
+ def self.up
3
+ %w{pages snippets layouts users}.each do |table|
4
+ rename_column table, :created_by, :created_by_id
5
+ rename_column table, :updated_by, :updated_by_id
6
+ end
7
+ end
8
+
9
+ def self.down
10
+ %w{pages snippets layouts users}.each do |table|
11
+ rename_column table, :created_by_id, :created_by
12
+ rename_column table, :updated_by_id, :updated_by
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ class AddDescriptionAndKeywordsToPages < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :pages, :description, :string
4
+ add_column :pages, :keywords, :string
5
+ end
6
+
7
+ def self.down
8
+ remove_column :pages, :keywords
9
+ remove_column :pages, :description
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ class AddSaltToUsers < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :users, :salt, :string
4
+ User.reset_column_information
5
+ User.update_all :salt => "sweet harmonious biscuits"
6
+ end
7
+
8
+ def self.down
9
+ remove_column :users, :salt
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ class AddSessionInfoToUsers < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :users, :session_token, :string
4
+ add_column :users, :session_expire, :datetime
5
+ end
6
+
7
+ def self.down
8
+ remove_column :users, :session_token
9
+ remove_column :users, :session_expire
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ class RemoveSessionExpireFromUsers < ActiveRecord::Migration
2
+ def self.up
3
+ remove_column :users, :session_expire
4
+ end
5
+
6
+ def self.down
7
+ add_column :users, :session_expire, :datetime
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ class AddIndexes < ActiveRecord::Migration
2
+ def self.up
3
+ add_index :pages, :class_name, :name => 'pages_class_name'
4
+ add_index :pages, :parent_id, :name => 'pages_parent_id'
5
+ add_index :pages, %w{slug parent_id}, :name => 'pages_child_slug'
6
+ add_index :pages, %w{virtual status_id}, :name => 'pages_published'
7
+
8
+ add_index :page_parts, %w{page_id name}, :name => 'parts_by_page'
9
+ end
10
+
11
+ def self.down
12
+ remove_index :page_parts, :name => 'parts_by_page'
13
+
14
+ remove_index :pages, :name => 'pages_published'
15
+ remove_index :pages, :name => 'pages_child_slug'
16
+ remove_index :pages, :name => 'pages_parent_id'
17
+ remove_index :pages, :name => 'pages_class_name'
18
+ end
19
+ end
@@ -0,0 +1,9 @@
1
+ class AddUserLanguage < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :users, :language, :string
4
+ end
5
+
6
+ def self.down
7
+ remove_column :users, :language
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class RenameDeveloperRoleToDesigner < ActiveRecord::Migration
2
+ def self.up
3
+ rename_column 'users', 'developer', 'designer'
4
+ end
5
+
6
+ def self.down
7
+ rename_column 'users', 'designer', 'developer'
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class ChangeUserLanguageToLocale < ActiveRecord::Migration
2
+ def self.up
3
+ rename_column 'users', 'language', 'locale'
4
+ end
5
+
6
+ def self.down
7
+ rename_column 'users', 'locale', 'language'
8
+ end
9
+ end
@@ -0,0 +1,15 @@
1
+ class AddPageFields < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :page_fields do |t|
4
+ t.integer :page_id
5
+ t.string :name
6
+ t.string :content
7
+ end
8
+ add_index :page_fields, :page_id
9
+ end
10
+
11
+ def self.down
12
+ remove_index :page_fields, :page_id
13
+ drop_table :page_fields
14
+ end
15
+ end
@@ -0,0 +1,24 @@
1
+ class ConvertPageMetas < ActiveRecord::Migration
2
+ def self.up
3
+ # following add and remove column enables running this migration
4
+ # when upgrading radiant with allowed_children_cache added to Page model
5
+ add_column :pages, :allowed_children_cache, :text
6
+ Page.all.each do |page|
7
+ page.fields.create(:name => 'Keywords', :content => page.keywords)
8
+ page.fields.create(:name => 'Description', :content => page.description)
9
+ end
10
+ remove_column :pages, :keywords
11
+ remove_column :pages, :description
12
+ remove_column :pages, :allowed_children_cache
13
+ end
14
+
15
+ def self.down
16
+ add_column :pages, :description, :string
17
+ add_column :pages, :keywords, :string
18
+ Page.all.each do |page|
19
+ page.description = page.field('description').content
20
+ page.keywords = page.field('keywords').content
21
+ page.save
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ class AddFieldNameIndex < ActiveRecord::Migration
2
+ def self.up
3
+ remove_index :page_fields, :page_id
4
+ add_index :page_fields, [:page_id, :name, :content]
5
+ end
6
+
7
+ def self.down
8
+ remove_index :page_fields, [:page_id, :name, :content]
9
+ add_index :page_fields, :page_id
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ class AddAllowedChildrenCacheToPages < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :pages, :allowed_children_cache, :text
4
+ Page.reset_column_information
5
+ Page.find_each do |page|
6
+ page.save # update the allowed_children_cache
7
+ end
8
+ end
9
+
10
+ def self.down
11
+ remove_column :pages, :allowed_children_cache
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ class ExtendPagePartContentLimit < ActiveRecord::Migration
2
+ def self.up
3
+ if ActiveRecord::Base.connection.adapter_name =~ /m[sy]sql/i
4
+ # Make sure text longer than 64kB is not cropped in MySQL and MSSQL
5
+ # See https://github.com/radiant/radiant-sheets-extension/issues/10
6
+ change_column :page_parts, :content, :text, :limit => 1048575
7
+ end
8
+ end
9
+
10
+ def self.down
11
+ if ActiveRecord::Base.connection.adapter_name =~ /m[sy]sql/i
12
+ change_column :page_parts, :content, :text
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ class ChangePagesAllowedChildrenCacheToText < ActiveRecord::Migration
2
+ def self.up
3
+ unless Page.columns_hash['allowed_children_cache'].type == :text
4
+ change_column :pages, :allowed_children_cache, :text
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ change_column :pages, :allowed_children_cache, :string, :limit => 1500
10
+ end
11
+ end