browsercms 3.1.5 → 3.3.0.beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,238 +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
|
-
|
|
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
|
-
|
|
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>
|
|
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>
|
|
146
421
|
</ul>
|
|
147
|
-
<
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
<
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
Let’s generate a portlet to display the most recently created products:</p>
|
|
155
|
-
<div class="code_container"><code class="html">$ script/generate portlet recent_products limit:integer</code></div>
|
|
156
|
-
<p>What you will see created is:</p>
|
|
157
|
-
<ul>
|
|
158
|
-
<li>A portlet at <tt>app/portlets/recent_products_portlet.rb</tt></li>
|
|
159
|
-
<li>A form partial at <tt>app/views/portlets/recent_products/_form.html.erb</tt></li>
|
|
160
|
-
<li>A render template at <tt>app/views/portlets/recent_products/render.html.erb</tt></li>
|
|
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>
|
|
161
429
|
</ul>
|
|
162
|
-
<p
|
|
163
|
-
|
|
164
|
-
this means is that you can set and then store a value for any attribute for a portlet.</p>
|
|
165
|
-
<p>So if you look at the form partial that was generate for this portlet, you will see this:</p>
|
|
166
|
-
<div class="code_container"><code class="html"><%= f.cms_text_field :name %>
|
|
167
|
-
<%= f.cms_text_field :limit %>
|
|
168
|
-
<%= f.cms_template_editor :template %></code></div>
|
|
169
|
-
<p>Every portlet instance has to have a name and that is stored in the main <tt>portlets</tt> table, but <tt>limit</tt> is stored in the <tt>portlet_attributes</tt> table.
|
|
170
|
-
You could add anything to this form, such as <tt><%= f.cms_text_field :foobar %></tt>, and whatever the user enters for <tt>foobar</tt> would get saved with the portlet.</p>
|
|
171
|
-
<p>If you look at the code for the portlet, you will see:</p>
|
|
172
|
-
<div class="code_container"><code class="ruby">class RecentProducts < Portlet
|
|
430
|
+
<p class="clearfix">
|
|
431
|
+
clearing paragraph block (has margins)</p>
|
|
173
432
|
|
|
174
|
-
|
|
433
|
+
<div class="clearfix">
|
|
434
|
+
cleearing regular block (no margins)
|
|
435
|
+
</div>
|
|
175
436
|
|
|
176
|
-
def render
|
|
177
|
-
# Your Code Goes Here
|
|
178
|
-
end
|
|
179
|
-
|
|
180
|
-
end</code></div>
|
|
181
|
-
<p>As the comment says, you will want to fill in your application logic here. We’re going to get the most recent products
|
|
182
|
-
and use the value the user entered for limit when they filled out the form. So edit the render method to look like:</p>
|
|
183
|
-
<div class="code_container"><code class="ruby">class RecentProducts < Portlet
|
|
184
|
-
|
|
185
|
-
def render
|
|
186
|
-
@products = Product.all(:order => "created_at desc", :limit => self.limit)
|
|
187
|
-
end
|
|
188
|
-
|
|
189
|
-
end</code></div>
|
|
190
|
-
<p><code>self</code> in this case is the portlet instance, which is also available in the instance variable
|
|
191
|
-
<code>@portlet</code>.
|
|
192
|
-
We are setting the <code>@products</code> instance variable so that will be available in the view. If you look at the render template, you will see this:</p>
|
|
193
|
-
<div class="code_container"><code class="html"><%=h @portlet.name %></code></div>
|
|
194
|
-
<p>This is simply a place holder, you should override this code with how you want the portlet to display. In this case, let’s go with:</p>
|
|
195
|
-
<div class="code_container"><code class="html"><ul>
|
|
196
|
-
<% @products.each do |product| %>
|
|
197
|
-
<li><%=h product.name %></li>
|
|
198
|
-
<% end %>
|
|
199
|
-
</ul></code></div>
|
|
200
|
-
<h4 id="allowing-template-editing-via-the-ui">1.1 Allowing template editing via the UI</h4>
|
|
201
|
-
<p>By default, each instance of a Portlet will render itself using the contents of it’s ‘render.html.erb’ file, because ‘enable_template_editor’ was marked false.
|
|
202
|
-
If you look back at the form partial that was generated, you’ll see:</p>
|
|
203
|
-
<div class="code_container"><code class="html"><%= f.cms_template_editor :template %></code></div>
|
|
204
|
-
<p>This is the editing control for the Portlet’s template, which will not appear on <span class="caps">CMS</span> UI by default. This allows you to quickly
|
|
205
|
-
refine how you want the default view to look. Once you like the layout for a portlet, you can enable the editor like so:</p>
|
|
206
|
-
<div class="code_container"><code class="ruby">class RecentProducts < Portlet
|
|
207
|
-
enable_template_editor true
|
|
208
|
-
end</code></div>
|
|
209
|
-
<p>Now each instance of the RecentProducts can have its own unique template. Each time a new portlet is created, the contents of
|
|
210
|
-
the ‘render.html.erb’ will be copied into the template attribute of the portlet and used to display the portlet. Users can
|
|
211
|
-
update these views as they see fit.</p>
|
|
212
|
-
<p><strong>Gotcha:</strong> It’s important to remember that once a portlet has a saved template, it will ignore what’s in the render.html.erb. So changes made there won’t
|
|
213
|
-
be reflected until the portlet’s template has been updated again.</p>
|
|
214
|
-
<h4 id="default-template-handlers">1.2 Default Template Handlers</h4>
|
|
215
|
-
<p>By default, templates are treated as erb views. The template editor has a drop down that allows users to choose other types like ‘builder’ or ‘rhtml’. To set the default handler
|
|
216
|
-
to something other than erb, modify the _form.html.erb to the following:</p>
|
|
217
|
-
<div class="code_container"><code class="html"><%= f.template_editor :template, :default_handler=>"builder" %></code></div>
|
|
218
|
-
<h4 id="alternative-handlers-for-non-editable-templates">1.3 Alternative handlers for non-editable templates</h4>
|
|
219
|
-
<p>If the template_editor is disabled, you can also set the handler directly on the portlet like so:</p>
|
|
220
|
-
<div class="code_container"><code class="ruby">class RecentProducts < Portlet
|
|
221
|
-
enable_template_editor false
|
|
222
|
-
handler "builder"
|
|
223
|
-
end</code></div>
|
|
224
|
-
<h4 id="using-haml-templates">1.4 Using <span class="caps">HAML</span> templates</h4>
|
|
225
|
-
<p>The default list of handlers does not include Haml. To do that, install the <span class="caps">HAML</span> gem and set the default_value to ‘haml’ like so:</p>
|
|
226
|
-
<div class="code_container"><code class="html"><%= f.template_editor :template, :default_handler=>"haml" %></code></div>
|
|
227
|
-
</td>
|
|
228
|
-
</tr>
|
|
229
|
-
</table>
|
|
230
|
-
</div>
|
|
231
|
-
</div>
|
|
232
|
-
<br clear="all"/>
|
|
233
|
-
<div class="bottom_cap"></div>
|
|
234
|
-
</div>
|
|
235
|
-
</div>
|
|
236
|
-
</body>
|
|
237
|
-
</html>
|
|
238
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>
|