browsercms 3.1.5 → 3.3.0.beta

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 (425) hide show
  1. data/app/controllers/cms/base_controller.rb +3 -3
  2. data/app/controllers/cms/content_block_controller.rb +2 -2
  3. data/app/controllers/cms/content_controller.rb +5 -4
  4. data/app/controllers/cms/error_handling.rb +1 -1
  5. data/app/controllers/cms/routes_controller.rb +4 -5
  6. data/app/controllers/cms/section_nodes_controller.rb +1 -6
  7. data/app/controllers/cms/sections_controller.rb +2 -3
  8. data/app/controllers/cms/tasks_controller.rb +3 -0
  9. data/app/controllers/cms/users_controller.rb +1 -1
  10. data/app/helpers/cms/application_helper.rb +137 -34
  11. data/app/helpers/cms/form_builder.rb +33 -21
  12. data/app/helpers/cms/page_helper.rb +43 -10
  13. data/app/helpers/cms/path_helper.rb +1 -1
  14. data/app/helpers/cms/rendering_helper.rb +3 -4
  15. data/app/helpers/cms/section_nodes_helper.rb +5 -43
  16. data/app/models/abstract_file_block.rb +1 -16
  17. data/app/models/attachment.rb +57 -22
  18. data/app/models/category.rb +4 -4
  19. data/app/models/category_type.rb +2 -2
  20. data/app/models/cms/view_context.rb +46 -0
  21. data/app/models/connector.rb +7 -6
  22. data/app/models/content_type.rb +3 -3
  23. data/app/models/dynamic_view.rb +1 -1
  24. data/app/models/email_message.rb +2 -2
  25. data/app/models/file_block.rb +12 -0
  26. data/app/models/group.rb +4 -4
  27. data/app/models/group_type.rb +4 -4
  28. data/app/models/html_block.rb +1 -1
  29. data/app/models/image_block.rb +12 -0
  30. data/app/models/link.rb +22 -5
  31. data/app/models/page.rb +87 -46
  32. data/app/models/page_route.rb +61 -6
  33. data/app/models/permission.rb +1 -1
  34. data/app/models/portlet.rb +14 -4
  35. data/app/models/section.rb +48 -86
  36. data/app/models/section_node.rb +25 -40
  37. data/app/models/site.rb +1 -1
  38. data/app/models/tag.rb +1 -1
  39. data/app/models/task.rb +8 -7
  40. data/app/models/user.rb +2 -7
  41. data/app/portlets/forgot_password_portlet.rb +6 -2
  42. data/app/portlets/reset_password_portlet.rb +1 -1
  43. data/app/views/cms/blocks/_toolbar.html.erb +1 -1
  44. data/app/views/cms/blocks/_toolbar_for_collection.html.erb +3 -6
  45. data/app/views/cms/blocks/_toolbar_for_member.html.erb +3 -5
  46. data/app/views/cms/blocks/edit.html.erb +4 -4
  47. data/app/views/cms/blocks/index.html.erb +7 -7
  48. data/app/views/cms/blocks/new.html.erb +4 -4
  49. data/app/views/cms/blocks/show.html.erb +2 -2
  50. data/app/views/cms/blocks/usages.html.erb +2 -2
  51. data/app/views/cms/blocks/versions.html.erb +4 -4
  52. data/app/views/cms/cache/show.html.erb +2 -2
  53. data/app/views/cms/categories/_form.html.erb +2 -2
  54. data/app/views/cms/connectors/new.html.erb +6 -8
  55. data/app/views/cms/content/no_page.html.erb +1 -1
  56. data/app/views/cms/content/show.html.erb +2 -7
  57. data/app/views/cms/dashboard/_page_drafts.html.erb +1 -1
  58. data/app/views/cms/dashboard/_tasks.html.erb +1 -1
  59. data/app/views/cms/dashboard/index.html.erb +1 -1
  60. data/app/views/cms/dynamic_views/_form.html.erb +2 -2
  61. data/app/views/cms/dynamic_views/index.html.erb +7 -10
  62. data/app/views/cms/email_messages/show.html.erb +2 -2
  63. data/app/views/cms/file_blocks/_form.html.erb +4 -4
  64. data/app/views/cms/form_builder/_cms_fancy_drop_down.html.erb +2 -2
  65. data/app/views/cms/form_builder/_cms_file_field.html.erb +2 -2
  66. data/app/views/cms/form_builder/_cms_tag_list.html.erb +2 -2
  67. data/app/views/cms/form_builder/_cms_text_editor.html.erb +2 -2
  68. data/app/views/cms/groups/_form.html.erb +5 -5
  69. data/app/views/cms/groups/_permissions.html.erb +4 -4
  70. data/app/views/cms/groups/_sections.html.erb +1 -2
  71. data/app/views/cms/groups/index.html.erb +1 -1
  72. data/app/views/cms/html_blocks/render.html.erb +1 -1
  73. data/app/views/cms/image_blocks/_form.html.erb +4 -5
  74. data/app/views/cms/links/_form.html.erb +1 -1
  75. data/app/views/cms/links/edit.html.erb +2 -2
  76. data/app/views/cms/links/new.html.erb +2 -2
  77. data/app/views/cms/page_routes/_form.html.erb +2 -2
  78. data/app/views/cms/page_routes/index.html.erb +6 -9
  79. data/app/views/cms/page_routes/show.html.erb +5 -8
  80. data/app/views/cms/pages/_edit_connector.html.erb +1 -1
  81. data/app/views/cms/pages/_form.html.erb +3 -3
  82. data/app/views/cms/pages/edit.html.erb +2 -2
  83. data/app/views/cms/pages/new.html.erb +7 -7
  84. data/app/views/cms/pages/versions.html.erb +4 -4
  85. data/app/views/cms/redirects/_form.html.erb +2 -2
  86. data/app/views/cms/redirects/index.html.erb +8 -7
  87. data/app/views/cms/routes/index.html.erb +2 -2
  88. data/app/views/cms/section_nodes/_link.html.erb +3 -6
  89. data/app/views/cms/section_nodes/_node.html.erb +4 -13
  90. data/app/views/cms/section_nodes/_page.html.erb +7 -13
  91. data/app/views/cms/section_nodes/_section.html.erb +8 -24
  92. data/app/views/cms/section_nodes/_section_node.html.erb +10 -0
  93. data/app/views/cms/section_nodes/index.html.erb +18 -30
  94. data/app/views/cms/sections/_form.html.erb +4 -6
  95. data/app/views/cms/sections/edit.html.erb +2 -2
  96. data/app/views/cms/sections/index.html.erb +3 -3
  97. data/app/views/cms/sections/new.html.erb +3 -3
  98. data/app/views/cms/sessions/new.html.erb +3 -3
  99. data/app/views/cms/shared/_pagination.html.erb +1 -1
  100. data/app/views/cms/shared/error.html.erb +1 -1
  101. data/app/views/cms/tags/render.html.erb +2 -2
  102. data/app/views/cms/tasks/new.html.erb +4 -4
  103. data/app/views/cms/users/_form.html.erb +3 -3
  104. data/app/views/cms/users/_toolbar.html.erb +3 -3
  105. data/app/views/cms/users/change_password.html.erb +5 -5
  106. data/app/views/cms/users/edit.html.erb +2 -2
  107. data/app/views/cms/users/index.html.erb +4 -4
  108. data/app/views/cms/users/new.html.erb +2 -2
  109. data/app/views/cms/users/show.html.erb +16 -16
  110. data/app/views/layouts/_cms_toolbar.html.erb +5 -5
  111. data/app/views/layouts/_page_toolbar.html.erb +11 -11
  112. data/app/views/layouts/cms/_footer.erb +1 -1
  113. data/app/views/layouts/cms/_head.html.erb +2 -6
  114. data/app/views/layouts/cms/administration.html.erb +32 -32
  115. data/app/views/layouts/cms/content_library.html.erb +5 -5
  116. data/app/views/layouts/cms/toolbar.html.erb +1 -1
  117. data/app/views/portlets/email_page/render.html.erb +2 -2
  118. data/app/views/portlets/forgot_password/render.html.erb +1 -1
  119. data/app/views/portlets/login/render.html.erb +4 -2
  120. data/app/views/portlets/reset_password/render.html.erb +1 -1
  121. data/app/views/tests/pretend/open_with_layout.html.erb +1 -1
  122. data/bin/bcms +0 -0
  123. data/bin/bcms-upgrade +232 -0
  124. data/bin/browsercms +2 -2
  125. data/browsercms.gemspec +16 -14
  126. data/db/migrate/20100705083859_browsercms_3_3_0.rb +56 -0
  127. data/db/seeds.rb +58 -0
  128. data/doc/guides/html/authentication.html +448 -192
  129. data/doc/guides/html/build_it_yourself.html +454 -175
  130. data/doc/guides/html/building_modules.html +451 -220
  131. data/doc/guides/html/building_templates.html +448 -498
  132. data/doc/guides/html/content_blocks.html +450 -470
  133. data/doc/guides/html/customizing_browsercms.html +453 -169
  134. data/doc/guides/html/deployment_guide.html +443 -82
  135. data/doc/guides/html/files/bcmsorg.js +28 -0
  136. data/doc/guides/html/files/clearfix.css +8 -0
  137. data/doc/guides/html/files/cufon.js +7 -0
  138. data/doc/guides/html/files/global.css +190 -0
  139. data/doc/guides/html/files/helvetica.js +91 -0
  140. data/doc/guides/html/files/jquery.js +11 -0
  141. data/doc/guides/html/getting_started.html +454 -213
  142. data/doc/guides/html/index.html +454 -174
  143. data/doc/guides/html/installing_modules.html +454 -186
  144. data/doc/guides/html/portlets.html +451 -232
  145. data/doc/guides/html/user_guide.html +452 -270
  146. data/doc/guides/html/writing_guides.html +454 -161
  147. data/lib/acts_as_list.rb +1 -1
  148. data/lib/browsercms.rb +10 -6
  149. data/lib/cms/acts.rb +7 -0
  150. data/lib/cms/authentication.rb +4 -0
  151. data/lib/cms/authentication/controller.rb +1 -1
  152. data/lib/cms/behaviors.rb +1 -1
  153. data/lib/cms/behaviors/archiving.rb +2 -2
  154. data/lib/cms/behaviors/attaching.rb +28 -43
  155. data/lib/cms/behaviors/categorizing.rb +1 -1
  156. data/lib/cms/behaviors/connecting.rb +27 -12
  157. data/lib/cms/behaviors/dynamic_attributes.rb +8 -5
  158. data/lib/cms/behaviors/hiding.rb +2 -2
  159. data/lib/cms/behaviors/publishing.rb +32 -22
  160. data/lib/cms/behaviors/rendering.rb +41 -18
  161. data/lib/cms/behaviors/searching.rb +1 -1
  162. data/lib/cms/behaviors/soft_deleting.rb +58 -29
  163. data/lib/cms/behaviors/taggable.rb +1 -1
  164. data/lib/cms/behaviors/userstamping.rb +5 -4
  165. data/lib/cms/behaviors/versioning.rb +192 -111
  166. data/lib/cms/content_rendering_support.rb +3 -3
  167. data/lib/cms/date_picker.rb +23 -0
  168. data/lib/cms/engine.rb +46 -0
  169. data/lib/cms/extensions.rb +1 -1
  170. data/lib/cms/extensions/active_record/errors.rb +2 -2
  171. data/lib/cms/extensions/hash.rb +4 -2
  172. data/lib/cms/extensions/string.rb +7 -2
  173. data/lib/cms/init.rb +32 -21
  174. data/lib/cms/module.rb +22 -0
  175. data/lib/cms/module_installation.rb +38 -0
  176. data/lib/cms/routes.rb +127 -115
  177. data/lib/cms/version.rb +2 -2
  178. data/lib/generators/browser_cms.rb +12 -0
  179. data/lib/generators/browser_cms/cms/USAGE +2 -0
  180. data/lib/generators/browser_cms/cms/cms_generator.rb +36 -0
  181. data/{rails_generators/browser_cms → lib/generators/browser_cms/cms}/templates/README +0 -0
  182. data/{rails_generators/browser_cms_demo_site → lib/generators/browser_cms/demo_site}/USAGE +0 -0
  183. data/lib/generators/browser_cms/demo_site/demo_site_generator.rb +138 -0
  184. data/lib/generators/browser_cms/demo_site/templates/demo_site.rake +11 -0
  185. data/{rails_generators/browser_cms_demo_site/templates/migration.rb → lib/generators/browser_cms/demo_site/templates/migration.erb} +2 -8
  186. data/lib/generators/cms/content_block/USAGE +22 -0
  187. data/lib/generators/cms/content_block/content_block_generator.rb +55 -0
  188. data/{rails_generators → lib/generators/cms}/content_block/templates/_form.html.erb +0 -0
  189. data/{rails_generators → lib/generators/cms}/content_block/templates/content_block.rb +0 -0
  190. data/{rails_generators → lib/generators/cms}/content_block/templates/controller.rb +0 -0
  191. data/{rails_generators → lib/generators/cms}/content_block/templates/functional_test.erb +0 -0
  192. data/{rails_generators/content_block/templates/migration.rb → lib/generators/cms/content_block/templates/migration.erb} +1 -1
  193. data/{rails_generators → lib/generators/cms}/content_block/templates/render.html.erb +0 -0
  194. data/{rails_generators → lib/generators/cms}/content_block/templates/unit_test.erb +0 -0
  195. data/lib/generators/cms/install/USAGE +8 -0
  196. data/lib/generators/cms/install/install_generator.rb +20 -0
  197. data/{rails_generators → lib/generators/cms}/portlet/USAGE +3 -16
  198. data/lib/generators/cms/portlet/portlet_generator.rb +38 -0
  199. data/{rails_generators → lib/generators/cms}/portlet/templates/_form.html.erb +0 -0
  200. data/{rails_generators → lib/generators/cms}/portlet/templates/portlet.rb +0 -0
  201. data/{rails_generators → lib/generators/cms}/portlet/templates/portlet_helper.rb +0 -0
  202. data/{rails_generators → lib/generators/cms}/portlet/templates/render.html.erb +0 -0
  203. data/{rails_generators → lib/generators/cms}/portlet/templates/unit_test.erb +0 -0
  204. data/{rails_generators → lib/generators/cms}/template/USAGE +1 -1
  205. data/lib/generators/cms/template/template_generator.rb +18 -0
  206. data/lib/generators/cms/template/templates/template.erb +2 -0
  207. data/lib/generators/cms/upgrade_module/README.txt +3 -0
  208. data/lib/generators/cms/upgrade_module/templates/20100705083859_browsercms_3_3_0.rb +56 -0
  209. data/lib/generators/cms/upgrade_module/templates/README +1 -0
  210. data/lib/generators/cms/upgrade_module/templates/USAGE.erb +10 -0
  211. data/lib/generators/cms/upgrade_module/templates/build_gem.rake +5 -0
  212. data/lib/generators/cms/upgrade_module/templates/engine.erb +7 -0
  213. data/lib/generators/cms/upgrade_module/templates/gemspec.erb +25 -0
  214. data/lib/generators/cms/upgrade_module/templates/gitignore.erb +11 -0
  215. data/lib/generators/cms/upgrade_module/templates/install.erb +9 -0
  216. data/lib/generators/cms/upgrade_module/templates/module_file.erb +3 -0
  217. data/lib/generators/cms/upgrade_module/templates/routes.erb +7 -0
  218. data/lib/generators/cms/upgrade_module/upgrade_module_generator.rb +61 -0
  219. data/lib/tasks/build_gem.rake +1 -0
  220. data/lib/tasks/cms.rake +34 -6
  221. data/lib/tasks/cucumber.rake +53 -0
  222. data/lib/tasks/db.rake +2 -2
  223. data/public/javascripts/cms/application.js +144 -135
  224. data/public/javascripts/cms/sitemap.js +383 -357
  225. data/public/javascripts/jquery-ui.js +782 -591
  226. data/public/javascripts/jquery.cookie.js +38 -43
  227. data/public/javascripts/jquery.js +13 -8
  228. data/public/javascripts/jquery.taglist.js +7 -0
  229. data/public/stylesheets/cms/date_picker.css +49 -40
  230. data/rails/init.rb +2 -3
  231. data/templates/blank.rb +13 -7
  232. data/templates/demo.rb +15 -7
  233. data/templates/module.rb +12 -75
  234. metadata +87 -407
  235. data/app/helpers/cms/content_block_helper.rb +0 -27
  236. data/app/views/layouts/cms/thickbox.html.erb +0 -24
  237. data/db/migrate/20120117144039_browsercms315.rb +0 -94
  238. data/db/migrate/20121114172307_load_seeds.rb +0 -70
  239. data/lib/cms/addressable.rb +0 -83
  240. data/lib/cms/error_pages.rb +0 -8
  241. data/public/images/cms/thickbox/loadingAnimation.gif +0 -0
  242. data/public/images/cms/thickbox/macFFBgHack.png +0 -0
  243. data/public/javascripts/jquery.contextMenu.js +0 -211
  244. data/public/javascripts/jquery.dimensions.js +0 -119
  245. data/public/javascripts/jquery.thickbox.js +0 -10
  246. data/public/stylesheets/cms/jquery.contextMenu.css +0 -61
  247. data/public/stylesheets/cms/thickbox.css +0 -163
  248. data/rails_generators/browser_cms/USAGE +0 -2
  249. data/rails_generators/browser_cms/browser_cms_generator.rb +0 -35
  250. data/rails_generators/browser_cms_demo_site/browser_cms_demo_site_generator.rb +0 -63
  251. data/rails_generators/content_block/USAGE +0 -32
  252. data/rails_generators/content_block/content_block_generator.rb +0 -69
  253. data/rails_generators/portlet/portlet_generator.rb +0 -35
  254. data/rails_generators/template/template_generator.rb +0 -18
  255. data/rails_generators/template/templates/template.erb +0 -3
  256. data/test/custom_assertions.rb +0 -74
  257. data/test/factories.rb +0 -111
  258. data/test/factories/sitemap_factories.rb +0 -28
  259. data/test/fixtures/connectors.yml +0 -97
  260. data/test/fixtures/content_type_groups.yml +0 -13
  261. data/test/fixtures/content_types.yml +0 -50
  262. data/test/fixtures/dynamic_view_versions.yml +0 -26
  263. data/test/fixtures/dynamic_views.yml +0 -26
  264. data/test/fixtures/group_permissions.yml +0 -16
  265. data/test/fixtures/group_sections.yml +0 -31
  266. data/test/fixtures/group_type_permissions.yml +0 -11
  267. data/test/fixtures/group_types.yml +0 -25
  268. data/test/fixtures/groups.yml +0 -25
  269. data/test/fixtures/html_block_versions.yml +0 -67
  270. data/test/fixtures/html_blocks.yml +0 -63
  271. data/test/fixtures/page_versions.yml +0 -265
  272. data/test/fixtures/pages.yml +0 -85
  273. data/test/fixtures/permissions.yml +0 -28
  274. data/test/fixtures/section_nodes.yml +0 -46
  275. data/test/fixtures/sections.yml +0 -19
  276. data/test/fixtures/sites.yml +0 -9
  277. data/test/fixtures/user_group_memberships.yml +0 -11
  278. data/test/fixtures/users.yml +0 -15
  279. data/test/functional/cms/cache_controller_test.rb +0 -14
  280. data/test/functional/cms/categories_controller_test.rb +0 -25
  281. data/test/functional/cms/connectors_controller_test.rb +0 -60
  282. data/test/functional/cms/content_block_controller_test.rb +0 -120
  283. data/test/functional/cms/content_controller_test.rb +0 -439
  284. data/test/functional/cms/content_types_controller_test.rb +0 -18
  285. data/test/functional/cms/dashboard_controller_test.rb +0 -16
  286. data/test/functional/cms/dynamic_views_controller_test.rb +0 -52
  287. data/test/functional/cms/file_blocks_controller_test.rb +0 -52
  288. data/test/functional/cms/groups_controller_test.rb +0 -50
  289. data/test/functional/cms/home_controller_test.rb +0 -156
  290. data/test/functional/cms/html_blocks_controller_test.rb +0 -164
  291. data/test/functional/cms/image_blocks_controller_test.rb +0 -82
  292. data/test/functional/cms/links_controller_test.rb +0 -148
  293. data/test/functional/cms/pages_controller_test.rb +0 -227
  294. data/test/functional/cms/portlets_controller_test.rb +0 -67
  295. data/test/functional/cms/section_nodes_controller_test.rb +0 -112
  296. data/test/functional/cms/sections_controller_test.rb +0 -227
  297. data/test/functional/cms/sessions_controller_test.rb +0 -76
  298. data/test/functional/cms/toolbar_controller_test.rb +0 -64
  299. data/test/functional/cms/users_controller_test.rb +0 -231
  300. data/test/functional/tests/pretend_controller_test.rb +0 -57
  301. data/test/integration/cms/ckeditor_test.rb +0 -30
  302. data/test/integration/cms/password_management_test.rb +0 -56
  303. data/test/integration/login_test.rb +0 -14
  304. data/test/integration/sitemap_performance_test.rb +0 -26
  305. data/test/selenium-core/Blank.html +0 -7
  306. data/test/selenium-core/InjectedRemoteRunner.html +0 -8
  307. data/test/selenium-core/RemoteRunner.html +0 -110
  308. data/test/selenium-core/SeleniumLog.html +0 -109
  309. data/test/selenium-core/TestPrompt.html +0 -145
  310. data/test/selenium-core/TestRunner-splash.html +0 -55
  311. data/test/selenium-core/TestRunner.hta +0 -176
  312. data/test/selenium-core/TestRunner.html +0 -176
  313. data/test/selenium-core/domviewer/butmin.gif +0 -0
  314. data/test/selenium-core/domviewer/butplus.gif +0 -0
  315. data/test/selenium-core/domviewer/domviewer.css +0 -298
  316. data/test/selenium-core/domviewer/domviewer.html +0 -16
  317. data/test/selenium-core/domviewer/selenium-domviewer.js +0 -205
  318. data/test/selenium-core/icons/all.png +0 -0
  319. data/test/selenium-core/icons/continue.png +0 -0
  320. data/test/selenium-core/icons/continue_disabled.png +0 -0
  321. data/test/selenium-core/icons/pause.png +0 -0
  322. data/test/selenium-core/icons/pause_disabled.png +0 -0
  323. data/test/selenium-core/icons/selected.png +0 -0
  324. data/test/selenium-core/icons/step.png +0 -0
  325. data/test/selenium-core/icons/step_disabled.png +0 -0
  326. data/test/selenium-core/iedoc-core.xml +0 -1515
  327. data/test/selenium-core/iedoc.xml +0 -1469
  328. data/test/selenium-core/lib/cssQuery/cssQuery-p.js +0 -6
  329. data/test/selenium-core/lib/cssQuery/src/cssQuery-level2.js +0 -142
  330. data/test/selenium-core/lib/cssQuery/src/cssQuery-level3.js +0 -150
  331. data/test/selenium-core/lib/cssQuery/src/cssQuery-standard.js +0 -53
  332. data/test/selenium-core/lib/cssQuery/src/cssQuery.js +0 -356
  333. data/test/selenium-core/lib/prototype.js +0 -2006
  334. data/test/selenium-core/lib/scriptaculous/builder.js +0 -101
  335. data/test/selenium-core/lib/scriptaculous/controls.js +0 -815
  336. data/test/selenium-core/lib/scriptaculous/dragdrop.js +0 -915
  337. data/test/selenium-core/lib/scriptaculous/effects.js +0 -958
  338. data/test/selenium-core/lib/scriptaculous/scriptaculous.js +0 -47
  339. data/test/selenium-core/lib/scriptaculous/slider.js +0 -283
  340. data/test/selenium-core/lib/scriptaculous/unittest.js +0 -383
  341. data/test/selenium-core/scripts/find_matching_child.js +0 -69
  342. data/test/selenium-core/scripts/htmlutils.js +0 -894
  343. data/test/selenium-core/scripts/injection.html +0 -72
  344. data/test/selenium-core/scripts/js2html.js +0 -70
  345. data/test/selenium-core/scripts/narcissus-defs.js +0 -175
  346. data/test/selenium-core/scripts/narcissus-exec.js +0 -1054
  347. data/test/selenium-core/scripts/narcissus-parse.js +0 -1003
  348. data/test/selenium-core/scripts/se2html.js +0 -63
  349. data/test/selenium-core/scripts/selenium-api.js +0 -2409
  350. data/test/selenium-core/scripts/selenium-browserbot.js +0 -2203
  351. data/test/selenium-core/scripts/selenium-browserdetect.js +0 -150
  352. data/test/selenium-core/scripts/selenium-commandhandlers.js +0 -377
  353. data/test/selenium-core/scripts/selenium-executionloop.js +0 -175
  354. data/test/selenium-core/scripts/selenium-logging.js +0 -147
  355. data/test/selenium-core/scripts/selenium-remoterunner.js +0 -571
  356. data/test/selenium-core/scripts/selenium-testrunner.js +0 -1333
  357. data/test/selenium-core/scripts/selenium-version.js +0 -5
  358. data/test/selenium-core/scripts/user-extensions.js +0 -3
  359. data/test/selenium-core/scripts/user-extensions.js.sample +0 -75
  360. data/test/selenium-core/scripts/xmlextras.js +0 -153
  361. data/test/selenium-core/selenium-logo.png +0 -0
  362. data/test/selenium-core/selenium-test.css +0 -43
  363. data/test/selenium-core/selenium.css +0 -299
  364. data/test/selenium-core/xpath/dom.js +0 -428
  365. data/test/selenium-core/xpath/misc.js +0 -252
  366. data/test/selenium-core/xpath/xpath.js +0 -2223
  367. data/test/selenium/_login_as_cmsadmin.rsel +0 -4
  368. data/test/selenium/dashboard.rsel +0 -5
  369. data/test/selenium/html_blocks.rsel +0 -4
  370. data/test/selenium/login/failed_login.rsel +0 -8
  371. data/test/selenium/login/successful_login.rsel +0 -9
  372. data/test/selenium/page_templates.rsel +0 -12
  373. data/test/selenium/pages/edit_properties.rsel +0 -5
  374. data/test/selenium/site/view_home_page.rsel +0 -4
  375. data/test/selenium/sitemap/move_page.rsel +0 -9
  376. data/test/selenium/sitemap/open_section.rsel +0 -6
  377. data/test/selenium/sitemap/select_page.rsel +0 -12
  378. data/test/selenium/sitemap/select_section.rsel +0 -17
  379. data/test/test_helper.rb +0 -193
  380. data/test/test_logging.rb +0 -67
  381. data/test/unit/behaviors/attaching_test.rb +0 -357
  382. data/test/unit/behaviors/connectable_test.rb +0 -29
  383. data/test/unit/behaviors/dynamic_attributes_test.rb +0 -38
  384. data/test/unit/behaviors/publishable_test.rb +0 -84
  385. data/test/unit/behaviors/searching_test.rb +0 -102
  386. data/test/unit/behaviors/taggable_test.rb +0 -109
  387. data/test/unit/behaviors/versioning_test.rb +0 -36
  388. data/test/unit/extensions/active_record/base_test.rb +0 -10
  389. data/test/unit/extensions/hash_test.rb +0 -17
  390. data/test/unit/extensions/integer_test.rb +0 -10
  391. data/test/unit/helpers/application_helper_test.rb +0 -77
  392. data/test/unit/helpers/form_builder_test.rb +0 -36
  393. data/test/unit/helpers/menu_helper_test.rb +0 -242
  394. data/test/unit/helpers/page_helper_test.rb +0 -67
  395. data/test/unit/helpers/path_helper_test.rb +0 -57
  396. data/test/unit/lib/acts_as_content_page_test.rb +0 -72
  397. data/test/unit/lib/cms/authentication/controller_test.rb +0 -20
  398. data/test/unit/lib/cms/sitemap_test.rb +0 -206
  399. data/test/unit/lib/cms_domain_support_test.rb +0 -43
  400. data/test/unit/lib/command_line_test.rb +0 -70
  401. data/test/unit/lib/content_block_test.rb +0 -203
  402. data/test/unit/lib/content_rendering_support_test.rb +0 -40
  403. data/test/unit/lib/generators_test.rb +0 -40
  404. data/test/unit/lib/routes_test.rb +0 -57
  405. data/test/unit/models/attachment_test.rb +0 -116
  406. data/test/unit/models/category_test.rb +0 -40
  407. data/test/unit/models/category_type_test.rb +0 -8
  408. data/test/unit/models/connector_test.rb +0 -152
  409. data/test/unit/models/content_type_test.rb +0 -56
  410. data/test/unit/models/email_page_portlet_test.rb +0 -14
  411. data/test/unit/models/file_block_test.rb +0 -230
  412. data/test/unit/models/group_test.rb +0 -13
  413. data/test/unit/models/html_block_test.rb +0 -102
  414. data/test/unit/models/link_test.rb +0 -52
  415. data/test/unit/models/page_partial_test.rb +0 -29
  416. data/test/unit/models/page_route_test.rb +0 -29
  417. data/test/unit/models/page_template_test.rb +0 -40
  418. data/test/unit/models/page_test.rb +0 -792
  419. data/test/unit/models/permission_test.rb +0 -10
  420. data/test/unit/models/portlet_test.rb +0 -69
  421. data/test/unit/models/sections_test.rb +0 -264
  422. data/test/unit/models/site_test.rb +0 -50
  423. data/test/unit/models/task_test.rb +0 -141
  424. data/test/unit/models/user_test.rb +0 -352
  425. data/test/unit/schema_statements_test.rb +0 -41
