browsercms 3.3.4 → 3.4.0.rc1

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 (1153) hide show
  1. data/.gitignore +24 -0
  2. data/.rvmrc +2 -0
  3. data/COPYRIGHT.txt +26 -0
  4. data/GPL.txt +674 -0
  5. data/Gemfile +29 -0
  6. data/Gemfile.lock +192 -0
  7. data/README.markdown +4 -14
  8. data/Rakefile +97 -0
  9. data/app/assets/images/browsercms/.gitkeep +0 -0
  10. data/{public → app/assets}/images/cms/administration/user_browser_bg.gif +0 -0
  11. data/{public → app/assets}/images/cms/bg.png +0 -0
  12. data/{public → app/assets}/images/cms/bl_curve.png +0 -0
  13. data/{public → app/assets}/images/cms/bottom_cap.png +0 -0
  14. data/{public → app/assets}/images/cms/bottom_cap_content.png +0 -0
  15. data/{public → app/assets}/images/cms/browse.gif +0 -0
  16. data/{public → app/assets}/images/cms/browser_media_logo.png +0 -0
  17. data/{public → app/assets}/images/cms/browsercms_logo.png +0 -0
  18. data/{public → app/assets}/images/cms/buttons/button.png +0 -0
  19. data/{public → app/assets}/images/cms/buttons/button_bg.png +0 -0
  20. data/{public → app/assets}/images/cms/buttons/button_cap.png +0 -0
  21. data/{public → app/assets}/images/cms/buttons/button_cap_h.png +0 -0
  22. data/{public → app/assets}/images/cms/buttons/button_cap_off.gif +0 -0
  23. data/{public → app/assets}/images/cms/buttons/button_cap_off_middle.gif +0 -0
  24. data/{public → app/assets}/images/cms/buttons/button_h.png +0 -0
  25. data/{public → app/assets}/images/cms/buttons/button_left_bg.png +0 -0
  26. data/{public → app/assets}/images/cms/buttons/button_off.png +0 -0
  27. data/{public → app/assets}/images/cms/buttons/button_off_middle.png +0 -0
  28. data/{public → app/assets}/images/cms/buttons/delete_x.png +0 -0
  29. data/{public → app/assets}/images/cms/buttons/delete_x_disabled.png +0 -0
  30. data/{public → app/assets}/images/cms/buttons/delete_x_h.png +0 -0
  31. data/{public → app/assets}/images/cms/buttons/sm_button.gif +0 -0
  32. data/{public → app/assets}/images/cms/buttons/sm_button_2.gif +0 -0
  33. data/{public → app/assets}/images/cms/buttons/sm_button_2_h.gif +0 -0
  34. data/{public → app/assets}/images/cms/buttons/sm_button_h.gif +0 -0
  35. data/{public → app/assets}/images/cms/containers/add.gif +0 -0
  36. data/{public → app/assets}/images/cms/containers/alpha.png +0 -0
  37. data/{public → app/assets}/images/cms/containers/beta.png +0 -0
  38. data/{public → app/assets}/images/cms/containers/delete.gif +0 -0
  39. data/{public → app/assets}/images/cms/containers/down.gif +0 -0
  40. data/{public → app/assets}/images/cms/containers/edit.gif +0 -0
  41. data/{public → app/assets}/images/cms/containers/up.gif +0 -0
  42. data/{public → app/assets}/images/cms/containers/view.gif +0 -0
  43. data/{public → app/assets}/images/cms/content_bg.gif +0 -0
  44. data/{public → app/assets}/images/cms/dashboard/bottom_cap.png +0 -0
  45. data/{public → app/assets}/images/cms/dashboard/bottom_cap_content.png +0 -0
  46. data/{public → app/assets}/images/cms/dashboard/header_bg.gif +0 -0
  47. data/{public → app/assets}/images/cms/dashboard/header_left_bg.gif +0 -0
  48. data/{public → app/assets}/images/cms/dashboard/table_header_bg.gif +0 -0
  49. data/{public → app/assets}/images/cms/dashboard/top_cap.png +0 -0
  50. data/{public → app/assets}/images/cms/dashed.gif +0 -0
  51. data/{public → app/assets}/images/cms/datepicker/clear.gif +0 -0
  52. data/{public → app/assets}/images/cms/datepicker/close.gif +0 -0
  53. data/{public → app/assets}/images/cms/dk_button_l.gif +0 -0
  54. data/{public → app/assets}/images/cms/dk_button_r.gif +0 -0
  55. data/{public → app/assets}/images/cms/dot.png +0 -0
  56. data/{public → app/assets}/images/cms/draft_status.gif +0 -0
  57. data/{public → app/assets}/images/cms/gray_long_bg.gif +0 -0
  58. data/{public → app/assets}/images/cms/icons/actions/add.png +0 -0
  59. data/{public → app/assets}/images/cms/icons/actions/config.png +0 -0
  60. data/{public → app/assets}/images/cms/icons/actions/connect.png +0 -0
  61. data/{public → app/assets}/images/cms/icons/actions/delete.png +0 -0
  62. data/{public → app/assets}/images/cms/icons/actions/down.png +0 -0
  63. data/{public → app/assets}/images/cms/icons/actions/edit.png +0 -0
  64. data/{public → app/assets}/images/cms/icons/actions/folder.png +0 -0
  65. data/{public → app/assets}/images/cms/icons/actions/folder_add.png +0 -0
  66. data/{public → app/assets}/images/cms/icons/actions/folder_delete.png +0 -0
  67. data/{public → app/assets}/images/cms/icons/actions/folder_edit.png +0 -0
  68. data/{public → app/assets}/images/cms/icons/actions/folder_move.png +0 -0
  69. data/{public → app/assets}/images/cms/icons/actions/folder_open.png +0 -0
  70. data/{public → app/assets}/images/cms/icons/actions/history.png +0 -0
  71. data/{public → app/assets}/images/cms/icons/actions/home.png +0 -0
  72. data/{public → app/assets}/images/cms/icons/actions/left.png +0 -0
  73. data/{public → app/assets}/images/cms/icons/actions/link.png +0 -0
  74. data/{public → app/assets}/images/cms/icons/actions/page.png +0 -0
  75. data/{public → app/assets}/images/cms/icons/actions/page_add.png +0 -0
  76. data/{public → app/assets}/images/cms/icons/actions/page_edit.png +0 -0
  77. data/{public → app/assets}/images/cms/icons/actions/page_move.png +0 -0
  78. data/{public → app/assets}/images/cms/icons/actions/redo.png +0 -0
  79. data/{public → app/assets}/images/cms/icons/actions/refresh.png +0 -0
  80. data/{public → app/assets}/images/cms/icons/actions/right.png +0 -0
  81. data/{public → app/assets}/images/cms/icons/actions/root_folder.png +0 -0
  82. data/{public → app/assets}/images/cms/icons/actions/root_link.png +0 -0
  83. data/{public → app/assets}/images/cms/icons/actions/root_page.png +0 -0
  84. data/{public → app/assets}/images/cms/icons/actions/undo.png +0 -0
  85. data/{public → app/assets}/images/cms/icons/actions/up.png +0 -0
  86. data/{public → app/assets}/images/cms/icons/actions/view.png +0 -0
  87. data/{public → app/assets}/images/cms/icons/file_types/doc.png +0 -0
  88. data/{public → app/assets}/images/cms/icons/file_types/file.png +0 -0
  89. data/{public → app/assets}/images/cms/icons/file_types/gif.png +0 -0
  90. data/{public → app/assets}/images/cms/icons/file_types/htm.png +0 -0
  91. data/{public → app/assets}/images/cms/icons/file_types/pdf.png +0 -0
  92. data/{public → app/assets}/images/cms/icons/file_types/ppt.png +0 -0
  93. data/{public → app/assets}/images/cms/icons/file_types/swf.png +0 -0
  94. data/{public → app/assets}/images/cms/icons/file_types/txt.png +0 -0
  95. data/{public → app/assets}/images/cms/icons/file_types/xls.png +0 -0
  96. data/{public → app/assets}/images/cms/icons/file_types/xml.png +0 -0
  97. data/{public → app/assets}/images/cms/icons/file_types/zip.png +0 -0
  98. data/{public → app/assets}/images/cms/icons/status/archived.gif +0 -0
  99. data/{public → app/assets}/images/cms/icons/status/draft.gif +0 -0
  100. data/{public → app/assets}/images/cms/icons/status/hidden.gif +0 -0
  101. data/{public → app/assets}/images/cms/icons/status/locked.gif +0 -0
  102. data/{public → app/assets}/images/cms/icons/status/published.gif +0 -0
  103. data/{public → app/assets}/images/cms/icons/status/unlocked.gif +0 -0
  104. data/{public → app/assets}/images/cms/icons/user.png +0 -0
  105. data/{public → app/assets}/images/cms/login_bg.jpg +0 -0
  106. data/{public → app/assets}/images/cms/login_bottom.jpg +0 -0
  107. data/{public → app/assets}/images/cms/login_top.gif +0 -0
  108. data/{public → app/assets}/images/cms/lt_button_bg.gif +0 -0
  109. data/{public → app/assets}/images/cms/lt_button_l.gif +0 -0
  110. data/{public → app/assets}/images/cms/lt_button_r.gif +0 -0
  111. data/{public → app/assets}/images/cms/menu.png +0 -0
  112. data/{public → app/assets}/images/cms/menu/block_cap_h.gif +0 -0
  113. data/{public → app/assets}/images/cms/menu/bottom_cap.png +0 -0
  114. data/{public → app/assets}/images/cms/menu/bottom_cap_menu.png +0 -0
  115. data/{public → app/assets}/images/cms/menu/bottom_cap_menu_first.png +0 -0
  116. data/{public → app/assets}/images/cms/menu/menu_header_first_bg.gif +0 -0
  117. data/{public → app/assets}/images/cms/menu/selected_block_cap.gif +0 -0
  118. data/{public → app/assets}/images/cms/menu/top_cap.png +0 -0
  119. data/{public → app/assets}/images/cms/menu/top_cap_menu_header.png +0 -0
  120. data/{public → app/assets}/images/cms/menu_h.gif +0 -0
  121. data/{public → app/assets}/images/cms/menu_header.png +0 -0
  122. data/{public → app/assets}/images/cms/menu_open.png +0 -0
  123. data/{public → app/assets}/images/cms/menu_open_bg.gif +0 -0
  124. data/{public → app/assets}/images/cms/nav.png +0 -0
  125. data/{public → app/assets}/images/cms/nav/on_bg.gif +0 -0
  126. data/{public → app/assets}/images/cms/nav_admin.gif +0 -0
  127. data/{public → app/assets}/images/cms/nav_admin_h.gif +0 -0
  128. data/{public → app/assets}/images/cms/nav_admin_on.gif +0 -0
  129. data/{public → app/assets}/images/cms/nav_cap.png +0 -0
  130. data/{public → app/assets}/images/cms/nav_cap_h.gif +0 -0
  131. data/{public → app/assets}/images/cms/nav_content_library.gif +0 -0
  132. data/{public → app/assets}/images/cms/nav_content_library_h.gif +0 -0
  133. data/{public → app/assets}/images/cms/nav_content_library_on.gif +0 -0
  134. data/{public → app/assets}/images/cms/nav_dash.gif +0 -0
  135. data/{public → app/assets}/images/cms/nav_dash_h.gif +0 -0
  136. data/{public → app/assets}/images/cms/nav_dash_on.gif +0 -0
  137. data/{public → app/assets}/images/cms/nav_h.gif +0 -0
  138. data/{public → app/assets}/images/cms/nav_sitemap.gif +0 -0
  139. data/{public → app/assets}/images/cms/nav_sitemap_h.gif +0 -0
  140. data/{public → app/assets}/images/cms/nav_sitemap_on.gif +0 -0
  141. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_bg.gif +0 -0
  142. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_inset_bg.gif +0 -0
  143. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_inset_draft_bg.gif +0 -0
  144. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_inset_draft_l.gif +0 -0
  145. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_inset_draft_r.gif +0 -0
  146. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_inset_l.gif +0 -0
  147. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_inset_published_bg.gif +0 -0
  148. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_inset_published_l.gif +0 -0
  149. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_inset_published_r.gif +0 -0
  150. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_inset_r.gif +0 -0
  151. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_l.gif +0 -0
  152. data/{public → app/assets}/images/cms/page_toolbar/page_toolbar_r.gif +0 -0
  153. data/{public → app/assets}/images/cms/page_toolbar/status_draft_bg.gif +0 -0
  154. data/{public → app/assets}/images/cms/page_toolbar/status_draft_l.gif +0 -0
  155. data/{public → app/assets}/images/cms/page_toolbar/status_l.gif +0 -0
  156. data/{public → app/assets}/images/cms/page_toolbar/status_published_bg.gif +0 -0
  157. data/{public → app/assets}/images/cms/page_toolbar/status_published_l.gif +0 -0
  158. data/{public → app/assets}/images/cms/page_toolbar/visual_editor_bg.gif +0 -0
  159. data/{public → app/assets}/images/cms/page_toolbar/visual_editor_end.gif +0 -0
  160. data/{public → app/assets}/images/cms/page_toolbar/visual_editor_r.gif +0 -0
  161. data/{public → app/assets}/images/cms/page_toolbar/visual_editor_state_bg.gif +0 -0
  162. data/{public → app/assets}/images/cms/pages/add_connectable.gif +0 -0
  163. data/{public → app/assets}/images/cms/pages/connect_connectable.gif +0 -0
  164. data/{public → app/assets}/images/cms/pages/container_border.gif +0 -0
  165. data/{public → app/assets}/images/cms/pages/container_border_l.gif +0 -0
  166. data/{public → app/assets}/images/cms/pages/container_border_r.gif +0 -0
  167. data/{public → app/assets}/images/cms/pages/delete_connectable.gif +0 -0
  168. data/{public → app/assets}/images/cms/pages/down_connectable.gif +0 -0
  169. data/{public → app/assets}/images/cms/pages/down_connectable_disabled.gif +0 -0
  170. data/{public → app/assets}/images/cms/pages/edit_connectable.gif +0 -0
  171. data/{public → app/assets}/images/cms/pages/edit_connectable_2.gif +0 -0
  172. data/{public → app/assets}/images/cms/pages/show_connectable.gif +0 -0
  173. data/{public → app/assets}/images/cms/pages/up_connectable.gif +0 -0
  174. data/{public → app/assets}/images/cms/pages/up_connectable_disabled.gif +0 -0
  175. data/{public → app/assets}/images/cms/pagination/first.gif +0 -0
  176. data/{public → app/assets}/images/cms/pagination/first_h.gif +0 -0
  177. data/{public → app/assets}/images/cms/pagination/input.gif +0 -0
  178. data/{public → app/assets}/images/cms/pagination/last.gif +0 -0
  179. data/{public → app/assets}/images/cms/pagination/last_h.gif +0 -0
  180. data/{public → app/assets}/images/cms/pagination/next.gif +0 -0
  181. data/{public → app/assets}/images/cms/pagination/next_h.gif +0 -0
  182. data/{public → app/assets}/images/cms/pagination/previous.gif +0 -0
  183. data/{public → app/assets}/images/cms/pagination/previous_h.gif +0 -0
  184. data/{public → app/assets}/images/cms/published_status.gif +0 -0
  185. data/{public → app/assets}/images/cms/search.png +0 -0
  186. data/{public → app/assets}/images/cms/search_submit.gif +0 -0
  187. data/{public → app/assets}/images/cms/search_submit_h.gif +0 -0
  188. data/{public → app/assets}/images/cms/searchbox_gradient.gif +0 -0
  189. data/{public → app/assets}/images/cms/select_bg.gif +0 -0
  190. data/{public → app/assets}/images/cms/select_bg_2.gif +0 -0
  191. data/{public → app/assets}/images/cms/sitemap/bottom_cap.png +0 -0
  192. data/{public → app/assets}/images/cms/sitemap/buffer_caps.png +0 -0
  193. data/{public → app/assets}/images/cms/sitemap/contract.png +0 -0
  194. data/{public → app/assets}/images/cms/sitemap/corners.gif +0 -0
  195. data/{public → app/assets}/images/cms/sitemap/corners_hover.gif +0 -0
  196. data/{public → app/assets}/images/cms/sitemap/divider.gif +0 -0
  197. data/{public → app/assets}/images/cms/sitemap/expand.png +0 -0
  198. data/{public → app/assets}/images/cms/sitemap/gradient.gif +0 -0
  199. data/{public → app/assets}/images/cms/sitemap/gray_contract.png +0 -0
  200. data/{public → app/assets}/images/cms/sitemap/gray_expand.png +0 -0
  201. data/{public → app/assets}/images/cms/sitemap/no_contents.png +0 -0
  202. data/{public → app/assets}/images/cms/sitemap/site_root_cap.png +0 -0
  203. data/{public → app/assets}/images/cms/sitemap/tooltip.gif +0 -0
  204. data/{public → app/assets}/images/cms/sitemap/top_cap_content.png +0 -0
  205. data/{public → app/assets}/images/cms/solid.gif +0 -0
  206. data/{public → app/assets}/images/cms/table/bl.gif +0 -0
  207. data/{public → app/assets}/images/cms/table/br.gif +0 -0
  208. data/{public → app/assets}/images/cms/table/divider.gif +0 -0
  209. data/{public → app/assets}/images/cms/table/td_cap_first_h.gif +0 -0
  210. data/{public → app/assets}/images/cms/table/td_cap_first_s.gif +0 -0
  211. data/{public → app/assets}/images/cms/table/td_cap_last_h.gif +0 -0
  212. data/{public → app/assets}/images/cms/table/td_cap_last_s.gif +0 -0
  213. data/{public → app/assets}/images/cms/table/td_last_bg.gif +0 -0
  214. data/{public → app/assets}/images/cms/table/th_bg.gif +0 -0
  215. data/{public → app/assets}/images/cms/table/th_divider.gif +0 -0
  216. data/{public → app/assets}/images/cms/table/th_last_bg.gif +0 -0
  217. data/{public → app/assets}/images/cms/table/tl.gif +0 -0
  218. data/{public → app/assets}/images/cms/table/tr.gif +0 -0
  219. data/{public → app/assets}/images/cms/table/tr_bg.gif +0 -0
  220. data/{public → app/assets}/images/cms/toolbar_bg.png +0 -0
  221. data/{public → app/assets}/images/cms/top_cap.png +0 -0
  222. data/{public → app/assets}/images/cms/top_cap_content.png +0 -0
  223. data/{public → app/assets}/images/cms/top_cap_menu_header.png +0 -0
  224. data/{public → app/assets}/images/cms/user_search_submit.gif +0 -0
  225. data/{public → app/assets}/images/cms/usercontrols_bg.png +0 -0
  226. data/{public → app/assets}/images/cms/usercontrols_bg_cap.png +0 -0
  227. data/app/assets/javascripts/browsercms/application.js +9 -0
  228. data/app/assets/javascripts/cms/application.js +11 -0
  229. data/app/assets/javascripts/cms/content_library.js +102 -0
  230. data/app/assets/javascripts/cms/core_library.js +158 -0
  231. data/app/assets/javascripts/cms/sitemap.js.erb +464 -0
  232. data/app/assets/javascripts/cms/toolbar.js +5 -0
  233. data/app/assets/javascripts/jquery.taglist.js +143 -0
  234. data/app/assets/stylesheets/browsercms/application.css +7 -0
  235. data/app/assets/stylesheets/cms/administration.css.erb +91 -0
  236. data/app/assets/stylesheets/cms/application.css.erb +170 -0
  237. data/{public → app/assets}/stylesheets/cms/block.css +0 -0
  238. data/app/assets/stylesheets/cms/buttons.css.erb +120 -0
  239. data/app/assets/stylesheets/cms/content_library.css.erb +139 -0
  240. data/{public → app/assets}/stylesheets/cms/content_types.css +0 -0
  241. data/app/assets/stylesheets/cms/dashboard.css.erb +118 -0
  242. data/app/assets/stylesheets/cms/data_table.css.erb.erb +156 -0
  243. data/app/assets/stylesheets/cms/date_picker.css.erb +82 -0
  244. data/app/assets/stylesheets/cms/form_layout.css.erb +281 -0
  245. data/app/assets/stylesheets/cms/login.css.erb +78 -0
  246. data/app/assets/stylesheets/cms/menu.css.erb +116 -0
  247. data/app/assets/stylesheets/cms/nav.css.erb +99 -0
  248. data/app/assets/stylesheets/cms/page_toolbar.css.erb +135 -0
  249. data/{public → app/assets}/stylesheets/cms/reset.css +0 -0
  250. data/app/assets/stylesheets/cms/selectbox.css.erb +56 -0
  251. data/app/assets/stylesheets/cms/sitemap.css.erb +390 -0
  252. data/{public → app/assets}/stylesheets/cms/taglist.css +0 -0
  253. data/app/controllers/browsercms/application_controller.rb +4 -0
  254. data/app/controllers/cms/application_controller.rb +5 -2
  255. data/app/controllers/cms/attachments_controller.rb +3 -1
  256. data/app/controllers/cms/base_controller.rb +3 -1
  257. data/app/controllers/cms/cache_controller.rb +3 -1
  258. data/app/controllers/cms/categories_controller.rb +6 -4
  259. data/app/controllers/cms/category_types_controller.rb +5 -3
  260. data/app/controllers/cms/connectors_controller.rb +3 -1
  261. data/app/controllers/cms/content_block_controller.rb +26 -21
  262. data/app/controllers/cms/content_controller.rb +14 -7
  263. data/app/controllers/cms/content_types_controller.rb +3 -1
  264. data/app/controllers/cms/dashboard_controller.rb +5 -3
  265. data/app/controllers/cms/dynamic_views_controller.rb +58 -51
  266. data/app/controllers/cms/email_messages_controller.rb +3 -1
  267. data/app/controllers/cms/file_blocks_controller.rb +3 -1
  268. data/app/controllers/cms/groups_controller.rb +4 -2
  269. data/app/controllers/cms/home_controller.rb +5 -3
  270. data/app/controllers/cms/html_blocks_controller.rb +4 -2
  271. data/app/controllers/cms/image_blocks_controller.rb +3 -1
  272. data/app/controllers/cms/links_controller.rb +9 -7
  273. data/app/controllers/cms/page_route_conditions_controller.rb +3 -1
  274. data/app/controllers/cms/page_route_options_controller.rb +3 -1
  275. data/app/controllers/cms/page_route_requirements_controller.rb +3 -1
  276. data/app/controllers/cms/page_routes_controller.rb +6 -4
  277. data/app/controllers/cms/pages_controller.rb +8 -6
  278. data/app/controllers/cms/portlet_controller.rb +18 -15
  279. data/app/controllers/cms/portlets_controller.rb +8 -6
  280. data/app/controllers/cms/redirects_controller.rb +3 -1
  281. data/app/controllers/cms/resource_controller.rb +10 -4
  282. data/app/controllers/cms/routes_controller.rb +4 -2
  283. data/app/controllers/cms/section_nodes_controller.rb +3 -1
  284. data/app/controllers/cms/sections_controller.rb +12 -12
  285. data/app/controllers/cms/sessions_controller.rb +4 -2
  286. data/app/controllers/cms/tags_controller.rb +5 -1
  287. data/app/controllers/cms/tasks_controller.rb +6 -4
  288. data/app/controllers/cms/toolbar_controller.rb +4 -2
  289. data/app/controllers/cms/users_controller.rb +8 -6
  290. data/app/helpers/cms/application_helper.rb +17 -25
  291. data/app/helpers/cms/content_block_helper.rb +27 -0
  292. data/app/helpers/cms/menu_helper.rb +1 -1
  293. data/app/helpers/cms/page_helper.rb +13 -12
  294. data/app/helpers/cms/path_helper.rb +59 -24
  295. data/app/helpers/cms/rendering_helper.rb +1 -0
  296. data/app/helpers/cms/template_support.rb +4 -1
  297. data/app/helpers/cms/ui_elements_helper.rb +21 -0
  298. data/app/models/cms/abstract_file_block.rb +41 -0
  299. data/app/models/cms/attachment.rb +184 -0
  300. data/app/models/cms/category.rb +41 -0
  301. data/app/models/cms/category_type.rb +37 -0
  302. data/app/models/cms/connector.rb +83 -0
  303. data/app/models/cms/content_type.rb +130 -0
  304. data/app/models/cms/content_type_group.rb +13 -0
  305. data/app/models/cms/dynamic_view.rb +102 -0
  306. data/app/models/cms/email_message.rb +31 -0
  307. data/app/models/cms/email_message_mailer.rb +12 -0
  308. data/app/models/cms/file_block.rb +11 -0
  309. data/app/models/cms/forgot_password_mailer.rb +14 -0
  310. data/app/models/cms/group.rb +49 -0
  311. data/app/models/cms/group_permission.rb +10 -0
  312. data/app/models/cms/group_section.rb +6 -0
  313. data/app/models/cms/group_type.rb +14 -0
  314. data/app/models/cms/group_type_permission.rb +6 -0
  315. data/app/models/cms/guest_user.rb +57 -0
  316. data/app/models/cms/html_block.rb +42 -0
  317. data/app/models/cms/image_block.rb +11 -0
  318. data/app/models/cms/link.rb +18 -0
  319. data/app/models/cms/page.rb +321 -0
  320. data/app/models/cms/page_partial.rb +32 -0
  321. data/app/models/cms/page_route.rb +136 -0
  322. data/app/models/cms/page_route_condition.rb +4 -0
  323. data/app/models/cms/page_route_option.rb +5 -0
  324. data/app/models/cms/page_route_requirement.rb +4 -0
  325. data/app/models/cms/page_template.rb +40 -0
  326. data/app/models/cms/permission.rb +12 -0
  327. data/app/models/cms/portlet.rb +182 -0
  328. data/app/models/cms/redirect.rb +6 -0
  329. data/app/models/cms/section.rb +199 -0
  330. data/app/models/cms/section_node.rb +108 -0
  331. data/app/models/cms/site.rb +42 -0
  332. data/app/models/cms/tag.rb +65 -0
  333. data/app/models/cms/tagging.rb +11 -0
  334. data/app/models/cms/task.rb +78 -0
  335. data/app/models/cms/templates.rb +32 -0
  336. data/app/models/cms/user.rb +173 -0
  337. data/app/models/cms/user_group_membership.rb +6 -0
  338. data/app/models/cms/view_context.rb +1 -1
  339. data/app/portlets/dynamic_portlet.rb +2 -2
  340. data/app/portlets/email_page_portlet.rb +8 -7
  341. data/app/portlets/forgot_password_portlet.rb +4 -3
  342. data/app/portlets/login_portlet.rb +2 -2
  343. data/app/portlets/reset_password_portlet.rb +2 -2
  344. data/app/portlets/tag_cloud_portlet.rb +3 -3
  345. data/app/views/cms/blocks/_toolbar_for_member.html.erb +6 -6
  346. data/app/views/cms/blocks/edit.html.erb +2 -4
  347. data/app/views/cms/blocks/index.html.erb +14 -54
  348. data/app/views/cms/blocks/new.html.erb +1 -3
  349. data/app/views/cms/blocks/show.html.erb +1 -1
  350. data/app/views/cms/blocks/versions.html.erb +2 -2
  351. data/app/views/cms/cache/show.html.erb +1 -1
  352. data/app/views/cms/categories/_form.html.erb +8 -8
  353. data/app/views/cms/connectors/new.html.erb +4 -4
  354. data/app/views/cms/content_types/index.html.erb +3 -3
  355. data/app/views/cms/dashboard/_page_drafts.html.erb +1 -1
  356. data/app/views/cms/dashboard/_tasks.html.erb +1 -1
  357. data/app/views/cms/dashboard/index.html.erb +2 -2
  358. data/app/views/cms/dynamic_views/_form.html.erb +2 -2
  359. data/app/views/cms/dynamic_views/index.html.erb +7 -7
  360. data/app/views/cms/dynamic_views/new.html.erb +1 -1
  361. data/app/views/cms/email_messages/index.html.erb +2 -2
  362. data/app/views/cms/file_blocks/_form.html.erb +4 -3
  363. data/app/views/cms/file_blocks/render.html.erb +1 -1
  364. data/app/views/cms/form_builder/_cms_template_editor.html.erb +1 -0
  365. data/app/views/cms/groups/_form.html.erb +4 -5
  366. data/app/views/cms/groups/_permissions.html.erb +2 -2
  367. data/app/views/cms/groups/_sections.html.erb +1 -1
  368. data/app/views/cms/groups/index.html.erb +5 -5
  369. data/app/views/cms/image_blocks/_form.html.erb +1 -1
  370. data/app/views/cms/links/edit.html.erb +3 -4
  371. data/app/views/cms/links/new.html.erb +3 -4
  372. data/app/views/cms/page_routes/_form.html.erb +3 -3
  373. data/app/views/cms/page_routes/edit.html.erb +1 -1
  374. data/app/views/cms/page_routes/index.html.erb +2 -2
  375. data/app/views/cms/page_routes/new.html.erb +1 -1
  376. data/app/views/cms/page_routes/show.html.erb +5 -6
  377. data/app/views/cms/pages/_edit_connector.html.erb +5 -5
  378. data/app/views/cms/pages/_edit_container.html.erb +3 -3
  379. data/app/views/cms/pages/_form.html.erb +1 -1
  380. data/app/views/cms/pages/edit.html.erb +2 -2
  381. data/app/views/cms/pages/new.html.erb +3 -3
  382. data/app/views/cms/redirects/_form.html.erb +1 -1
  383. data/app/views/cms/redirects/index.html.erb +1 -1
  384. data/app/views/cms/redirects/new.html.erb +1 -1
  385. data/app/views/cms/routes/index.html.erb +1 -1
  386. data/app/views/cms/section_nodes/_section_node.html.erb +10 -0
  387. data/app/views/cms/sections/edit.html.erb +2 -3
  388. data/app/views/cms/sections/new.html.erb +2 -2
  389. data/app/views/cms/sessions/new.html.erb +1 -1
  390. data/app/views/cms/shared/_admin_sidebar.html.erb +8 -8
  391. data/app/views/cms/tags/render.html.erb +2 -2
  392. data/app/views/cms/tasks/new.html.erb +2 -2
  393. data/app/views/cms/users/_form.html.erb +1 -1
  394. data/app/views/cms/users/_groups.html.erb +1 -1
  395. data/app/views/cms/users/_toolbar.html.erb +4 -2
  396. data/app/views/cms/users/change_password.html.erb +3 -3
  397. data/app/views/cms/users/edit.html.erb +2 -2
  398. data/app/views/cms/users/index.html.erb +5 -5
  399. data/app/views/cms/users/new.html.erb +1 -1
  400. data/app/views/cms/users/show.html.erb +2 -2
  401. data/app/views/layouts/_cms_toolbar.html.erb +14 -14
  402. data/app/views/layouts/_page_toolbar.html.erb +8 -8
  403. data/app/views/layouts/browsercms/application.html.erb +14 -0
  404. data/app/views/layouts/cms/_head.html.erb +1 -1
  405. data/app/views/layouts/cms/content_library.html.erb +10 -8
  406. data/app/views/layouts/cms/toolbar.html.erb +1 -2
  407. data/app/views/portlets/email_page/_form.html.erb +1 -2
  408. data/app/views/portlets/email_page/render.html.erb +2 -2
  409. data/app/views/portlets/login/render.html.erb +2 -2
  410. data/app/views/portlets/portlets/_form.html.erb +4 -4
  411. data/app/views/portlets/reset_password/_form.html.erb +2 -2
  412. data/bin/bcms +212 -47
  413. data/bin/bcms-upgrade +118 -17
  414. data/browsercms.gemspec +7 -20
  415. data/config/cucumber.yml +8 -0
  416. data/config/database.jdbcmysql.yml +30 -0
  417. data/config/database.mysql.yml +27 -0
  418. data/config/database.postgres.yml +25 -0
  419. data/config/database.sqlite3.yml +11 -0
  420. data/config/environment.rb +6 -0
  421. data/config/initializers/query_reviewer_patch.rb +12 -0
  422. data/config/initializers/rack_1_2_1_patch.rb +12 -0
  423. data/config/locales/en.yml +5 -0
  424. data/config/routes.rb +101 -0
  425. data/db/browsercms.seeds.rb +64 -0
  426. data/db/migrate/20080815014337_browsercms_3_0_0.rb +68 -76
  427. data/db/migrate/20091109175123_browsercms_3_0_5.rb +2 -2
  428. data/db/migrate/20100117144039_browsercms315.rb +22 -21
  429. data/db/migrate/20100705083859_browsercms_3_3_0.rb +5 -5
  430. data/db/migrate/20111130221145_browsercms340.rb +59 -0
  431. data/db/seeds.rb +1 -58
  432. data/doc/README_FOR_APP +6 -0
  433. data/doc/design/blue_button.psd +0 -0
  434. data/doc/design/gray_box.psd +0 -0
  435. data/doc/design/main_nav.psd +0 -0
  436. data/doc/installing_browsercms_in_project.md +7 -0
  437. data/doc/release_notes.md +390 -0
  438. data/doc/test_procedure.txt +141 -0
  439. data/doc/upgrading_to_3_3.txt +90 -0
  440. data/doc/upgrading_to_3_4.md +19 -0
  441. data/features/acts_as_content_page.feature +48 -0
  442. data/features/add_content_to_pages.feature +46 -0
  443. data/features/caching.feature +13 -0
  444. data/features/ckeditor.feature +11 -0
  445. data/features/commands/confirm_aruba_works.feature +24 -0
  446. data/features/commands/generate_module.feature +54 -0
  447. data/features/commands/install_browsercms.feature +21 -0
  448. data/features/commands/new_demo_project.feature +30 -0
  449. data/features/commands/new_projects.feature +43 -0
  450. data/features/commands/upgrade_modules_from_3_1_to_3_4.feature +19 -0
  451. data/features/commands/upgrading_modules.feature +66 -0
  452. data/features/content_blocks/manage_custom_blocks.feature +48 -0
  453. data/features/content_blocks/manage_html_blocks.feature +42 -0
  454. data/features/content_blocks/manage_image_blocks.feature +41 -0
  455. data/features/content_files.feature +37 -0
  456. data/features/content_pages.feature +21 -0
  457. data/features/create_pages.feature +15 -0
  458. data/features/generators/content_blocks_for_modules.feature +58 -0
  459. data/features/generators/content_blocks_for_projects.feature +109 -0
  460. data/features/install_content.feature +25 -0
  461. data/features/jquery-testplan.txt +12 -0
  462. data/features/manage_groups.feature +33 -0
  463. data/features/manage_page_routes.feature +72 -0
  464. data/features/manage_redirects.feature +20 -0
  465. data/features/manage_sections.feature +12 -0
  466. data/features/page_templates.feature +25 -0
  467. data/features/portlets/email_friend_portlet.feature +29 -0
  468. data/features/portlets/portlets.feature +93 -0
  469. data/features/portlets/tag_cloud_portlet.feature +28 -0
  470. data/features/sitemap.feature +18 -0
  471. data/features/step_definitions/acts_as_content_page_steps.rb.rb +3 -0
  472. data/features/step_definitions/ckeditor_steps.rb +13 -0
  473. data/features/step_definitions/command_line_steps.rb +115 -0
  474. data/features/step_definitions/content_pages_steps.rb +149 -0
  475. data/features/step_definitions/data_steps.rb +48 -0
  476. data/features/step_definitions/html_blocks_steps.rb +9 -0
  477. data/features/step_definitions/install_content_steps.rb +4 -0
  478. data/features/step_definitions/manage_content_blocks_steps.rb +26 -0
  479. data/features/step_definitions/manage_image_blocks_steps.rb +31 -0
  480. data/features/step_definitions/manage_sections_steps.rb +18 -0
  481. data/features/step_definitions/page_route_steps.rb +65 -0
  482. data/features/step_definitions/page_template_steps.rb +5 -0
  483. data/features/step_definitions/permissions_steps.rb +13 -0
  484. data/features/step_definitions/portlets_steps.rb +64 -0
  485. data/features/step_definitions/redirect_steps.rb +12 -0
  486. data/features/step_definitions/sitemap_steps.rb +18 -0
  487. data/features/step_definitions/tag_cloud_steps.rb +11 -0
  488. data/features/step_definitions/taxonomy_steps.rb +16 -0
  489. data/features/step_definitions/upgrade_module_steps.rb +74 -0
  490. data/features/step_definitions/web_steps.rb +211 -0
  491. data/features/support/command_line_helpers.rb +45 -0
  492. data/features/support/debug_formatter.rb +7 -0
  493. data/features/support/debugging.rb +28 -0
  494. data/features/support/env.rb +73 -0
  495. data/features/support/git_api.rb +9 -0
  496. data/features/support/open_on_first_failure.rb +25 -0
  497. data/features/support/paths.rb +32 -0
  498. data/features/support/rails_api.rb +8 -0
  499. data/features/support/selectors.rb +39 -0
  500. data/features/support/transforms.rb +7 -0
  501. data/features/taxonomy/add_content_with_category.feature +30 -0
  502. data/features/taxonomy/manage_categories.feature +20 -0
  503. data/features/taxonomy/manage_category_types.feature +16 -0
  504. data/lib/browsercms.rb +9 -2
  505. data/lib/cms/acts/cms_user.rb +118 -0
  506. data/lib/cms/acts/content_block.rb +15 -3
  507. data/lib/cms/addressable.rb +62 -60
  508. data/lib/cms/authentication/controller.rb +20 -20
  509. data/lib/cms/authoring.rb +9 -0
  510. data/lib/cms/behaviors/attaching.rb +5 -4
  511. data/lib/cms/behaviors/categorizing.rb +1 -1
  512. data/lib/cms/behaviors/connecting.rb +9 -4
  513. data/lib/cms/behaviors/dynamic_attributes.rb +77 -66
  514. data/lib/cms/behaviors/namespacing.rb +45 -0
  515. data/lib/cms/behaviors/publishing.rb +1 -1
  516. data/lib/cms/behaviors/rendering.rb +38 -52
  517. data/lib/cms/behaviors/searching.rb +8 -3
  518. data/lib/cms/behaviors/taggable.rb +7 -7
  519. data/lib/cms/behaviors/userstamping.rb +4 -3
  520. data/lib/cms/behaviors/versioning.rb +9 -6
  521. data/lib/cms/commands/actions.rb +37 -0
  522. data/lib/cms/content_rendering_support.rb +2 -2
  523. data/lib/cms/data_loader.rb +12 -5
  524. data/lib/cms/engine.rb +13 -9
  525. data/lib/cms/engine_helper.rb +59 -0
  526. data/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements.rb +37 -9
  527. data/lib/cms/extensions/active_support/dependencies.rb +21 -0
  528. data/lib/cms/init.rb +11 -36
  529. data/lib/cms/installation_actions.rb +8 -0
  530. data/lib/cms/module.rb +20 -1
  531. data/lib/cms/module_installation.rb +11 -18
  532. data/lib/cms/route_extensions.rb +60 -0
  533. data/lib/cms/version.rb +1 -1
  534. data/lib/generators/browser_cms/cms/cms_generator.rb +5 -18
  535. data/lib/generators/browser_cms/demo_site/USAGE +3 -1
  536. data/lib/generators/browser_cms/demo_site/templates/demo.seeds.rb +251 -0
  537. data/{public/themes/blue_steel/images → lib/generators/browser_cms/demo_site/templates}/logo.jpg +0 -0
  538. data/{public/themes/blue_steel/images → lib/generators/browser_cms/demo_site/templates}/splash.jpg +0 -0
  539. data/{public/themes/blue_steel/stylesheets → lib/generators/browser_cms/demo_site/templates}/style.css +0 -0
  540. data/lib/generators/cms/content_block/content_block_generator.rb +73 -24
  541. data/lib/generators/cms/install/install_generator.rb +0 -2
  542. data/lib/generators/cms/portlet/templates/portlet.rb +1 -1
  543. data/lib/generators/cms/project/USAGE +1 -0
  544. data/lib/generators/cms/{upgrade_module → project}/templates/COPYRIGHT.txt +0 -0
  545. data/lib/generators/cms/{upgrade_module → project}/templates/GPL.txt +0 -0
  546. data/lib/generators/cms/{upgrade_module → project}/templates/LICENSE.txt +0 -0
  547. data/lib/generators/cms/{upgrade_module → project}/templates/README +0 -0
  548. data/lib/generators/cms/project/templates/USAGE +3 -0
  549. data/lib/generators/cms/{upgrade_module → project}/templates/gitignore.erb +0 -0
  550. data/lib/generators/cms/project/templates/install_generator.erb +21 -0
  551. data/lib/generators/cms/project/templates/module_tasks.rake +10 -0
  552. data/lib/generators/cms/template/template_generator.rb +3 -1
  553. data/lib/generators/cms/template/templates/template.erb +2 -2
  554. data/lib/tasks/db.rake +1 -1
  555. data/lib/templates/active_record/model/model.rb +11 -0
  556. data/log/.gitignore +0 -0
  557. data/performance_tuning_notes.md +12 -0
  558. data/public/styled_file_field/index.html +72 -0
  559. data/script/cucumber +10 -0
  560. data/script/rails +6 -0
  561. data/test/console_helper.rb +5 -0
  562. data/test/custom_assertions.rb +84 -0
  563. data/test/dummy/Rakefile +7 -0
  564. data/test/dummy/app/assets/javascripts/application.js +9 -0
  565. data/test/dummy/app/assets/stylesheets/application.css +7 -0
  566. data/test/dummy/app/controllers/application_controller.rb +3 -0
  567. data/test/dummy/app/controllers/cms/products_controller.rb +2 -0
  568. data/test/dummy/app/controllers/cms/sample_blocks_controller.rb +3 -0
  569. data/test/dummy/app/helpers/application_helper.rb +2 -0
  570. data/test/dummy/app/mailers/.gitkeep +0 -0
  571. data/test/dummy/app/models/.gitkeep +0 -0
  572. data/test/dummy/app/models/cms/sample_block.rb +22 -0
  573. data/test/dummy/app/models/product.rb +5 -0
  574. data/test/dummy/app/views/cms/products/_form.html.erb +7 -0
  575. data/test/dummy/app/views/cms/products/render.html.erb +3 -0
  576. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  577. data/test/dummy/app/views/test_route/index.html.erb +14 -0
  578. data/test/dummy/config.ru +4 -0
  579. data/test/dummy/config/application.rb +45 -0
  580. data/test/dummy/config/boot.rb +10 -0
  581. data/test/dummy/config/database.yml +27 -0
  582. data/test/dummy/config/environment.rb +5 -0
  583. data/test/dummy/config/environments/development.rb +32 -0
  584. data/test/dummy/config/environments/production.rb +60 -0
  585. data/test/dummy/config/environments/test.rb +46 -0
  586. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  587. data/test/dummy/config/initializers/browsercms.rb +7 -0
  588. data/test/dummy/config/initializers/inflections.rb +10 -0
  589. data/test/dummy/config/initializers/mime_types.rb +5 -0
  590. data/test/dummy/config/initializers/quiet_sprocket_assets.rb +8 -0
  591. data/test/dummy/config/initializers/secret_token.rb +7 -0
  592. data/test/dummy/config/initializers/session_store.rb +8 -0
  593. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  594. data/test/dummy/config/locales/en.yml +5 -0
  595. data/test/dummy/config/routes.rb +20 -0
  596. data/test/dummy/db/migrate/20111228141250_create_products.rb +16 -0
  597. data/test/dummy/db/schema.rb +524 -0
  598. data/test/dummy/db/seeds.rb +1 -0
  599. data/test/dummy/lib/assets/.gitkeep +0 -0
  600. data/test/dummy/public/404.html +26 -0
  601. data/test/dummy/public/422.html +26 -0
  602. data/test/dummy/public/500.html +26 -0
  603. data/test/dummy/public/favicon.ico +0 -0
  604. data/test/dummy/script/rails +6 -0
  605. data/test/factories.rb +234 -0
  606. data/test/fixtures/multipart/foo.jpg +0 -0
  607. data/test/fixtures/multipart/sample_upload.txt +1 -0
  608. data/test/fixtures/multipart/second_upload.txt +1 -0
  609. data/test/fixtures/multipart/test.jpg +0 -0
  610. data/test/fixtures/multipart/version1.txt +1 -0
  611. data/test/fixtures/multipart/version2.txt +1 -0
  612. data/test/functional/cms/cache_controller_test.rb +16 -0
  613. data/test/functional/cms/categories_controller_test.rb +28 -0
  614. data/test/functional/cms/connectors_controller_test.rb +64 -0
  615. data/test/functional/cms/content_block_controller_test.rb +127 -0
  616. data/test/functional/cms/content_controller_test.rb +351 -0
  617. data/test/functional/cms/dashboard_controller_test.rb +20 -0
  618. data/test/functional/cms/file_blocks_controller_test.rb +55 -0
  619. data/test/functional/cms/home_controller_test.rb +160 -0
  620. data/test/functional/cms/html_blocks_controller_test.rb +159 -0
  621. data/test/functional/cms/image_blocks_controller_test.rb +78 -0
  622. data/test/functional/cms/links_controller_test.rb +151 -0
  623. data/test/functional/cms/log/test.log +0 -0
  624. data/test/functional/cms/pages_controller_test.rb +233 -0
  625. data/test/functional/cms/portlets_controller_test.rb +57 -0
  626. data/test/functional/cms/sections_controller_test.rb +234 -0
  627. data/test/functional/cms/sessions_controller_test.rb +80 -0
  628. data/test/functional/cms/tasks_controller_test.rb +64 -0
  629. data/test/functional/cms/toolbar_controller_test.rb +76 -0
  630. data/test/functional/cms/users_controller_test.rb +242 -0
  631. data/test/integration/cms/password_management_test.rb +66 -0
  632. data/test/integration/sitemap_performance_test.rb +26 -0
  633. data/test/mock_file.rb +33 -0
  634. data/test/performance/browsing_test.rb +9 -0
  635. data/test/support/engine_controller_hacks.rb +34 -0
  636. data/test/support/factory_helpers.rb +57 -0
  637. data/test/support/rails_3_1_routes_hack.rb +70 -0
  638. data/test/test_helper.rb +199 -0
  639. data/test/test_logging.rb +67 -0
  640. data/test/unit/active_record_callbacks.rb +50 -0
  641. data/test/unit/behaviors/attaching_test.rb +370 -0
  642. data/test/unit/behaviors/cms_user_test.rb +67 -0
  643. data/test/unit/behaviors/connectable_test.rb +32 -0
  644. data/test/unit/behaviors/connecting_test.rb +56 -0
  645. data/test/unit/behaviors/dynamic_attributes_test.rb +74 -0
  646. data/test/unit/behaviors/namespacing_test.rb +76 -0
  647. data/test/unit/behaviors/publishable_test.rb +83 -0
  648. data/test/unit/behaviors/rendering_test.rb +68 -0
  649. data/test/unit/behaviors/searching_test.rb +102 -0
  650. data/test/unit/behaviors/taggable_test.rb +110 -0
  651. data/test/unit/behaviors/userstamping_test.rb +27 -0
  652. data/test/unit/behaviors/versioning_test.rb +102 -0
  653. data/test/unit/extensions/active_record/base_test.rb +25 -0
  654. data/test/unit/extensions/hash_test.rb +26 -0
  655. data/test/unit/extensions/integer_test.rb +10 -0
  656. data/test/unit/extensions/string_test.rb +14 -0
  657. data/test/unit/factories_test.rb +50 -0
  658. data/test/unit/generators/cms_generator_test.rb +44 -0
  659. data/test/unit/generators/install_generator_test.rb +15 -0
  660. data/test/unit/helpers/application_helper_test.rb +104 -0
  661. data/test/unit/helpers/date_picker_test.rb +17 -0
  662. data/test/unit/helpers/menu_helper_test.rb +240 -0
  663. data/test/unit/helpers/page_helper_test.rb +69 -0
  664. data/test/unit/helpers/path_helper_test.rb +58 -0
  665. data/test/unit/helpers/rendering_helper_test.rb +8 -0
  666. data/test/unit/lib/acts_as_content_page_test.rb +72 -0
  667. data/test/unit/lib/cms/authentication/controller_test.rb +20 -0
  668. data/test/unit/lib/cms/engine_helper_test.rb +119 -0
  669. data/test/unit/lib/cms/sitemap_test.rb +210 -0
  670. data/test/unit/lib/cms_domain_support_test.rb +44 -0
  671. data/test/unit/lib/command_line_test.rb +70 -0
  672. data/test/unit/lib/content_block_test.rb +304 -0
  673. data/test/unit/lib/content_rendering_support_test.rb +40 -0
  674. data/test/unit/lib/generators_test.rb +40 -0
  675. data/test/unit/lib/routes_test.rb +98 -0
  676. data/test/unit/mock_file_test.rb +19 -0
  677. data/test/unit/models/attachment_test.rb +160 -0
  678. data/test/unit/models/category_test.rb +40 -0
  679. data/test/unit/models/category_type_test.rb +8 -0
  680. data/test/unit/models/connector_test.rb +152 -0
  681. data/test/unit/models/content_type_group_test.rb +26 -0
  682. data/test/unit/models/content_type_test.rb +150 -0
  683. data/test/unit/models/dynamic_views_test.rb +36 -0
  684. data/test/unit/models/email_page_portlet_test.rb +20 -0
  685. data/test/unit/models/file_block_test.rb +246 -0
  686. data/test/unit/models/group_test.rb +29 -0
  687. data/test/unit/models/html_block_test.rb +121 -0
  688. data/test/unit/models/image_block_test.rb +35 -0
  689. data/test/unit/models/link_test.rb +52 -0
  690. data/test/unit/models/namespaces_test.rb +57 -0
  691. data/test/unit/models/page_partial_test.rb +37 -0
  692. data/test/unit/models/page_route_test.rb +113 -0
  693. data/test/unit/models/page_template_test.rb +50 -0
  694. data/test/unit/models/page_test.rb +879 -0
  695. data/test/unit/models/permission_test.rb +10 -0
  696. data/test/unit/models/portlet_test.rb +99 -0
  697. data/test/unit/models/sections_test.rb +278 -0
  698. data/test/unit/models/site_test.rb +50 -0
  699. data/test/unit/models/task_test.rb +150 -0
  700. data/test/unit/models/user_test.rb +358 -0
  701. data/test/unit/schema_statements_test.rb +137 -0
  702. data/todo_list.markdown +68 -0
  703. data/vendor/assets/javascripts/bcms/ckeditor.js +6 -0
  704. data/{public → vendor/assets/javascripts}/bcms/ckeditor/ckeditor.js +0 -0
  705. data/{public → vendor/assets/javascripts}/bcms/ckeditor/config.js +0 -0
  706. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/_bootstrap.js +0 -0
  707. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/ajax.js +0 -0
  708. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/ckeditor.js +0 -0
  709. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/ckeditor_base.js +0 -0
  710. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/ckeditor_basic.js +0 -0
  711. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/command.js +0 -0
  712. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/commanddefinition.js +0 -0
  713. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/config.js +0 -0
  714. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom.js +0 -0
  715. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/document.js +0 -0
  716. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/documentfragment.js +0 -0
  717. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/domobject.js +0 -0
  718. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/element.js +0 -0
  719. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/elementpath.js +0 -0
  720. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/event.js +0 -0
  721. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/node.js +0 -0
  722. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/nodelist.js +0 -0
  723. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/range.js +0 -0
  724. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/text.js +0 -0
  725. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/walker.js +0 -0
  726. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dom/window.js +0 -0
  727. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/dtd.js +0 -0
  728. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/editor.js +0 -0
  729. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/editor_basic.js +0 -0
  730. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/env.js +0 -0
  731. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/event.js +0 -0
  732. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/eventInfo.js +0 -0
  733. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/focusmanager.js +0 -0
  734. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/htmlparser.js +0 -0
  735. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/htmlparser/basicwriter.js +0 -0
  736. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/htmlparser/cdata.js +0 -0
  737. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/htmlparser/comment.js +0 -0
  738. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/htmlparser/element.js +0 -0
  739. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/htmlparser/filter.js +0 -0
  740. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/htmlparser/fragment.js +0 -0
  741. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/htmlparser/text.js +0 -0
  742. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/imagecacher.js +0 -0
  743. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/lang.js +0 -0
  744. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/loader.js +0 -0
  745. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/plugindefinition.js +0 -0
  746. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/plugins.js +0 -0
  747. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/resourcemanager.js +0 -0
  748. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/scriptloader.js +0 -0
  749. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/skins.js +0 -0
  750. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/test.js +0 -0
  751. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/themes.js +0 -0
  752. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/tools.js +0 -0
  753. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/ui.js +0 -0
  754. data/{public → vendor/assets/javascripts}/bcms/ckeditor/core/xml.js +0 -0
  755. data/vendor/assets/javascripts/bcms/ckeditor/editor.js +54 -0
  756. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/_languages.js +0 -0
  757. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/_translationstatus.txt +0 -0
  758. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/af.js +0 -0
  759. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/ar.js +0 -0
  760. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/bg.js +0 -0
  761. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/bn.js +0 -0
  762. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/bs.js +0 -0
  763. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/ca.js +0 -0
  764. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/cs.js +0 -0
  765. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/da.js +0 -0
  766. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/de.js +0 -0
  767. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/el.js +0 -0
  768. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/en-au.js +0 -0
  769. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/en-ca.js +0 -0
  770. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/en-uk.js +0 -0
  771. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/en.js +0 -0
  772. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/eo.js +0 -0
  773. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/es.js +0 -0
  774. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/et.js +0 -0
  775. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/eu.js +0 -0
  776. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/fa.js +0 -0
  777. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/fi.js +0 -0
  778. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/fo.js +0 -0
  779. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/fr-ca.js +0 -0
  780. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/fr.js +0 -0
  781. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/gl.js +0 -0
  782. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/gu.js +0 -0
  783. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/he.js +0 -0
  784. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/hi.js +0 -0
  785. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/hr.js +0 -0
  786. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/hu.js +0 -0
  787. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/is.js +0 -0
  788. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/it.js +0 -0
  789. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/ja.js +0 -0
  790. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/km.js +0 -0
  791. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/ko.js +0 -0
  792. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/lt.js +0 -0
  793. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/lv.js +0 -0
  794. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/mn.js +0 -0
  795. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/ms.js +0 -0
  796. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/nb.js +0 -0
  797. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/nl.js +0 -0
  798. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/no.js +0 -0
  799. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/pl.js +0 -0
  800. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/pt-br.js +0 -0
  801. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/pt.js +0 -0
  802. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/ro.js +0 -0
  803. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/ru.js +0 -0
  804. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/sk.js +0 -0
  805. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/sl.js +0 -0
  806. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/sr-latn.js +0 -0
  807. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/sr.js +0 -0
  808. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/sv.js +0 -0
  809. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/th.js +0 -0
  810. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/tr.js +0 -0
  811. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/uk.js +0 -0
  812. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/vi.js +0 -0
  813. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/zh-cn.js +0 -0
  814. data/{public → vendor/assets/javascripts}/bcms/ckeditor/lang/zh.js +0 -0
  815. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/about/dialogs/about.js +0 -0
  816. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  817. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/about/plugin.js +0 -0
  818. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/basicstyles/plugin.js +0 -0
  819. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/blockquote/plugin.js +0 -0
  820. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/button/plugin.js +0 -0
  821. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/clipboard/dialogs/paste.js +0 -0
  822. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/clipboard/plugin.js +0 -0
  823. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/colorbutton/plugin.js +0 -0
  824. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/contextmenu/plugin.js +0 -0
  825. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/dialog/dialogDefinition.js +0 -0
  826. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/dialog/plugin.js +0 -0
  827. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/dialogui/plugin.js +0 -0
  828. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/domiterator/plugin.js +0 -0
  829. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/editingblock/plugin.js +0 -0
  830. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/elementspath/plugin.js +0 -0
  831. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/enterkey/plugin.js +0 -0
  832. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/entities/plugin.js +0 -0
  833. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/fakeobjects/plugin.js +0 -0
  834. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/filebrowser/plugin.js +0 -0
  835. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/find/dialogs/find.js +0 -0
  836. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/find/plugin.js +0 -0
  837. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/flash/dialogs/flash.js +0 -0
  838. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/flash/images/placeholder.png +0 -0
  839. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/flash/plugin.js +0 -0
  840. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/floatpanel/plugin.js +0 -0
  841. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/font/plugin.js +0 -0
  842. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/format/plugin.js +0 -0
  843. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/forms/dialogs/button.js +0 -0
  844. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/forms/dialogs/checkbox.js +0 -0
  845. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/forms/dialogs/form.js +0 -0
  846. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -0
  847. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/forms/dialogs/radio.js +0 -0
  848. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/forms/dialogs/select.js +0 -0
  849. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/forms/dialogs/textarea.js +0 -0
  850. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/forms/dialogs/textfield.js +0 -0
  851. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/forms/plugin.js +0 -0
  852. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/horizontalrule/plugin.js +0 -0
  853. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/htmldataprocessor/plugin.js +0 -0
  854. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/htmlwriter/plugin.js +0 -0
  855. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/iframedialog/plugin.js +0 -0
  856. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/image/dialogs/image.js +0 -0
  857. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/image/plugin.js +0 -0
  858. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/indent/plugin.js +0 -0
  859. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/justify/plugin.js +0 -0
  860. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/keystrokes/plugin.js +0 -0
  861. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/link/dialogs/anchor.js +0 -0
  862. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/link/dialogs/link.js +0 -0
  863. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/link/images/anchor.gif +0 -0
  864. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/link/plugin.js +0 -0
  865. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/list/plugin.js +0 -0
  866. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/listblock/plugin.js +0 -0
  867. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/maximize/plugin.js +0 -0
  868. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/menu/plugin.js +0 -0
  869. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/menubutton/plugin.js +0 -0
  870. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/newpage/plugin.js +0 -0
  871. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  872. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/pagebreak/plugin.js +0 -0
  873. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/panel/plugin.js +0 -0
  874. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/panelbutton/plugin.js +0 -0
  875. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/pastefromword/dialogs/pastefromword.js +0 -0
  876. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/pastefromword/plugin.js +0 -0
  877. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -0
  878. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/pastetext/plugin.js +0 -0
  879. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/popup/plugin.js +0 -0
  880. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/preview/plugin.js +0 -0
  881. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/print/plugin.js +0 -0
  882. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/removeformat/plugin.js +0 -0
  883. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/resize/plugin.js +0 -0
  884. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/richcombo/plugin.js +0 -0
  885. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/save/plugin.js +0 -0
  886. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/scayt/dialogs/options.js +0 -0
  887. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -0
  888. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/scayt/plugin.js +0 -0
  889. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/selection/plugin.js +0 -0
  890. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  891. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  892. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  893. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  894. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  895. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  896. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  897. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  898. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  899. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  900. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  901. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/showblocks/plugin.js +0 -0
  902. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/dialogs/smiley.js +0 -0
  903. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  904. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  905. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  906. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  907. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  908. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  909. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  910. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  911. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/heart.gif +0 -0
  912. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  913. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  914. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  915. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  916. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  917. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  918. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  919. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  920. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  921. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  922. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  923. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  924. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/smiley/plugin.js +0 -0
  925. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/sourcearea/plugin.js +0 -0
  926. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -0
  927. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/specialchar/plugin.js +0 -0
  928. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/styles/plugin.js +0 -0
  929. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/stylescombo/plugin.js +0 -0
  930. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/stylescombo/styles/default.js +0 -0
  931. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/tab/plugin.js +0 -0
  932. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/table/dialogs/table.js +0 -0
  933. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/table/plugin.js +0 -0
  934. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -0
  935. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/tabletools/plugin.js +0 -0
  936. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/templates/dialogs/templates.js +0 -0
  937. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/templates/plugin.js +0 -0
  938. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/templates/templates/default.js +0 -0
  939. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  940. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  941. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  942. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/toolbar/plugin.js +0 -0
  943. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -0
  944. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/uicolor/lang/en.js +0 -0
  945. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/uicolor/plugin.js +0 -0
  946. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  947. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  948. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  949. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  950. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  951. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -0
  952. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/uicolor/yui/yui.js +0 -0
  953. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/undo/plugin.js +0 -0
  954. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -0
  955. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -0
  956. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/wsc/dialogs/wsc.css +0 -0
  957. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/wsc/dialogs/wsc.js +0 -0
  958. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/wsc/plugin.js +0 -0
  959. data/{public → vendor/assets/javascripts}/bcms/ckeditor/plugins/wysiwygarea/plugin.js +0 -0
  960. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/dialog.css +0 -0
  961. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/editor.css +0 -0
  962. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/elementspath.css +0 -0
  963. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/icons.css +0 -0
  964. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/icons.png +0 -0
  965. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  966. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  967. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  968. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/images/mini.gif +0 -0
  969. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/images/noimage.png +0 -0
  970. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/images/sprites.png +0 -0
  971. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  972. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  973. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/mainui.css +0 -0
  974. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/menu.css +0 -0
  975. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/panel.css +0 -0
  976. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/presets.css +0 -0
  977. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/reset.css +0 -0
  978. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/richcombo.css +0 -0
  979. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/skin.js +0 -0
  980. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/templates.css +0 -0
  981. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/kama/toolbar.css +0 -0
  982. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/dialog.css +0 -0
  983. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/editor.css +0 -0
  984. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/elementspath.css +0 -0
  985. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/icons.css +0 -0
  986. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/icons.png +0 -0
  987. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  988. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  989. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  990. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/images/mini.gif +0 -0
  991. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/images/noimage.png +0 -0
  992. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/images/sprites.png +0 -0
  993. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  994. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/mainui.css +0 -0
  995. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/menu.css +0 -0
  996. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/panel.css +0 -0
  997. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/presets.css +0 -0
  998. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/reset.css +0 -0
  999. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/richcombo.css +0 -0
  1000. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/skin.js +0 -0
  1001. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/templates.css +0 -0
  1002. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/office2003/toolbar.css +0 -0
  1003. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/dialog.css +0 -0
  1004. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/editor.css +0 -0
  1005. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/elementspath.css +0 -0
  1006. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/icons.css +0 -0
  1007. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/icons.png +0 -0
  1008. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  1009. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  1010. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  1011. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/images/mini.gif +0 -0
  1012. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/images/noimage.png +0 -0
  1013. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/images/sprites.png +0 -0
  1014. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  1015. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  1016. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/mainui.css +0 -0
  1017. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/menu.css +0 -0
  1018. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/panel.css +0 -0
  1019. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/presets.css +0 -0
  1020. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/reset.css +0 -0
  1021. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/richcombo.css +0 -0
  1022. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/skin.js +0 -0
  1023. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/templates.css +0 -0
  1024. data/{public → vendor/assets/javascripts}/bcms/ckeditor/skins/v2/toolbar.css +0 -0
  1025. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/_assets/sample.css +0 -0
  1026. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/_assets/sample.js +0 -0
  1027. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/_assets/sample.txt +0 -0
  1028. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/_assets/sample.xml +0 -0
  1029. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/_assets/sample_xml.txt +0 -0
  1030. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/_editor/custom_config_1.js +0 -0
  1031. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/_editor/custom_config_2.js +0 -0
  1032. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/ajax.html +0 -0
  1033. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/bootstrap.html +0 -0
  1034. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/ckeditor.html +0 -0
  1035. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/dom/document.html +0 -0
  1036. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/dom/documentfragment.html +0 -0
  1037. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/dom/element.html +0 -0
  1038. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/dom/node.html +0 -0
  1039. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/dom/range.html +0 -0
  1040. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/dom/text.html +0 -0
  1041. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/dom/walker.html +0 -0
  1042. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/dom/window.html +0 -0
  1043. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/editor.html +0 -0
  1044. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/env.html +0 -0
  1045. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/event.html +0 -0
  1046. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/htmlparser/fragment.html +0 -0
  1047. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/htmlparser/htmlparser.html +0 -0
  1048. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/plugins.html +0 -0
  1049. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/plugins/myplugins/sample/my_plugin.js +0 -0
  1050. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/scriptloader.html +0 -0
  1051. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/tools.html +0 -0
  1052. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/core/xml.html +0 -0
  1053. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/plugins/domiterator/domiterator.html +0 -0
  1054. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/plugins/htmldataprocessor/htmldataprocessor.html +0 -0
  1055. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/plugins/link/link.html +0 -0
  1056. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/plugins/list/list.html +0 -0
  1057. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/plugins/selection/selection.html +0 -0
  1058. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/plugins/styles/styles.html +0 -0
  1059. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/test.css +0 -0
  1060. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/test.js +0 -0
  1061. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/testall.html +0 -0
  1062. data/{public → vendor/assets/javascripts}/bcms/ckeditor/tests/yuitest.js +0 -0
  1063. data/{public → vendor/assets/javascripts}/bcms/ckeditor/themes/default/theme.js +0 -0
  1064. data/{public → vendor/assets}/javascripts/jquery.cookie.js +0 -0
  1065. data/{public/javascripts/jquery.selectbox-0.5.js → vendor/assets/javascripts/jquery.selectbox.js} +0 -0
  1066. data/vendor/plugins/.gitkeep +0 -0
  1067. metadata +1386 -939
  1068. data/app/models/abstract_file_block.rb +0 -32
  1069. data/app/models/attachment.rb +0 -192
  1070. data/app/models/category.rb +0 -40
  1071. data/app/models/category_type.rb +0 -34
  1072. data/app/models/connector.rb +0 -81
  1073. data/app/models/content_type.rb +0 -95
  1074. data/app/models/content_type_group.rb +0 -3
  1075. data/app/models/dynamic_view.rb +0 -80
  1076. data/app/models/email_message.rb +0 -31
  1077. data/app/models/email_message_mailer.rb +0 -11
  1078. data/app/models/file_block.rb +0 -9
  1079. data/app/models/forgot_password_mailer.rb +0 -12
  1080. data/app/models/group.rb +0 -41
  1081. data/app/models/group_permission.rb +0 -7
  1082. data/app/models/group_section.rb +0 -4
  1083. data/app/models/group_type.rb +0 -12
  1084. data/app/models/group_type_permission.rb +0 -4
  1085. data/app/models/guest_user.rb +0 -53
  1086. data/app/models/html_block.rb +0 -40
  1087. data/app/models/image_block.rb +0 -10
  1088. data/app/models/link.rb +0 -18
  1089. data/app/models/page.rb +0 -319
  1090. data/app/models/page_partial.rb +0 -22
  1091. data/app/models/page_route.rb +0 -122
  1092. data/app/models/page_route_condition.rb +0 -2
  1093. data/app/models/page_route_option.rb +0 -3
  1094. data/app/models/page_route_requirement.rb +0 -2
  1095. data/app/models/page_template.rb +0 -31
  1096. data/app/models/permission.rb +0 -10
  1097. data/app/models/portlet.rb +0 -177
  1098. data/app/models/redirect.rb +0 -4
  1099. data/app/models/section.rb +0 -195
  1100. data/app/models/section_node.rb +0 -110
  1101. data/app/models/site.rb +0 -41
  1102. data/app/models/tag.rb +0 -62
  1103. data/app/models/tagging.rb +0 -9
  1104. data/app/models/task.rb +0 -74
  1105. data/app/models/templates.rb +0 -31
  1106. data/app/models/user.rb +0 -169
  1107. data/app/models/user_group_membership.rb +0 -4
  1108. data/db/demo/data.rb +0 -97
  1109. data/db/demo/page_partials/_footer.html.erb +0 -6
  1110. data/db/demo/page_partials/_header.html.erb +0 -24
  1111. data/db/demo/page_templates/home_page.html.erb +0 -49
  1112. data/db/demo/page_templates/sub_page.html.erb +0 -37
  1113. data/lib/cms/routes.rb +0 -145
  1114. data/lib/generators/browser_cms/demo_site/demo_site_generator.rb +0 -138
  1115. data/lib/generators/browser_cms/demo_site/templates/migration.erb +0 -15
  1116. data/lib/generators/cms/content_block/templates/content_block.rb +0 -27
  1117. data/lib/generators/cms/content_block/templates/controller.rb +0 -2
  1118. data/lib/generators/cms/content_block/templates/functional_test.erb +0 -11
  1119. data/lib/generators/cms/content_block/templates/migration.erb +0 -38
  1120. data/lib/generators/cms/content_block/templates/unit_test.erb +0 -9
  1121. data/lib/generators/cms/upgrade_module/README.txt +0 -3
  1122. data/lib/generators/cms/upgrade_module/templates/20100705083859_browsercms_3_3_0.rb +0 -56
  1123. data/lib/generators/cms/upgrade_module/templates/USAGE.erb +0 -10
  1124. data/lib/generators/cms/upgrade_module/templates/build_gem.rake +0 -5
  1125. data/lib/generators/cms/upgrade_module/templates/engine.erb +0 -7
  1126. data/lib/generators/cms/upgrade_module/templates/gemspec.erb +0 -25
  1127. data/lib/generators/cms/upgrade_module/templates/install.erb +0 -9
  1128. data/lib/generators/cms/upgrade_module/templates/module_file.erb +0 -3
  1129. data/lib/generators/cms/upgrade_module/templates/routes.erb +0 -7
  1130. data/lib/generators/cms/upgrade_module/upgrade_module_generator.rb +0 -61
  1131. data/public/bcms/ckeditor/editor.js +0 -51
  1132. data/public/javascripts/cms/application.js +0 -157
  1133. data/public/javascripts/cms/content_library.js +0 -36
  1134. data/public/javascripts/cms/sitemap.js +0 -464
  1135. data/public/javascripts/jquery-ui.js +0 -782
  1136. data/public/javascripts/jquery.js +0 -16
  1137. data/public/javascripts/jquery.taglist.js +0 -143
  1138. data/public/site/customconfig.js +0 -1
  1139. data/public/stylesheets/cms/administration.css +0 -91
  1140. data/public/stylesheets/cms/application.css +0 -166
  1141. data/public/stylesheets/cms/buttons.css +0 -120
  1142. data/public/stylesheets/cms/content_library.css +0 -139
  1143. data/public/stylesheets/cms/dashboard.css +0 -118
  1144. data/public/stylesheets/cms/data_table.css +0 -156
  1145. data/public/stylesheets/cms/date_picker.css +0 -82
  1146. data/public/stylesheets/cms/form_layout.css +0 -279
  1147. data/public/stylesheets/cms/login.css +0 -78
  1148. data/public/stylesheets/cms/menu.css +0 -116
  1149. data/public/stylesheets/cms/nav.css +0 -99
  1150. data/public/stylesheets/cms/page_toolbar.css +0 -135
  1151. data/public/stylesheets/cms/selectbox.css +0 -56
  1152. data/public/stylesheets/cms/sitemap.css +0 -390
  1153. data/rails/init.rb +0 -2
