|
|
|
|
Changelog for CPSSkins-2.3.3-1.noarch.rpm :
Wed Apr 13 12:00:00 2005 ben CPSSkins V2.3.3 [R1 build 2005/04/13-10:31 by ben] Requires: ~~~~~~~~~ - New features: ~~~~~~~~~~~~~ - Bug fixes: ~~~~~~~~~~ - New internal features: ~~~~~~~~~~~~~~~~~~~~~~ - use nuxeo packaging tools CPSSkins - the visual theme editor for CMF, CPS and Plone. Version 2.2 -------------------------------------------------------------------------- CPSSkins 2.3.0 (development) Released: 2004-08-xx - Added a Portlet Box Templet. To be connected to CPSPortlets. - Updated the meta \"generator\" name to \"CPSSkins 2.3\" ========================================================================== CPSSkins 2.2 (stable release) Released: 2004-08-30 - i18n: added Brazilian Portuguese translation (Thanks to Mario Olimpio de Menezes )
added support for PO filenames written as \'...-xx_XX.po\' (needed for pt_BR.po). i18n tests have been updated too.
fixed the internationalization in the Document Info Templet options.
- Bug fix: New images could not be uploaded to the Image Box when the Templet was in the internationalized mode.
- Theme editor / RAM cache: The current language was not set correctly in the theme edition mode which would pollute the cache with content in the wrong language.
The RAM caches now also get cleared when entering and exiting the theme editor since the character coding may be different (cf. Plone).
- Updated the meta \"generator\" name to \"CPSSkins 2.2\"
========================================================================== CPSSkins 2.2-rc5 (release candidate) Released: 2004-08-24
- RAM cache / ZEO: Changes performed on a theme are now spread through all ZEO instances.
When an object is modified its cache expires with the modification date stored in the ZODB and the local RAM caches in each ZEO instance will be invalidated if the last cache update was performed before the modifications.
This ought to work with ZEO servers located in different time zones since the time is the Universal Time (UTC).
- Bug fix: The path of an object instead of its ID is now used to identify an object in the RAM cache, since identical IDs within different folders are allowed to make it possible to edit themes directly through the ZMI.
- UID checking: Objects with UIDs beginning with \'copy_of_\' get a new ID.
- When copying a style from one theme to another, the default styles of the destination theme are now preserved.
- added a strip() to remove extra leading and trailing spaces in action urls which prevented them from being set as selected.
- fixed the creation of style through the contextual menu.
- CMF/Plone: Fixed an acquisition bug, if the portal site\'s name is the same as a given theme id under \'portal_themes\'.
- Plone2: Removed an expensive call from the main_template.pt: \"allowedSortedContentTypes python:here.sortObjects(here .allowedContentTypes())\" that had been moved to its own macro in Plone 2.0-RC3. This improves rendering times significantly (~ -0.4s).
- Plone1: Fixed the breadcrumbs (added missing cpsskins_getBreadcrumbs.py file).
- Imagebox: The image cache (Zope) now gets invalidated when the Image box has been edited.
- Automatic browser detection: Fixed a bug where the \'default\' theme renderer was always selected in \'automatic mode\'.
- Installation: The skins are now reinstalled when \'cpsskinsupdate\' is run. This is needed if products were added after CPSSkins.
Migration: Old cache attributes are now being deleted when migrating from a previous version.
- Theme editor / UI: The \'toggle\' button that minimizes a Templet is now only shown in the \'layout\' mode since minimized Templets are not visible in the other modes.
- Uploading new images (icons, background) now also works on Windows with filenames beginning with C:\\\\...
- Themes: Themes have been updated. The \"CPS3 Default\" theme has been made more like CPS3\'s default theme.
- Fixed some compatibility issues with CMF1.3 / CPS2 during installation.
- i18n: added missing translation for the style of the SearchBox.
- fixed the value context_rurl passed to a \"broken\" Templet to avoid crashing the theme editor.
- Documentation: Moved all the documentation to the \'doc\' directory. Added an UPGRADE.TXT and a DEPENDENCIES.TXT file. Added some information in TESTING.TXT about memory leak detection.
- Tests: New tests. All tests now pass on Plone2, CMF-1.4, CPS3.
========================================================================== CPSSkins 2.2-rc4 (release candidate) Released: 2004-08-17
- Compatibility with CMF 1.5
- Fixed security settings for newly created objects.
- Rewrote some hardcoded URLs into CMF actions.
- The RAM cache is not implemented on a theme level. This solves thread issues where more than one RAMCache instance was created per theme. Each theme now acts as its own cache manager, the cache architecture being very similar to StandardCacheManagers/RAMCacheManager.py .
Fixed the cache index for the Portal Box showing pending documents.
- Added new tests (there are now approx. 200 tests) All tests now pass on CMF / CPS3 Some tests fail on Plone because of an action that does not check whether \'folder\' has the \'displayContentsTab\' attribute. folderContents: \'python: folder.displayContentsTab()
- Added a new theme under Plone2 (\'Autumn theme\') ported from CPS3.
- Theme objects are no longer \'CMFCatalogAware\' They are based on \'SimpleItem\' and \'DynamicType\' instead.
- Code cleaning, better docstring documentation ...
========================================================================== CPSSkins 2.2-rc3 (release candidate) Released: 2004-08-12
- RAM cache: Improved the RAM cache granularity on CMF actions. The cache index key for action Templets is now restricted to the actual action categories that are being displayed.
When displaying actions the current URL is added to the index if it corresponds to the URL of an action (this is needed to make a distinction between \"selected\" and not \"selected\" actions)
Fixed the PortalTab Templet\'s cache index. Added a central cache management page that displays statistics for each theme.
Information about orphaned Templets is now displayed with the possibility to remove them from the cache. Orphaned Templets are objects that have stale entries in the cache, because the object associated with these entries no longer exists or because it is no longer cacheable. They result in memory leaks. In principle memory leaks can only be created when themes are edited from within the ZMI. Otherwise the theme editor takes care of invalidating the cache entries of a Templet whenever changes are performed on it (deletion, ...)
Bug fix: Made the RAMCache a UniqueObject. The cache\'s id would be overridden between portals otherwise.
- API: Renamed the \'meta_type\' attribute associated to styles as \'style\' to avoid confusions
- i18n: renamed the msgid \"_Name_\" to \"_Username_\" and \"_Theme name_\" since it was used in different contexts.
The \'Guest\' username now gets translated.
Updated the Italian translation to 2.2-rc3 (thanks to Fabio Nosari).
- CPS2/CPS3: Removed the vertical_padding option in Portal Box Groups. The \'padding\' property inherited from BaseTemplet is used instead.
- Tests: Added new functional tests (now totalling 96)
Removed the exceptions caught in the SiteError \'error_log\' when setting up tests since they broke some functional tests under Plone.
Fixed the ZChecker test.
Fixed some tests under Zope-2.7.2
- Bug fix: Fixed the \'visible up till ...\' visibility option
- Plone2: Added a \"tal:on-error\" condition when displaying macros (Plone portlets)
- CMF/Plone: Fixed the navigation information (using \'listFolderContents()\' to obtain folder contents in Plone) and \'contentValues()\' in CMF.
- Code cleaning and simplifications.
========================================================================== CPSSkins 2.2-rc2 (release candidate) Released: 2004-08-09
- RAM cache: Completed the implementation of the RAM caches (Templets, Javascript, CSS) All RAM caches are now 100% non-persistent and thread-safe. The RAM cache has been placed under the \'portal_themes\' tool, its structure is :
- portal_themes - theme1 - templets (RAMCache) - css (SimpleRAMCache) - javascript (SimpleRAMCache)
- theme2 - templets - css - javascript ...
Added a page in the ZMI that displays RAM cache statistics for each theme to help fine-tune the cache parameters with: - Templet name - Number of entries in the cache for this Templet - Total size (KB) - Cache lifetime (s) - Last cleanup
- Crash shield: Added a crash shield that displays a \"Broken Templet\" instead of crashing the entire page.
Templets can crash for two reasons: either because of a bug or because a theme has not been rebuilt properly after an upgrade. The crash shield makes it possible to rebuild themes through the Web from inside the theme editor instead of doing it through the ZMI.
If the rendering of a given Templet fails, the Templet will be rebuilt on-the-fly before being rendered again. If rebuilding the Templet fails or if the attempt to render the Templet fails again, a \'Broken Templet\' box will be displayed instead --- with a link to the error log.
This fallback mechanism makes it possible to rebuild Templets as soon as they are displayed. But it also simplifies and speeds up the code that renders the Templets since existence checks on attributes no longer need to be performed.
- ESI (Edge-Side-Includes) If ESI-support has been enabled for a given theme, an ESI HTTP header will be set:
Surrogate-Control: max-age=30+60,content=\"ESI/1.0\"
The use if ESI is independent of the theme renderer (default, compatible, automatic, text mode, ... )
All Templets are \"ESI-compliant\", they can be called directly with a \'context_rurl\' parameter if needed.
- Bug fixes:
CPS3: added missing \"main\" slot in emptybody documents (e.g. popup windows) Thanks to Steve Meaker (stevem [at] manitacc.com)
Theme chooser: theme names are now displayed.
Calendar Templet: The \"Use session to remember calendars state\" (set in the \'portal_calendar\' preference page) can now be used under CMF/CPS/Plone. (This will not work when using the original Plone calendar portlet)
Navigation CMF/Plone: Added a couple of permission checks (\'List folder contents\', \'view\') when performing folder listings.
Added a script that invalidates the RAM cache when exiting the theme editor. This is needed because the character coding might be different in edit mode (e.g. latin1 / utf-8) and some Templets remained in the cache with the wrong character coding.
- CSS: Collapsible menus can now be aligned as expected (left / center / right)
Calendars are not alignable anymore since the horizontal alignment makes no difference for them.
The SearchBox is not alignable anymore.
- Optimizations: Moved some logic out of main_template_... and into BaseTemplet.py (improves rendering times by about 1-2%)
- Accessibility: Added alt=\"...\" information to image boxes (the Templet\'s title)
- i18n: Templet type names in the toolbox now get translated.
- CPS2/CPS3: For Templets displaying navigation items, the list of starting paths is now restricted to objects located under the selected base. For instance:
if the folder base is \'sections\', only the paths beginning with \'/sections/...\' will be displayed (and not \'/workspaces/...\' or \'/\')
- Tests: Added more tests.
Added patches for CPS3 and Plone2 to apply to CPSTestCase and to PloneTestCase to run CPS3\'s or Plone2\'s unit tests on top of CPSSkins.
Added a ZChecker test for the skins.
See Misc/TESTING.TXT for further information.
- Profiler: The profiler output has been made more legible, showing page blocks and Templets titles. CPSSkins objects are marked with a \'CPSSkins:\' prefix.
Rendering times are displayed next to each Templet. Cached Templets are rendered in virtually 0 seconds (i.e. below the profiler\'s time precision)
0.0000: Start 0.0000: --------- [top] ---------------------------------- + 0.0000 0.0100: CPSSkins: banner.................................. + 0.0100 0.0300: CPSSkins: Theme Chooser Templet................... + 0.0200 0.0300: CPSSkins: welcome box............................. + 0.0000 0.0400: CPSSkins: search box.............................. + 0.0100 0.0400: CPSSkins: flags................................... + 0.0000 0.0400: --------- [Navigation] --------------------------- + 0.0000 0.0500: CPSSkins: level1.................................. + 0.0100 0.0800: CPSSkins: actionbox............................... + 0.0300 0.1000: CPSSkins: Breadcrumbs............................. + 0.0200 0.1000: --------- [Main Columns] ------------------------- + 0.0000 0.1000: Main Content............................ + 0.0100 0.1100: CPSSkins: Last modified........................... + 0.0100
...
0.1100: CPSSkins: footer.................................. + 0.0100 0.1100: Stop
========================================================================== CPSSkins 2.2-rc1 (release candidate) Released: 2004-08-03
Changes:
- RAM cache: Fine-tuned the cache index for higher effectivity and lower RAM usage.
Plone2: added support for PloneLanguageTool. The language code index used in the RAM cache is first obtained from the preferred language in PloneLanguageTool (if installed), or from HTTP_ACCEPT_LANGUAGE if PloneLanguageTool is not installed.
CMF/Plone1/CPS3: The language code index is obtained from (Localizer if installed) or from HTTP_ACCEPT_LANGUAGE if Localizer is not installed (CMF).
- Theme optimizer: The theme optimizer can now inform the user about Templets that are not using currently the cache with an option to enable it.
- CSS RAM cache The CSS cache gets invalidated whenever it is required (style creation, Templet creation, deletion, duplication, theme rebuild ...)
The CSS cache also accepts keywords (e.g. ns4=1, ie6=1, css=level3, ...) that are used to construct an aggregated index for accessing the cache. These keywords are then passed on to the script that renders the CSS code. This makes it possible to remove the logic from the stylesheet language (a.k.a. CSS hacks) and put it instead inside DTML or PythonScript.
The CSS rendering method uses a modified version of \'slimmer.py\' from CheckoutableTemplates to reduce the size of the CSS file (by ~5-10%).
- Javascript RAM Cache The javascript code used by some Templets is now inserted in the page header. The URL is called .../portal_themes//renderJS
The javascript code is stored in a RAM cache and can be invalidated with the \'invalidateJSCache()\' method.
If several Templets are using the same javascript code, the code will only be generated once and if no Templet uses Javascript at all then no code will be generated uselessly.
Like the CSS RAM cache, the JS RAM cache also accept parameters that are passed on to the scripts used to render the JavaScript code (typically DTML, or ZPT)
- Calendar Templet: It is now possible to display several Calendars on a same theme.
The Calendar Templet has been internationalized (i.e. month names and weekday abbreviations).
The previous/next month redirection has been rewritten to not include the current URL. This reduces the size of the RAM cache and speeds up rendering since the links need not be computed until the user actually clicks on them.
- Plone2: The \'breacrumbs.py\' script in CMFPlone is used to get the breadcrumbs information (title, url). This closes a couple of bugs encountered with third-party CMF/Plone products. The action titles in the Action Box Templets are now translated correctly.
- Theme editor: The theme editor now displayed the cached version of the Templets for better responsiveness.
The style preview screens have been internationalized.
The \'Simulate this URL ...\' option that allows to test the visibility of Templets and Cells based on URLs no longer appears in layout mode. It is only present in \'WYSIWYG\' mode and in the \'mixed\' mode. Page Blocks can now be inserted at the top of the screen.
Default styles: A default style can be defined for each style category. Default styles are automatically assigned to newly created Templets. If no default style is defined for a given category, the first available style in the category will be considered as the default style.
- Portal Box Templet: Added an \'Upcoming events\' box and a \'Pending documents\' box.
CMF/Plone: Documents without title (a.k.a \'empty documents\') no longer appear in folder listings.
- Document info: The last modification date is now displayed using the ISO date format.
- Installation / migration: The old cache (\'cpsskins-templet-cache\' and \'custom/cpsskins_render\') will be uninstalled.
Themes are now automatically rebuilt during migration.
- Tests: Added tests for all three i18n domains (\'cpsskins\', default\', \'plone\') (freely adapted from plone-i18n : http://cvs.sourceforge.net/viewcvs.py/plone-i18n/i18n/tests/ ) msgfmt.py is taken from PlacelessTranslationService
- Themes: All themes have been updated to match the current release. The RAM cache lifetimes have been fine-tuned, but the cache is not enabled on URL-dependent Templets.
Default styles have been defined.
CPS3: updated the \'LightSkins\' theme.
- Tested with: - the latest CMF (1.4.6) and Zope 2.7.2 - Plone cvs 2004-08-01 (upcoming 2.0.4 release) - CPS3 cvs 2004-08-01 (upcoming 3.1.5 release)
CPSSkins also works with older Zope versions (tested with 2.6.1) and python 2.1
========================================================================== CPSSkins 2.1.10 (development version) Released: 2004-07-27
Changes:
- RAM Cache The RAM caching mechanism has been refactored. The Zope RAM Cache Manager is no longer involved and every Templet uses a built-in cache instead. The efficiency of the cache has been improved and URL-dependent Templets can now be cached. The caching of Templets is now determined by a collection of variables that are needed to discriminate between users, urls, languages, etc. which typically are REQUEST variables.
The list of variables changes dynamically depending on the Templet\'s own properties.
For instance the Breadcrumbs Templet uses: - the id of the authenticated user (AUTHENTICATED_USER) - the current path (PATH_TRANSLATED) - the code of the selected language only if the Templet can be translated.
This information is returned as a tuple by the Templet using the \'getCacheIndex()\' method. The result is then used as an aggregated index to access the cache dictionary.
The Templet\'s cache only gets invalidated when the cache\'s lifetime has expired or when a Templet has been edited (no cleaning is otherwise performed on a regular basis). Statistics should therefore be checked for memory usage during the fine-tuning process to avoid consuming too much RAM.
- Caching of style sheets: The CSS document generated by CPSSkins is now cached in RAM for faster rendering (typically 0.01 to 0.05 seconds per request) This also makes it possible to put more logic within the CSS generation and to reduce the size of the stylesheets.
The CSS RAM cache is only refreshed when invalidated, i.e. basically when a style has been edited.
- Cache manager: The internal RAM cache no longer needs to be turned on to start operating. The determining factor is now whether a Templet is cacheable or not.
To force the cleaning of the cache of all Templets it is possible to use the \"Clear the cache\" button.
- CPS3: Added a \'Display hidden folders\' option to the Portal Box Templet in \'folder\' mode. If the option is turned on, hidden folders will be displayed, but rendering will be faster since the getContent() method will not be called and only CPS3 proxies will be used.
- UI: Menus tabs, Templet boxes and buttons in the theme editor now have rounded corners under Mozilla, Firefox (using the -moz-border-radius CSS extension)
- i18n: Added German translation of CPSSkins 2.1.9 (thanks to Stefan Undorf)
========================================================================== CPSSkins 2.1.9 (development version) Released: 2004-07-25
Changes:
- Optimizations:
Theme editor: The theme edition pages have been optimized for faster rendering (mostly ZPT)
Plone2: CMF actions are now stored in a session variable as with CMF/Plone1/CPS2/CPS3. This had been overlooked in skins/cpsskins_plone2/main_template.pt which slowed down theme rendering under Plone2 since \'listFilteredActionsFor(here)\' needed to be called for every Templet that used CMF Actions.
The code that renders the Action Box with CMFActions has been refactored.
- Enhanced RAM Cache: The caching mechanism has been refactored for better granularity control: Enabling the cache can easily improve performance by 20-40% which makes CPSSkins extremely fast (typically 0.1s to 0.2s per request under CMF/CPS3)
Individual caching of Templets: It is now possible to set an individual cache lifetime ranging from 5 minutes to 1 hour on every Templet (higher values are not realistic). Logos, footers and static parts\' lifetimes can be set to 1 hour. News boxes, folder menus and the calendar can be assigned a lifetime of 15 or 30 minutes. All cache entries corresponding to a given Templet are invalidated when when the Templet\'s cache lifetime expires. I18n: RAM caching now also works with multilingual sites. A session variable called \'cpsskins_language\' is set to the language code of the selected language. It is obtained from the \'LOCALIZER_LANGUAGE\' http cookie value if Localizer is installed. Otherwise the first entry of \'HTTP_ACCEPT_LANGUAGE\' is used. The actual caching is done by calling a script (\'.../custom/cpsskins_render\') to render the Templets instead of calling templet.render() directly. The \'context\' value is used to discriminate between Templets. Two other session variables are used: \'AUTHENTICATED_USER\' to discriminate between users and \'cpsskins_language\' for the multilingual sites.
The \'PATH_TRANSLATED\' variable is not currently being used. As a consequence URL-dependent Templets (Breadcrumbs, About Box...) cannot be cached. But in most cases this makes no difference on performance unless the site consists of only 5 or 10 pages. A possible future implementation would be to use a specific RAM cache for URL-dependent Templets.
Templets that cannot be cached using this method because they rely on macros (Main Content, Portal Box Groups) are no longer shown as cacheable.
Cache manager: The cache management page has been redesigned to include cache lifetimes.
Statistics are displayed to inform on the cache memory usage and its effectivity calculated as: (initial entries are counted as misses)
(hits - misses + entries) * 100 / (hits + misses)
A button has been added to invalidate the cache (named as \'Clear the cache\') to remove all entries.
- ESI (Edge-Side-Includes) Initial support has been included for Edge Side Includes. Templets marked as \'ESI fragments\' are rendered as a directives. ESI must first be enabled in the theme\'s settings.
The implementation is not complete: - not all Templets can be rendered as fragments yet. - the ESI header (\'Surrogate-Control\',\'...,content=\"ESI/1.0\"\') is not set yet.
- Customization: The static stylesheets used be CPSSkins (\'cpsskins_common.css\' and \'cpsskins_common-css2\') have been moved to the site root for easier customization. These contain CSS properties that are not generated from styles.
- User interface: Newly created themes are now initially displayed in layout mode.
The green \"Add ... \" buttons have been redesigned.
An icon is now used to represent External Themes.
A shortcut to images (backgrounds & icons) has been added inside the style edit form.
- i18n: updated the Italian translation (thanks to Fabio Nosari)
========================================================================== CPSSkins 2.1.8 (development version) Released: 2004-07-22
Changes:
- Optimizations: The edit form displayed in theme edition mode has been optimized, it has a much better responsiveness.
- Bug fixes: ImageBox: fixed an acquisition bug that made it impossible to edit some image boxes.
Cache manager: finalized the code to reflect API changes introduced in 2.1.7 Theme optimizer: finalized the code to reflect API changes introduced in 2.1.7
Collapsible menus: the selected sub-menus are now correctly displayed as selected.
- New features:
Theme optimizer: it is now possible to see the list of Templet items getting translated (images, folder titles, folder items, breadcrumns, etc.) and deselect those that need not be translated.
Breadcrumbs: added an option to display a contextual icon at the start of the navigation trail.
- CPS3: removed folders with titles beginning with a \'.\' from path lists.
- i18n: the list of choices for the appearance of the Action Bar (text only, icons, text and icons) is now internationalized.
========================================================================== CPSSkins 2.1.7 (development version) Released: 2004-07-17
Changes:
- Optimizations: after some refactoring of the main page templates theme rendering is now approx. 4-5% faster.
NB: additional 6% speed optimizations have been done under CPS3 by fetching document proxies directly instead of calling getContentInfo().
- i18n: Localized images. The image shown in the ImageBox Templet can now be translated. This can be used to display localized banners, logotypes, ...
To enable this option, select \"Translate the image\" in the Templet\'s property form. Once the option is selected, all newly uploaded images will be saved in a container under different ids (\'i18n_image_xx\') where \'xx\' is the language code of the current language.
If no localized image exists for the current language then the default version of the image will be displayed instead, i.e. the Templet\'s original image.
All images are saved inside the same Templet, hence they are managed as if there was only one image: if the Image Box is moved, all i18n images will be moved along, etc.
- Made the copy of Templets from one theme to another more robust: Style names will be modified if necessary and the copied Templet\'s style properties will be updated accordingly.
- CMF/Plone: merged a patch sent by Olle Olson: * to take into account site URLs beginning with \'//\' * to get the Collapsible Menus to work more often * to filtered out unpublished content depending on the user\'s role
the file changed is \'skins/cpsskins_cmf/cpsskins_getNavigationInfo.py\'
- fixed a bug in the theme rebuild method.
========================================================================== CPSSkins 2.1.6 (development version) Released: 2004-07-12
Changes:
- Optimizations: theme rendering is now approx. 5% faster. This is mainly due to using declarePublic(...) instead of declareProtected(View,...) in the methods used for Theme rendering.
- Theme management: The Theme rebuild process has been highly improved:
* Only the nececessary updates are applied which highly reduces rebuild times when a Theme already is up-to-date with the current release.
* The Theme\'s sanity is now thoroughly checked. Objects that are not allowed will be moved to current Theme\'s lost+found folder called \'LOST-AND-FOUND\'. Broken objects originating from uninstalled products are deleted. (this might change if there is a way to move them to the lost+found folder)
* Imported themes are no longer set as default.
* Resetting permissions on the Theme\'s objects is now optional. This can be done through the ZMI by checking the \'Reset all permissions\' button.
Rebuild times are now: ~ 0.5s on themes that are up-to-date with the current release. ~ 1.5s on themes that are up-to-date - when resetting permissions. ~ 10s on very old themes (these were created about a year ago)
- Theme creation:
* Default styles are now automatically set on newly created Templets
* Templets can now be drag and dropped between one Theme and another.
This option makes it possible to design reference Themes that are not necessarily functional but that can be used to create other Themes by reusing the Templets (and thus the Styles) inside other Themes.
Not only the Templets get copied but the Styles and all the images used in it (backgrounds, icons, ...) also get copied.
Images are copied only once: if they are already present in the destination Theme they will not be duplicated unnecessarily.
Styles are copied even if they are already present in the destination theme. Identical styles resulting from being copied several times can be merged afterwards in the \"Theme Optimization\" panel. There is still an issue with Styles that have identical names.
- CMF/Plone:
The \'+\' sign displayed next to folder tabs can now be used as a shortcut to add items inside the current folder. (this is a link to \'.../folder_factories\')
Selected tabs are now displayed as selected.
========================================================================== CPSSkins 2.1.5 (development version) Released: 2004-07-09
Changes:
- UI: added a new type of Templet called \'Portal Tab\'. The Portal Tab Templet uses horizontal tabs to displays folder contents or actions, etc. It is a simplified version of the Portal Box Templet which displayed tabs by being oriented horizontally.
Graphically, the Templet relies entirely on CSS background images which makes it possible to show tabs with rounded corners.
The rendering technique is inspired from a method used on CNET.com. It has been tested and it works on Mozilla, IE, Konqueror and Opera.
HTML markup:
CSS code: see skins/CPSSkins/cpsskins_portaltabstyle.dtml
Style/layout options: - horizontal padding - vertical padding - horizontal margin - bottom border color - bottom border color [selected tab]
5 images can be used: - left-side image - right-side image - left-side image [selected tab] - right-side image [selected tab] - background image behind the tabs
The default themes included in this release have been updated. They include a style of tabs inspired from MacOSX.
To install the Portal Tab Templet on an existing site it is necessary to run the \'cpsskinsupdate\' script first.
- Theme creation: added a Templet toolbar at the top of the control panel that simplifies the creation of new Templets by using the \"drag-and-drop\" technique. To add a new Templet, simply move it from the toolbox to the canvas.
- Portal Box Templets can now be aligned horizontally (left, center, right) by using the contextual menu. This used to be taken care of by the Portal Box Shape style. As a consequence of upgrading to 2.1.5 some Templets may need to be re-aligned. Also a Theme rebuild is recommended to update all the settings.
- i18n: updated the Italian translation to CPSSkins 2.1.4 (Thanks to Fabio Nosari)
- l10n: the display style of the box title is now called \'Box width\' and \'Title width\' instead of \'block\' and \'inline\'.
- CPS3: the box management panel works better with IE.
- Bugs: added a missing \'render_action\' for Collapsible Menus which caused them to be shown as \"broken templets\"
Updated some scripts for them to work without CMFActionIcons (since the product is optional)
========================================================================== CPSSkins 2.1.4 (development version) Released: 2004-07-07
Changes:
- Theme management: added support for \"external themes\". External themes are themes that are located on an external server (WWW or FTP server). They can be installed directly over the Internet without first being saved on the filesystem.
An external theme has a theme ID (Zope Id) and a theme URL which is the address of a CPSSkins theme in .zexp format located on the remote server. The current implementation supports URLs beginning with http://___, https://___ and ftp://___ .
The update process can be automated (e.g. with UNIX cron)
========================================================================== CPSSkins 2.1.3 (development version) Released: 2004-07-04
Changes:
- Optimizations: theme rendering is now approx. 8% faster. This is due to a couple of optimizations:
The Text Box has been optimized (converted ZPT to python script) The text format can now be set to plain text, to HTML, or to Structured Text which means that there is at most only one conversion. The default text format is HTML (i.e. no conversion).
The Image Box has been optimized (converted ZPT to python script)
The Action Box that displays action icons has been optimized (the information about action icons is only fetched once)
14 python scripts have been moved from skin directories to class methods for faster page loading in theme edition mode.
The main rendering templates (cpsskins_main_template_...) have been optimized.
- i18n: some of the Templet items are now optionally translated:
Added an option to the Text Box Templet to enable the translation of the text.
Added an option to the Portal Box Templet showing folder contents to enable the translaton of folder items (\'Translate folder items\')
Added an option to the Portal Box Templet to enable the translation of the box title. (\'Translate the box title\')
Added an option to the Breadcrumbs Templet to enable the translation of the navigation trail (\'Translate the breadcrumbs\')
========================================================================== CPSSkins 2.1.2 (development version) Released: 2004-06-28
Changes:
- Optimizations: theme rendering is now approx. 5-6% faster (this is measured on an average of 18 reference themes)
The rendering of the dynamic stylesheets has been optimized by 2-3%.
- CPS3: added drag-and-drop functionality and contextual menus to CPS3\'s box management panel. New boxes can easily be added onto the box canvas and moved between the different box slots.
Updated CPSSkins/skins/cpsskins_cps3/main_template.pt to ensure compatibility with CPSDefault from cvs 2004-06-25.
- Dependencies: removed the dependency on OrderFolderSupportPatch. CPSSkins can now be installed on CMF/Plone without OrderFolderSupportPatch.
- Portal Boxes: added a new layout for language selection that displays language names instead of country flags.
Bug fix: corrected a bug in Plone2\'s Language Box.
- Tests: made the functional tests more robust
- Misc: converted some menu images from PNG to GIF for a nicer rendering under IE.
Some refactoring / code cleaning
========================================================================== CPSSkins 2.1.1 (development version) Released: 2004-06-24
Changes:
- User interface: Upgraded the PDLib javascript UI library to version 0.3. PDLib is used for contextual menus and the drag and drop functionality. This version has a much better support for IE. The code is taken from Shane Hathaway\'s \'CompositePage-0.2\' product (see COPYRIGHT.TXT).
Contextual menus can now be displayed with a right mouse click. The Templet\'s title and icon is also shown in the contextual menu. To edit a Templet, right-click on it and select the \'Edit\' menu item.
The links used inside a Templet are now inactive which means that clicking on a Templet will always trigger the contextual menu.
- Added a new box layout called \'Drawer box\' which displays portal boxes with arrows that can be opened and closed as a drawer. Individual users can open and close the boxes that use this layout, cookies must be enabled. Box states (open/closed) are not persistent.
The layout also exists as \'Drawer box without title\'.
- i18n: Updated the Italian translation. Thanks to Fabio Nosari and PiCo.
Updated the Spanish translation. Thanks to \\301lvaro Tejero Cantero
- Misc: All permissions used by CPSSkins are now declared in CPSSkinsPermissions.py
- Bug fix: fixed a bug in the Calendar Templet that occured on events spanning several days
========================================================================= CPSSkins 2.1.0 (development version) Released: 2004-06-20
Changes:
- Optimizations: the \'render\' action for Templets and Styles objects can now be called directly without using CMF by explicitly specifying the render method\'s name in a variable called \'render_action\'. This improves rendering times by approx. 3%.
Example:
========== TextBox.py ========== class TextBox(BaseTemplet): \"\"\"Text Box Templet.\"\"\"
meta_type = \'Text Box Templet\' portal_type = \'Text Box Templet\'
render_action = \'cpsskins_textbox\' ...
Besides, \'meth = getattr(self, render_action)\' is used instead of: \'meth = self.restrictedTraverse(render_action)\'
- i18n: select options shown in the theme edition mode can now be translated. A boolean property called \'i18n\' has been added which if it is true will cause option names to be translated as \'_option_...\'.
Example:
============== BaseTemplet.py ============== _properties = ( ... {\'id\': \'visibility\', \'type\': \'selection\', \'mode\': \'w\', \'label\': \'Visibility criteria\', \'select_variable\': \'cpsskins_visibilityList\', \'category\': \'visibility\', \'default\': \'always\', \'i18n\': 1, }, ... )
========================== cpsskins_visibilityList.py ========================== list = [\'always\', \'everywhere_except_in\', \'only_in\', \\ \'starting_from\', \'up_till\', \'if_authenticated\', \'if_anonymous\', \\ \'if_secure_connection\' ]
return list
============== cpsskins-en.po ============== msgid \"_option_always_\" msgstr \"Always\" msgid \"_option_everywhere_except_in_\" msgstr \"Everywhere except in ...\"
- Added an option called \'Folder title\' to specify the source of Portal Box titles. This option works only with boxes that display folder contents.
- The contextual menu now only shows a list of styles that are applicable to a given Templet. For instance the \"Calendar Style\" option will be only shown when right-clicking on a Calendar Templet.
- Added an option called \'Hide current language\' in the Language Templet which when selected will cause the country flag corresponding to the current language to be hidden
- Added 15 functional tests that are run as Member, Manager, Theme Manager. Not all tests pass under CMF/Plone
- Unauthorized users that attempt to view theme management pages are now redirected to the login form.
- Some cleaning / refactoring
|
|
|