@@ -1,4 +1,4 @@
1
1
  <div id="footer">
2
2
  <p>&copy; 1998-<%= Time.now.year %> <a href="#">BrowserMedia</a>. All Rights Reserved</p>
3
- <p>Browser CMS v<%= Cms.version %> Rails <%= RAILS_GEM_VERSION %> Env <%= Rails.env %></p>
3
+ <p>Browser CMS v<%= Cms.version %> | Rails <%= Rails.version %> | Env <%= Rails.env %></p>
4
4
  </div>
@@ -4,17 +4,13 @@
4
4
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
5
5
  <title><%= @page_title %></title>
6
6
  <%= stylesheet_link_tag 'cms/application', 'cms/date_picker', 'cms/sitemap', 'cms/taglist' %>
7
- <%= javascript_include_tag 'jquery', 'jquery-ui', 'jquery.dimensions' %>
8
- <%= javascript_include_tag 'jquery.cookie.js', 'jquery.selectbox-0.5.js' %>
9
- <%= javascript_include_tag 'jquery.taglist', '/cms/tags' %>
10
- <%= javascript_include_tag Cms.wysiwig_js %>
11
- <%= javascript_include_tag 'cms/application' %>
7
+ <%= javascript_include_tag :bcms_core %>
12
8
  <script type="text/javascript">
