{ "info": { "author": "Malthe Borch", "author_email": "mborch@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Zope2", "Programming Language :: Python" ], "description": "Panels are sets of portlets appearing in various layout configurations\nwhich you can insert into a selection of Plone's existing locations\n(above and below page contents, portal top and footer).\n\nIt aims to render a number of existing add-ons obsolete, including\n`Collage `_,\n`collective.portletpage\n`_ and\n`Products.ContentWellPortlets\n`_. The\nfunctionality represented by these add-ons is mostly available in\npanels, too, and comes in an implementation that builds directly on\nPlone's portlets framework.\n\nThere's an alternative to panels still in development in Carlos de la\nGuardia's `collective.cover\n`_. It supports\na number of advanced use-cases mostly related to workflow and\nsecurity. Panels does not currently integrate with Plone's permission\nsystem except require the blanket \"can manage portlets\" permission.\n\n\nCompatibility: Plone 4+ required.\n\n\nIntroduction\n============\n\nYou often have a need to add supplemental content to existing pages,\ncontent items or folders.\n\nThe included portlets infrastructure serves some, but not all of these\nneeds, letting you add portlets in the left and right column, which\nare inherited down the content hierarchy.\n\nPanels provide a simple mechanism to add portlets to additional\nlocations, without inheritance, and let you display portlets in\ndifferent layouts.\n\n\nExamples\n--------\n\n*Front page*\n\n Instead of, or in addition to, a page acting as the default\n content on a folder, you can create a collage of portlets and\n display it below an introductory text.\n\n There's a lot of flexibility because you can integrate the panel\n display with Plone's built-in content views. For instance, you\n could provide a search interface in addition to the standard\n folder listing.\n\n\n*Supplement static content*\n\n Use panels to add portlets above or below a static page.\n\n\n*Features or advertisement*\n\n Add panels to the 'portal top' location which by default renders\n just below the section navigation for an impressive effect.\n\n\nDocumentation\n=============\n\nUsage\n-----\n\nTo create a new panel, or manage existing ones, the editor clicks the\n\"Manage panels\" link appearing in the footer (it links to\n``@@manage-panels``) \u2014 similar to Plone's column portlets.\n\nThe management view is an overlay of the default content view.\n\n*Creating a new panel*\n\n To create a new panel, there's a collapsible form appearing just below\n the page title (\"Add panel\").\n\n If no panels exist already, the add form appears open to begin\n with.\n\n Then, simply choose a location (a default choice is already\n provided), and select a layout. Then add portlets using the\n \"Manage panel\" form (see next).\n\n*Managing existing panels*\n\n In the management interface, a collapsible form appears below\n existing panels (\"Manage panel\").\n\n This is similar to Plone's standard portlet interface and in fact\n uses it directly.\n\n It provides options to add a new portlet, change panel layout or\n manage existing portlet assignments.\n\n\nLocations\n---------\n\nThe management interface checks with Plone's viewlet visibility\nsettings to list only the applicable adding locations. This allows an\nadministrator to visit the portal's ``@@manage-viewlets`` screen and\nput a restriction on panel locations.\n\nAdding additional locations is currently not supported. The limitation\nhere is that Plone's viewlet manager framework does not provide\nlabels, or other enumeration.\n\n\nLayouts\n-------\n\nThere's a choice of layout for each panel, selected when the panel is\nfirst added, with an option to change later on. These layouts are\nregistered as components using an included ZCML-directive.\n\nUse the directive to add additional layouts::\n\n \n\n\nLicense\n-------\n\nGPLv3 (http://www.gnu.org/licenses/gpl.html).\n\n\nAuthor\n------\n\nMalthe Borch \n\n\nChanges\n=======\n\n1.11 (2017-03-27)\n-----------------\n\n- String returned by `getId` must be a string (not unicode).\n [malthe]\n\n1.10 (2017-03-02)\n-----------------\n\n- Add option to move (all) portlets from a panel in a particular\n location, e.g. above content to a new panel in another location. The\n layout selection is preserved.\n [malthe]\n\n- Uninstall profile\n [sunew]\n\n1.9 (2016-04-12)\n----------------\n\n- Show each panel HTML container element only when it contains one or\n more panel instances.\n [malthe]\n\n- Added optional heading field which if set is rendered immediately\n before the panel.\n [malthe]\n\n- Add Finnish localization\n [datakurre]\n\n1.8 (2014-12-15)\n----------------\n\n- Move css browser resources to dedicated resource directory. Include an\n upgrade step for that.\n [thet]\n\n- Move templates to dedicated templates directory and layout templtes to\n layouts directory.\n [thet]\n\n- Plone 4.3.4 compatibility:\n Save __portlet_metadata__ on the portlet renderer.\n [sunew]\n\n- The key should not be unicode (Traversal error).\n [sunew]\n\n- The aq chain to the plone content object (the 'parent') can vary in length depending on\n where we render. Go up the aq chain until we are out of nested panels, portlet assignments,\n and panel managers. (The chain is long when rendering panels, maybe in the footer, on a\n panel portlet edit form).\n [sunew]\n\n- Use the parent path as key (the plone content object), not the panel path. The key is used for\n transformations of urls in portlets, so this avoids urls like http://domain.com/++panel++plone-portalfooter/1/contact-info\n [sunew]\n\n- Never catch ConflictErrors.\n [sunew]\n\n\n1.7 (2014-04-24)\n----------------\n\nBugfixes:\n\n- Add missing upgrade step for installing the registry from released\n 1.5 to the released 1.6. If you already managed to update to 1.6 by\n uninstalling / reinstalling the product you don't need this, that's\n why it's retrofitted in the 1.0 -> 1.1 metadata.xml version bump for sites\n coming from collective.panels 1.5.\n [fredvd]\n\n- If portlet.available is a property it may throw an exception\n that will make the whole page rendering fail.\n [bosim]\n\nFeatures:\n\n- Added vertical layout.\n [bosim]\n\n- Add missing styles for the Plone Classic theme.\n The Plone Classic theme doesn't have the grid-based styles present in\n the Sunburst theme. The styles added in this commit allow the\n grid-based styling used by the panels to work when the theme in use is\n Plone Classic or one based on it.\n [afrepues]\n\nMisc:\n\n- Put a warning instead of an error whenever the settings are not available\n (can be solved usually by profile update).\n [bosim]\n\n- Updated danish translations\n [bosim]\n\n- Add Dutch translations, update .po files. Add rebuild_i18n.sh script.\n [fredvd]\n\n\n1.6 (2013-11-04)\n----------------\n\nFeature:\n\n- Added navigation_local option - for setting local panel managers\n on INavigationRoot instead of ISiteRoot. Useful eg. with modules for\n multilingual content.\n [tmog]\n\nBugfix:\n\n- Reworked the arrangement actions for the panels, due to the KSS dependency\n on plone.app.portlets has been removed.\n [bosim]\n\n1.5 (2012-10-12)\n----------------\n\nFeatures:\n\n- Added function to duplicate an existing panel.\n\n- The \"Manage panels\" form now has a better default styling.\n\nBugfixes:\n\n- Fixed \"Add panels\" action.\n\n1.4 (2012-10-12)\n----------------\n\nFeatures:\n\n- Portlet column spacing, and the omission of left- and right margins\n is now a global setting, and spacing can be expressed in floating\n point as a percentage of the available width.\n\n Previously, each panel had a spacing option.\n\n As a result of this, the HTML now uses CSS-classes to control width\n and position (previously inline styling).\n [chervol]\n\nImplementation:\n\n- The persistent ``Panel`` class now inherits from a new\n ``PortletContainerAssignment`` class, which is a portlet assignment\n that can contain other portlets. This is a generic base class that\n other portlet assignments can use.\n\n1.3.2 (2012-06-15)\n------------------\n\nBugfixes:\n\n- Fixed template compatibility issue.\n\n1.3.1 (2012-06-15)\n------------------\n\nFeatures:\n\n- Added ``panel-${n}`` classes to the panel elements.\n\n- Added ``portlet-${n}`` classes to the wrapper elements that render\n the portlet.\n\n- The panel elements now have a class that matches the layout id.\n\n- Added new spacing 'small', set at 0.55%.\n\n1.3 (2012-06-15)\n----------------\n\nFeatures:\n\n- A panel location can now be configured to be local to nearest site\n context. For instance, the footer manager can be configured in this\n way such that it's possible to use panels to create a site footer\n (which will be shown on all pages within that site).\n\n- Layouts now have a required ``description`` attribute which will be\n shown in the \"Manage panels\" fieldset (instead of the title, which\n is usually very short and non-descriptive).\n\nBugfixes:\n\n- Fixed issue where the error message would not get correctly\n rendered.\n\n- Fixed issue #9: \"Unexpected non-class object while iterating over\n viewlet managers\".\n\n1.2.3 (2012-06-08)\n------------------\n\nBugfixes:\n\n- The portlet ``settings`` dictionary was missing. Not strictly a bug,\n but the ``IPortletAssignmentSettings`` API exists to provide this\n information to the column renderer and we should provide it, too,\n for the portlet renderer wrapper template.\n\n- Panel manager must provide ``get`` method. This fixes issue #8.\n\n1.2.2 (2012-05-18)\n------------------\n\nBugfixes:\n\n- Fixed an issue that prevented the versioning tool to check in a\n document when a panel had been added. This fixes issue #5.\n\n1.2.1 (2012-05-17)\n------------------\n\nBugfixes:\n\n- Fixed an issue with incompatible template syntax.\n\n- Fixed an issue where a panel would not correctly return a\n representation string when not acquisition-wrapped. This addresses\n issue #5 (but turned out not quite to fix it entirely).\n\n1.2 (2012-05-16)\n----------------\n\nFeatures:\n\n- Added three new vertical layouts, assigned respectively 1/3, 1/2 and\n 2/3 page width.\n\n- Added option to select standard, double or triple spacing, all of\n which are given as a percentage of the page width.\n\nBugfixes:\n\n- Fixed an issue with the panel adding view that made it impossible to\n add panels to content marked as private (the request would be\n unauthorized). This fixes issue #6.\n\n- Views and resources are now registered against a package-specific\n browser layer. This ensures that the user interface is not available\n unless the product is installed (issue #7).\n\n1.1 (2012-05-15)\n----------------\n\nChanges:\n\n- Layout titles are now simply letters: A, B, C, etc. It turned out to\n be difficult to provide a short, descriptive title for each layout.\n\nFeatures:\n\n- Improved styling of adding interface.\n\n- Added two new horizontal layouts that assign a fixed width of 1/3 to\n respectively the left-most and the right-most assignment.\n\nTranslation:\n\n- Added Danish translation.\n\nBugfixes:\n\n- Fixed layout \"Left\" in the case of a single assignment.\n\n- The addable portlets check is now robust to misconfigured adding\n views and will log a warning instead of letting the exception\n trickle through.\n\n- Assignments now get unique names. For example, if two calendar\n assignments are added, the second assignment gets the name\n \"calendar-1\".\n\n- The panel info hash now correctly encodes a valid portlet\n manager. This fixes an issue where KSS-enabled portlets would\n operate incorrectly.\n\n- The panel assignment class and traverser now inherit from\n ``OFS.Traversable.Traversable`` and implement the ``getId``\n method. This fixes an issue where a physical path would not be\n correctly computed.\n\n1.0.2 (2012-04-19)\n------------------\n\nBugfixes:\n\n- Fixed issue where you could not add portlets to a panel other than\n the first (for a given manager). This fixes issue #3.\n\n1.0.1 (2012-04-17)\n------------------\n\nBugfixes:\n\n- Fixed template formatting issue.\n\n- Added markup from Plone's column renderer, wrapping each portlet in\n a structure that provides a unique portlet hash. Also, use a \"safe\"\n rendering method such that rendering may fail gracefully.\n\n1.0 (2012-04-12)\n----------------\n\n- Initial public release.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "plone portlets", "license": "GPLv2+", "maintainer": "", "maintainer_email": "", "name": "collective.panels", "package_url": "https://pypi.org/project/collective.panels/", "platform": "", "project_url": "https://pypi.org/project/collective.panels/", "project_urls": null, "release_url": "https://pypi.org/project/collective.panels/1.11/", "requires_dist": null, "requires_python": "", "summary": "Add-on for Plone that adds portlet panels.", "version": "1.11" }, "last_serial": 3709710, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "326e95478a454d84cc81044409c3d573", "sha256": "8e70e4ab1c233c04c5a76f4cf6a3e4c70c3ddc716fcae989cdf3db598e6ea695" }, "downloads": -1, "filename": "collective.panels-1.0.tar.gz", "has_sig": false, "md5_digest": "326e95478a454d84cc81044409c3d573", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13766, "upload_time": "2012-04-12T13:56:13", "url": "https://files.pythonhosted.org/packages/4f/4b/3f7fd36cbc076a2baab7f5d1b5e77fedb889e03928523fb85d3b61cb4141/collective.panels-1.0.tar.gz" } ], "1.0-dev": [], "1.0.1": [ { "comment_text": "", "digests": { "md5": "8499347e4e3b9709d605bf9090f5417e", "sha256": "c738730d7ebb85038c3b803d5aa495bb7a602c583f35269ded06e7d07f9f1d63" }, "downloads": -1, "filename": "collective.panels-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8499347e4e3b9709d605bf9090f5417e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14427, "upload_time": "2012-04-17T12:45:58", "url": "https://files.pythonhosted.org/packages/37/e9/9766e0a6edb32f81f7e5baea9c3e96933750c5ef4d9a334c6db5c0256c29/collective.panels-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "c9137e430fc934043b0d3ba06b9c45c9", "sha256": "dd99612330ce466b5a61b4ba04f582ec17eb72995725af3a9cca825ce3739156" }, "downloads": -1, "filename": "collective.panels-1.0.2.tar.gz", "has_sig": false, "md5_digest": "c9137e430fc934043b0d3ba06b9c45c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14532, "upload_time": "2012-04-19T08:17:20", "url": "https://files.pythonhosted.org/packages/6e/41/75fb6df9c67eb156a2f782591ac6b088448be31949343d6ad7a202adb2b0/collective.panels-1.0.2.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "45cc0d82083c12a4f0d4c24fd8e67a9c", "sha256": "0762553ac464dfbd8341f1b6196ae974ed2f76eba4a7258f33c0f67778c81991" }, "downloads": -1, "filename": "collective.panels-1.1.tar.gz", "has_sig": false, "md5_digest": "45cc0d82083c12a4f0d4c24fd8e67a9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17321, "upload_time": "2012-05-15T15:36:12", "url": "https://files.pythonhosted.org/packages/35/c8/5309778e11cd0ae7d94bb27d3bca3f3f0f0e1de3c84448407a481451efb2/collective.panels-1.1.tar.gz" } ], "1.10": [ { "comment_text": "", "digests": { "md5": "849ab43429611d5d500e1c5f0a511120", "sha256": "9706a2ad8aef9d5640ca1b6a1caf4e02716e256ef01efa97877a0d7ca8722a30" }, "downloads": -1, "filename": "collective.panels-1.10.tar.gz", "has_sig": false, "md5_digest": "849ab43429611d5d500e1c5f0a511120", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33913, "upload_time": "2018-03-02T22:41:44", "url": "https://files.pythonhosted.org/packages/a7/fc/d08cfc1a202600dcb6f857fd4917a08f60214b1ea17aec08d84b1d30d8b9/collective.panels-1.10.tar.gz" } ], "1.11": [ { "comment_text": "", "digests": { "md5": "fe42cfefb53ae1e446bb8413e60936fa", "sha256": "1e759c63e2e5b7ab1e35102ee8b80253de67219c9775da164d8d880505809321" }, "downloads": -1, "filename": "collective.panels-1.11.tar.gz", "has_sig": false, "md5_digest": "fe42cfefb53ae1e446bb8413e60936fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34024, "upload_time": "2018-03-27T10:11:30", "url": "https://files.pythonhosted.org/packages/22/b9/4ba6a0dfe3856c4d5196cbbe52ccdd4d933cdff8df58bea1e44bac21b890/collective.panels-1.11.tar.gz" } ], "1.11.dev0": [ { "comment_text": "", "digests": { "md5": "d0461115fc57b3c4f5f02b35810863ee", "sha256": "73de162dddfb26beb4975dadb3c54bbe06e1dfbf7c723eb9f52f22ad70f6f3f0" }, "downloads": -1, "filename": "collective.panels-1.11.dev0.tar.gz", "has_sig": false, "md5_digest": "d0461115fc57b3c4f5f02b35810863ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34056, "upload_time": "2018-03-27T10:09:53", "url": "https://files.pythonhosted.org/packages/af/ea/adea77c87c44d4f312ef292a1c67c77ca2173f31af94d43fcbced56ff564/collective.panels-1.11.dev0.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "aea7ff06572bff00de658197d26bf56d", "sha256": "76ba2a40592f275961abafcf3c7087254cb7c7476ab83e56e3ae3e0264c5793f" }, "downloads": -1, "filename": "collective.panels-1.2.tar.gz", "has_sig": false, "md5_digest": "aea7ff06572bff00de658197d26bf56d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19004, "upload_time": "2012-05-16T15:54:19", "url": "https://files.pythonhosted.org/packages/0c/da/a825840dda507d6a51febdab6c3a4fabf6300338b6eb120f1087f18a5970/collective.panels-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "52a820aff5b86458acad5daf8d6f52c5", "sha256": "626b6fbfc353f8abe7fda76ba0a964f0f35d68bee67f3eb3a95ad7e947b3bd55" }, "downloads": -1, "filename": "collective.panels-1.2.1.tar.gz", "has_sig": false, "md5_digest": "52a820aff5b86458acad5daf8d6f52c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19135, "upload_time": "2012-05-17T09:12:11", "url": "https://files.pythonhosted.org/packages/29/41/547e0fd0c4bf6a6097e61e0b32e517fa446d179bebf59e699a343aae49c0/collective.panels-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "0648efd6c5f6f352c8d0956f287839e1", "sha256": "3fc33cf67af7e1c0490db846b7378ab9636c83845c4738bc5febcf117be69696" }, "downloads": -1, "filename": "collective.panels-1.2.2.tar.gz", "has_sig": false, "md5_digest": "0648efd6c5f6f352c8d0956f287839e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19302, "upload_time": "2012-05-18T11:22:34", "url": "https://files.pythonhosted.org/packages/50/40/600c5321072262452c0deead7026c740538167ac1277e82b6c83a739bd83/collective.panels-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "2956bfcd92075651f9a037b15ed6c2d2", "sha256": "e8ae7678b10182c1b787e7093f057662ccd7619a66fd717865215e92249a63da" }, "downloads": -1, "filename": "collective.panels-1.2.3.tar.gz", "has_sig": false, "md5_digest": "2956bfcd92075651f9a037b15ed6c2d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19576, "upload_time": "2012-06-08T12:44:44", "url": "https://files.pythonhosted.org/packages/46/1e/5536699342732e0a617feacf28c30e24ec8fed5ded049b73fd1356a786dc/collective.panels-1.2.3.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "48b91c3449d8ef9bc571caf745b01ce7", "sha256": "b80dd8ba6d4ea311f32bbbc6cf306c4992d443a8dae2d3885df2a7bd6be2cd2a" }, "downloads": -1, "filename": "collective.panels-1.3.tar.gz", "has_sig": false, "md5_digest": "48b91c3449d8ef9bc571caf745b01ce7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22206, "upload_time": "2012-06-15T12:05:19", "url": "https://files.pythonhosted.org/packages/93/2e/3e03cd0bb72c45ccfc8c8d55a1302f91f9ac6bbbb727233c3ce320d9c59e/collective.panels-1.3.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "c207ca7a524a8d7970e60a20851d8374", "sha256": "ef0e0c6056750ee5c69aaab9302cf7f8a52f78a20d52272de8a1e6f3b7ea45c2" }, "downloads": -1, "filename": "collective.panels-1.3.1.tar.gz", "has_sig": false, "md5_digest": "c207ca7a524a8d7970e60a20851d8374", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22926, "upload_time": "2012-06-15T15:19:03", "url": "https://files.pythonhosted.org/packages/2a/d9/cd309843f22c8433abe26344322699cfc84f7c35593644915c8b14182382/collective.panels-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "e0c2ac10d5bc59a4e71b4d29b5953171", "sha256": "46461252f6dbad627f396ccde50cef7592de3c20220f4443160df5c525386cfb" }, "downloads": -1, "filename": "collective.panels-1.3.2.tar.gz", "has_sig": false, "md5_digest": "e0c2ac10d5bc59a4e71b4d29b5953171", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22951, "upload_time": "2012-06-15T16:08:05", "url": "https://files.pythonhosted.org/packages/3f/26/5a336629f53cb55df3e919ea4ce4d6445348c7dc531defdb93829293537e/collective.panels-1.3.2.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "6efab77e63aa0f9a51880fbc454e824e", "sha256": "8f4f64727eab113c9ad1e83118322a12e48b3de9ae97cd492c3d89eee0f81d76" }, "downloads": -1, "filename": "collective.panels-1.4.tar.gz", "has_sig": false, "md5_digest": "6efab77e63aa0f9a51880fbc454e824e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24048, "upload_time": "2012-10-12T09:46:43", "url": "https://files.pythonhosted.org/packages/b2/fd/8e9d9de01543d72a127d372a73ff60e38b6e096f0a364828158f6048d18d/collective.panels-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "86a235ce54960f36fd86f64d614916cc", "sha256": "84a57ec419d3fab9ed2eca0a2b8b2fe090b656e3a70ae2ee17d2943c62f3dd34" }, "downloads": -1, "filename": "collective.panels-1.5.tar.gz", "has_sig": false, "md5_digest": "86a235ce54960f36fd86f64d614916cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24504, "upload_time": "2012-10-16T13:35:34", "url": "https://files.pythonhosted.org/packages/aa/d1/3d2ff77590db1d34f06c54026c38f3c856a74d73b5a922ba30242af6f8ec/collective.panels-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "af2de6881a31fc7cfdb196b9574e5976", "sha256": "80f1cda535f7bbb869047818531820c8b01e560f8874b008986367c6ad03253d" }, "downloads": -1, "filename": "collective.panels-1.6.tar.gz", "has_sig": false, "md5_digest": "af2de6881a31fc7cfdb196b9574e5976", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26286, "upload_time": "2013-11-04T09:37:33", "url": "https://files.pythonhosted.org/packages/26/ab/be59063581494985cf963b75755a0ce512a7e45e8c96742674aeab4aaee3/collective.panels-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "80c07d3e0b3b974facbf269d8a81e5b4", "sha256": "40b914f7f6c38d79a93153a1161a292ca2054a960490632eff1fe320719db6af" }, "downloads": -1, "filename": "collective.panels-1.7.zip", "has_sig": false, "md5_digest": "80c07d3e0b3b974facbf269d8a81e5b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49510, "upload_time": "2014-04-24T12:23:51", "url": "https://files.pythonhosted.org/packages/e6/0f/3cafa1973f968deb14d637d9e2b8b82390eb440774ef05c8dd3361448b7c/collective.panels-1.7.zip" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "bb5f54dc83d59706025e6087f2beb02e", "sha256": "ab2aca888d04ce06d517e5d1b98bedfd4bbacdb5f6080d7e7599495ab5fe937f" }, "downloads": -1, "filename": "collective.panels-1.8.zip", "has_sig": false, "md5_digest": "bb5f54dc83d59706025e6087f2beb02e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56377, "upload_time": "2014-12-15T19:55:34", "url": "https://files.pythonhosted.org/packages/29/ec/c83bdceed2a0bb7e1bf9afbb3b042aee56bf5fef5d06aadb6453939f48af/collective.panels-1.8.zip" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "61eac042f367aa530905d7b219a5a3df", "sha256": "431270a30fb7aeff648741c6daf7980bf30f3cf1da441552980532a8269446b4" }, "downloads": -1, "filename": "collective.panels-1.9.tar.gz", "has_sig": false, "md5_digest": "61eac042f367aa530905d7b219a5a3df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30292, "upload_time": "2016-04-12T07:32:55", "url": "https://files.pythonhosted.org/packages/e0/3c/9828fe77cf20cc7b898fd7cc0b2bdbd0df71c118dffe1b3646a02bdd253f/collective.panels-1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fe42cfefb53ae1e446bb8413e60936fa", "sha256": "1e759c63e2e5b7ab1e35102ee8b80253de67219c9775da164d8d880505809321" }, "downloads": -1, "filename": "collective.panels-1.11.tar.gz", "has_sig": false, "md5_digest": "fe42cfefb53ae1e446bb8413e60936fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34024, "upload_time": "2018-03-27T10:11:30", "url": "https://files.pythonhosted.org/packages/22/b9/4ba6a0dfe3856c4d5196cbbe52ccdd4d933cdff8df58bea1e44bac21b890/collective.panels-1.11.tar.gz" } ] }