browsercms 3.5.7 → 4.0.0.alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/COPYRIGHT.txt +2 -1
- data/README.markdown +3 -3
- data/app/assets/fonts/icomoon.dev.svg +61 -0
- data/app/assets/fonts/icomoon.eot +0 -0
- data/app/assets/fonts/icomoon.svg +61 -0
- data/app/assets/fonts/icomoon.ttf +0 -0
- data/app/assets/fonts/icomoon.woff +0 -0
- data/app/assets/images/ckeditor/plugins/delete_content/icons/deletecontent.png +0 -0
- data/app/assets/images/ckeditor/plugins/edit_content/icons/editcontent.png +0 -0
- data/app/assets/images/ckeditor/plugins/move_content/icons/movecontentdown.png +0 -0
- data/app/assets/images/ckeditor/plugins/move_content/icons/movecontentup.png +0 -0
- data/app/assets/images/cms/arrow-down.png +0 -0
- data/app/assets/images/cms/arrow-up.png +0 -0
- data/app/assets/images/cms/cogs.png +0 -0
- data/app/assets/images/cms/dashboard/home.png +0 -0
- data/app/assets/images/cms/home.png +0 -0
- data/app/assets/images/cms/logo.png +0 -0
- data/app/assets/images/cms/pencil.png +0 -0
- data/app/assets/images/cms/plus.png +0 -0
- data/app/assets/images/cms/user.png +0 -0
- data/app/assets/javascripts/bcms/ckeditor_inline.js +23 -0
- data/app/assets/javascripts/bcms/ckeditor_standard_config.js +1 -1
- data/app/assets/javascripts/ckeditor/plugins/delete_content/plugin.js +36 -0
- data/app/assets/javascripts/ckeditor/plugins/edit_content/plugin.js +24 -0
- data/app/assets/javascripts/ckeditor/plugins/move_content/plugin.js +25 -0
- data/app/assets/javascripts/cms/ajax.js +60 -0
- data/app/assets/javascripts/cms/application.js +6 -1
- data/app/assets/javascripts/cms/attachment_manager.js.erb +3 -10
- data/app/assets/javascripts/cms/content_library.js +31 -12
- data/app/assets/javascripts/cms/core_library.js.erb +68 -36
- data/app/assets/javascripts/cms/form_builder.js +250 -0
- data/app/assets/javascripts/cms/namespace.js +2 -0
- data/app/assets/javascripts/cms/new_content_button.js +27 -0
- data/app/assets/javascripts/cms/page_editor.js +188 -0
- data/app/assets/javascripts/cms/page_toolbar.js +13 -0
- data/app/assets/javascripts/cms/site.js +2 -0
- data/app/assets/javascripts/cms/sitemap.js +219 -0
- data/app/assets/javascripts/cms/toolbar.js +17 -1
- data/app/assets/javascripts/cms/user.js +40 -0
- data/app/assets/javascripts/jquery.exists.js +5 -0
- data/app/assets/javascripts/jquery.taglist.js +37 -23
- data/app/assets/stylesheets/cms/_assets.css.scss +55 -0
- data/app/assets/stylesheets/cms/_base.css.scss +42 -0
- data/app/assets/stylesheets/cms/_cms-buttons.css.scss +73 -0
- data/app/assets/stylesheets/cms/_cms-forms.css.scss +70 -0
- data/app/assets/stylesheets/cms/_colors.css.scss +20 -0
- data/app/assets/stylesheets/cms/_dashboard.css.scss +25 -0
- data/app/assets/stylesheets/cms/_glyph.css.scss +60 -0
- data/app/assets/stylesheets/cms/_main-area.css.scss +62 -0
- data/app/assets/stylesheets/cms/_nav.css.scss +197 -0
- data/app/assets/stylesheets/cms/_sidebar.css.scss +64 -0
- data/app/assets/stylesheets/cms/_sitemap.css.scss +196 -0
- data/app/assets/stylesheets/cms/_submenu.css.scss +48 -0
- data/app/assets/stylesheets/cms/application.css.scss +49 -0
- data/app/assets/stylesheets/cms/core.css.scss +96 -0
- data/app/assets/stylesheets/cms/default-forms.css.scss +3 -0
- data/app/assets/stylesheets/cms/includes/_animation.css.scss +2 -0
- data/app/assets/stylesheets/cms/includes/_rem.css.scss +120 -0
- data/app/assets/stylesheets/cms/includes/animation/_animate.css.scss +31 -0
- data/app/assets/stylesheets/cms/includes/animation/_core.css.scss +127 -0
- data/app/assets/stylesheets/cms/includes/animation/_shared.css.scss +22 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/_attention-seekers.css.scss +152 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/_bouncing.css.scss +3 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/_classes.css.scss +21 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/_fading.css.scss +3 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/_flippers.css.scss +87 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/_lightspeed.css.scss +24 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/_rotating.css.scss +3 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/_specials.css.scss +42 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/bouncing/_bouncing-entrances.css.scss +68 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/bouncing/_bouncing-exits.css.scss +60 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/fading/_fading-entrances.css.scss +86 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/fading/_fading-exits.css.scss +86 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/rotating/_rotating-entrances.css.scss +58 -0
- data/app/assets/stylesheets/cms/includes/animation/animate/rotating/_rotating-exits.css.scss +58 -0
- data/app/assets/stylesheets/cms/page_content_editing.css.scss +4 -0
- data/app/assets/stylesheets/cms/page_editor.css.scss +4 -0
- data/app/assets/stylesheets/cms/style.css.scss +138 -0
- data/app/assets/stylesheets/cms/styles/_alerts.css.scss +150 -0
- data/app/assets/stylesheets/cms/styles/_base-grid.css.scss +299 -0
- data/app/assets/stylesheets/cms/styles/_buttons.css.scss +247 -0
- data/app/assets/stylesheets/cms/styles/_dropdown.css.scss +155 -0
- data/app/assets/stylesheets/cms/styles/_forms.css.scss +728 -0
- data/app/assets/stylesheets/cms/styles/_glyph.css.scss +86 -0
- data/app/assets/stylesheets/cms/styles/_images.css.scss +75 -0
- data/app/assets/stylesheets/cms/styles/_lists.css.scss +115 -0
- data/app/assets/stylesheets/cms/styles/_modal.css.scss +174 -0
- data/app/assets/stylesheets/cms/styles/_progress.css.scss +43 -0
- data/app/assets/stylesheets/cms/styles/_tables.css.scss +141 -0
- data/app/assets/stylesheets/cms/styles/_text.css.scss +134 -0
- data/app/controllers/cms/application_controller.rb +3 -68
- data/app/controllers/cms/attachments_controller.rb +5 -5
- data/app/controllers/cms/base_controller.rb +20 -13
- data/app/controllers/cms/cache_controller.rb +16 -17
- data/app/controllers/cms/category_types_controller.rb +6 -1
- data/app/controllers/cms/connectors_controller.rb +12 -7
- data/app/controllers/cms/content_block_controller.rb +128 -71
- data/app/controllers/cms/content_controller.rb +54 -56
- data/app/controllers/cms/dashboard_controller.rb +5 -6
- data/app/controllers/cms/dynamic_views_controller.rb +12 -9
- data/app/controllers/cms/email_messages_controller.rb +18 -13
- data/app/controllers/cms/form_entries_controller.rb +119 -0
- data/app/controllers/cms/form_fields_controller.rb +74 -0
- data/app/controllers/cms/forms_controller.rb +35 -0
- data/app/controllers/cms/groups_controller.rb +13 -16
- data/app/controllers/cms/html_blocks_controller.rb +2 -2
- data/app/controllers/cms/inline_content_controller.rb +48 -0
- data/app/controllers/cms/links_controller.rb +58 -46
- data/app/controllers/cms/page_components_controller.rb +20 -0
- data/app/controllers/cms/page_routes_controller.rb +44 -40
- data/app/controllers/cms/pages_controller.rb +111 -97
- data/app/controllers/cms/passwords_controller.rb +17 -0
- data/app/controllers/cms/portlet_controller.rb +0 -1
- data/app/controllers/cms/portlets_controller.rb +20 -27
- data/app/controllers/cms/redirects_controller.rb +13 -9
- data/app/controllers/cms/resource_controller.rb +15 -4
- data/app/controllers/cms/routes_controller.rb +2 -4
- data/app/controllers/cms/section_nodes_controller.rb +6 -37
- data/app/controllers/cms/sections_controller.rb +13 -8
- data/app/controllers/cms/sessions_controller.rb +8 -66
- data/app/controllers/cms/sites/passwords_controller.rb +27 -0
- data/app/controllers/cms/sites/sessions_controller.rb +20 -0
- data/app/controllers/cms/tags_controller.rb +12 -12
- data/app/controllers/cms/tasks_controller.rb +45 -46
- data/app/controllers/cms/user_controller.rb +8 -0
- data/app/controllers/cms/users_controller.rb +91 -68
- data/app/helpers/cms/application_helper.rb +58 -52
- data/app/helpers/cms/content_block_helper.rb +8 -7
- data/app/helpers/cms/form_tag_helper.rb +21 -25
- data/app/helpers/cms/menu_helper.rb +1 -3
- data/app/helpers/cms/mobile_helper.rb +12 -2
- data/app/helpers/cms/nav_menu_helper.rb +23 -0
- data/app/helpers/cms/page_helper.rb +72 -30
- data/app/helpers/cms/path_helper.rb +46 -70
- data/app/helpers/cms/rendering_helper.rb +68 -12
- data/app/helpers/cms/section_nodes_helper.rb +92 -31
- data/app/helpers/cms/sites/authentication_helper.rb +25 -0
- data/app/helpers/cms/sites/devise_shim_helper.rb +31 -0
- data/app/helpers/cms/template_support.rb +1 -7
- data/app/helpers/cms/ui_elements_helper.rb +147 -6
- data/app/helpers/forgot_password_portlet_helper.rb +9 -0
- data/app/helpers/login_portlet_helper.rb +10 -0
- data/app/inputs/attachments_input.rb +14 -0
- data/app/inputs/cms_text_area_input.rb +10 -0
- data/app/inputs/cms_text_field_input.rb +29 -0
- data/app/inputs/date_picker_input.rb +8 -0
- data/app/inputs/file_picker_input.rb +75 -0
- data/app/inputs/path_input.rb +18 -0
- data/app/inputs/tag_list_input.rb +3 -0
- data/app/inputs/template_editor_input.rb +24 -0
- data/app/inputs/text_editor_input.rb +19 -0
- data/app/models/cms/abstract_file_block.rb +10 -6
- data/app/models/cms/attachment.rb +20 -27
- data/app/models/cms/category.rb +17 -7
- data/app/models/cms/category_type.rb +8 -4
- data/app/models/cms/connector.rb +32 -20
- data/app/models/cms/content.rb +31 -0
- data/app/models/cms/content_type.rb +114 -62
- data/app/models/cms/dynamic_view.rb +19 -45
- data/app/models/cms/email_message.rb +32 -2
- data/app/models/cms/external_user.rb +60 -0
- data/app/models/cms/file_block.rb +1 -0
- data/app/models/cms/form.rb +47 -0
- data/app/models/cms/form_entry.rb +71 -0
- data/app/models/cms/form_field.rb +78 -0
- data/app/models/cms/group.rb +19 -9
- data/app/models/cms/group_permission.rb +1 -1
- data/app/models/cms/group_section.rb +1 -1
- data/app/models/cms/group_type.rb +5 -5
- data/app/models/cms/group_type_permission.rb +1 -1
- data/app/models/cms/html_block.rb +14 -19
- data/app/models/cms/image_block.rb +1 -0
- data/app/models/cms/link.rb +8 -6
- data/app/models/cms/page.rb +156 -59
- data/app/models/cms/page_component.rb +43 -0
- data/app/models/cms/page_partial.rb +16 -8
- data/app/models/cms/page_route.rb +1 -1
- data/app/models/cms/page_route_condition.rb +1 -1
- data/app/models/cms/page_route_option.rb +1 -1
- data/app/models/cms/page_route_requirement.rb +1 -1
- data/app/models/cms/page_template.rb +14 -9
- data/app/models/cms/permission.rb +4 -2
- data/app/models/cms/persistent_user.rb +208 -0
- data/app/models/cms/portlet.rb +56 -9
- data/app/models/cms/redirect.rb +1 -1
- data/app/models/cms/search_filter.rb +18 -0
- data/app/models/cms/section.rb +39 -28
- data/app/models/cms/section_node.rb +32 -5
- data/app/models/cms/site.rb +3 -3
- data/app/models/cms/tag.rb +14 -12
- data/app/models/cms/tagging.rb +2 -2
- data/app/models/cms/task.rb +14 -21
- data/app/models/cms/templates.rb +1 -2
- data/app/models/cms/user.rb +21 -160
- data/app/models/cms/user_group_membership.rb +2 -2
- data/app/portlets/deprecated_placeholder.rb +12 -0
- data/app/portlets/dynamic_portlet.rb +1 -1
- data/app/portlets/email_page_portlet.rb +10 -3
- data/app/portlets/forgot_password_portlet.rb +9 -28
- data/app/portlets/login_portlet.rb +8 -5
- data/app/portlets/tag_cloud_portlet.rb +3 -1
- data/app/presenters/cms/user_presenter.rb +24 -0
- data/app/views/cms/application/_add_content_modal.html.erb +3 -0
- data/app/views/cms/application/_buttons.html.erb +7 -0
- data/app/views/cms/{shared → application}/_exception.html.erb +0 -0
- data/app/views/cms/application/_form_errors.html.erb +7 -0
- data/app/views/cms/application/_form_with_buttons.html.erb +10 -0
- data/app/views/cms/application/_main_content.html.erb +3 -0
- data/app/views/cms/application/_main_with_sidebar.html.erb +8 -0
- data/app/views/cms/application/_mobile_toolbar.html.erb +16 -0
- data/app/views/cms/application/_page_title.html.erb +5 -0
- data/app/views/cms/application/_pagination.html.erb +26 -0
- data/app/views/cms/application/_row.html.erb +1 -0
- data/app/views/cms/application/_save_buttons.html.erb +7 -0
- data/app/views/cms/application/_sidebar_layout.html.erb +3 -0
- data/app/views/cms/application/_version.html.erb +23 -0
- data/app/views/cms/{shared → application}/_version_conflict_diff.html.erb +0 -0
- data/app/views/cms/{shared → application}/_version_conflict_error.html.erb +0 -0
- data/app/views/cms/attachments/_attachment_manager.html.erb +22 -0
- data/app/views/cms/attachments/_no_attachments_defined.html.erb +1 -0
- data/app/views/cms/cache/show.html.erb +5 -10
- data/app/views/cms/categories/_form.html.erb +15 -24
- data/app/views/cms/category_types/_form.html.erb +1 -1
- data/app/views/cms/connectors/new.html.erb +33 -64
- data/app/views/cms/content/editing_frame.html.erb +1 -0
- data/app/views/cms/content/no_page.html.erb +9 -27
- data/app/views/cms/content/show.html.erb +14 -15
- data/app/views/cms/content_block/_block_form.html.erb +15 -0
- data/app/views/cms/content_block/_buttonbar.html.erb +29 -0
- data/app/views/cms/content_block/_buttons.html.erb +13 -0
- data/app/views/cms/content_block/_hidden_fields.html.erb +13 -0
- data/app/views/cms/content_block/_sidebar.html.erb +35 -0
- data/app/views/cms/content_block/edit.html.erb +3 -0
- data/app/views/cms/content_block/index.html.erb +87 -0
- data/app/views/cms/content_block/new.html.erb +3 -0
- data/app/views/cms/content_block/render_block_in_main_container.html.erb +10 -0
- data/app/views/cms/content_block/show.html.erb +1 -0
- data/app/views/cms/content_block/show_in_isolation.html.erb +15 -0
- data/app/views/cms/content_block/versions.html.erb +24 -0
- data/app/views/cms/dashboard/_page_drafts.html.erb +12 -22
- data/app/views/cms/dashboard/_tasks.html.erb +32 -45
- data/app/views/cms/dashboard/index.html.erb +11 -13
- data/app/views/cms/dynamic_views/_form.html.erb +8 -10
- data/app/views/cms/dynamic_views/edit.html.erb +2 -3
- data/app/views/cms/dynamic_views/index.html.erb +22 -44
- data/app/views/cms/dynamic_views/new.html.erb +2 -3
- data/app/views/cms/email_messages/index.html.erb +31 -34
- data/app/views/cms/email_messages/show.html.erb +45 -52
- data/app/views/cms/file_blocks/_form.html.erb +2 -4
- data/app/views/cms/form_entries/_buttons.html.erb +2 -0
- data/app/views/cms/form_entries/_form.html.erb +7 -0
- data/app/views/cms/form_entries/_internal_form.html.erb +9 -0
- data/app/views/cms/form_entries/edit.html.erb +5 -0
- data/app/views/cms/form_entries/error.html.erb +3 -0
- data/app/views/cms/form_entries/index.html.erb +4 -0
- data/app/views/cms/form_entries/new.html.erb +5 -0
- data/app/views/cms/form_entries/show.html.erb +13 -0
- data/app/views/cms/form_entries/submit.html.erb +1 -0
- data/app/views/cms/form_fields/_form.html.erb +8 -0
- data/app/views/cms/form_fields/_select.html.erb +3 -0
- data/app/views/cms/form_fields/_text_area.html.erb +3 -0
- data/app/views/cms/form_fields/_text_field.html.erb +3 -0
- data/app/views/cms/form_fields/edit.html.erb +0 -0
- data/app/views/cms/form_fields/new.html.erb +26 -0
- data/app/views/cms/form_fields/preview.html.erb +16 -0
- data/app/views/cms/forms/_form.html.erb +66 -0
- data/app/views/cms/forms/render.html.erb +15 -0
- data/app/views/cms/forms/show.html.erb +6 -0
- data/app/views/cms/groups/_form.html.erb +32 -38
- data/app/views/cms/groups/_permissions.html.erb +11 -34
- data/app/views/cms/groups/_sections.html.erb +11 -17
- data/app/views/cms/groups/edit.html.erb +1 -3
- data/app/views/cms/groups/index.html.erb +10 -32
- data/app/views/cms/groups/new.html.erb +2 -4
- data/app/views/cms/html_blocks/_form.html.erb +2 -2
- data/app/views/cms/html_blocks/render.html.erb +1 -1
- data/app/views/cms/image_blocks/_form.html.erb +3 -3
- data/app/views/cms/links/_form.html.erb +6 -11
- data/app/views/cms/links/edit.html.erb +3 -12
- data/app/views/cms/links/new.html.erb +4 -13
- data/app/views/cms/page_components/_content.html.erb +18 -0
- data/app/views/cms/page_components/new.html.erb +12 -0
- data/app/views/cms/page_routes/_form.html.erb +11 -10
- data/app/views/cms/page_routes/edit.html.erb +2 -3
- data/app/views/cms/page_routes/index.html.erb +25 -48
- data/app/views/cms/page_routes/new.html.erb +2 -3
- data/app/views/cms/pages/_edit_content.html.erb +28 -0
- data/app/views/cms/pages/_form.html.erb +20 -37
- data/app/views/cms/pages/_main_form.html.erb +23 -0
- data/app/views/cms/pages/_simple_container.html.erb +8 -0
- data/app/views/cms/pages/edit.html.erb +2 -23
- data/app/views/cms/pages/new.html.erb +2 -16
- data/app/views/cms/pages/versions.html.erb +18 -87
- data/app/views/cms/redirects/_form.html.erb +6 -14
- data/app/views/cms/redirects/edit.html.erb +2 -3
- data/app/views/cms/redirects/index.html.erb +24 -50
- data/app/views/cms/redirects/new.html.erb +2 -3
- data/app/views/cms/routes/index.html.erb +15 -20
- data/app/views/cms/section_nodes/_children.html.erb +3 -0
- data/app/views/cms/section_nodes/_row_buttons.html.erb +11 -0
- data/app/views/cms/section_nodes/_section_node.html.erb +24 -10
- data/app/views/cms/section_nodes/_sitemap_buttons.html.erb +47 -0
- data/app/views/cms/section_nodes/_status.html.erb +5 -0
- data/app/views/cms/section_nodes/show.html.erb +9 -0
- data/app/views/cms/sections/_buttons.html.erb +6 -0
- data/app/views/cms/sections/_form.html.erb +22 -49
- data/app/views/cms/sections/edit.html.erb +3 -8
- data/app/views/cms/sections/new.html.erb +4 -20
- data/app/views/cms/sessions/new.html.erb +16 -31
- data/app/views/cms/shared/access_denied.html.erb +1 -2
- data/app/views/cms/shared/error.html.erb +5 -5
- data/app/views/cms/sites/_flash.html.erb +8 -0
- data/app/views/cms/sites/passwords/new.html.erb +2 -0
- data/app/views/cms/sites/sessions/new.html.erb +2 -0
- data/app/views/cms/tags/_form.html.erb +1 -1
- data/app/views/cms/tags/render.html.erb +0 -1
- data/app/views/cms/tasks/new.html.erb +18 -32
- data/app/views/cms/toolbar/_new_pages_menu.html.erb +10 -0
- data/app/views/cms/users/_form.html.erb +8 -11
- data/app/views/cms/users/_password.html.erb +2 -8
- data/app/views/cms/users/_user_fields.html.erb +7 -20
- data/app/views/cms/users/change_password.html.erb +12 -21
- data/app/views/cms/users/edit.html.erb +1 -15
- data/app/views/cms/users/index.html.erb +61 -58
- data/app/views/cms/users/new.html.erb +1 -12
- data/app/views/devise/confirmations/new.html.erb +16 -0
- data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
- data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/devise/passwords/edit.html.erb +19 -0
- data/app/views/devise/passwords/new.html.erb +15 -0
- data/app/views/devise/registrations/edit.html.erb +28 -0
- data/app/views/devise/registrations/new.html.erb +18 -0
- data/app/views/devise/shared/_links.erb +25 -0
- data/app/views/devise/unlocks/new.html.erb +16 -0
- data/app/views/layouts/cms/_content_types.html.erb +13 -0
- data/app/views/layouts/cms/_footer.erb +2 -2
- data/app/views/layouts/cms/_head.html.erb +8 -18
- data/app/views/layouts/cms/_main_menu.html.erb +78 -0
- data/app/views/layouts/cms/application.html.erb +19 -24
- data/app/views/layouts/cms/content_page.html.erb +5 -0
- data/app/views/layouts/cms/page_editor.html.erb +90 -0
- data/app/views/portlets/deprecated_placeholders/_form.html.erb +1 -0
- data/app/views/portlets/deprecated_placeholders/render.html.erb +8 -0
- data/app/views/portlets/dynamic/_form.html.erb +3 -3
- data/app/views/portlets/email_page/_form.html.erb +5 -6
- data/app/views/portlets/forgot_password/_form.html.erb +2 -3
- data/app/views/portlets/forgot_password/render.html.erb +2 -14
- data/app/views/portlets/login/_form.html.erb +4 -6
- data/app/views/portlets/login/render.html.erb +8 -27
- data/app/views/portlets/portlets/_form.html.erb +7 -6
- data/app/views/portlets/tag_cloud/_form.html.erb +4 -4
- data/app/views/tests/pretend/open_with_layout.html.erb +1 -1
- data/bin/bcms +13 -16
- data/config/routes.rb +58 -29
- data/db/browsercms.seeds.rb +0 -6
- data/db/migrate/{20080815014337_browsercms_3_0_0.rb → 20080815014337_browsercms300.rb} +94 -73
- data/db/migrate/20130327184912_browsercms400.rb +90 -0
- data/db/migrate/20131206214021_devise_create_users.rb +47 -0
- data/db/migrate/20131211223908_kill_reset_password.rb +5 -0
- data/db/migrate/20131218222005_create_cms_external_users.rb +10 -0
- data/doc/features/design_integration.md +45 -0
- data/doc/features/external_user.md +7 -0
- data/doc/features/form_builder.md +40 -0
- data/doc/features/simple_form_refactor.md +60 -0
- data/doc/release_notes.md +224 -10
- data/lib/acts_as_list.rb +72 -71
- data/lib/browsercms.rb +41 -1
- data/lib/cms/acts/content_block.rb +12 -2
- data/lib/cms/acts/content_page.rb +3 -4
- data/lib/cms/admin_tab.rb +15 -0
- data/lib/cms/attachments/configuration.rb +1 -1
- data/lib/cms/authentication/controller.rb +83 -177
- data/lib/cms/authentication/test_password_strategy.rb +19 -0
- data/lib/cms/behaviors.rb +1 -0
- data/lib/cms/behaviors/archiving.rb +2 -2
- data/lib/cms/behaviors/attaching.rb +21 -45
- data/lib/cms/behaviors/connecting.rb +14 -4
- data/lib/cms/behaviors/dynamic_attributes.rb +3 -3
- data/lib/cms/behaviors/hiding.rb +2 -2
- data/lib/cms/behaviors/namespacing.rb +6 -36
- data/lib/cms/behaviors/publishing.rb +92 -45
- data/lib/cms/behaviors/rendering.rb +15 -7
- data/lib/cms/behaviors/searching.rb +5 -4
- data/lib/cms/behaviors/soft_deleting.rb +13 -16
- data/lib/cms/behaviors/taggable.rb +17 -10
- data/lib/cms/behaviors/versioning.rb +12 -16
- data/lib/cms/commands/to_version400.rb +10 -0
- data/lib/cms/concerns.rb +7 -0
- data/lib/cms/concerns/can_be_addressable.rb +326 -0
- data/lib/cms/concerns/has_content_type.rb +46 -0
- data/lib/cms/concerns/ignores_publishing.rb +9 -0
- data/lib/cms/configuration.rb +14 -4
- data/lib/cms/configuration/configurable_template.rb +24 -0
- data/lib/cms/configuration/devise.rb +256 -0
- data/lib/cms/configure_simple_form.rb +142 -0
- data/lib/cms/configure_simple_form_bootstrap.rb +49 -0
- data/lib/cms/content_filter.rb +18 -0
- data/lib/cms/content_page.rb +77 -0
- data/lib/cms/content_rendering_support.rb +25 -16
- data/lib/cms/controllers/admin_controller.rb +78 -0
- data/lib/cms/data_loader.rb +30 -11
- data/lib/cms/default_accessible.rb +6 -6
- data/lib/cms/domain_support.rb +0 -4
- data/lib/cms/engine.rb +52 -20
- data/lib/cms/engine_helper.rb +41 -51
- data/{app/controllers → lib}/cms/error_handling.rb +11 -5
- data/lib/cms/extensions.rb +2 -1
- data/lib/cms/extensions/active_model/name.rb +13 -0
- data/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements.rb +49 -89
- data/lib/cms/extensions/hash.rb +0 -12
- data/lib/cms/form_builder/content_block_form_builder.rb +45 -0
- data/lib/cms/form_builder/default_input.rb +13 -0
- data/lib/cms/form_builder/deprecated_inputs.rb +40 -0
- data/lib/cms/form_builder/workflow_buttons.rb +38 -0
- data/lib/cms/module.rb +1 -7
- data/lib/cms/polymorphic_single_table_inheritance.rb +19 -0
- data/lib/cms/publish_workflow.rb +26 -0
- data/lib/cms/responders/content_responder.rb +14 -0
- data/lib/cms/route_extensions.rb +112 -20
- data/lib/cms/version.rb +1 -1
- data/lib/generators/browser_cms/demo_site/templates/demo.seeds.rb +0 -2
- data/lib/generators/cms/content_block/content_block_generator.rb +19 -46
- data/lib/generators/cms/content_block/templates/_form.html.erb +22 -28
- data/lib/generators/cms/project/templates/devise.rb.erb +7 -0
- metadata +383 -150
- data/app/assets/javascripts/cms/sitemap.js.erb +0 -464
- data/app/assets/stylesheets/browsercms/application.css +0 -7
- data/app/assets/stylesheets/cms/administration.css.erb +0 -91
- data/app/assets/stylesheets/cms/application.css.erb +0 -171
- data/app/assets/stylesheets/cms/attachment_manager.css.scss +0 -28
- data/app/assets/stylesheets/cms/block.css +0 -26
- data/app/assets/stylesheets/cms/buttons.css.erb +0 -120
- data/app/assets/stylesheets/cms/content_library.css.erb +0 -139
- data/app/assets/stylesheets/cms/content_types.css +0 -4
- data/app/assets/stylesheets/cms/dashboard.css.erb +0 -118
- data/app/assets/stylesheets/cms/data_table.css.erb.erb +0 -156
- data/app/assets/stylesheets/cms/date_picker.css.erb +0 -82
- data/app/assets/stylesheets/cms/form_layout.css.erb +0 -282
- data/app/assets/stylesheets/cms/login.css.erb +0 -78
- data/app/assets/stylesheets/cms/menu.css.erb +0 -116
- data/app/assets/stylesheets/cms/nav.css.erb +0 -99
- data/app/assets/stylesheets/cms/page_toolbar.css.erb +0 -135
- data/app/assets/stylesheets/cms/reset.css +0 -46
- data/app/assets/stylesheets/cms/selectbox.css.erb +0 -56
- data/app/assets/stylesheets/cms/sitemap.css.erb +0 -390
- data/app/assets/stylesheets/cms/taglist.css +0 -18
- data/app/controllers/application_controller.rb +0 -14
- data/app/controllers/cms/content_types_controller.rb +0 -9
- data/app/helpers/application_helper.rb +0 -5
- data/app/helpers/cms/form_builder.rb +0 -241
- data/app/models/cms/content_type_group.rb +0 -15
- data/app/models/cms/forgot_password_mailer.rb +0 -14
- data/app/portlets/reset_password_portlet.rb +0 -28
- data/app/views/cms/blocks/_hidden_fields.html.erb +0 -10
- data/app/views/cms/blocks/_toolbar.html.erb +0 -9
- data/app/views/cms/blocks/_toolbar_for_collection.html.erb +0 -23
- data/app/views/cms/blocks/_toolbar_for_member.html.erb +0 -36
- data/app/views/cms/blocks/edit.html.erb +0 -28
- data/app/views/cms/blocks/index.html.erb +0 -86
- data/app/views/cms/blocks/new.html.erb +0 -19
- data/app/views/cms/blocks/show.html.erb +0 -43
- data/app/views/cms/blocks/usages.html.erb +0 -44
- data/app/views/cms/blocks/versions.html.erb +0 -90
- data/app/views/cms/content_types/index.html.erb +0 -14
- data/app/views/cms/form_builder/_cms_attachment_manager.html.erb +0 -27
- data/app/views/cms/form_builder/_cms_check_box.html.erb +0 -7
- data/app/views/cms/form_builder/_cms_date_picker.html.erb +0 -12
- data/app/views/cms/form_builder/_cms_datetime_select.html.erb +0 -12
- data/app/views/cms/form_builder/_cms_drop_down.html.erb +0 -12
- data/app/views/cms/form_builder/_cms_fancy_drop_down.html.erb +0 -9
- data/app/views/cms/form_builder/_cms_file_field.html.erb +0 -28
- data/app/views/cms/form_builder/_cms_instructions.html.erb +0 -4
- data/app/views/cms/form_builder/_cms_tag_list.html.erb +0 -15
- data/app/views/cms/form_builder/_cms_template_editor.html.erb +0 -9
- data/app/views/cms/form_builder/_cms_text_area.html.erb +0 -10
- data/app/views/cms/form_builder/_cms_text_editor.html.erb +0 -19
- data/app/views/cms/form_builder/_cms_text_field.html.erb +0 -12
- data/app/views/cms/links/destroy.js.rjs +0 -2
- data/app/views/cms/page_routes/show.html.erb +0 -10
- data/app/views/cms/pages/_edit_connector.html.erb +0 -19
- data/app/views/cms/pages/_edit_container.html.erb +0 -11
- data/app/views/cms/section_nodes/_link.html.erb +0 -14
- data/app/views/cms/section_nodes/_node.html.erb +0 -44
- data/app/views/cms/section_nodes/_page.html.erb +0 -20
- data/app/views/cms/section_nodes/_section.html.erb +0 -28
- data/app/views/cms/section_nodes/index.html.erb +0 -43
- data/app/views/cms/sections/_page.html.erb +0 -4
- data/app/views/cms/sections/_section.html.erb +0 -8
- data/app/views/cms/sections/destroy.js.rjs +0 -2
- data/app/views/cms/sections/index.html.erb +0 -23
- data/app/views/cms/shared/_admin_sidebar.html.erb +0 -36
- data/app/views/cms/shared/_pagination.html.erb +0 -31
- data/app/views/cms/toolbar/_mobile_toggle.html.erb +0 -33
- data/app/views/cms/toolbar/index.html.erb +0 -1
- data/app/views/cms/users/_groups.html.erb +0 -12
- data/app/views/cms/users/_toolbar.html.erb +0 -24
- data/app/views/cms/users/show.html.erb +0 -50
- data/app/views/layouts/_cms_toolbar.html.erb +0 -54
- data/app/views/layouts/_page_toolbar.html.erb +0 -119
- data/app/views/layouts/cms/administration.html.erb +0 -51
- data/app/views/layouts/cms/content_library.html.erb +0 -96
- data/app/views/layouts/cms/dashboard.html.erb +0 -16
- data/app/views/layouts/cms/login.html.erb +0 -31
- data/app/views/layouts/cms/section_nodes.html.erb +0 -20
- data/app/views/layouts/cms/toolbar.html.erb +0 -23
- data/app/views/portlets/reset_password/_form.html.erb +0 -3
- data/app/views/portlets/reset_password/render.html.erb +0 -22
- data/bin/bcms-upgrade +0 -332
- data/db/migrate/20091109175123_browsercms_3_0_5.rb +0 -9
- data/db/migrate/20100117144038_browsercms314.rb +0 -20
- data/db/migrate/20100117144039_browsercms315.rb +0 -95
- data/db/migrate/20100705083859_browsercms_3_3_0.rb +0 -56
- data/db/migrate/20111130221145_browsercms340.rb +0 -56
- data/db/migrate/20120329144406_browsercms350.rb +0 -32
- data/db/migrate/20120717182827_browsercms353.rb +0 -19
- data/db/migrate/20120813180110_browsercms354.rb +0 -9
- data/lib/cms/addressable.rb +0 -93
- data/lib/cms/authentication/model.rb +0 -116
- data/lib/cms/behaviors/pagination.rb +0 -212
- data/lib/cms/upgrades/v3_4_0.rb +0 -31
- data/lib/cms/upgrades/v3_5_0.rb +0 -227
data/bin/bcms-upgrade
DELETED
|
@@ -1,332 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
require 'rubygems'
|
|
4
|
-
require 'thor'
|
|
5
|
-
require 'term/ansicolor'
|
|
6
|
-
require 'rails/generators/actions'
|
|
7
|
-
require 'active_support/core_ext/string/inflections'
|
|
8
|
-
require 'cms/commands/actions'
|
|
9
|
-
require 'cms/version'
|
|
10
|
-
|
|
11
|
-
class String
|
|
12
|
-
include Term::ANSIColor
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
class App < Thor
|
|
16
|
-
include Thor::Actions
|
|
17
|
-
include Rails::Generators::Actions
|
|
18
|
-
include Cms::Commands::Actions
|
|
19
|
-
|
|
20
|
-
desc "check", "Checks the existing module to determine what needs to done."
|
|
21
|
-
def check
|
|
22
|
-
puts "The following issues are preventing a BrowserCMS/Rails 3 upgrade.\n".red.bold
|
|
23
|
-
|
|
24
|
-
# check for Jeweler usage
|
|
25
|
-
if File.exists?("Rakefile")
|
|
26
|
-
contents = ""
|
|
27
|
-
File.open("Rakefile", "rb") { |f| contents = f.read }
|
|
28
|
-
|
|
29
|
-
using_jeweler = contents.include?('jeweler')
|
|
30
|
-
if using_jeweler
|
|
31
|
-
migrate_jeweler
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
# Check for routes usage
|
|
36
|
-
if File.exists?("lib/#{name_of_module}/routes.rb")
|
|
37
|
-
contents = ""
|
|
38
|
-
File.open("lib/#{name_of_module}/routes.rb", "rb") { |f| contents = f.read }
|
|
39
|
-
|
|
40
|
-
using_rails2_routes = contents.include?('cms.')
|
|
41
|
-
if using_rails2_routes
|
|
42
|
-
migrate_routes
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
instructions = <<TEXT
|
|
47
|
-
Once there are no remaining changes have been made:
|
|
48
|
-
1. Check in into source control
|
|
49
|
-
2. Run bcms-upgrade rails cleanup bcms
|
|
50
|
-
TEXT
|
|
51
|
-
puts instructions
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
desc 'v3_3_x', "Upgrades BrowserCMS files from 3.1.x to 3.3.x (Back up first)"
|
|
55
|
-
|
|
56
|
-
def v3_3_x
|
|
57
|
-
upgrade_to_3_3_0
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
desc 'module', "Upgrades a module. "
|
|
61
|
-
def module
|
|
62
|
-
unless project_is_module?
|
|
63
|
-
say "This does not appear to be a BrowserCMS module. Skipping update."
|
|
64
|
-
exit 0
|
|
65
|
-
end
|
|
66
|
-
upgrade_module_from_3_1_x_to_3_3_x if project_is_3_1_x?
|
|
67
|
-
upgrade_from_3_3_x_to_3_4_x
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
desc 'next_steps', "Reprints instructions on final steps (Use after 'upgrade')"
|
|
71
|
-
|
|
72
|
-
def next_steps
|
|
73
|
-
header = <<TEXT
|
|
74
|
-
Next Steps:
|
|
75
|
-
============
|
|
76
|
-
TEXT
|
|
77
|
-
puts header.red
|
|
78
|
-
|
|
79
|
-
instructions = <<TEXT
|
|
80
|
-
This module has been upgraded to BrowserCMS 3.3 and Rails 3! Now just do the following to test:
|
|
81
|
-
|
|
82
|
-
1. Verify the Gemfile is correct (it may be using MySQL and/or Jeweler, which your project won't need)
|
|
83
|
-
2. There are several other files you should review that were likely overwritten by rails.
|
|
84
|
-
a. README - [Revert | Delete] Either revert this, or delete it. (If you had a README.markdown for instance)
|
|
85
|
-
b. test/test_helper [Merge | Keep] If you added anything custom to your test_helper, merge the changes into the new file.
|
|
86
|
-
c. config/routes.rb - Any non-standard routes in this file should probably be in your lib/#{name_of_module}/routes.rb so they get packaged with the gem
|
|
87
|
-
3. rake db:drop db:create db:migrate db:seed - Rebuilds the database
|
|
88
|
-
4. rake test - Check that your tests still pass
|
|
89
|
-
a. You may get test failure if your tests that don't use 'require 'test_helper' may need it. Just replace existing requires.
|
|
90
|
-
5. rails server - Start the app and test
|
|
91
|
-
6. Make sure the gemspec includes the correct files (lib/tasks/build_gem.rake should not be included)
|
|
92
|
-
7. If you have migrations that need to be in the gem, edit lib/generators/#{name_of_module}/install/install_generators.
|
|
93
|
-
8. Portlets/blocks may need to update their render.html.erb to include .html_safe for any content being output as HTML.
|
|
94
|
-
9. Release the gem (rake release)
|
|
95
|
-
|
|
96
|
-
TEXT
|
|
97
|
-
puts instructions
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
private
|
|
101
|
-
|
|
102
|
-
def new_rails
|
|
103
|
-
puts "Overwriting with Rails 3 code."
|
|
104
|
-
run "rails new . -f"
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
def upgrade_module_from_3_1_x_to_3_3_x
|
|
108
|
-
puts "Upgrading to BrowserCMS 3.3.x..."
|
|
109
|
-
new_rails
|
|
110
|
-
cleanup_rails2_files
|
|
111
|
-
cleanup_rails_3
|
|
112
|
-
cleanup_module
|
|
113
|
-
upgrade_to_3_3_0
|
|
114
|
-
generate_bcms_module_for_3_3_x
|
|
115
|
-
next_steps
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
# Removes any files which are Rails 2 specific
|
|
119
|
-
def cleanup_rails2_files
|
|
120
|
-
%w{about console dbconsole destroy generate performance plugin runner server}.each do |script_name|
|
|
121
|
-
remove_file "script/#{script_name}"
|
|
122
|
-
end
|
|
123
|
-
remove_file "config/initializers/new_rails_defaults.rb"
|
|
124
|
-
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
# Clean up or revert all files associated with Rails 3 that should be rolled back or removed.
|
|
128
|
-
def cleanup_rails_3
|
|
129
|
-
remove_file "public/index.html"
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
def cleanup_module
|
|
133
|
-
remove_file "rails/init.rb"
|
|
134
|
-
remove_file "rails"
|
|
135
|
-
remove_file "db/migrate/20080815014337_browsercms_3_0_0.rb"
|
|
136
|
-
remove_file "db/migrate/20081114172307_load_seed_data.rb"
|
|
137
|
-
remove_file "db/migrate/20091109175123_browsercms_3_0_5.rb"
|
|
138
|
-
remove_file "app/views/layouts/application.html.erb"
|
|
139
|
-
remove_file "config/initializers/init_module.rb"
|
|
140
|
-
|
|
141
|
-
puts "Reverting some files using git.".red
|
|
142
|
-
git :checkout => '.gitignore'
|
|
143
|
-
git :checkout => 'doc/README_FOR_APP'
|
|
144
|
-
git :checkout => 'config/database.yml'
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
def upgrade_from_3_3_x_to_3_4_x
|
|
149
|
-
remove_dir "script" # Wipe out any old scripts, using new Rails 3.1 mountable script.
|
|
150
|
-
remove_file 'config.ru'
|
|
151
|
-
run "rails plugin new . --mountable --force"
|
|
152
|
-
revert "lib/#{name_of_module}/engine.rb"
|
|
153
|
-
revert "lib/#{name_of_module}/version.rb"
|
|
154
|
-
revert "#{name_of_module}.gemspec"
|
|
155
|
-
|
|
156
|
-
remove_file "MIT-LICENSE"
|
|
157
|
-
remove_file "README.rdoc"
|
|
158
|
-
move_file "config/database.yml", "test/dummy/config/database.yml"
|
|
159
|
-
|
|
160
|
-
move_file "config/routes.rb", "tmp/routes.rb" # Backup to avoid getting overwritten by plugin
|
|
161
|
-
remove_dir "config"
|
|
162
|
-
empty_directory "config"
|
|
163
|
-
move_file "tmp/routes.rb", "config/routes.rb"
|
|
164
|
-
|
|
165
|
-
prepend_to_file "lib/#{name_of_module}/engine.rb", "require 'browsercms'\n"
|
|
166
|
-
include_cms_module
|
|
167
|
-
|
|
168
|
-
remove_dir "app/views/layouts"
|
|
169
|
-
remove_file "app/controllers/application_controller.rb"
|
|
170
|
-
remove_file "app/helpers/application_helper.rb"
|
|
171
|
-
|
|
172
|
-
move_dir "public/bcms/#{name_of_module.gsub("bcms_", "")}", "app/assets"
|
|
173
|
-
remove_dir "public"
|
|
174
|
-
|
|
175
|
-
append_to_file "test/dummy/config/routes.rb", "\tmount_browsercms\n", :after=>"/#{name_of_module}\"\n"
|
|
176
|
-
|
|
177
|
-
# Clean up db/ folder
|
|
178
|
-
remove_file "db/schema.rb"
|
|
179
|
-
remove_file "db/seeds.rb"
|
|
180
|
-
remove_files "db/migrate/*_browsercms*.rb"
|
|
181
|
-
remove_files "db/*.sqlite3"
|
|
182
|
-
|
|
183
|
-
# Create a seed data file
|
|
184
|
-
create_file "test/dummy/db/seeds.rb", "# Add seed data here"
|
|
185
|
-
|
|
186
|
-
end
|
|
187
|
-
|
|
188
|
-
# Does a git revert of a file.
|
|
189
|
-
def revert(file)
|
|
190
|
-
git :checkout => file
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
# Move all the contents of a given directory into the specified directory
|
|
194
|
-
# @param [String] src Relative name of src directory (with project)
|
|
195
|
-
# @param [String] dest Relative name of dest directory (with project)
|
|
196
|
-
# @param [Hash] config
|
|
197
|
-
def move_dir(src, dest, config={})
|
|
198
|
-
src_path = File.expand_path(src, destination_root)
|
|
199
|
-
|
|
200
|
-
Dir.glob(File.join(src_path, '*')).each do |file|
|
|
201
|
-
to = File.join(destination_root, dest, File.basename(file))
|
|
202
|
-
FileUtils.mv file, to
|
|
203
|
-
say_status :mv, "#{relative_to_original_destination_root(file)} -> #{relative_to_original_destination_root(to)}", config.fetch(:verbose, true)
|
|
204
|
-
|
|
205
|
-
end
|
|
206
|
-
end
|
|
207
|
-
|
|
208
|
-
# Remove a set of files matching a glob pattern.
|
|
209
|
-
# @param [String] pattern i.e. db/migrate/*_browsercms_*.rb
|
|
210
|
-
def remove_files(pattern)
|
|
211
|
-
Dir.glob(File.join(destination_root, pattern)).each do |file|
|
|
212
|
-
remove_file file
|
|
213
|
-
end
|
|
214
|
-
end
|
|
215
|
-
|
|
216
|
-
# Move a file within the destination directory
|
|
217
|
-
# @param [String] src
|
|
218
|
-
# @param [String] dest
|
|
219
|
-
# @param [Hash] config
|
|
220
|
-
def move_file(src, dest, config={})
|
|
221
|
-
src_path = File.expand_path(src, destination_root)
|
|
222
|
-
dest_path = File.expand_path(dest, destination_root)
|
|
223
|
-
say_status :mv, "#{relative_to_original_destination_root(src_path)} -> #{relative_to_original_destination_root(dest_path)}", config.fetch(:verbose, true)
|
|
224
|
-
FileUtils.mv(src_path, dest_path)
|
|
225
|
-
end
|
|
226
|
-
|
|
227
|
-
def upgrade_to_3_3_0
|
|
228
|
-
# Remove public files where are now served from CMS core.
|
|
229
|
-
remove_file 'public/bcms/ckeditor'
|
|
230
|
-
remove_file 'public/images/cms'
|
|
231
|
-
remove_file 'public/javascripts/cms'
|
|
232
|
-
remove_file 'public/stylesheets/cms'
|
|
233
|
-
%w{jquery jquery.-ui jquery.contextMenu jquery.cookie jquery.dimensions jquery.selectbox-0.5 jquery.taglist jquery.thickbox}.each do |js|
|
|
234
|
-
remove_file "public/javascripts/#{js}.js"
|
|
235
|
-
end
|
|
236
|
-
|
|
237
|
-
end
|
|
238
|
-
|
|
239
|
-
def generate_bcms_module_for_3_3_x
|
|
240
|
-
gem 'browsercms'
|
|
241
|
-
gem 'mysql'
|
|
242
|
-
gem 'jeweler', :group=>:development
|
|
243
|
-
|
|
244
|
-
# Allows gem to be loaded as a engine for testing.
|
|
245
|
-
append_to_file 'Gemfile', 'gemspec'
|
|
246
|
-
|
|
247
|
-
create_file "lib/#{name_of_module}/engine.rb", "# Engine goes here"
|
|
248
|
-
prepend_to_file "lib/#{name_of_module}.rb" do
|
|
249
|
-
"require '#{name_of_module}/engine'\n"
|
|
250
|
-
end
|
|
251
|
-
route "mount_browsercms"
|
|
252
|
-
route "routes_for_#{name_of_module}"
|
|
253
|
-
|
|
254
|
-
generate_installation_script
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
run "rails g browser_cms:cms -f"
|
|
258
|
-
run 'rails g cms:template default'
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
end
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
def migrate_jeweler
|
|
265
|
-
|
|
266
|
-
instructions = <<TEXT
|
|
267
|
-
Move Jeweler Code
|
|
268
|
-
============
|
|
269
|
-
1. Copy any Jeweler related files from your Rakefile into lib/tasks/build_gem.rake.
|
|
270
|
-
2. Run rake -T and make sure all Jeweler tasks are still there.
|
|
271
|
-
|
|
272
|
-
Alternatively, you may use bundler to handle the packaging.
|
|
273
|
-
TEXT
|
|
274
|
-
alert("Using Jeweler", instructions, "https://github.com/browsermedia/browsercms/wiki/Upgrading-Jeweler-with-Rails-3", ["Rakefile"])
|
|
275
|
-
copy_file 'build_gem.rake', 'lib/tasks/build_gem.rake'
|
|
276
|
-
|
|
277
|
-
end
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
def migrate_routes
|
|
281
|
-
instructions = <<TEXT
|
|
282
|
-
Edit lib/#{name_of_module}/routes.rb
|
|
283
|
-
=====
|
|
284
|
-
# Make it Rails 3 style
|
|
285
|
-
module Cms::Routes
|
|
286
|
-
def routes_for_#{name_of_module}
|
|
287
|
-
namespace(:cms) do
|
|
288
|
-
content_blocks :name_of_blocks
|
|
289
|
-
end
|
|
290
|
-
end
|
|
291
|
-
end
|
|
292
|
-
TEXT
|
|
293
|
-
alert("Obsolete Routing API", instructions, 'https://github.com/browsermedia/browsercms/wiki/Upgrading-Routes-to-Rails-3', ["lib/#{name_of_module}/routes.rb"])
|
|
294
|
-
|
|
295
|
-
end
|
|
296
|
-
|
|
297
|
-
def name_of_module
|
|
298
|
-
File.basename(Dir.pwd)
|
|
299
|
-
end
|
|
300
|
-
|
|
301
|
-
def gem_name
|
|
302
|
-
name_of_module.camelize
|
|
303
|
-
end
|
|
304
|
-
|
|
305
|
-
# Borrowed from https://github.com/jm/rails-upgrade/blob/master/lib/rails-upgrade/upgraders/check.rb
|
|
306
|
-
def alert(title, text, more_info_url, culprits)
|
|
307
|
-
puts title.red.bold
|
|
308
|
-
puts text.white
|
|
309
|
-
puts "More information: ".white.bold + more_info_url.blue
|
|
310
|
-
puts
|
|
311
|
-
puts "The culprits: ".white
|
|
312
|
-
culprits.each do |c|
|
|
313
|
-
puts "\t- #{c}".yellow
|
|
314
|
-
end
|
|
315
|
-
ensure
|
|
316
|
-
puts "".reset
|
|
317
|
-
end
|
|
318
|
-
|
|
319
|
-
# Determines if the current projects is a BrowserCMS module or not.
|
|
320
|
-
def project_is_module?
|
|
321
|
-
module_file = File.expand_path(File.join(destination_root, "lib", "#{name_of_module}.rb"))
|
|
322
|
-
File.exists?(module_file)
|
|
323
|
-
end
|
|
324
|
-
|
|
325
|
-
def project_is_3_1_x?
|
|
326
|
-
rails_console = File.expand_path(File.join(destination_root, "script", "console"))
|
|
327
|
-
File.exists?(rails_console)
|
|
328
|
-
end
|
|
329
|
-
end
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
App.start
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
require 'cms/upgrades/v3_4_0'
|
|
2
|
-
|
|
3
|
-
# Retroactively fix for changes that were merged into 3.1.5/3.3.0/3.4.0.
|
|
4
|
-
# This originally was for 3.4.0, but needs to be run prior to 3.1.5 migrations.
|
|
5
|
-
class Browsercms314 < ActiveRecord::Migration
|
|
6
|
-
include Cms::Upgrades::V3_4_0::SchemaStatements
|
|
7
|
-
|
|
8
|
-
def change
|
|
9
|
-
standardize_foreign_keys_from_versions_tables_to_original_table
|
|
10
|
-
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
private
|
|
14
|
-
def standardize_foreign_keys_from_versions_tables_to_original_table
|
|
15
|
-
models = %w[attachment dynamic_view file_block html_block link page ]
|
|
16
|
-
models.each do |model|
|
|
17
|
-
standardize_version_id_column(model)
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
class Browsercms315 < ActiveRecord::Migration
|
|
2
|
-
def self.up
|
|
3
|
-
generate_ancestry_from_section_id
|
|
4
|
-
update_latest_version_cache
|
|
5
|
-
|
|
6
|
-
INDEXES.each do |index|
|
|
7
|
-
table, column = *index
|
|
8
|
-
add_index prefix(table), column
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.down
|
|
13
|
-
# This migration is not reversible since it removes the original section_id column.
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
# Add some very commonly used indexes to improve the site performance as the # of pages/content grows (i.e. several thousand pages)
|
|
17
|
-
INDEXES = [
|
|
18
|
-
[:pages, :deleted],
|
|
19
|
-
[:pages, :path],
|
|
20
|
-
[:pages, :version],
|
|
21
|
-
[:page_versions, :original_record_id],
|
|
22
|
-
[:groups, :code],
|
|
23
|
-
[:groups, :group_type_id],
|
|
24
|
-
[:group_types, :cms_access],
|
|
25
|
-
[:group_sections, :section_id],
|
|
26
|
-
[:group_sections, :group_id],
|
|
27
|
-
[:users, :expires_at],
|
|
28
|
-
[:user_group_memberships, :group_id],
|
|
29
|
-
[:user_group_memberships, :user_id],
|
|
30
|
-
[:group_permissions, :group_id],
|
|
31
|
-
[:group_permissions, :permission_id],
|
|
32
|
-
[:group_permissions, [:group_id, :permission_id]],
|
|
33
|
-
[:section_nodes, :node_type],
|
|
34
|
-
[:section_nodes, :ancestry],
|
|
35
|
-
[:connectors, :page_id],
|
|
36
|
-
[:connectors, :page_version],
|
|
37
|
-
[:html_blocks, :deleted],
|
|
38
|
-
[:html_block_versions, :original_record_id],
|
|
39
|
-
[:html_block_versions, :version],
|
|
40
|
-
[:portlet_attributes, :portlet_id],
|
|
41
|
-
[:portlets, :name],
|
|
42
|
-
[:sections, :path],
|
|
43
|
-
[:redirects, :from_path],
|
|
44
|
-
[:connectors, :connectable_version],
|
|
45
|
-
[:connectors, :connectable_type],
|
|
46
|
-
[:content_types, :content_type_group_id],
|
|
47
|
-
[:content_types, :name],
|
|
48
|
-
[:file_block_versions, :original_record_id],
|
|
49
|
-
[:file_block_versions, :version],
|
|
50
|
-
[:file_blocks, :deleted],
|
|
51
|
-
[:file_blocks, :type],
|
|
52
|
-
[:attachment_versions, :original_record_id],
|
|
53
|
-
[:tasks, :page_id],
|
|
54
|
-
[:tasks, :completed_at],
|
|
55
|
-
[:tasks, :assigned_to_id],
|
|
56
|
-
]
|
|
57
|
-
|
|
58
|
-
private
|
|
59
|
-
|
|
60
|
-
# v3.1.5 uses Ancestry to manage the parent child relationship between sections and their children.
|
|
61
|
-
# This converts the data from the old section_id to use the ancestry column.
|
|
62
|
-
def self.generate_ancestry_from_section_id
|
|
63
|
-
add_column prefix(:section_nodes), :ancestry, :string
|
|
64
|
-
add_column prefix(:section_nodes), :temp_parent_id, :integer
|
|
65
|
-
|
|
66
|
-
Cms::SectionNode.reset_column_information
|
|
67
|
-
root_section = Cms::Section.root.first
|
|
68
|
-
Cms::SectionNode.create!(:node => root_section) if root_section
|
|
69
|
-
|
|
70
|
-
all_nodes_but_root = Cms::SectionNode.find(:all, :conditions=>["section_id IS NOT NULL"])
|
|
71
|
-
all_nodes_but_root.each do |sn|
|
|
72
|
-
parent_node = Cms::SectionNode.find(:first, :conditions => ["node_id = ? and (node_type = 'Section' or node_type = 'Cms::Section')", sn.section_id])
|
|
73
|
-
sn.temp_parent_id = parent_node.id
|
|
74
|
-
sn.save!
|
|
75
|
-
end
|
|
76
|
-
rename_column prefix(:section_nodes), :temp_parent_id, :parent_id # Ancestry works off the 'parent_id' column.
|
|
77
|
-
|
|
78
|
-
Cms::SectionNode.build_ancestry_from_parent_ids!
|
|
79
|
-
remove_column prefix(:section_nodes), :section_id
|
|
80
|
-
remove_column prefix(:section_nodes), :parent_id
|
|
81
|
-
Cms::SectionNode.reset_column_information
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
# Adds a 'latest_version' pointer to pages and links. Greatly reduces the number of queries the sitemap requires to determine if pages are in draft/published mode
|
|
85
|
-
def self.update_latest_version_cache
|
|
86
|
-
add_column prefix(:pages), :latest_version, :integer
|
|
87
|
-
add_column prefix(:links), :latest_version, :integer
|
|
88
|
-
Cms::Page.all.each do |p|
|
|
89
|
-
p.update_latest_version
|
|
90
|
-
end
|
|
91
|
-
Cms::Link.all.each do |link|
|
|
92
|
-
link.update_latest_version
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|