pas.plugins.kimug 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. pas/plugins/kimug/__init__.py +38 -0
  2. pas/plugins/kimug/configure.zcml +62 -0
  3. pas/plugins/kimug/content/__init__.py +0 -0
  4. pas/plugins/kimug/controlpanel/__init__.py +0 -0
  5. pas/plugins/kimug/controlpanel/configure.zcml +10 -0
  6. pas/plugins/kimug/dependencies.zcml +7 -0
  7. pas/plugins/kimug/distributions/kimug/content/content/4053ffb6901342ac991afb54da15ab77/data.json +70 -0
  8. pas/plugins/kimug/distributions/kimug/content/content/54163be595184b4eb0a0b82a58b8def8/data.json +49 -0
  9. pas/plugins/kimug/distributions/kimug/content/content/61f6d382910945ea95f2e78a14ebb170/data.json +87 -0
  10. pas/plugins/kimug/distributions/kimug/content/content/__metadata__.json +73 -0
  11. pas/plugins/kimug/distributions/kimug/content/content/ab584c1a6fae465da2283a0962f80114/data.json +70 -0
  12. pas/plugins/kimug/distributions/kimug/content/content/ee556c50736a4650839e2ada6dd65454/data.json +87 -0
  13. pas/plugins/kimug/distributions/kimug/content/content/plone_site_root/data.json +34 -0
  14. pas/plugins/kimug/distributions/kimug/content/discussions.json +1 -0
  15. pas/plugins/kimug/distributions/kimug/content/portlets.json +67 -0
  16. pas/plugins/kimug/distributions/kimug/content/principals.json +38 -0
  17. pas/plugins/kimug/distributions/kimug/content/redirects.json +1 -0
  18. pas/plugins/kimug/distributions/kimug/content/relations.json +1 -0
  19. pas/plugins/kimug/distributions/kimug/content/translations.json +1 -0
  20. pas/plugins/kimug/distributions/kimug/image.png +0 -0
  21. pas/plugins/kimug/distributions/kimug/profiles.json +8 -0
  22. pas/plugins/kimug/distributions.zcml +16 -0
  23. pas/plugins/kimug/handler.py +41 -0
  24. pas/plugins/kimug/indexers/__init__.py +0 -0
  25. pas/plugins/kimug/indexers/configure.zcml +7 -0
  26. pas/plugins/kimug/interfaces.py +12 -0
  27. pas/plugins/kimug/locales/__init__.py +0 -0
  28. pas/plugins/kimug/locales/en/LC_MESSAGES/pas.plugins.kimug.po +15 -0
  29. pas/plugins/kimug/locales/pas.plugins.kimug.pot +18 -0
  30. pas/plugins/kimug/locales/update.py +95 -0
  31. pas/plugins/kimug/permissions.zcml +9 -0
  32. pas/plugins/kimug/plugin/__init__.py +46 -0
  33. pas/plugins/kimug/profiles/default/browserlayer.xml +6 -0
  34. pas/plugins/kimug/profiles/default/catalog.xml +13 -0
  35. pas/plugins/kimug/profiles/default/controlpanel.xml +6 -0
  36. pas/plugins/kimug/profiles/default/diff_tool.xml +6 -0
  37. pas/plugins/kimug/profiles/default/metadata.xml +7 -0
  38. pas/plugins/kimug/profiles/default/registry/main.xml +8 -0
  39. pas/plugins/kimug/profiles/default/repositorytool.xml +6 -0
  40. pas/plugins/kimug/profiles/default/rolemap.xml +6 -0
  41. pas/plugins/kimug/profiles/default/theme.xml +5 -0
  42. pas/plugins/kimug/profiles/default/types/.gitkeep +0 -0
  43. pas/plugins/kimug/profiles/default/types.xml +10 -0
  44. pas/plugins/kimug/profiles/uninstall/browserlayer.xml +6 -0
  45. pas/plugins/kimug/profiles.zcml +33 -0
  46. pas/plugins/kimug/setuphandlers/__init__.py +36 -0
  47. pas/plugins/kimug/static/logo.svg +0 -0
  48. pas/plugins/kimug/testing.py +46 -0
  49. pas/plugins/kimug/upgrades/__init__.py +0 -0
  50. pas/plugins/kimug/upgrades/configure.zcml +21 -0
  51. pas/plugins/kimug/vocabularies/__init__.py +0 -0
  52. pas/plugins/kimug/vocabularies/configure.zcml +5 -0
  53. pas.plugins.kimug-1.0.0-py3.10-nspkg.pth +2 -0
  54. pas_plugins_kimug-1.0.0.dist-info/METADATA +121 -0
  55. pas_plugins_kimug-1.0.0.dist-info/RECORD +61 -0
  56. pas_plugins_kimug-1.0.0.dist-info/WHEEL +5 -0
  57. pas_plugins_kimug-1.0.0.dist-info/entry_points.txt +5 -0
  58. pas_plugins_kimug-1.0.0.dist-info/licenses/LICENSE.GPL +339 -0
  59. pas_plugins_kimug-1.0.0.dist-info/licenses/LICENSE.md +15 -0
  60. pas_plugins_kimug-1.0.0.dist-info/namespace_packages.txt +2 -0
  61. pas_plugins_kimug-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,38 @@
