Metadata-Version: 1.1 Name: plonetheme.sunburst Version: 1.4.7 Summary: The default theme for Plone 4. Home-page: http://pypi.python.org/pypi/plonetheme.sunburst Author: Plone Foundation Author-email: plone-developers@lists.sourceforge.net License: GPL version 2 Description: Sunburst, a theme for Plone 4 ============================= Sunburst is a modern, minimalist, grid-based theme for Plone 4. .. contents:: Table of contents Goals ----- - Keep the theme color-neutral (black, white, grays), so it meshes with any company logo and doesn't feel like it requires color adjustment for doing the 10-minute-show-it-to-the-boss exercise. - The theme does not use any tables for layout, and is based on the Deco grid approach which is currently in use on plone.org. It works perfectly in all browsers, including IE6. - The grid works in both fixed-width and flexible-width modes, there's a commented-out section in the top of the CSS file you can enable if you want fixed-width layout. - No substantial markup changes outside of the table removal - class and ID names are kept. - The theme uses some CSS3 features, but degrades gracefully. - The theme does not use any DTML. - When viewed on a device with less than 640px width, the portlets neatly tuck under the main content area. This means that the site works well with CSS-enabled devices like tablets and phones that may have limited resolution. How to depend on Sunburst for your custom theme ----------------------------------------------- Since Sunburst 1.4, Plone-UI generic styles are seperated from public.css, where only Sunburst-design specific styles were left. This reduces the need to override style definitions to match your custom theme. Here is a way to only include specific stylesheets in your custom theme. This example is based on Products.ResourceRegistries with the "bundles" concept, which is available from version 2.1a1. In the cssregistry.xml profile, configure bundles for your styles: .. code-block:: xml In registry.xml, configure the resource-bundles you want to include in your custom theme. The "sunburst" bundle isn't inlcuded. .. code-block:: xml jquery default mycustombundle Of course, the mycustom_skin needs to be registered in skins.xml too. Detailed documentation ====================== Set up and log in ----------------- >>> from Products.Five.testbrowser import Browser >>> browser = self.getBrowser() >>> browser.handleErrors = False >>> portal_url = self.portal.absolute_url() >>> self.portal.error_log._ignored_exceptions = () >>> self.loginAsPortalOwner() >>> from zope.component import getUtility >>> from plone.portlets.interfaces import IPortletType >>> portlet = getUtility(IPortletType, name='portlets.Calendar') Sunburst view ------------- Sunburst ships with a special main view similar to ploneview. It contains helping methods relevant to the Sunburst theme only so it doesn't make sense to put these into global ploneview. First let's check that the view exists >>> from plonetheme.sunburst.browser.sunburstview import SunburstView >>> self.view = SunburstView(self.portal, self.app.REQUEST) getColumnsClass() ***************** The getColumnsClass() method of SunburstView class returns CSS class based on existence of the columns. This class is applied to
. No columns ~~~~~~~~~~ Originally on a fresh site we don't have portlets on the top level (login portlet has been disabled in Plone 4) and thus we should not have columns, at least not on the left. >>> browser.open('http://nohost/plone/front-page') >>> 'id="portal-column-one"' in browser.contents False In Plone 4.4 we have a calendar portlet on the right though. >>> from Products.CMFPlone.utils import getFSVersionTuple >>> v44 = getFSVersionTuple() >= (4, 4) >>> if v44: ... 'id="portal-column-two"' in browser.contents ... else: ... 'id="portal-column-two"' not in browser.contents True In this case content column should take the whole width of the site >>> if v44: ... '
' in browser.contents ... else: ... '
>> mapping = self.portal.restrictedTraverse('++contextportlets++plone.leftcolumn') >>> addview = mapping.restrictedTraverse('+/' + portlet.addview) >>> if v44: ... result = addview.createAndAdd({}) ... else: ... result = addview() >>> bool(result) # None or empty string False >>> browser.reload() In this case we should have the left column. In Plone 4.4 also the right one. >>> 'id="portal-column-one"' in browser.contents True >>> if v44: ... 'id="portal-column-two"' in browser.contents ... else: ... 'id="portal-column-two"' not in browser.contents True And the class on id="portal-column-content" is changed >>> if v44: ... '
' in browser.contents ... else: ... '
>> from Products.CMFCore.utils import getToolByName >>> tool = getToolByName(portal, "portal_languages") >>> tool.getDefaultLanguage() 'en' >>> tool.setDefaultLanguage('he') Changes aren't pick up immediately. We need to reload >>> 'dir="rtl"' in browser.contents False >>> browser.reload() >>> 'dir="rtl"' in browser.contents True And the class on id="portal-column-content" should be changed as well >>> if v44: ... '
' in browser.contents ... else: ... '
>> mapping = self.portal.restrictedTraverse('++contextportlets++plone.rightcolumn') >>> addview = mapping.restrictedTraverse('+/' + portlet.addview) >>> if v44: ... result = addview.createAndAdd({}) ... else: ... result = addview() >>> bool(result) # None or empty string False >>> browser.reload() In this case we should have both columns visible. >>> 'id="portal-column-one"' in browser.contents True >>> 'id="portal-column-two"' in browser.contents True And the class on id="portal-column-content" is changed >>> '
>> from Products.Five import zcml >>> from plonetheme.sunburst.tests.base import zcml_string >>> zcml.load_string(zcml_string) >>> portal_setup = self.portal.portal_setup >>> portal_setup.runAllImportStepsFromProfile('profile-plonetheme.sunburst:testing') {...} >>> browser.reload() >>> 'id="portal-column-one"' in browser.contents False >>> 'id="portal-column-two"' in browser.contents True And now we check id="portal-column-content". Since we are still in 'he' language... >>> tool.getDefaultLanguage() 'he' ... content column should start not from the left, but rather from position-1:4 (1:4 on the left is taken by the right column in RTL) >>> '
>> tool.setDefaultLanguage('en') Changes aren't pick up immediately. We need to reload >>> 'dir="ltr"' in browser.contents False >>> browser.reload() >>> 'dir="ltr"' in browser.contents True And the class on id="portal-column-content" should be changed as well >>> '
in order to have better-looking forms. References http://dev.plone.org/plone/ticket/9824 [spliter] - Moved language selector and personal tools viewlets into plone.portalheader viewlet manager and re-positioned them relatively instead of absolute. Closes http://dev.plone.org/plone/ticket/10252 [spliter] - Hide the "up to groups overview" link and fieldset border in the "add group" overlay. Closes http://dev.plone.org/plone/ticket/10149 Closes http://dev.plone.org/plone/ticket/10150 [stuttle] - Replaced references to redundant #region-content to #content in stylesheets. References http://dev.plone.org/plone/ticket/10231 [spliter] - Adding back IE8.js to fix Sunburst for IE6/7, re-enabling mobile device support. [limi] - Adding IE8.js v2.1 beta, this should resolve the issues with @media selectors, and let us re-enable the mobile support again. Thanks to Dean Edwards for fixing this. [limi] 1.0b1 - 2010-02-18 ------------------ - Added example CSS to ploneCustom.css on how to enable the first levels of breadcrumbs. This fixes http://dev.plone.org/plone/ticket/9987. [limi] - Removed #region-content and .documentContent from all templates, as they are redundant. See http://dev.plone.org/plone/ticket/10231 for details. [limi] - Updated prefs_main_template.pt and personalize_form.pt to the recent markup conventions. References http://dev.plone.org/plone/ticket/9981 [spliter] - Moved 'content' slot to the same place as it is in CMFPlone's main_template.pt. Having the same slot in different places is confusing. References http://dev.plone.org/plone/ticket/9981 [spliter] - Wrapped .contentViews and .contentActions with
in author.pt. [spliter] - Add html id to personal bar actions. [paul_r] - Align the personal tools drop-down submenu to the left for RTL scripts. Fixes http://dev.plone.org/plone/ticket/10181. [emanlove] - Updated templates to disable the columns with 'disable_MANAGER_NAME' pattern. [spliter] - Removed action drop-down submenu right alignment for RTL scripts. Re-fixes http://dev.plone.org/plone/ticket/9651. [emanlove] - Some sunburst for the site actions. Refs http://dev.plone.org/plone/ticket/10176 [pelle] - Remove common CSS registries. Refs http://dev.plone.org/plone/ticket/9988. [dukebody] - Copied updated structure of 'main' slot from classic theme to Sunburst [spliter] 1.0a5 - 2010-02-01 ------------------ - Move the login overlay form labels slightly down to align vertically with their associated fields. Refs http://dev.plone.org/plone/ticket/10021. [dukebody] - Align the action drop-down submenu to the right. Fixes http://dev.plone.org/plone/ticket/10074. [dukebody] - Remove the ability for anonymous to send author feedback again. A quick survey of integrators showed that this wasn't desirable. [esteele] - Avoid the test function in the main_template. It doesn't exist in view page template files. [hannosch] - Simplify the bodyClass construction. [hannosch] - Use renderBase from new location. [hannosch] - Remove obsolete charset definition for the global_cache_settings macro. [hannosch] - Follow the getSectionFromURL change in CMFPlone. [hannosch] - Just a markup polishing - tags don't need explicit "metal" for defining slots. [spliter] - Copied preferred structure of 'main' slot from default main_template [spliter] - Moved plone.abovecontent and plone.belowcontent viewlet managers actually above and below content respectively for Sunburst. References http://dev.plone.org/plone/ticket/10081 [spliter] - Support various image alignment classes and image caption. Based on the classic theme but with a slight sunburst touch. http://dev.plone.org/plone/ticket/10043 [pelle] - Don't limit the styling of portal messages etc. to the #region-content, portal messages might also appear out side that area in an overlay, portlet etc. Fixes http://dev.plone.org/plone/ticket/10069 [pelle] - Move search results to the left for RTL scripts. Fixes http://dev.plone.org/plone/ticket/10015. [emanlove] - Port changes to author.pt from http://dev.plone.org/plone/changeset/32858 [esteele] - Limit the caption width to 200px. Fixes http://dev.plone.org/plone/ticket/9992. [dukebody] - Avoid leading spaces in the class attribute of the body element. Fixes http://dev.plone.org/plone/ticket/9489. [dukebody] - Removed underline from "Manage portlets" fallback link [spliter] - Adjust login overlay position and width. Refs http://dev.plone.org/plone/ticket/9869 [dukebody] - Underline links in warning and error info messages. This closes http://dev.plone.org/plone/ticket/9801 [dukebody] - Add some spacing between siteaction links. This closes http://dev.plone.org/plone/ticket/9830 [dukebody] - Style display view menu for items selected as main view for a folder. This closes http://dev.plone.org/plone/ticket/9894 [dukebody, thanks cewing] 1.0a4 - 2009-12-21 ------------------ - made descriptions for items in livesearch wrap normally [spliter] - fixed positioning of livesearch to not overflow the screen on the right and have horizontal scrollbar. [spliter] - Enabled thumbnails view in Sunburst. Fixes #9870. [spliter] - Do not display the author contact form when the author has no email (for example for openid users). Refs #8707. [maurits] - On author.cpt, only display the "log in to add comments" button if mailhost is defined. Only show the mailhost warning if user is authenticated. [esteele] 1.0a3 - 2009-12-02 ------------------ - Add selectors for openid login form section to login styles. [smcmahon] - Sunburst has it's own table-less prefs_main_template.pt to keep validation of control panels for both sunburst and plonetheme.classic [spliter] - removed negative margin from #contentActionMenus - it broke the rounded corner of #edit-bar [spliter] - moved "Manage portlets" fallback link out of main_template to plone.manage_portlets_fallback viewlet http://dev.plone.org/plone/ticket/9808 [spliter] - Update styles to reflect the move to @@register and @@new-user [esteele] 1.0a2 - 2009-11-18 ------------------ - Remove non-ascii character in README that prevented distribution. [esteele] 1.0a1 - 2009-11-18 ------------------ - Initial release Keywords: web zope plone theme Platform: UNKNOWN Classifier: Environment :: Web Environment Classifier: Framework :: Plone Classifier: Framework :: Zope2 Classifier: License :: OSI Approved :: GNU General Public License (GPL) Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python