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
data/browsercms.gemspec CHANGED
@@ -9,39 +9,26 @@ Gem::Specification.new do |s|
9
9
  s.summary = %q{BrowserCMS is a a general purpose, open source Web Content Management System (CMS), written using Ruby on Rails.}
10
10
  s.description = %q{Web Content Management in Rails.}
11
11
  s.email = %q{github@browsermedia.com}
12
- s.executables = ["browsercms", "bcms", "bcms-upgrade"]
13
12
  s.extra_rdoc_files = [
14
13
  "LICENSE.txt",
15
14
  "README.markdown"
16
15
  ]
17
16
  s.required_ruby_version = '>= 1.9.2'
18
17
 
19
- s.files = Dir["rails/*.rb"]
20
- s.files += Dir["browsercms.gemspec"]
21
- s.files += Dir[".yardopts"]
22
- s.files += Dir["doc/app/**/*"]
23
- s.files += Dir["doc/guides/html/**/*"]
24
- s.files += Dir["app/**/*"]
25
- s.files += Dir["db/migrate/[0-9]*_*.rb"]
26
- s.files += Dir["db/demo/**/*"]
27
- s.files += Dir["db/seeds.rb"]
28
- s.files += Dir["lib/**/*"]
18
+ s.files = `git ls-files`.split("\n")
19
+ s.files -= Dir['test/dummy/*']
29
20
  s.files -= Dir["lib/tasks/cucumber.rake"]
30
21
  s.files -= Dir["lib/tasks/cms.rake"]
31
- s.files += Dir["public/stylesheets/cms/**/*"]
32
- s.files += Dir["public/javascripts/jquery*"]
33
- s.files += Dir["public/javascripts/cms/**/*"]
34
- s.files += Dir["public/bcms/**/*"]
35
- s.files += Dir["public/site/**/*"]
36
- s.files += Dir["public/images/cms/**/*"]
37
- s.files += Dir["public/themes/**/*"]
38
- s.files -= Dir['test/dummy/*']
22
+ s.files -= Dir["lib/tasks/core_tasks.rake"]
23
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
24
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
39
25
 
40
- s.add_dependency('rails', "~> 3.0.7")
26
+ s.add_dependency('rails', "~> 3.1.0 ")
41
27
  s.add_dependency "ancestry", "~> 1.2.4"
42
28
 
43
29
  # Required only for bcms-upgrade
44
30
  s.add_dependency('term-ansicolor')
31
+ s.add_dependency("jquery-rails")
45
32
 
46
33
  end
47
34
 
