Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nobody uses simplejson #24

Closed
wants to merge 1 commit into from
Closed

Nobody uses simplejson #24

wants to merge 1 commit into from

Conversation

do3cc
Copy link
Member

@do3cc do3cc commented Jun 15, 2012

It is only imported in Products.TinyMCE as a fallback if json is not found, which is hard to achieve in Python 2.6 upwards.

Or is there any good reason not to remove it?

…fallback if json is not found, which is hard to achieve in Python 2.6 upwards.
@asigottech
Copy link
Member

AFAIK plone.app.jquerytoolsuses it as well not just TinyMCE.

Asigottech

On 15.6.2012 14:50, Patrick Gerken wrote:

It is only imported in Products.TinyMCE as a fallback if json is not found, which is hard to achieve in Python 2.6 upwards.

Or is there any good reason not to remove it?

You can merge this Pull Request by running:

git pull https://github.com/do3cc/buildout.coredev 4.2

Or you can view, comment on it, or merge it online at:

#24

-- Commit Summary --

  • Nobody uses simplejson, It is only imported in Products.TinyMCE as a fallback if json is not found, which is hard to achieve in Python 2.6 upwards.

-- File Changes --

M versions.cfg (1)

-- Patch Links --

https://github.com/plone/buildout.coredev/pull/24.patch
https://github.com/plone/buildout.coredev/pull/24.diff


Reply to this email directly or view it on GitHub:
#24

@do3cc
Copy link
Member Author

do3cc commented Jun 15, 2012

jquerytools does not use simplejson.
What I did to check this, I checkout coredev ten minutes ago, ran buildout and did a recursive grep through it in the omelette.
I only bring this up because I wanted to deploy sentry logging with raven
https://github.com/do3cc/raven
and this caused problems because the released versions.cfg all pin simplejson to the antique 2.1.x
So this caused pain and a bit of work to find out what has changed, who uses simplejson and could this affect anything. During this I found out that nobody really uses simplejson
OTOH if many extensions use simplejson they might be unhappy if the pinning is removed. Thats why I did not commit directly.

@asigottech
Copy link
Member

My bad, I was pulling it in with jquerytools when installing geocaching
on top.
There are a few that do depended on it but not many and they can deal
with it themselves I would think.

BR

Wyn

On 15.6.2012 15:01, Patrick Gerken wrote:

jquerytools does not use simplejson.
What I did to check this, I checkout coredev ten minutes ago, ran buildout and did a recursive grep through it in the omelette.
I only bring this up because I wanted to deploy sentry logging with raven
https://github.com/do3cc/raven
and this caused problems because the released versions.cfg all pin simplejson to the antique 2.1.x
So this caused pain and a bit of work to find out what has changed, who uses simplejson and could this affect anything. During this I found out that nobody really uses simplejson
OTOH if many extensions use simplejson they might be unhappy if the pinning is removed. Thats why I did not commit directly.


Reply to this email directly or view it on GitHub:
#24 (comment)

@do3cc
Copy link
Member Author

do3cc commented Jun 15, 2012

If nobody objects until tomorrow I merge it then

@asigottech
Copy link
Member

+1

On 15.6.2012 15:07, Patrick Gerken wrote:

If nobody objects until tomorrow I merge it then


Reply to this email directly or view it on GitHub:
#24 (comment)

@domenkozar
Copy link
Member

+1

@davisagli
Copy link
Member

-1. It's still there because simplejson is still used in preference to the stdlib json library in some cases, because it's faster. Please leave it; we shouldn't just remove version pins from the KGS.

@do3cc do3cc closed this Jun 19, 2012
saily added a commit that referenced this pull request Jan 23, 2015
Branch: refs/heads/master
Date: 2015-01-23T13:33:00+01:00
Author: Philip Bauer (pbauer) <bauer@starzel.de>
Commit: plone/plone.app.content@6ceac41

Keep default_page when renaming objects

Files changed:
M CHANGES.rst
M plone/app/content/browser/actions.py
M plone/app/content/browser/folder.py
M plone/app/content/tests/test_actions.py
M plone/app/content/tests/test_folder.py

diff --git a/CHANGES.rst b/CHANGES.rst
index 1e0de22..4b87c62 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -4,6 +4,9 @@ Changelog
 3.0.2 (unreleased)
 ------------------
 
+- Keep default_page when renaming objects.
+  [pbauer]
+
 - Use INameChooser for new id when renaming objects using folder_rename or
   object_rename. Fix plone/plone.app.dexterity#73
   [pbauer]
diff --git a/plone/app/content/browser/actions.py b/plone/app/content/browser/actions.py
index e2ae3c2..c5dc0bc 100644
--- a/plone/app/content/browser/actions.py
+++ b/plone/app/content/browser/actions.py
@@ -120,6 +120,10 @@ def handle_rename(self, action):
         newid = data['new_id']
         newid = INameChooser(parent).chooseName(newid, self.context)
 
+        context_state = getMultiAdapter(
+            (self.context, self.request), name='plone_context_state')
+        if context_state.is_default_page():
+            parent.setDefaultPage(newid)
         # Requires cmf.ModifyPortalContent permission
         self.context.title = data['new_title']
         # Requires zope2.CopyOrMove permission
diff --git a/plone/app/content/browser/folder.py b/plone/app/content/browser/folder.py
index 46f0370..56ee9f7 100644
--- a/plone/app/content/browser/folder.py
+++ b/plone/app/content/browser/folder.py
@@ -310,8 +310,13 @@ def __call__(self):
                     notify(ObjectModifiedEvent(obj))
                 if newid and obid != newid:
                     parent = aq_parent(aq_inner(obj))
-                    # make the new id safe
+                    # Make sure newid is safe
                     newid = INameChooser(parent).chooseName(newid, obj)
+                    # Update the default_page on the parent.
+                    context_state = getMultiAdapter(
+                        (obj, self.request), name='plone_context_state')
+                    if context_state.is_default_page():
+                        parent.setDefaultPage(newid)
                     parent.manage_renameObjects((obid, ), (newid, ))
                 elif change_title:
                     # the rename will have already triggered a reindex
diff --git a/plone/app/content/tests/test_actions.py b/plone/app/content/tests/test_actions.py
index e16d0c6..de4db77 100644
--- a/plone/app/content/tests/test_actions.py
+++ b/plone/app/content/tests/test_actions.py
@@ -135,6 +135,23 @@ def test_create_safe_id_on_renaming(self):
         self.portal.manage_delObjects(ids='f4-4')
         transaction.commit()
 
+    def test_default_page_updated_on_rename(self):
+        login(self.portal, TEST_USER_NAME)
+        folder = self.portal['f1']
+        folder.invokeFactory(type_name='Document', id='d1', title='A Doc')
+        doc = folder['d1']
+        folder.setDefaultPage('d1')
+        transaction.commit()
+        self.assertEqual(folder.default_page, 'd1')
+
+        # We need zope2.CopyOrMove permission to rename content
+        self.browser.open(doc.absolute_url() + '/object_rename')
+        self.browser.getControl(name='form.widgets.new_id').value = ' ?renamed'
+        self.browser.getControl(name='form.widgets.new_title').value = 'Doc'
+        self.browser.getControl(name='form.buttons.Rename').click()
+        self.assertEqual(folder.getFolderContents()[0].id, 'renamed')
+        self.assertEqual(folder.default_page, 'renamed')
+
     def test_rename_form_cancel(self):
         folder = self.portal['f1']
 
diff --git a/plone/app/content/tests/test_folder.py b/plone/app/content/tests/test_folder.py
index d6323fc..911af47 100644
--- a/plone/app/content/tests/test_folder.py
+++ b/plone/app/content/tests/test_folder.py
@@ -188,11 +188,11 @@ class RenameTest(BaseTest):
     def test_folder_rename_objects(self):
         from plone.app.content.browser.folder import RenameAction
         uid = IUUID(self.portal.page)
-        self.portal.invokeFactory('Document', id="page2", title="2nd page")
+        self.portal.invokeFactory('Document', id='page2', title='2nd page')
         uid2 = IUUID(self.portal.page2)
         items = [
-            {"UID": uid, "newid": "I am UnSafe! ", "newtitle": "New!"},
-            {"UID": uid2, "newid": ". ,;new id : _! ", "newtitle": "Newer!"},
+            {'UID': uid, 'newid': 'I am UnSafe! ', 'newtitle': 'New!'},
+            {'UID': uid2, 'newid': '. ,;new id : _! ', 'newtitle': 'Newer!'},
         ]
         self.request.form['torename'] = json.dumps(items)
         view = RenameAction(self.portal, self.request)
@@ -200,6 +200,18 @@ def test_folder_rename_objects(self):
         self.assertEqual(self.portal['i-am-unsafe'].title, "New!")
         self.assertEqual(self.portal['new-id-_'].title, "Newer!")
 
+    def test_default_page_updated_on_rename_objects(self):
+        from plone.app.content.browser.folder import RenameAction
+        self.portal.setDefaultPage('page')
+        uid = IUUID(self.portal.page)
+        items = [
+            {'UID': uid, 'newid': 'page-renamed', 'newtitle': 'Page'},
+        ]
+        self.request.form['torename'] = json.dumps(items)
+        view = RenameAction(self.portal, self.request)
+        view()
+        self.assertEqual(self.portal.default_page, 'page-renamed')
+
 
 class ContextInfoTest(BaseTest):
 


Repository: plone.app.content
Branch: refs/heads/master
Date: 2015-01-23T13:48:10+01:00
Author: Daniel Widerin (saily) <daniel@widerin.net>
Commit: plone/plone.app.content@ba34a9d

Merge pull request #24 from plone/keep_default_page_on_rename

Keep default_page when renaming objects

Files changed:
M CHANGES.rst
M plone/app/content/browser/actions.py
M plone/app/content/browser/folder.py
M plone/app/content/tests/test_actions.py
M plone/app/content/tests/test_folder.py

diff --git a/CHANGES.rst b/CHANGES.rst
index 1e0de22..4b87c62 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -4,6 +4,9 @@ Changelog
 3.0.2 (unreleased)
 ------------------
 
+- Keep default_page when renaming objects.
+  [pbauer]
+
 - Use INameChooser for new id when renaming objects using folder_rename or
   object_rename. Fix plone/plone.app.dexterity#73
   [pbauer]
diff --git a/plone/app/content/browser/actions.py b/plone/app/content/browser/actions.py
index e2ae3c2..c5dc0bc 100644
--- a/plone/app/content/browser/actions.py
+++ b/plone/app/content/browser/actions.py
@@ -120,6 +120,10 @@ def handle_rename(self, action):
         newid = data['new_id']
         newid = INameChooser(parent).chooseName(newid, self.context)
 
+        context_state = getMultiAdapter(
+            (self.context, self.request), name='plone_context_state')
+        if context_state.is_default_page():
+            parent.setDefaultPage(newid)
         # Requires cmf.ModifyPortalContent permission
         self.context.title = data['new_title']
         # Requires zope2.CopyOrMove permission
diff --git a/plone/app/content/browser/folder.py b/plone/app/content/browser/folder.py
index 46f0370..56ee9f7 100644
--- a/plone/app/content/browser/folder.py
+++ b/plone/app/content/browser/folder.py
@@ -310,8 +310,13 @@ def __call__(self):
                     notify(ObjectModifiedEvent(obj))
                 if newid and obid != newid:
                     parent = aq_parent(aq_inner(obj))
-                    # make the new id safe
+                    # Make sure newid is safe
                     newid = INameChooser(parent).chooseName(newid, obj)
+                    # Update the default_page on the parent.
+                    context_state = getMultiAdapter(
+                        (obj, self.request), name='plone_context_state')
+                    if context_state.is_default_page():
+                        parent.setDefaultPage(newid)
                     parent.manage_renameObjects((obid, ), (newid, ))
                 elif change_title:
                     # the rename will have already triggered a reindex
diff --git a/plone/app/content/tests/test_actions.py b/plone/app/content/tests/test_actions.py
index e16d0c6..de4db77 100644
--- a/plone/app/content/tests/test_actions.py
+++ b/plone/app/content/tests/test_actions.py
@@ -135,6 +135,23 @@ def test_create_safe_id_on_renaming(self):
         self.portal.manage_delObjects(ids='f4-4')
         transaction.commit()
 
+    def test_default_page_updated_on_rename(self):
+        login(self.portal, TEST_USER_NAME)
+        folder = self.portal['f1']
+        folder.invokeFactory(type_name='Document', id='d1', title='A Doc')
+        doc = folder['d1']
+        folder.setDefaultPage('d1')
+        transaction.commit()
+        self.assertEqual(folder.default_page, 'd1')
+
+        # We need zope2.CopyOrMove permission to rename content
+        self.browser.open(doc.absolute_url() + '/object_rename')
+        self.browser.getControl(name='form.widgets.new_id').value = ' ?renamed'
+        self.browser.getControl(name='form.widgets.new_title').value = 'Doc'
+        self.browser.getControl(name='form.buttons.Rename').click()
+        self.assertEqual(folder.getFolderContents()[0].id, 'renamed')
+        self.assertEqual(folder.default_page, 'renamed')
+
     def test_rename_form_cancel(self):
         folder = self.portal['f1']
 
diff --git a/plone/app/content/tests/test_folder.py b/plone/app/content/tests/test_folder.py
index d6323fc..911af47 100644
--- a/plone/app/content/tests/test_folder.py
+++ b/plone/app/content/tests/test_folder.py
@@ -188,11 +188,11 @@ class RenameTest(BaseTest):
     def test_folder_rename_objects(self):
         from plone.app.content.browser.folder import RenameAction
         uid = IUUID(self.portal.page)
-        self.portal.invokeFactory('Document', id="page2", title="2nd page")
+        self.portal.invokeFactory('Document', id='page2', title='2nd page')
         uid2 = IUUID(self.portal.page2)
         items = [
-            {"UID": uid, "newid": "I am UnSafe! ", "newtitle": "New!"},
-            {"UID": uid2, "newid": ". ,;new id : _! ", "newtitle": "Newer!"},
+            {'UID': uid, 'newid': 'I am UnSafe! ', 'newtitle': 'New!'},
+            {'UID': uid2, 'newid': '. ,;new id : _! ', 'newtitle': 'Newer!'},
         ]
         self.request.form['torename'] = json.dumps(items)
         view = RenameAction(self.portal, self.request)
@@ -200,6 +200,18 @@ def test_folder_rename_objects(self):
         self.assertEqual(self.portal['i-am-unsafe'].title, "New!")
         self.assertEqual(self.portal['new-id-_'].title, "Newer!")
 
+    def test_default_page_updated_on_rename_objects(self):
+        from plone.app.content.browser.folder import RenameAction
+        self.portal.setDefaultPage('page')
+        uid = IUUID(self.portal.page)
+        items = [
+            {'UID': uid, 'newid': 'page-renamed', 'newtitle': 'Page'},
+        ]
+        self.request.form['torename'] = json.dumps(items)
+        view = RenameAction(self.portal, self.request)
+        view()
+        self.assertEqual(self.portal.default_page, 'page-renamed')
+
 
 class ContextInfoTest(BaseTest):
thet added a commit that referenced this pull request Jan 26, 2015
Branch: refs/heads/master
Date: 2015-01-26T13:50:33+01:00
Author: Johannes Raggam (thet) <raggam-nl@adm.at>
Commit: plone/mockup@ee6b2d3

add missing changelog entry and upgrade notice

Files changed:
M CHANGES.rst
M mockup/GETTING_STARTED.md

diff --git a/CHANGES.rst b/CHANGES.rst
index ed528de..23f197c 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,7 +1,17 @@
 Changelog
 =========
 
-1.8.3 (unreleased)
+2.0.0 (unreleased)
+------------------
+
+- Patternslib merge: Use Patternslib's scanner and registry.  This allows us
+  to: Use Patternslib patterns with Mockup/Plone and use Mockup patterns with
+  Patternslib outside of Plone. For changes required to patterns, see:
+  mockup/GETTING_STARTED.md . Refs: #460.
+  [jcbrand]
+
+
+1.8.3 (2015-01-26)
 ------------------
 
 New patterns:
@@ -26,6 +36,22 @@ New patterns:
 
 Fixes and enhancements:
 
+- Test fixes.
+  [vangheem]
+
+- Various structure pattern fixes.
+  [vangheem]
+
+- Make relateditems fullwidth.
+  [vangheem]
+
+- Add npm and bower tasks to Makefile.
+  [benniboy]
+
+- TinyMCE pattern fix: Don't append scale to generated image url, if no scale
+  is given.
+  [frapell]
+
 - In the resource registry bundle detail view, add the fields
   ``last_compilation``, ``jscompilation`` and ``csscompilation`` for display.
   This gives more insight about the state of each bundle.
@@ -36,6 +62,9 @@ Fixes and enhancements:
   ``disabled`` states.
   [thet]
 
+- Relicensing from MIT to BSD. Refs #24
+  [thet]
+
 - Modal Pattern: If ``data-base-url`` attribute is available on the body, use
   it. Otherwise search for a ``<base>`` tag. Plone 5 dropped the usage of base
   tags.
diff --git a/mockup/GETTING_STARTED.md b/mockup/GETTING_STARTED.md
index 1ec0e5e..90b0522 100644
--- a/mockup/GETTING_STARTED.md
+++ b/mockup/GETTING_STARTED.md
@@ -131,6 +131,7 @@ After that, access the served site in a webbrowser under the url:
 
     http://localhost:8000
 
+
 # Including a local mockup-core checkout for developing
 
 If you want to also hack on mockup-core together with mockup and not push the
@@ -141,3 +142,30 @@ Just replace the mockup-core line in bower.json with:
 
 Please note, you have to commit the changes on mockup-core before running
 ``make bootstrap``.