13
9
  jQuery(function($){
14
10
  <% if protect_against_forgery? %>
15
11
  $.cms.authenticity_token = '<%= form_authenticity_token %>'
16
12
  <% end %>
17
- $('input.date_picker').datepicker({ changeFirstDay: false })
13
+ $('input.date_picker').datepicker({ changeFirstDay: false, changeMonth:true, changeYear:true, closeText:'', showButtonPanel: true, dateFormat: '<%= Cms::DatePicker.jquery_format %>' })
18
14
  })
19
15
  </script>
20
16
  <%= yield :html_head %>
@@ -1,51 +1,51 @@
1
- <% content_for :html_head do %>
2
- <%= stylesheet_link_tag("cms/administration.css") %>
3
- <%= stylesheet_link_tag("cms/content_library.css") %>
1
+ <%= content_for :html_head do %>
2
+ <%= stylesheet_link_tag("cms/administration.css") %>
3
+ <%= stylesheet_link_tag("cms/content_library.css") %>
4
4
  <% end %>
5
5
  <%= render :partial => 'layouts/cms/head' %>
6
6
  <body>
7
- <div id="wrapper">
8
- <%= render_cms_toolbar(:administration) %>
9
- <div id="main">
10
-
7
+ <div id="wrapper">
8
+ <%= render_cms_toolbar(:administration) %>
9
+ <div id="main">
10
+
11
11
  <% if current_user.able_to?(:administrate) %>