@@ -0,0 +1,8 @@
1
+ <%
2
+ rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
+ rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
+ std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
5
+ %>
6
+ default: <%= std_opts %> features
7
+ wip: --tags @wip:3 --wip features
8
+ rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
@@ -0,0 +1,30 @@
1
+ development:
2
+ adapter: jdbcmysql
3
+ encoding: utf8
4
+ database: browsercms_development
5
+ username: root
6
+ password:
7
+
8
+
9
+ # Warning: The database defined as 'test' will be erased and
10
+ # re-generated from your development database when you run 'rake'.
11
+ # Do not set this db to the same as development or production.
12
+ test:
13
+ adapter: jdbcmysql
14
+ encoding: utf8
15
+ database: browsercms_test
16
+ username: root
17
+ password:
18
+
19
+
20
+ production:
21
+ adapter: mysql
22
+ encoding: utf8
23
+ database: devcms
24
+ username: devcms
25
+ password: RUzwPU4e
26
+ socket: /var/lib/mysql/mysql.sock
27
+
28
+ test_sqlite3:
29
+ adapter: sqlite3
30
+ database: db/test.sqlite3
@@ -0,0 +1,27 @@
1
+ # Do not edit the database.yml file directory. BrowserCMS test suites run against multiple databases, so
2
+ # make changes to the correct 'source' db file. In this case, edit: config/database.mysql.yml instead.
3
+
4
+ development:
5
+ adapter: mysql2
6
+ encoding: utf8
7
+ reconnect: false
8
+ pool: 5
9
+ database: browsercms_development
10
+ username: root
11
+ password:
12
+ socket: /tmp/mysql.sock
13
+
14
+ # Warning: The database defined as 'test' will be erased and
15
+ # re-generated from your development database when you run 'rake'.
16
+ # Do not set this db to the same as development or production.
17
+ test: &test
18
+ adapter: mysql2
19
+ encoding: utf8
20
+ database: browsercms_test
21
+ username: root
22
+ password:
23
+ socket: /tmp/mysql.sock
24
+
25
+
26
+ cucumber:
27
+ <<: *test
@@ -0,0 +1,25 @@
1
+ development:
2
+ adapter: postgresql
3
+ database: browsercms_development
4
+ username: postgres
5
+ password:
6
+
7
+ # Warning: The database defined as 'test' will be erased and
8
+ # re-generated from your development database when you run 'rake'.
9
+ # Do not set this db to the same as development or production.
10
+ test:
11
+ adapter: postgresql
12
+ database: browsercms_test
13
+ username: postgres
14
+ password:
15
+
16
+ production:
17
+ adapter: postgresql
18
+ database: browsercms_production
19
+ username: postgres
20
+ password:
21
+
22
+
23
+ test_sqlite3:
24
+ adapter: sqlite3
25
+ database: db/test.sqlite3
@@ -0,0 +1,11 @@
1
+ # Do not edit the database.yml file directory. BrowserCMS test suites run against multiple databases, so
2
+ # make changes to the correct 'source' db file. In this case, edit: config/database.sqlite3.yml instead.
3
+ development:
4
+ adapter: sqlite3
5
+ database: ":memory:"
6
+
7
+
8
+ test:
9
+ adapter: sqlite3
10
+ database: "db/test.sqlite3"
11
+
@@ -0,0 +1,6 @@
1
+ # Load the rails application
2
+ require File.expand_path('../application', __FILE__)
3
+
4
+ # Initialize the rails application
5
+ Browsercms::Application.initialize!
6
+
@@ -0,0 +1,12 @@
1
+ # If we are using QueryReviewer, we need to patch it to avoid the sitemap blowing up.
2
+ if defined?(QueryReviewer)
3
+
4
+ QueryReviewer::SqlQuery.class_eval do
5
+ # Hack to prevent nil pointer errors from occuring on pages when queryanalyzer is on.
6
+ def table
7
+ return @subqueries.first.table unless @subqueries.empty?
8
+ "fake_table"
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # TODO: Can be removed after updating to rack 1.3.0
2
+ # Avoids this issue: http://stackoverflow.com/questions/3622394/ruby-1-9-2-strange-warning-when-running-cucumber-specs
3
+ module Rack
4
+ module Utils
5
+ def escape(s)
6
+ CGI.escape(s.to_s)
7
+ end
8
+ def unescape(s)
9
+ CGI.unescape(s)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ # Sample localization file for English. Add more files in this directory for other locales.
2
+ # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
+
4
+ en:
5
+ hello: "Hello world"
data/config/routes.rb ADDED
@@ -0,0 +1,101 @@
1
+ # These routes make up what will be found under /cms
2
+ # There are other routes that will be added at the root of the site (i.e. /) which can
3
+ # be found in lib/cms/route_extensions.rb
4
+ Cms::Engine.routes.draw do
5
+ match '/dashboard', :to=>"dashboard#index", :as=>'dashboard'
6
+ match '/', :to => 'home#index', :as=>'home'
7
+ match '/sitemap', :to=>"section_nodes#index", :as=>'sitemap'
8
+ match '/content_library', :to=>"html_blocks#index", :as=>'content_library'
9
+ match '/administration', :to=>"users#index", :as=>'administration'
10
+ match '/logout', :to=>"sessions#destroy", :as=>'logout'
11
+ get '/login', :to=>"sessions#new", :as=>'login'
12
+ post '/login', :to=>"sessions#create"
13
+
14
+ match '/toolbar', :to=>"toolbar#index", :as=>'toolbar'
15
+ match '/content_types', :to=>"content_types#index", :as=>'content_types'
16
+
17
+ resources :connectors do
18
+ member do
19
+ put :move_up
20
+ put :move_down
21
+ put :move_to_bottom
22
+ put :move_to_top
23
+ end
24
+ end
25
+ resources :links
26
+
27
+ resources :pages do
28
+ member do
29
+ put :archive
30
+ put :hide
31
+ put :publish
32
+ get :versions
33
+ end
34
+ collection do
35
+ put :publish
36
+ end
37
+ resources :tasks
38
+ end
39
+ get '/pages/:id/version/:version', :to=>'pages#version', :as=>'version_cms_page'
40
+ put '/pages/:id/revert_to/:version', :to=>'pages#revert_to', :as=>'revert_to_cms_page'
41
+ resources :tasks do
42
+ member do
43
+ put :complete
44
+ end
45
+ collection do
46
+ put :complete
47
+ end
48
+ end
49
+ match '/sections/file_browser.xml', :to => 'sections#file_browser', :format => "xml", :as=>'file_browser'
50
+ resources :sections do
51
+ resources :links, :pages
52
+ end
53
+
54
+ resources :section_nodes do
55
+ member do
56
+ put :move_before
57
+ put :move_after
58
+ put :move_to_beginning
59
+ put :move_to_end
60
+ put :move_to_root
61
+ end
62
+ end
63
+ match '/attachments/:id', :to => 'attachments#show', :as=>'attachment'
64
+
65
+ match '/content_library', :to=>'html_blocks#index', :as=>'content_library'
66
+ content_blocks :html_blocks
67
+ content_blocks :portlets
68
+ post '/portlet/:id/:handler', :to=>"portlet#execute_handler", :as=>"handler"
69
+
70
+ content_blocks :file_blocks
71
+ content_blocks :image_blocks
72
+ content_blocks :category_types
73
+ content_blocks :categories
74
+ content_blocks :tags
75
+
76
+ match '/administration', :to => 'users#index', :as=>'administration'
77
+
78
+ resources :users do
79
+ member do
80
+ get :change_password
81
+ put :update_password
82
+ put :disable
83
+ put :enable
84
+ end
85
+ end
86
+ resources :email_messages
87
+ resources :groups
88
+ resources :redirects
89
+ resources :page_partials, :controller => 'dynamic_views'
90
+ resources :page_templates, :controller => 'dynamic_views'
91
+ resources :page_routes do
92
+ resources :conditions, :controller => "page_route_conditions"
93
+ resources :requirements, :controller => "page_route_requirements"
94
+ end
95
+ get 'cache', :to=>'cache#show', :as=>'cache'
96
+ delete 'cache', :to=>'cache#destroy'
97
+
98
+ match "/routes", :to => "routes#index", :as=>'routes'
99
+
100
+ end
101
+
@@ -0,0 +1,64 @@
1
+ require 'cms/data_loader'
2
+ extend Cms::DataLoader
3
+
4
+ if %w[development test dev local].include?(Rails.env)
5
+ pwd = "cmsadmin"
6
+ else
7
+ pwd = (0..8).inject("") { |s, i| s << (('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a).rand }
8
+ end
9
+ Cms::User.current = create_user(:cmsadmin, :login => "cmsadmin", :first_name => "CMS", :last_name => "Administrator", :email => "cmsadmin@example.com", :password => pwd, :password_confirmation => pwd)
10
+
11
+ [["Cms::CategoryType", "Categorization"], ["Cms::Category","Categorization"], ["Cms::Tag", "Categorization"],
12
+ ["Cms::HtmlBlock", "Core"], ["Cms::Portlet", "Core"], ["Cms::FileBlock", "Core"], ["Cms::ImageBlock", "Core"]
13
+ ].each do |type|
14
+ create_content_type(type[0].to_sym, :name=>type[0], :group_name=>type[1])
15
+ end
16
+ create_permission(:administrate, :name => "administrate", :full_name => "Administer CMS", :description => "Allows users to administer the CMS, including adding users and groups.")
17
+ create_permission(:edit_content, :name => "edit_content", :full_name => "Edit Content", :description => "Allows users to Add, Edit and Delete both Pages and Blocks. Can Save (but not Publish) and Assign them as well.")
18
+ create_permission(:publish_content, :name => "publish_content", :full_name => "Publish Content", :description => "Allows users to Save and Publish, Hide and Archive both Pages and Blocks.")
19
+
20
+ create_group_type(:guest_group_type, :name => "Guest", :guest => true)
21
+ create_group_type(:registered_public_user, :name => "Registered Public User")
22
+ create_group_type(:cms_user, :name => "CMS User", :cms_access => true)
23
+ group_types(:cms_user).permissions<<permissions(:edit_content)
24
+ group_types(:cms_user).permissions<<permissions(:publish_content)
25
+
26
+ create_group(:guest, :name => 'Guest', :code => 'guest', :group_type => group_types(:guest_group_type))
27
+ create_group(:content_admin, :name => 'Cms Administrators', :code => 'cms-admin', :group_type => group_types(:cms_user))
28
+ create_group(:content_editor, :name => 'Content Editors', :code => 'content-editor', :group_type => group_types(:cms_user))
29
+ users(:cmsadmin).groups << groups(:content_admin)
30
+ users(:cmsadmin).groups << groups(:content_editor)
31
+
32
+ groups(:content_admin).permissions<<permissions(:administrate)
33
+ groups(:content_editor).permissions<<permissions(:edit_content)
34
+ groups(:content_editor).permissions<<permissions(:publish_content)
35
+
36
+ create_site(:default, :name => "Default", :domain => "example.com")
37
+ create_section(:root, :name => "My Site", :path => "/", :root => true)
38
+ create_section(:system, :name => "system", :parent => sections(:root), :path => "/system", :hidden => true)
39
+
40
+ Cms::Group.all.each { |g| g.sections = Cms::Section.all }
41
+
42
+ create_page(:home, :name => "Home", :path => "/", :section => sections(:root), :template_file_name => "default.html.erb", :cacheable => true)
43
+ create_page(:not_found, :name => "Page Not Found", :path => "/system/not_found", :section => sections(:system), :template_file_name => "default.html.erb", :publish_on_save => true, :hidden => true, :cacheable => true)
44
+ create_page(:access_denied, :name => "Access Denied", :path => "/system/access_denied", :section => sections(:system), :template_file_name => "default.html.erb", :publish_on_save => true, :hidden => true, :cacheable => true)
45
+ create_page(:server_error, :name => "Server Error", :path => "/system/server_error", :section => sections(:system), :template_file_name => "default.html.erb", :publish_on_save => true, :hidden => true, :cacheable => true)
46
+
47
+ create_html_block(:page_not_found, :name => "Page Not Found", :content => "<p>The page you tried to access does not exist on this server.</p>", :publish_on_save => true)
48
+ pages(:not_found).create_connector(html_blocks(:page_not_found), "main")
49
+ pages(:not_found).publish!
50
+
51
+ create_html_block(:access_denied, :name => "Access Denied", :content => "<p>You have tried to reach a resource or page which you do not have permission to view.</p>", :publish_on_save => true)
52
+ pages(:access_denied).create_connector(html_blocks(:access_denied), "main")
53
+ pages(:access_denied).publish!
54
+
55
+ create_html_block(:server_error, :name => "Server Error", :content => "<p>The server encountered an unexpected condition that prevented it from fulfilling the request.</p>", :publish_on_save => true)
56
+ pages(:server_error).create_connector(html_blocks(:server_error), "main")
57
+ pages(:server_error).publish!
58
+ pages(:home).publish!
59
+
60
+ unless Cms::DataLoader.silent_mode
61
+ puts "*************************************************"
62
+ puts "* YOUR CMS username/password is: cmsadmin/#{pwd}"
63
+ puts "*************************************************"
64
+ end
@@ -1,21 +1,21 @@
1
1
  class Browsercms300 < ActiveRecord::Migration
2
2
  def self.up
3
- create_table "users", :force => true do |t|
4
- t.column :login, :string, :limit => 40
5
- t.column :first_name, :string, :limit => 40
6
- t.column :last_name, :string, :limit => 40
7
- t.column :email, :string, :limit => 40
8
- t.column :crypted_password, :string, :limit => 40
9
- t.column :salt, :string, :limit => 40
10
- t.column :created_at, :datetime
11
- t.column :updated_at, :datetime
12
- t.column :expires_at, :datetime
13
- t.column :remember_token, :string, :limit => 40
3
+ create_table prefix(:users), :force => true do |t|
4
+ t.column :login, :string, :limit => 40
5
+ t.column :first_name, :string, :limit => 40
6
+ t.column :last_name, :string, :limit => 40
7
+ t.column :email, :string, :limit => 40
8
+ t.column :crypted_password, :string, :limit => 40
9
+ t.column :salt, :string, :limit => 40
10
+ t.column :created_at, :datetime
11
+ t.column :updated_at, :datetime
12
+ t.column :expires_at, :datetime
13
+ t.column :remember_token, :string, :limit => 40
14
14
  t.column :remember_token_expires_at, :datetime
15
15
  end
16
- add_index :users, :login, :unique => true
16
+ add_index prefix(:users), :login, :unique => true
17
17
 
18
- create_versioned_table :dynamic_views do |t|
18
+ create_content_table :dynamic_views do |t|
19
19
  t.string :type
20
20
  t.string :name
21
21
  t.string :format
@@ -24,7 +24,7 @@ class Browsercms300 < ActiveRecord::Migration
24
24
  t.timestamps
25
25
  end
26
26
 
27
- create_versioned_table :pages do |t|
27
+ create_content_table :pages do |t|
28
28
  t.string :name
29
29
  t.string :title
30
30
  t.string :path
@@ -36,34 +36,31 @@ class Browsercms300 < ActiveRecord::Migration
36
36
  t.boolean :hidden, :default => false
37
37
  end
38
38
 
39
- create_table :content_type_groups do |t|
39
+ create_table prefix(:content_type_groups) do |t|
40
40
  t.string :name
41
41
  t.timestamps
42
42
  end
43
- ContentTypeGroup.create!(:name => "Core")
44
43
 
45
- create_table :content_types do |t|
44
+ create_table prefix(:content_types) do |t|
46
45
  t.string :name
47
46
  t.belongs_to :content_type_group
48
47
  t.integer :priority, :default => 2
49
48
  t.timestamps
50
49
  end
51
50
 
52
- create_table :category_types do |t|
51
+ create_table prefix(:category_types) do |t|
53
52
  t.string :name
54
53
  t.timestamps
55
54
  end
56
- ContentType.create!(:name => "CategoryType", :group_name => "Categorization")
57
55
 
58
- create_table :categories do |t|
56
+ create_table prefix(:categories) do |t|
59
57
  t.belongs_to :category_type
60
58
  t.belongs_to :parent
61
59
  t.string :name
62
60
  t.timestamps
63
61
  end
64
- ContentType.create!(:name => "Category", :group_name => "Categorization")
65
62
 
66
- create_table :connectors do |t|
63
+ create_table prefix(:connectors) do |t|
67
64
  t.integer :page_id
68
65
  t.integer :page_version
69
66
  t.integer :connectable_id
@@ -78,9 +75,8 @@ class Browsercms300 < ActiveRecord::Migration
78
75
  t.string :name
79
76
  t.string :content, :limit => 64.kilobytes + 1
80
77
  end
81
- ContentType.create!(:name => "HtmlBlock", :group_name => "Core", :priority => 1)
82
78
 
83
- create_table :sections do |t|
79
+ create_table prefix(:sections) do |t|
84
80
  t.string :name
85
81
  t.string :path
86
82
  t.boolean :root, :default => false
@@ -88,7 +84,7 @@ class Browsercms300 < ActiveRecord::Migration
88
84
  t.timestamps
89
85
  end
90
86
 
91
- create_table :portlets do |t|
87
+ create_table prefix(:portlets) do |t|
92
88
  t.string :type
93
89
  t.string :name
94
90
  t.boolean :archived, :default => false
@@ -96,20 +92,19 @@ class Browsercms300 < ActiveRecord::Migration
96
92
  t.integer :created_by_id, :updated_by_id
97
93
  t.timestamps
98
94
  end
99
- create_table :portlet_attributes do |t|
95
+ create_table prefix(:portlet_attributes) do |t|
100
96
  t.integer :portlet_id
101
97
  t.string :name
102
98
  t.text :value
103
99
  end
104
- ContentType.create!(:name => "Portlet", :group_name => "Core", :priority => 1)
105
100
 
106
- create_table :redirects do |t|
101
+ create_table prefix(:redirects) do |t|
107
102
  t.string :from_path
108
103
  t.string :to_path
109
104
  t.timestamps
110
105
  end
111
106
 
112
- create_versioned_table :attachments do |t|
107
+ create_content_table :attachments do |t|
113
108
  t.string :file_path
114
109
  t.string :file_location
115
110
  t.string :file_extension
@@ -118,60 +113,58 @@ class Browsercms300 < ActiveRecord::Migration
118
113
  t.timestamps
119
114
  end
120
115
 
121
- create_versioned_table :file_blocks do |t|
116
+ create_content_table :file_blocks do |t|
122
117
  t.string :type
123
118
  t.string :name
124
119
  t.integer :attachment_id
125
120
  t.integer :attachment_version
126
121
  end
127
- ContentType.create!(:name => "FileBlock", :group_name => "Core")
128
- ContentType.create!(:name => "ImageBlock", :group_name => "Core")
129
122
 
130
- create_table :group_types do |t|
123
+ create_table prefix(:group_types) do |t|
131
124
  t.string :name
132
125
  t.boolean :guest, :default => false
133
126
  t.boolean :cms_access, :default => false
134
127
  t.timestamps
135
128
  end
136
- create_table :groups do |t|
129
+ create_table prefix(:groups) do |t|
137
130
  t.string :name
138
131
  t.string :code
139
132
  t.integer :group_type_id
140
133
  t.timestamps
141
134
  end
142
- create_table :user_group_memberships do |t|
135
+ create_table prefix(:user_group_memberships) do |t|
143
136
  t.integer :user_id
144
137
  t.integer :group_id
145
138
  end
146
139
 
147
- create_table :permissions do |t|
140
+ create_table prefix(:permissions) do |t|
148
141
  t.string :name
149
142
  t.string :full_name
150
143
  t.string :description
151
144
  t.string :for_module
152
145
  t.timestamps
153
146
  end
154
- create_table :group_permissions do |t|
147
+ create_table prefix(:group_permissions) do |t|
155
148
  t.integer :group_id
156
149
  t.integer :permission_id
157
150
  end
158
- create_table :group_type_permissions do |t|
151
+ create_table prefix(:group_type_permissions) do |t|
159
152
  t.integer :group_type_id
160
153
  t.integer :permission_id
161
154
  end
162
- create_table :group_sections do |t|
155
+ create_table prefix(:group_sections) do |t|
163
156
  t.integer :group_id
164
157
  t.integer :section_id
165
158
  end
166
159
 
167
- create_table :sites do |t|
160
+ create_table prefix(:sites) do |t|
168
161
  t.string :name
169
162
  t.string :domain
170
163
  t.boolean :the_default
171
164
  t.timestamps
172
165
  end
173
166
 
174
- create_table :section_nodes do |t|
167
+ create_table prefix(:section_nodes) do |t|
175
168
  t.integer :section_id
176
169
  t.string :node_type
177
170
  t.integer :node_id
@@ -179,20 +172,19 @@ class Browsercms300 < ActiveRecord::Migration
179
172
  t.timestamps
180
173
  end
181
174
 
182
- create_versioned_table :links do |t|
175
+ create_content_table :links do |t|
183
176
  t.string :name
184
177
  t.string :url
185
178
  t.boolean :new_window, :default => false
186
179
  t.timestamps
187
180
  end
188
181
 
189
- create_table :tags do |t|
182
+ create_table prefix(:tags) do |t|
190
183
  t.string :name
191
184
  t.timestamps
192
185
  end
193
- ContentType.create!(:name => "Tag", :group_name => "Categorization")
194
186
 
195
- create_table :taggings do |t|
187
+ create_table prefix(:taggings) do |t|
196
188
  t.integer :tag_id
197
189
  t.integer :taggable_id
198
190
  t.string :taggable_type
@@ -200,7 +192,7 @@ class Browsercms300 < ActiveRecord::Migration
200
192
  t.timestamps
201
193
  end
202
194
 
203
- create_table :email_messages do |t|
195
+ create_table prefix(:email_messages) do |t|
204
196
  t.string :sender
205
197
  t.text :recipients
206
198
  t.text :subject
@@ -212,7 +204,7 @@ class Browsercms300 < ActiveRecord::Migration
212
204
  t.timestamps
213
205
  end
214
206
 
215
- create_table :tasks do |t|
207
+ create_table prefix(:tasks) do |t|
216
208
  t.integer :assigned_by_id
217
209
  t.integer :assigned_to_id
218
210
  t.integer :page_id
@@ -222,14 +214,14 @@ class Browsercms300 < ActiveRecord::Migration
222
214
  t.timestamps
223
215
  end
224
216
 
225
- create_table :page_routes do |t|
217
+ create_table prefix(:page_routes) do |t|
226
218
  t.string :name
227
219
  t.string :pattern
228
220
  t.belongs_to :page
229
221
  t.text :code
230
222
  t.timestamps
231
- end
232
- create_table :page_route_options do |t|
223
+ end
224
+ create_table prefix(:page_route_options) do |t|
233
225
  t.belongs_to :page_route
234
226
  t.string :type
235
227
  t.string :name
@@ -239,36 +231,36 @@ class Browsercms300 < ActiveRecord::Migration
239
231
  end
240
232
 
241
233
  def self.down
242
- drop_table :page_route_options
243
- drop_table :page_routes
244
- drop_table :tasks
245
- drop_table :email_messages
246
- drop_table :taggings
247
- drop_table :tags
234
+ drop_table prefix(:page_route_options)
235
+ drop_table prefix(:page_routes)
236
+ drop_table prefix(:tasks)
237
+ drop_table prefix(:email_messages)
238
+ drop_table prefix(:taggings)
239
+ drop_table prefix(:tags)
248
240
  drop_versioned_table :links
249
- drop_table :section_nodes
250
- drop_table :sites
251
- drop_table :group_sections
252
- drop_table :group_type_permissions
253
- drop_table :group_permissions
254
- drop_table :permissions
255
- drop_table :user_group_memberships
256
- drop_table :groups
257
- drop_table :group_types
241
+ drop_table prefix(:section_nodes)
242
+ drop_table prefix(:sites)
243
+ drop_table prefix(:group_sections)
244
+ drop_table prefix(:group_type_permissions)
245
+ drop_table prefix(:group_permissions)
246
+ drop_table prefix(:permissions)
247
+ drop_table prefix(:user_group_memberships)
248
+ drop_table prefix(:groups)
249
+ drop_table prefix(:group_types)
258
250
  drop_versioned_table :file_blocks
259
- drop_table :attachments
260
- drop_table :redirects
261
- drop_table :portlet_attributes
262
- drop_table :portlets
263
- drop_table :sections
251
+ drop_versioned_table :attachments
252
+ drop_table prefix(:redirects)
253
+ drop_table prefix(:portlet_attributes)
254
+ drop_table prefix(:portlets)
255
+ drop_table prefix(:sections)
264
256
  drop_versioned_table :html_blocks
265
- drop_table :connectors
266
- drop_table :categories
267
- drop_table :category_types
268
- drop_table :content_types
269
- drop_table :content_type_groups
257
+ drop_table prefix(:connectors)
258
+ drop_table prefix(:categories)
259
+ drop_table prefix(:category_types)
260
+ drop_table prefix(:content_types)
261
+ drop_table prefix(:content_type_groups)
270
262
  drop_versioned_table :pages
271
263
  drop_versioned_table :dynamic_views
272
- drop_table "users"
264
+ drop_table prefix(:users)
273
265
  end
274
266
  end