@@ -0,0 +1,141 @@
1
+ Here is a series of tasks to test the basic interface functionality of the CMS.
2
+
3
+ Note: It is best to build the cms gem and install it, then test the functionality in a rails app that has been configured to use the new gem.
4
+
5
+ Sitemap:
6
+ Add Section
7
+ Add Page
8
+ Test Edit Page Link
9
+ Add Link
10
+ Edit Section Properties
11
+ Edit Page Properties
12
+ Edit Link Properties
13
+ Publish Link
14
+ Move Link
15
+ Move Page
16
+ Move Section
17
+ Delete Link
18
+ Delete Page
19
+ Delete Section
20
+
21
+ Content Library:
22
+ Add Image
23
+ Edit Image Metadata
24
+ Edit Image File
25
+ Revert Image to different metadata
26
+ Revert Image to different file
27
+ Search Image
28
+ Add Text
29
+ Edit Text
30
+ Add Link to Text
31
+ Add Image to Text
32
+ Revert Text
33
+ Bulk add Text
34
+ Paginated Search links
35
+ Delete Text
36
+ Delete Image
37
+ Add Portlet
38
+ Edit Portlet
39
+ Search Portlet
40
+ Delete Portlet
41
+ Add File
42
+ Edit File Metadata
43
+ Edit File File
44
+ Revert File to metadata
45
+ Revert File to different file
46
+ Search File
47
+ Delete File
48
+ Add Category Type
49
+ Edit Category Type
50
+ Search Category Type
51
+ Add Category
52
+ Edit Category
53
+ Search Category
54
+ Delete Category
55
+ Delete Category Type
56
+ Add Tag
57
+ Edit Tag
58
+ Search Tag
59
+ Delete Tag
60
+
61
+ Administration:
62
+ Add Public User Group
63
+ Add Admin Group
64
+ Edit Public User Group
65
+ Edit Admin Group
66
+ Add User
67
+ Edit User
68
+ Search User
69
+ Disable User
70
+ Search inactive User
71
+ Enable User
72
+ Login as User
73
+ Change User Password
74
+ Login as User
75
+ Add Page Partial
76
+ Edit Page Partial
77
+ Add Page Partial
78
+ Delete Page Partial
79
+ Add Page Template
80
+ Edit Page Template
81
+ Add Page Template
82
+ Delete Page Template
83
+ Add Page Route
84
+ Test Page Route
85
+ Edit Page Route
86
+ Test old Page Route
87
+ Test new Page Route
88
+ Delete Page Route
89
+ Test old Page Route
90
+ Test new Page Route
91
+ Test Rails Route
92
+ Clear Page Cache
93
+ Add Redirect
94
+ Test Redirect
95
+ Edit Redirect
96
+ Test old Redirect
97
+ Test new Redirect
98
+ Delete Redirect
99
+ Test old Redirect
100
+ Test new Redirect
101
+
102
+ Page:
103
+ Toggle Visual Editor On
104
+ Toggle Visual Editor Off
105
+ Toggle Visual Editor On
106
+ Add New Text to Container
107
+ Add Existing Text to Container
108
+ Move Text Up
109
+ Move Text Down
110
+ Edit Text
111
+ Remove Text
112
+ Publish
113
+ List Versions
114
+ Revert
115
+ Assign
116
+ Complete Task
117
+ Edit Properties
118
+ Add New Portlet to Container
119
+ Add Existing Portlet to Container
120
+ Move Portlet Up
121
+ Move Portlet Down
122
+ Edit Portlet
123
+ Remove Portlet
124
+ Add New File to Container
125
+ Add Existing File to Container
126
+ Move File Up
127
+ Move File Down
128
+ Edit File
129
+ Remove File
130
+ Add New Image to Container
131
+ Add Existing Image to Container
132
+ Move Image Up
133
+ Move Image Down
134
+ Edit Image
135
+ Remove Image
136
+ Delete Page
137
+
138
+ Dashboard:
139
+ Publish page
140
+ Publish pages
141
+ Remove task
@@ -0,0 +1,90 @@
1
+ This file is out of date. Can be deleted since: https://github.com/browsermedia/browsercms/wiki/Upgrading-modules-to-3.3 exists
2
+
3
+ # Upgrading a Module to use BrowserCMS 3.3. (and Rails3)
4
+
5
+ * Update the lib/bcms_name_of_module/routes.rb to use the Rails 3 routing syntax. This means routes like:
6
+
7
+ ## Rails 2 style
8
+ namespace(:cms) do |cms|
9
+ cms.content_blocks :news_articles
10
+ end
11
+
12
+ should be written as:
13
+
14
+ ## Rails 3 style
15
+ namespace(:cms) do
16
+ content_blocks :news_articles
17
+ end
18
+
19
+ Other individual routes may need to be rewritten as well, for example:
20
+
21
+ ## Rails 2 style
22
+ news_articles '/news/articles.rss', :controller => "news_articles", :conditions => {:method => :get}, :format => "rss"
23
+ ## Becomes Rails 3 style
24
+ match '/news/articles.rss', :to=>"news_articles#index", :as=>'news_articles', :method=>:get, :defaults => { :format => 'rss' }
25
+
26
+ Writing a generator to handle upgrading bcms_modules from Rails 2 to Rails 3.
27
+ =======
28
+
29
+ Assumed
30
+ ======
31
+ * Make sure the module is in source control. These instructions rely on being able to revert. merge and check in files.
32
+
33
+ Steps:
34
+ ======
35
+ * Do script/plugin install git://github.com/rails/rails_upgrade.git . This installs the rails 3 upgrade plugin.
36
+ * Run rake rails:update:check
37
+ * Run rake rails:update:gems ; Create a Gemfile with that code in it.
38
+ * Run rake rails:update:routes ; Create a file config/routes.rails3.rb with that code in it. This will be used to merge the routes later.
39
+
40
+ * [D] Create a file called lib/tasks/build_gem.rake. Copy all Jeweler code from Rakefile to this file. Test and check this in.
41
+ * [D] From inside the project, run rails new . This will generate a new Rails3 project on top of the existing module. Enter a to overwrite all files.
42
+
43
+ Files to Delete (after rails new)
44
+ =====
45
+ * [D] Remove the rails/init.rb (No longer needed. Uses Engine instead)
46
+ * [D] Remove the db/migrate/browsercms_3_0_0.rb from the project
47
+ * [D] Remove the db/migrate/browsercms_3_0_5.rb from the project
48
+ * [D] Remove the db/migrate/load_seed_data.rb from the project
49
+ * [D] Remove public/index.html
50
+ * [D] Remove the app/views/layouts/application.html.erb (Use core CMS layouts)
51
+
52
+ Files to rollback
53
+ ====
54
+ * [D] doc/README_FOR_APP
55
+ * [D] README (either delete or rollback depending on if you have a README.md or not)
56
+ * [D].gitignore
57
+ * [D] database.yml - Unlikely you want this to change
58
+
59
+ File to merge (diff new vs old)
60
+ ===
61
+ * [D] test/test_helper (If you added anything custom)
62
+ * [D] Rakefile (compare, especially if you used Jeweler. If Jeweler, make sure you moved those tasks to lib/tasks/build_gem.rake)
63
+
64
+ More Steps:
65
+ ==========
66
+ * [D] Edit config/routes.rb file. Make sure you have these routes:
67
+
68
+ BcmsNameOfModule::Application.routes.draw do
69
+ routes_for_bcms_name_of_module
70
+ routes_for_browser_cms
71
+ end
72
+
73
+ * [D] Add Jeweler to the Gemfile (if you use it)
74
+
75
+ group :development do
76
+ gem "jeweler"
77
+ end
78
+
79
+ * [D] Add mysql to the Gemfile (if you use it)
80
+
81
+ gem "mysql"
82
+
83
+ * [D] Create an Engine for the module
84
+ * [D] Create a generator that will handle installing any migrations from your gem.
85
+ * [D] Remove all public CMS files
86
+ * [D] Run 'rails g browser_cms:cms' to write the migrations out from the core CMS gem.
87
+ * Run 'rake db:drop db:create db:migrate db:seed' to rebuild the database.
88
+ * Run tests (may have to update require 'test_helper' in _test.rbs)
89
+
90
+ * Run rake rails:upgrade:check to get other warnings about your code (i.e. deprecation warnings about named_scope)
@@ -0,0 +1,19 @@
1
+ Update bcms-upgrade so it can detect the differences between:
2
+
3
+ 3.1
4
+ 3.3 (Already does this pretty well)
5
+ * If there are no errors, say 'its ready to go' rather than just warning in RED that its does now.
6
+ * Need to update the dependency on browsercms before running rails generators
7
+ (Insert s.add_dependency(%q<browsercms>, ["~> 3.3.0"]) into .gemspec
8
+ * I can generate a basic gemspec that will probably work for 95% of cms modules.
9
+ * Doesn't use mysql2 '0.2.18'
10
+ * Make sure cms:install works
11
+ 3.4 (Needs to do this)
12
+ * Might still want to have a custom installer for each module for generating files in the project (i.e. Fckeditor would need this)
13
+
14
+ # Upgrading a project to bcms-3.4
15
+
16
+ * Ensure there is no table prefix set (i.e. tables will in versions prior to 3.4 were not prefixed with cms_
17
+
18
+
19
+
@@ -0,0 +1,48 @@
1
+ Feature: Acts as Content Page
2
+ Rails developers should be able to create standard Rails Controllers that include CMS features, including:
3
+ 1. Handling of exceptions (i.e. routing to standard CMS error pages)
4
+ 2. Security (protected controllers as if they were site pages.
5
+
6
+ See 'Tests::PretendController' for other scenarios to pull out.
7
+
8
+ Background:
9
+ Given the cms database is populated
10
+ And I am a guest
11
+
12
+ Scenario: Content Page
13
+ When I visit /tests/open
14
+ Then the response should be 200
15
+ Then I should see the following content:
16
+ | Open Page |
17
+ | You can see this public page. |
18
+
19
+ Scenario: Error Page
20
+ When I am at /tests/error
21
+ Then the response should be 500
22
+ And I should see a page titled "Server Error"
23
+ And I should see the following content:
24
+ | The server encountered an unexpected condition that prevented it from fulfilling the request. |
25
+
26
+ Scenario: Controller throws Missing Page Error
27
+ When I am at /tests/not-found
28
+ Then the response should be 404
29
+ And I should see a page titled "Not Found"
30
+ And I should see the following content:
31
+ | Page Not Found |
32
+
33
+
34
+ Scenario: A Controller in a 'Restricted' section
35
+ Given a members only section
36
+ When I am at /tests/restricted
37
+ Then the response should be 403
38
+ And I should see a page titled "Access Denied"
39
+ And I should see the following content:
40
+ | Access Denied |
41
+
42
+
43
+ Scenario: NotFound Page as a Content Editor
44
+ Given I am logged in as a Content Editor
45
+ When I visit /tests/not-found
46
+ Then the response should be 500
47
+ And I should see a page titled "Error: ActiveRecord::RecordNotFound"
48
+
@@ -0,0 +1,46 @@
1
+ Feature: Add Content to Pages
2
+ Content Editors should be able to add content to pages.
3
+
4
+ Background:
5
+ Given the cms database is populated
6
+
7
+ Scenario: Selecting an existing html block
8
+ Given there is an Html Block with:
9
+ | name | content |
10
+ | Hello World | I'm content |
11
+ And there is a page with:
12
+ | path | name |
13
+ | /some-page | Some Page |
14
+ And I am logged in as a Content Editor
15
+ And I turn on edit mode for /some-page
16
+ When I am at /some-page
17
+ And I click the Select Existing Content button
18
+ Then I should see the following content:
19
+ | Hello World |
20
+ # I want to test selecting content, but that requires javascript drivers
21
+
22
+ Scenario: Add Html/Text to a page
23
+ Given there is a page with:
24
+ | path | name |
25
+ | /some-page | Some Page |
26
+ And I am logged in as a Content Editor
27
+ And I turn on edit mode for /some-page
28
+ When I am at /some-page
29
+ And I add new content to the page
30
+ Then I should see the following content:
31
+ | File |
32
+ | Text |
33
+ | Image |
34
+ | Portlet |
35
+ And I should see a page titled "Select Content Type"
36
+ When I follow "Text"
37
+ Then I should see a page titled "Content Library / Add New Text"
38
+ And I should see the following content:
39
+ | Name |
40
+ | Text |
41
+ When I fill in "Name" with "Hello"
42
+ And I fill in "Content" with "I'm some new content"
43
+ And I press "Save"
44
+ Then I should see a page titled "Some Page"
45
+ And I should see the following content:
46
+ | I'm some new content |
@@ -0,0 +1,13 @@
1
+ Feature: Caching
2
+ In order for the site to scale there should be caching in place for pages.
3
+
4
+ Background:
5
+ Given the cms database is populated
6
+ And I am logged in as a Content Editor
7
+
8
+ Scenario: Clear Page Cache
9
+ When I request /cms/cache
10
+ Then I should see a page titled "Page Cache Info"
11
+ When I click on "Clear Page Cache"
12
+ Then I should see a page titled "Page Cache Info"
13
+
@@ -0,0 +1,11 @@
1
+ Feature: CKEditor
2
+ In order to allow non-technical users to edit HTML content
3
+ the open source CKEditor (WYSIWYG) will be used for content that is HTML
4
+
5
+ Scenario: Editing an Html Block
6
+ Given the cms database is populated
7
+ And I am logged in as a Content Editor
8
+ When I request /cms/content_library
9
+ And I click on "add new content"
10
+ Then I should see a widget to select which editor to use
11
+ And I should see the CKEditor
@@ -0,0 +1,24 @@
1
+ Feature: Aruba Behavior
2
+ Verifies that Aruba is configured correctly and that it is testing things as I expect them to.
3
+
4
+ Background:
5
+
6
+ Scenario: Create a new Rails project
7
+ When I run `rails new hello_world --skip-bundle`
8
+ Then a rails application named "hello_world" should exist
9
+
10
+ Scenario: Previously generated projects should be cleaned up before each Scenario
11
+ Then the following directories should not exist:
12
+ | hello_world |
13
+
14
+ Scenario: Create and verify a file exists
15
+ Given a file named "test.txt" with:
16
+ """
17
+ hello
18
+ """
19
+ Then a file named "test.txt" should exist
20
+
21
+ Scenario: Aruba cleans up files before each Scenario
22
+ Then a file named "test.txt" should not exist
23
+
24
+
@@ -0,0 +1,54 @@
1
+ @cli
2
+ Feature: Generate Module
3
+ A developer should be able to create a new BrowserCMS module by using a command line tool.
4
+
5
+ Background:
6
+
7
+ Scenario: Create a BrowserCMS module
8
+ When I create a module named "bcms_store"
9
+ Then a rails engine named "bcms_store" should exist
10
+ And BrowserCMS should be added the .gemspec file
11
+ And a file named "bcms_store/test/dummy/app/views/layouts/templates/default.html.erb" should exist
12
+
13
+ Scenario: Generate a module (3.4.x)
14
+ Given I run `bcms module bcms_widgets`
15
+ Then I cd to "bcms_widgets"
16
+ And a Gemfile should be created
17
+ And the engine should be created
18
+ And the installation script should be created
19
+ And the following files should exist:
20
+ | COPYRIGHT.txt |
21
+ And the project should be LGPL licensed
22
+ And the following files should exist:
23
+ | test/dummy/db/browsercms.seeds.rb|
24
+ And it should no longer generate a README in the public directory
25
+ And the file "test/dummy/config/routes.rb" should contain:
26
+ """
27
+ Rails.application.routes.draw do
28
+
29
+ mount BcmsWidgets::Engine => "/bcms_widgets"
30
+
31
+ mount_browsercms
32
+ """
33
+
34
+ Scenario: Can Install modules
35
+ Given I run `bcms module bcms_widgets`
36
+ And I cd to "bcms_widgets"
37
+ When I run `rake db:install`
38
+ Then it should seed the BrowserCMS database
39
+
40
+ Scenario: Packaging Modules as Gems
41
+ Given I run `bcms module bcms_widgets`
42
+ And I cd to "bcms_widgets"
43
+ Then the file "bcms_widgets.gemspec" should contain "s.files -= Dir['lib/tasks/module_tasks.rake']"
44
+ # Better tests, build the gem, check for errors
45
+ # Install the gem, check the contents.
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+