root/CPS3/products/CPSSkins/trunk/HISTORY

Revision 53102, 60.3 kB (checked in by madarche, 7 months ago)

merging changes from https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.15.4

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 ===========================================================
2 Package: CPSSkins 2.15.4
3 ===========================================================
4 First release built by: madarche at: 2008-11-23T22:17:58
5 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.15.4
6 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@53051
7
8 Requires
9 ~~~~~~~~
10 -
11 New features
12 ~~~~~~~~~~~~
13 -
14 Bug fixes
15 ~~~~~~~~~
16 - #1905: Not enough room in CPSSkins forms to write custom HTML.
17 - Fixed French translation "Image de la legende" -> "Legende de l'image".
18 New internal features
19 ~~~~~~~~~~~~~~~~~~~~~
20 -
21
22 ===========================================================
23 Package: CPSSkins 2.15.3
24 ===========================================================
25 First release built by: madarche at: 2008-02-22T15:56:05
26 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.15.3
27 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@52586
28
29 Requires
30 ~~~~~~~~
31 -
32 New features
33 ~~~~~~~~~~~~
34 -
35 Bug fixes
36 ~~~~~~~~~
37 - Removed useless and too constraining CSS directive
38   "div p {margin: 0;  padding: 0;}".
39 New internal features
40 ~~~~~~~~~~~~~~~~~~~~~
41 -
42
43 ===========================================================
44 Package: CPSSkins 2.15.2
45 ===========================================================
46 First release built by: madarche at: 2008-01-18T21:37:11
47 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.15.2
48 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@52476
49
50 Requires
51 ~~~~~~~~
52 -
53 New features
54 ~~~~~~~~~~~~
55 -
56 Bug fixes
57 ~~~~~~~~~
58 - Fixed the "ThemeManager" role.
59 New internal features
60 ~~~~~~~~~~~~~~~~~~~~~
61 -
62
63 ===========================================================
64 Package: CPSSkins 2.15.1
65 ===========================================================
66 First release built by: madarche at: 2008-01-15T12:30:19
67 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.15.1
68 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@52448
69
70 Requires
71 ~~~~~~~~
72 -
73 New features
74 ~~~~~~~~~~~~
75 -
76 Bug fixes
77 ~~~~~~~~~
78 - Updated the doc/benchmarking.txt.
79 New internal features
80 ~~~~~~~~~~~~~~~~~~~~~
81 -
82
83 ===========================================================
84 Package: CPSSkins 2.15.0
85 ===========================================================
86 First release built by: madarche at: 2007-10-19T15:16:38
87 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.15.0
88 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@52088
89
90 Requires
91 ~~~~~~~~
92 -
93 New features
94 ~~~~~~~~~~~~
95 -
96 Bug fixes
97 ~~~~~~~~~
98 -
99 New internal features
100 ~~~~~~~~~~~~~~~~~~~~~
101 - Work on translations "Valencià-Català", "Galician" and "Portuguese".
102
103 ===========================================================
104 Package: CPSSkins 2.14.4
105 ===========================================================
106 First release built by: div at: 2007-04-20T11:58:16
107 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.14.4
108 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@51588
109
110 Requires
111 ~~~~~~~~
112 -
113 New features
114 ~~~~~~~~~~~~
115 -
116 Bug fixes
117 ~~~~~~~~~
118 - Taking advantage of the newer CPSI18n/bin/update_pos.
119 New internal features
120 ~~~~~~~~~~~~~~~~~~~~~
121 -
122
123 ===========================================================
124 Package: CPSSkins 2.14.3
125 ===========================================================
126 First release built by: madarche at: 2007-04-06T17:23:41
127 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.14.3
128 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@51468
129
130 Requires
131 ~~~~~~~~
132 -
133 New features
134 ~~~~~~~~~~~~
135 -
136 Bug fixes
137 ~~~~~~~~~
138 - #1826 : "CPSSkins selector panels can't be closed if one doesn't want to
139   select a proposed choice".
140 - Setting the text inputs size to a bigger size than their actual display size
141   so that they are more usable especially when setting font definitions which
142   are very long.
143 - Fixed XHTML validity : "onClick" is not a valid attribute, one should use
144   "onclick".
145 New internal features
146 ~~~~~~~~~~~~~~~~~~~~~
147 -
148
149 ===========================================================
150 Package: CPSSkins 2.14.2
151 ===========================================================
152 First release built by: div at: 2007-04-03T20:52:53
153 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.14.2
154 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@51445
155
156 Requires
157 ~~~~~~~~
158 -
159 New features
160 ~~~~~~~~~~~~
161 -
162 Bug fixes
163 ~~~~~~~~~
164 - Fixed #1824 : Designing a web site theme is difficult because of empty columns
165   taking space. A new "hidden_empty" property has been added to CellBlock. This
166   property is False by default to not break existing themes appearance.
167 New internal features
168 ~~~~~~~~~~~~~~~~~~~~~
169 -
170
171 ===========================================================
172 Package: CPSSkins 2.14.1
173 ===========================================================
174 First release built by: div at: 2007-03-26T20:48:17
175 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.14.1
176 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@51414
177
178 Requires
179 ~~~~~~~~
180 -
181 New features
182 ~~~~~~~~~~~~
183 -
184 Bug fixes
185 ~~~~~~~~~
186 - Better cpsskins_addportlet_form create button style and HTML.
187 New internal features
188 ~~~~~~~~~~~~~~~~~~~~~
189 -
190
191 ===========================================================
192 Package: CPSSkins 2.14.0
193 ===========================================================
194 First release built by: div at: 2007-03-14T12:26:15
195 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.14.0
196 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@51329
197
198 Requires
199 ~~~~~~~~
200 -
201 New features
202 ~~~~~~~~~~~~
203 -
204 Bug fixes
205 ~~~~~~~~~
206 -
207 New internal features
208 ~~~~~~~~~~~~~~~~~~~~~
209 - update doc
210
211 ===========================================================
212 Package: CPSSkins 2.13.3
213 ===========================================================
214 First release built by: gracinet at: 2007-02-06T14:46:29
215 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.13.3
216 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@50983
217
218 Requires
219 ~~~~~~~~
220 -
221 New features
222 ~~~~~~~~~~~~
223 -
224 Bug fixes
225 ~~~~~~~~~
226 - Fixed #1808 : Box rendered even if empty.
227 - Disabled the testI18N tests until the CPSSkins .po files are fixed (many
228   translations are empty) so that the buildbot can useful.
229 New internal features
230 ~~~~~~~~~~~~~~~~~~~~~
231 -
232
233 ===========================================================
234 Package: CPSSkins 2.13.2
235 ===========================================================
236 First release built by: div at: 2006-12-19T20:18:33
237 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.13.2
238 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@50655
239
240 Requires
241 ~~~~~~~~
242 -
243 New features
244 ~~~~~~~~~~~~
245 -
246 Bug fixes
247 ~~~~~~~~~
248 - In the rendering of boxes fixed wrong use of python extend : should use
249   append.
250 New internal features
251 ~~~~~~~~~~~~~~~~~~~~~
252 -
253
254 ===========================================================
255 Package: CPSSkins 2.13.1
256 ===========================================================
257 First release built by: gracinet at: 2006-12-17T23:24:08
258 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.13.1
259 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@50623
260
261 Requires
262 ~~~~~~~~
263 -
264 New features
265 ~~~~~~~~~~~~
266 -
267 Bug fixes
268 ~~~~~~~~~
269 - Added missing German translations.
270 New internal features
271 ~~~~~~~~~~~~~~~~~~~~~
272 -
273
274 ===========================================================
275 Package: CPSSkins 2.13.0
276 ===========================================================
277 First release built by: gracinet at: 2006-11-16T18:18:00
278 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.13.0
279 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@50008
280
281 Requires
282 ~~~~~~~~
283 -
284 New features
285 ~~~~~~~~~~~~
286 - Added the orientation property to the Portal Box Group Templet.
287 Bug fixes
288 ~~~~~~~~~
289 - Made the render of the PortalBoxGroup more resilient when the charset is
290   unknown. It happens on some client configurations. No time to investigate
291   more.
292 - [packaging] bundleman svn property.
293 New internal features
294 ~~~~~~~~~~~~~~~~~~~~~
295 -
296
297 ===========================================================
298 Package: CPSSkins 2.12.1
299 ===========================================================
300 First release built by: ogrisel at: 2006-10-04T21:18:27
301 SVN Tag: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/tags/2.12.1
302 Build from: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk@49317
303
304 Requires:
305 ~~~~~~~~~
306 -
307 New features:
308 ~~~~~~~~~~~~~
309 -
310 Bug fixes:
311 ~~~~~~~~~~
312 - #1746 the scripts required by a portlet were not always appearing in
313   '.../cpsskins_renderJS'.
314 - Upgrade steps for Flash/Image Box Templates used to fail while upgrading
315   from CPS 3.2 pure CPSBoxes instances
316 New internal features:
317 ~~~~~~~~~~~~~~~~~~~~~~
318 -
319
320 *******************************************
321 ** CPSSkins V2.12.0 [R1 build 2006/09/04-09:41 by gracinet]
322 ** SVN URL: http://svn/pub/CPS3/products/CPSSkins/trunk Revision: 48695
323 Requires:
324 ~~~~~~~~~
325 -
326 New features:
327 ~~~~~~~~~~~~~
328 -
329 Bug fixes:
330 ~~~~~~~~~~
331 - Radio/checkbox buttons were not rendered correctly using IE.
332 - Fixed GenericSetup export/import of Flash Box Templets and probably of
333   Image Box Templets made in CPS < 3.4.0 (CPSSkins <= 2.7.0).
334   Upgrade the existing ones before any export.
335 New internal features:
336 ~~~~~~~~~~~~~~~~~~~~~~
337 - Minor zpt change: avoid accessing id attribute of documents for security
338   issues.
339 - Upgrade code for Flash and Image Box Templets. Can be registered as a CPS
340   upgrade step.
341
342 *******************************************
343 ** CPSSkins V2.11.2 [R1 build 2006/08/07-16:44 by fermigier]
344 ** SVN URL: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk Revision: 48094
345 Requires:
346 ~~~~~~~~~
347 -
348 New features:
349 ~~~~~~~~~~~~~
350 -
351 Bug fixes:
352 ~~~~~~~~~~
353 -
354 New internal features:
355 ~~~~~~~~~~~~~~~~~~~~~~
356 -
357
358 *******************************************
359 ** CPSSkins V2.11.1 [R1 build 2006/08/07-16:41 by fermigier]
360 ** SVN URL: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk Revision: 48088
361 Requires:
362 ~~~~~~~~~
363 -
364 New features:
365 ~~~~~~~~~~~~~
366 -
367 Bug fixes:
368 ~~~~~~~~~~
369 - Synchronized lang templet behavior with portlet's: flushes the session
370 New internal features:
371 ~~~~~~~~~~~~~~~~~~~~~~
372 -
373
374 *******************************************
375 ** CPSSkins V2.11.0 [R1 build 2006/08/03-09:30 by fermigier]
376 ** SVN URL: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk Revision: 47855
377 Requires:
378 ~~~~~~~~~
379 -
380 New features:
381 ~~~~~~~~~~~~~
382 - Make it possible to configure the charset through portal.default_charset,
383   'unicode' means do no encoding.
384 - #1702: Added new Catalan translation thanks to Santi Camps.
385 Bug fixes:
386 ~~~~~~~~~~
387 - Fixed encoding in cpsskins_language.pt.
388 - Fixed wording in French po file.
389 New internal features:
390 ~~~~~~~~~~~~~~~~~~~~~~
391 -
392
393 *******************************************
394 ** CPSSkins V2.10.1 [R1 build 2006/05/19-13:07 by fermigier]
395 ** SVN URL: https://svn.nuxeo.org/pub/CPS3/products/CPSSkins/trunk Revision: 45740
396 Requires:
397 ~~~~~~~~~
398 -
399 New features:
400 ~~~~~~~~~~~~~
401 -
402 Bug fixes:
403 ~~~~~~~~~~
404 - Fixed an XHTML validity bug in Language Templet.
405 - #1577: portal tabs display was wrong when the depth was greater than 1 if
406   "horizontal box without title" layout was used
407 - Updated brazilian portugese translations (thanks to mo.menezes@gmail.com).
408 - Fixed #1573: The lang selector is not accessible, by redefining
409   cpsskins_language.pt in the CPS3 dedicated skin to able to take full advantage
410   of the CPS translation service.
411 New internal features:
412 ~~~~~~~~~~~~~~~~~~~~~~
413 -
414
415 *******************************************
416 ** CPSSkins V2.10.0 [R1 build 2006/03/03-17:30 by ben]
417 ** SVN URL: https://svn.nuxeo.org/pub/CPSSkins/trunk Revision: 33855
418 Requires:
419 ~~~~~~~~~
420 -
421 New features:
422 ~~~~~~~~~~~~~
423 -
424 Bug fixes:
425 ~~~~~~~~~~
426 - Add new layout, horizontal_box_notitle to handle right/left/center
427   items alignment;
428 - Plone2: the macroless skin was missing.
429
430 New internal features:
431 ~~~~~~~~~~~~~~~~~~~~~~
432 - added the hability to purge the method_theme property
433
434 *******************************************
435 ** CPSSkins V2.9.1 [R1 build 2006/02/17-20:48 by fermigier]
436 ** SVN URL: https://svn.nuxeo.org/pub/CPSSkins/trunk Revision: 33086
437 Requires:
438 ~~~~~~~~~
439 -
440 New features:
441 ~~~~~~~~~~~~~
442 -
443 Bug fixes:
444 ~~~~~~~~~~
445 - Fix some unit tests.
446 New internal features:
447 ~~~~~~~~~~~~~~~~~~~~~~
448 -
449
450 *******************************************
451 ** CPSSkins V2.9.0 [R1 build 2006/02/17-20:25 by fermigier]
452 ** SVN URL: https://svn.nuxeo.org/pub/CPSSkins/trunk Revision: 32986
453 Requires:
454 ~~~~~~~~~
455 -
456 New features:
457 ~~~~~~~~~~~~~
458 - #1365: added new CSS properties to font shape, font color, form style.
459 Bug fixes:
460 ~~~~~~~~~~
461 - #1343 sessions have been replaced by cookies to store transient information.
462 - cps-3.3 is no longuer set as default (since 'default' is already the default
463   theme) in the 'cps3' profile
464 - #1369: "Unused portlets" page was broken
465 - part of #1290: remove empty space in folder_view -> move contentwell templet
466   above main_content templet
467 - #1358: replaced RSS templet/portlet with a WAI templet/portlet
468 - #1392: Main Content Templet was not rendered inside cell block in macroless
469          mode. The templet was not visible in editing mode either.
470 - #1315: enabled visibility creteria for Plone2 w/ Linguaplone
471 - #1415: implement GenericSetup I/O for Method Themes used by portal_themes
472 - the Main Content templet did not pass options from the calling template
473 - Main content templet: added the header and the sub slot.
474 - the templet's title is not inserted in the templet's 'title' attribute
475   since it can trigger a UnicodeDecodeError.
476 - string values returned by getViewMode() were encoded in unicode
477 New internal features:
478 ~~~~~~~~~~~~~~~~~~~~~~
479 - added extension profile for themes to be used by CPS
480 - the effective theme and page information is cached in the REQUEST
481 - the portlet cache is cleared when exiting the theme manager.
482
483 *******************************************
484 ** CPSSkins V2.8.0 [R1 build 2006/01/23-17:31 by fermigier]
485 ** SVN URL: https://svn.nuxeo.org/pub/CPSSkins/trunk Revision: 31976
486 Requires:
487 ~~~~~~~~~
488 -
489 New features:
490 ~~~~~~~~~~~~~
491 - #928 added a label for the current screen name (portlet editor / theme editor)
492 - #1024 fixed the tableless renderer when no cell width is specified
493 - #1077 portlets that are invisible because of the portlet guard are visible
494   in the portlet editor.
495 - GenericSetup-based import/export of themes. Requires GenericSetup >= r41050
496 Bug fixes:
497 ~~~~~~~~~~
498 - Fixed redirection in cpsskins_setcookie if the referer is ''.
499 - Made the "CPS3 Default theme" tabs behave well with very short and very long
500   titles (from 1 to 100 letters).
501 - #821 the search box templet in the CPS3 default theme is no longer set in the
502   cache for one hour by default.
503 - #1165 Added a 'content_well' slot in the 'printable' and in the 'autumn'
504   themes
505 - Fixed #1149: provide easy navigation between the theme tool management screen
506   and the portlet management screen through links and accesskeys.
507 - Added a permission check on the access to the Portlet editor.
508 - #1210 fixed bullets display problem and converted all icons and backgrounds
509   in the default theme to PNG
510 - #1274 fixed the rendering of the portlet box edit form
511 - Removed dependency to CPSBoxes property cps_is_portalbox in profile
512 - expire the cache entries when the portlet box templet is updated.
513 New internal features:
514 ~~~~~~~~~~~~~~~~~~~~~~
515 - Got rid of some warnings in test output.
516 - Removed support for CPSBoxes, updated the default CPS3 theme to have it
517   work without boxes.
518 - Improved session behaviour by avoiding potential conflicts when nothing
519   interesting is actually in the session.
520 - CPS css_slot was renamed style_slot to comply with later CMF/Zope 3 standard.
521 - i18n: upgraded to i18ndude 2.0 - updated the Makefile's i18n section
522 - Changed ImageBox templet to always store its image as a subobject.
523
524 *******************************************
525 ** CPSSkins V2.7.0 [R1 build 2005/11/07-15:26 by fguillaume]
526 ** SVN URL: https://svn.nuxeo.org/pub/CPSSkins/trunk Revision: 29058
527 Requires:
528 ~~~~~~~~~
529 -
530 New features:
531 ~~~~~~~~~~~~~
532 - updated Brazilian Portuguese translations (Thanks to Mario Olimpio de Menezes
533   <mario [at] curiango.ipen.br>)
534 - added invisible Text Templets with <div id="content"/> and <div id="menu"/>
535   for accesskeys targets in CPS3-Default theme.
536 Bug fixes:
537 ~~~~~~~~~~
538 - PortalBoxGroup render method crashed translating the box title if string
539   could no be encoded in iso-8859-15.
540 - #1026 added missing utool declaration.
541 - #1050 the theme optimizer proposed the deletion of styles used by theme pages
542 - Fixed PortalThemesTool.renderAccessKeys so that it produces XHTML 1.0 Strict
543   valid output.
544 - Added support for rendering accesskeys defined in an external CPS vocabulary.
545   This fixes #983.
546 - #1095 replaced CSS3's 'overflow-x' with 'overflow' in the tableless renderer.
547 New internal features:
548 ~~~~~~~~~~~~~~~~~~~~~~
549 -
550
551
552 *******************************************
553 ** CPSSkins V2.6.0 [R1 build 2005/09/21-15:22 by fguillaume]
554 ** SVN URL: https://svn.nuxeo.org/pub/CPSSkins/trunk Revision: 27306
555 Requires:
556 ~~~~~~~~~
557 - TranslationService > 0.9.1
558 New features:
559 ~~~~~~~~~~~~~
560 -
561 Bug fixes:
562 ~~~~~~~~~~
563 - moveToLostAndFound() did not get the correct container of objects
564   moved to the lost-and-found folder.
565 - Box states were not set properly on boxes (drawer box layout) because
566   the page's id was missing.
567 - getIcon(relative_to_portal=1) instead of getIcon() was called on some CMF
568   type information.
569 - avoid raising UnAuthorized exceptions when users are not allowed to manage
570   portlets in a given folder.
571 - removed the base url before ti/getIcon
572 - portlet editor: url fix in virtual hosting
573 - the id generator did not check for reserved ids.
574 - fixed typo in BaseStyle.edit() (missing ** between keyword arguments)
575 New internal features:
576 ~~~~~~~~~~~~~~~~~~~~~~
577 - CPS3: The Main Content Templet can be rendered in macroless page mode. (#834)
578 - the id of duplicated themes / pages can be entered by users  #929
579 - add a doctype slot within the main_template
580
581 *******************************************
582 ** CPSSkins V2.5.0 [R1 build 2005/08/05-13:58 by ben]
583 ** SVN URL: https://svn.nuxeo.org/pub/CPSSkins/trunk Revision: 25426
584 Requires:
585 ~~~~~~~~~
586 -
587 New features:
588 ~~~~~~~~~~~~~
589 -
590 Bug fixes:
591 ~~~~~~~~~~
592 - triggering persistence in manage_setMethodThemes() when the method theme
593   dictionary has been modified.
594 - fixed the CSS rendering of box corners when not all background images
595   are specified. (#785)
596 - misc Plone2.1 fixes (breadcrumbs, new panel template)
597 - Updated the pt_BR translations.
598 - Made the searchbox more accessible by associating its label with the text
599   input.
600 - fixed getLocalThemeName() after security synthesis in CPSCore (#413)
601   and refactored the traversal.
602 - macroless pages where not rendered in macroless mode.
603 New internal features:
604 ~~~~~~~~~~~~~~~~~~~~~~
605 - support for ERP5 sites (by Yoshinori Okuji)
606 - added a 'Cache' management option in the ZMI to set cache settings for
607   the Image Box Templet (e.g. Accelarated HTTP Cache Manager)
608 - local themes can be set at the portal root
609 - Switched to the XHTML Strict doctype under CPS3.
610 - Using the same cpsskins_RecentDocuments.py for both CPS3 and CMF.
611 - Using the new CPS3 URLTool API (getBaseUrl, ...) with backward compatibility.
612
613 *******************************************
614 ** CPSSkins V2.4.0 [R1 build 2005/06/02-09:38 by fguillaume]
615 ** SVN URL: https://svn.nuxeo.org/pub/CPSSkins/trunk Revision: 22058
616 Requires:
617 ~~~~~~~~~
618 -
619 New features:
620 ~~~~~~~~~~~~~
621 - Added a shortcut button ('+') in the theme tabs for adding new themes.
622 - Added tabs in the portlet editor to switch between themes and pages.
623 Bug fixes:
624 ~~~~~~~~~~
625 - cpsskins_cps3/cpsskins_getNavigationInfo.py: better traversal to obtain
626   root proxy folders.
627 - Made cell block editing less modal: the layout of cell blocks can be edited
628   even if they are not selected.
629 - Made the installer more robust on how to find CPSSkins .po files.
630 - duplicating the default theme should not lead to having 2 default themes.
631 - fixed a bug where style items pasted from another theme were renamed
632   after being pasted.
633 - removed bare except: in Extensions/install_actionicons.py
634 - fixed pageblock layout rendering in macroless mode.
635 - Collapsible Menu Templet: more robust computation of relative urls.
636 - Strict XHTML compliance in the rendering of cell blocks. 
637 - added missing kw 'portlet' argument needed for the rendering of global 
638   portlets boxes.
639 - fixed crash under CPSSharedCalendar / Five in the lookup of method themes.
640   Also getThemeByMethod() is not called in case the id of the published object
641   could not be obtained.
642 - Buttons in the box title bar should not be displayed for anonymous users.
643 - Pastable objects located in a non-existent themes triggered an AttributeError
644   exception.
645 - i18n of box titles: making sure that the string is in unicode before encoding
646   in ISO-8859-15
647 - checking the existence of 'msgcmp' before running the 'TestOneMsg' tests.
648 - Portlet editor: fixes to avoid having URLs beginning with '//...'
649 - Portlet editor: the information about overriden portlets was incorrect in
650   'Site structure' mode. Portlets are now sorted by slot (fixes #695)
651 - The navigation tabs are now also displayed in 'Site structure' mode
652   to make it possible to switch between theme and pages.
653 New internal features:
654 ~~~~~~~~~~~~~~~~~~~~~~
655 - better caching of the base url.
656 - Check CPS3 instance by checking the isntance type instead of the meta_type
657 - the "Frame Box" layout now uses the <fieldset> markup
658 - CMF / Plone: folder roots under the portal are now listed.
659 - Portlet box states (min/max/closed) can be set by anonymous users.
660
661 *******************************************
662 ** CPSSkins V2.3.3 [R1 build 2005/04/13-10:31 by ben]
663
664 Requires:
665 ~~~~~~~~~
666 -
667 New features:
668 ~~~~~~~~~~~~~
669 -
670 Bug fixes:
671 ~~~~~~~~~~
672 -
673 New internal features:
674 ~~~~~~~~~~~~~~~~~~~~~~
675 - use nuxeo packaging tools
676
677
678 CPSSkins - the visual theme editor for CMF, CPS and Plone. Version 2.2
679 --------------------------------------------------------------------------
680
681
682 CPSSkins 2.3.0 (development)
683 Released: 2004-08-xx
684
685 - Added a Portlet Box Templet.
686   To be connected to CPSPortlets.
687
688 - Updated the meta "generator" name to "CPSSkins 2.3"
689
690
691 ==========================================================================
692 CPSSkins 2.2 (stable release)
693 Released: 2004-08-30
694
695 - i18n:
696   added Brazilian Portuguese translation
697   (Thanks to Mario Olimpio de Menezes <mario [at] curiango.ipen.br>)
698
699   added support for PO filenames written as '...-xx_XX.po' (needed for
700   pt_BR.po). i18n tests have been updated too.
701
702   fixed the internationalization in the Document Info Templet options.
703
704 - Bug fix:
705   New images could not be uploaded to the Image Box when the Templet
706   was in the internationalized mode.
707
708 - Theme editor / RAM cache:
709   The current language was not set correctly in the theme edition mode which
710   would pollute the cache with content in the wrong language.
711
712   The RAM caches now also get cleared when entering and exiting the theme
713   editor since the character coding may be different (cf. Plone).
714
715 - Updated the meta "generator" name to "CPSSkins 2.2"
716
717
718 ==========================================================================
719 CPSSkins 2.2-rc5 (release candidate)
720 Released: 2004-08-24
721
722 - RAM cache / ZEO:
723   Changes performed on a theme are now spread through all ZEO instances.
724
725   When an object is modified its cache expires with the modification date
726   stored in the ZODB and the local RAM caches in each ZEO instance will be
727   invalidated if the last cache update was performed before the modifications.
728
729   This ought to work with ZEO servers located in different time zones
730   since the time is the Universal Time (UTC).
731
732 - Bug fix:
733   The path of an object instead of its ID is now used to identify an object
734   in the RAM cache, since identical IDs within different folders are allowed
735   to make it possible to edit themes directly through the ZMI.
736
737 - UID checking:
738   Objects with UIDs beginning with 'copy_of_' get a new ID.
739
740 - When copying a style from one theme to another, the default styles of
741   the destination theme are now preserved.
742
743 - added a strip() to remove extra leading and trailing spaces in action urls
744   which prevented them from being set as selected.
745
746 - fixed the creation of style through the contextual menu.
747
748 - CMF/Plone:
749   Fixed an acquisition bug, if the portal site's name is the same
750   as a given theme id under 'portal_themes'.
751
752 - Plone2:
753   Removed an expensive call from the main_template.pt:
754   "allowedSortedContentTypes python:here.sortObjects(here
755    .allowedContentTypes())" that had been moved to its own macro in
756   Plone 2.0-RC3. This improves rendering times significantly (~ -0.4s).
757
758 - Plone1:
759   Fixed the breadcrumbs (added missing cpsskins_getBreadcrumbs.py file).
760
761 - Imagebox:
762   The image cache (Zope) now gets invalidated when the Image box has been
763   edited.
764
765 - Automatic browser detection:
766   Fixed a bug where the 'default' theme renderer was always selected in
767   'automatic mode'.
768
769 - Installation:
770   The skins are now reinstalled when 'cpsskinsupdate' is run. This is needed
771   if products were added after CPSSkins.
772
773   Migration:
774   Old cache attributes are now being deleted when migrating from a previous
775   version.
776
777 - Theme editor / UI:
778   The 'toggle' button that minimizes a Templet is now only shown in
779   the 'layout' mode since minimized Templets are not visible in the other
780   modes.
781
782 - Uploading new images (icons, background) now also works on Windows with
783   filenames beginning with C:\\...
784
785 - Themes:
786   Themes have been updated.
787   The "CPS3 Default" theme has been made more like CPS3's default theme.
788
789 - Fixed some compatibility issues with CMF1.3 / CPS2 during installation.
790
791 - i18n: added missing translation for the style of the SearchBox.
792
793
794 - fixed the value context_rurl passed to a "broken" Templet to avoid
795   crashing the theme editor.
796
797 - Documentation:
798   Moved all the documentation to the 'doc' directory.
799   Added an UPGRADE.TXT and a DEPENDENCIES.TXT file.
800   Added some information in TESTING.TXT about memory leak detection.
801
802 - Tests:
803   New tests.
804   All tests now pass on Plone2, CMF-1.4, CPS3.
805
806
807 ==========================================================================
808 CPSSkins 2.2-rc4 (release candidate)
809 Released: 2004-08-17
810
811 - Compatibility with CMF 1.5
812
813 - Fixed security settings for newly created objects.
814
815 - Rewrote some hardcoded URLs into CMF actions.
816
817 - The RAM cache is not implemented on a theme level. This solves thread
818   issues where more than one RAMCache instance was created per theme.
819   Each theme now acts as its own cache manager, the cache architecture
820   being very similar to StandardCacheManagers/RAMCacheManager.py .
821
822   Fixed the cache index for the Portal Box showing pending documents.
823
824 - Added new tests (there are now approx. 200 tests)
825   All tests now pass on CMF / CPS3
826   Some tests fail on Plone because of an action that does not check
827   whether 'folder' has the 'displayContentsTab' attribute.
828   folderContents: 'python: folder.displayContentsTab()
829
830 - Added a new theme under Plone2 ('Autumn theme') ported from CPS3.
831
832 - Theme objects are no longer 'CMFCatalogAware'
833   They are based on 'SimpleItem' and 'DynamicType' instead.
834
835 - Code cleaning, better docstring documentation ...
836
837
838 ==========================================================================
839 CPSSkins 2.2-rc3 (release candidate)
840 Released: 2004-08-12
841
842
843 - RAM cache:
844   Improved the RAM cache granularity on CMF actions. The cache index key
845   for action Templets is now restricted to the actual action categories that
846   are being displayed.
847
848   When displaying actions the current URL is added to the index if it
849   corresponds to the URL of an action (this is needed to make a distinction
850   between "selected" and not "selected" actions)
851
852   Fixed the PortalTab Templet's cache index.
853  
854   Added a central cache management page that displays statistics for each
855   theme.
856
857   Information about orphaned Templets is now displayed with the possibility to
858   remove them from the cache.
859   Orphaned Templets are objects that have stale entries in the cache,
860   because the object associated with these entries no longer exists or
861   because it is no longer cacheable. They result in memory leaks. In principle
862   memory leaks can only be created when themes are edited from within the ZMI.
863   Otherwise the theme editor takes care of invalidating the cache entries of a
864   Templet whenever changes are performed on it (deletion, ...)
865
866   Bug fix:
867   Made the RAMCache a UniqueObject. The cache's id would be overridden between
868   portals otherwise.
869
870
871 - API:
872   Renamed the 'meta_type' attribute associated to styles as 'style' to
873   avoid confusions
874
875
876 - i18n:
877   renamed the msgid "_Name_" to "_Username_" and "_Theme name_" since
878   it was used in different contexts.
879
880   The 'Guest' username now gets translated.
881
882   Updated the Italian translation to 2.2-rc3 (thanks to Fabio Nosari).
883
884
885 - CPS2/CPS3:
886   Removed the vertical_padding option in Portal Box Groups.
887   The 'padding' property inherited from BaseTemplet is used instead.
888
889
890 - Tests:
891   Added new functional tests (now totalling 96)
892
893   Removed the exceptions caught in the SiteError 'error_log' when setting up
894   tests since they broke some functional tests under Plone.
895
896   Fixed the ZChecker test.
897
898   Fixed some tests under Zope-2.7.2
899
900
901 - Bug fix:
902   Fixed the 'visible up till ...' visibility option
903
904
905 - Plone2:
906   Added a "tal:on-error" condition when displaying macros (Plone portlets)
907
908
909 - CMF/Plone:
910   Fixed the navigation information (using 'listFolderContents()' to obtain
911   folder contents in Plone) and 'contentValues()' in CMF.
912
913
914 - Code cleaning and simplifications.
915
916
917
918 ==========================================================================
919 CPSSkins 2.2-rc2 (release candidate)
920 Released: 2004-08-09
921
922
923 - RAM cache:
924   Completed the implementation of the RAM caches (Templets, Javascript, CSS)
925   All RAM caches are now 100% non-persistent and thread-safe.
926  
927   The RAM cache has been placed under the 'portal_themes' tool, its
928   structure is :
929
930   - portal_themes
931       - theme1
932           - templets (RAMCache)
933           - css (SimpleRAMCache)
934           - javascript (SimpleRAMCache)
935
936       - theme2
937           - templets
938           - css
939           - javascript
940       ...
941
942   Added a page in the ZMI that displays RAM cache statistics for each theme
943   to help fine-tune the cache parameters with:
944  
945   - Templet name
946   - Number of entries in the cache for this Templet
947   - Total size (KB)
948   - Cache lifetime (s)
949   - Last cleanup
950
951    
952
953 - Crash shield:
954   Added a crash shield that displays a "Broken Templet" instead of crashing the
955   entire page.
956
957   Templets can crash for two reasons: either because of a bug or because a theme
958   has not been rebuilt properly after an upgrade. The crash shield makes it
959   possible to rebuild themes through the Web from inside the theme editor
960   instead of doing it through the ZMI.
961
962   If the rendering of a given Templet fails, the Templet will be rebuilt
963   on-the-fly before being rendered again. If rebuilding the Templet fails
964   or if the attempt to render the Templet fails again, a 'Broken Templet' box
965   will be displayed instead --- with a link to the error log.
966
967   This fallback mechanism makes it possible to rebuild Templets as soon as they
968   are displayed. But it also simplifies and speeds up the code that renders 
969   the Templets since existence checks on attributes no longer need to be
970   performed.
971
972
973 - ESI (Edge-Side-Includes)
974   If ESI-support has been enabled for a given theme, an ESI HTTP header
975   will be set:
976
977       Surrogate-Control: max-age=30+60,content="ESI/1.0"
978
979   The use if ESI is independent of the theme renderer (default, compatible,
980   automatic, text mode, ... )
981
982   All Templets are "ESI-compliant", they can be called directly with a
983   'context_rurl' parameter if needed.
984
985
986 - Bug fixes:
987
988   CPS3: added missing "main" slot in emptybody documents (e.g. popup windows)
989   Thanks to Steve Meaker (stevem [at] manitacc.com)
990
991   Theme chooser: theme names are now displayed.
992
993   Calendar Templet:
994   The "Use session to remember calendars state" (set in the 'portal_calendar'
995   preference page) can now be used under CMF/CPS/Plone. (This will not work
996   when using the original Plone calendar portlet)
997
998   Navigation CMF/Plone:
999   Added a couple of permission checks ('List folder contents', 'view')
1000   when performing folder listings.
1001
1002   Added a script that invalidates the RAM cache when exiting the theme editor.
1003   This is needed because the character coding might be different in edit mode
1004   (e.g. latin1 / utf-8) and some Templets remained in the cache with the
1005   wrong character coding.
1006  
1007
1008 - CSS:
1009   Collapsible menus can now be aligned as expected (left / center / right)
1010
1011   Calendars are not alignable anymore since the horizontal alignment
1012   makes no difference for them.
1013
1014   The SearchBox is not alignable anymore.
1015
1016
1017 - Optimizations:
1018   Moved some logic out of main_template_... and into BaseTemplet.py
1019   (improves rendering times by about 1-2%)
1020
1021
1022 - Accessibility:
1023   Added alt="..." information to image boxes (the Templet's title)
1024
1025
1026 - i18n:
1027   Templet type names in the toolbox now get translated.
1028
1029
1030 - CPS2/CPS3:
1031   For Templets displaying navigation items, the list of starting paths
1032   is now restricted to objects located under the selected base.
1033   For instance:
1034
1035   if the folder base is 'sections', only the paths beginning with
1036   '/sections/...' will be displayed (and not '/workspaces/...' or '/')
1037
1038
1039 - Tests:
1040   Added more tests.
1041
1042   Added patches for CPS3 and Plone2 to apply to CPSTestCase and to
1043   PloneTestCase to run CPS3's or Plone2's unit tests on top of CPSSkins.
1044
1045   Added a ZChecker test for the skins.
1046
1047   See Misc/TESTING.TXT for further information.
1048
1049
1050 - Profiler:
1051   The profiler output has been made more legible, showing page blocks and
1052   Templets titles. CPSSkins objects are marked with a 'CPSSkins:' prefix.
1053
1054   Rendering times are displayed next to each Templet.
1055   Cached Templets are rendered in virtually 0 seconds (i.e. below the
1056   profiler's time precision)
1057  
1058
1059    0.0000: Start
1060    0.0000: --------- [top] ----------------------------------  + 0.0000
1061    0.0100: CPSSkins: banner..................................  + 0.0100
1062    0.0300: CPSSkins: Theme Chooser Templet...................  + 0.0200
1063    0.0300: CPSSkins: welcome box.............................  + 0.0000
1064    0.0400: CPSSkins: search box..............................  + 0.0100
1065    0.0400: CPSSkins: flags...................................  + 0.0000
1066    0.0400: --------- [Navigation] ---------------------------  + 0.0000
1067    0.0500: CPSSkins: level1..................................  + 0.0100
1068    0.0800: CPSSkins: actionbox...............................  + 0.0300
1069    0.1000: CPSSkins: Breadcrumbs.............................  + 0.0200
1070    0.1000: --------- [Main Columns] -------------------------  + 0.0000
1071    0.1000:           Main Content............................  + 0.0100
1072    0.1100: CPSSkins: Last modified...........................  + 0.0100
1073
1074    ...
1075
1076    0.1100: CPSSkins: footer..................................  + 0.0100
1077    0.1100: Stop
1078
1079
1080
1081
1082 ==========================================================================
1083 CPSSkins 2.2-rc1 (release candidate)
1084 Released: 2004-08-03
1085
1086 Changes:
1087
1088 - RAM cache:
1089   Fine-tuned the cache index for higher effectivity and lower RAM usage.
1090
1091   Plone2: added support for PloneLanguageTool.
1092   The language code index used in the RAM cache is first obtained from the
1093   preferred language in PloneLanguageTool (if installed), or from
1094   HTTP_ACCEPT_LANGUAGE if PloneLanguageTool is not installed.
1095
1096   CMF/Plone1/CPS3: The language code index is obtained from (Localizer if
1097   installed) or from HTTP_ACCEPT_LANGUAGE if Localizer is not installed (CMF).
1098
1099 - Theme optimizer:
1100   The theme optimizer can now inform the user about Templets that are not using
1101   currently the cache with an option to enable it.
1102
1103
1104 - CSS RAM cache
1105   The CSS cache gets invalidated whenever it is required (style creation, 
1106   Templet creation, deletion, duplication, theme rebuild ...)
1107
1108   The CSS cache also accepts keywords (e.g. ns4=1, ie6=1, css=level3, ...)
1109   that are used to construct an aggregated index for accessing the cache.
1110   These keywords are then passed on to the script that renders the CSS code.
1111   This makes it possible to remove the logic from the stylesheet language
1112   (a.k.a. CSS hacks) and put it instead inside DTML or PythonScript.
1113
1114   The CSS rendering method uses a modified version of 'slimmer.py' from
1115   CheckoutableTemplates to reduce the size of the CSS file (by ~5-10%).
1116
1117
1118 - Javascript RAM Cache
1119   The javascript code used by some Templets is now inserted in the page header.
1120   The URL is called .../portal_themes/<theme_id>/renderJS
1121
1122   The javascript code is stored in a RAM cache and can be invalidated with the
1123   'invalidateJSCache()' method.
1124
1125   If several Templets are using the same javascript code, the code will only 
1126   be generated once and if no Templet uses Javascript at all then no code
1127   will be generated uselessly.
1128
1129   Like the CSS RAM cache, the JS RAM cache also accept parameters that are
1130   passed on to the scripts used to render the JavaScript code
1131   (typically DTML, or ZPT)
1132
1133
1134 - Calendar Templet:
1135   It is now possible to display several Calendars on a same theme.
1136
1137   The Calendar Templet has been internationalized (i.e. month names and
1138   weekday abbreviations).
1139
1140   The previous/next month redirection has been rewritten to not include
1141   the current URL. This reduces the size of the RAM cache and speeds up
1142   rendering since the links need not be computed until the user actually
1143   clicks on them.
1144
1145
1146 - Plone2:
1147   The 'breacrumbs.py' script in CMFPlone is used to get the breadcrumbs
1148   information (title, url).
1149   This closes a couple of bugs encountered  with third-party CMF/Plone
1150   products.
1151  
1152   The action titles in the Action Box Templets are now translated correctly.
1153  
1154
1155 - Theme editor:
1156   The theme editor now displayed the cached version of the Templets for better
1157   responsiveness.
1158
1159   The style preview screens have been internationalized.
1160
1161   The 'Simulate this URL ...' option that allows to test the visibility of
1162   Templets and Cells based on URLs no longer appears in layout mode.
1163   It is only present in 'WYSIWYG' mode and in the 'mixed' mode.
1164  
1165   Page Blocks can now be inserted at the top of the screen.
1166
1167   Default styles:
1168   A default style can be defined for each style category. Default styles
1169   are automatically assigned to newly created Templets. If no default style
1170   is defined for a given category, the first available style in the category
1171   will be considered as the default style.
1172
1173
1174 - Portal Box Templet:
1175   Added an 'Upcoming events' box and a 'Pending documents' box.
1176
1177   CMF/Plone:
1178   Documents without title (a.k.a 'empty documents') no longer appear
1179   in folder listings.
1180
1181
1182 - Document info:
1183   The last modification date is now displayed using the ISO date format.
1184
1185
1186 - Installation / migration:
1187   The old cache ('cpsskins-templet-cache' and 'custom/cpsskins_render')
1188   will be uninstalled.
1189
1190   Themes are now automatically rebuilt during migration.
1191
1192
1193 - Tests:
1194   Added tests for all three i18n domains ('cpsskins', default', 'plone')
1195   (freely adapted from plone-i18n :
1196   http://cvs.sourceforge.net/viewcvs.py/plone-i18n/i18n/tests/ )
1197   msgfmt.py is taken from PlacelessTranslationService
1198
1199
1200 - Themes:
1201   All themes have been updated to match the current release.
1202   The RAM cache lifetimes have been fine-tuned, but the cache is not
1203   enabled on URL-dependent Templets.
1204
1205   Default styles have been defined.
1206
1207   CPS3: updated the 'LightSkins' theme.
1208
1209
1210 - Tested with:
1211   - the latest CMF (1.4.6) and Zope 2.7.2
1212   - Plone cvs 2004-08-01 (upcoming 2.0.4 release)
1213   - CPS3 cvs 2004-08-01 (upcoming 3.1.5 release)
1214
1215   CPSSkins also works with older Zope versions (tested with 2.6.1)
1216   and python 2.1
1217
1218
1219 ==========================================================================
1220 CPSSkins 2.1.10 (development version)
1221 Released: 2004-07-27
1222
1223 Changes:
1224
1225 - RAM Cache
1226   The RAM caching mechanism has been refactored. The Zope RAM Cache Manager
1227   is no longer involved and every Templet uses a built-in cache instead.
1228   The efficiency of the cache has been improved and URL-dependent Templets
1229   can now be cached.
1230  
1231   The caching of Templets is now determined by a collection of variables
1232   that are needed to discriminate between users, urls, languages, etc. which
1233   typically are REQUEST variables.
1234
1235   The list of variables changes dynamically depending on the Templet's
1236   own properties.
1237
1238   For instance the Breadcrumbs Templet uses:
1239   - the id of the authenticated user (AUTHENTICATED_USER)
1240   - the current path (PATH_TRANSLATED)
1241   - the code of the selected language only if the Templet can be translated.
1242
1243   This information is returned as a tuple by the Templet using the
1244   'getCacheIndex()' method. The result is then used as an aggregated
1245   index to access the cache dictionary.
1246
1247   The Templet's cache only gets invalidated when the cache's lifetime
1248   has expired or when a Templet has been edited (no cleaning is otherwise
1249   performed on a regular basis). Statistics should therefore be checked for
1250   memory usage during the fine-tuning process to avoid consuming too much RAM.
1251
1252
1253 - Caching of style sheets:
1254   The CSS document generated by CPSSkins is now cached in RAM for faster
1255   rendering (typically 0.01 to 0.05 seconds per request)
1256   This also makes it possible to put more logic within the CSS generation
1257   and to reduce the size of the stylesheets.
1258
1259   The CSS RAM cache is only refreshed when invalidated, i.e. basically
1260   when a style has been edited.
1261
1262
1263 - Cache manager:
1264   The internal RAM cache no longer needs to be turned on to start operating.
1265   The determining factor is now whether a Templet is cacheable or not.
1266
1267   To force the cleaning of the cache of all Templets it is possible to use
1268   the "Clear the cache" button.
1269
1270
1271 - CPS3:
1272   Added a 'Display hidden folders' option to the Portal Box Templet in
1273   'folder' mode. If the option is turned on, hidden folders will be
1274   displayed, but rendering will be faster since the getContent() method
1275   will not be called and only CPS3 proxies will be used.
1276
1277
1278 - UI:
1279   Menus tabs, Templet boxes and buttons in the theme editor now have rounded
1280   corners under Mozilla, Firefox (using the -moz-border-radius CSS extension)
1281
1282
1283 - i18n:
1284   Added German translation of CPSSkins 2.1.9 (thanks to Stefan Undorf)
1285
1286 ==========================================================================
1287 CPSSkins 2.1.9 (development version)
1288 Released: 2004-07-25
1289
1290 Changes:
1291
1292 - Optimizations:
1293
1294   Theme editor:
1295   The theme edition pages have been optimized for faster rendering (mostly ZPT)
1296
1297   Plone2:
1298   CMF actions are now stored in a session variable as with CMF/Plone1/CPS2/CPS3.
1299   This had been overlooked in skins/cpsskins_plone2/main_template.pt which
1300   slowed down theme rendering under Plone2 since 'listFilteredActionsFor(here)'
1301   needed to be called for every Templet that used CMF Actions.
1302
1303   The code that renders the Action Box with CMFActions has been refactored.
1304  
1305
1306 - Enhanced RAM Cache:
1307  
1308   The caching mechanism has been refactored for better granularity control:
1309   Enabling the cache can easily improve performance by 20-40% which makes
1310   CPSSkins extremely fast (typically 0.1s to 0.2s per request under CMF/CPS3)
1311
1312   Individual caching of Templets:
1313   It is now possible to set an individual cache lifetime ranging from
1314   5 minutes to 1 hour on every Templet (higher values are not realistic).
1315   Logos, footers and static parts' lifetimes can be set to 1 hour.
1316   News boxes, folder menus and the calendar can be assigned a lifetime of
1317   15 or 30 minutes.
1318   All cache entries corresponding to a given Templet are invalidated when
1319   when the Templet's cache lifetime expires.
1320  
1321   I18n:
1322   RAM caching now also works with multilingual sites.
1323   A session variable called 'cpsskins_language' is set to the language code of
1324   the selected language. It is obtained from the 'LOCALIZER_LANGUAGE' http
1325   cookie value if Localizer is installed. Otherwise the first entry of
1326   'HTTP_ACCEPT_LANGUAGE' is used.
1327  
1328   The actual caching is done by calling a script ('.../custom/cpsskins_render')
1329   to render the Templets instead of calling templet.render() directly.
1330   The 'context' value is used to discriminate between Templets.
1331   Two other session variables are used: 'AUTHENTICATED_USER' to discriminate
1332   between users and 'cpsskins_language' for the multilingual sites.
1333
1334   The 'PATH_TRANSLATED' variable is not currently being used. As a consequence
1335   URL-dependent Templets (Breadcrumbs, About Box...) cannot be cached.
1336   But in most cases this makes no difference on performance unless the
1337   site consists of only 5 or 10 pages. A possible future implementation would
1338   be to use a specific RAM cache for URL-dependent Templets.
1339
1340   Templets that cannot be cached using this method because they rely on macros
1341   (Main Content, Portal Box Groups) are no longer shown as cacheable.
1342
1343
1344   Cache manager:
1345   The cache management page has been redesigned to include cache lifetimes.
1346
1347   Statistics are displayed to inform on the cache memory usage and
1348   its effectivity calculated as: (initial entries are counted as misses)
1349
1350       (hits - misses + entries) * 100 / (hits + misses)
1351
1352   A button has been added to invalidate the cache (named as 'Clear the cache')
1353   to remove all entries.
1354
1355
1356 - ESI (Edge-Side-Includes)
1357   Initial support has been included for Edge Side Includes.
1358   Templets marked as 'ESI fragments' are rendered as a <esi> directives.
1359  
1360   ESI must first be enabled in the theme's settings.
1361
1362   The implementation is not complete:
1363   - not all Templets can be rendered as fragments yet.
1364   - the ESI header ('Surrogate-Control','...,content="ESI/1.0"')
1365     is not set yet.
1366
1367
1368 - Customization:
1369   The static stylesheets used be CPSSkins ('cpsskins_common.css' and 
1370   'cpsskins_common-css2') have been moved to the site root for easier
1371   customization. These contain CSS properties that are not generated from
1372   styles.
1373
1374
1375 - User interface:
1376   Newly created themes are now initially displayed in layout mode.
1377
1378   The green "Add ... " buttons have been redesigned.
1379
1380   An icon is now used to represent External Themes.
1381
1382   A shortcut to images (backgrounds & icons) has been added inside the style
1383   edit form.
1384
1385
1386 - i18n:
1387   updated the Italian translation (thanks to Fabio Nosari)
1388
1389
1390 ==========================================================================
1391 CPSSkins 2.1.8 (development version)
1392 Released: 2004-07-22
1393
1394 Changes:
1395
1396 - Optimizations:
1397   The edit form displayed in theme edition mode has been optimized,
1398   it has a much better responsiveness.
1399
1400
1401 - Bug fixes:
1402   ImageBox:
1403   fixed an acquisition bug that made it impossible to edit some image boxes.
1404
1405   Cache manager:
1406   finalized the code to reflect API changes introduced in 2.1.7
1407  
1408   Theme optimizer:
1409   finalized the code to reflect API changes introduced in 2.1.7
1410
1411   Collapsible menus: 
1412   the selected sub-menus are now correctly displayed as selected.
1413
1414
1415 - New features:
1416
1417   Theme optimizer: it is now possible to see the list of Templet items getting
1418   translated (images, folder titles, folder items, breadcrumns, etc.) and deselect
1419   those that need not be translated.
1420
1421   Breadcrumbs: added an option to display a contextual icon at the start of the
1422   navigation trail.
1423
1424
1425 - CPS3:
1426   removed folders with titles beginning with a '.' from path lists.
1427
1428
1429 - i18n: the list of choices for the appearance of the Action Bar
1430   (text only, icons, text and icons) is now internationalized.
1431
1432
1433 ==========================================================================
1434 CPSSkins 2.1.7 (development version)
1435 Released: 2004-07-17
1436
1437 Changes:
1438
1439 - Optimizations: after some refactoring of the main page templates
1440   theme rendering is now approx. 4-5% faster.
1441
1442   NB: additional 6% speed optimizations have been done under CPS3 by
1443   fetching document proxies directly instead of calling getContentInfo().
1444
1445
1446 - i18n: Localized images.
1447   The image shown in the ImageBox Templet can now be translated.
1448   This can be used to display localized banners, logotypes, ...
1449
1450   To enable this option, select "Translate the image" in the Templet's
1451   property form.
1452   Once the option is selected, all newly uploaded images will be saved in a
1453   container under different ids ('i18n_image_xx') where 'xx' is the language
1454   code of the current language.
1455
1456   If no localized image exists for the current language then the default
1457   version of the image will be displayed instead, i.e. the Templet's original
1458   image.
1459
1460   All images are saved inside the same Templet, hence they are managed as if
1461   there was only one image: if the Image Box is moved, all i18n images will be
1462   moved along, etc.
1463  
1464
1465 - Made the copy of Templets from one theme to another more robust:
1466   Style names will be modified if necessary and the copied Templet's style
1467   properties will be updated accordingly.
1468
1469
1470 - CMF/Plone: merged a patch sent by Olle Olson:
1471   * to take into account site URLs beginning with '//'
1472   * to get the Collapsible Menus to work more often
1473   * to filtered out unpublished content depending on the user's role
1474
1475   the file changed is 'skins/cpsskins_cmf/cpsskins_getNavigationInfo.py'
1476
1477
1478 - fixed a bug in the theme rebuild method.
1479
1480
1481 ==========================================================================
1482 CPSSkins 2.1.6 (development version)
1483 Released: 2004-07-12
1484
1485 Changes:
1486
1487 - Optimizations: theme rendering is now approx. 5% faster. This is mainly
1488   due to using declarePublic(...) instead of declareProtected(View,...)
1489   in the methods used for Theme rendering.
1490
1491
1492 - Theme management: The Theme rebuild process has been highly improved:
1493
1494   * Only the nececessary updates are applied which highly reduces rebuild
1495     times when a Theme already is up-to-date with the current release.
1496
1497   * The Theme's sanity is now thoroughly checked. Objects that are not allowed
1498     will be moved to current Theme's lost+found folder called 'LOST-AND-FOUND'.
1499     Broken objects originating from uninstalled products are deleted.
1500     (this might change if there is a way to move them to the lost+found folder)
1501
1502   * Imported themes are no longer set as default.
1503
1504   * Resetting permissions on the Theme's objects is now optional.
1505     This can be done through the ZMI by checking the 'Reset all permissions'
1506     button.
1507
1508     Rebuild times are now:
1509     ~ 0.5s on themes that are up-to-date with the current release.
1510     ~ 1.5s on themes that are up-to-date - when resetting permissions.
1511     ~ 10s on very old themes (these were created about a year ago)
1512
1513    
1514
1515 - Theme creation:
1516
1517   * Default styles are now automatically set on newly created Templets
1518
1519   * Templets can now be drag and dropped between one Theme and another.
1520
1521     This option makes it possible to design reference Themes that are not
1522     necessarily functional but that can be used to create other Themes by
1523     reusing the Templets (and thus the Styles) inside other Themes.
1524
1525     Not only the Templets get copied but the Styles and all the
1526     images used in it (backgrounds, icons, ...) also get copied.
1527
1528     Images are copied only once: if they are already present in the
1529     destination Theme they will not be duplicated unnecessarily.
1530
1531     Styles are copied even if they are already present in the destination
1532     theme. Identical styles resulting from being copied several times can
1533     be merged afterwards in the "Theme Optimization" panel.
1534     There is still an issue with Styles that have identical names.
1535
1536
1537 - CMF/Plone:
1538
1539     The '+' sign displayed next to folder tabs can now be used as a shortcut
1540     to add items inside the current folder.
1541     (this is a link to '.../folder_factories')
1542
1543     Selected tabs are now displayed as selected.
1544
1545  
1546
1547 ==========================================================================
1548 CPSSkins 2.1.5 (development version)
1549 Released: 2004-07-09
1550
1551 Changes:
1552
1553 - UI: added a new type of Templet called 'Portal Tab'.
1554   The Portal Tab Templet uses horizontal tabs to displays folder contents
1555   or actions, etc. It is a simplified version of the Portal Box Templet
1556   which displayed tabs by being oriented horizontally.
1557
1558   Graphically, the Templet relies entirely on CSS background images
1559   which makes it possible to show tabs with rounded corners.
1560
1561   The rendering technique is inspired from a method used on CNET.com.
1562   It has been tested and it works on Mozilla, IE, Konqueror and Opera.
1563
1564   HTML markup:
1565     <div class="PortalTab...">
1566       <ul>
1567         <li class="submenuin"><a href="...">Item 1</a></li>
1568         <li class="submenuout"><a href="...">Item 2</a></li>
1569         <li class="submenuout"><a href="...">Item 3</a></li>
1570       </ul>
1571     </div>
1572
1573   CSS code:
1574     see skins/CPSSkins/cpsskins_portaltabstyle.dtml
1575
1576   Style/layout options:
1577     - horizontal padding
1578     - vertical padding
1579     - horizontal margin
1580     - bottom border color
1581     - bottom border color [selected tab]
1582
1583   5 images can be used:
1584     - left-side image
1585     - right-side image
1586     - left-side image [selected tab]
1587     - right-side image [selected tab]
1588     - background image behind the tabs
1589
1590   The default themes included in this release have been updated.
1591   They include a style of tabs inspired from MacOSX.
1592
1593   To install the Portal Tab Templet on an existing site it is necessary to 
1594   run the 'cpsskinsupdate' script first.
1595
1596
1597 - Theme creation: added a Templet toolbar at the top of the control panel that
1598   simplifies the creation of new Templets by using the "drag-and-drop" technique.
1599   To add a new Templet, simply move it from the toolbox to the canvas.
1600
1601
1602 - Portal Box Templets can now be aligned horizontally (left, center, right) by using
1603   the contextual menu. This used to be taken care of by the Portal Box Shape style.
1604   As a consequence of upgrading to 2.1.5 some Templets may need to be re-aligned.
1605   Also a Theme rebuild is recommended to update all the settings.
1606
1607
1608 - i18n: updated the Italian translation to CPSSkins 2.1.4 (Thanks to Fabio Nosari)
1609
1610
1611 - l10n: the display style of the box title is now called 'Box width'
1612   and 'Title width' instead of 'block' and 'inline'.
1613
1614
1615 - CPS3: the box management panel works better with IE.
1616
1617
1618 - Bugs: added a missing 'render_action' for Collapsible Menus which caused them to
1619   be shown as "broken templets"
1620
1621   Updated some scripts for them to work without CMFActionIcons (since the product is optional)
1622  
1623
1624
1625 ==========================================================================
1626 CPSSkins 2.1.4 (development version)
1627 Released: 2004-07-07
1628
1629 Changes:
1630
1631 - Theme management: added support for "external themes".
1632   External themes are themes that are located on an external server
1633   (WWW or FTP server). They can be installed directly over the Internet
1634   without first being saved on the filesystem.
1635
1636   An external theme has a theme ID (Zope Id) and a theme URL which is the
1637   address of a CPSSkins theme in .zexp format located on the remote server.
1638   The current implementation supports URLs beginning with http://___,
1639   https://___  and ftp://___ .
1640
1641   The update process can be automated (e.g. with UNIX cron)
1642
1643
1644 ==========================================================================
1645 CPSSkins 2.1.3 (development version)
1646 Released: 2004-07-04
1647
1648 Changes:
1649
1650 - Optimizations: theme rendering is now approx. 8% faster.
1651   This is due to a couple of optimizations:
1652
1653   The Text Box has been optimized (converted ZPT to python script)
1654   The text format can now be set to plain text, to HTML, or to Structured Text
1655   which means that there is at most only one conversion.
1656   The default text format is HTML (i.e. no conversion).
1657
1658   The Image Box has been optimized (converted ZPT to python script)
1659
1660   The Action Box that displays action icons has been optimized
1661   (the information about action icons is only fetched once)
1662
1663   14 python scripts have been moved from skin directories to class methods
1664   for faster page loading in theme edition mode.
1665
1666   The main rendering templates (cpsskins_main_template_...) have been optimized.
1667
1668
1669 - i18n: some of the Templet items are now optionally translated:
1670
1671   Added an option to the Text Box Templet to enable the translation of the text.
1672
1673   Added an option to the Portal Box Templet showing folder contents
1674   to enable the translaton of folder items ('Translate folder items')
1675
1676   Added an option to the Portal Box Templet to enable the translation of
1677   the box title. ('Translate the box title')
1678
1679   Added an option to the Breadcrumbs Templet to enable the translation of the
1680   navigation trail ('Translate the breadcrumbs')
1681
1682
1683 ==========================================================================
1684 CPSSkins 2.1.2 (development version)
1685 Released: 2004-06-28
1686
1687 Changes:
1688
1689 - Optimizations: theme rendering is now approx. 5-6% faster
1690   (this is measured on an average of 18 reference themes)
1691
1692   The rendering of the dynamic stylesheets has been optimized by 2-3%.
1693
1694
1695 - CPS3: added drag-and-drop functionality and contextual menus to CPS3's
1696   box management panel. New boxes can easily be added onto the box canvas
1697   and moved between the different box slots.
1698
1699   Updated CPSSkins/skins/cpsskins_cps3/main_template.pt to ensure compatibility
1700   with CPSDefault from cvs 2004-06-25.
1701
1702
1703 - Dependencies: removed the dependency on OrderFolderSupportPatch.
1704   CPSSkins can now be installed on CMF/Plone without OrderFolderSupportPatch.
1705
1706
1707 - Portal Boxes: added a new layout for language selection that displays
1708   language names instead of country flags.
1709
1710   Bug fix: corrected a bug in Plone2's Language Box.
1711
1712
1713 - Tests: made the functional tests more robust
1714
1715
1716 - Misc: converted some menu images from PNG to GIF for a nicer rendering
1717   under IE.
1718
1719   Some refactoring / code cleaning
1720
1721
1722 ==========================================================================
1723 CPSSkins 2.1.1 (development version)
1724 Released: 2004-06-24
1725
1726 Changes:
1727
1728 - User interface:  Upgraded the PDLib javascript UI library to version 0.3. 
1729   PDLib is used for contextual menus and the drag and drop functionality.
1730   This version has a much better support for IE.
1731   The code is taken from Shane Hathaway's 'CompositePage-0.2' product 
1732   (see COPYRIGHT.TXT).
1733
1734   Contextual menus can now be displayed with a right mouse click. 
1735   The Templet's title and icon is also shown in the contextual menu.
1736   To edit a Templet, right-click on it and select the 'Edit' menu item.
1737
1738   The links used inside a Templet are now inactive which means that
1739   clicking on a Templet will always trigger the contextual menu.
1740
1741
1742 - Added a new box layout called 'Drawer box' which displays portal boxes
1743   with arrows that can be opened and closed as a drawer.
1744   Individual users can open and close the boxes that use this layout,
1745   cookies must be enabled. Box states (open/closed) are not persistent.
1746
1747   The layout also exists as 'Drawer box without title'.
1748
1749
1750 - i18n:
1751   Updated the Italian translation.   
1752   Thanks to Fabio Nosari and PiCo.
1753
1754   Updated the Spanish translation.   
1755   Thanks to \301lvaro Tejero Cantero
1756
1757
1758 - Misc:
1759   All permissions used by CPSSkins are now declared in CPSSkinsPermissions.py
1760
1761
1762 - Bug fix:
1763   fixed a bug in the Calendar Templet that occured on events spanning several days
1764
1765
1766 =========================================================================
1767 CPSSkins 2.1.0 (development version)
1768 Released: 2004-06-20
1769
1770 Changes:
1771
1772 - Optimizations: the 'render' action for Templets and Styles objects
1773   can now be called directly without using CMF by explicitly specifying
1774   the render method's name in a variable called 'render_action'.
1775   This improves rendering times by approx. 3%.
1776
1777   Example:
1778
1779   ==========
1780   TextBox.py
1781   ==========
1782   class TextBox(BaseTemplet):
1783       """Text Box Templet."""
1784
1785       meta_type = 'Text Box Templet'
1786       portal_type = 'Text Box Templet'
1787
1788       render_action = 'cpsskins_textbox'
1789       ...
1790
1791   Besides, 'meth = getattr(self, render_action)' is used instead of:
1792   'meth = self.restrictedTraverse(render_action)'
1793
1794
1795 - i18n: select options shown in the theme edition mode can now be translated.
1796   A boolean property called 'i18n' has been added which if it is true
1797   will cause option names to be translated as '_option_...'.
1798
1799   Example:
1800
1801   ==============
1802   BaseTemplet.py
1803   ==============
1804   _properties = (
1805          ...
1806          {'id': 'visibility', 
1807          'type': 'selection', 
1808          'mode': 'w',
1809          'label': 'Visibility criteria',
1810          'select_variable': 'cpsskins_visibilityList',
1811          'category': 'visibility',
1812          'default': 'always',
1813          'i18n': 1,
1814         },
1815          ...
1816    )
1817
1818   ==========================
1819   cpsskins_visibilityList.py
1820   ==========================
1821   list = ['always', 'everywhere_except_in', 'only_in', \
1822           'starting_from', 'up_till', 'if_authenticated', 'if_anonymous', \
1823           'if_secure_connection' ]
1824
1825   return list
1826
1827   ==============
1828   cpsskins-en.po
1829   ==============
1830   msgid "_option_always_"
1831   msgstr "Always"
1832  
1833   msgid "_option_everywhere_except_in_"
1834   msgstr "Everywhere except in ..."
1835
1836
1837 - Added an option called 'Folder title' to specify the source of Portal Box
1838   titles.
1839   This option works only with boxes that display folder contents.
1840
1841 - The contextual menu now only shows a list of styles that are applicable
1842   to a given Templet. For instance the "Calendar Style" option will be
1843   only shown when right-clicking on a Calendar Templet.
1844
1845 - Added an option called 'Hide current language' in the Language Templet
1846   which when selected will cause the country flag corresponding to
1847   the current language to be hidden
1848
1849 - Added 15 functional tests that are run as Member, Manager, Theme Manager.
1850   Not all tests pass under CMF/Plone
1851
1852 - Unauthorized users that attempt to view theme management pages are now
1853   redirected to the login form.
1854
1855 - Some cleaning / refactoring
1856
1857
Note: See TracBrowser for help on using the browser.