12
- <div class="top_cap_menu"></div>
12
+ <div class="top_cap_menu"></div>
13
13
  <div id="menu">
14
- <%= render :partial => 'cms/shared/admin_sidebar' %>
14
+ <%= render :partial => 'cms/shared/admin_sidebar' %>
15
15
  </div>
16
16
  <div id="contentwrap">
17
17
  <% else %>
18
- <div class="top_cap"></div>
19
- <div id="contentwrapbig">
18
+ <div class="top_cap"></div>
19
+ <div id="contentwrapbig">
20
+ <% end %>
21
+
22
+ <div id="functions">
23
+ <h1><%= @toolbar_title %></h1>
24
+ <%= yield :functions %>
25
+
26
+ </div>
27
+ <br clear="all"/>
28
+
29
+ <%= able_to?(:administrate) do %>
30
+ <div class="top_cap_content"></div>
20
31
  <% end %>
21
-
22
- <div id="functions">
23
- <h1><%= @toolbar_title %></h1>
24
- <%= yield :functions %>
25
32
 
26
- </div>
27
- <br clear="all" />
28
-
29
- <% able_to?(:administrate) do %>
30
- <div class="top_cap_content"></div>
31
- <% end %>
32
-
33
- <div id="content">
34
- <div class="pad">
35
- <%= yield %>
36
- </div>
33
+ <div id="content">
34
+ <div class="pad">
35
+ <%= yield %>
37
36
  </div>
