browsercms 3.1.5 → 3.3.0.beta
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/cms/base_controller.rb +3 -3
- data/app/controllers/cms/content_block_controller.rb +2 -2
- data/app/controllers/cms/content_controller.rb +5 -4
- data/app/controllers/cms/error_handling.rb +1 -1
- data/app/controllers/cms/routes_controller.rb +4 -5
- data/app/controllers/cms/section_nodes_controller.rb +1 -6
- data/app/controllers/cms/sections_controller.rb +2 -3
- data/app/controllers/cms/tasks_controller.rb +3 -0
- data/app/controllers/cms/users_controller.rb +1 -1
- data/app/helpers/cms/application_helper.rb +137 -34
- data/app/helpers/cms/form_builder.rb +33 -21
- data/app/helpers/cms/page_helper.rb +43 -10
- data/app/helpers/cms/path_helper.rb +1 -1
- data/app/helpers/cms/rendering_helper.rb +3 -4
- data/app/helpers/cms/section_nodes_helper.rb +5 -43
- data/app/models/abstract_file_block.rb +1 -16
- data/app/models/attachment.rb +57 -22
- data/app/models/category.rb +4 -4
- data/app/models/category_type.rb +2 -2
- data/app/models/cms/view_context.rb +46 -0
- data/app/models/connector.rb +7 -6
- data/app/models/content_type.rb +3 -3
- data/app/models/dynamic_view.rb +1 -1
- data/app/models/email_message.rb +2 -2
- data/app/models/file_block.rb +12 -0
- data/app/models/group.rb +4 -4
- data/app/models/group_type.rb +4 -4
- data/app/models/html_block.rb +1 -1
- data/app/models/image_block.rb +12 -0
- data/app/models/link.rb +22 -5
- data/app/models/page.rb +87 -46
- data/app/models/page_route.rb +61 -6
- data/app/models/permission.rb +1 -1
- data/app/models/portlet.rb +14 -4
- data/app/models/section.rb +48 -86
- data/app/models/section_node.rb +25 -40
- data/app/models/site.rb +1 -1
- data/app/models/tag.rb +1 -1
- data/app/models/task.rb +8 -7
- data/app/models/user.rb +2 -7
- data/app/portlets/forgot_password_portlet.rb +6 -2
- data/app/portlets/reset_password_portlet.rb +1 -1
- data/app/views/cms/blocks/_toolbar.html.erb +1 -1
- data/app/views/cms/blocks/_toolbar_for_collection.html.erb +3 -6
- data/app/views/cms/blocks/_toolbar_for_member.html.erb +3 -5
- data/app/views/cms/blocks/edit.html.erb +4 -4
- data/app/views/cms/blocks/index.html.erb +7 -7
- data/app/views/cms/blocks/new.html.erb +4 -4
- data/app/views/cms/blocks/show.html.erb +2 -2
- data/app/views/cms/blocks/usages.html.erb +2 -2
- data/app/views/cms/blocks/versions.html.erb +4 -4
- data/app/views/cms/cache/show.html.erb +2 -2
- data/app/views/cms/categories/_form.html.erb +2 -2
- data/app/views/cms/connectors/new.html.erb +6 -8
- data/app/views/cms/content/no_page.html.erb +1 -1
- data/app/views/cms/content/show.html.erb +2 -7
- data/app/views/cms/dashboard/_page_drafts.html.erb +1 -1
- data/app/views/cms/dashboard/_tasks.html.erb +1 -1
- data/app/views/cms/dashboard/index.html.erb +1 -1
- data/app/views/cms/dynamic_views/_form.html.erb +2 -2
- data/app/views/cms/dynamic_views/index.html.erb +7 -10
- data/app/views/cms/email_messages/show.html.erb +2 -2
- data/app/views/cms/file_blocks/_form.html.erb +4 -4
- data/app/views/cms/form_builder/_cms_fancy_drop_down.html.erb +2 -2
- data/app/views/cms/form_builder/_cms_file_field.html.erb +2 -2
- data/app/views/cms/form_builder/_cms_tag_list.html.erb +2 -2
- data/app/views/cms/form_builder/_cms_text_editor.html.erb +2 -2
- data/app/views/cms/groups/_form.html.erb +5 -5
- data/app/views/cms/groups/_permissions.html.erb +4 -4
- data/app/views/cms/groups/_sections.html.erb +1 -2
- data/app/views/cms/groups/index.html.erb +1 -1
- data/app/views/cms/html_blocks/render.html.erb +1 -1
- data/app/views/cms/image_blocks/_form.html.erb +4 -5
- data/app/views/cms/links/_form.html.erb +1 -1
- data/app/views/cms/links/edit.html.erb +2 -2
- data/app/views/cms/links/new.html.erb +2 -2
- data/app/views/cms/page_routes/_form.html.erb +2 -2
- data/app/views/cms/page_routes/index.html.erb +6 -9
- data/app/views/cms/page_routes/show.html.erb +5 -8
- data/app/views/cms/pages/_edit_connector.html.erb +1 -1
- data/app/views/cms/pages/_form.html.erb +3 -3
- data/app/views/cms/pages/edit.html.erb +2 -2
- data/app/views/cms/pages/new.html.erb +7 -7
- data/app/views/cms/pages/versions.html.erb +4 -4
- data/app/views/cms/redirects/_form.html.erb +2 -2
- data/app/views/cms/redirects/index.html.erb +8 -7
- data/app/views/cms/routes/index.html.erb +2 -2
- data/app/views/cms/section_nodes/_link.html.erb +3 -6
- data/app/views/cms/section_nodes/_node.html.erb +4 -13
- data/app/views/cms/section_nodes/_page.html.erb +7 -13
- data/app/views/cms/section_nodes/_section.html.erb +8 -24
- data/app/views/cms/section_nodes/_section_node.html.erb +10 -0
- data/app/views/cms/section_nodes/index.html.erb +18 -30
- data/app/views/cms/sections/_form.html.erb +4 -6
- data/app/views/cms/sections/edit.html.erb +2 -2
- data/app/views/cms/sections/index.html.erb +3 -3
- data/app/views/cms/sections/new.html.erb +3 -3
- data/app/views/cms/sessions/new.html.erb +3 -3
- data/app/views/cms/shared/_pagination.html.erb +1 -1
- data/app/views/cms/shared/error.html.erb +1 -1
- data/app/views/cms/tags/render.html.erb +2 -2
- data/app/views/cms/tasks/new.html.erb +4 -4
- data/app/views/cms/users/_form.html.erb +3 -3
- data/app/views/cms/users/_toolbar.html.erb +3 -3
- data/app/views/cms/users/change_password.html.erb +5 -5
- data/app/views/cms/users/edit.html.erb +2 -2
- data/app/views/cms/users/index.html.erb +4 -4
- data/app/views/cms/users/new.html.erb +2 -2
- data/app/views/cms/users/show.html.erb +16 -16
- data/app/views/layouts/_cms_toolbar.html.erb +5 -5
- data/app/views/layouts/_page_toolbar.html.erb +11 -11
- data/app/views/layouts/cms/_footer.erb +1 -1
- data/app/views/layouts/cms/_head.html.erb +2 -6
- data/app/views/layouts/cms/administration.html.erb +32 -32
- data/app/views/layouts/cms/content_library.html.erb +5 -5
- data/app/views/layouts/cms/toolbar.html.erb +1 -1
- data/app/views/portlets/email_page/render.html.erb +2 -2
- data/app/views/portlets/forgot_password/render.html.erb +1 -1
- data/app/views/portlets/login/render.html.erb +4 -2
- data/app/views/portlets/reset_password/render.html.erb +1 -1
- data/app/views/tests/pretend/open_with_layout.html.erb +1 -1
- data/bin/bcms +0 -0
- data/bin/bcms-upgrade +232 -0
- data/bin/browsercms +2 -2
- data/browsercms.gemspec +16 -14
- data/db/migrate/20100705083859_browsercms_3_3_0.rb +56 -0
- data/db/seeds.rb +58 -0
- data/doc/guides/html/authentication.html +448 -192
- data/doc/guides/html/build_it_yourself.html +454 -175
- data/doc/guides/html/building_modules.html +451 -220
- data/doc/guides/html/building_templates.html +448 -498
- data/doc/guides/html/content_blocks.html +450 -470
- data/doc/guides/html/customizing_browsercms.html +453 -169
- data/doc/guides/html/deployment_guide.html +443 -82
- data/doc/guides/html/files/bcmsorg.js +28 -0
- data/doc/guides/html/files/clearfix.css +8 -0
- data/doc/guides/html/files/cufon.js +7 -0
- data/doc/guides/html/files/global.css +190 -0
- data/doc/guides/html/files/helvetica.js +91 -0
- data/doc/guides/html/files/jquery.js +11 -0
- data/doc/guides/html/getting_started.html +454 -213
- data/doc/guides/html/index.html +454 -174
- data/doc/guides/html/installing_modules.html +454 -186
- data/doc/guides/html/portlets.html +451 -232
- data/doc/guides/html/user_guide.html +452 -270
- data/doc/guides/html/writing_guides.html +454 -161
- data/lib/acts_as_list.rb +1 -1
- data/lib/browsercms.rb +10 -6
- data/lib/cms/acts.rb +7 -0
- data/lib/cms/authentication.rb +4 -0
- data/lib/cms/authentication/controller.rb +1 -1
- data/lib/cms/behaviors.rb +1 -1
- data/lib/cms/behaviors/archiving.rb +2 -2
- data/lib/cms/behaviors/attaching.rb +28 -43
- data/lib/cms/behaviors/categorizing.rb +1 -1
- data/lib/cms/behaviors/connecting.rb +27 -12
- data/lib/cms/behaviors/dynamic_attributes.rb +8 -5
- data/lib/cms/behaviors/hiding.rb +2 -2
- data/lib/cms/behaviors/publishing.rb +32 -22
- data/lib/cms/behaviors/rendering.rb +41 -18
- data/lib/cms/behaviors/searching.rb +1 -1
- data/lib/cms/behaviors/soft_deleting.rb +58 -29
- data/lib/cms/behaviors/taggable.rb +1 -1
- data/lib/cms/behaviors/userstamping.rb +5 -4
- data/lib/cms/behaviors/versioning.rb +192 -111
- data/lib/cms/content_rendering_support.rb +3 -3
- data/lib/cms/date_picker.rb +23 -0
- data/lib/cms/engine.rb +46 -0
- data/lib/cms/extensions.rb +1 -1
- data/lib/cms/extensions/active_record/errors.rb +2 -2
- data/lib/cms/extensions/hash.rb +4 -2
- data/lib/cms/extensions/string.rb +7 -2
- data/lib/cms/init.rb +32 -21
- data/lib/cms/module.rb +22 -0
- data/lib/cms/module_installation.rb +38 -0
- data/lib/cms/routes.rb +127 -115
- data/lib/cms/version.rb +2 -2
- data/lib/generators/browser_cms.rb +12 -0
- data/lib/generators/browser_cms/cms/USAGE +2 -0
- data/lib/generators/browser_cms/cms/cms_generator.rb +36 -0
- data/{rails_generators/browser_cms → lib/generators/browser_cms/cms}/templates/README +0 -0
- data/{rails_generators/browser_cms_demo_site → lib/generators/browser_cms/demo_site}/USAGE +0 -0
- data/lib/generators/browser_cms/demo_site/demo_site_generator.rb +138 -0
- data/lib/generators/browser_cms/demo_site/templates/demo_site.rake +11 -0
- data/{rails_generators/browser_cms_demo_site/templates/migration.rb → lib/generators/browser_cms/demo_site/templates/migration.erb} +2 -8
- data/lib/generators/cms/content_block/USAGE +22 -0
- data/lib/generators/cms/content_block/content_block_generator.rb +55 -0
- data/{rails_generators → lib/generators/cms}/content_block/templates/_form.html.erb +0 -0
- data/{rails_generators → lib/generators/cms}/content_block/templates/content_block.rb +0 -0
- data/{rails_generators → lib/generators/cms}/content_block/templates/controller.rb +0 -0
- data/{rails_generators → lib/generators/cms}/content_block/templates/functional_test.erb +0 -0
- data/{rails_generators/content_block/templates/migration.rb → lib/generators/cms/content_block/templates/migration.erb} +1 -1
- data/{rails_generators → lib/generators/cms}/content_block/templates/render.html.erb +0 -0
- data/{rails_generators → lib/generators/cms}/content_block/templates/unit_test.erb +0 -0
- data/lib/generators/cms/install/USAGE +8 -0
- data/lib/generators/cms/install/install_generator.rb +20 -0
- data/{rails_generators → lib/generators/cms}/portlet/USAGE +3 -16
- data/lib/generators/cms/portlet/portlet_generator.rb +38 -0
- data/{rails_generators → lib/generators/cms}/portlet/templates/_form.html.erb +0 -0
- data/{rails_generators → lib/generators/cms}/portlet/templates/portlet.rb +0 -0
- data/{rails_generators → lib/generators/cms}/portlet/templates/portlet_helper.rb +0 -0
- data/{rails_generators → lib/generators/cms}/portlet/templates/render.html.erb +0 -0
- data/{rails_generators → lib/generators/cms}/portlet/templates/unit_test.erb +0 -0
- data/{rails_generators → lib/generators/cms}/template/USAGE +1 -1
- data/lib/generators/cms/template/template_generator.rb +18 -0
- data/lib/generators/cms/template/templates/template.erb +2 -0
- data/lib/generators/cms/upgrade_module/README.txt +3 -0
- data/lib/generators/cms/upgrade_module/templates/20100705083859_browsercms_3_3_0.rb +56 -0
- data/lib/generators/cms/upgrade_module/templates/README +1 -0
- data/lib/generators/cms/upgrade_module/templates/USAGE.erb +10 -0
- data/lib/generators/cms/upgrade_module/templates/build_gem.rake +5 -0
- data/lib/generators/cms/upgrade_module/templates/engine.erb +7 -0
- data/lib/generators/cms/upgrade_module/templates/gemspec.erb +25 -0
- data/lib/generators/cms/upgrade_module/templates/gitignore.erb +11 -0
- data/lib/generators/cms/upgrade_module/templates/install.erb +9 -0
- data/lib/generators/cms/upgrade_module/templates/module_file.erb +3 -0
- data/lib/generators/cms/upgrade_module/templates/routes.erb +7 -0
- data/lib/generators/cms/upgrade_module/upgrade_module_generator.rb +61 -0
- data/lib/tasks/build_gem.rake +1 -0
- data/lib/tasks/cms.rake +34 -6
- data/lib/tasks/cucumber.rake +53 -0
- data/lib/tasks/db.rake +2 -2
- data/public/javascripts/cms/application.js +144 -135
- data/public/javascripts/cms/sitemap.js +383 -357
- data/public/javascripts/jquery-ui.js +782 -591
- data/public/javascripts/jquery.cookie.js +38 -43
- data/public/javascripts/jquery.js +13 -8
- data/public/javascripts/jquery.taglist.js +7 -0
- data/public/stylesheets/cms/date_picker.css +49 -40
- data/rails/init.rb +2 -3
- data/templates/blank.rb +13 -7
- data/templates/demo.rb +15 -7
- data/templates/module.rb +12 -75
- metadata +87 -407
- data/app/helpers/cms/content_block_helper.rb +0 -27
- data/app/views/layouts/cms/thickbox.html.erb +0 -24
- data/db/migrate/20120117144039_browsercms315.rb +0 -94
- data/db/migrate/20121114172307_load_seeds.rb +0 -70
- data/lib/cms/addressable.rb +0 -83
- data/lib/cms/error_pages.rb +0 -8
- data/public/images/cms/thickbox/loadingAnimation.gif +0 -0
- data/public/images/cms/thickbox/macFFBgHack.png +0 -0
- data/public/javascripts/jquery.contextMenu.js +0 -211
- data/public/javascripts/jquery.dimensions.js +0 -119
- data/public/javascripts/jquery.thickbox.js +0 -10
- data/public/stylesheets/cms/jquery.contextMenu.css +0 -61
- data/public/stylesheets/cms/thickbox.css +0 -163
- data/rails_generators/browser_cms/USAGE +0 -2
- data/rails_generators/browser_cms/browser_cms_generator.rb +0 -35
- data/rails_generators/browser_cms_demo_site/browser_cms_demo_site_generator.rb +0 -63
- data/rails_generators/content_block/USAGE +0 -32
- data/rails_generators/content_block/content_block_generator.rb +0 -69
- data/rails_generators/portlet/portlet_generator.rb +0 -35
- data/rails_generators/template/template_generator.rb +0 -18
- data/rails_generators/template/templates/template.erb +0 -3
- data/test/custom_assertions.rb +0 -74
- data/test/factories.rb +0 -111
- data/test/factories/sitemap_factories.rb +0 -28
- data/test/fixtures/connectors.yml +0 -97
- data/test/fixtures/content_type_groups.yml +0 -13
- data/test/fixtures/content_types.yml +0 -50
- data/test/fixtures/dynamic_view_versions.yml +0 -26
- data/test/fixtures/dynamic_views.yml +0 -26
- data/test/fixtures/group_permissions.yml +0 -16
- data/test/fixtures/group_sections.yml +0 -31
- data/test/fixtures/group_type_permissions.yml +0 -11
- data/test/fixtures/group_types.yml +0 -25
- data/test/fixtures/groups.yml +0 -25
- data/test/fixtures/html_block_versions.yml +0 -67
- data/test/fixtures/html_blocks.yml +0 -63
- data/test/fixtures/page_versions.yml +0 -265
- data/test/fixtures/pages.yml +0 -85
- data/test/fixtures/permissions.yml +0 -28
- data/test/fixtures/section_nodes.yml +0 -46
- data/test/fixtures/sections.yml +0 -19
- data/test/fixtures/sites.yml +0 -9
- data/test/fixtures/user_group_memberships.yml +0 -11
- data/test/fixtures/users.yml +0 -15
- data/test/functional/cms/cache_controller_test.rb +0 -14
- data/test/functional/cms/categories_controller_test.rb +0 -25
- data/test/functional/cms/connectors_controller_test.rb +0 -60
- data/test/functional/cms/content_block_controller_test.rb +0 -120
- data/test/functional/cms/content_controller_test.rb +0 -439
- data/test/functional/cms/content_types_controller_test.rb +0 -18
- data/test/functional/cms/dashboard_controller_test.rb +0 -16
- data/test/functional/cms/dynamic_views_controller_test.rb +0 -52
- data/test/functional/cms/file_blocks_controller_test.rb +0 -52
- data/test/functional/cms/groups_controller_test.rb +0 -50
- data/test/functional/cms/home_controller_test.rb +0 -156
- data/test/functional/cms/html_blocks_controller_test.rb +0 -164
- data/test/functional/cms/image_blocks_controller_test.rb +0 -82
- data/test/functional/cms/links_controller_test.rb +0 -148
- data/test/functional/cms/pages_controller_test.rb +0 -227
- data/test/functional/cms/portlets_controller_test.rb +0 -67
- data/test/functional/cms/section_nodes_controller_test.rb +0 -112
- data/test/functional/cms/sections_controller_test.rb +0 -227
- data/test/functional/cms/sessions_controller_test.rb +0 -76
- data/test/functional/cms/toolbar_controller_test.rb +0 -64
- data/test/functional/cms/users_controller_test.rb +0 -231
- data/test/functional/tests/pretend_controller_test.rb +0 -57
- data/test/integration/cms/ckeditor_test.rb +0 -30
- data/test/integration/cms/password_management_test.rb +0 -56
- data/test/integration/login_test.rb +0 -14
- data/test/integration/sitemap_performance_test.rb +0 -26
- data/test/selenium-core/Blank.html +0 -7
- data/test/selenium-core/InjectedRemoteRunner.html +0 -8
- data/test/selenium-core/RemoteRunner.html +0 -110
- data/test/selenium-core/SeleniumLog.html +0 -109
- data/test/selenium-core/TestPrompt.html +0 -145
- data/test/selenium-core/TestRunner-splash.html +0 -55
- data/test/selenium-core/TestRunner.hta +0 -176
- data/test/selenium-core/TestRunner.html +0 -176
- data/test/selenium-core/domviewer/butmin.gif +0 -0
- data/test/selenium-core/domviewer/butplus.gif +0 -0
- data/test/selenium-core/domviewer/domviewer.css +0 -298
- data/test/selenium-core/domviewer/domviewer.html +0 -16
- data/test/selenium-core/domviewer/selenium-domviewer.js +0 -205
- data/test/selenium-core/icons/all.png +0 -0
- data/test/selenium-core/icons/continue.png +0 -0
- data/test/selenium-core/icons/continue_disabled.png +0 -0
- data/test/selenium-core/icons/pause.png +0 -0
- data/test/selenium-core/icons/pause_disabled.png +0 -0
- data/test/selenium-core/icons/selected.png +0 -0
- data/test/selenium-core/icons/step.png +0 -0
- data/test/selenium-core/icons/step_disabled.png +0 -0
- data/test/selenium-core/iedoc-core.xml +0 -1515
- data/test/selenium-core/iedoc.xml +0 -1469
- data/test/selenium-core/lib/cssQuery/cssQuery-p.js +0 -6
- data/test/selenium-core/lib/cssQuery/src/cssQuery-level2.js +0 -142
- data/test/selenium-core/lib/cssQuery/src/cssQuery-level3.js +0 -150
- data/test/selenium-core/lib/cssQuery/src/cssQuery-standard.js +0 -53
- data/test/selenium-core/lib/cssQuery/src/cssQuery.js +0 -356
- data/test/selenium-core/lib/prototype.js +0 -2006
- data/test/selenium-core/lib/scriptaculous/builder.js +0 -101
- data/test/selenium-core/lib/scriptaculous/controls.js +0 -815
- data/test/selenium-core/lib/scriptaculous/dragdrop.js +0 -915
- data/test/selenium-core/lib/scriptaculous/effects.js +0 -958
- data/test/selenium-core/lib/scriptaculous/scriptaculous.js +0 -47
- data/test/selenium-core/lib/scriptaculous/slider.js +0 -283
- data/test/selenium-core/lib/scriptaculous/unittest.js +0 -383
- data/test/selenium-core/scripts/find_matching_child.js +0 -69
- data/test/selenium-core/scripts/htmlutils.js +0 -894
- data/test/selenium-core/scripts/injection.html +0 -72
- data/test/selenium-core/scripts/js2html.js +0 -70
- data/test/selenium-core/scripts/narcissus-defs.js +0 -175
- data/test/selenium-core/scripts/narcissus-exec.js +0 -1054
- data/test/selenium-core/scripts/narcissus-parse.js +0 -1003
- data/test/selenium-core/scripts/se2html.js +0 -63
- data/test/selenium-core/scripts/selenium-api.js +0 -2409
- data/test/selenium-core/scripts/selenium-browserbot.js +0 -2203
- data/test/selenium-core/scripts/selenium-browserdetect.js +0 -150
- data/test/selenium-core/scripts/selenium-commandhandlers.js +0 -377
- data/test/selenium-core/scripts/selenium-executionloop.js +0 -175
- data/test/selenium-core/scripts/selenium-logging.js +0 -147
- data/test/selenium-core/scripts/selenium-remoterunner.js +0 -571
- data/test/selenium-core/scripts/selenium-testrunner.js +0 -1333
- data/test/selenium-core/scripts/selenium-version.js +0 -5
- data/test/selenium-core/scripts/user-extensions.js +0 -3
- data/test/selenium-core/scripts/user-extensions.js.sample +0 -75
- data/test/selenium-core/scripts/xmlextras.js +0 -153
- data/test/selenium-core/selenium-logo.png +0 -0
- data/test/selenium-core/selenium-test.css +0 -43
- data/test/selenium-core/selenium.css +0 -299
- data/test/selenium-core/xpath/dom.js +0 -428
- data/test/selenium-core/xpath/misc.js +0 -252
- data/test/selenium-core/xpath/xpath.js +0 -2223
- data/test/selenium/_login_as_cmsadmin.rsel +0 -4
- data/test/selenium/dashboard.rsel +0 -5
- data/test/selenium/html_blocks.rsel +0 -4
- data/test/selenium/login/failed_login.rsel +0 -8
- data/test/selenium/login/successful_login.rsel +0 -9
- data/test/selenium/page_templates.rsel +0 -12
- data/test/selenium/pages/edit_properties.rsel +0 -5
- data/test/selenium/site/view_home_page.rsel +0 -4
- data/test/selenium/sitemap/move_page.rsel +0 -9
- data/test/selenium/sitemap/open_section.rsel +0 -6
- data/test/selenium/sitemap/select_page.rsel +0 -12
- data/test/selenium/sitemap/select_section.rsel +0 -17
- data/test/test_helper.rb +0 -193
- data/test/test_logging.rb +0 -67
- data/test/unit/behaviors/attaching_test.rb +0 -357
- data/test/unit/behaviors/connectable_test.rb +0 -29
- data/test/unit/behaviors/dynamic_attributes_test.rb +0 -38
- data/test/unit/behaviors/publishable_test.rb +0 -84
- data/test/unit/behaviors/searching_test.rb +0 -102
- data/test/unit/behaviors/taggable_test.rb +0 -109
- data/test/unit/behaviors/versioning_test.rb +0 -36
- data/test/unit/extensions/active_record/base_test.rb +0 -10
- data/test/unit/extensions/hash_test.rb +0 -17
- data/test/unit/extensions/integer_test.rb +0 -10
- data/test/unit/helpers/application_helper_test.rb +0 -77
- data/test/unit/helpers/form_builder_test.rb +0 -36
- data/test/unit/helpers/menu_helper_test.rb +0 -242
- data/test/unit/helpers/page_helper_test.rb +0 -67
- data/test/unit/helpers/path_helper_test.rb +0 -57
- data/test/unit/lib/acts_as_content_page_test.rb +0 -72
- data/test/unit/lib/cms/authentication/controller_test.rb +0 -20
- data/test/unit/lib/cms/sitemap_test.rb +0 -206
- data/test/unit/lib/cms_domain_support_test.rb +0 -43
- data/test/unit/lib/command_line_test.rb +0 -70
- data/test/unit/lib/content_block_test.rb +0 -203
- data/test/unit/lib/content_rendering_support_test.rb +0 -40
- data/test/unit/lib/generators_test.rb +0 -40
- data/test/unit/lib/routes_test.rb +0 -57
- data/test/unit/models/attachment_test.rb +0 -116
- data/test/unit/models/category_test.rb +0 -40
- data/test/unit/models/category_type_test.rb +0 -8
- data/test/unit/models/connector_test.rb +0 -152
- data/test/unit/models/content_type_test.rb +0 -56
- data/test/unit/models/email_page_portlet_test.rb +0 -14
- data/test/unit/models/file_block_test.rb +0 -230
- data/test/unit/models/group_test.rb +0 -13
- data/test/unit/models/html_block_test.rb +0 -102
- data/test/unit/models/link_test.rb +0 -52
- data/test/unit/models/page_partial_test.rb +0 -29
- data/test/unit/models/page_route_test.rb +0 -29
- data/test/unit/models/page_template_test.rb +0 -40
- data/test/unit/models/page_test.rb +0 -792
- data/test/unit/models/permission_test.rb +0 -10
- data/test/unit/models/portlet_test.rb +0 -69
- data/test/unit/models/sections_test.rb +0 -264
- data/test/unit/models/site_test.rb +0 -50
- data/test/unit/models/task_test.rb +0 -141
- data/test/unit/models/user_test.rb +0 -352
- data/test/unit/schema_statements_test.rb +0 -41
@@ -1,234 +1,445 @@
|
|
1
|
-
<!DOCTYPE
|
2
|
-
<html
|
3
|
-
|
4
|
-
|
5
|
-
<
|
6
|
-
<
|
7
|
-
<
|
8
|
-
<
|
9
|
-
<
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
}
|
16
|
-
|
17
|
-
#page {
|
18
|
-
margin: 0 auto;
|
19
|
-
text-align: left;
|
20
|
-
width: 1000px;
|
21
|
-
}
|
22
|
-
|
23
|
-
#header {
|
24
|
-
height: 110px;
|
25
|
-
}
|
26
|
-
|
27
|
-
div.top_cap {
|
28
|
-
background: transparent url(images/top_cap.png) no-repeat scroll 0 0;
|
29
|
-
height: 10px;
|
30
|
-
}
|
31
|
-
|
32
|
-
#contentwrap {
|
33
|
-
background: transparent url(images/dot.png) repeat scroll 0 0;
|
34
|
-
float: left;
|
35
|
-
width: 1000px;
|
36
|
-
}
|
37
|
-
|
38
|
-
div.bottom_cap {
|
39
|
-
background: transparent url(images/bottom_cap.png) no-repeat scroll 0 0;
|
40
|
-
height: 9px;
|
41
|
-
}
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
<html class="cufon-active cufon-ready" xml:lang="en"
|
3
|
+
xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
6
|
+
<meta name="keywords" content="">
|
7
|
+
<meta name="description" content="">
|
8
|
+
<link href="files/clearfix.css" media="screen,projection" rel="stylesheet" type="text/css">
|
9
|
+
<link href="files/global.css" media="screen,projection" rel="stylesheet" type="text/css">
|
10
|
+
<script src="files/jquery.js" type="text/javascript"></script>
|
11
|
+
<script src="files/cufon.js" type="text/javascript"></script>
|
12
|
+
<style type="text/css">cufon {
|
13
|
+
text-indent: 0 !important;
|
14
|
+
}
|
42
15
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
<
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
16
|
+
@media screen, projection {
|
17
|
+
cufon {
|
18
|
+
display: inline !important;
|
19
|
+
display: inline-block !important;
|
20
|
+
position: relative !important;
|
21
|
+
vertical-align: middle !important;
|
22
|
+
font-size: 1px !important;
|
23
|
+
line-height: 1px !important;
|
24
|
+
}
|
25
|
+
|
26
|
+
cufon cufontext {
|
27
|
+
display: -moz-inline-box !important;
|
28
|
+
display: inline-block !important;
|
29
|
+
width: 0 !important;
|
30
|
+
height: 0 !important;
|
31
|
+
overflow: hidden !important;
|
32
|
+
text-indent: -10000in !important;
|
33
|
+
}
|
34
|
+
|
35
|
+
cufon canvas {
|
36
|
+
position: relative !important;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
@media print {
|
41
|
+
cufon {
|
42
|
+
padding: 0 !important;
|
43
|
+
}
|
44
|
+
|
45
|
+
cufon canvas {
|
46
|
+
display: none !important;
|
47
|
+
}
|
48
|
+
}</style>
|
49
|
+
<script src="files/helvetica.js" type="text/javascript"></script>
|
50
|
+
<script src="files/bcmsorg.js" type="text/javascript"></script>
|
51
|
+
<title>Table of Contents</title>
|
52
|
+
</head>
|
53
|
+
<body>
|
54
|
+
|
55
|
+
<div id="container">
|
56
|
+
<div id="header">
|
57
|
+
<h1 id="logo"><a href="http://www.staging.browsercms.org/"
|
58
|
+
title="Return to Home Page">Table of Contents</a></h1>
|
59
|
+
|
60
|
+
<div id="topnav">
|
61
|
+
<ul>
|
62
|
+
<li><a href="/">Home</a></li>
|
63
|
+
<li><a href="/demo">Demo</a></li>
|
64
|
+
<li><a href="/documentation" class="active">Documentation</a></li>
|
65
|
+
<li><a href="/extending">Extending</a></li>
|
66
|
+
<li><a href="/support">Support</a></li>
|
67
|
+
<li><a href="/blog">Blog</a></li>
|
68
|
+
<li><a href="/download">Download</a></li>
|
69
|
+
</ul>
|
70
|
+
|
71
|
+
</div>
|
72
|
+
</div>
|
73
|
+
<div id="content" class="clearfix">
|
74
|
+
<div id="subnav">
|
75
|
+
<ul class="breadcrumbs">
|
76
|
+
<li class="first first-child"><a
|
77
|
+
href="http://www.staging.browsercms.org/documentation">Documentation</a></li>
|
78
|
+
<li><a href="http://www.staging.browsercms.org/documentation/guides">Guides</a></li>
|
79
|
+
<li class="last-child">Table of Contents</li>
|
80
|
+
</ul>
|
81
|
+
</div>
|
82
|
+
<div id="sidenav_doc">
|
83
|
+
<h2 class="alt">
|
84
|
+
<cufon style="width: 58px; height: 23px;" alt="Table "
|
85
|
+
class="cufon cufon-canvas">
|
86
|
+
<canvas style="width: 77px; height: 23px;
|
87
|
+
top: 1px; left: -1px;" height="23" width="77"></canvas>
|
88
|
+
<cufontext>Table</cufontext>
|
89
|
+
</cufon>
|
90
|
+
<cufon
|
91
|
+
style="width: 25px; height: 23px;" alt="of " class="cufon cufon-canvas">
|
92
|
+
<canvas
|
93
|
+
style="width: 43px; height: 23px; top: 1px; left: -1px;" height="23"
|
94
|
+
width="43"></canvas>
|
95
|
+
<cufontext>of</cufontext>
|
96
|
+
</cufon>
|
97
|
+
<cufon
|
98
|
+
style="width: 84px; height: 23px;" alt="Contents" class="cufon
|
99
|
+
cufon-canvas">
|
100
|
+
<canvas style="width: 98px; height: 23px; top: 1px; left:
|
101
|
+
-1px;" height="23" width="98"></canvas>
|
102
|
+
<cufontext>Contents</cufontext>
|
103
|
+
</cufon>
|
104
|
+
</h2>
|
105
|
+
<div id="menu" class="menu">
|
106
|
+
<ul>
|
107
|
+
<li id="section_6" class="depth-1 first open first-child">
|
108
|
+
<a
|
109
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/installing-browsercms">Installing
|
110
|
+
BrowserCMS</a>
|
111
|
+
<ul>
|
112
|
+
<li id="page_11" class="depth-2 first last last-child
|
113
|
+
first-child">
|
114
|
+
<a
|
115
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/installing-browsercms/things-you-need-first">Things
|
116
|
+
you need first</a>
|
117
|
+
</li>
|
118
|
+
</ul>
|
119
|
+
</li>
|
120
|
+
<li id="section_7" class="depth-1 last open final">
|
121
|
+
<a
|
122
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/trying-out-browsercms">Trying
|
123
|
+
Out BrowserCMS</a>
|
124
|
+
<ul>
|
125
|
+
<li id="page_14" class="depth-2 first first-child">
|
126
|
+
<a
|
127
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/trying-out-browsercms/with-sqlite3">With
|
128
|
+
SQLite3</a>
|
129
|
+
</li>
|
130
|
+
<li id="page_15" class="depth-2">
|
131
|
+
<a
|
132
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/trying-out-browsercms/with-mysql">With
|
133
|
+
MySQL</a>
|
134
|
+
</li>
|
135
|
+
<li id="page_16" class="depth-2 last last-child final">
|
136
|
+
<a
|
137
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/trying-out-browsercms/using-your-site">Using
|
138
|
+
your Site</a>
|
139
|
+
</li>
|
140
|
+
</ul>
|
141
|
+
</li>
|
142
|
+
</ul>
|
143
|
+
</div>
|
144
|
+
|
145
|
+
</div>
|
146
|
+
<div id="main_doc">
|
147
|
+
|
148
|
+
<h2>
|
149
|
+
<cufon style="width: 73px; height: 23px;" alt="Header "
|
150
|
+
class="cufon cufon-canvas">
|
151
|
+
<canvas style="width: 92px; height: 23px;
|
152
|
+
top: 1px; left: -1px;" height="23" width="92"></canvas>
|
153
|
+
<cufontext>Header
|
154
|
+
</cufontext>
|
155
|
+
</cufon>
|
156
|
+
<cufon style="width: 12px; height: 23px;" alt="2"
|
157
|
+
class="cufon cufon-canvas">
|
158
|
+
<canvas style="width: 25px; height: 23px;
|
159
|
+
top: 1px; left: -1px;" height="23" width="25"></canvas>
|
160
|
+
<cufontext>2</cufontext>
|
161
|
+
</cufon>
|
162
|
+
</h2>
|
163
|
+
<h2 class="alt">
|
164
|
+
<cufon style="width: 73px; height: 23px;" alt="Header "
|
165
|
+
class="cufon cufon-canvas">
|
166
|
+
<canvas style="width: 92px; height: 23px;
|
167
|
+
top: 1px; left: -1px;" height="23" width="92"></canvas>
|
168
|
+
<cufontext>Header
|
169
|
+
</cufontext>
|
170
|
+
</cufon>
|
171
|
+
<cufon style="width: 18px; height: 23px;" alt="2 "
|
172
|
+
class="cufon cufon-canvas">
|
173
|
+
<canvas style="width: 36px; height: 23px;
|
174
|
+
top: 1px; left: -1px;" height="23" width="36"></canvas>
|
175
|
+
<cufontext>2</cufontext>
|
176
|
+
</cufon>
|
177
|
+
<cufon
|
178
|
+
style="width: 27px; height: 23px;" alt="Alt" class="cufon cufon-canvas">
|
179
|
+
<canvas
|
180
|
+
style="width: 44px; height: 23px; top: 1px; left: -1px;" height="23"
|
181
|
+
width="44"></canvas>
|
182
|
+
<cufontext>Alt</cufontext>
|
183
|
+
</cufon>
|
184
|
+
</h2>
|
185
|
+
<h2 class="brdr">
|
186
|
+
<cufon style="width: 73px; height: 23px;" alt="Header "
|
187
|
+
class="cufon cufon-canvas">
|
188
|
+
<canvas style="width: 92px; height: 23px;
|
189
|
+
top: 1px; left: -1px;" height="23" width="92"></canvas>
|
190
|
+
<cufontext>Header
|
191
|
+
</cufontext>
|
192
|
+
</cufon>
|
193
|
+
<cufon style="width: 18px; height: 23px;" alt="2 "
|
194
|
+
class="cufon cufon-canvas">
|
195
|
+
<canvas style="width: 36px; height: 23px;
|
196
|
+
top: 1px; left: -1px;" height="23" width="36"></canvas>
|
197
|
+
<cufontext>2</cufontext>
|
198
|
+
</cufon>
|
199
|
+
<cufon
|
200
|
+
style="width: 91px; height: 23px;" alt="Underline" class="cufon
|
201
|
+
cufon-canvas">
|
202
|
+
<canvas style="width: 104px; height: 23px; top: 1px; left:
|
203
|
+
-1px;" height="23" width="104"></canvas>
|
204
|
+
<cufontext>Underline</cufontext>
|
205
|
+
</cufon>
|
206
|
+
</h2>
|
207
|
+
<h3>
|
208
|
+
<cufon style="width: 51px; height: 16px;" alt="Header " class="cufon
|
209
|
+
cufon-canvas">
|
210
|
+
<canvas style="width: 64px; height: 16px; top: 0px; left:
|
211
|
+
0px;" height="16" width="64"></canvas>
|
212
|
+
<cufontext>Header</cufontext>
|
213
|
+
</cufon>
|
214
|
+
<cufon
|
215
|
+
style="width: 8px; height: 16px;" alt="3" class="cufon cufon-canvas">
|
216
|
+
<canvas
|
217
|
+
style="width: 18px; height: 16px; top: 0px; left: 0px;" height="16"
|
218
|
+
width="18"></canvas>
|
219
|
+
<cufontext>3</cufontext>
|
220
|
+
</cufon>
|
221
|
+
</h3>
|
222
|
+
<h3 class="alt">
|
223
|
+
<cufon style="width: 51px; height: 16px;" alt="Header "
|
224
|
+
class="cufon cufon-canvas">
|
225
|
+
<canvas style="width: 64px; height: 16px;
|
226
|
+
top: 0px; left: 0px;" height="16" width="64"></canvas>
|
227
|
+
<cufontext>Header</cufontext>
|
228
|
+
</cufon>
|
229
|
+
<cufon
|
230
|
+
style="width: 12px; height: 16px;" alt="3 " class="cufon cufon-canvas">
|
231
|
+
<canvas
|
232
|
+
style="width: 25px; height: 16px; top: 0px; left: 0px;" height="16"
|
233
|
+
width="25"></canvas>
|
234
|
+
<cufontext>3</cufontext>
|
235
|
+
</cufon>
|
236
|
+
<cufon
|
237
|
+
style="width: 19px; height: 16px;" alt="Alt" class="cufon cufon-canvas">
|
238
|
+
<canvas
|
239
|
+
style="width: 31px; height: 16px; top: 0px; left: 0px;" height="16"
|
240
|
+
width="31"></canvas>
|
241
|
+
<cufontext>Alt</cufontext>
|
242
|
+
</cufon>
|
243
|
+
</h3>
|
244
|
+
<h3 class="brdr">
|
245
|
+
<cufon style="width: 51px; height: 16px;" alt="Header "
|
246
|
+
class="cufon cufon-canvas">
|
247
|
+
<canvas style="width: 64px; height: 16px;
|
248
|
+
top: 0px; left: 0px;" height="16" width="64"></canvas>
|
249
|
+
<cufontext>Header</cufontext>
|
250
|
+
</cufon>
|
251
|
+
<cufon
|
252
|
+
style="width: 12px; height: 16px;" alt="3 " class="cufon cufon-canvas">
|
253
|
+
<canvas
|
254
|
+
style="width: 25px; height: 16px; top: 0px; left: 0px;" height="16"
|
255
|
+
width="25"></canvas>
|
256
|
+
<cufontext>3</cufontext>
|
257
|
+
</cufon>
|
258
|
+
<cufon
|
259
|
+
style="width: 63px; height: 16px;" alt="Underline" class="cufon
|
260
|
+
cufon-canvas">
|
261
|
+
<canvas style="width: 73px; height: 16px; top: 0px; left:
|
262
|
+
0px;" height="16" width="73"></canvas>
|
263
|
+
<cufontext>Underline</cufontext>
|
264
|
+
</cufon>
|
265
|
+
</h3>
|
266
|
+
<h4>
|
267
|
+
<cufon style="width: 45px; height: 14px;" alt="Header " class="cufon
|
268
|
+
cufon-canvas">
|
269
|
+
<canvas style="width: 56px; height: 14px; top: 0px; left:
|
270
|
+
0px;" height="14" width="56"></canvas>
|
271
|
+
<cufontext>Header</cufontext>
|
272
|
+
</cufon>
|
273
|
+
<cufon
|
274
|
+
style="width: 7px; height: 14px;" alt="4" class="cufon cufon-canvas">
|
275
|
+
<canvas
|
276
|
+
style="width: 15px; height: 14px; top: 0px; left: 0px;" height="14"
|
277
|
+
width="15"></canvas>
|
278
|
+
<cufontext>4</cufontext>
|
279
|
+
</cufon>
|
280
|
+
</h4>
|
281
|
+
<h4 class="alt">
|
282
|
+
<cufon style="width: 45px; height: 14px;" alt="Header "
|
283
|
+
class="cufon cufon-canvas">
|
284
|
+
<canvas style="width: 56px; height: 14px;
|
285
|
+
top: 0px; left: 0px;" height="14" width="56"></canvas>
|
286
|
+
<cufontext>Header</cufontext>
|
287
|
+
</cufon>
|
288
|
+
<cufon
|
289
|
+
style="width: 11px; height: 14px;" alt="4 " class="cufon cufon-canvas">
|
290
|
+
<canvas
|
291
|
+
style="width: 22px; height: 14px; top: 0px; left: 0px;" height="14"
|
292
|
+
width="22"></canvas>
|
293
|
+
<cufontext>4</cufontext>
|
294
|
+
</cufon>
|
295
|
+
<cufon
|
296
|
+
style="width: 16px; height: 14px;" alt="Alt" class="cufon cufon-canvas">
|
297
|
+
<canvas
|
298
|
+
style="width: 27px; height: 14px; top: 0px; left: 0px;" height="14"
|
299
|
+
width="27"></canvas>
|
300
|
+
<cufontext>Alt</cufontext>
|
301
|
+
</cufon>
|
302
|
+
</h4>
|
303
|
+
<h4 class="brdr">
|
304
|
+
<cufon style="width: 45px; height: 14px;" alt="Header "
|
305
|
+
class="cufon cufon-canvas">
|
306
|
+
<canvas style="width: 56px; height: 14px;
|
307
|
+
top: 0px; left: 0px;" height="14" width="56"></canvas>
|
308
|
+
<cufontext>Header</cufontext>
|
309
|
+
</cufon>
|
310
|
+
<cufon
|
311
|
+
style="width: 11px; height: 14px;" alt="4 " class="cufon cufon-canvas">
|
312
|
+
<canvas
|
313
|
+
style="width: 22px; height: 14px; top: 0px; left: 0px;" height="14"
|
314
|
+
width="22"></canvas>
|
315
|
+
<cufontext>4</cufontext>
|
316
|
+
</cufon>
|
317
|
+
<cufon
|
318
|
+
style="width: 55px; height: 14px;" alt="Underline" class="cufon
|
319
|
+
cufon-canvas">
|
320
|
+
<canvas style="width: 64px; height: 14px; top: 0px; left:
|
321
|
+
0px;" height="14" width="64"></canvas>
|
322
|
+
<cufontext>Underline</cufontext>
|
323
|
+
</cufon>
|
324
|
+
</h4>
|
325
|
+
<h5>
|
326
|
+
<cufon style="width: 35px; height: 11px;" alt="Header " class="cufon
|
327
|
+
cufon-canvas">
|
328
|
+
<canvas style="width: 44px; height: 11px; top: 0px; left:
|
329
|
+
0px;" height="11" width="44"></canvas>
|
330
|
+
<cufontext>Header</cufontext>
|
331
|
+
</cufon>
|
332
|
+
<cufon
|
333
|
+
style="width: 6px; height: 11px;" alt="5" class="cufon cufon-canvas">
|
334
|
+
<canvas
|
335
|
+
style="width: 12px; height: 11px; top: 0px; left: 0px;" height="11"
|
336
|
+
width="12"></canvas>
|
337
|
+
<cufontext>5</cufontext>
|
338
|
+
</cufon>
|
339
|
+
</h5>
|
340
|
+
<h5 class="alt">
|
341
|
+
<cufon style="width: 35px; height: 11px;" alt="Header "
|
342
|
+
class="cufon cufon-canvas">
|
343
|
+
<canvas style="width: 44px; height: 11px;
|
344
|
+
top: 0px; left: 0px;" height="11" width="44"></canvas>
|
345
|
+
<cufontext>Header</cufontext>
|
346
|
+
</cufon>
|
347
|
+
<cufon
|
348
|
+
style="width: 9px; height: 11px;" alt="5 " class="cufon cufon-canvas">
|
349
|
+
<canvas
|
350
|
+
style="width: 18px; height: 11px; top: 0px; left: 0px;" height="11"
|
351
|
+
width="18"></canvas>
|
352
|
+
<cufontext>5</cufontext>
|
353
|
+
</cufon>
|
354
|
+
<cufon
|
355
|
+
style="width: 13px; height: 11px;" alt="Alt" class="cufon cufon-canvas">
|
356
|
+
<canvas
|
357
|
+
style="width: 21px; height: 11px; top: 0px; left: 0px;" height="11"
|
358
|
+
width="21"></canvas>
|
359
|
+
<cufontext>Alt</cufontext>
|
360
|
+
</cufon>
|
361
|
+
</h5>
|
362
|
+
<h5 class="brdr">
|
363
|
+
<cufon style="width: 35px; height: 11px;" alt="Header "
|
364
|
+
class="cufon cufon-canvas">
|
365
|
+
<canvas style="width: 44px; height: 11px;
|
366
|
+
top: 0px; left: 0px;" height="11" width="44"></canvas>
|
367
|
+
<cufontext>Header</cufontext>
|
368
|
+
</cufon>
|
369
|
+
<cufon
|
370
|
+
style="width: 9px; height: 11px;" alt="5 " class="cufon cufon-canvas">
|
371
|
+
<canvas
|
372
|
+
style="width: 18px; height: 11px; top: 0px; left: 0px;" height="11"
|
373
|
+
width="18"></canvas>
|
374
|
+
<cufontext>5</cufontext>
|
375
|
+
</cufon>
|
376
|
+
<cufon
|
377
|
+
style="width: 44px; height: 11px;" alt="Underline" class="cufon
|
378
|
+
cufon-canvas">
|
379
|
+
<canvas style="width: 50px; height: 11px; top: 0px; left:
|
380
|
+
0px;" height="11" width="50"></canvas>
|
381
|
+
<cufontext>Underline</cufontext>
|
382
|
+
</cufon>
|
383
|
+
</h5>
|
384
|
+
<p>
|
385
|
+
<code>I am code<br>
|
386
|
+
I can expand as needed<br>
|
387
|
+
with my content<br>
|
388
|
+
</code></p>
|
389
|
+
|
390
|
+
<p>
|
391
|
+
<code class="mono">I am monotone code<br>
|
392
|
+
I can expand too<br>
|
393
|
+
</code></p>
|
394
|
+
|
395
|
+
<div class="info">
|
396
|
+
I am info<br>
|
397
|
+
again, can expand with content<br>
|
398
|
+
as I grow
|
399
|
+
</div>
|
400
|
+
<div class="warn">
|
401
|
+
I am warning<br>
|
402
|
+
repetition is nice when it <br>
|
403
|
+
comes to demonstrating expansion<br>
|
404
|
+
of elements
|
405
|
+
</div>
|
406
|
+
<ul class="list">
|
407
|
+
<li class="first-child">
|
408
|
+
list item 1
|
409
|
+
</li>
|
410
|
+
<li class="last-child">
|
411
|
+
list item 2
|
412
|
+
</li>
|
149
413
|
</ul>
|
150
|
-
<
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
<
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
<
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
<td> Contains a list of files which will not be checked into git </td>
|
166
|
-
</tr>
|
167
|
-
<tr>
|
168
|
-
<td> bcms_pet_store.gemspec</td>
|
169
|
-
<td> An initial gemspec to package the module as a gem. </td>
|
170
|
-
</tr>
|
171
|
-
<tr>
|
172
|
-
<td> config/initializers/init_module.rb </td>
|
173
|
-
<td> Called by BrowserCMS startup to load the module’s files. (You shouldn’t need to modify this) </td>
|
174
|
-
</tr>
|
175
|
-
<tr>
|
176
|
-
<td> lib/bcms_pet_store.rb </td>
|
177
|
-
<td> Used to require files not in the app/ loadpath. You may need to update this if you add new files under lib. </td>
|
178
|
-
</tr>
|
179
|
-
<tr>
|
180
|
-
<td> public/bcms/bcms_petstore/ </td>
|
181
|
-
<td> A directory for public files which should be copied into projects that use this module. </td>
|
182
|
-
</tr>
|
183
|
-
<tr>
|
184
|
-
<td> lib/bcms_pet_store/routes.rb </td>
|
185
|
-
<td> A place to define routes for this module, like content blocks. These routes will be included in projects that use this gem. </td>
|
186
|
-
</tr>
|
187
|
-
<tr>
|
188
|
-
<td> rails/init.rb </td>
|
189
|
-
<td> Add the gem root to the Rails load path, including determining which files will be copied from the gem into projects .</td>
|
190
|
-
</tr>
|
191
|
-
</table>
|
192
|
-
<p>Note the gemspec, license (<span class="caps">LGPL</span>) and copywrite files specific to BrowserMedia, therefore you will likely want to edit these later to reflect your own purposes.</p>
|
193
|
-
<h3 id="creating-blocks">2 Creating Blocks</h3>
|
194
|
-
<p>One of the most common reason to creating a module is to define one or more Content blocks that can be added to projects. For our Pet Store example, we will create a Product block which will represent a purchasable good in our Store. Run the following command inside the project.</p>
|
195
|
-
<div class="code_container"><code class="html">$ script/generate content_block product name:string price:integer description:html</code></div>
|
196
|
-
<p>This is the exact same generator used to create content blocks for any BrowserCMS project. You can run <tt>rake db:migrate</tt> and see this block in the <span class="caps">CMS</span> Admin UI.</p>
|
197
|
-
<h4 id="defining-routes-for-the-module">2.1 Defining routes for the module</h4>
|
198
|
-
<p>Each content block will have its own routes for the Admin UI, which the generator will place into the <tt>config/routes.rb</tt>. This works fine for a BrowserCMS project, but not as a module as the <tt>config/routes.rb</tt> file won’t be packaged in the gem. To fix this, we need to move the route from the <tt>config/routes.rb</tt> to the <tt>lib/bcms_pet_store/routes.rb</tt>. Open the latter file and alter to look like this:</p>
|
199
|
-
<div class="code_container"><code class="ruby">module Cms::Routes
|
200
|
-
def routes_for_bcms_pet_store
|
201
|
-
namespace(:cms) do |cms|
|
202
|
-
cms.content_blocks :products
|
203
|
-
end
|
204
|
-
end
|
205
|
-
end</code></div>
|
206
|
-
<p>Then edit the +config/routes.rb file to look like this:</p>
|
207
|
-
<div class="code_container"><code class="ruby">ActionController::Routing::Routes.draw do |map|
|
208
|
-
map.routes_for_bcms_pet_store
|
209
|
-
map.routes_for_browser_cms
|
210
|
-
end</code></div>
|
211
|
-
<p>By doing this, we are defining our routes in a reusuable way, both for the gem as well as the bcms_pet_store project for testing. All routes that you want to make available to projects should be defined in the <tt>lib/bcms_pet_store/routes.rb</tt> file, which developers will add to their routes by calling <tt>map.routes_for_bcms_pet_store</tt>.</p>
|
212
|
-
<p>Restart your server and verify that you see that the routes still work.</p>
|
213
|
-
<h3 id="displaying-products-in-our-site">3 Displaying Products in our Site</h3>
|
214
|
-
<p>Now that we have our product data, we can use the Admin UI to create some sample product data. But how do we display our products to our site visitors. In a typical Rails project, you might create a controller that looks up the products and shows them in a view. However, in a BrowserCMS project we probably want to take advantage of displaying products on <span class="caps">CMS</span> page which can be styled by our <span class="caps">CMS</span> editors.</p>
|
215
|
-
<p>To do this, we need to use portlets.</p>
|
216
|
-
<h3 id="copying-files-into-projects">4 Copying files into projects.</h3>
|
217
|
-
<ul>
|
218
|
-
<li><code>rails/init.rb</code></li>
|
414
|
+
<ul class="disc">
|
415
|
+
<li class="first-child">
|
416
|
+
disc list item 1
|
417
|
+
</li>
|
418
|
+
<li class="last-child">
|
419
|
+
disc list item 2
|
420
|
+
</li>
|
421
|
+
</ul>
|
422
|
+
<ul class="flat-list">
|
423
|
+
<li class="first-child">
|
424
|
+
flat-list item 1
|
425
|
+
</li>
|
426
|
+
<li class="last-child">
|
427
|
+
flat-list item 2
|
428
|
+
</li>
|
219
429
|
</ul>
|
220
430
|
<blockquote>
|
221
|
-
<p
|
431
|
+
<p><span class="caps">GNU</span> General Public License</p>
|
222
432
|
</blockquote>
|
223
|
-
<
|
433
|
+
<p>Note: the module template was developed primarily for BrowserMedia in-house use. Therefore the license, copywrite, and gemspec files all reflect our organization. Please edit and/or remove these files to fit your needs.</p>
|
434
|
+
<h3>Conventions When Building Your Module</h3>
|
224
435
|
<p>Build your module as if you were building a rails application that does whatever you want.</p>
|
225
436
|
<p>That said, there are some conventions that tend to make things easier.</p>
|
226
437
|
<p>First, place any files that are used as configuration files for public assects (for example, the fckeditor) in the <code>public/bcms_config/[module_name]</code> directory and have the gem only copy them if they are not already there. For example you can add code like the following to the <code>rails/init.rb</code> file.</p>
|
227
|
-
<div class="code_container"><code class="ruby">unless File.exists?("#{
|
438
|
+
<div class="code_container"><code class="ruby">unless File.exists?("#{Rails.root}/public/bcms_config/fckeditor/fckstyles.xml")
|
228
439
|
Cms.add_generator_paths gem_root, "public/bcms_config/fckeditor/fckstyles.xml"
|
229
440
|
end</code></div>
|
230
441
|
<p>This will make the required configuration file available to the fckeditor, but it won’t overwrite it (or even ask you if you want to overwrite it) every time you run <code>script/generate browser_cms</code> for your application.</p>
|
231
|
-
<h3
|
442
|
+
<h3>Testing Your Gem</h3>
|
232
443
|
<p>We strongly encourage the creation of unit, functional, and integration tests as part of your module.</p>
|
233
444
|
<p>We also suggest that you test your gem against a BrowserCMS application. To do this, first run</p>
|
234
445
|
<p><code>bcms module_tester -m demo</code></p>
|
@@ -247,3 +458,23 @@ end</code></div>
|
|
247
458
|
</body>
|
248
459
|
</html>
|
249
460
|
|
461
|
+
</div>
|
462
|
+
</div>
|
463
|
+
<div id="footer">
|
464
|
+
<ul>
|
465
|
+
<li class="first-child"><a href="">BrowserMedia Home</a></li>
|
466
|
+
<li><a href="">BrowserCMS Home</a></li>
|
467
|
+
<li><a href="">Sitemap</a></li>
|
468
|
+
<li class="last-child"><a href="">Contact Us</a></li>
|
469
|
+
</ul>
|
470
|
+
<p class="copynotice">© 1998-2010 BrowserMedia, LLC. All Rights
|
471
|
+
Reserved.</p>
|
472
|
+
</div>
|
473
|
+
</div>
|
474
|
+
<script type="text/javascript">
|
475
|
+
//<![CDATA[
|
476
|
+
bcmsOrg.init();
|
477
|
+
//]]>
|
478
|
+
</script>
|
479
|
+
</body>
|
480
|
+
</html>
|