+
+
+# Upgrade from pre-2.0 to 2.0 based Mockup patterns
+
+Since version 2.0, Mockup uses the Patternslib scanner and it's registry. This
+allows us to: Use Patternslib patterns with Mockup/Plone and use Mockup
+patterns with Patternslib outside of Plone. The integration with Patternslib
+require that some small changes be made to newly developed Mockup patterns:
+
+1. Patterns should now use pat-registry as dependency instead of
+   mockup-registry.
+
+        define([
+            'jquery'
+            'mockup-patterns-base',
+            'pat-registry'
+        ], function($, Base, registry) {
+
+2. Patterns' selectors are now explicitly specified via the trigger attribute.
+   For example:
+
+       var Modal = Base.extend({
+         name: 'modal',
+         trigger: '.pat-modal',
+
+3. Because of change 2, patterns now fire events via the emit method, instead
+   of the trigger method.
tisto added a commit that referenced this pull request Feb 27, 2015
Branch: refs/heads/master
Date: 2015-01-24T12:59:43+01:00
Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si>
Commit: https://github.com/plone/plone.app.upgrade/commit/d64f2e7f4228417ccd38117aa2143e5d0d6f568e

fix member security test (validate_email was removed in CMFPlone)

Files changed:
M plone/app/upgrade/v30/tests.py

diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py
index 9325d0d..174ed33 100644
--- a/plone/app/upgrade/v30/tests.py
+++ b/plone/app/upgrade/v30/tests.py
@@ -87,6 +87,7 @@
 from plone.app.upgrade.v30.alphas import reorderUserActions
 from plone.app.upgrade.v30.alphas import updatePASPlugins
 from plone.app.upgrade.v30.alphas import updateConfigletTitles
+from plone.app.upgrade.v30.alphas import updateMemberSecurity
 from plone.app.upgrade.v30.alphas import addCacheForResourceRegistry
 from plone.app.upgrade.v30.alphas import removeTablelessSkin
 from plone.app.upgrade.v30.alphas import addObjectProvidesIndex
@@ -660,6 +661,12 @@ def testAddEmailCharsetProperty(self):
             self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8')
 
     def testUpdateMemberSecurity(self):
+        # validate_email was removed in Plone 5, so we need to add it
+        # manually here
+        self.portal.manage_addProperty('validate_email', False, 'boolean')
+
+        updateMemberSecurity(self.portal)
+
         pprop = getToolByName(self.portal, 'portal_properties')
         self.assertEqual(
                 pprop.site_properties.getProperty('allowAnonymousViewAbout'),


Repository: plone.app.upgrade
Branch: refs/heads/master
Date: 2015-01-26T18:22:10+01:00
Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si>
Commit: https://github.com/plone/plone.app.upgrade/commit/cb2da21ac688e8def4f8f175fa493a7eeb8829f8

another test fix ('allowAnonymousViewAbout' property was removed)

Files changed:
M plone/app/upgrade/v30/tests.py

diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py
index 174ed33..65fb99c 100644
--- a/plone/app/upgrade/v30/tests.py
+++ b/plone/app/upgrade/v30/tests.py
@@ -661,16 +661,20 @@ def testAddEmailCharsetProperty(self):
             self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8')
 
     def testUpdateMemberSecurity(self):
-        # validate_email was removed in Plone 5, so we need to add it
-        # manually here
+        # These properties were removed in Plone 5, so we add them
+        # manually here and check if they are properly updated by the
+        # updateMemberSecurity upgrade step
+        pprop = getToolByName(self.portal, 'portal_properties')
         self.portal.manage_addProperty('validate_email', False, 'boolean')
+        pprop.site_properties.manage_addProperty(
+            'allowAnonymousViewAbout', True, 'boolean')
 
         updateMemberSecurity(self.portal)
 
-        pprop = getToolByName(self.portal, 'portal_properties')
         self.assertEqual(
-                pprop.site_properties.getProperty('allowAnonymousViewAbout'),
-                False)
+            pprop.site_properties.getProperty('allowAnonymousViewAbout'),
+            False
+        )
 
         pmembership = getToolByName(self.portal, 'portal_membership')
         self.assertEqual(pmembership.memberareaCreationFlag, False)


Repository: plone.app.upgrade
Branch: refs/heads/master
Date: 2015-01-26T19:42:49+01:00
Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si>
Commit: https://github.com/plone/plone.app.upgrade/commit/d4525b59f8b5ccabbd3c633ebf37a4921c298840

update changelog

Files changed:
M CHANGES.rst

diff --git a/CHANGES.rst b/CHANGES.rst
index 1bf846a..910e15b 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -4,6 +4,10 @@ Changelog
 1.3.9 (unreleased)
 ------------------
 
+- Update tests after removal of ``allowAnonymousViewAbout`` and
+  ``validate_email`` properties in CMFPlone.
+  [jcerjak]
+
 - Add upgrade step for the security control panel.
   [jcerjak]
 


Repository: plone.app.upgrade
Branch: refs/heads/master
Date: 2015-02-27T07:47:36+01:00
Author: Timo Stollenwerk () <contact@timostollenwerk.net>
Commit: https://github.com/plone/plone.app.upgrade/commit/a3d575cba24976e450ef5d5ef3f2e2d5079113b6

Merge branch 'master' into plip10359-security-controlpanel

Conflicts:
	CHANGES.rst

Files changed:
M CHANGES.rst
M MANIFEST.in
M plone/app/upgrade/tests/base.py
M plone/app/upgrade/tests/test_upgrade.py
M plone/app/upgrade/utils.py
M plone/app/upgrade/v25/tests.py
M plone/app/upgrade/v30/tests.py
M plone/app/upgrade/v31/tests.py
M plone/app/upgrade/v32/tests.py
M plone/app/upgrade/v33/tests.py
M plone/app/upgrade/v40/tests.py
M plone/app/upgrade/v42/configure.zcml
M plone/app/upgrade/v42/profiles/to_rc1/metadata.xml
M plone/app/upgrade/v43/configure.zcml
M plone/app/upgrade/v50/configure.zcml
M plone/app/upgrade/v50/profiles/to_alpha3/registry.xml
M plone/app/upgrade/v50/profiles/to_beta1/registry.xml
M setup.py

diff --git a/CHANGES.rst b/CHANGES.rst
index 910e15b..e25607e 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -8,6 +8,10 @@ Changelog
   ``validate_email`` properties in CMFPlone.
   [jcerjak]
 
+- Do not run tests not suited for the current Plone version 
+  (implemented for 4.0 and below)
+  [jensens]
+
 - Add upgrade step for the security control panel.
   [jcerjak]
 
diff --git a/MANIFEST.in b/MANIFEST.in
index 233d37d..6acb23e 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,3 @@
-include *.txt
 include *.rst
 
 recursive-include docs *
diff --git a/plone/app/upgrade/tests/base.py b/plone/app/upgrade/tests/base.py
index 840416c..5359e35 100644
--- a/plone/app/upgrade/tests/base.py
+++ b/plone/app/upgrade/tests/base.py
@@ -10,9 +10,9 @@
 from zope.site.hooks import setSite
 
 from Testing.ZopeTestCase.sandbox import Sandboxed
+from Products.PloneTestCase.PloneTestCase import PloneTestCase
 from Products.PloneTestCase.layer import PloneSiteLayer
-from Products.PloneTestCase.ptc import PloneTestCase
-from Products.PloneTestCase.ptc import setupPloneSite
+from Products.PloneTestCase.setup import setupPloneSite
 
 from Products.CMFCore.interfaces import IActionCategory
 from Products.CMFCore.interfaces import IActionInfo
@@ -20,8 +20,9 @@
 from Products.CMFCore.tests.base.testcase import WarningInterceptor
 from Products.GenericSetup.context import TarballImportContext
 
-setupPloneSite()
+from Products.Five import zcml
 
+setupPloneSite(products=["plone.app.folder"])
 
 class MigrationTest(PloneTestCase):
 
diff --git a/plone/app/upgrade/tests/test_upgrade.py b/plone/app/upgrade/tests/test_upgrade.py
index c697671..6771463 100644
--- a/plone/app/upgrade/tests/test_upgrade.py
+++ b/plone/app/upgrade/tests/test_upgrade.py
@@ -1,7 +1,8 @@
 from Products.CMFPlone.factory import _DEFAULT_PROFILE
 from Products.CMFCore.utils import getToolByName
-
+from plone.app.upgrade.utils import version_match
 from plone.app.upgrade.tests.base import MigrationTest
+import mock
 
 
 class TestUpgrade(MigrationTest):
@@ -24,6 +25,16 @@ def testProfileVersion(self):
         last = self.setup.getLastVersionForProfile(_DEFAULT_PROFILE)
         self.assertEqual(last, current)
 
+    @mock.patch('plone.app.upgrade.utils.plone_version', '5.0b1')
+    def testVersionMatch(self):
+        self.assertFalse(version_match('2.5'))
+        self.assertFalse(version_match('3.1b1'))
+        self.assertFalse(version_match('5.2.b1'))
+        self.assertTrue(version_match('5.0a3.dev0'))
+        self.assertTrue(version_match('5.0b1.dev0'))
+        self.assertTrue(version_match('5.0b3'))
+        self.assertTrue(version_match('5.0'))
+
     def testDoUpgrades(self):
         self.setRoles(['Manager'])
 
diff --git a/plone/app/upgrade/utils.py b/plone/app/upgrade/utils.py
index 5f1b5c7..66e72ff 100644
--- a/plone/app/upgrade/utils.py
+++ b/plone/app/upgrade/utils.py
@@ -11,10 +11,25 @@
 from Products.ZCatalog.ProgressHandler import ZLogHandler
 from ZODB.POSException import ConflictError
 
+import pkg_resources
+
 _marker = []
 
 logger = logging.getLogger('plone.app.upgrade')
 
+plone_version = pkg_resources.get_distribution("Products.CMFPlone").version
+
+
+def version_match(target):
+    """ Given, our versioning scheme is always major.minorANYTHING, where major
+    and minor are single-digit numbers, we can compare versions as follows.
+    pkg_resources.parse_version is not compatible with our versioning scheme
+    (like '5.0b1') and also not compatible with the semver.org proposal
+    (requires '5.0-beta1').
+    """
+    # MAJOR.MINOR
+    return (target[0], target[2]) == (plone_version[0], plone_version[2])
+
 
 def null_upgrade_step(tool):
     """ This is a null upgrade, use it when nothing happens """
diff --git a/plone/app/upgrade/v25/tests.py b/plone/app/upgrade/v25/tests.py
index 036e8b5..32628fb 100644
--- a/plone/app/upgrade/v25/tests.py
+++ b/plone/app/upgrade/v25/tests.py
@@ -4,6 +4,7 @@
 from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase
 from plone.app.upgrade.tests.base import MigrationTest
 from plone.app.upgrade.utils import loadMigrationProfile
+from plone.app.upgrade.utils import version_match
 
 from plone.app.upgrade.v25 import fixupPloneLexicon
 from plone.app.upgrade.v25 import setLoginFormInCookieAuth
@@ -117,6 +118,8 @@ def testDCMIStorageUpdated(self):
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
+    if not version_match('2.5'):
+        return suite
     suite.addTest(makeSuite(TestMigrations_v2_5_0))
     suite.addTest(makeSuite(TestMigrations_v2_5_1))
     suite.addTest(makeSuite(TestMigrations_v2_5_2))
diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py
index 65fb99c..7f1c7d2 100644
--- a/plone/app/upgrade/v30/tests.py
+++ b/plone/app/upgrade/v30/tests.py
@@ -74,6 +74,7 @@
 from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase
 from plone.app.upgrade.tests.base import MigrationTest
 from plone.app.upgrade.utils import loadMigrationProfile
+from plone.app.upgrade.utils import version_match
 
 from plone.app.upgrade.v30.alphas import enableZope3Site
 from plone.app.upgrade.v30.alphas import migrateOldActions
@@ -1111,6 +1112,8 @@ def testFullUpgrade(self):
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
+    if not version_match('3.0'):
+        return suite
     suite.addTest(makeSuite(TestMigrations_v2_5_x))
     suite.addTest(makeSuite(TestMigrations_v3_0_Actions))
     suite.addTest(makeSuite(TestMigrations_v3_0_alpha1))
diff --git a/plone/app/upgrade/v31/tests.py b/plone/app/upgrade/v31/tests.py
index 01005b3..a0a49e9 100644
--- a/plone/app/upgrade/v31/tests.py
+++ b/plone/app/upgrade/v31/tests.py
@@ -5,6 +5,7 @@
 
 from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase
 from plone.app.upgrade.tests.base import MigrationTest
+from plone.app.upgrade.utils import version_match
 
 from plone.app.upgrade.v31.betas import reinstallCMFPlacefulWorkflow
 
@@ -113,6 +114,8 @@ def testFullUpgrade(self):
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
+    if not version_match('3.1'):
+        return suite
     suite.addTest(makeSuite(TestMigrations_v3_1))
     suite.addTest(makeSuite(TestFunctionalMigrations))
     return suite
diff --git a/plone/app/upgrade/v32/tests.py b/plone/app/upgrade/v32/tests.py
index bc0e7a1..5cf445a 100644
--- a/plone/app/upgrade/v32/tests.py
+++ b/plone/app/upgrade/v32/tests.py
@@ -1,5 +1,6 @@
 from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase
 from plone.app.upgrade.tests.base import MigrationTest
+from plone.app.upgrade.utils import version_match
 from plone.app.upgrade.v32.betas import three1_beta1
 
 class TestMigrations_v3_2(MigrationTest):
@@ -45,6 +46,8 @@ def testFullUpgrade(self):
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
+    if not version_match('3.2'):
+        return suite
     suite.addTest(makeSuite(TestMigrations_v3_2))
     suite.addTest(makeSuite(TestFunctionalMigrations))
     return suite
diff --git a/plone/app/upgrade/v33/tests.py b/plone/app/upgrade/v33/tests.py
index 01a5de8..3c846cd 100644
--- a/plone/app/upgrade/v33/tests.py
+++ b/plone/app/upgrade/v33/tests.py
@@ -3,6 +3,8 @@
 from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase
 from plone.app.upgrade.tests.base import MigrationTest
 from plone.app.upgrade.v33 import three2_three3
+from plone.app.upgrade.utils import version_match
+
 
 class TestMigrations_v3_3(MigrationTest):
 
@@ -88,6 +90,8 @@ def testFolderUpgrade(self):
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
+    if not version_match('3.3'):
+        return suite
     suite.addTest(makeSuite(TestMigrations_v3_3))
     suite.addTest(makeSuite(TestFunctionalMigrations))
     return suite
diff --git a/plone/app/upgrade/v40/tests.py b/plone/app/upgrade/v40/tests.py
index c350619..42b7bb0 100644
--- a/plone/app/upgrade/v40/tests.py
+++ b/plone/app/upgrade/v40/tests.py
@@ -30,6 +30,7 @@
 from plone.app.upgrade.v40.betas import updateIconMetadata
 from plone.app.upgrade.v40.betas import removeLargePloneFolder
 from plone.app.upgrade.tests.base import MigrationTest
+from plone.app.upgrade.utils import version_match
 
 from plone.portlet.static import static
 from plone.portlets.interfaces import IPortletAssignmentMapping
@@ -662,5 +663,7 @@ def testProfile(self):
 
 
 def test_suite():
-    from unittest import defaultTestLoader
-    return defaultTestLoader.loadTestsFromName(__name__)
+    import unittest
+    if not version_match('4.0'):
+        return unittest.TestSuite()
+    return unittest.defaultTestLoader.loadTestsFromName(__name__)
diff --git a/plone/app/upgrade/v42/configure.zcml b/plone/app/upgrade/v42/configure.zcml
index 11cdb91..8ee6574 100644
--- a/plone/app/upgrade/v42/configure.zcml
+++ b/plone/app/upgrade/v42/configure.zcml
@@ -185,4 +185,29 @@
 
     </genericsetup:upgradeSteps>
 
+    <genericsetup:upgradeSteps
+        source="4211"
+        destination="4212"
+        profile="Products.CMFPlone:plone">
+
+        <genericsetup:upgradeStep
+            title="Miscellaneous"
+            description=""
+            handler="..utils.null_upgrade_step"
+            />
+    </genericsetup:upgradeSteps>
+
+    <genericsetup:upgradeSteps
+        source="4212"
+        destination="4213"
+        profile="Products.CMFPlone:plone">
+
+        <genericsetup:upgradeStep
+            title="Miscellaneous"
+            description=""
+            handler="..utils.null_upgrade_step"
+            />
+    </genericsetup:upgradeSteps>
+
+
 </configure>
diff --git a/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml b/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml
index 048b99f..df3a631 100644
--- a/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml
+++ b/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml
@@ -3,6 +3,5 @@
   <version>1</version>
   <dependencies>
     <dependency>profile-plone.app.jquery:default</dependency>
-    <dependency>profile-plone.app.search:default</dependency>
   </dependencies>
 </metadata>
diff --git a/plone/app/upgrade/v43/configure.zcml b/plone/app/upgrade/v43/configure.zcml
index 523f731..71c0a87 100644
--- a/plone/app/upgrade/v43/configure.zcml
+++ b/plone/app/upgrade/v43/configure.zcml
@@ -8,7 +8,7 @@
     <include file="profiles.zcml" />
 
     <genericsetup:upgradeSteps
-        source="4208"
+        source="4213"
         destination="4300"
         profile="Products.CMFPlone:plone">
 
diff --git a/plone/app/upgrade/v50/configure.zcml b/plone/app/upgrade/v50/configure.zcml
index 01dd8e9..b840fc8 100644
--- a/plone/app/upgrade/v50/configure.zcml
+++ b/plone/app/upgrade/v50/configure.zcml
@@ -7,7 +7,7 @@
     <include file="profiles.zcml" />
 
     <gs:upgradeSteps
-        source="4309"
+        source="4310"
         destination="5000"
         profile="Products.CMFPlone:plone">
 
diff --git a/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml b/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml
index 94c1214..de3f86f 100644
--- a/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml
+++ b/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml
@@ -108,7 +108,7 @@
     <field type="plone.registry.field.ASCII">
       <title>URL of less.js</title>
     </field>
-    <value>++plone++static/components/less/dist/less-1.7.4.js</value>
+    <value>++plone++static/components/less/dist/less.js</value>
   </record>
   <record name="plone.resources.less-modify">
     <field type="plone.registry.field.ASCII">
@@ -120,7 +120,7 @@
 
   <records prefix="plone.resources/less"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/less/dist/less-1.7.4.js</value>
+      <value key="js">++plone++static/components/less/dist/less.js</value>
   </records>
 
   <record name="plone.resources.less-variables">
@@ -138,6 +138,10 @@
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++plone++static/components/mockup-core/js/pattern.js</value>
   </records>
+  <records prefix="plone.resources/mockup-parser"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/mockup-core/js/parser.js</value>
+  </records>
 
   <records prefix="plone.resources/jquery"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
@@ -386,224 +390,224 @@
 
   <records prefix="plone.resources/tinymce-advlist"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/advlist/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/advlist/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
 
 
   <records prefix="plone.resources/tinymce-anchor"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/anchor/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/anchor/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-autolink"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/autolink/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autolink/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-autoresize"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/autoresize/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autoresize/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-autosave"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/autosave/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autosave/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-bbcode"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/bbcode/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/bbcode/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-charmap"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/charmap/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/charmap/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-code"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/code/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/code/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-colorpicker"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/colorpicker/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/colorpicker/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-contextmenu"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/contextmenu/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/contextmenu/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-directionality"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/directionality/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/directionality/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-emoticons"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/emoticons/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/emoticons/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-fullpage"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/fullpage/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/fullpage/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-fullscreen"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/fullscreen/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/fullscreen/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-hr"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/hr/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/hr/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-image"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/image/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/image/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-importcss"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/importcss/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/importcss/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-insertdatetime"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/insertdatetime/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/insertdatetime/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-layer"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/layer/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/layer/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-legacyoutput"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/legacyoutput/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/legacyoutput/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-link"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/link/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/link/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-lists"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/lists/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/lists/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-media"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/media/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/media/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-nonbreaking"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/nonbreaking/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/nonbreaking/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-noneditable"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/noneditable/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/noneditable/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-pagebreak"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/pagebreak/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/pagebreak/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-paste"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/paste/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/paste/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-preview"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/preview/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/preview/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-print"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/print/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/print/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-save"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/save/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/save/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-searchreplace"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/searchreplace/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/searchreplace/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-spellchecker"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/spellchecker/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/spellchecker/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-tabfocus"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/tabfocus/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/tabfocus/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-table"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/table/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/table/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-template"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/template/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/template/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-textcolor"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/textcolor/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/textcolor/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-textpattern"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/textpattern/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/textpattern/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-visualblocks"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/visualblocks/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/visualblocks/plugin.js</value>
       <value key="css">
-        <element>++plone++static/components/tinymce/plugins/visualblocks/css/visualblocks.css</element>
+        <element>++plone++static/components/tinymce-builded/js/tinymce/plugins/visualblocks/css/visualblocks.css</element>
       </value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-visualchars"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/visualchars/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/visualchars/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-wordcount"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/wordcount/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/wordcount/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-modern-theme"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/themes/modern/theme.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/themes/modern/theme.js</value>
       <value key="deps">tinymce</value>
   </records>
 
 
   <records prefix="plone.resources/tinymce"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/tinymce.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/tinymce.js</value>
       <value key="export">window.tinyMCE</value>
       <value key="init">function () { this.tinyMCE.DOM.events.domLoaded = true; return this.tinyMCE; }</value>
       <value key="css">
-        <element>++plone++static/components/tinymce/skins/lightgray/skin.min.css</element>
-        <element>++plone++static/components/tinymce/skins/lightgray/content.inline.min.css</element>
+        <element>++plone++static/components/tinymce-builded/js/tinymce/skins/lightgray/skin.min.css</element>
+        <element>++plone++static/components/tinymce-builded/js/tinymce/skins/lightgray/content.inline.min.css</element>
       </value>
   </records>
 
@@ -629,6 +633,11 @@
       <value key="js">++resource++mockupjs/i18n.js</value>
   </records>
 
+  <records prefix="plone.resources/translate"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockupjs/i18n-wrapper.js</value>
+  </records>
+
 
  <!-- Patterns -->
 
@@ -642,12 +651,20 @@
 
   <records prefix="plone.resources/mockup-patterns-select2"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++resource++mockup/select2/patterns.js</value>
+      <value key="js">++resource++mockup/select2/pattern.js</value>
       <value key="css">
         <element>++resource++mockup/select2/pattern.select2.less</element>
       </value>
   </records>
 
+  <records prefix="plone.resources/mockup-patterns-livesearch"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/livesearch/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/livesearch/pattern.livesearch.less</element>
+      </value>
+  </records>
+
   <records prefix="plone.resources/mockup-patterns-accessibility"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++resource++mockup/accessibility/pattern.js</value>
@@ -666,6 +683,11 @@
       <value key="js">++resource++mockup/backdrop/pattern.js</value>
   </records>
 
+  <records prefix="plone.resources/mockup-patterns-cookietrigger"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/cookietrigger/pattern.js</value>
+  </records>
+
   <records prefix="plone.resources/mockup-patterns-sortable"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++resource++mockup/sortable/pattern.js</value>
@@ -681,6 +703,11 @@
       <value key="js">++resource++mockup/formunloadalert/pattern.js</value>
   </records>
 
+  <records prefix="plone.resources/mockup-patterns-inlinevalidation"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/inlinevalidation/pattern.js</value>
+  </records>
+
   <records prefix="plone.resources/mockup-patterns-modal"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++resource++mockup/modal/pattern.js</value>
@@ -726,6 +753,9 @@
   <records prefix="plone.resources/mockup-patterns-select2"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++resource++mockup/select2/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/select2/pattern.select2.less</element>
+      </value>
   </records>
 
   <records prefix="plone.resources/mockup-patterns-structure"
@@ -751,6 +781,11 @@
       <value key="js">++resource++mockup/tablesorter/pattern.js</value>
   </records>
 
+  <records prefix="plone.resources/mockup-patterns-textareamimetypeselector"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/textareamimetypeselector/pattern.js</value>
+  </records>
+
   <records prefix="plone.resources/mockup-patterns-tinymce"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++resource++mockup/tinymce/pattern.js</value>
@@ -818,44 +853,13 @@
       <value key="js">++plone++static/components/r.js/dist/r.js</value>
   </records>
 
-  <!-- legacy js -->
-
 
-  <records prefix="plone.resources/plone_javascript_variables"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">plone_javascript_variables.js</value>
-  </records>
 
-  <records prefix="plone.resources/cookie_functions"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">cookie_functions.js</value>
-  </records>
+  <!-- legacy js -->
   <records prefix="plone.resources/jquery-highlightsearchterms"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">jquery.highlightsearchterms.js</value>
   </records>
-  <records prefix="plone.resources/inline-validation"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">inline_validation.js</value>
-  </records>
-  <records prefix="plone.resources/kss-bbb"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">kss-bbb.js</value>
-  </records>
-  <records prefix="plone.resources/table_sorter"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">table_sorter.js</value>
-  </records>
-  <records prefix="plone.resources/unlockOnFormUnload"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">unlockOnFormUnload.js</value>
-  </records>
-
-  <!-- disabled -->
-  <records prefix="plone.resources/mark_special_links"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">mark_special_links.js</value>
-  </records>
 
   <record name="plone.resources.last_legacy_import">
     <field type="plone.registry.field.Datetime">
@@ -921,7 +925,6 @@
       <value key="css">
         <element>++plone++static/plone.less</element>
       </value>
-      <value key="deps">jquery</value>
   </records>
 
   <!-- Bundles -->
@@ -940,12 +943,7 @@
   <records prefix="plone.bundles/plone-legacy"
             interface='Products.CMFPlone.interfaces.IBundleRegistry'>
     <value key="resources" purge="false">
-      <element>plone_javascript_variables</element>
-      <element>unlockOnFormUnload</element>
-      <element>table_sorter</element>
-      <element>inline-validation</element>
       <element>jquery-highlightsearchterms</element>
-      <element>cookie_functions</element>
     </value>
     <value key="depends">plone</value>
     <value key="jscompilation">++plone++static/plone-legacy-compiled.js</value>
diff --git a/plone/app/upgrade/v50/profiles/to_beta1/registry.xml b/plone/app/upgrade/v50/profiles/to_beta1/registry.xml
index 12883fa..6865f48 100644
--- a/plone/app/upgrade/v50/profiles/to_beta1/registry.xml
+++ b/plone/app/upgrade/v50/profiles/to_beta1/registry.xml
@@ -8,4 +8,170 @@
            prefix="plone" />
   <records interface="Products.CMFPlone.interfaces.ISiteSchema"
            prefix="plone" />
+
+  <records prefix="plone.resources/mockup-patterns-contentloader"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/contentloader/pattern.js</value>
+  </records>
+  <records prefix="plone.resources/mockup-patterns-resourceregistry"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="url">++resource++mockup/resourceregistry</value>
+      <value key="js">++resource++mockup/resourceregistry/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/resourceregistry/pattern.resourceregistry.less</element>
+      </value>
+  </records>
+
+
+  <!-- Plone bundle resources -->
+  <records prefix="plone.resources/plone"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++plone.js</value>
+      <value key="css">
+        <element>++plone++static/plone.less</element>
+      </value>
+  </records>
+  <records prefix="plone.resources/plone-logged-in"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++plone-logged-in.js</value>
+      <value key="css">
+        <element>++plone++static/plone-logged-in.less</element>
+      </value>
+  </records>
+  <records prefix="plone.resources/resourceregistry"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/resourceregistry.js</value>
+      <value key="css">
+        <element>++plone++static/resourceregistry.less</element>
+      </value>
+  </records>
+
+  <!-- Bundles -->
+  <records prefix="plone.bundles/plone"
+            interface='Products.CMFPlone.interfaces.IBundleRegistry'>
+    <value key="resources">
+      <element>plone</element>
+    </value>
+    <value key="enabled">True</value>
+    <value key="jscompilation">++plone++static/plone-compiled.min.js</value>
+    <value key="csscompilation">++plone++static/plone-compiled.css</value>
+    <value key="last_compilation">2014-11-26 00:00:00</value>
+    <value key="depends">plone-logged-in</value>
+  </records>
+
+  <records prefix="plone.bundles/plone-logged-in"
+            interface='Products.CMFPlone.interfaces.IBundleRegistry'>
+    <value key="resources">
+      <element>plone-logged-in</element>
+    </value>
+    <value key="enabled">True</value>
+    <value key="expression">python: member is not None</value>
+    <value key="jscompilation">++plone++static/plone-logged-in-compiled.min.js</value>
+    <value key="csscompilation">++plone++static/plone-logged-in-compiled.css</value>
+    <value key="last_compilation">2014-11-26 00:00:00</value>
+  </records>
+
+  <records prefix="plone.bundles/resourceregistry"
+            interface='Products.CMFPlone.interfaces.IBundleRegistry'>
+    <value key="resources">
+      <element>resourceregistry</element>
+    </value>
+    <value key="enabled">False</value>
+    <value key="jscompilation">++plone++static/resourceregistry-compiled.min.js</value>
+    <value key="csscompilation">++plone++static/resourceregistry-compiled.css</value>
+    <value key="last_compilation">2015-02-13 00:00:00</value>
+  </records>
+
+  <!-- recurrence widget registrations -->
+  <records prefix="plone.resources/jquery.recurrenceinput"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/jquery.recurrenceinput.js/src/jquery.recurrenceinput</value>
+      <!-- Perhaps a bit wonky here for now, depending on legacy jquery tools stuff here -->
+      <value key="deps">jquery,resource-plone-app-jquerytools-js,resource-plone-app-jquerytools-dateinput-js,jquery.tmpl</value>
+  </records>
+  <records prefix="plone.resources/jquery.tmpl"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/jquery.recurrenceinput.js/lib/jquery.tmpl</value>
+      <value key="deps">jquery</value>
+  </records>
+
+  <records prefix="plone.resources/mockup-patterns-markspeciallinks"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/markspeciallinks/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/markspeciallinks/pattern.markspeciallinks.less</element>
+      </value>
+  </records>
+
+   <!-- patternslib dependencies -->
+  <records prefix="plone.resources/pat-compat"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/compat</value>
+  </records>
+  <records prefix="plone.resources/pat-registry"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/registry</value>
+  </records>
+  <records prefix="plone.resources/pat-jquery-ext"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/jquery-ext</value>
+  </records>
+  <records prefix="plone.resources/pat-logger"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/logger</value>
+  </records>
+  <records prefix="plone.resources/pat-parser"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/parser</value>
+  </records>
+  <records prefix="plone.resources/pat-utils"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/utils</value>
+  </records>
+  <records prefix="plone.resources/logging"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/logging/src/logging</value>
+  </records>
+
+
+  <!-- add theme mapper related -->
+  
+    <!-- pattern -->
+    <records prefix="plone.resources/mockup-patterns-filemanager"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="url">++resource++mockup/filemanager</value>
+      <value key="js">++resource++mockup/filemanager/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/filemanager/pattern.filemanager.less</element>
+      </value>
+    </records>
+    <records prefix="plone.resources/mockup-patterns-thememapper"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="url">++resource++mockup/thememapper</value>
+      <value key="js">++resource++mockup/thememapper/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/thememapper/pattern.thememapper.less</element>
+      </value>
+    </records>
+
+    <!-- bundle resource -->
+    <records prefix="plone.resources/thememapper"
+             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++plone.app.theming/thememapper.js</value>
+      <value key="css">
+        <element>++resource++plone.app.theming/thememapper.less</element>
+      </value>
+    </records>
+
+    <!-- bundle -->
+    <records prefix="plone.bundles/thememapper"
+             interface='Products.CMFPlone.interfaces.IBundleRegistry'>
+      <value key="resources">
+        <element>thememapper</element>
+       </value>
+       <value key="enabled">False</value>
+       <value key="jscompilation">++resource++plone.app.theming/thememapper-compiled.min.js</value>
+       <value key="csscompilation">++resource++plone.app.theming/thememapper-compiled.css</value>
+       <value key="last_compilation">2015-02-13 00:00:00</value>
+    </records>
 </registry>
diff --git a/setup.py b/setup.py
index 1dd33a5..9c38656 100644
--- a/setup.py
+++ b/setup.py
@@ -26,6 +26,7 @@
       zip_safe=False,
       extras_require=dict(
         test=[
+            'mock',
             'Products.CMFPlacefulWorkflow',
             'Products.CMFQuickInstallerTool',
             'Products.PloneTestCase',


Repository: plone.app.upgrade
Branch: refs/heads/master
Date: 2015-02-27T17:22:00+01:00
Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si>
Commit: https://github.com/plone/plone.app.upgrade/commit/edadcaeddd63cb370a3284dc82417ea52694586a

fix tests (don't fail if the security properties are already there)

This restores Plone 4 compatibility

Files changed:
M plone/app/upgrade/v30/tests.py

diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py
index 7f1c7d2..1bf4207 100644
--- a/plone/app/upgrade/v30/tests.py
+++ b/plone/app/upgrade/v30/tests.py
@@ -663,12 +663,18 @@ def testAddEmailCharsetProperty(self):
 
     def testUpdateMemberSecurity(self):
         # These properties were removed in Plone 5, so we add them
-        # manually here and check if they are properly updated by the
+        # manually here if needed and check if they are properly updated by the
         # updateMemberSecurity upgrade step
         pprop = getToolByName(self.portal, 'portal_properties')
-        self.portal.manage_addProperty('validate_email', False, 'boolean')
-        pprop.site_properties.manage_addProperty(
-            'allowAnonymousViewAbout', True, 'boolean')
+        try:
+            self.portal.manage_addProperty('validate_email', False, 'boolean')
+        except:  # property is already there
+            pass
+        try:
+            pprop.site_properties.manage_addProperty(
+                'allowAnonymousViewAbout', True, 'boolean')
+        except:  # property is already there
+            pass
 
         updateMemberSecurity(self.portal)
 


Repository: plone.app.upgrade
Branch: refs/heads/master
Date: 2015-02-27T17:38:40+01:00
Author: Timo Stollenwerk (tisto) <tisto@plone.org>
Commit: https://github.com/plone/plone.app.upgrade/commit/e8a445959e6c2a1ee8d4bb467105c56033ed34f2

Merge pull request #24 from plone/plip10359-security-controlpanel

Plip10359 security controlpanel

Files changed:
M CHANGES.rst
M plone/app/upgrade/v30/tests.py

diff --git a/CHANGES.rst b/CHANGES.rst
index f75c955..e25607e 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -4,6 +4,10 @@ Changelog
 1.3.9 (unreleased)
 ------------------
 
+- Update tests after removal of ``allowAnonymousViewAbout`` and
+  ``validate_email`` properties in CMFPlone.
+  [jcerjak]
+
 - Do not run tests not suited for the current Plone version 
   (implemented for 4.0 and below)
   [jensens]
diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py
index e4bf5da..1bf4207 100644
--- a/plone/app/upgrade/v30/tests.py
+++ b/plone/app/upgrade/v30/tests.py
@@ -88,6 +88,7 @@
 from plone.app.upgrade.v30.alphas import reorderUserActions
 from plone.app.upgrade.v30.alphas import updatePASPlugins
 from plone.app.upgrade.v30.alphas import updateConfigletTitles
+from plone.app.upgrade.v30.alphas import updateMemberSecurity
 from plone.app.upgrade.v30.alphas import addCacheForResourceRegistry
 from plone.app.upgrade.v30.alphas import removeTablelessSkin
 from plone.app.upgrade.v30.alphas import addObjectProvidesIndex
@@ -661,10 +662,26 @@ def testAddEmailCharsetProperty(self):
             self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8')
 
     def testUpdateMemberSecurity(self):
+        # These properties were removed in Plone 5, so we add them
+        # manually here if needed and check if they are properly updated by the
+        # updateMemberSecurity upgrade step
         pprop = getToolByName(self.portal, 'portal_properties')
+        try:
+            self.portal.manage_addProperty('validate_email', False, 'boolean')
+        except:  # property is already there
+            pass
+        try:
+            pprop.site_properties.manage_addProperty(
+                'allowAnonymousViewAbout', True, 'boolean')
+        except:  # property is already there
+            pass
+
+        updateMemberSecurity(self.portal)
+
         self.assertEqual(
-                pprop.site_properties.getProperty('allowAnonymousViewAbout'),
-                False)
+            pprop.site_properties.getProperty('allowAnonymousViewAbout'),
+            False
+        )
 
         pmembership = getToolByName(self.portal, 'portal_membership')
         self.assertEqual(pmembership.memberareaCreationFlag, False)
tisto added a commit that referenced this pull request Feb 27, 2015
Branch: refs/heads/master
Date: 2015-01-24T12:59:43+01:00
Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si>
Commit: https://github.com/plone/plone.app.upgrade/commit/d64f2e7f4228417ccd38117aa2143e5d0d6f568e

fix member security test (validate_email was removed in CMFPlone)

Files changed:
M plone/app/upgrade/v30/tests.py

diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py
index 9325d0d..174ed33 100644
--- a/plone/app/upgrade/v30/tests.py
+++ b/plone/app/upgrade/v30/tests.py
@@ -87,6 +87,7 @@
 from plone.app.upgrade.v30.alphas import reorderUserActions
 from plone.app.upgrade.v30.alphas import updatePASPlugins
 from plone.app.upgrade.v30.alphas import updateConfigletTitles
+from plone.app.upgrade.v30.alphas import updateMemberSecurity
 from plone.app.upgrade.v30.alphas import addCacheForResourceRegistry
 from plone.app.upgrade.v30.alphas import removeTablelessSkin
 from plone.app.upgrade.v30.alphas import addObjectProvidesIndex
@@ -660,6 +661,12 @@ def testAddEmailCharsetProperty(self):
             self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8')
 
     def testUpdateMemberSecurity(self):
+        # validate_email was removed in Plone 5, so we need to add it
+        # manually here
+        self.portal.manage_addProperty('validate_email', False, 'boolean')
+
+        updateMemberSecurity(self.portal)
+
         pprop = getToolByName(self.portal, 'portal_properties')
         self.assertEqual(
                 pprop.site_properties.getProperty('allowAnonymousViewAbout'),


Repository: plone.app.upgrade
Branch: refs/heads/master
Date: 2015-01-26T18:22:10+01:00
Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si>
Commit: https://github.com/plone/plone.app.upgrade/commit/cb2da21ac688e8def4f8f175fa493a7eeb8829f8

another test fix ('allowAnonymousViewAbout' property was removed)

Files changed:
M plone/app/upgrade/v30/tests.py

diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py
index 174ed33..65fb99c 100644
--- a/plone/app/upgrade/v30/tests.py
+++ b/plone/app/upgrade/v30/tests.py
@@ -661,16 +661,20 @@ def testAddEmailCharsetProperty(self):
             self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8')
 
     def testUpdateMemberSecurity(self):
-        # validate_email was removed in Plone 5, so we need to add it
-        # manually here
+        # These properties were removed in Plone 5, so we add them
+        # manually here and check if they are properly updated by the
+        # updateMemberSecurity upgrade step
+        pprop = getToolByName(self.portal, 'portal_properties')
         self.portal.manage_addProperty('validate_email', False, 'boolean')
+        pprop.site_properties.manage_addProperty(
+            'allowAnonymousViewAbout', True, 'boolean')
 
         updateMemberSecurity(self.portal)
 
-        pprop = getToolByName(self.portal, 'portal_properties')
         self.assertEqual(
-                pprop.site_properties.getProperty('allowAnonymousViewAbout'),
-                False)
+            pprop.site_properties.getProperty('allowAnonymousViewAbout'),
+            False
+        )
 
         pmembership = getToolByName(self.portal, 'portal_membership')
         self.assertEqual(pmembership.memberareaCreationFlag, False)


Repository: plone.app.upgrade
Branch: refs/heads/master
Date: 2015-01-26T19:42:49+01:00
Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si>
Commit: https://github.com/plone/plone.app.upgrade/commit/d4525b59f8b5ccabbd3c633ebf37a4921c298840

update changelog

Files changed:
M CHANGES.rst

diff --git a/CHANGES.rst b/CHANGES.rst
index 1bf846a..910e15b 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -4,6 +4,10 @@ Changelog
 1.3.9 (unreleased)
 ------------------
 
+- Update tests after removal of ``allowAnonymousViewAbout`` and
+  ``validate_email`` properties in CMFPlone.
+  [jcerjak]
+
 - Add upgrade step for the security control panel.
   [jcerjak]
 


Repository: plone.app.upgrade
Branch: refs/heads/master
Date: 2015-02-27T07:47:36+01:00
Author: Timo Stollenwerk () <contact@timostollenwerk.net>
Commit: https://github.com/plone/plone.app.upgrade/commit/a3d575cba24976e450ef5d5ef3f2e2d5079113b6

Merge branch 'master' into plip10359-security-controlpanel

Conflicts:
	CHANGES.rst

Files changed:
M CHANGES.rst
M MANIFEST.in
M plone/app/upgrade/tests/base.py
M plone/app/upgrade/tests/test_upgrade.py
M plone/app/upgrade/utils.py
M plone/app/upgrade/v25/tests.py
M plone/app/upgrade/v30/tests.py
M plone/app/upgrade/v31/tests.py
M plone/app/upgrade/v32/tests.py
M plone/app/upgrade/v33/tests.py
M plone/app/upgrade/v40/tests.py
M plone/app/upgrade/v42/configure.zcml
M plone/app/upgrade/v42/profiles/to_rc1/metadata.xml
M plone/app/upgrade/v43/configure.zcml
M plone/app/upgrade/v50/configure.zcml
M plone/app/upgrade/v50/profiles/to_alpha3/registry.xml
M plone/app/upgrade/v50/profiles/to_beta1/registry.xml
M setup.py

diff --git a/CHANGES.rst b/CHANGES.rst
index 910e15b..e25607e 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -8,6 +8,10 @@ Changelog
   ``validate_email`` properties in CMFPlone.
   [jcerjak]
 
+- Do not run tests not suited for the current Plone version 
+  (implemented for 4.0 and below)
+  [jensens]
+
 - Add upgrade step for the security control panel.
   [jcerjak]
 
diff --git a/MANIFEST.in b/MANIFEST.in
index 233d37d..6acb23e 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,3 @@
-include *.txt
 include *.rst
 
 recursive-include docs *
diff --git a/plone/app/upgrade/tests/base.py b/plone/app/upgrade/tests/base.py
index 840416c..5359e35 100644
--- a/plone/app/upgrade/tests/base.py
+++ b/plone/app/upgrade/tests/base.py
@@ -10,9 +10,9 @@
 from zope.site.hooks import setSite
 
 from Testing.ZopeTestCase.sandbox import Sandboxed
+from Products.PloneTestCase.PloneTestCase import PloneTestCase
 from Products.PloneTestCase.layer import PloneSiteLayer
-from Products.PloneTestCase.ptc import PloneTestCase
-from Products.PloneTestCase.ptc import setupPloneSite
+from Products.PloneTestCase.setup import setupPloneSite
 
 from Products.CMFCore.interfaces import IActionCategory
 from Products.CMFCore.interfaces import IActionInfo
@@ -20,8 +20,9 @@
 from Products.CMFCore.tests.base.testcase import WarningInterceptor
 from Products.GenericSetup.context import TarballImportContext
 
-setupPloneSite()
+from Products.Five import zcml
 
+setupPloneSite(products=["plone.app.folder"])
 
 class MigrationTest(PloneTestCase):
 
diff --git a/plone/app/upgrade/tests/test_upgrade.py b/plone/app/upgrade/tests/test_upgrade.py
index c697671..6771463 100644
--- a/plone/app/upgrade/tests/test_upgrade.py
+++ b/plone/app/upgrade/tests/test_upgrade.py
@@ -1,7 +1,8 @@
 from Products.CMFPlone.factory import _DEFAULT_PROFILE
 from Products.CMFCore.utils import getToolByName
-
+from plone.app.upgrade.utils import version_match
 from plone.app.upgrade.tests.base import MigrationTest
+import mock
 
 
 class TestUpgrade(MigrationTest):
@@ -24,6 +25,16 @@ def testProfileVersion(self):
         last = self.setup.getLastVersionForProfile(_DEFAULT_PROFILE)
         self.assertEqual(last, current)
 
+    @mock.patch('plone.app.upgrade.utils.plone_version', '5.0b1')
+    def testVersionMatch(self):
+        self.assertFalse(version_match('2.5'))
+        self.assertFalse(version_match('3.1b1'))
+        self.assertFalse(version_match('5.2.b1'))
+        self.assertTrue(version_match('5.0a3.dev0'))
+        self.assertTrue(version_match('5.0b1.dev0'))
+        self.assertTrue(version_match('5.0b3'))
+        self.assertTrue(version_match('5.0'))
+
     def testDoUpgrades(self):
         self.setRoles(['Manager'])
 
diff --git a/plone/app/upgrade/utils.py b/plone/app/upgrade/utils.py
index 5f1b5c7..66e72ff 100644
--- a/plone/app/upgrade/utils.py
+++ b/plone/app/upgrade/utils.py
@@ -11,10 +11,25 @@
 from Products.ZCatalog.ProgressHandler import ZLogHandler
 from ZODB.POSException import ConflictError
 
+import pkg_resources
+
 _marker = []
 
 logger = logging.getLogger('plone.app.upgrade')
 
+plone_version = pkg_resources.get_distribution("Products.CMFPlone").version
+
+
+def version_match(target):
+    """ Given, our versioning scheme is always major.minorANYTHING, where major
+    and minor are single-digit numbers, we can compare versions as follows.
+    pkg_resources.parse_version is not compatible with our versioning scheme
+    (like '5.0b1') and also not compatible with the semver.org proposal
+    (requires '5.0-beta1').
+    """
+    # MAJOR.MINOR
+    return (target[0], target[2]) == (plone_version[0], plone_version[2])
+
 
 def null_upgrade_step(tool):
     """ This is a null upgrade, use it when nothing happens """
diff --git a/plone/app/upgrade/v25/tests.py b/plone/app/upgrade/v25/tests.py
index 036e8b5..32628fb 100644
--- a/plone/app/upgrade/v25/tests.py
+++ b/plone/app/upgrade/v25/tests.py
@@ -4,6 +4,7 @@
 from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase
 from plone.app.upgrade.tests.base import MigrationTest
 from plone.app.upgrade.utils import loadMigrationProfile
+from plone.app.upgrade.utils import version_match
 
 from plone.app.upgrade.v25 import fixupPloneLexicon
 from plone.app.upgrade.v25 import setLoginFormInCookieAuth
@@ -117,6 +118,8 @@ def testDCMIStorageUpdated(self):
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
+    if not version_match('2.5'):
+        return suite
     suite.addTest(makeSuite(TestMigrations_v2_5_0))
     suite.addTest(makeSuite(TestMigrations_v2_5_1))
     suite.addTest(makeSuite(TestMigrations_v2_5_2))
diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py
index 65fb99c..7f1c7d2 100644
--- a/plone/app/upgrade/v30/tests.py
+++ b/plone/app/upgrade/v30/tests.py
@@ -74,6 +74,7 @@
 from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase
 from plone.app.upgrade.tests.base import MigrationTest
 from plone.app.upgrade.utils import loadMigrationProfile
+from plone.app.upgrade.utils import version_match
 
 from plone.app.upgrade.v30.alphas import enableZope3Site
 from plone.app.upgrade.v30.alphas import migrateOldActions
@@ -1111,6 +1112,8 @@ def testFullUpgrade(self):
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
+    if not version_match('3.0'):
+        return suite
     suite.addTest(makeSuite(TestMigrations_v2_5_x))
     suite.addTest(makeSuite(TestMigrations_v3_0_Actions))
     suite.addTest(makeSuite(TestMigrations_v3_0_alpha1))
diff --git a/plone/app/upgrade/v31/tests.py b/plone/app/upgrade/v31/tests.py
index 01005b3..a0a49e9 100644
--- a/plone/app/upgrade/v31/tests.py
+++ b/plone/app/upgrade/v31/tests.py
@@ -5,6 +5,7 @@
 
 from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase
 from plone.app.upgrade.tests.base import MigrationTest
+from plone.app.upgrade.utils import version_match
 
 from plone.app.upgrade.v31.betas import reinstallCMFPlacefulWorkflow
 
@@ -113,6 +114,8 @@ def testFullUpgrade(self):
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
+    if not version_match('3.1'):
+        return suite
     suite.addTest(makeSuite(TestMigrations_v3_1))
     suite.addTest(makeSuite(TestFunctionalMigrations))
     return suite
diff --git a/plone/app/upgrade/v32/tests.py b/plone/app/upgrade/v32/tests.py
index bc0e7a1..5cf445a 100644
--- a/plone/app/upgrade/v32/tests.py
+++ b/plone/app/upgrade/v32/tests.py
@@ -1,5 +1,6 @@
 from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase
 from plone.app.upgrade.tests.base import MigrationTest
+from plone.app.upgrade.utils import version_match
 from plone.app.upgrade.v32.betas import three1_beta1
 
 class TestMigrations_v3_2(MigrationTest):
@@ -45,6 +46,8 @@ def testFullUpgrade(self):
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
+    if not version_match('3.2'):
+        return suite
     suite.addTest(makeSuite(TestMigrations_v3_2))
     suite.addTest(makeSuite(TestFunctionalMigrations))
     return suite
diff --git a/plone/app/upgrade/v33/tests.py b/plone/app/upgrade/v33/tests.py
index 01a5de8..3c846cd 100644
--- a/plone/app/upgrade/v33/tests.py
+++ b/plone/app/upgrade/v33/tests.py
@@ -3,6 +3,8 @@
 from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase
 from plone.app.upgrade.tests.base import MigrationTest
 from plone.app.upgrade.v33 import three2_three3
+from plone.app.upgrade.utils import version_match
+
 
 class TestMigrations_v3_3(MigrationTest):
 
@@ -88,6 +90,8 @@ def testFolderUpgrade(self):
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
+    if not version_match('3.3'):
+        return suite
     suite.addTest(makeSuite(TestMigrations_v3_3))
     suite.addTest(makeSuite(TestFunctionalMigrations))
     return suite
diff --git a/plone/app/upgrade/v40/tests.py b/plone/app/upgrade/v40/tests.py
index c350619..42b7bb0 100644
--- a/plone/app/upgrade/v40/tests.py
+++ b/plone/app/upgrade/v40/tests.py
@@ -30,6 +30,7 @@
 from plone.app.upgrade.v40.betas import updateIconMetadata
 from plone.app.upgrade.v40.betas import removeLargePloneFolder
 from plone.app.upgrade.tests.base import MigrationTest
+from plone.app.upgrade.utils import version_match
 
 from plone.portlet.static import static
 from plone.portlets.interfaces import IPortletAssignmentMapping
@@ -662,5 +663,7 @@ def testProfile(self):
 
 
 def test_suite():
-    from unittest import defaultTestLoader
-    return defaultTestLoader.loadTestsFromName(__name__)
+    import unittest
+    if not version_match('4.0'):
+        return unittest.TestSuite()
+    return unittest.defaultTestLoader.loadTestsFromName(__name__)
diff --git a/plone/app/upgrade/v42/configure.zcml b/plone/app/upgrade/v42/configure.zcml
index 11cdb91..8ee6574 100644
--- a/plone/app/upgrade/v42/configure.zcml
+++ b/plone/app/upgrade/v42/configure.zcml
@@ -185,4 +185,29 @@
 
     </genericsetup:upgradeSteps>
 
+    <genericsetup:upgradeSteps
+        source="4211"
+        destination="4212"
+        profile="Products.CMFPlone:plone">
+
+        <genericsetup:upgradeStep
+            title="Miscellaneous"
+            description=""
+            handler="..utils.null_upgrade_step"
+            />
+    </genericsetup:upgradeSteps>
+
+    <genericsetup:upgradeSteps
+        source="4212"
+        destination="4213"
+        profile="Products.CMFPlone:plone">
+
+        <genericsetup:upgradeStep
+            title="Miscellaneous"
+            description=""
+            handler="..utils.null_upgrade_step"
+            />
+    </genericsetup:upgradeSteps>
+
+
 </configure>
diff --git a/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml b/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml
index 048b99f..df3a631 100644
--- a/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml
+++ b/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml
@@ -3,6 +3,5 @@
   <version>1</version>
   <dependencies>
     <dependency>profile-plone.app.jquery:default</dependency>
-    <dependency>profile-plone.app.search:default</dependency>
   </dependencies>
 </metadata>
diff --git a/plone/app/upgrade/v43/configure.zcml b/plone/app/upgrade/v43/configure.zcml
index 523f731..71c0a87 100644
--- a/plone/app/upgrade/v43/configure.zcml
+++ b/plone/app/upgrade/v43/configure.zcml
@@ -8,7 +8,7 @@
     <include file="profiles.zcml" />
 
     <genericsetup:upgradeSteps
-        source="4208"
+        source="4213"
         destination="4300"
         profile="Products.CMFPlone:plone">
 
diff --git a/plone/app/upgrade/v50/configure.zcml b/plone/app/upgrade/v50/configure.zcml
index 01dd8e9..b840fc8 100644
--- a/plone/app/upgrade/v50/configure.zcml
+++ b/plone/app/upgrade/v50/configure.zcml
@@ -7,7 +7,7 @@
     <include file="profiles.zcml" />
 
     <gs:upgradeSteps
-        source="4309"
+        source="4310"
         destination="5000"
         profile="Products.CMFPlone:plone">
 
diff --git a/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml b/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml
index 94c1214..de3f86f 100644
--- a/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml
+++ b/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml
@@ -108,7 +108,7 @@
     <field type="plone.registry.field.ASCII">
       <title>URL of less.js</title>
     </field>
-    <value>++plone++static/components/less/dist/less-1.7.4.js</value>
+    <value>++plone++static/components/less/dist/less.js</value>
   </record>
   <record name="plone.resources.less-modify">
     <field type="plone.registry.field.ASCII">
@@ -120,7 +120,7 @@
 
   <records prefix="plone.resources/less"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/less/dist/less-1.7.4.js</value>
+      <value key="js">++plone++static/components/less/dist/less.js</value>
   </records>
 
   <record name="plone.resources.less-variables">
@@ -138,6 +138,10 @@
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++plone++static/components/mockup-core/js/pattern.js</value>
   </records>
+  <records prefix="plone.resources/mockup-parser"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/mockup-core/js/parser.js</value>
+  </records>
 
   <records prefix="plone.resources/jquery"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
@@ -386,224 +390,224 @@
 
   <records prefix="plone.resources/tinymce-advlist"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/advlist/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/advlist/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
 
 
   <records prefix="plone.resources/tinymce-anchor"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/anchor/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/anchor/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-autolink"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/autolink/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autolink/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-autoresize"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/autoresize/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autoresize/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-autosave"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/autosave/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autosave/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-bbcode"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/bbcode/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/bbcode/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-charmap"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/charmap/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/charmap/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-code"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/code/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/code/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-colorpicker"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/colorpicker/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/colorpicker/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-contextmenu"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/contextmenu/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/contextmenu/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-directionality"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/directionality/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/directionality/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-emoticons"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/emoticons/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/emoticons/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-fullpage"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/fullpage/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/fullpage/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-fullscreen"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/fullscreen/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/fullscreen/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-hr"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/hr/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/hr/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-image"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/image/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/image/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-importcss"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/importcss/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/importcss/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-insertdatetime"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/insertdatetime/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/insertdatetime/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-layer"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/layer/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/layer/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-legacyoutput"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/legacyoutput/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/legacyoutput/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-link"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/link/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/link/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-lists"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/lists/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/lists/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-media"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/media/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/media/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-nonbreaking"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/nonbreaking/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/nonbreaking/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-noneditable"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/noneditable/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/noneditable/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-pagebreak"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/pagebreak/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/pagebreak/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-paste"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/paste/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/paste/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-preview"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/preview/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/preview/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-print"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/print/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/print/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-save"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/save/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/save/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-searchreplace"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/searchreplace/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/searchreplace/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-spellchecker"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/spellchecker/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/spellchecker/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-tabfocus"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/tabfocus/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/tabfocus/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-table"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/table/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/table/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-template"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/template/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/template/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-textcolor"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/textcolor/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/textcolor/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-textpattern"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/textpattern/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/textpattern/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-visualblocks"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/visualblocks/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/visualblocks/plugin.js</value>
       <value key="css">
-        <element>++plone++static/components/tinymce/plugins/visualblocks/css/visualblocks.css</element>
+        <element>++plone++static/components/tinymce-builded/js/tinymce/plugins/visualblocks/css/visualblocks.css</element>
       </value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-visualchars"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/visualchars/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/visualchars/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-wordcount"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/plugins/wordcount/plugin.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/wordcount/plugin.js</value>
       <value key="deps">tinymce</value>
   </records>
   <records prefix="plone.resources/tinymce-modern-theme"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/themes/modern/theme.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/themes/modern/theme.js</value>
       <value key="deps">tinymce</value>
   </records>
 
 
   <records prefix="plone.resources/tinymce"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++plone++static/components/tinymce/tinymce.js</value>
+      <value key="js">++plone++static/components/tinymce-builded/js/tinymce/tinymce.js</value>
       <value key="export">window.tinyMCE</value>
       <value key="init">function () { this.tinyMCE.DOM.events.domLoaded = true; return this.tinyMCE; }</value>
       <value key="css">
-        <element>++plone++static/components/tinymce/skins/lightgray/skin.min.css</element>
-        <element>++plone++static/components/tinymce/skins/lightgray/content.inline.min.css</element>
+        <element>++plone++static/components/tinymce-builded/js/tinymce/skins/lightgray/skin.min.css</element>
+        <element>++plone++static/components/tinymce-builded/js/tinymce/skins/lightgray/content.inline.min.css</element>
       </value>
   </records>
 
@@ -629,6 +633,11 @@
       <value key="js">++resource++mockupjs/i18n.js</value>
   </records>
 
+  <records prefix="plone.resources/translate"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockupjs/i18n-wrapper.js</value>
+  </records>
+
 
  <!-- Patterns -->
 
@@ -642,12 +651,20 @@
 
   <records prefix="plone.resources/mockup-patterns-select2"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">++resource++mockup/select2/patterns.js</value>
+      <value key="js">++resource++mockup/select2/pattern.js</value>
       <value key="css">
         <element>++resource++mockup/select2/pattern.select2.less</element>
       </value>
   </records>
 
+  <records prefix="plone.resources/mockup-patterns-livesearch"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/livesearch/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/livesearch/pattern.livesearch.less</element>
+      </value>
+  </records>
+
   <records prefix="plone.resources/mockup-patterns-accessibility"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++resource++mockup/accessibility/pattern.js</value>
@@ -666,6 +683,11 @@
       <value key="js">++resource++mockup/backdrop/pattern.js</value>
   </records>
 
+  <records prefix="plone.resources/mockup-patterns-cookietrigger"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/cookietrigger/pattern.js</value>
+  </records>
+
   <records prefix="plone.resources/mockup-patterns-sortable"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++resource++mockup/sortable/pattern.js</value>
@@ -681,6 +703,11 @@
       <value key="js">++resource++mockup/formunloadalert/pattern.js</value>
   </records>
 
+  <records prefix="plone.resources/mockup-patterns-inlinevalidation"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/inlinevalidation/pattern.js</value>
+  </records>
+
   <records prefix="plone.resources/mockup-patterns-modal"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++resource++mockup/modal/pattern.js</value>
@@ -726,6 +753,9 @@
   <records prefix="plone.resources/mockup-patterns-select2"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++resource++mockup/select2/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/select2/pattern.select2.less</element>
+      </value>
   </records>
 
   <records prefix="plone.resources/mockup-patterns-structure"
@@ -751,6 +781,11 @@
       <value key="js">++resource++mockup/tablesorter/pattern.js</value>
   </records>
 
+  <records prefix="plone.resources/mockup-patterns-textareamimetypeselector"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/textareamimetypeselector/pattern.js</value>
+  </records>
+
   <records prefix="plone.resources/mockup-patterns-tinymce"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">++resource++mockup/tinymce/pattern.js</value>
@@ -818,44 +853,13 @@
       <value key="js">++plone++static/components/r.js/dist/r.js</value>
   </records>
 
-  <!-- legacy js -->
-
 
-  <records prefix="plone.resources/plone_javascript_variables"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">plone_javascript_variables.js</value>
-  </records>
 
-  <records prefix="plone.resources/cookie_functions"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">cookie_functions.js</value>
-  </records>
+  <!-- legacy js -->
   <records prefix="plone.resources/jquery-highlightsearchterms"
             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
       <value key="js">jquery.highlightsearchterms.js</value>
   </records>
-  <records prefix="plone.resources/inline-validation"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">inline_validation.js</value>
-  </records>
-  <records prefix="plone.resources/kss-bbb"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">kss-bbb.js</value>
-  </records>
-  <records prefix="plone.resources/table_sorter"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">table_sorter.js</value>
-  </records>
-  <records prefix="plone.resources/unlockOnFormUnload"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">unlockOnFormUnload.js</value>
-  </records>
-
-  <!-- disabled -->
-  <records prefix="plone.resources/mark_special_links"
-            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
-      <value key="js">mark_special_links.js</value>
-  </records>
 
   <record name="plone.resources.last_legacy_import">
     <field type="plone.registry.field.Datetime">
@@ -921,7 +925,6 @@
       <value key="css">
         <element>++plone++static/plone.less</element>
       </value>
-      <value key="deps">jquery</value>
   </records>
 
   <!-- Bundles -->
@@ -940,12 +943,7 @@
   <records prefix="plone.bundles/plone-legacy"
             interface='Products.CMFPlone.interfaces.IBundleRegistry'>
     <value key="resources" purge="false">
-      <element>plone_javascript_variables</element>
-      <element>unlockOnFormUnload</element>
-      <element>table_sorter</element>
-      <element>inline-validation</element>
       <element>jquery-highlightsearchterms</element>
-      <element>cookie_functions</element>
     </value>
     <value key="depends">plone</value>
     <value key="jscompilation">++plone++static/plone-legacy-compiled.js</value>
diff --git a/plone/app/upgrade/v50/profiles/to_beta1/registry.xml b/plone/app/upgrade/v50/profiles/to_beta1/registry.xml
index 12883fa..6865f48 100644
--- a/plone/app/upgrade/v50/profiles/to_beta1/registry.xml
+++ b/plone/app/upgrade/v50/profiles/to_beta1/registry.xml
@@ -8,4 +8,170 @@
            prefix="plone" />
   <records interface="Products.CMFPlone.interfaces.ISiteSchema"
            prefix="plone" />
+
+  <records prefix="plone.resources/mockup-patterns-contentloader"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/contentloader/pattern.js</value>
+  </records>
+  <records prefix="plone.resources/mockup-patterns-resourceregistry"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="url">++resource++mockup/resourceregistry</value>
+      <value key="js">++resource++mockup/resourceregistry/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/resourceregistry/pattern.resourceregistry.less</element>
+      </value>
+  </records>
+
+
+  <!-- Plone bundle resources -->
+  <records prefix="plone.resources/plone"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++plone.js</value>
+      <value key="css">
+        <element>++plone++static/plone.less</element>
+      </value>
+  </records>
+  <records prefix="plone.resources/plone-logged-in"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++plone-logged-in.js</value>
+      <value key="css">
+        <element>++plone++static/plone-logged-in.less</element>
+      </value>
+  </records>
+  <records prefix="plone.resources/resourceregistry"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/resourceregistry.js</value>
+      <value key="css">
+        <element>++plone++static/resourceregistry.less</element>
+      </value>
+  </records>
+
+  <!-- Bundles -->
+  <records prefix="plone.bundles/plone"
+            interface='Products.CMFPlone.interfaces.IBundleRegistry'>
+    <value key="resources">
+      <element>plone</element>
+    </value>
+    <value key="enabled">True</value>
+    <value key="jscompilation">++plone++static/plone-compiled.min.js</value>
+    <value key="csscompilation">++plone++static/plone-compiled.css</value>
+    <value key="last_compilation">2014-11-26 00:00:00</value>
+    <value key="depends">plone-logged-in</value>
+  </records>
+
+  <records prefix="plone.bundles/plone-logged-in"
+            interface='Products.CMFPlone.interfaces.IBundleRegistry'>
+    <value key="resources">
+      <element>plone-logged-in</element>
+    </value>
+    <value key="enabled">True</value>
+    <value key="expression">python: member is not None</value>
+    <value key="jscompilation">++plone++static/plone-logged-in-compiled.min.js</value>
+    <value key="csscompilation">++plone++static/plone-logged-in-compiled.css</value>
+    <value key="last_compilation">2014-11-26 00:00:00</value>
+  </records>
+
+  <records prefix="plone.bundles/resourceregistry"
+            interface='Products.CMFPlone.interfaces.IBundleRegistry'>
+    <value key="resources">
+      <element>resourceregistry</element>
+    </value>
+    <value key="enabled">False</value>
+    <value key="jscompilation">++plone++static/resourceregistry-compiled.min.js</value>
+    <value key="csscompilation">++plone++static/resourceregistry-compiled.css</value>
+    <value key="last_compilation">2015-02-13 00:00:00</value>
+  </records>
+
+  <!-- recurrence widget registrations -->
+  <records prefix="plone.resources/jquery.recurrenceinput"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/jquery.recurrenceinput.js/src/jquery.recurrenceinput</value>
+      <!-- Perhaps a bit wonky here for now, depending on legacy jquery tools stuff here -->
+      <value key="deps">jquery,resource-plone-app-jquerytools-js,resource-plone-app-jquerytools-dateinput-js,jquery.tmpl</value>
+  </records>
+  <records prefix="plone.resources/jquery.tmpl"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/jquery.recurrenceinput.js/lib/jquery.tmpl</value>
+      <value key="deps">jquery</value>
+  </records>
+
+  <records prefix="plone.resources/mockup-patterns-markspeciallinks"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++mockup/markspeciallinks/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/markspeciallinks/pattern.markspeciallinks.less</element>
+      </value>
+  </records>
+
+   <!-- patternslib dependencies -->
+  <records prefix="plone.resources/pat-compat"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/compat</value>
+  </records>
+  <records prefix="plone.resources/pat-registry"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/registry</value>
+  </records>
+  <records prefix="plone.resources/pat-jquery-ext"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/jquery-ext</value>
+  </records>
+  <records prefix="plone.resources/pat-logger"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/logger</value>
+  </records>
+  <records prefix="plone.resources/pat-parser"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/parser</value>
+  </records>
+  <records prefix="plone.resources/pat-utils"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/patternslib/src/core/utils</value>
+  </records>
+  <records prefix="plone.resources/logging"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++plone++static/components/logging/src/logging</value>
+  </records>
+
+
+  <!-- add theme mapper related -->
+  
+    <!-- pattern -->
+    <records prefix="plone.resources/mockup-patterns-filemanager"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="url">++resource++mockup/filemanager</value>
+      <value key="js">++resource++mockup/filemanager/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/filemanager/pattern.filemanager.less</element>
+      </value>
+    </records>
+    <records prefix="plone.resources/mockup-patterns-thememapper"
+            interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="url">++resource++mockup/thememapper</value>
+      <value key="js">++resource++mockup/thememapper/pattern.js</value>
+      <value key="css">
+        <element>++resource++mockup/thememapper/pattern.thememapper.less</element>
+      </value>
+    </records>
+
+    <!-- bundle resource -->
+    <records prefix="plone.resources/thememapper"
+             interface='Products.CMFPlone.interfaces.IResourceRegistry'>
+      <value key="js">++resource++plone.app.theming/thememapper.js</value>
+      <value key="css">
+        <element>++resource++plone.app.theming/thememapper.less</element>
+      </value>
+    </records>
+
+    <!-- bundle -->
+    <records prefix="plone.bundles/thememapper"
+             interface='Products.CMFPlone.interfaces.IBundleRegistry'>
+      <value key="resources">
+        <element>thememapper</element>
+       </value>
+       <value key="enabled">False</value>
+       <value key="jscompilation">++resource++plone.app.theming/thememapper-compiled.min.js</value>
+       <value key="csscompilation">++resource++plone.app.theming/thememapper-compiled.css</value>
+       <value key="last_compilation">2015-02-13 00:00:00</value>
+    </records>
 </registry>
diff --git a/setup.py b/setup.py
index 1dd33a5..9c38656 100644
--- a/setup.py
+++ b/setup.py
@@ -26,6 +26,7 @@
       zip_safe=False,
       extras_require=dict(
         test=[
+            'mock',
             'Products.CMFPlacefulWorkflow',
             'Products.CMFQuickInstallerTool',
             'Products.PloneTestCase',


Repository: plone.app.upgrade
Branch: refs/heads/master
Date: 2015-02-27T17:22:00+01:00
Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si>
Commit: https://github.com/plone/plone.app.upgrade/commit/edadcaeddd63cb370a3284dc82417ea52694586a

fix tests (don't fail if the security properties are already there)

This restores Plone 4 compatibility

Files changed:
M plone/app/upgrade/v30/tests.py

diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py
index 7f1c7d2..1bf4207 100644
--- a/plone/app/upgrade/v30/tests.py
+++ b/plone/app/upgrade/v30/tests.py
@@ -663,12 +663,18 @@ def testAddEmailCharsetProperty(self):
 
     def testUpdateMemberSecurity(self):
         # These properties were removed in Plone 5, so we add them
-        # manually here and check if they are properly updated by the
+        # manually here if needed and check if they are properly updated by the
         # updateMemberSecurity upgrade step
         pprop = getToolByName(self.portal, 'portal_properties')
-        self.portal.manage_addProperty('validate_email', False, 'boolean')
-        pprop.site_properties.manage_addProperty(
-            'allowAnonymousViewAbout', True, 'boolean')
+        try:
+            self.portal.manage_addProperty('validate_email', False, 'boolean')
+        except:  # property is already there
+            pass
+        try:
+            pprop.site_properties.manage_addProperty(
+                'allowAnonymousViewAbout', True, 'boolean')
+        except:  # property is already there
+            pass
 
         updateMemberSecurity(self.portal)
 


Repository: plone.app.upgrade
Branch: refs/heads/master
Date: 2015-02-27T17:38:40+01:00
Author: Timo Stollenwerk (tisto) <tisto@plone.org>
Commit: https://github.com/plone/plone.app.upgrade/commit/e8a445959e6c2a1ee8d4bb467105c56033ed34f2

Merge pull request #24 from plone/plip10359-security-controlpanel

Plip10359 security controlpanel

Files changed:
M CHANGES.rst
M plone/app/upgrade/v30/tests.py

diff --git a/CHANGES.rst b/CHANGES.rst
index f75c955..e25607e 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -4,6 +4,10 @@ Changelog
 1.3.9 (unreleased)
 ------------------
 
+- Update tests after removal of ``allowAnonymousViewAbout`` and
+  ``validate_email`` properties in CMFPlone.
+  [jcerjak]
+
 - Do not run tests not suited for the current Plone version 
   (implemented for 4.0 and below)
   [jensens]
diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py
index e4bf5da..1bf4207 100644
--- a/plone/app/upgrade/v30/tests.py
+++ b/plone/app/upgrade/v30/tests.py
@@ -88,6 +88,7 @@
 from plone.app.upgrade.v30.alphas import reorderUserActions
 from plone.app.upgrade.v30.alphas import updatePASPlugins
 from plone.app.upgrade.v30.alphas import updateConfigletTitles
+from plone.app.upgrade.v30.alphas import updateMemberSecurity
 from plone.app.upgrade.v30.alphas import addCacheForResourceRegistry
 from plone.app.upgrade.v30.alphas import removeTablelessSkin
 from plone.app.upgrade.v30.alphas import addObjectProvidesIndex
@@ -661,10 +662,26 @@ def testAddEmailCharsetProperty(self):
             self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8')
 
     def testUpdateMemberSecurity(self):
+        # These properties were removed in Plone 5, so we add them
+        # manually here if needed and check if they are properly updated by the
+        # updateMemberSecurity upgrade step
         pprop = getToolByName(self.portal, 'portal_properties')
+        try:
+            self.portal.manage_addProperty('validate_email', False, 'boolean')
+        except:  # property is already there
+            pass
+        try:
+            pprop.site_properties.manage_addProperty(
+                'allowAnonymousViewAbout', True, 'boolean')
+        except:  # property is already there
+            pass
+
+        updateMemberSecurity(self.portal)
+
         self.assertEqual(
-                pprop.site_properties.getProperty('allowAnonymousViewAbout'),
-                False)
+            pprop.site_properties.getProperty('allowAnonymousViewAbout'),
+            False
+        )
 
         pmembership = getToolByName(self.portal, 'portal_membership')
         self.assertEqual(pmembership.memberareaCreationFlag, False)
vincentfretin added a commit that referenced this pull request Mar 23, 2015
Branch: refs/heads/master
Date: 2015-03-18T17:05:23+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@65851d4

Adding widget.use_wild_card_search parameter, see issue #23

Files changed:
M src/archetypes/referencebrowserwidget/browser/view.py
M src/archetypes/referencebrowserwidget/config.py
M src/archetypes/referencebrowserwidget/tests/test_product.py
M src/archetypes/referencebrowserwidget/widget.py
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-19T11:03:46+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@02537c9

Display a help message if wildcard search is available for currently selected index

Files changed:
M src/archetypes/referencebrowserwidget/browser/popup.pt
M src/archetypes/referencebrowserwidget/browser/view.py
M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-19T11:06:53+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@7f37f30

Updated changelog

Files changed:
M docs/CHANGES.txt
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-19T11:13:18+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@d246761

Updated demo to be able to test disabled wildcard search easily, see issue #23

Files changed:
M src/archetypes/referencebrowserwidget/demo.py
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-20T09:48:16+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@16b0051

Avoid to use jQuery eval() method, make sure data is valid JSON so it can be extracted automatically by jQuery.data

Files changed:
M src/archetypes/referencebrowserwidget/browser/popup.pt
M src/archetypes/referencebrowserwidget/browser/view.py
M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-23T10:29:12+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@cf40286

Moved help message translation to a method on the popup view, see issue #23

Files changed:
M src/archetypes/referencebrowserwidget/browser/popup.pt
M src/archetypes/referencebrowserwidget/browser/view.py
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-23T13:18:39+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@051bd8e

Typo + use _ to translate so i18ndude can find the msgid

Files changed:
M src/archetypes/referencebrowserwidget/browser/view.py
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-23T19:01:55+01:00
Author: Vincent Fretin (vincentfretin) <vincent.fretin@gmail.com>
Commit: plone/archetypes.referencebrowserwidget@65394a2

Merge pull request #24 from gbastien/master

New feature widget.use_wildcard_search

Files changed:
M docs/CHANGES.txt
M src/archetypes/referencebrowserwidget/browser/popup.pt
M src/archetypes/referencebrowserwidget/browser/view.py
M src/archetypes/referencebrowserwidget/config.py
M src/archetypes/referencebrowserwidget/demo.py
M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js
M src/archetypes/referencebrowserwidget/tests/test_product.py
M src/archetypes/referencebrowserwidget/widget.py
vincentfretin added a commit that referenced this pull request Mar 23, 2015
Branch: refs/heads/master
Date: 2015-03-18T17:05:23+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@65851d4

Adding widget.use_wild_card_search parameter, see issue #23

Files changed:
M src/archetypes/referencebrowserwidget/browser/view.py
M src/archetypes/referencebrowserwidget/config.py
M src/archetypes/referencebrowserwidget/tests/test_product.py
M src/archetypes/referencebrowserwidget/widget.py
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-19T11:03:46+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@02537c9

Display a help message if wildcard search is available for currently selected index

Files changed:
M src/archetypes/referencebrowserwidget/browser/popup.pt
M src/archetypes/referencebrowserwidget/browser/view.py
M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-19T11:06:53+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@7f37f30

Updated changelog

Files changed:
M docs/CHANGES.txt
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-19T11:13:18+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@d246761

Updated demo to be able to test disabled wildcard search easily, see issue #23

Files changed:
M src/archetypes/referencebrowserwidget/demo.py
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-20T09:48:16+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@16b0051

Avoid to use jQuery eval() method, make sure data is valid JSON so it can be extracted automatically by jQuery.data

Files changed:
M src/archetypes/referencebrowserwidget/browser/popup.pt
M src/archetypes/referencebrowserwidget/browser/view.py
M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-23T10:29:12+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@cf40286

Moved help message translation to a method on the popup view, see issue #23

Files changed:
M src/archetypes/referencebrowserwidget/browser/popup.pt
M src/archetypes/referencebrowserwidget/browser/view.py
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-23T13:18:39+01:00
Author: Gauthier Bastien (gbastien) <g.bastien@imio.be>
Commit: plone/archetypes.referencebrowserwidget@051bd8e

Typo + use _ to translate so i18ndude can find the msgid

Files changed:
M src/archetypes/referencebrowserwidget/browser/view.py
Repository: archetypes.referencebrowserwidget
Branch: refs/heads/master
Date: 2015-03-23T19:01:55+01:00
Author: Vincent Fretin (vincentfretin) <vincent.fretin@gmail.com>
Commit: plone/archetypes.referencebrowserwidget@65394a2

Merge pull request #24 from gbastien/master

New feature widget.use_wildcard_search

Files changed:
M docs/CHANGES.txt
M src/archetypes/referencebrowserwidget/browser/popup.pt
M src/archetypes/referencebrowserwidget/browser/view.py
M src/archetypes/referencebrowserwidget/config.py
M src/archetypes/referencebrowserwidget/demo.py
M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js
M src/archetypes/referencebrowserwidget/tests/test_product.py
M src/archetypes/referencebrowserwidget/widget.py
frisi added a commit that referenced this pull request Mar 30, 2015
Branch: refs/heads/master
Date: 2015-03-30T14:07:40+02:00
Author: Harald Friessnegger (frisi) <harald@webmeisterei.com>
Commit: plone/archetypes.referencebrowserwidget@a02e2c8

activate automatic wildcard search (PR #24) for textindexng too

Files changed:
M src/archetypes/referencebrowserwidget/config.py
frisi added a commit that referenced this pull request Mar 30, 2015
Branch: refs/heads/master
Date: 2015-03-30T14:07:40+02:00
Author: Harald Friessnegger (frisi) <harald@webmeisterei.com>
Commit: plone/archetypes.referencebrowserwidget@a02e2c8

activate automatic wildcard search (PR #24) for textindexng too

Files changed:
M src/archetypes/referencebrowserwidget/config.py
vangheem added a commit that referenced this pull request May 29, 2015
Branch: refs/heads/master
Date: 2015-05-29T17:39:01+02:00
Author: Timo Stollenwerk (tisto) <tisto@plone.org>
Commit: plone/plone.app.blob@ab8898c

Revert "Fixing permission for download (refs #22)"

Files changed:
M src/plone/app/blob/field.py
Repository: plone.app.blob
Branch: refs/heads/master
Date: 2015-05-29T10:43:39-05:00
Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com>
Commit: plone/plone.app.blob@6b466bf

Merge pull request #24 from plone/revert-23-download-fix

Revert "Fixing permission for download (refs #22)"

Files changed:
M src/plone/app/blob/field.py
vangheem added a commit that referenced this pull request May 29, 2015
Branch: refs/heads/master
Date: 2015-05-29T17:39:01+02:00
Author: Timo Stollenwerk (tisto) <tisto@plone.org>
Commit: plone/plone.app.blob@ab8898c

Revert "Fixing permission for download (refs #22)"

Files changed:
M src/plone/app/blob/field.py
Repository: plone.app.blob
Branch: refs/heads/master
Date: 2015-05-29T10:43:39-05:00
Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com>
Commit: plone/plone.app.blob@6b466bf

Merge pull request #24 from plone/revert-23-download-fix

Revert "Fixing permission for download (refs #22)"

Files changed:
M src/plone/app/blob/field.py
vangheem added a commit that referenced this pull request Jun 3, 2015
Branch: refs/heads/master
Date: 2015-06-02T13:58:30+02:00
Author: Tom Gross (tomgross) <itconsense@gmail.com>
Commit: plone/plone.app.collection@434a355

This package does not depend on plone.app.form

Files changed:
M setup.py
Repository: plone.app.collection
Branch: refs/heads/master
Date: 2015-06-02T19:43:36+02:00
Author: Tom Gross (tomgross) <itconsense@gmail.com>
Commit: plone/plone.app.collection@88d9bff

added Plone 4.3 classifiers

Files changed:
M setup.py
Repository: plone.app.collection
Branch: refs/heads/master
Date: 2015-06-02T22:09:51-05:00
Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com>
Commit: plone/plone.app.collection@6cc6754

Merge pull request #24 from plone/tomgross-patch-1

This package does not depend on plone.app.form

Files changed:
M setup.py
ebrehault added a commit that referenced this pull request Jun 3, 2015
Branch: refs/heads/master
Date: 2015-06-02T16:14:28+02:00
Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com>
Commit: plone/plone.schemaeditor@105ea0f

do not assume fieldfactory exists

Files changed:
M plone/schemaeditor/browser/schema/listing.py
Repository: plone.schemaeditor
Branch: refs/heads/master
Date: 2015-06-02T16:15:43+02:00
Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com>
Commit: plone/plone.schemaeditor@f795625

merge

Files changed:
M CHANGES.rst
M plone/schemaeditor/browser/schema/listing.py
M plone/schemaeditor/browser/schema/schema_listing.pt
M plone/schemaeditor/fields.py
M plone/schemaeditor/interfaces.py
Repository: plone.schemaeditor
Branch: refs/heads/master
Date: 2015-06-02T17:18:52+02:00
Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com>
Commit: plone/plone.schemaeditor@dfb2e83

add a 'protected' attribute to field factory

Files changed:
M CHANGES.rst
M plone/schemaeditor/browser/schema/listing.py
M plone/schemaeditor/browser/schema/schema_listing.pt
M plone/schemaeditor/fields.py
M plone/schemaeditor/interfaces.py
Repository: plone.schemaeditor
Branch: refs/heads/master
Date: 2015-06-03T11:46:58+02:00
Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com>
Commit: plone/plone.schemaeditor@022e4f6

Merge pull request #24 from plone/ebr-protected-field

Tests are green , I merge

Files changed:
M CHANGES.rst
M plone/schemaeditor/browser/schema/listing.py
M plone/schemaeditor/browser/schema/schema_listing.pt
M plone/schemaeditor/fields.py
M plone/schemaeditor/interfaces.py
thet added a commit that referenced this pull request Sep 17, 2015
Branch: refs/heads/master
Date: 2015-09-17T11:45:27+02:00
Author: Johannes Raggam (thet) <raggam-nl@adm.at>
Commit: plone/plone.app.z3cform@8365d9f

Allow time options to be customized for DatetimeWidget.

Files changed:
M CHANGES.rst
M plone/app/z3cform/tests/test_widgets.py
M plone/app/z3cform/widget.py
Repository: plone.app.z3cform
Branch: refs/heads/master
Date: 2015-09-17T18:18:25+02:00
Author: Johannes Raggam (thet) <raggam-nl@adm.at>
Commit: plone/plone.app.z3cform@77d9868

Merge pull request #24 from plone/thet-customize-time

Allow time options to be customized for DatetimeWidget.

Files changed:
M CHANGES.rst
M plone/app/z3cform/tests/test_widgets.py
M plone/app/z3cform/widget.py
vangheem added a commit that referenced this pull request Oct 7, 2015
Branch: refs/heads/master
Date: 2015-10-07T10:11:35-05:00
Author: vangheem (vangheem) <vangheem@gmail.com>
Commit: plone/plone.protect@2ff4018

Always force html serializer as the XHTML variant seems
  to cause character encoding issues

Files changed:
M CHANGES.rst
M plone/protect/auto.py
Repository: plone.protect
Branch: refs/heads/master
Date: 2015-10-07T11:29:36-05:00
Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com>
Commit: plone/plone.protect@21c12b6

Merge pull request #24 from plone/html-serializer

Always force html serializer as the XHTML variant seems

Files changed:
M CHANGES.rst
M plone/protect/auto.py
mister-roboto pushed a commit that referenced this pull request Feb 11, 2016
Branch: refs/heads/master
Date: 2016-02-10T23:06:24+01:00
Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com>
Commit: plone/plone.app.testing@cc72ec7

make sure ramcache object is valid

Files changed:
M CHANGES.rst
M plone/app/testing/layers.py
Repository: plone.app.testing
Branch: refs/heads/master
Date: 2016-02-11T09:08:29+01:00
Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com>
Commit: plone/plone.app.testing@28e087b

Merge pull request #24 from plone/ebr-ramcache-error

Make sure ramcache object is valid

Files changed:
M CHANGES.rst
M plone/app/testing/layers.py
mister-roboto pushed a commit that referenced this pull request Feb 23, 2016
Branch: refs/heads/1.0.x
Date: 2015-12-13T23:44:12+01:00
Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com>
Commit: plone/plone.app.imaging@8a5719f

Disable csrf protection when scale is generated and traversed to

Files changed:
M docs/HISTORY.txt
M setup.py
M src/plone/app/imaging/traverse.py
Repository: plone.app.imaging
Branch: refs/heads/1.0.x
Date: 2016-02-23T13:35:07-05:00
Author: Eric Steele (esteele) <eric@esteele.net>
Commit: plone/plone.app.imaging@132c731

Merge pull request #24 from plone/write-on-read

Disable csrf protection when scale is generated and traversed to

Files changed:
M docs/HISTORY.txt
M setup.py
M src/plone/app/imaging/traverse.py
mister-roboto pushed a commit that referenced this pull request Mar 12, 2016
Branch: refs/heads/master
Date: 2016-03-11T23:13:07+01:00
Author: Gil Forcada (gforcada) <gforcada@gnome.org>
Commit: plone/plone.app.iterate@98df4a5

Minimal cleanup

Files changed:
M plone/app/iterate/__init__.py
M plone/app/iterate/archiver.py
M plone/app/iterate/browser/cancel.py
M plone/app/iterate/browser/checkin.py
M plone/app/iterate/browser/checkout.py
M plone/app/iterate/containers.py
M plone/app/iterate/copier.py
M plone/app/iterate/dexterity/copier.py
M plone/app/iterate/dexterity/interfaces.py
M plone/app/iterate/dexterity/policy.py
M plone/app/iterate/dexterity/utils.py
M plone/app/iterate/event.py
M plone/app/iterate/interfaces.py
M plone/app/iterate/lock.py
M plone/app/iterate/policy.py
M plone/app/iterate/relation.py
M plone/app/iterate/setuphandlers.py
M plone/app/iterate/subscribers/locking.py
M plone/app/iterate/subscribers/marker.py
M plone/app/iterate/subscribers/versioning.py
M plone/app/iterate/util.py
Repository: plone.app.iterate
Branch: refs/heads/master
Date: 2016-03-12T08:08:15+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.forcada@freitag.de>
Commit: plone/plone.app.iterate@638a61a

Merge pull request #24 from plone/minimal-cleanup

Minimal cleanup

Files changed:
M plone/app/iterate/__init__.py
M plone/app/iterate/archiver.py
M plone/app/iterate/browser/cancel.py
M plone/app/iterate/browser/checkin.py
M plone/app/iterate/browser/checkout.py
M plone/app/iterate/containers.py
M plone/app/iterate/copier.py
M plone/app/iterate/dexterity/copier.py
M plone/app/iterate/dexterity/interfaces.py
M plone/app/iterate/dexterity/policy.py
M plone/app/iterate/dexterity/utils.py
M plone/app/iterate/event.py
M plone/app/iterate/interfaces.py
M plone/app/iterate/lock.py
M plone/app/iterate/policy.py
M plone/app/iterate/relation.py
M plone/app/iterate/setuphandlers.py
M plone/app/iterate/subscribers/locking.py
M plone/app/iterate/subscribers/marker.py
M plone/app/iterate/subscribers/versioning.py
M plone/app/iterate/util.py
mister-roboto pushed a commit that referenced this pull request Mar 12, 2016
Branch: refs/heads/master
Date: 2016-03-11T23:13:07+01:00
Author: Gil Forcada (gforcada) <gforcada@gnome.org>
Commit: plone/plone.app.iterate@98df4a5

Minimal cleanup

Files changed:
M plone/app/iterate/__init__.py
M plone/app/iterate/archiver.py
M plone/app/iterate/browser/cancel.py
M plone/app/iterate/browser/checkin.py
M plone/app/iterate/browser/checkout.py
M plone/app/iterate/containers.py
M plone/app/iterate/copier.py
M plone/app/iterate/dexterity/copier.py
M plone/app/iterate/dexterity/interfaces.py
M plone/app/iterate/dexterity/policy.py
M plone/app/iterate/dexterity/utils.py
M plone/app/iterate/event.py
M plone/app/iterate/interfaces.py
M plone/app/iterate/lock.py
M plone/app/iterate/policy.py
M plone/app/iterate/relation.py
M plone/app/iterate/setuphandlers.py
M plone/app/iterate/subscribers/locking.py
M plone/app/iterate/subscribers/marker.py
M plone/app/iterate/subscribers/versioning.py
M plone/app/iterate/util.py
Repository: plone.app.iterate
Branch: refs/heads/master
Date: 2016-03-12T08:08:15+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.forcada@freitag.de>
Commit: plone/plone.app.iterate@638a61a

Merge pull request #24 from plone/minimal-cleanup

Minimal cleanup

Files changed:
M plone/app/iterate/__init__.py
M plone/app/iterate/archiver.py
M plone/app/iterate/browser/cancel.py
M plone/app/iterate/browser/checkin.py
M plone/app/iterate/browser/checkout.py
M plone/app/iterate/containers.py
M plone/app/iterate/copier.py
M plone/app/iterate/dexterity/copier.py
M plone/app/iterate/dexterity/interfaces.py
M plone/app/iterate/dexterity/policy.py
M plone/app/iterate/dexterity/utils.py
M plone/app/iterate/event.py
M plone/app/iterate/interfaces.py
M plone/app/iterate/lock.py
M plone/app/iterate/policy.py
M plone/app/iterate/relation.py
M plone/app/iterate/setuphandlers.py
M plone/app/iterate/subscribers/locking.py
M plone/app/iterate/subscribers/marker.py
M plone/app/iterate/subscribers/versioning.py
M plone/app/iterate/util.py
mister-roboto pushed a commit that referenced this pull request Mar 13, 2016
Branch: refs/heads/1.1.x
Date: 2016-03-03T18:14:31+01:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: plone/plone.app.caching@2cac516

Show status after synchronous purge if it is an error status.

I had a misconfiguration, where all purge requests were denied by
varnish because my ip address was not in the allowed list.  This gave
a status 504 on all purge requests, but this was nowhere visible.  The
controlpanel only showed 'The following items were purged:' with the
list I expected, no errors.

Files changed:
M CHANGES.rst
M plone/app/caching/browser/controlpanel.py
Repository: plone.app.caching
Branch: refs/heads/1.1.x
Date: 2016-03-13T21:55:34+01:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.caching@48be95e

Merge pull request #24 from plone/maurits-report-purge-error-status-43

Show status after synchronous purge if it is an error status. Branch 1.1.x

Files changed:
M CHANGES.rst
M plone/app/caching/browser/controlpanel.py
mister-roboto pushed a commit that referenced this pull request May 12, 2016
Branch: refs/heads/master
Date: 2016-05-11T17:05:16+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.namedfile@df0184f

Use latest plone.scale scaling factories.

This include also a code overhaul.

Files changed:
A plone/namedfile/testing.py
A plone/namedfile/testing.zcml
M CHANGES.rst
M plone/namedfile/scaling.py
M plone/namedfile/scaling.zcml
M plone/namedfile/tests/test_blobfile.py
M plone/namedfile/tests/test_doctests.py
M plone/namedfile/tests/test_image.py
M plone/namedfile/tests/test_scaling.py
M plone/namedfile/usage.rst
M setup.py
D plone/namedfile/tests/base.py
D plone/namedfile/tests/testing.zcml
Repository: plone.namedfile
Branch: refs/heads/master
Date: 2016-05-11T17:05:51+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.namedfile@ff46f12

Fix the test setup and tests.

- fixed test isolation problem
- separate tests for easier debugging
- fix zope.testbrowser tests to commit transaction
- workaround to make a head request

Files changed:
A plone/namedfile/tests/test_scaling_functional.py
M CHANGES.rst
M plone/namedfile/tests/test_blobfile.py
M plone/namedfile/tests/test_scaling.py
Repository: plone.namedfile
Branch: refs/heads/master
Date: 2016-05-11T17:06:42+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.namedfile@ec2ea87

overhaul conditional import while at it.

Files changed:
M CHANGES.rst
M plone/namedfile/configure.zcml
M plone/namedfile/handler.py
M plone/namedfile/marshaler.py
M plone/namedfile/scaling.py
M plone/namedfile/storages.py
M setup.py
Repository: plone.namedfile
Branch: refs/heads/master
Date: 2016-05-11T19:43:58+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.namedfile@a7c7d91

pass scale to factory

Files changed:
M plone/namedfile/scaling.py
Repository: plone.namedfile
Branch: refs/heads/master
Date: 2016-05-12T11:19:49+02:00
Author: agitator (agitator) <hpeter@agitator.com>
Commit: plone/plone.namedfile@a9a0904

Merge pull request #24 from plone/scale-factories

use latest plone.scale scaling factories

Files changed:
A plone/namedfile/testing.py
A plone/namedfile/testing.zcml
A plone/namedfile/tests/test_scaling_functional.py
M CHANGES.rst
M plone/namedfile/configure.zcml
M plone/namedfile/handler.py
M plone/namedfile/marshaler.py
M plone/namedfile/scaling.py
M plone/namedfile/scaling.zcml
M plone/namedfile/storages.py
M plone/namedfile/tests/test_blobfile.py
M plone/namedfile/tests/test_doctests.py
M plone/namedfile/tests/test_image.py
M plone/namedfile/tests/test_scaling.py
M plone/namedfile/usage.rst
M setup.py
D plone/namedfile/tests/base.py
D plone/namedfile/tests/testing.zcml
mister-roboto pushed a commit that referenced this pull request May 18, 2016
Branch: refs/heads/master
Date: 2016-05-06T17:23:20-03:00
Author: Rafael Oliveira (rafaelbco) <rafaelbco@gmail.com>
Commit: plone/plone.formwidget.namedfile@e58e9be

Modify tests so that is clear that the download_url depends on the current request URL

Files changed:
M plone/formwidget/namedfile/widget.rst
Repository: plone.formwidget.namedfile
Branch: refs/heads/master
Date: 2016-05-06T18:13:04-03:00
Author: Rafael Oliveira (rafaelbco) <rafaelbco@gmail.com>
Commit: plone/plone.formwidget.namedfile@ae26693

Make the download URL independent of the request URL.

The format of the URL will always be: $CONTEXT_URL/[$FORM/]++widget++$FIELD/@@Download[/$FILENAME]

Files changed:
M CHANGES.rst
M plone/formwidget/namedfile/widget.py
M plone/formwidget/namedfile/widget.rst
Repository: plone.formwidget.namedfile
Branch: refs/heads/master
Date: 2016-05-10T09:54:20-03:00
Author: Rafael Oliveira (rafaelbco) <rafaelbco@gmail.com>
Commit: plone/plone.formwidget.namedfile@b21a8d6

Handle contexts that do not implement absolute_url()

Files changed:
M plone/formwidget/namedfile/widget.py
M plone/formwidget/namedfile/widget.rst
Repository: plone.formwidget.namedfile
Branch: refs/heads/master
Date: 2016-05-12T10:06:07-03:00
Author: Rafael Oliveira (rafaelbco) <rafaelbco@gmail.com>
Commit: plone/plone.formwidget.namedfile@a288bb0

Clarifies on docs that the name of the widget is used to compose the download URL, not the field name (they often are the same though).

Files changed:
M CHANGES.rst
M plone/formwidget/namedfile/widget.rst
Repository: plone.formwidget.namedfile
Branch: refs/heads/master
Date: 2016-05-12T12:47:22-03:00
Author: Rafael Oliveira (rafaelbco) <rafaelbco@gmail.com>
Commit: plone/plone.formwidget.namedfile@c745bf3

Fix test

Files changed:
M plone/formwidget/namedfile/widget.rst
Repository: plone.formwidget.namedfile
Branch: refs/heads/master
Date: 2016-05-18T17:46:48+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.formwidget.namedfile@a72e641

Merge pull request #24 from plone/fix_download_url

Fix download url

Files changed:
M CHANGES.rst
M plone/formwidget/namedfile/widget.py
M plone/formwidget/namedfile/widget.rst
mister-roboto pushed a commit that referenced this pull request Sep 19, 2018
Branch: refs/heads/master
Date: 2018-06-27T09:47:26+02:00
Author: Philip Bauer (pbauer) <bauer@starzel.de>
Commit: plone/plone.app.relationfield@11cca7a

fix tests in py3

Files changed:
M plone/app/relationfield/marshaler.py
M plone/app/relationfield/marshaler.rst
M plone/app/relationfield/supermodel.txt
M plone/app/relationfield/tests/test_supermodel.py
Repository: plone.app.relationfield

Branch: refs/heads/master
Date: 2018-09-19T15:35:54+02:00
Author: Philip Bauer (pbauer) <bauer@starzel.de>
Commit: plone/plone.app.relationfield@7c1c1ad

add changenote and classifiers

Files changed:
M CHANGES.rst
M setup.py
Repository: plone.app.relationfield

Branch: refs/heads/master
Date: 2018-09-19T16:53:36+02:00
Author: Philip Bauer (pbauer) <bauer@starzel.de>
Commit: plone/plone.app.relationfield@c0ba587

Merge pull request #24 from plone/python3

fix tests in py3

Files changed:
M CHANGES.rst
M plone/app/relationfield/marshaler.py
M plone/app/relationfield/marshaler.rst
M plone/app/relationfield/supermodel.txt
M plone/app/relationfield/tests/test_supermodel.py
M setup.py
mister-roboto pushed a commit that referenced this pull request Sep 19, 2018
Branch: refs/heads/master
Date: 2018-06-27T09:47:26+02:00
Author: Philip Bauer (pbauer) <bauer@starzel.de>
Commit: plone/plone.app.relationfield@11cca7a

fix tests in py3

Files changed:
M plone/app/relationfield/marshaler.py
M plone/app/relationfield/marshaler.rst
M plone/app/relationfield/supermodel.txt
M plone/app/relationfield/tests/test_supermodel.py
Repository: plone.app.relationfield

Branch: refs/heads/master
Date: 2018-09-19T15:35:54+02:00
Author: Philip Bauer (pbauer) <bauer@starzel.de>
Commit: plone/plone.app.relationfield@7c1c1ad

add changenote and classifiers

Files changed:
M CHANGES.rst
M setup.py
Repository: plone.app.relationfield

Branch: refs/heads/master
Date: 2018-09-19T16:53:36+02:00
Author: Philip Bauer (pbauer) <bauer@starzel.de>
Commit: plone/plone.app.relationfield@c0ba587

Merge pull request #24 from plone/python3

fix tests in py3

Files changed:
M CHANGES.rst
M plone/app/relationfield/marshaler.py
M plone/app/relationfield/marshaler.rst
M plone/app/relationfield/supermodel.txt
M plone/app/relationfield/tests/test_supermodel.py
M setup.py
mister-roboto pushed a commit that referenced this pull request Sep 25, 2018
Branch: refs/heads/master
Date: 2018-09-24T00:31:51+02:00
Author: ale-rt (ale-rt) <alessandro.pisa@gmail.com>
Commit: plone/Products.CMFPlacefulWorkflow@072bd4b

Fix almost all tests in exportimport.txt in Python3

Was not able to fix this one:
```
&gt;&gt;&gt; snapshotResults = ps.createSnapshot('sn1')
```

Files changed:
M Products/CMFPlacefulWorkflow/tests/exportimport.txt
Repository: Products.CMFPlacefulWorkflow

Branch: refs/heads/master
Date: 2018-09-25T14:13:12+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/Products.CMFPlacefulWorkflow@8c6fc6a

Merge pull request #24 from plone/python3

Fix almost all tests in exportimport.txt in Python3

Files changed:
M Products/CMFPlacefulWorkflow/tests/exportimport.txt
mister-roboto pushed a commit that referenced this pull request Nov 28, 2018
Branch: refs/heads/master
Date: 2018-11-27T21:38:03+01:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: plone/plone.batching@de67c8a

Do not show batch navigation for single page with orphan.

Files changed:
A news/9.bugfix
M plone/batching/batch.py
M plone/batching/tests.py
Repository: plone.batching

Branch: refs/heads/master
Date: 2018-11-28T09:00:15+01:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.batching@94e1740

Merge pull request #24 from plone/fix-single-page-with-orphan

Do not show batch navigation for single page with orphan.

Files changed:
A news/9.bugfix
M plone/batching/batch.py
M plone/batching/tests.py
mister-roboto pushed a commit that referenced this pull request Nov 28, 2018
Branch: refs/heads/master
Date: 2018-11-27T21:38:03+01:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: plone/plone.batching@de67c8a

Do not show batch navigation for single page with orphan.

Files changed:
A news/9.bugfix
M plone/batching/batch.py
M plone/batching/tests.py
Repository: plone.batching

Branch: refs/heads/master
Date: 2018-11-28T09:00:15+01:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.batching@94e1740

Merge pull request #24 from plone/fix-single-page-with-orphan

Do not show batch navigation for single page with orphan.

Files changed:
A news/9.bugfix
M plone/batching/batch.py
M plone/batching/tests.py
mister-roboto pushed a commit that referenced this pull request Nov 28, 2018
Branch: refs/heads/master
Date: 2018-11-27T21:38:03+01:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: plone/plone.batching@de67c8a

Do not show batch navigation for single page with orphan.

Files changed:
A news/9.bugfix
M plone/batching/batch.py
M plone/batching/tests.py
Repository: plone.batching

Branch: refs/heads/master
Date: 2018-11-28T09:00:15+01:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.batching@94e1740

Merge pull request #24 from plone/fix-single-page-with-orphan

Do not show batch navigation for single page with orphan.

Files changed:
A news/9.bugfix
M plone/batching/batch.py
M plone/batching/tests.py
mister-roboto pushed a commit that referenced this pull request Dec 5, 2018
Branch: refs/heads/master
Date: 2018-12-05T07:23:21+01:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.i18n@fef9f8b

code and test cleanup

Files changed:
A pyproject.toml
M CHANGES.rst
M plone/i18n/interfaces.py
M plone/i18n/locales/cctld.py
M plone/i18n/locales/countries.py
M plone/i18n/locales/interfaces.py
M plone/i18n/locales/languages.py
M plone/i18n/locales/tests/base.py
M plone/i18n/locales/tests/test_cctlds.py
M plone/i18n/locales/tests/test_countries.py
M plone/i18n/locales/tests/test_languages.py
M plone/i18n/negotiate/negotiate.py
M plone/i18n/negotiate/ptsnegotiator.py
M plone/i18n/normalizer/adapters.py
M plone/i18n/normalizer/base.py
M plone/i18n/normalizer/bg.py
M plone/i18n/normalizer/de.py
M plone/i18n/normalizer/el.py
M plone/i18n/normalizer/es.py
M plone/i18n/normalizer/fr.py
M plone/i18n/normalizer/pl.py
M plone/i18n/normalizer/pt.py
M plone/i18n/normalizer/ru.py
M plone/i18n/normalizer/tests/base.py
M plone/i18n/normalizer/tests/test_adapters.py
M plone/i18n/normalizer/tests/test_normalizer.py
M plone/i18n/normalizer/tr.py
M plone/i18n/normalizer/uk.py
M plone/i18n/tests/base.py
M plone/i18n/tests/test_languageutility.py
M plone/i18n/tests/test_negotiation.py
M plone/i18n/utility.py
M setup.cfg
Repository: plone.i18n

Branch: refs/heads/master
Date: 2018-12-06T00:20:43+01:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.i18n@3afbcbe

Merge pull request #24 from plone/cleanup-tests-and-code

code and test cleanup

Files changed:
A pyproject.toml
M CHANGES.rst
M plone/i18n/interfaces.py
M plone/i18n/locales/cctld.py
M plone/i18n/locales/countries.py
M plone/i18n/locales/interfaces.py
M plone/i18n/locales/languages.py
M plone/i18n/locales/tests/base.py
M plone/i18n/locales/tests/test_cctlds.py
M plone/i18n/locales/tests/test_countries.py
M plone/i18n/locales/tests/test_languages.py
M plone/i18n/negotiate/negotiate.py
M plone/i18n/negotiate/ptsnegotiator.py
M plone/i18n/normalizer/adapters.py
M plone/i18n/normalizer/base.py
M plone/i18n/normalizer/bg.py
M plone/i18n/normalizer/de.py
M plone/i18n/normalizer/el.py
M plone/i18n/normalizer/es.py
M plone/i18n/normalizer/fr.py
M plone/i18n/normalizer/pl.py
M plone/i18n/normalizer/pt.py
M plone/i18n/normalizer/ru.py
M plone/i18n/normalizer/tests/base.py
M plone/i18n/normalizer/tests/test_adapters.py
M plone/i18n/normalizer/tests/test_normalizer.py
M plone/i18n/normalizer/tr.py
M plone/i18n/normalizer/uk.py
M plone/i18n/tests/base.py
M plone/i18n/tests/test_languageutility.py
M plone/i18n/tests/test_negotiation.py
M plone/i18n/utility.py
M setup.cfg
mister-roboto pushed a commit that referenced this pull request Mar 1, 2019
Branch: refs/heads/master
Date: 2019-02-23T11:02:09+01:00
Author: ale-rt (ale-rt) <alessandro.pisa@gmail.com>
Commit: plone/plone.app.debugtoolbar@4e1f73b

Do not break when portal_css or portal_javascript are missing

Fixes #23

Files changed:
A news/23.bugfix
M src/plone/app/debugtoolbar/browser/theme.pt
M src/plone/app/debugtoolbar/browser/theme.py
Repository: plone.app.debugtoolbar

Branch: refs/heads/master
Date: 2019-03-01T01:29:41+01:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.debugtoolbar@e19f451

Merge pull request #24 from plone/23-fix-debugtoolbar

Do not break when portal_css or portal_javascript are missing

Files changed:
A news/23.bugfix
M src/plone/app/debugtoolbar/browser/theme.pt
M src/plone/app/debugtoolbar/browser/theme.py
mister-roboto pushed a commit that referenced this pull request Mar 1, 2019
Branch: refs/heads/master
Date: 2019-02-23T11:02:09+01:00
Author: ale-rt (ale-rt) <alessandro.pisa@gmail.com>
Commit: plone/plone.app.debugtoolbar@4e1f73b

Do not break when portal_css or portal_javascript are missing

Fixes #23

Files changed:
A news/23.bugfix
M src/plone/app/debugtoolbar/browser/theme.pt
M src/plone/app/debugtoolbar/browser/theme.py
Repository: plone.app.debugtoolbar

Branch: refs/heads/master
Date: 2019-03-01T01:29:41+01:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.debugtoolbar@e19f451

Merge pull request #24 from plone/23-fix-debugtoolbar

Do not break when portal_css or portal_javascript are missing

Files changed:
A news/23.bugfix
M src/plone/app/debugtoolbar/browser/theme.pt
M src/plone/app/debugtoolbar/browser/theme.py
mister-roboto pushed a commit that referenced this pull request Jun 11, 2019
Branch: refs/heads/master
Date: 2019-06-11T09:53:40+02:00
Author: Fulvio Casali (fulv) <fulviocasali@gmail.com>
Commit: plone/plone.staticresources@0f6b7c5

Rebundle plone-logged-in to fix again plone/mockup#895

Files changed:
M src/plone/staticresources/static/plone-logged-in-compiled.css
M src/plone/staticresources/static/plone-logged-in-compiled.css.map
M src/plone/staticresources/static/plone-logged-in-compiled.js
M src/plone/staticresources/static/plone-logged-in-compiled.min.js
M src/plone/staticresources/static/plone-logged-in-compiled.min.js.map
Repository: plone.staticresources

Branch: refs/heads/master
Date: 2019-06-11T09:53:44+02:00
Author: Fulvio Casali (fulv) <fulviocasali@gmail.com>
Commit: plone/plone.staticresources@bc33983

Add towncrier file.

Files changed:
A news/24.bugfix
Repository: plone.staticresources

Branch: refs/heads/master
Date: 2019-06-11T12:21:24+02:00
Author: Davi Lima (davilima6) <davilima6@gmail.com>
Commit: plone/plone.staticresources@172d10b

Merge pull request #24 from plone/895-fix-alignment

Fixes plone/mockup#895 again.

Files changed:
A news/24.bugfix
M src/plone/staticresources/static/plone-logged-in-compiled.css
M src/plone/staticresources/static/plone-logged-in-compiled.css.map
M src/plone/staticresources/static/plone-logged-in-compiled.js
M src/plone/staticresources/static/plone-logged-in-compiled.min.js
M src/plone/staticresources/static/plone-logged-in-compiled.min.js.map
mister-roboto pushed a commit that referenced this pull request Aug 24, 2020
Branch: refs/heads/master
Date: 2020-08-22T11:16:22+02:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: plone/plone.subrequest@4ddab79

Fixed deprecation warning for zope.site.hooks.

```
DeprecationWarning: zope.site.hooks has moved to zope.component.hooks. Import of zope.site.hooks will become unsupported in Version 5.0
```

Files changed:
A news/24.bugfix
M plone/subrequest/__init__.py
Repository: plone.subrequest

Branch: refs/heads/master
Date: 2020-08-24T11:15:20+02:00
Author: Maurits van Rees (mauritsvanrees) <m.van.rees@zestsoftware.nl>
Commit: plone/plone.subrequest@392aecf

Merge pull request #24 from plone/maurits/fix-startup-warnings

Fixed deprecation warning for zope.site.hooks

Files changed:
A news/24.bugfix
M plone/subrequest/__init__.py
mister-roboto pushed a commit that referenced this pull request Sep 2, 2020
Branch: refs/heads/master
Date: 2020-09-02T23:32:57+02:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: plone/Products.CMFFormController@24f5fe4

Removed security declaration for nonexistent method ZPythonScriptHTML_changePrefs.

Warnings on startup:

```
Class Products.CMFFormController.ControllerPythonScript.ControllerPythonScript has a security declaration for nonexistent method 'ZPythonScriptHTML_changePrefs'
Class Products.CMFFormController.ControllerValidator.ControllerValidator has a security declaration for nonexistent method 'ZPythonScriptHTML_changePrefs'
```

This method was removed from `Products.PythonScripts` in version 4.2, from October 2018.
Added `Products.PythonScripts&gt;=4.2` as dependency.

Files changed:
A news/3130.bugfix
M Products/CMFFormController/ControllerPythonScript.py
M Products/CMFFormController/ControllerValidator.py
M setup.py
Repository: Products.CMFFormController

Branch: refs/heads/master
Date: 2020-09-03T01:14:40+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/Products.CMFFormController@58d3215

Merge pull request #24 from plone/maurits/fix-warnings

Removed security declaration for nonexistent method

Files changed:
A news/3130.bugfix
M Products/CMFFormController/ControllerPythonScript.py
M Products/CMFFormController/ControllerValidator.py
M setup.py
mister-roboto pushed a commit that referenced this pull request Nov 18, 2021
Branch: refs/heads/main
Date: 2021-11-18T09:22:22+01:00
Author: Andrea Cecchi (cekk) <andrea.cecchi85@gmail.com>
Commit: plone/plone.volto@1a849a5

Fix translation domains and add Italian (#24)

* fix translation domains and add Italian

* add new files and update changelog

* fix description for field

Co-authored-by: Timo Stollenwerk &lt;stollenwerk@kitconcept.com&gt;

Files changed:
A src/plone/volto/locales/it/LC_MESSAGES/plone.volto.po
M CHANGES.rst
M src/plone/volto/behaviors/preview.py
M src/plone/volto/locales/de/LC_MESSAGES/plone.volto.po
M src/plone/volto/locales/en/LC_MESSAGES/plone.volto.po
M src/plone/volto/locales/plone.volto.pot
mister-roboto pushed a commit that referenced this pull request Aug 13, 2022
Branch: refs/heads/master
Date: 2022-08-13T18:58:46+05:30
Author: rohnsha0 (rohnsha0) <rohnsha0@gmail.com>
Commit: plone/Plone@4d3f910

corrected reviewed errors

Files changed:
M README.rst
Repository: Plone

Branch: refs/heads/master
Date: 2022-08-13T19:00:46+05:30
Author: Rohan Shaw (rohnsha0) <86848116+rohnsha0@users.noreply.github.com>
Commit: plone/Plone@02f6fdc

Merge pull request #24 from rohnsha0/Issue#21

corrected reviewed errors

Files changed:
M README.rst
mister-roboto pushed a commit that referenced this pull request Nov 30, 2022
Branch: refs/heads/master
Date: 2022-11-30T04:14:19+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.portlet.static@5b21639

chore: run pyupgrade --py38-plus

Files changed:
M plone/portlet/__init__.py
M plone/portlet/static/__init__.py
M plone/portlet/static/static.py
M plone/portlet/static/testing.py
M plone/portlet/static/tests/__init__.py
M plone/portlet/static/tests/test_portlet_static.py
Repository: plone.portlet.static

Branch: refs/heads/master
Date: 2022-11-30T04:15:24+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.portlet.static@903242f

fix: remove six dependency

Files changed:
M plone/portlet/static/static.py
M setup.py
Repository: plone.portlet.static

Branch: refs/heads/master
Date: 2022-11-30T04:17:21+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.portlet.static@0e99f1f

Add news entry

Files changed:
A news/1.bugfix
Repository: plone.portlet.static

Branch: refs/heads/master
Date: 2022-11-30T06:39:22+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.portlet.static@5bf7d35

Merge pull request #24 from plone/remove-six

Remove six

Files changed:
A news/1.bugfix
M plone/portlet/__init__.py
M plone/portlet/static/__init__.py
M plone/portlet/static/static.py
M plone/portlet/static/testing.py
M plone/portlet/static/tests/__init__.py
M plone/portlet/static/tests/test_portlet_static.py
M setup.py
mister-roboto pushed a commit that referenced this pull request Dec 5, 2022
Branch: refs/heads/main
Date: 2022-12-05T13:26:29-06:00
Author: Dante Álvarez (danalvrz) <89805481+danalvrz@users.noreply.github.com>
Commit: plone/plone.base@06f6508

Change title and description for types_not_searched in ISearchSchema

Files changed:
M src/plone/base/interfaces/controlpanel.py
Repository: plone.base

Branch: refs/heads/main
Date: 2022-12-05T13:29:56-06:00
Author: Dante Álvarez (danalvrz) <89805481+danalvrz@users.noreply.github.com>
Commit: plone/plone.base@46e3071

Add changelog file

Files changed:
A news/24.bugfix
Repository: plone.base

Branch: refs/heads/main
Date: 2022-12-05T13:31:34-06:00
Author: Dante Álvarez (danalvrz) <89805481+danalvrz@users.noreply.github.com>
Commit: plone/plone.base@f6c95cc

Text fix

Files changed:
M src/plone/base/interfaces/controlpanel.py
Repository: plone.base

Branch: refs/heads/main
Date: 2022-12-05T13:32:32-06:00
Author: Dante Álvarez (danalvrz) <89805481+danalvrz@users.noreply.github.com>
Commit: plone/plone.base@70e3219

Changelog file fix

Files changed:
M news/24.bugfix
Repository: plone.base

Branch: refs/heads/main
Date: 2022-12-05T13:37:57-08:00
Author: David Glick (davisagli) <david@glicksoftware.com>
Commit: plone/plone.base@127b7ba

Merge pull request #24 from plone/search-controlpanel-bugfix

Change title and description for types_not_searched in ISearchSchema

Files changed:
A news/24.bugfix
M src/plone/base/interfaces/controlpanel.py
mister-roboto pushed a commit that referenced this pull request Mar 12, 2023
Branch: refs/heads/master
Date: 2023-03-11T23:49:35+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@2f50cb6

Configuring with plone/meta

Files changed:
A news/a533099d.internal
A tox.ini
M pyproject.toml
M setup.cfg
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-11T23:53:01+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@e126876

chore: pyupgrade

Files changed:
M src/plone/z3cform/converter.py
M src/plone/z3cform/crud/crud.py
M src/plone/z3cform/fieldsets/extensible.py
M src/plone/z3cform/fieldsets/group.py
M src/plone/z3cform/fieldsets/interfaces.py
M src/plone/z3cform/fieldsets/utils.py
M src/plone/z3cform/interfaces.py
M src/plone/z3cform/layout.py
M src/plone/z3cform/subform.py
M src/plone/z3cform/tests.py
M src/plone/z3cform/textlines/textlines.py
M src/plone/z3cform/traversal.py
M src/plone/z3cform/widget.py
M src/plone/z3cform/z2.py
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-11T23:53:32+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@dc95aee

chore: isort

Files changed:
M setup.py
M src/plone/z3cform/__init__.py
M src/plone/z3cform/converter.py
M src/plone/z3cform/crud/crud.py
M src/plone/z3cform/layout.py
M src/plone/z3cform/patch.py
M src/plone/z3cform/templates.py
M src/plone/z3cform/tests.py
M src/plone/z3cform/textlines/textlines.py
M src/plone/z3cform/widget.py
M src/plone/z3cform/z2.py
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-11T23:56:12+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@09de6be

chore: black

Files changed:
M setup.py
M src/plone/__init__.py
M src/plone/z3cform/__init__.py
M src/plone/z3cform/crud/crud.py
M src/plone/z3cform/fieldsets/extensible.py
M src/plone/z3cform/fieldsets/group.py
M src/plone/z3cform/fieldsets/interfaces.py
M src/plone/z3cform/fieldsets/utils.py
M src/plone/z3cform/interfaces.py
M src/plone/z3cform/layout.py
M src/plone/z3cform/subform.py
M src/plone/z3cform/templates.py
M src/plone/z3cform/tests.py
M src/plone/z3cform/textlines/textlines.py
M src/plone/z3cform/traversal.py
M src/plone/z3cform/widget.py
M src/plone/z3cform/z2.py
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-11T23:57:00+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@b013d70

chore: zpretty

Files changed:
M src/plone/z3cform/configure.zcml
M src/plone/z3cform/crud/crud-master.pt
M src/plone/z3cform/crud/crud-row.pt
M src/plone/z3cform/crud/crud-table.pt
M src/plone/z3cform/overrides.zcml
M src/plone/z3cform/pagetemplates/form.pt
M src/plone/z3cform/pagetemplates/layout.pt
M src/plone/z3cform/pagetemplates/macros.pt
M src/plone/z3cform/pagetemplates/subform.pt
M src/plone/z3cform/pagetemplates/wrappedsubform.pt
M src/plone/z3cform/templates.zcml
M src/plone/z3cform/testing.zcml
M src/plone/z3cform/textlines/textlines.zcml
M src/plone/z3cform/textlines/textlines_display.pt
M src/plone/z3cform/textlines/textlines_input.pt
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-11T23:57:50+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@28682a8

feat: pyroma

Files changed:
M setup.py
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-12T00:08:47+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@9fe356f

feat: flake8

Files changed:
M setup.py
M src/plone/z3cform/__init__.py
M src/plone/z3cform/crud/crud.py
M src/plone/z3cform/fieldsets/utils.py
M src/plone/z3cform/textlines/textlines.py
M src/plone/z3cform/z2.py
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-12T00:22:58+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@edecab2

feat: configure codespell

Files changed:
M pyproject.toml
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-12T00:22:58+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@032a067

feat: codespell

Files changed:
M CHANGES.rst
M src/plone/z3cform/crud/README.txt
M src/plone/z3cform/traversal.py
M src/plone/z3cform/traversal.txt
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-12T00:24:24+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@faa7ac4

fix(tox): patch test runner invocation

Files changed:
M tox.ini
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-12T00:30:10+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@d6da308

feat: remove six usage

Files changed:
M src/plone/z3cform/inputs.txt
M src/plone/z3cform/tests.py
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-12T00:46:18+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@496a36a

feat: configure z3c.dependencychecker

Files changed:
M pyproject.toml
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-12T00:46:18+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@81bd1f4

feat: declare dependencies

Files changed:
M setup.py
Repository: plone.z3cform

Branch: refs/heads/master
Date: 2023-03-12T22:13:41+01:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.z3cform@e2a443f

Merge pull request #24 from plone/config-with-default-template-ec48e2c2

Config with default template

Files changed:
A news/a533099d.internal
A tox.ini
M CHANGES.rst
M pyproject.toml
M setup.cfg
M setup.py
M src/plone/__init__.py
M src/plone/z3cform/__init__.py
M src/plone/z3cform/configure.zcml
M src/plone/z3cform/converter.py
M src/plone/z3cform/crud/README.txt
M src/plone/z3cform/crud/crud-master.pt
M src/plone/z3cform/crud/crud-row.pt
M src/plone/z3cform/crud/crud-table.pt
M src/plone/z3cform/crud/crud.py
M src/plone/z3cform/fieldsets/extensible.py
M src/plone/z3cform/fieldsets/group.py
M src/plone/z3cform/fieldsets/interfaces.py
M src/plone/z3cform/fieldsets/utils.py
M src/plone/z3cform/inputs.txt
M src/plone/z3cform/interfaces.py
M src/plone/z3cform/layout.py
M src/plone/z3cform/overrides.zcml
M src/plone/z3cform/pagetemplates/form.pt
M src/plone/z3cform/pagetemplates/layout.pt
M src/plone/z3cform/pagetemplates/macros.pt
M src/plone/z3cform/pagetemplates/subform.pt
M src/plone/z3cform/pagetemplates/wrappedsubform.pt
M src/plone/z3cform/patch.py
M src/plone/z3cform/subform.py
M src/plone/z3cform/templates.py
M src/plone/z3cform/templates.zcml
M src/plone/z3cform/testing.zcml
M src/plone/z3cform/tests.py
M src/plone/z3cform/textlines/textlines.py
M src/plone/z3cform/textlines/textlines.zcml
M src/plone/z3cform/textlines/textlines_display.pt
M src/plone/z3cform/textlines/textlines_input.pt
M src/plone/z3cform/traversal.py
M src/plone/z3cform/traversal.txt
M src/plone/z3cform/widget.py
M src/plone/z3cform/z2.py
mister-roboto pushed a commit that referenced this pull request Apr 10, 2023
Branch: refs/heads/master
Date: 2023-04-09T10:22:46+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@055212b

Configuring with plone/meta

Files changed:
A .editorconfig
A .meta.toml
A .pre-commit-config.yaml
A news/3333c742.internal
A tox.ini
M pyproject.toml
M setup.cfg
D bootstrap.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T10:25:08+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@7303241

chore: isort

Files changed:
M Products/CMFDynamicViewFTI/browserdefault.py
M Products/CMFDynamicViewFTI/content_for_tests.py
M Products/CMFDynamicViewFTI/fti.py
M Products/CMFDynamicViewFTI/interface.py
M Products/CMFDynamicViewFTI/permissions.py
M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py
M setup.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T10:26:29+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@cc63fec

chore: black

Files changed:
M Products/CMFDynamicViewFTI/__init__.py
M Products/CMFDynamicViewFTI/browser/typeinfo.py
M Products/CMFDynamicViewFTI/browserdefault.py
M Products/CMFDynamicViewFTI/content_for_tests.py
M Products/CMFDynamicViewFTI/fti.py
M Products/CMFDynamicViewFTI/interface.py
M Products/CMFDynamicViewFTI/interfaces.py
M Products/CMFDynamicViewFTI/permissions.py
M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py
M Products/CMFDynamicViewFTI/tests/test_browserdefault.py
M Products/CMFDynamicViewFTI/tests/test_fti.py
M Products/__init__.py
M setup.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T10:26:58+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@f7953a1

fix: no need pkgutil fallback

Files changed:
M Products/__init__.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T10:27:36+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@f7b7a18

chore: pyupgrade

Files changed:
M Products/CMFDynamicViewFTI/browserdefault.py
M Products/CMFDynamicViewFTI/fti.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T10:28:01+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@d5dbf71

chore: zpretty ZXML/XML

Files changed:
M Products/CMFDynamicViewFTI/configure.zcml
M Products/CMFDynamicViewFTI/profiles/sample_types/types.xml
M Products/CMFDynamicViewFTI/profiles/sample_types/types/DynDocument.xml
M Products/CMFDynamicViewFTI/profiles/sample_types/types/DynFolder.xml
M Products/CMFDynamicViewFTI/tests/browserdefault.zcml
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T10:28:20+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@5bfab7a

chore: zpretty PT

Files changed:
M Products/CMFDynamicViewFTI/browser/addWithPresettings.pt
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T10:29:47+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@8ca59c8

feat: codespell

Files changed:
M Products/CMFDynamicViewFTI/browserdefault.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T10:31:15+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@36dec77

feat: flake8

Files changed:
M Products/CMFDynamicViewFTI/tests/test_browserdefault.py
M Products/CMFDynamicViewFTI/tests/test_fti.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T10:31:45+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@eef89b2

cleanup: drop Plone 4.3 support

Files changed:
D Products/CMFDynamicViewFTI/interface.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T10:38:28+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@4b7b2fa

feat: replace CMFPlone for plone.base

Files changed:
M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T13:31:59+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@229eac8

cleanup: remove superfluous method

Files changed:
M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T13:31:59+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@2531d00

fix: run test with tox

Turns out that when `plone.testing` installs distributions from the
`Products` namespace, it enforces that all of them have to be in the
same folder (which kind of make sense) but `tox` has a different idea on
that :-/

`tox` installs all dependencies but the development package is kept
outside that structure, and thus the `plone.testing` condition is not
met.

With this patch we check if it is the `tox` case and force the install.

Files changed:
M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-09T13:32:00+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@87952ee

feat: declare dependencies

Files changed:
M setup.py
Repository: Products.CMFDynamicViewFTI

Branch: refs/heads/master
Date: 2023-04-10T12:55:02+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/Products.CMFDynamicViewFTI@ebd39f2

Merge pull request #24 from plone/config-with-default-template-7adb382a

Config with default template

Files changed:
A .editorconfig
A .meta.toml
A .pre-commit-config.yaml
A news/3333c742.internal
A tox.ini
M Products/CMFDynamicViewFTI/__init__.py
M Products/CMFDynamicViewFTI/browser/addWithPresettings.pt
M Products/CMFDynamicViewFTI/browser/typeinfo.py
M Products/CMFDynamicViewFTI/browserdefault.py
M Products/CMFDynamicViewFTI/configure.zcml
M Products/CMFDynamicViewFTI/content_for_tests.py
M Products/CMFDynamicViewFTI/fti.py
M Products/CMFDynamicViewFTI/interfaces.py
M Products/CMFDynamicViewFTI/permissions.py
M Products/CMFDynamicViewFTI/profiles/sample_types/types.xml
M Products/CMFDynamicViewFTI/profiles/sample_types/types/DynDocument.xml
M Products/CMFDynamicViewFTI/profiles/sample_types/types/DynFolder.xml
M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py
M Products/CMFDynamicViewFTI/tests/browserdefault.zcml
M Products/CMFDynamicViewFTI/tests/test_browserdefault.py
M Products/CMFDynamicViewFTI/tests/test_fti.py
M Products/__init__.py
M pyproject.toml
M setup.cfg
M setup.py
D Products/CMFDynamicViewFTI/interface.py
D bootstrap.py
mister-roboto pushed a commit that referenced this pull request Apr 13, 2023
Branch: refs/heads/master
Date: 2023-04-12T13:56:19+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.behavior@7b50207

Configuring with plone/meta

Files changed:
A .editorconfig
A .meta.toml
A .pre-commit-config.yaml
A news/a9dd65cc.internal
M pyproject.toml
M setup.cfg
M tox.ini
D .travis.yml
Repository: plone.behavior

Branch: refs/heads/master
Date: 2023-04-12T13:57:43+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.behavior@cf26fe3

run pyupgrade

Files changed:
M plone/__init__.py
M plone/behavior/__init__.py
M plone/behavior/annotation.py
M plone/behavior/factory.py
M plone/behavior/interfaces.py
M plone/behavior/markers.py
M plone/behavior/metaconfigure.py
M plone/behavior/registration.py
M plone/behavior/tests.py
M plone/behavior/vocab.py
Repository: plone.behavior

Branch: refs/heads/master
Date: 2023-04-12T23:49:57+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.behavior@3629714

run zpretty

Files changed:
M plone/behavior/configure.zcml
M plone/behavior/meta.zcml
Repository: plone.behavior

Branch: refs/heads/master
Date: 2023-04-12T23:49:58+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.behavior@c223935

run black

Files changed:
M plone/__init__.py
M plone/behavior/__init__.py
M plone/behavior/annotation.py
M plone/behavior/factory.py
M plone/behavior/interfaces.py
M plone/behavior/metaconfigure.py
M plone/behavior/registration.py
M plone/behavior/tests.py
M plone/behavior/vocab.py
M setup.py
Repository: plone.behavior

Branch: refs/heads/master
Date: 2023-04-12T23:49:58+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.behavior@8c89e4b

fix metadata and bump version

(cherry picked from commit 3c8040405334367e21e7c3d206a6b35c4943f10e)

Files changed:
M setup.py
Repository: plone.behavior

Branch: refs/heads/master
Date: 2023-04-12T23:49:58+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.behavior@61c8a75

upgrade doctests to py3 only

Files changed:
M plone/behavior/annotation.rst
M plone/behavior/directives.rst
M plone/behavior/registration.py
M plone/behavior/tests.py
Repository: plone.behavior

Branch: refs/heads/master
Date: 2023-04-12T23:49:58+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.behavior@ad4de54

fix codespell findings.

Files changed:
M CHANGES.rst
M README.rst
M plone/behavior/directives.rst
M plone/behavior/registration.py
Repository: plone.behavior

Branch: refs/heads/master
Date: 2023-04-13T08:58:30+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.behavior@89731e1

Merge pull request #24 from plone/config-with-default-template-3f6d9cbf

Config with default template 3f6d9cbf

Files changed:
A .editorconfig
A .meta.toml
A .pre-commit-config.yaml
A news/a9dd65cc.internal
M CHANGES.rst
M README.rst
M plone/__init__.py
M plone/behavior/__init__.py
M plone/behavior/annotation.py
M plone/behavior/annotation.rst
M plone/behavior/configure.zcml
M plone/behavior/directives.rst
M plone/behavior/factory.py
M plone/behavior/interfaces.py
M plone/behavior/markers.py
M plone/behavior/meta.zcml
M plone/behavior/metaconfigure.py
M plone/behavior/registration.py
M plone/behavior/tests.py
M plone/behavior/vocab.py
M pyproject.toml
M setup.cfg
M setup.py
M tox.ini
D .travis.yml
mister-roboto pushed a commit that referenced this pull request May 2, 2023
Branch: refs/heads/master
Date: 2023-05-01T22:51:12Z
Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Commit: plone/plone.locking@e7b1d4c

[pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/asottile/pyupgrade: v3.3.1 → v3.3.2](asottile/pyupgrade@v3.3.1...v3.3.2)
- [github.com/collective/zpretty: 3.0.3 → 3.0.4](collective/zpretty@3.0.3...3.0.4)

Files changed:
M .pre-commit-config.yaml
Repository: plone.locking

Branch: refs/heads/master
Date: 2023-05-02T16:33:52+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.locking@51b9d1c

Merge pull request #24 from plone/pre-commit-ci-update-config

[pre-commit.ci] pre-commit autoupdate

Files changed:
M .pre-commit-config.yaml
mister-roboto pushed a commit that referenced this pull request May 23, 2023
Branch: refs/heads/master
Date: 2023-05-03T13:49:34+05:30
Author: kshitiz305 (kshitiz305) <kshitiz305@live.com>
Commit: plone/plone.app.contentmenu@1812e07

Actions menu description

It then passes an action with this empty description to the template, where it becomes an empty title attribute.

#24

Files changed:
A news/24.bugfix
M plone/app/contentmenu/menu.py
Repository: plone.app.contentmenu

Branch: refs/heads/master
Date: 2023-05-03T21:17:12+05:30
Author: kshitiz305 (kshitiz305) <kshitiz305@live.com>
Commit: plone/plone.app.contentmenu@e3c1fb7

Actions menu description

It then passes an action with this empty description to the template, where it becomes an empty title attribute.

#24

Files changed:
M news/24.bugfix
M plone/app/contentmenu/menu.py
Repository: plone.app.contentmenu

Branch: refs/heads/master
Date: 2023-05-03T21:21:44+05:30
Author: kshitiz305 (kshitiz305) <kshitiz305@live.com>
Commit: plone/plone.app.contentmenu@4d726dc

Actions menu description

It then passes an action with this empty description to the template, where it becomes an empty title attribute.

#24

Files changed:
M plone/app/contentmenu/menu.py
Repository: plone.app.contentmenu

Branch: refs/heads/master
Date: 2023-05-15T21:23:17+05:30
Author: Kshitiz Gupta (kshitiz305) <Kshitiz305@live.com>
Commit: plone/plone.app.contentmenu@24c25dc

Update news/24.bugfix

Co-authored-by: Gil Forcada Codinachs &lt;gil.gnome@gmail.com&gt;

Files changed:
M news/24.bugfix
Repository: plone.app.contentmenu

Branch: refs/heads/master
Date: 2023-05-23T14:53:43+02:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: plone/plone.app.contentmenu@0f5ca76

Merge pull request #48 from kshitiz305/action_menu_description

Actions menu description

Files changed:
A news/24.bugfix
M plone/app/contentmenu/menu.py
mister-roboto pushed a commit that referenced this pull request May 23, 2023
Branch: refs/heads/master
Date: 2023-05-03T13:49:34+05:30
Author: kshitiz305 (kshitiz305) <kshitiz305@live.com>
Commit: plone/plone.app.contentmenu@1812e07

Actions menu description

It then passes an action with this empty description to the template, where it becomes an empty title attribute.

#24

Files changed:
A news/24.bugfix
M plone/app/contentmenu/menu.py
Repository: plone.app.contentmenu

Branch: refs/heads/master
Date: 2023-05-03T21:17:12+05:30
Author: kshitiz305 (kshitiz305) <kshitiz305@live.com>
Commit: plone/plone.app.contentmenu@e3c1fb7

Actions menu description

It then passes an action with this empty description to the template, where it becomes an empty title attribute.

#24

Files changed:
M news/24.bugfix
M plone/app/contentmenu/menu.py
Repository: plone.app.contentmenu

Branch: refs/heads/master
Date: 2023-05-03T21:21:44+05:30
Author: kshitiz305 (kshitiz305) <kshitiz305@live.com>
Commit: plone/plone.app.contentmenu@4d726dc

Actions menu description

It then passes an action with this empty description to the template, where it becomes an empty title attribute.

#24

Files changed:
M plone/app/contentmenu/menu.py
Repository: plone.app.contentmenu

Branch: refs/heads/master
Date: 2023-05-15T21:23:17+05:30
Author: Kshitiz Gupta (kshitiz305) <Kshitiz305@live.com>
Commit: plone/plone.app.contentmenu@24c25dc

Update news/24.bugfix

Co-authored-by: Gil Forcada Codinachs &lt;gil.gnome@gmail.com&gt;

Files changed:
M news/24.bugfix
Repository: plone.app.contentmenu

Branch: refs/heads/master
Date: 2023-05-23T14:53:43+02:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: plone/plone.app.contentmenu@0f5ca76

Merge pull request #48 from kshitiz305/action_menu_description

Actions menu description

Files changed:
A news/24.bugfix
M plone/app/contentmenu/menu.py
mister-roboto pushed a commit that referenced this pull request Oct 5, 2023
Branch: refs/heads/master
Date: 2023-06-25T09:15:46+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.app.customerize@5daee09

Configuring with plone/meta

Files changed:
A .flake8
A .github/workflows/meta.yml
A news/cfffba8c.internal
M .editorconfig
M .gitignore
M .meta.toml
M .pre-commit-config.yaml
M pyproject.toml
M tox.ini
Repository: plone.app.customerize

Branch: refs/heads/master
Date: 2023-06-25T09:15:46+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.app.customerize@3de5267

cleanup: remove unused file

Files changed:
D setup.cfg
Repository: plone.app.customerize

Branch: refs/heads/master
Date: 2023-06-25T09:15:46+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.app.customerize@4099fe8

fix: adjust setup.py

Files changed:
M setup.py
Repository: plone.app.customerize

Branch: refs/heads/master
Date: 2023-06-25T09:15:47+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.app.customerize@e43f541

fix: mark strings for translation

Files changed:
M plone/app/customerize/customize.pt
M plone/app/customerize/registrations.pt
Repository: plone.app.customerize

Branch: refs/heads/master
Date: 2023-10-04T17:19:41+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.customerize@05b24a5

Merge branch 'master' into config-with-default-template-df445ade

Files changed:
M .pre-commit-config.yaml
M CHANGES.rst
Repository: plone.app.customerize

Branch: refs/heads/master
Date: 2023-10-05T09:41:22+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.customerize@a43d9d9

Merge pull request #24 from plone/config-with-default-template-df445ade

Config with default template

[skip ci]

Files changed:
A .flake8
A .github/workflows/meta.yml
A news/cfffba8c.internal
M .editorconfig
M .gitignore
M .meta.toml
M .pre-commit-config.yaml
M plone/app/customerize/customize.pt
M plone/app/customerize/registrations.pt
M pyproject.toml
M setup.py
M tox.ini
D setup.cfg
mister-roboto pushed a commit that referenced this pull request Oct 5, 2023
Branch: refs/heads/master
Date: 2023-06-25T09:15:46+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.app.customerize@5daee09

Configuring with plone/meta

Files changed:
A .flake8
A .github/workflows/meta.yml
A news/cfffba8c.internal
M .editorconfig
M .gitignore
M .meta.toml
M .pre-commit-config.yaml
M pyproject.toml
M tox.ini
Repository: plone.app.customerize

Branch: refs/heads/master
Date: 2023-06-25T09:15:46+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.app.customerize@3de5267

cleanup: remove unused file

Files changed:
D setup.cfg
Repository: plone.app.customerize

Branch: refs/heads/master
Date: 2023-06-25T09:15:46+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.app.customerize@4099fe8

fix: adjust setup.py

Files changed:
M setup.py
Repository: plone.app.customerize

Branch: refs/heads/master
Date: 2023-06-25T09:15:47+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.app.customerize@e43f541

fix: mark strings for translation

Files changed:
M plone/app/customerize/customize.pt
M plone/app/customerize/registrations.pt
Repository: plone.app.customerize

Branch: refs/heads/master
Date: 2023-10-04T17:19:41+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.customerize@05b24a5

Merge branch 'master' into config-with-default-template-df445ade

Files changed:
M .pre-commit-config.yaml
M CHANGES.rst
Repository: plone.app.customerize

Branch: refs/heads/master
Date: 2023-10-05T09:41:22+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.customerize@a43d9d9

Merge pull request #24 from plone/config-with-default-template-df445ade

Config with default template

[skip ci]

Files changed:
A .flake8
A .github/workflows/meta.yml
A news/cfffba8c.internal
M .editorconfig
M .gitignore
M .meta.toml
M .pre-commit-config.yaml
M plone/app/customerize/customize.pt
M plone/app/customerize/registrations.pt
M pyproject.toml
M setup.py
M tox.ini
D setup.cfg
mister-roboto pushed a commit that referenced this pull request Jun 4, 2024
Branch: refs/heads/master
Date: 2024-06-03T19:59:39Z
Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Commit: plone/plone.app.i18n@a82ec49

[pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/codespell-project/codespell: v2.2.6 → v2.3.0](codespell-project/codespell@v2.2.6...v2.3.0)

Files changed:
M .pre-commit-config.yaml
Repository: plone.app.i18n

Branch: refs/heads/master
Date: 2024-06-04T03:31:31-04:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.i18n@ffc072a

Merge pull request #24 from plone/pre-commit-ci-update-config

[pre-commit.ci] pre-commit autoupdate

Files changed:
M .pre-commit-config.yaml
mister-roboto pushed a commit that referenced this pull request Jun 4, 2024
Branch: refs/heads/master
Date: 2024-06-03T19:59:39Z
Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Commit: plone/plone.app.i18n@a82ec49

[pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/codespell-project/codespell: v2.2.6 → v2.3.0](codespell-project/codespell@v2.2.6...v2.3.0)

Files changed:
M .pre-commit-config.yaml
Repository: plone.app.i18n

Branch: refs/heads/master
Date: 2024-06-04T03:31:31-04:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.i18n@ffc072a

Merge pull request #24 from plone/pre-commit-ci-update-config

[pre-commit.ci] pre-commit autoupdate

Files changed:
M .pre-commit-config.yaml
mister-roboto pushed a commit that referenced this pull request Oct 12, 2024
Branch: refs/heads/master
Date: 2024-10-07T21:25:06Z
Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Commit: plone/plone.uuid@ff416cc

[pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0)

Files changed:
M .pre-commit-config.yaml
Repository: plone.uuid

Branch: refs/heads/master
Date: 2024-10-13T00:13:01+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.uuid@4ffd2cc

Merge pull request #24 from plone/pre-commit-ci-update-config

[pre-commit.ci] pre-commit autoupdate

Files changed:
M .pre-commit-config.yaml
mister-roboto pushed a commit that referenced this pull request Oct 12, 2024
Branch: refs/heads/master
Date: 2024-10-07T21:25:06Z
Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Commit: plone/plone.uuid@ff416cc

[pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0)

Files changed:
M .pre-commit-config.yaml
Repository: plone.uuid

Branch: refs/heads/master
Date: 2024-10-13T00:13:01+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.uuid@4ffd2cc

Merge pull request #24 from plone/pre-commit-ci-update-config

[pre-commit.ci] pre-commit autoupdate

Files changed:
M .pre-commit-config.yaml
mister-roboto pushed a commit that referenced this pull request Oct 12, 2024
Branch: refs/heads/master
Date: 2024-10-07T21:24:02Z
Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Commit: plone/plone.caching@c7477c9

[pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0)

Files changed:
M .pre-commit-config.yaml
Repository: plone.caching

Branch: refs/heads/master
Date: 2024-10-13T00:17:56+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.caching@7a10d0c

Merge pull request #24 from plone/pre-commit-ci-update-config

[pre-commit.ci] pre-commit autoupdate

Files changed:
M .pre-commit-config.yaml
mister-roboto pushed a commit that referenced this pull request Oct 12, 2024
Branch: refs/heads/master
Date: 2024-10-07T21:24:02Z
Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Commit: plone/plone.caching@c7477c9

[pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0)

Files changed:
M .pre-commit-config.yaml
Repository: plone.caching

Branch: refs/heads/master
Date: 2024-10-13T00:17:56+02:00
Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.caching@7a10d0c

Merge pull request #24 from plone/pre-commit-ci-update-config

[pre-commit.ci] pre-commit autoupdate

Files changed:
M .pre-commit-config.yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants