browsercms 3.3.4 → 3.4.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,4 +0,0 @@
1
- class UserGroupMembership < ActiveRecord::Base
2
- belongs_to :group
3
- belongs_to :user
4
- end
data/db/demo/data.rb DELETED
@@ -1,97 +0,0 @@
1
- # Load up data that was created in load seed data migration
2
- User.current = User.first(:conditions => {:login => 'cmsadmin'})
3
- root_section = Section.root.first
4
- home_page = Page.first(:conditions => {:name => "Home"})
5
-
6
- # Apply new templates to core pages
7
- home_page.template_file_name = "home_page.html.erb"
8
- home_page.hidden = true
9
- home_page.publish_on_save = true
10
- home_page.save!
11
-
12
- # Fill out a sample site map
13
-
14
- # Main Menu
15
- create_section(:docs, :name => "Documentation", :parent => root_section, :path => "/documentation")
16
- create_section(:downloads, :name => "Downloads", :parent => root_section, :path => "/downloads")
17
- create_section(:contribute, :name => "Contribute", :parent => root_section, :path => "/contribute")
18
- create_section(:support, :name => "Support", :parent => root_section, :path => "/support")
19
-
20
- create_page(:support, :name => "Support", :path => "/support", :section => sections(:support), :template_file_name => "sub_page.html.erb")
21
- create_page(:forums, :name => "Forums", :path => "/support/forums", :section => sections(:support), :template_file_name => "sub_page.html.erb")
22
- create_page(:docs, :name => "Documentation", :path => "/documentation", :section => sections(:docs), :template_file_name => "sub_page.html.erb")
23
- create_page(:api, :name => "API", :path => "/documentation/api", :section => sections(:docs), :template_file_name => "sub_page.html.erb")
24
- create_page(:downloads, :name => "Downloads", :path => "/downloads", :section => sections(:downloads), :template_file_name => "sub_page.html.erb")
25
- create_page(:gems, :name => "Building a Gem", :path => "/downloads/gems", :section => sections(:downloads), :template_file_name => "sub_page.html.erb")
26
- create_page(:contribute, :name => "Contribute", :path => "/contribute", :section => sections(:contribute), :template_file_name => "sub_page.html.erb")
27
- create_page(:github, :name => "Using Github", :path => "/contribute/github", :section => sections(:contribute), :template_file_name => "sub_page.html.erb")
28
-
29
- # Utility Nav
30
- create_section(:util, :name => "Utility Nav", :parent => root_section, :path => "/util_nav", :hidden => true)
31
- create_link(:home, :name => "Home", :url => "/", :section => sections(:util))
32
- create_page(:demo, :name => "Demo", :path => "/util_nav/demo", :section => sections(:util), :template_file_name => "sub_page.html.erb")
33
- create_page(:contact_us, :name => "Contact Us", :path => "/util_nav/contact_us", :section => sections(:util), :template_file_name => "sub_page.html.erb")
34
- create_page(:about, :name => "About Us", :path => "/util_nav/about_us", :section => sections(:util), :template_file_name => "sub_page.html.erb")
35
-
36
- # Footer Nav
37
- create_section(:footer, :name => "Footer Nav", :parent => root_section, :path => "/footer_nav", :hidden => true)
38
- create_page(:demo, :name => "Site Map", :path => "/footer_nav/site_map", :section => sections(:footer), :template_file_name => "sub_page.html.erb")
39
- create_page(:contribute, :name => "Privacy Policy", :path => "/footer_nav/privacy_policy", :section => sections(:footer), :template_file_name => "sub_page.html.erb")
40
- create_link(:contact_us, :name => "Contact Us", :url => "/footer_nav/contact_us", :section => sections(:footer))
41
- create_page(:our_office, :name => "Our Office", :path => "/footer_nav/our_office", :section => sections(:footer), :template_file_name => "sub_page.html.erb")
42
-
43
- # Marks sections as visiable to everyone
44
- Group.all.each{|g| g.sections = Section.all }
45
-
46
- # Populate the pages with some content.
47
-
48
- welcome_content = "<p>Thank you for trying out this demo site. BrowserCMS is a open source content management system, written in Ruby on Rails.
49
- It's designed to be approachable for non-technical users, while allowing designers and developers to productively create
50
- great looking sites which feature dynamic functionality</p>
51
- <p>This demo site uses a theme (Blue Steel) with two templates (Home and Sub),
52
- along with a sample sitemap containing several pages and sections. The template shows how to use the core Template API, which allows
53
- designers to create maintainable pages with no limits on layout.
54
- </p>"
55
-
56
- create_html_block(:welcome, :name => "Welcome to BrowserCMS", :content => welcome_content, :publish_on_save => true)
57
- home_page.create_connector(html_blocks(:welcome), "main")
58
-
59
-
60
- login = "<p>In order to create or edit content, you will need to log into BrowserCMS.</p>
61
- <p><a href='/cms'>Login here</a>.</p>
62
- <p>Enter the following:</p><ul>
63
- <li>Username: cmsadmin</li><li>Password: cmsadmin</li></ul>"
64
- create_html_block(:login, :name => "Login", :content=>login, :connect_to_page_id => home_page.id, :connect_to_container => "side_bar_1")
65
-
66
- features = "<p>Here is a list of some of the features that BrowserCMS sports.</p>
67
- <ul>
68
- <li>100% Web Based Interface</li>
69
- <li>Group Based Permissions</li>
70
- <li>Rich Text Editing</li>
71
- <li>Flexible Design Templates</li>
72
- </ul>
73
- "
74
- create_html_block(:features, :name => "Features", :content=>features, :connect_to_page_id => home_page.id, :connect_to_container => "side_bar_2")
75
-
76
-
77
- create_html_block(:sidebar, :name => "Sidebar", :content => "<ul><li><a href=\"/\">Home</a></li><li><a href=\"/about\">About Us</a></li></ul>", :publish_on_save => true)
78
- create_html_block(:about_us, :name => "About Us", :content => "We are super fantastic", :publish_on_save => true)
79
-
80
- pages(:about).create_connector(html_blocks(:about_us), "main")
81
-
82
- create_dynamic_portlet(:recently_updated_pages,
83
- :name => 'Recently Updated Pages',
84
- :code => "@pages = Page.all(:order => 'updated_at desc', :limit => 3)",
85
- :template => <<-TEMPLATE
86
- <h2>Recent Updates</h2>
87
- <ul>
88
- <% @pages.each do |page| %><li>
89
- <%= page.name %>
90
- </li><% end %>
91
- </ul>
92
- TEMPLATE
93
- )
94
-
95
- # Publish all Pages
96
- Page.all.each{|p| p.publish! }
97
- Link.all.each{|l| l.publish! }
@@ -1,6 +0,0 @@
1
- <div id="footer" class="nav wrapper">
2
- <div>
3
- <p>&copy; 1998-2009 BrowserMedia, LLC. All Rights Reserved</p>
4
- <a href="/footer_nav/site_map">Site Map</a><span>|</span><a href="/footer_nav/privacy_policy">Privacy Policy</a><span>|</span><a href="">Contact Us</a><span>|</span><a href="/footer_nav/our_office">Our Office</a>
5
- </div>
6
- </div>
@@ -1,24 +0,0 @@
1
- <div id="content">
2
- <div id="upper_nav" class="nav">
3
- <div>
4
- <a href="/">Home</a><span>|</span>
5
- <a href="/util_nav/demo">Demo</a><span>|</span>
6
- <a href="/util_nav/contact_us">Contact Us</a><span>|</span>
7
- <a href="/util_nav/about_us">About Us</a>
8
- </div>
9
- </div>
10
- <div style="clear: both;"></div>
11
- <div id="header" class="wrapper">
12
- <a href="/"><%= image_tag "/themes/blue_steel/images/logo.jpg", :alt=>"logo"%></a>
13
- <div id="header_text">
14
- <h1>BrowserCMS 3.0</h1>
15
- <p>
16
- The newly redesigned BrowserCMS 3.0 is an easy, affordable<br />
17
- way to control, edit, and organize website content.
18
- </p>
19
- </div>
20
- </div>
21
- <div style="clear: both;"></div>
22
- <div id="mid_nav" class="nav wrapper">
23
- <%= render_menu :from_top => 0, :depth => 1%>
24
- </div>
@@ -1,49 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
5
- <meta http-equiv="Content-Style-Type" content="text/css" />
6
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
7
- <title><%= page_title %></title>
8
- <%= yield :html_head %>
9
- <%= stylesheet_link_tag "/themes/blue_steel/stylesheets/style" %>
10
- <style type="text/css">
11
- #broad {
12
- margin-right: 10px;
13
- width: 635px;
14
- # height: 520px;
15
- }
16
- #broad div.main_wrapper {
17
- margin: 10px;
18
- border: 1px solid #CCCCCC;
19
- height: 237px;
20
- }
21
- </style>
22
- </head>
23
- <body>
24
- <%= cms_toolbar %>
25
- <%= render :partial => "partials/header"%>
26
- <div id="main">
27
- <div id="broad" class="wrapper">
28
- <%= image_tag "/themes/blue_steel/images/splash.jpg", :alt=>"Splash!", :id=>"splash"%>
29
- <div class="main_wrapper">
30
- <h2>Welcome to BrowserCMS 3.0</h2>
31
- <%= container :main %>
32
- </div>
33
- </div>
34
- <div id="narrow" class="wrapper">
35
- <div class="page_highlight main_wrapper">
36
- <h3>Login</h3>
37
- <%= container :side_bar_1 %>
38
- </div>
39
- <div class="page_highlight main_wrapper">
40
- <h3>Features</h3>
41
- <%= container :side_bar_2 %>
42
- </div>
43
- </div>
44
- </div>
45
- <div style="clear: both;"></div>
46
- <%= render :partial => "partials/footer" %>
47
- </div>
48
- </body>
49
- </html>
@@ -1,37 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
5
- <meta http-equiv="Content-Style-Type" content="text/css" />
6
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
7
- <title><%= page_title %></title>
8
- <%= yield :html_head %>
9
- <%= stylesheet_link_tag "/themes/blue_steel/stylesheets/style" %>
10
- </head>
11
- <body>
12
- <%= cms_toolbar %>
13
- <%= render :partial => "partials/header"%>
14
- <div id="main">
15
- <div id="sub_nav" class="nav wrapper">
16
- <%# Sub Menus: Developers can dynamically render menus for subsections.
17
- # Here we show all pages/sections starting one level down from the top of the site.
18
- # All children of the top level section will be shown here in a list. %>
19
- <%= render_menu :from_top => 1, :depth => 2 %>
20
- </div>
21
- <div id="broad" class="wrapper">
22
- <%# This demonstrates how breadcrumbs can be automatically generated by using helpers.
23
- # The style of the breadcrumbs is controlled via CSS, which turns the ul/li into horizontal breadcrumbs with separaters. %>
24
- <!-- Commented out as we don't have styles/design for this yet.
25
- <%= render_breadcrumbs %>
26
- -->
27
- <div class="main_wrapper">
28
- <h2><%= page_title %></h2>
29
- <%= container :main %>
30
- </div>
31
- </div>
32
- </div>
33
- <div style="clear: both;"></div>
34
- <%= render :partial => "partials/footer" %>
35
- </div>
36
- </body>
37
- </html>
data/lib/cms/routes.rb DELETED
@@ -1,145 +0,0 @@
1
- module Cms::Routes
2
-
3
-
4
- # Adds all necessary routes to manage a new content type. Works very similar to the Rails _resources_ method, adding basic CRUD routes, as well as additional ones
5
- # for CMS specific routes (like versioning)
6
- #
7
- # @param [Symbol] content_block_name - The plural name of a new Content Type. Should match the name of the content_block, like :dogs or :donation_statuses
8
- def content_blocks(content_block_name, options={}, & block)
9
- content_block = content_block_name.to_s.classify.constantize
10
- resources content_block_name do
11
- member do
12
- put :publish if content_block.publishable?
13
- get :versions if content_block.versioned?
14
- get :usages if content_block.connectable?
15
- end
16
- end
17
- if content_block.versioned?
18
- send("get", "/#{content_block_name}/:id/version/:version", :to=>"#{content_block_name}#version", :as=>"version_cms_#{content_block_name}".to_sym)
19
- send("put", "/#{content_block_name}/:id/revert_to/:version", :to=>"#{content_block_name}#revert_to", :as=>"revert_to_cms_#{content_block_name}".to_sym)
20
- end
21
- end
22
-
23
- # Adds the routes required for BrowserCMS to function to a routes.rb file. Should be the last route in the file, as
24
- # all following routes will be ignored.
25
- #
26
- # Usage:
27
- # YourAppName::Application.routes.draw do
28
- # match '/some/path/in/your/app' :to=>"controller#action''
29
- # routes_for_browser_cms
30
- # end
31
- #
32
- def routes_for_browser_cms
33
-
34
- namespace :cms do
35
-
36
- match '/dashboard', :to=>"dashboard#index", :as=>'dashboard'
37
- match '/', :to => 'home#index', :as=>'home'
38
- match '/sitemap', :to=>"section_nodes#index", :as=>'sitemap'
39
- match '/content_library', :to=>"html_blocks#index", :as=>'content_library'
40
- match '/administration', :to=>"users#index", :as=>'administration'
41
- match '/logout', :to=>"sessions#destroy", :as=>'logout'
42
- get '/login', :to=>"sessions#new", :as=>'login'
43
- post '/login', :to=>"sessions#create"
44
-
45
- match '/toolbar', :to=>"toolbar#index", :as=>'toolbar'
46
- match '/content_types', :to=>"content_types#index", :as=>'content_types'
47
-
48
- resources :connectors do
49
- member do
50
- put :move_up
51
- put :move_down
52
- put :move_to_bottom
53
- put :move_to_top
54
- end
55
- end
56
- resources :links
57
-
58
- resources :pages do
59
- member do
60
- put :archive
61
- put :hide
62
- put :publish
63
- get :versions
64
- end
65
- collection do
66
- put :publish
67
- end
68
- resources :tasks
69
- end
70
- get '/pages/:id/version/:version', :to=>'pages#version', :as=>'version_cms_page'
71
- put '/pages/:id/revert_to/:version', :to=>'pages#revert_to', :as=>'revert_to_cms_page'
72
- resources :tasks do
73
- member do
74
- put :complete
75
- end
76
- collection do
77
- put :complete
78
- end
79
- end
80
- match '/sections/file_browser.xml', :to => 'sections#file_browser', :format => "xml", :as=>'file_browser'
81
- resources :sections do
82
- resources :links, :pages
83
- end
84
-
85
- resources :section_nodes do
86
- member do
87
- put :move_before
88
- put :move_after
89
- put :move_to_beginning
90
- put :move_to_end
91
- put :move_to_root
92
- end
93
- end
94
- match '/attachments/:id', :to => 'attachments#show', :as=>'attachment'
95
-
96
- match '/content_library', :to=>'html_blocks#index', :as=>'content_library'
97
- content_blocks :html_blocks
98
- content_blocks :portlets
99
- post '/portlet/:id/:handler', :to=>"portlet#execute_handler"
100
-
101
- content_blocks :file_blocks
102
- content_blocks :image_blocks
103
- content_blocks :category_types
104
- content_blocks :categories
105
- content_blocks :tags
106
-
107
- match '/administration', :to => 'users#index', :as=>'administration'
108
-
109
- resources :users do
110
- member do
111
- get :change_password
112
- put :update_password
113
- put :disable
114
- put :enable
115
- end
116
- end
117
- resources :email_messages
118
- resources :groups
119
- resources :redirects
120
- resources :page_partials, :controller => 'dynamic_views'
121
- resources :page_templates, :controller => 'dynamic_views'
122
- resources :page_routes do
123
- resources :conditions, :controller => "page_route_conditions"
124
- resources :requirements, :controller => "page_route_requirements"
125
- end
126
- get 'cache', :to=>'cache#show', :as=>'cache'
127
- delete 'cache', :to=>'cache#destroy'
128
-
129
- match "/routes", :to => "routes#index", :as=>'routes'
130
-
131
- end
132
-
133
- # Loads all Cms PageRoutes from the database
134
- # TODO: Needs a integration/functional level test to verify that a page route w/ constraints will be correctly mapped.
135
- if PageRoute.can_be_loaded?
136
- PageRoute.all(:order => "page_routes.name").each do |r|
137
- match r.pattern, :to=>r.to, :as=>r.route_name, :_page_route_id=>r.page_route_id, :via=>r.via, :constraints=>r.constraints
138
- end
139
- end
140
-
141
- match "/", :to=>"cms/content#show"
142
- match "*path", :to=>"cms/content#show"
143
- end
144
-
145
- end
@@ -1,138 +0,0 @@
1
- require 'generators/browser_cms'
2
- require 'rails/generators/migration'
3
- module BrowserCms
4
- module Generators
5
- class DemoSiteGenerator < Base
6
- include Rails::Generators::Migration
7
-
8
- def create_demo_site
9
- # Copy all public files
10
- Dir["#{Cms.root}/public/themes/blue_steel/**/*"].each do |f|
11
- if File.file?(f)
12
- file_name = f.sub("#{Cms.root}/", '')
13
- directory File.dirname(file_name)
14
- copy_file Cms.scrub_path(f), file_name
15
- end
16
- end
17
-
18
- copy_file 'lib/generators/browser_cms/demo_site/templates/demo_site.rake', 'lib/tasks/demo_site.rake'
19
-
20
- template templates_dir('migration.erb'), 'db/demo_site_seeds.rb', :assigns => {
21
- :data => data,
22
- :page_templates => page_templates,
23
- :page_partials => page_partials
24
- }
25
-
26
- end
27
-
28
- private
29
- def templates_dir(file=nil)
30
- f = File.expand_path(File.join(File.dirname(__FILE__), "templates", file))
31
- Cms.scrub_path(f)
32
- end
33
- def data
34
- open(File.join(Cms.root, "db", "demo", "data.rb")){|f| f.read}
35
- end
36
-
37
- # Returns an array of strings that are ruby code.
38
- # Each string is a hash that should be passed to the create_page_template method
39
- # in the migration
40
- def page_templates
41
- Dir["#{Cms.root}/db/demo/page_templates/*.erb"].map do |f|
42
- name, format, handler = File.basename(f).split('.')
43
- %Q{create_page_template(:#{name},
44
- :name => "#{name}", :format => "#{format}", :handler => "#{handler}",
45
- :body => <<-HTML
46
- #{open(f){|f| f.read}}
47
- HTML
48
- )}
49
- end
50
- end
51
-
52
- def page_partials
53
- Dir["#{Cms.root}/db/demo/page_partials/*.erb"].map do |f|
54
- name, format, handler = File.basename(f).split('.')
55
- %Q{create_page_partial(:#{name},
56
- :name => "#{name}", :format => "#{format}", :handler => "#{handler}",
57
- :body => <<-HTML
58
- #{open(f){|f| f.read}}
59
- HTML
60
- )}
61
- end
62
- end
63
-
64
- # FIXME: Should be proxied to ActiveRecord::Generators::Base
65
- # Implement the required interface for Rails::Generators::Migration.
66
- def self.next_migration_number(dirname) #:nodoc:
67
- if ActiveRecord::Base.timestamped_migrations
68
- Time.now.utc.strftime("%Y%m%d%H%M%S")
69
- else
70
- "%.3d" % (current_migration_number(dirname) + 1)
71
- end
72
- end
73
- end
74
- end
75
- end
76
- # class BrowserCmsDemoSiteGenerator < Rails::Generator::Base
77
- #
78
- # def source_root
79
- # "/"
80
- # end
81
- #
82
- # def templates_dir(file=nil)
83
- # f = File.expand_path(File.join(File.dirname(__FILE__), "templates", file))
84
- # Cms.scrub_path(f)
85
- # end
86
- #
87
- # def manifest
88
- # record do |m|
89
- # # Copy all public files
90
- # Dir["#{Cms.root}/public/themes/blue_steel/**/*"].each do |f|
91
- # if File.file?(f)
92
- # file_name = f.sub("#{Cms.root}/", '')
93
- # m.directory File.dirname(file_name)
94
- # m.file Cms.scrub_path(f), file_name
95
- # end
96
- # end
97
- #
98
- # m.migration_template templates_dir('migration.rb'), 'db/migrate', :assigns => {
99
- # :data => data,
100
- # :page_templates => page_templates,
101
- # :page_partials => page_partials
102
- # }, :migration_file_name => "load_demo_site_data"
103
- #
104
- # end
105
- # end
106
- #
107
- # def data
108
- # open(File.join(Cms.root, "db", "demo", "data.rb")){|f| f.read}
109
- # end
110
- #
111
- # # Returns an array of strings that are ruby code.
112
- # # Each string is a hash that should be passed to the create_page_template method
113
- # # in the migration
114
- # def page_templates
115
- # Dir["#{Cms.root}/db/demo/page_templates/*.erb"].map do |f|
116
- # name, format, handler = File.basename(f).split('.')
117
- # %Q{create_page_template(:#{name},
118
- # :name => "#{name}", :format => "#{format}", :handler => "#{handler}",
119
- # :body => <<-HTML
120
- # #{open(f){|f| f.read}}
121
- # HTML
122
- # )}
123
- # end
124
- # end
125
- #
126
- # def page_partials
127
- # Dir["#{Cms.root}/db/demo/page_partials/*.erb"].map do |f|
128
- # name, format, handler = File.basename(f).split('.')
129
- # %Q{create_page_partial(:#{name},
130
- # :name => "#{name}", :format => "#{format}", :handler => "#{handler}",
131
- # :body => <<-HTML
132
- # #{open(f){|f| f.read}}
133
- # HTML
134
- # )}
135
- # end
136
- # end
137
- #
138
- # end