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
data/browsercms.gemspec
CHANGED
@@ -1,19 +1,25 @@
|
|
1
|
+
# This file is now managed directly, rather than generated by Jeweler.
|
2
|
+
#
|
1
3
|
require File.dirname(__FILE__) + "/lib/cms/version.rb"
|
2
4
|
|
3
5
|
Gem::Specification.new do |s|
|
6
|
+
s.platform = Gem::Platform::RUBY
|
4
7
|
s.name = %q{browsercms}
|
5
8
|
s.version = Cms::VERSION
|
6
9
|
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
7
11
|
s.authors = ["BrowserMedia"]
|
8
|
-
s.
|
9
|
-
s.summary = %
|
10
|
-
|
12
|
+
s.date = %q{2011-03-15}
|
13
|
+
s.summary = %q{BrowserCMS is a a general purpose, open source Web Content Management System (CMS), written using Ruby on Rails.}
|
14
|
+
s.description = %q{Web Content Management in Rails.}
|
11
15
|
s.email = %q{github@browsermedia.com}
|
12
|
-
s.executables = ["browsercms", "bcms"]
|
16
|
+
s.executables = ["browsercms", "bcms", "bcms-upgrade"]
|
13
17
|
s.extra_rdoc_files = [
|
14
18
|
"LICENSE.txt",
|
15
19
|
"README.markdown"
|
16
20
|
]
|
21
|
+
s.required_ruby_version = '>= 1.9.2'
|
22
|
+
|
17
23
|
s.files = Dir["rails/*.rb"]
|
18
24
|
s.files += Dir["browsercms.gemspec"]
|
19
25
|
s.files += Dir["doc/app/**/*"]
|
@@ -21,9 +27,8 @@ Gem::Specification.new do |s|
|
|
21
27
|
s.files += Dir["app/**/*"]
|
22
28
|
s.files += Dir["db/migrate/[0-9]*_*.rb"]
|
23
29
|
s.files += Dir["db/demo/**/*"]
|
30
|
+
s.files += Dir["db/seeds.rb"]
|
24
31
|
s.files += Dir["lib/**/*"]
|
25
|
-
s.files -= Dir["lib/tasks/data.rake"]
|
26
|
-
s.files += Dir["rails_generators/**/*"]
|
27
32
|
s.files += Dir["public/stylesheets/cms/**/*"]
|
28
33
|
s.files += Dir["public/javascripts/jquery*"]
|
29
34
|
s.files += Dir["public/javascripts/cms/**/*"]
|
@@ -32,15 +37,12 @@ Gem::Specification.new do |s|
|
|
32
37
|
s.files += Dir["public/images/cms/**/*"]
|
33
38
|
s.files += Dir["public/themes/**/*"]
|
34
39
|
s.files += Dir["templates/*.rb"]
|
40
|
+
s.files -= Dir['test/dummy/*']
|
41
|
+
|
42
|
+
s.add_dependency('rails', "~> 3.0.5")
|
35
43
|
|
36
|
-
|
37
|
-
s.
|
38
|
-
s.rubyforge_project = %q{browsercms}
|
39
|
-
s.rubygems_version = %q{1.3.7}
|
40
|
-
s.summary = %q{BrowserCMS is a general purpose, open source Web Content Management System (CMS) written in Ruby on Rails. Designed for web developers who want to create great looking websites while using standard Rails tools for customizing it.}
|
41
|
-
s.test_files = Dir["test/**/*"]
|
44
|
+
# Required only for bcms-upgrade
|
45
|
+
s.add_dependency('term-ansicolor')
|
42
46
|
|
43
|
-
s.add_dependency "rails", "~> 2.3.14"
|
44
|
-
s.add_dependency "ancestry", "~> 1.2.4"
|
45
47
|
end
|
46
48
|
|
@@ -0,0 +1,56 @@
|
|
1
|
+
class Browsercms330 < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
|
4
|
+
# patch required for LH345
|
5
|
+
cant_fix = []
|
6
|
+
to_fix = []
|
7
|
+
# find all pages whose path ends in slash and is not root
|
8
|
+
Page.find(:all, :conditions => "path LIKE '/%/'").each do |pt_page|
|
9
|
+
# make sure no extant page has this path
|
10
|
+
if Page.count(:conditions => ["path = ?", pt_page.path.sub(/(.+)\/+$/, '\1')]) > 0
|
11
|
+
cant_fix << pt_page
|
12
|
+
else
|
13
|
+
to_fix << pt_page
|
14
|
+
end
|
15
|
+
end
|
16
|
+
version_cant_fix = []
|
17
|
+
version_to_fix = []
|
18
|
+
# find all page versions whose path ends in slash and is not root
|
19
|
+
Page::Version.find(:all, :conditions => "path LIKE '/%/'").each do |pt_page|
|
20
|
+
# make sure no extant page has this path
|
21
|
+
if Page.count(:conditions => ["path = ?", pt_page.path.sub(/(.+)\/+$/, '\1')]) > 0
|
22
|
+
version_cant_fix << pt_page
|
23
|
+
else
|
24
|
+
version_to_fix << pt_page
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# raise an error if there are pages (*not* page versions) that will duplicate an extant path if the ending slash is dropped
|
29
|
+
if cant_fix.length > 0
|
30
|
+
raise "Cannot remove trailing slashes from pages with ID(s) (#{cant_fix.map(&:id).join(', ')}). Other pages already exist with their correct path. The offending path may be in an unpublished page version, newer than the current public version. These needed to be corrected manually in your DBMS before running this migration"
|
31
|
+
end
|
32
|
+
|
33
|
+
to_fix.each do |fix_page|
|
34
|
+
# change the path of all pages with a trailing slash to not have one
|
35
|
+
# using sql updates to prevent unwanted callbacks
|
36
|
+
new_path = fix_page.path.to_s.sub(/(.+)\/+$/, '\1')
|
37
|
+
execute "UPDATE pages SET path = '#{new_path}' WHERE id = #{fix_page.id};"
|
38
|
+
end
|
39
|
+
version_to_fix.each do |fix_page|
|
40
|
+
# change the path of all fixable page versions with a trailing slash to not have one
|
41
|
+
# using sql updates to prevent unwanted callbacks
|
42
|
+
new_path = fix_page.path.to_s.sub(/(.+)\/+$/, '\1')
|
43
|
+
execute "UPDATE page_versions SET path = '#{new_path}' WHERE id = #{fix_page.id};"
|
44
|
+
end
|
45
|
+
# end patch for LH345
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.down
|
49
|
+
|
50
|
+
# Cannot restore paths with trailing slash - raise error or show message
|
51
|
+
#
|
52
|
+
# raise IrreversibleMigration, "Cannot reverse migration which removes trailing slash from page paths"
|
53
|
+
puts "Page paths which had trailing slashes removed cannot be restored to their original state."
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
data/db/seeds.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'cms/data_loader'
|
2
|
+
extend Cms::DataLoader
|
3
|
+
|
4
|
+
if %w[development test dev local].include?(Rails.env)
|
5
|
+
pwd = "cmsadmin"
|
6
|
+
else
|
7
|
+
pwd = (0..8).inject(""){|s,i| s << (('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a).rand}
|
8
|
+
end
|
9
|
+
User.current = create_user(:cmsadmin, :login => "cmsadmin", :first_name => "CMS", :last_name => "Administrator", :email => "cmsadmin@example.com", :password => pwd, :password_confirmation => pwd)
|
10
|
+
|
11
|
+
create_permission(:administrate, :name => "administrate", :full_name => "Administer CMS" , :description => "Allows users to administer the CMS, including adding users and groups.")
|
12
|
+
create_permission(:edit_content, :name => "edit_content", :full_name => "Edit Content" , :description => "Allows users to Add, Edit and Delete both Pages and Blocks. Can Save (but not Publish) and Assign them as well.")
|
13
|
+
create_permission(:publish_content, :name => "publish_content", :full_name => "Publish Content" , :description => "Allows users to Save and Publish, Hide and Archive both Pages and Blocks.")
|
14
|
+
|
15
|
+
create_group_type(:guest_group_type, :name => "Guest", :guest => true)
|
16
|
+
create_group_type(:registered_public_user, :name => "Registered Public User")
|
17
|
+
create_group_type(:cms_user, :name => "CMS User", :cms_access => true)
|
18
|
+
group_types(:cms_user).permissions<<permissions(:edit_content)
|
19
|
+
group_types(:cms_user).permissions<<permissions(:publish_content)
|
20
|
+
|
21
|
+
create_group(:guest, :name => 'Guest', :code => 'guest', :group_type => group_types(:guest_group_type))
|
22
|
+
create_group(:content_admin, :name => 'Cms Administrators', :code => 'cms-admin', :group_type => group_types(:cms_user))
|
23
|
+
create_group(:content_editor, :name => 'Content Editors', :code => 'content-editor', :group_type => group_types(:cms_user))
|
24
|
+
users(:cmsadmin).groups << groups(:content_admin)
|
25
|
+
users(:cmsadmin).groups << groups(:content_editor)
|
26
|
+
|
27
|
+
groups(:content_admin).permissions<<permissions(:administrate)
|
28
|
+
groups(:content_editor).permissions<<permissions(:edit_content)
|
29
|
+
groups(:content_editor).permissions<<permissions(:publish_content)
|
30
|
+
|
31
|
+
create_site(:default, :name => "Default", :domain => "example.com")
|
32
|
+
create_section(:root, :name => "My Site", :path => "/", :root => true)
|
33
|
+
create_section(:system, :name => "system", :parent => sections(:root), :path => "/system", :hidden => true)
|
34
|
+
|
35
|
+
Group.all.each{|g| g.sections = Section.all }
|
36
|
+
|
37
|
+
create_page(:home, :name => "Home", :path => "/", :section => sections(:root), :template_file_name => "default.html.erb", :cacheable => true)
|
38
|
+
create_page(:not_found, :name => "Page Not Found", :path => "/system/not_found", :section => sections(:system), :template_file_name => "default.html.erb", :publish_on_save => true, :hidden => true, :cacheable => true)
|
39
|
+
create_page(:access_denied, :name => "Access Denied", :path => "/system/access_denied", :section => sections(:system), :template_file_name => "default.html.erb", :publish_on_save => true, :hidden => true, :cacheable => true)
|
40
|
+
create_page(:server_error, :name => "Server Error", :path => "/system/server_error", :section => sections(:system), :template_file_name => "default.html.erb", :publish_on_save => true, :hidden => true, :cacheable => true)
|
41
|
+
|
42
|
+
create_html_block(:page_not_found, :name => "Page Not Found", :content => "<p>The page you tried to access does not exist on this server.</p>", :publish_on_save => true)
|
43
|
+
pages(:not_found).create_connector(html_blocks(:page_not_found), "main")
|
44
|
+
pages(:not_found).publish!
|
45
|
+
|
46
|
+
create_html_block(:access_denied, :name => "Access Denied", :content => "<p>You have tried to reach a resource or page which you do not have permission to view.</p>", :publish_on_save => true)
|
47
|
+
pages(:access_denied).create_connector(html_blocks(:access_denied), "main")
|
48
|
+
pages(:access_denied).publish!
|
49
|
+
|
50
|
+
create_html_block(:server_error, :name => "Server Error", :content => "<p>The server encountered an unexpected condition that prevented it from fulfilling the request.</p>", :publish_on_save => true)
|
51
|
+
pages(:server_error).create_connector(html_blocks(:server_error), "main")
|
52
|
+
pages(:server_error).publish!
|
53
|
+
pages(:home).publish!
|
54
|
+
|
55
|
+
puts "*************************************************"
|
56
|
+
puts "* YOUR CMS username/password is: cmsadmin/#{pwd}"
|
57
|
+
puts "*************************************************"
|
58
|
+
|
@@ -1,201 +1,457 @@
|
|
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
|
-
div.title {
|
55
|
-
padding: 20px;
|
56
|
-
}
|
57
|
-
|
58
|
-
div.title h1 {
|
59
|
-
border-bottom: 3px solid #505358;
|
60
|
-
color: #FFFFFF;
|
61
|
-
font-size: 24pt;
|
62
|
-
font-weight: normal;
|
63
|
-
line-height: 1;
|
64
|
-
margin: 0 0 10px;
|
65
|
-
padding-bottom: 10px;
|
66
|
-
}
|
67
|
-
|
68
|
-
td.sidebar {
|
69
|
-
font-size: 8pt;
|
70
|
-
width: 165px;
|
71
|
-
padding: 5px;
|
72
|
-
}
|
73
|
-
|
74
|
-
td.sidebar ol {
|
75
|
-
margin-left: 20px;
|
76
|
-
padding: 0;
|
77
|
-
line-height: 1.5;
|
78
|
-
}
|
79
|
-
|
80
|
-
td.sidebar ol li {
|
81
|
-
margin: 0;
|
82
|
-
padding: 0;
|
83
|
-
}
|
84
|
-
|
85
|
-
td.sidebar ol li ul {
|
86
|
-
list-style-type: none;
|
87
|
-
padding-left: 10px;
|
88
|
-
}
|
89
|
-
|
90
|
-
td.guides {
|
91
|
-
font-size: 10pt;
|
92
|
-
width: 800px;
|
93
|
-
padding: 10px;
|
94
|
-
}
|
95
|
-
|
96
|
-
.code_container {
|
97
|
-
padding: 10px;
|
98
|
-
background: #eee;
|
99
|
-
border: 1px solid #ccc;
|
100
|
-
overflow: auto;
|
101
|
-
width: 760px;
|
102
|
-
}
|
103
|
-
|
104
|
-
pre, code {
|
105
|
-
overflow: auto;
|
106
|
-
white-space:pre;
|
107
|
-
}
|
108
|
-
.note {
|
109
|
-
-moz-background-clip:border;
|
110
|
-
-moz-background-inline-policy:continuous;
|
111
|
-
-moz-background-origin:padding;
|
112
|
-
background:#FFF9D8 url(../images/tab_note.gif) no-repeat scroll left top;
|
113
|
-
border:medium none;
|
114
|
-
margin:0.25em 0 1.5em;
|
115
|
-
padding:1em 1em 0.25em 48px;
|
116
|
-
}
|
117
|
-
</style>
|
118
|
-
</head>
|
119
|
-
<body>
|
120
|
-
<div id="page">
|
121
|
-
<div id="header">
|
122
|
-
<a href="index.html"><img style="border:0px" src="images/browsercms_logo.png" alt="BrowserCMS"/></a>
|
123
|
-
</div>
|
124
|
-
<div id="main">
|
125
|
-
<div class="top_cap"></div>
|
126
|
-
<div id="contentwrap">
|
127
|
-
<div class="title">
|
128
|
-
<h1></h1>
|
129
|
-
</div>
|
130
|
-
<div class="top_cap_content"></div>
|
131
|
-
<div id="content">
|
132
|
-
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
133
|
-
<tr>
|
134
|
-
<td class="sidebar" valign="top">
|
135
|
-
<div id="subCol">
|
136
|
-
<h3 class="chapter"><img src="images/chapters_icon.gif" alt="" />Chapters</h3>
|
137
|
-
<ol class="chapters">
|
138
|
-
</ol></div>
|
139
|
-
</td>
|
140
|
-
<td class="guides">
|
141
|
-
|
142
|
-
<h2>Using <span class="caps">CMS</span> Authentication</h2>
|
143
|
-
<p>When you create public controllers, you may want to take advantage of the <span class="caps">CMS</span> authentication system. Create an action that
|
144
|
-
looks like this:</p>
|
145
|
-
<div class="code_container"><code class="ruby">class MyNewController < ApplicationController
|
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
|
+
}
|
146
25
|
|
147
|
-
|
148
|
-
|
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
|
+
}
|
149
34
|
|
150
|
-
|
151
|
-
|
152
|
-
|
35
|
+
cufon canvas {
|
36
|
+
position: relative !important;
|
37
|
+
}
|
38
|
+
}
|
153
39
|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
end
|
159
|
-
end
|
160
|
-
end</code></div>
|
161
|
-
<p>The current_user method is also available in Portlets (maybe), as well as in the view files for both portlets and templates.</p>
|
162
|
-
<h3>Understanding Guest users
|
163
|
-
Many visitors to a <span class="caps">CMS</span> site will not be logged in. These users are considered to be members of a special group, called ‘Guest’. This
|
164
|
-
group allows staff to set permissions for denying entry to specific sections. When you call the following:</h3>
|
165
|
-
<div class="code_container"><code class="ruby">user = current_user</code></div>
|
166
|
-
<p>if there the user is not logged in, a
|
167
|
-
dirty_workaround_for_notextile_2
|
168
|
-
object will be returned. This user has all the permissions of the guest group, which are
|
169
|
-
usually limited to viewing public sections.</p>
|
170
|
-
<h2>Working with the Content <span class="caps">API</span>
|
171
|
-
One of the central features that the content <span class="caps">API</span> adds to models is versioning and publishing. Each content block can either be published or in draft. The data for a block is split between two tables, the primary table and it’s version table. The primary table
|
172
|
-
stores the ‘live’ version of a block, typically the last ‘Published’ version of a block. The versions table stores all other versions, including future edits which are unpublished.</h2>
|
173
|
-
<h3>Differences between ActiveRecord and Content <span class="caps">API</span>
|
174
|
-
This can cause some confusion when using basic ActiveRecord operations, where you might not get what you expect. For example, suppose we create an Event Block</h3>
|
175
|
-
<div class="code_container"><code class="ruby">class Event < ActiveRecord::Base
|
176
|
-
acts_as_content_block
|
177
|
-
end
|
40
|
+
@media print {
|
41
|
+
cufon {
|
42
|
+
padding: 0 !important;
|
43
|
+
}
|
178
44
|
|
179
|
-
|
180
|
-
|
181
|
-
|
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>
|
182
54
|
|
183
|
-
|
184
|
-
<
|
185
|
-
<
|
186
|
-
|
187
|
-
event.publish! # This will both publish and save the record.
|
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>
|
188
59
|
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
</
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
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>
|
198
143
|
</div>
|
199
|
-
</body>
|
200
|
-
</html>
|
201
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>
|
413
|
+
</ul>
|
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>
|
429
|
+
</ul>
|
430
|
+
<p class="clearfix">
|
431
|
+
clearing paragraph block (has margins)</p>
|
432
|
+
|
433
|
+
<div class="clearfix">
|
434
|
+
cleearing regular block (no margins)
|
435
|
+
</div>
|
436
|
+
|
437
|
+
|
438
|
+
</div>
|
439
|
+
</div>
|
440
|
+
<div id="footer">
|
441
|
+
<ul>
|
442
|
+
<li class="first-child"><a href="">BrowserMedia Home</a></li>
|
443
|
+
<li><a href="">BrowserCMS Home</a></li>
|
444
|
+
<li><a href="">Sitemap</a></li>
|
445
|
+
<li class="last-child"><a href="">Contact Us</a></li>
|
446
|
+
</ul>
|
447
|
+
<p class="copynotice">© 1998-2010 BrowserMedia, LLC. All Rights
|
448
|
+
Reserved.</p>
|
449
|
+
</div>
|
450
|
+
</div>
|
451
|
+
<script type="text/javascript">
|
452
|
+
//<![CDATA[
|
453
|
+
bcmsOrg.init();
|
454
|
+
//]]>
|
455
|
+
</script>
|
456
|
+
</body>
|
457
|
+
</html>
|