Introduction
============
Integration of jQueryUI in Plone
WARNINGS
========
Plone < 4
---------
For Plone 3 you need version 1.7.x of this package
JQueryUI > 1.8.6 is supposed to be compatible with jQuery 1.3.2.
At the moment you should prefer to use the 1.7.X version of jQueryUI
(same package exists for 1.7 branch)
Plone < 4.3
-----------
Use version < 1.9
Integration for Zope and Plone
==============================
This package can be used as a Plone add-on - for this it adds GenericSetup
profiles and Plone ControlPanel configlets - or it can be used as a simple Zope
jQuery UI resources registrar. See bellow how your zc.buildout config file
should look like if you use collective.js.jqueryui with or without Plone.
Plone
-----
for Plone > 4.0:
buildout.cfg::
[instance]
eggs +=
collective.js.jqueryui
for Plone == 4.0 you must add plone.app.registry yourself:
buildout.cfg::
extends=http://good-py.appspot.com/release/plone.app.registry/1.0b2
[instance]
eggs +=
collective.js.jqueryui
plone.app.registry
Zope
----
buildout.cfg::
[instance]
eggs =
collective.js.jqueryui
zcml =
collective.js.jqueryui
Include plugins and optimizations
=================================
By default this addon register all plugins and activate all of them except tabs.
So ui.tabs is registred but not activated.
Because jQueryUI is big on both javascripts and css you may want to optimize
the configuration of your site or your addon which depends on this one.
So you can activate/unactivate plugins using registry profile or the jQueryUI
controlpanel.
Using registry.xml, you can activate only what you want::
<registry>
<records interface="collective.js.jqueryui.controlpanel.IJQueryUIPlugins">
<value key="ui_draggable">True</value>
<value key="ui_droppable">True</value>
</records>
</registry>
In the case of a policy you can do a full configuration::
<registry>
<records interface="collective.js.jqueryui.controlpanel.IJQueryUIPlugins">
<value key="ui_core">True</value>
<value key="ui_widget">True</value>
<value key="ui_mouse">True</value>
<value key="ui_position">True</value>
<value key="ui_draggable">True</value>
<value key="ui_droppable">True</value>
<value key="ui_resizable">True</value>
<value key="ui_selectable">True</value>
<value key="ui_sortable">True</value>
<value key="ui_accordion">False</value>
<value key="ui_autocomplete">False</value>
<value key="ui_button">False</value>
<value key="ui_dialog">False</value>
<value key="ui_slider">False</value>
<value key="ui_tabs">False</value>
<value key="ui_datepicker">False</value>
<value key="ui_progressbar">False</value>
<value key="effects_core">False</value>
<value key="effects_blind">False</value>
<value key="effects_bounce">False</value>
<value key="effects_clip">False</value>
<value key="effects_drop">False</value>
<value key="effects_explode">False</value>
<value key="effects_fade">False</value>
<value key="effects_fold">False</value>
<value key="effects_highlight">False</value>
<value key="effects_pulsate">False</value>
<value key="effects_scale">False</value>
<value key="effects_shake">False</value>
<value key="effects_slide">False</value>
<value key="effects_transfer">False</value>
</records>
<records interface="collective.js.jqueryui.controlpanel.IJQueryUICSS">
<value key="css">False</value>
<value key="patch">False</value>
</records>
</registry>
Using the control panel, you can select plugins you want. If you unselect a
plugin it will be unactivated (but not its dependencies)
Using python, you just have to use plone.registry api::
from zope.component import getUtility
from plone.registry.interfaces import IRegistry
from collective.js.jqueryui.config import DEPS
from collective.js.jqueryui.interfaces import IJQueryUICSS, IJQueryUIPlugins
#is plone.app.registry
registry = getUtility(IRegistry)
proxy = registry.forInterface(IJQueryUIPlugins)
setattr(proxy, 'ui_draggable', True)
setattr(proxy, 'ui_droppable', True)
Credits and contributions
=========================
|makinacom|_
* `Makina Corpus <http://www.makina-corpus.com>`_
* `Ecreall <http://www.ecreall.com>`_
Contributors
============
* Vincent Fretin [vincentfretin]
* Hanno Schlichting [hanno]
* Nathan Vangheem [vangheem]
* Marcos F. Romero [marcosfromero]
* Kees Hink [khink]
* Robert Niederreiter [rnix]
* JeanMichel FRANCOIS [toutpt]
* Alin Voinea [avoinea]
.. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
.. _makinacom: http://www.makina-corpus.com
How to upgrade this package
===========================
- Go to http://jqueryui.com/download
- Go to the URL specified in the collective/js/jqueryui/css/sunburst/jqueryui.css file to pre-load current theme settings.
- Click on "Download theme" in the left-side "Theme rollover".
- At the bottom "Theme" update by "sunburst" in "Theme Folder Name" field.
- Download jquery-ui-X.custom.zip
Commands to execute::
PKG="/home/toutpt/workspace/collective.js.jqueryui/collective/js/jqueryui"
VERSION="1.8.13"
PREV="1.8.12"
unzip ~/jquery-ui-$VERSION.custom.zip
cd ~/jquery-ui-$VERSION.custom
rm $PKG/jquery-ui-$PREV.custom.min.js
rm $PKG/jquery-ui-$PREV.custom.js
rm $PKG/js/*
cp ui/jquery-ui.js $PKG/jquery-ui-$VERSION.custom.js
cp ui/minified/jquery-ui.min.js $PKG/jquery-ui-$VERSION.custom.min.js
cp ui/minified/i18n/jquery-ui-i18n.min.js $PKG/jquery-ui-i18n.js
cp ui/minified/*.min.js $PKG/js/
rm $PKG/css/sunburst/images/*
rm $PKG/css/sunburst/jqueryui.css
cp css/sunburst/jquery-ui-$VERSION.custom.css $PKG/css/sunburst/jqueryui.css
cp css/sunburst/images/* $PKG/css/sunburst/images/
- update version in README.txt and common.zcml and config.py
- increment the profile version in metadata.xml
- update the ugprade step::
<genericsetup:upgradeStep
source="*"
destination="3001"
title=""
description=""
profile="collective.js.jqueryui:default"
handler=".upgrades.common"
/>
Changelog
=========
JQueryUI Changelog: http://jqueryui.com/changelog/
2.1.8 (2021-01-05)
------------------
- Removed ``setuptools_git`` from ``setup_requires``.
Not needed anymore, and may give problems.
See `PR 44 <https://github.com/collective/collective.js.jqueryui/pull/44>`_.
[marclava, maurits]
2.1.7 (2021-01-05)
------------------
- Do not depend on cssregistry/jsregistry import steps in Plone 5.
This avoids noisy warnings when applying any profile.
[ewohnlich]
2.1.6 (2019-04-09)
------------------
- More occurences of portal_css/portal_javascript eleminated.
[jensens]
2.1.5 (2019-04-09)
------------------
- Typo corrected
[jensens]
2.1.4 (2019-04-09)
------------------
- Fix: Do not try to cook css resources in Plone 5.2.
[jensens]
2.1.3 (2019-04-09)
------------------
- Fix: Do not try to cook js resources in Plone 5.2.
[jensens]
2.1.2 (2019-03-14)
------------------
- Workaround: ResourceRegistry was removed in 5.2.
[jensens]
2.1.1 (2019-03-14)
------------------
- 2.1.0 was a brown bag release with broken setup.
[jensens]
2.1.0 (2019-03-14)
------------------
Bug fixes:
- Added uninstall profile
[agitator]
- Python 2/3 compatibility
[pbauer]
- Simplify resource registration for Plone 5 the way done in
https://github.com/collective/example.p4p5#cssjs-declaration-in-plone-5
[rnix]
- Cleanup GS profiles to install properly in Plone 5
[rnix]
2.0.1 (2015-09-28)
------------------
- Fix bad release : https://github.com/collective/collective.js.jqueryui/issues/31
[bsuttor]
2.0.0 (2015-09-25)
------------------
- Update bootstrap.py.
[bsuttor]
- Upgrade to jqueryui 1.10.4.
[mathias.leimgruber]
- Add Plone 5 support and move Plone 4 support into a BBB profile
[rpatterson]
1.10.4 (2014-04-04)
-------------------
- Include ``plone.app.jquery`` ZCML explicitely.
[gotcha]
- Fix https://dev.plone.org/ticket/13606: safe compression on big javascript
files. Just remove the compression on all resources, we already use
minified version
[toutpt]
1.10.3 (2013-05-16)
-------------------
- Fixed naming of effects dependencies and mapping of effects dependencies
to effects configuration.
[do3cc]
1.10.2 (2013-04-29)
-------------------
- Make the JS of the viewlet don't break if $.datepicker is undefined. [toutpt]
- Add requirement plone.app.jquery>1.6
- Register resources in 'jqueryui' bundle and add this bundle as (default)
1.10.1.2 (2013-03-06)
---------------------
- Fix TypeError when jQuery UI CSS files are not selected [toutpt]
1.10.1.1 (2013-03-06)
---------------------
- Packaging issue fixed.
1.10.1 (2013-03-06)
-------------------
- Upgrade to jqueryui 1.10.1
1.10.0.1 (2013-01-30)
---------------------
- Upgrade to jqueryui 1.10.0
- Update the example page
1.9.2.0 (2012-11-29)
--------------------
- Upgrade to jqueryui 1.9.2 (fix #14)
- fix rename of effects introduced in 1.9
1.9.1.1 (2012-11-12)
--------------------
- remove include condition stuff which break on 1.9.1.0 [toutpt]
1.9.1.0 (2012-11-11)
--------------------
- upgrade jQueryUI to 1.9.1 [toutpt]
1.8.16.9 (2012-09-10)
---------------------
- another fix for applyPrefix [kiorky]
- Keep this package Plone independent. Added zcml files for Plone and Zope and
include them accordingly by configure.zcml
[avoinea]
1.8.16.8 (2012-07-27)
---------------------
- Honnor applyPrefix [kiorky]
- CSS: remove include expression of css registry.
- CSS: move the css after public.css
- CSS: move to rendering = link and media = screen to fit with sunburst
- CSS: fix honorPrefix upgrade
[toutpt]
1.8.16.7 (2012-06-07)
---------------------
- Use now a js and a css view to handle both resources [kiorky]
1.8.16.6 (2012-03-15)
---------------------
- Fix dependencies for Plone 4.0.X: add plone.app.registry
[toutpt]
- Fix getSite() for Plone 4.0.
- Backport plone.app.jqueryui work: Only one browserview to manage plugins.
make portal_javascripts have only one resource.
1.8.16.5 (2012-01-24)
---------------------
- Fix viewlet from breaking the whole site while you have not upgraded the addon
[toutpt]
1.8.16.4 (2011-12-16)
---------------------
- manage i18nviewlet and ++resource++jquery-ui-i18n.js file as dependency of
datepicker
- add handler to check integrity of jsregistry
- improve navigation in control panels
- fix install where js were not enabled. the reason was plone.app.registry
step is imported before jsregistry step. fixed by adding a new step.
1.8.16.3 (2011-12-15)
---------------------
- Add permission.zcml include respecting Plone3
[toutpt]
1.8.16.2 (2011-12-15)
---------------------
- Add a controlpanel using plone.app.registry to select plugins and optimize
your site. Addons using collective.js.jqueryui should update their install
to set which plugins they need.
1.8.16.1 (2011-12-02)
---------------------
- Upgrade JQueryUI to 1.8.16
[toutpt]
1.8.13.1 (2011-05-23)
---------------------
- Update JQueryUI to 1.8.13.
Rename css from jquery-ui-1.8.12.custom.css to jqueryui.css to make it
compatible with collective.jqueryuithememanager
update sunburst theme to include font size = 0.9em
[toutpt]
1.8.12.3 (unreleased)
---------------------
- add a config file with VERSION.
[toutpt]
- make example.jqueryui view activable (unactivated by default)
[toutpt]
- only include datepicker viewlet code if jqueryui is enabled for
the content item
[vangheem]
1.8.12.2 (2011-04-25)
---------------------
- Add jquery-ui-1.8.12.custom.js. fixed issue #1
[toutpt]
1.8.12.1 (2011-04-24)
---------------------
- Update JQueryUI to 1.8.12
[toutpt]
1.8.9.2 (2011-02-21)
--------------------
- Add include condition to JQueryUI resources. Can be configured throw
portal_properties.
[toutpt]
- Add applyPrefix option to main css. Fix production mode issue with caching allowed.
[toutpt]
1.8.9.1 (2011-01-21)
--------------------
- update to jqueryui 1.8.9. Include plone4-patch.css in default profile.
Refactor css&theme browser resources to not have to update url in the css
[toutpt marcosfromero]
- remove browser layer on jquery-ui.min.js and jquery.ui.all.css.
Let anyone want to use it has browser:resource if wanted
[toutpt]
1.8.8.1 (2011-01-18)
--------------------
- Update jqueryui to 1.8.8
[toutpt]
1.8.7.2 (2011-01-08)
--------------------
- Add jquery-ui.min.js as browser resource: ++resource++jquery-ui.min.js
This one do not need any install
[toutpt]
- Update profile to use jquery-ui.min.js in portal_javascript and add migrations
[toutpt]
1.8.7.1 (2010-12-10)
--------------------
- Updated to jqueryui 1.8.7
[toutpt]
- Disable compression of jquery-ui-i18n.js. Compression was broken, resulting
in Chinese characters in the calendar popup.
[khink]
1.8.6.1 (2010-12-07)
--------------------
- Updated to jqueryui 1.8.6
[toutpt]
1.8.5.2 (2010-11-23)
--------------------
- Register browser components for a package-specific browser layer, so they
don't leak to sites without this product installed. You will need to run
the upgrade step from the Add-ons control panel if upgrading this product
on a site where it is already installed.
[davisagli]
1.8.5.1 (2010-10-21)
--------------------
- Updated to jqueryui 1.8.5.
[vincentfretin]
- Fixed L10nDatepicker to work without a ``request.LANGUAGE`` attribute.
[hannosch]
- Add icons to @@example.jqueryui view
[toutpt]
- Replaced original "smoothness" theme with a new "plone4" one more related
to "sunburst" that comes with Plone 4.
[marcosfromero]
1.8.4.1 (2010-08-11)
--------------------
- Update jqueryui to 1.8.4
[toutpt]
1.8.2.2 (2010-07-31)
--------------------
- Fixed the css to use images from the directory resources.
[vincentfretin]
- Added @@example.jqueryui page.
[toutpt]
1.8.2.1 (2010-07-27)
--------------------
- Since jquery-ui-i18n.js contains symbols other than utf-8 it should
be compressed with safe-encode type.
[spliter]
- Update to jqueryui 1.8.2
[toutpt]
1.8rc3 (2010-04-30)
-------------------
* Added jquery-ui-i18n.js which contains all translations for datepicker
plugin.
[vincentfretin]
* Removed completly the ``withjqtoolsplone3`` and ``withjqtools`` profiles.
We don't depend on collective.js.jquery anymore. So the jQuery of Plone 4 is kept.
The defaut profile now install jqueryui 1.8 without the tabs plugin which conflicts
with plone.app.jquerytools.
This version only works on Plone 4 because Plone 4 ships with JQuery 1.4+ and
jQuery 1.8 requires jQuery 1.4+.
[vincentfretin]
1.7.2.7 (2010-03-16)
--------------------
* ``withjqtools`` profile doesn't apply the collective.js.jquery profile
anymore. So you can use it with Plone 3.3/4, it will not replace the
jQuery version included in Plone.
[vincentfretin]
* Add ``withjqtoolsplone3`` profile which is the same as ``withjqtools`` but
installs the collective.js.jquery profile so the jQuery library is replaced
by a newer one. Use this profile only on Plone 3.2 with plone.app.jquerytools.
[vincentfretin]
1.7.2.6 (2010-02-02)
--------------------
* Add profile ``withjqtools``, a profile registering the jquery UI bundle
without the ``tabs`` plugin. This plugin conflicts with the same plugin
from jquery tools. Note that ``plone.app.jquerytools`` must be availabe in
your system, since it's profile is applied as dependency. It's not added
to the setup dependencies of this package. [rnix]
* Add jquery-ui-1.7.2.jq-tools-compat.js [rnix]
1.7.2.5 (2009-08-26)
--------------------
* Include collective.js.jquery configure.zcml [vincentfretin]
1.7.2.4 (2009-08-25)
--------------------
* Add dependency to collective.js.jquery in the default profile
1.7.2.3 (2009-08-17)
--------------------
* Update documentation: add note for developer about Plone3.3
* Remove all .* files include in the last release (MacOSX feature)
1.7.2.2 (2009-06-25)
--------------------
* Fixed images not being able to be loaded from css problem.
1.7.2.1 (2009-06-10)
--------------------
* Initial release with jquery-ui 1.7.2 (need jquery 1.3.x)