38
37
  </div>
39
- <br clear="all" />
40
-
38
+ </div>
39
+ <br clear="all"/>
40
+
41
41
  <% if current_user.able_to?(:administrate) %>
42
- <div class="bottom_cap_content"></div>
42
+ <div class="bottom_cap_content"></div>
43
43
  <% else %>
44
- <div class="bottom_cap"></div>
44
+ <div class="bottom_cap"></div>
45
45
  <% end %>
46
-
46
+
47
47
  <%= render :partial => 'layouts/cms/footer' %>
48
+ </div>
48
49
  </div>
49
- </div>
50
50
  </body>
51
51
  </html>
@@ -1,5 +1,5 @@
1
- <% content_for :html_head do %>
2
- <% javascript_tag do %>
1
+ <%= content_for :html_head do %>
2
+ <%= javascript_tag do %>
3
3
  <% if %w[FileBlock ImageBlock].include?(content_type.name) && request.user_agent !~ /MSIE 6/ %>
4
4
  jQuery(function($) {
5
5
  $('#section_id').selectbox({width: '129px'});
@@ -25,7 +25,7 @@
25
25
  <div class="first">
26
26
  <h3>Search</h3>
27
27
  <div class="searchbox">
28
- <% form_tag cms_index_path_for(content_type), :method => :get do -%>
28
+ <%= form_tag cms_index_path_for(content_type), :method => :get do -%>
29
29
  <div id="search_term_container">
30
30
  <%= text_field_tag "search[term]", (params[:search] ? params[:search][:term] : nil) %>
31
31
  </div>
@@ -53,14 +53,14 @@
53
53
  <h3>Content Types</h3>
54
54
  <ul>
55
55
  <% ContentTypeGroup.all(:order => "content_type_groups.id").each do |group| %>
56
- <li<%= ' class="open"' if (group == content_type.content_type_group) %>>
56
+ <li<%= ' class="open"'.html_safe if (group == content_type.content_type_group) %>>
57
57
  <% if group.content_types.blank? %>
58
58
  <%= link_to h(group.name), "#" %>
59
59
  <% else %>
60
60
  <%= link_to h(group.name), cms_index_path_for(group.content_types.first) %>
61
61
  <ul>
62
62
  <% group.content_types.find(:all, :order => 'priority, name').each do |type| %>
63
- <li<%= ' class="on"' if content_type.is_child_of?(type) %>><%= link_to h(type.display_name), cms_index_path_for(type) %></li>
63
+ <li<%= ' class="on"'.html_safe if content_type.is_child_of?(type) %>><%= link_to h(type.display_name), cms_index_path_for(type) %></li>
64
64
  <% end -%>
65
65
  </ul>
66
66
  <% end -%>
@@ -5,7 +5,7 @@
5
5
  <title><%= @page_title %></title>
6
6
  <%= stylesheet_link_tag 'cms/application' %>
7
7
  <%= stylesheet_link_tag 'cms/page_toolbar' %>
8
- <%= javascript_include_tag 'jquery', 'jquery.selectbox-0.5' %>
8
+ <%= javascript_include_tag 'jquery', 'jquery.selectbox-0.5.js' %>
9
9
  <%= javascript_include_tag 'cms/application' %>
10
10
  <% if protect_against_forgery? %><script type="text/javascript">
11
11
  jQuery(function($){
@@ -1,7 +1,7 @@
1
1
  <div class="email-page-portlet">
2
- <% form_for @email_message, :url => cms_handler_path(@portlet, "deliver") do |f| %>
2
+ <%= form_for @email_message, :url => cms_handler_path(@portlet, "deliver") do |f| %>
3
3
  <%= hidden_field_tag :email_page_portlet_url, @email_page_portlet_url %>
4
- <%= f.error_messages %>
4
+ <%= f.cms_error_messages %>
5
5
  <p>
6
6
  <%= f.label :recipients %>
7
7
  <%= f.text_field :recipients %>
@@ -7,7 +7,7 @@
7
7
  <% end -%>
8
8
  <% end -%>
9
9
 
10
- <% form_tag do %>
10
+ <%= form_tag '' do %>
11
11
  <label for="email">Your account email address:</label>
12
12
  <%= text_field_tag "email" %><br>
13
13
  <%= submit_tag "Request reset password token"%>
@@ -1,10 +1,12 @@
1
1
  <div class="login-portlet">
2
2
  <% if logged_in? %>
3
3
  <p>Welcome, <%= current_user.login %></p>
4
- <p><%= link_to "Logout", cms_logout_path %></p>
4
+ <p><%= link_to "Logout", '' %></p>
5
+ <p><%#= link_to "Logout", cms_logout_path %></p>
5
6
  <% else %>
6
7
  <div class="error"><%= flash[:login_error] %></div>
7
- <% form_tag cms_login_path do %>
8
+ <%= form_tag '' do %>
9
+ <%#= form_tag cms_login_path do %>
8
10
  <%= hidden_field_tag :success_url, @success_url %>
9
11
  <%= hidden_field_tag :failure_url, @failure_url %>
10
12
  <p>
@@ -9,7 +9,7 @@
9
9
  <% end -%>
10
10
  <% end -%>
11
11
 
12
- <% form_tag do %>
12
+ <%= form_tag '' do %>
13
13
  <% if params[:token] -%>
14
14
  <%= hidden_field_tag "token", params[:token] %>
15
15
  <% end -%>
@@ -2,4 +2,4 @@
2
2
  uses BrowserCMS as gem.
3
3
  %>
4
4
  <% @page_title = 'Open With Layout' %>
5
- <% content_for :main do %>hello<% end %>
5
+ <%= content_for :main do %>hello<% end %>
data/bin/bcms CHANGED
File without changes
data/bin/bcms-upgrade ADDED
@@ -0,0 +1,232 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'thor'
5
+ require 'term/ansicolor'
6
+ require 'rails/generators/actions'
7
+ require 'active_support/core_ext/string/inflections'
8
+
9
+ class String
10
+ include Term::ANSIColor
11
+ end
12
+
13
+ class App < Thor
14
+ include Thor::Actions
15
+ include Rails::Generators::Actions
16
+
17
+ source_root(File.join(__FILE__, '../../lib/generators/cms/upgrade_module/templates'))
18
+
19
+ desc "check", "Checks the existing module to determine what needs to done."
20
+
21
+ def check
22
+ puts "The following issues are preventing a BrowserCMS/Rails 3 upgrade.\n".red.bold
23
+
24
+ # check for Jeweler usage
25
+ if File.exists?("Rakefile")
26
+ contents = ""
27
+ File.open("Rakefile", "rb") { |f| contents = f.read }
28
+
29
+ using_jeweler = contents.include?('jeweler')
30
+ if using_jeweler
31
+ migrate_jeweler
32
+ end
33
+ end
34
+
35
+ # Check for routes usage
36
+ if File.exists?("lib/#{name_of_module}/routes.rb")
37
+ contents = ""
38
+ File.open("lib/#{name_of_module}/routes.rb", "rb") { |f| contents = f.read }
39
+
40
+ using_rails2_routes = contents.include?('cms.')
41
+ if using_rails2_routes
42
+ migrate_routes
43
+ end
44
+ end
45
+
46
+ instructions = <<TEXT
47
+ Once there are no remaining changes have been made:
48
+ 1. Check in into source control
49
+ 2. Run bcms-upgrade rails cleanup bcms
50
+ TEXT
51
+ puts instructions
52
+ end
53
+
54
+ desc 'v3_3_0', "Upgrades BrowserCMS files from 3.1.x to 3.3.0 (Back up first)"
55
+ def v3_3_0
56
+ upgrade_to_3_3_0
57
+ end
58
+
59
+ desc 'module', "Upgrade a module from Rails 2 to Rails 3. (Backup before running this)"
60
+ def module
61
+ new_rails
62
+ cleanup_rails2_files
63
+ cleanup_rails_3
64
+ cleanup_module
65
+ upgrade_to_3_3_0
66
+ generate_bcms_module
67
+ next_steps
68
+ end
69
+
70
+ desc 'next_steps', "Reprints instructions on final steps (Use after 'upgrade')"
71
+ def next_steps
72
+ header = <<TEXT
73
+ Next Steps:
74
+ ============
75
+ TEXT
76
+ puts header.red
77
+
78
+ instructions = <<TEXT
79
+ This module has been upgraded to BrowserCMS 3.3 and Rails 3! Now just do the following to test:
80
+
81
+ 1. Verify the Gemfile is correct (it may be using MySQL and/or Jeweler, which your project won't need)
82
+ 2. There are several other files you should review that were likely overwritten by rails.
83
+ a. README - [Revert | Delete] Either revert this, or delete it. (If you had a README.markdown for instance)
84
+ b. test/test_helper [Merge | Keep] If you added anything custom to your test_helper, merge the changes into the new file.
85
+ c. config/routes.rb - Any non-standard routes in this file should probably be in your lib/#{name_of_module}/routes.rb so they get packaged with the gem
86
+ 3. rake db:drop db:create db:migrate db:seed - Rebuilds the database
87
+ 4. rake test - Check that your tests still pass
88
+ a. You may get test failure if your tests that don't use 'require 'test_helper' may need it. Just replace existing requires.
89
+ 5. rails server - Start the app and test
90
+ 6. Make sure the gemspec includes the correct files (lib/tasks/build_gem.rake should not be included)
91
+ 7. If you have migrations that need to be in the gem, edit lib/generators/#{name_of_module}/install/install_generators.
92
+ 8. Portlets/blocks may need to update their render.html.erb to include .html_safe for any content being output as HTML.
93
+ 9. Release the gem (rake release)
94
+
95
+ TEXT
96
+ puts instructions
97
+ end
98
+
99
+ private
100
+
101
+ def new_rails
102
+ puts "Overwriting with Rails 3 code."
103
+ run "rails new . -f"
104
+ end
105
+
106
+ # Removes any files which are Rails 2 specific
107
+ def cleanup_rails2_files
108
+ %w{about console dbconsole destroy generate performance plugin runner server}.each do |script_name|
109
+ remove_file "script/#{script_name}"
110
+ end
111
+ remove_file "config/initializers/new_rails_defaults.rb"
112
+
113
+ end
114
+
115
+ # Clean up or revert all files associated with Rails 3 that should be rolled back or removed.
116
+ def cleanup_rails_3
117
+ remove_file "public/index.html"
118
+ end
119
+
120
+ def cleanup_module
121
+ remove_file "rails/init.rb"
122
+ remove_file "rails"
123
+ remove_file "db/migrate/20080815014337_browsercms_3_0_0.rb"
124
+ remove_file "db/migrate/20081114172307_load_seed_data.rb"
125
+ remove_file "db/migrate/20091109175123_browsercms_3_0_5.rb"
126
+ remove_file "app/views/layouts/application.html.erb"
127
+ remove_file "config/initializers/init_module.rb"
128
+
129
+ puts "Reverting some files using git.".red
130
+ git :checkout => '.gitignore'
131
+ git :checkout => 'doc/README_FOR_APP'
132
+ git :checkout => 'config/database.yml'
133
+ end
134
+
135
+ def upgrade_to_3_3_0
136
+ # Remove public files where are now served from CMS core.
137
+ remove_file 'public/bcms/ckeditor'
138
+ remove_file 'public/images/cms'
139
+ remove_file 'public/javascripts/cms'
140
+ remove_file 'public/stylesheets/cms'
141
+ %w{jquery jquery.-ui jquery.contextMenu jquery.cookie jquery.dimensions jquery.selectbox-0.5 jquery.taglist jquery.thickbox}.each do |js|
142
+ remove_file "public/javascripts/#{js}.js"
143
+ end
144
+
145
+ copy_file '20100705083859_browsercms_3_3_0.rb', 'db/migrate/20100705083859_browsercms_3_3_0.rb'
146
+ end
147
+
148
+ def generate_bcms_module
149
+ gem 'browsercms'
150
+ gem 'mysql'
151
+ gem 'jeweler', :group=>:development
152
+
153
+ # Allows gem to be loaded as a engine for testing.
154
+ append_to_file 'Gemfile', 'gemspec'
155
+
156
+
157
+ template 'engine.erb', "lib/#{name_of_module}/engine.rb"
158
+ prepend_to_file "lib/#{name_of_module}.rb" do
159
+ "require '#{name_of_module}/engine'\n"
160
+ end
161
+ route "routes_for_browser_cms"
162
+ route "routes_for_#{name_of_module}"
163
+
164
+ template 'install.erb', "lib/generators/#{name_of_module}/install/install_generator.rb"
165
+ template 'USAGE.erb', "lib/generators/#{name_of_module}/install/USAGE"
166
+ empty_directory "lib/generators/#{name_of_module}/install/templates"
167
+
168
+
169
+ run "rails g browser_cms:cms -f"
170
+ run 'rails g cms:template default'
171
+
172
+
173
+ end
174
+
175
+
176
+ def migrate_jeweler
177
+
178
+ instructions = <<TEXT
179
+ Move Jeweler Code
180
+ ============
181
+ 1. Copy any Jeweler related files from your Rakefile into lib/tasks/build_gem.rake.
182
+ 2. Run rake -T and make sure all Jeweler tasks are still there.
183
+
184
+ Alternatively, you may use bundler to handle the packaging.
185
+ TEXT
186
+ alert("Using Jeweler", instructions, "https://github.com/browsermedia/browsercms/wiki/Upgrading-Jeweler-with-Rails-3", ["Rakefile"])
187
+ copy_file 'build_gem.rake', 'lib/tasks/build_gem.rake'
188
+
189
+ end
190
+
191
+
192
+ def migrate_routes
193
+ instructions = <<TEXT
194
+ Edit lib/#{name_of_module}/routes.rb
195
+ =====
196
+ # Make it Rails 3 style
197
+ module Cms::Routes
198
+ def routes_for_#{name_of_module}
199
+ namespace(:cms) do
200
+ content_blocks :name_of_blocks
201
+ end
202
+ end
203
+ end
204
+ TEXT
205
+ alert("Obsolete Routing API", instructions, 'https://github.com/browsermedia/browsercms/wiki/Upgrading-Routes-to-Rails-3', ["lib/#{name_of_module}/routes.rb"])
206
+
207
+ end
208
+
209
+ def name_of_module
210
+ File.basename(Dir.pwd)
211
+ end
212
+
213
+ def gem_name
214
+ name_of_module.camelize
215
+ end
216
+
217
+ # Borrowed from https://github.com/jm/rails-upgrade/blob/master/lib/rails-upgrade/upgraders/check.rb
218
+ def alert(title, text, more_info_url, culprits)
219
+ puts title.red.bold
220
+ puts text.white
221
+ puts "More information: ".white.bold + more_info_url.blue
222
+ puts
223
+ puts "The culprits: ".white
224
+ culprits.each do |c|
225
+ puts "\t- #{c}".yellow
226
+ end
227
+ ensure
228
+ puts "".reset
229
+ end
230
+ end
231
+
232
+ App.start
data/bin/browsercms CHANGED
@@ -60,14 +60,14 @@ end
60
60
  # Replace short hand versions of the templates with the absolute path on the local machine.
61
61
  CommandLine.set_template(ARGV)
62
62
  command = (RUBY_PLATFORM =~ /mswin32/ ? "cmd /c " : "")
63
- command += "rails #{ARGV.join(" ")}"
63
+ command += "rails new #{ARGV.join(" ")}"
64
64
  success = system(command)
65
65
 
66
66
  project_name = ARGV[0]
67
67
  if (success)
68
68
  puts "\nCreated new BrowserCMS project '#{project_name}'."
69
69
  puts " To get started, type 'cd #{project_name}'"
70
- puts " then 'ruby script/server' and open your browser to 'http://localhost:3000'."
70
+ puts " then 'rails server' and open your browser to 'http://localhost:3000'."
71
71
  else
72
72
  puts "\n Unable to create BrowserCMS project '#{project_name}'."
73
73
  end