1
+ """Init and utils."""
2
+
3
+ from AccessControl.Permissions import manage_users
4
+ from pas.plugins.kimug.plugin import KimugPlugin
5
+ from pas.plugins.kimug.plugin import manage_addKimugPlugin
6
+ from pas.plugins.kimug.plugin import manage_addKimugPluginForm
7
+ from Products.PluggableAuthService import registerMultiPlugin
8
+ from zope.i18nmessageid import MessageFactory
9
+
10
+ import logging
11
+ import os
12
+
13
+
14
+ PACKAGE_NAME = "pas.plugins.kimug"
15
+
16
+ _ = MessageFactory(PACKAGE_NAME)
17
+
18
+ logger = logging.getLogger(PACKAGE_NAME)
19
+ tpl_dir = os.path.join(os.path.dirname(__file__), "static")
20
+
21
+
22
+ def initialize(context):
23
+ """Initializer called when used as a Zope 2 product.
24
+
25
+ This is referenced from configure.zcml. Registrations as a "Zope 2 product"
26
+ is necessary for GenericSetup profiles to work, for example.
27
+
28
+ Here, we call the Archetypes machinery to register our content types
29
+ with Zope and the CMF.
30
+ """
31
+ registerMultiPlugin("Kimug Plugin")
32
+ context.registerClass(
33
+ KimugPlugin,
34
+ permission=manage_users,
35
+ icon=os.path.join(tpl_dir, "logo.svg"),
36
+ constructors=(manage_addKimugPluginForm, manage_addKimugPlugin),
37
+ visibility=None,
38
+ )
@@ -0,0 +1,62 @@
1
+ <configure
2
+ xmlns="http://namespaces.zope.org/zope"
3
+ xmlns:browser="http://namespaces.zope.org/browser"
4
+ xmlns:five="http://namespaces.zope.org/five"
5
+ xmlns:i18n="http://namespaces.zope.org/i18n"
6
+ i18n_domain="pas.plugins.kimug"
7
+ >
8
+
9
+ <i18n:registerTranslations directory="locales" />
10
+
11
+ <include
12
+ package="Products.CMFCore"
13
+ file="permissions.zcml"
14
+ />
15
+
16
+ <five:registerPackage
17
+ package="."
18
+ initialize=".initialize"
19
+ />
20
+
21
+ <include file="dependencies.zcml" />
22
+ <include file="distributions.zcml" />
23
+ <include file="profiles.zcml" />
24
+ <include file="permissions.zcml" />
25
+
26
+ <include package=".controlpanel" />
27
+ <include package=".indexers" />
28
+ <include package=".vocabularies" />
29
+
30
+ <browser:page
31
+ name="login"
32
+ for="pas.plugins.kimug.interfaces.IKimugPlugin"
33
+ class="pas.plugins.oidc.browser.view.LoginView"
34
+ permission="zope2.View"
35
+ layer="pas.plugins.kimug.interfaces.IBrowserLayer"
36
+ />
37
+
38
+ <browser:page
39
+ name="require_login"
40
+ for="pas.plugins.kimug.interfaces.IKimugPlugin"
41
+ class="pas.plugins.oidc.browser.view.RequireLoginView"
42
+ permission="zope2.View"
43
+ layer="pas.plugins.kimug.interfaces.IBrowserLayer"
44
+ />
45
+
46
+ <browser:page
47
+ name="logout"
48
+ for="pas.plugins.kimug.interfaces.IKimugPlugin"
49
+ class="pas.plugins.oidc.browser.view.LogoutView"
50
+ permission="zope2.View"
51
+ layer="pas.plugins.kimug.interfaces.IBrowserLayer"
52
+ />
53
+
54
+ <browser:page
55
+ name="callback"
56
+ for="pas.plugins.kimug.interfaces.IKimugPlugin"
57
+ class="pas.plugins.oidc.browser.view.CallbackView"
58
+ permission="zope2.View"
59
+ layer="pas.plugins.kimug.interfaces.IBrowserLayer"
60
+ />
61
+
62
+ </configure>
File without changes
File without changes
@@ -0,0 +1,10 @@
1
+ <configure
2
+ xmlns="http://namespaces.zope.org/zope"
3
+ xmlns:browser="http://namespaces.zope.org/browser"
4
+ xmlns:plone="http://namespaces.plone.org/plone"
5
+ i18n_domain="pas.plugins.kimug"
6
+ >
7
+
8
+ <!-- -*- extra stuff goes here -*- -->
9
+
10
+ </configure>
@@ -0,0 +1,7 @@
1
+ <configure xmlns="http://namespaces.zope.org/zope">
2
+
3
+ <!-- List all packages you depend here -->
4
+ <include package="pas.plugins.oidc" />
5
+ <include package="plone.distribution" />
6
+
7
+ </configure>
@@ -0,0 +1,70 @@
1
+ {
2
+ "@id": "/news",
3
+ "@type": "Folder",
4
+ "UID": "4053ffb6901342ac991afb54da15ab77",
5
+ "allow_discussion": null,
6
+ "contributors": [],
7
+ "created": "2023-05-18T18:07:36+00:00",
8
+ "creators": [
9
+ "admin"
10
+ ],
11
+ "description": "Site News",
12
+ "effective": null,
13
+ "exclude_from_nav": false,
14
+ "expires": null,
15
+ "exportimport.constrains": {
16
+ "immediately_addable_types": [
17
+ "News Item"
18
+ ],
19
+ "locally_allowed_types": [
20
+ "Collection",
21
+ "Document",
22
+ "Folder",
23
+ "Link",
24
+ "File",
25
+ "Image",
26
+ "News Item",
27
+ "Event"
28
+ ]
29
+ },
30
+ "exportimport.versions": {},
31
+ "id": "news",
32
+ "is_folderish": true,
33
+ "language": "##DEFAULT##",
34
+ "layout": "listing_view",
35
+ "lock": {},
36
+ "modified": "2024-09-11T14:30:24+00:00",
37
+ "nextPreviousEnabled": false,
38
+ "parent": {
39
+ "@id": "/",
40
+ "@type": "Plone Site",
41
+ "UID": "plone_site_root",
42
+ "description": "A Plone Site with Classic UI",
43
+ "title": "Plone Site",
44
+ "type_title": "Plone Site"
45
+ },
46
+ "review_state": "published",
47
+ "rights": "",
48
+ "subjects": [],
49
+ "title": "News",
50
+ "type_title": "Folder",
51
+ "version": "current",
52
+ "workflow_history": {
53
+ "simple_publication_workflow": [
54
+ {
55
+ "action": null,
56
+ "actor": "admin",
57
+ "comments": "",
58
+ "review_state": "private",
59
+ "time": "2023-05-18T18:07:36+00:00"
60
+ },
61
+ {
62
+ "action": "publish",
63
+ "actor": "admin",
64
+ "comments": "",
65
+ "review_state": "published",
66
+ "time": "2023-05-18T18:07:36+00:00"
67
+ }
68
+ ]
69
+ }
70
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "@id": "/Members",
3
+ "@type": "Folder",
4
+ "UID": "54163be595184b4eb0a0b82a58b8def8",
5
+ "allow_discussion": null,
6
+ "contributors": [],
7
+ "created": "2023-05-18T18:07:36+00:00",
8
+ "creators": [
9
+ "admin"
10
+ ],
11
+ "description": "Site Users",
12
+ "effective": null,
13
+ "exclude_from_nav": false,
14
+ "expires": null,
15
+ "exportimport.constrains": {},
16
+ "exportimport.versions": {},
17
+ "id": "Members",
18
+ "is_folderish": true,
19
+ "language": "##DEFAULT##",
20
+ "layout": "@@member-search",
21
+ "lock": {},
22
+ "modified": "2023-05-18T18:07:36+00:00",
23
+ "nextPreviousEnabled": false,
24
+ "parent": {
25
+ "@id": "/",
26
+ "@type": "Plone Site",
27
+ "UID": "plone_site_root",
28
+ "description": "A Plone Site with Classic UI",
29
+ "title": "Plone Site",
30
+ "type_title": "Plone Site"
31
+ },
32
+ "review_state": "private",
33
+ "rights": "",
34
+ "subjects": [],
35
+ "title": "Users",
36
+ "type_title": "Folder",
37
+ "version": "current",
38
+ "workflow_history": {
39
+ "simple_publication_workflow": [
40
+ {
41
+ "action": null,
42
+ "actor": "admin",
43
+ "comments": "",
44
+ "review_state": "private",
45
+ "time": "2023-05-18T18:07:36+00:00"
46
+ }
47
+ ]
48
+ }
49
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "@id": "/events/aggregator",
3
+ "@type": "Collection",
4
+ "UID": "61f6d382910945ea95f2e78a14ebb170",
5
+ "allow_discussion": null,
6
+ "contributors": [],
7
+ "created": "2023-05-18T18:07:36+00:00",
8
+ "creators": [
9
+ "admin"
10
+ ],
11
+ "customViewFields": [
12
+ "Title",
13
+ "Creator",
14
+ "Type",
15
+ "ModificationDate"
16
+ ],
17
+ "description": "Site Events",
18
+ "effective": null,
19
+ "exclude_from_nav": false,
20
+ "expires": null,
21
+ "exportimport.constrains": {},
22
+ "exportimport.versions": {},
23
+ "id": "aggregator",
24
+ "is_folderish": false,
25
+ "item_count": 30,
26
+ "items_total": 0,
27
+ "language": "##DEFAULT##",
28
+ "layout": "event_listing",
29
+ "limit": 1000,
30
+ "lock": {
31
+ "locked": false,
32
+ "stealable": true
33
+ },
34
+ "modified": "2023-05-18T18:07:36+00:00",
35
+ "parent": {
36
+ "@id": "/events",
37
+ "@type": "Folder",
38
+ "UID": "ab584c1a6fae465da2283a0962f80114",
39
+ "description": "Site Events",
40
+ "review_state": "published",
41
+ "title": "Events",
42
+ "type_title": "Folder"
43
+ },
44
+ "query": [
45
+ {
46
+ "i": "portal_type",
47
+ "o": "plone.app.querystring.operation.selection.any",
48
+ "v": [
49
+ "Event"
50
+ ]
51
+ },
52
+ {
53
+ "i": "review_state",
54
+ "o": "plone.app.querystring.operation.selection.any",
55
+ "v": [
56
+ "published"
57
+ ]
58
+ }
59
+ ],
60
+ "review_state": "published",
61
+ "rights": "",
62
+ "sort_on": "start",
63
+ "sort_reversed": true,
64
+ "subjects": [],
65
+ "text": null,
66
+ "title": "Events",
67
+ "type_title": "Collection",
68
+ "version": "current",
69
+ "workflow_history": {
70
+ "simple_publication_workflow": [
71
+ {
72
+ "action": null,
73
+ "actor": "admin",
74
+ "comments": "",
75
+ "review_state": "private",
76
+ "time": "2023-05-18T18:07:36+00:00"
77
+ },
78
+ {
79
+ "action": "publish",
80
+ "actor": "admin",
81
+ "comments": "",
82
+ "review_state": "published",
83
+ "time": "2023-05-18T18:07:36+00:00"
84
+ }
85
+ ]
86
+ }
87
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "__version__": "1.0.0",
3
+ "_blob_files_": [],
4
+ "_data_files_": [
5
+ "plone_site_root/data.json"
6
+ ],
7
+ "default_page": {},
8
+ "local_permissions": {
9
+ "plone_site_root": {
10
+ "Add portal member": {
11
+ "acquire": false,
12
+ "roles": [
13
+ "Manager",
14
+ "Site Administrator",
15
+ "Owner"
16
+ ]
17
+ },
18
+ "Content rules: Manage rules": {
19
+ "acquire": false,
20
+ "roles": [
21
+ "Manager",
22
+ "Site Administrator"
23
+ ]
24
+ },
25
+ "Set own password": {
26
+ "acquire": false,
27
+ "roles": [
28
+ "Authenticated",
29
+ "Manager",
30
+ "Site Administrator"
31
+ ]
32
+ },
33
+ "Set own properties": {
34
+ "acquire": false,
35
+ "roles": [
36
+ "Authenticated",
37
+ "Manager",
38
+ "Site Administrator"
39
+ ]
40
+ },
41
+ "Show Toolbar": {
42
+ "acquire": false,
43
+ "roles": [
44
+ "Authenticated"
45
+ ]
46
+ },
47
+ "plone.resource: Export ZIP file": {
48
+ "acquire": false,
49
+ "roles": [
50
+ "Manager"
51
+ ]
52
+ },
53
+ "plone.resourceeditor: Manage Sources": {
54
+ "acquire": false,
55
+ "roles": [
56
+ "Manager",
57
+ "Site Administrator"
58
+ ]
59
+ }
60
+ }
61
+ },
62
+ "local_roles": {
63
+ "plone_site_root": {
64
+ "local_roles": {
65
+ "admin": [
66
+ "Owner"
67
+ ]
68
+ }
69
+ }
70
+ },
71
+ "ordering": {},
72
+ "relations": []
73
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "@id": "/events",
3
+ "@type": "Folder",
4
+ "UID": "ab584c1a6fae465da2283a0962f80114",
5
+ "allow_discussion": null,
6
+ "contributors": [],
7
+ "created": "2023-05-18T18:07:36+00:00",
8
+ "creators": [
9
+ "admin"
10
+ ],
11
+ "description": "Site Events",
12
+ "effective": null,
13
+ "exclude_from_nav": false,
14
+ "expires": null,
15
+ "exportimport.constrains": {
16
+ "immediately_addable_types": [
17
+ "Event"
18
+ ],
19
+ "locally_allowed_types": [
20
+ "Collection",
21
+ "Document",
22
+ "Folder",
23
+ "Link",
24
+ "File",
25
+ "Image",
26
+ "News Item",
27
+ "Event"
28
+ ]
29
+ },
30
+ "exportimport.versions": {},
31
+ "id": "events",
32
+ "is_folderish": true,
33
+ "language": "##DEFAULT##",
34
+ "layout": "listing_view",
35
+ "lock": {},
36
+ "modified": "2024-09-11T14:30:24+00:00",
37
+ "nextPreviousEnabled": false,
38
+ "parent": {
39
+ "@id": "/",
40
+ "@type": "Plone Site",
41
+ "UID": "plone_site_root",
42
+ "description": "A Plone Site with Classic UI",
43
+ "title": "Plone Site",
44
+ "type_title": "Plone Site"
45
+ },
46
+ "review_state": "published",
47
+ "rights": "",
48
+ "subjects": [],
49
+ "title": "Events",
50
+ "type_title": "Folder",
51
+ "version": "current",
52
+ "workflow_history": {
53
+ "simple_publication_workflow": [
54
+ {
55
+ "action": null,
56
+ "actor": "admin",
57
+ "comments": "",
58
+ "review_state": "private",
59
+ "time": "2023-05-18T18:07:36+00:00"
60
+ },
61
+ {
62
+ "action": "publish",
63
+ "actor": "admin",
64
+ "comments": "",
65
+ "review_state": "published",
66
+ "time": "2023-05-18T18:07:36+00:00"
67
+ }
68
+ ]
69
+ }
70
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "@id": "/news/aggregator",
3
+ "@type": "Collection",
4
+ "UID": "ee556c50736a4650839e2ada6dd65454",
5
+ "allow_discussion": null,
6
+ "contributors": [],
7
+ "created": "2023-05-18T18:07:36+00:00",
8
+ "creators": [
9
+ "admin"
10
+ ],
11
+ "customViewFields": [
12
+ "Title",
13
+ "Creator",
14
+ "Type",
15
+ "ModificationDate"
16
+ ],
17
+ "description": "Site News",
18
+ "effective": null,
19
+ "exclude_from_nav": false,
20
+ "expires": null,
21
+ "exportimport.constrains": {},
22
+ "exportimport.versions": {},
23
+ "id": "aggregator",
24
+ "is_folderish": false,
25
+ "item_count": 30,
26
+ "items_total": 0,
27
+ "language": "##DEFAULT##",
28
+ "layout": "summary_view",
29
+ "limit": 1000,
30
+ "lock": {
31
+ "locked": false,
32
+ "stealable": true
33
+ },
34
+ "modified": "2023-05-18T18:07:36+00:00",
35
+ "parent": {
36
+ "@id": "/news",
37
+ "@type": "Folder",
38
+ "UID": "4053ffb6901342ac991afb54da15ab77",
39
+ "description": "Site News",
40
+ "review_state": "published",
41
+ "title": "News",
42
+ "type_title": "Folder"
43
+ },
44
+ "query": [
45
+ {
46
+ "i": "portal_type",
47
+ "o": "plone.app.querystring.operation.selection.any",
48
+ "v": [
49
+ "News Item"
50
+ ]
51
+ },
52
+ {
53
+ "i": "review_state",
54
+ "o": "plone.app.querystring.operation.selection.any",
55
+ "v": [
56
+ "published"
57
+ ]
58
+ }
59
+ ],
60
+ "review_state": "published",
61
+ "rights": "",
62
+ "sort_on": "effective",
63
+ "sort_reversed": true,
64
+ "subjects": [],
65
+ "text": null,
66
+ "title": "News",
67
+ "type_title": "Collection",
68
+ "version": "current",
69
+ "workflow_history": {
70
+ "simple_publication_workflow": [
71
+ {
72
+ "action": null,
73
+ "actor": "admin",
74
+ "comments": "",
75
+ "review_state": "private",
76
+ "time": "2023-05-18T18:07:36+00:00"
77
+ },
78
+ {
79
+ "action": "publish",
80
+ "actor": "admin",
81
+ "comments": "",
82
+ "review_state": "published",
83
+ "time": "2023-05-18T18:07:36+00:00"
84
+ }
85
+ ]
86
+ }
87
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "@id": "/Plone",
3
+ "@type": "Plone Site",
4
+ "UID": "plone_site_root",
5
+ "allow_discussion": null,
6
+ "contributors": [],
7
+ "creators": [
8
+ "admin"
9
+ ],
10
+ "description": "",
11
+ "effective": null,
12
+ "exclude_from_nav": false,
13
+ "expires": null,
14
+ "exportimport.constrains": {},
15
+ "exportimport.conversation": [],
16
+ "id": "Plone",
17
+ "is_folderish": true,
18
+ "items_total": 0,
19
+ "language": "##DEFAULT##",
20
+ "lock": {
21
+ "locked": false,
22
+ "stealable": true
23
+ },
24
+ "review_state": null,
25
+ "rights": "",
26
+ "subjects": [],
27
+ "table_of_contents": null,
28
+ "text": null,
29
+ "title": "pas.plugins.kimug",
30
+ "type_title": "Plone Site",
31
+ "workflow_history": {},
32
+ "working_copy": null,
33
+ "working_copy_of": null
34
+ }
@@ -0,0 +1,67 @@
1
+ [
2
+ {
3
+ "@id": "http://nohost/Plone",
4
+ "UID": "plone_site_root",
5
+ "portlets": {
6
+ "plone.footerportlets": [
7
+ {
8
+ "assignment": {
9
+ "macro": "",
10
+ "template": "@@footer"
11
+ },
12
+ "type": "portlets.Classic",
13
+ "visible": true
14
+ },
15
+ {
16
+ "assignment": {
17
+ "category": "site_actions",
18
+ "default_icon": "action_icon.png",
19
+ "ptitle": "site_actions",
20
+ "show_icons": false,
21
+ "show_title": false
22
+ },
23
+ "type": "portlets.Actions",
24
+ "visible": true
25
+ },
26
+ {
27
+ "assignment": {
28
+ "macro": "",
29
+ "template": "colophon"
30
+ },
31
+ "type": "portlets.Classic",
32
+ "visible": true
33
+ }
34
+ ],
35
+ "plone.leftcolumn": [
36
+ {
37
+ "assignment": {
38
+ "bottomLevel": 0,
39
+ "currentFolderOnly": false,
40
+ "includeTop": false,
41
+ "name": "",
42
+ "no_icons": false,
43
+ "no_thumbs": false,
44
+ "root_uid": null,
45
+ "thumb_scale": null,
46
+ "topLevel": 1
47
+ },
48
+ "type": "portlets.Navigation",
49
+ "visible": true
50
+ }
51
+ ],
52
+ "plone.rightcolumn": [
53
+ {
54
+ "assignment": {
55
+ "count": 5,
56
+ "no_thumbs": false,
57
+ "search_base_uid": null,
58
+ "state": null,
59
+ "thumb_scale": null
60
+ },
61
+ "type": "portlets.Events",
62
+ "visible": true
63
+ }
64
+ ]
65
+ }
66
+ }
67
+ ]