{ "info": { "author": "Maurits van Rees", "author_email": "m.van.rees@zestsoftware.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: 5.2", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6" ], "description": ".. This README is meant for consumption by humans and pypi. Pypi can render rst files so please do not use Sphinx features.\n If you want to learn more about writing documentation, please check out: http://docs.plone.org/about/documentation_styleguide.html\n This text does not appear on pypi. It is a comment.\n\ncollective.contentgroups\n========================\n\nThis is a PAS (``PluggableAuthenticationService``) plugin for Plone.\nIt supports content items as groups.\n\n.. image:: https://travis-ci.org/collective/collective.contentgroups.svg?branch=master\n :target: https://travis-ci.org/collective/collective.contentgroups\n\n\nFeatures\n--------\n\n- A behavior ``collective.contentgroups.group`` that turns a dexterity portal type into a group, with a simple ``users`` text field.\n- A PAS plugin ``contentgroups`` that integrates these groups.\n- An adapter ``GroupAdapter`` that gives content items with our behavior the needed functionality that the standard ``PloneGroup`` and ``GroupData`` objects provide.\n- An installer that installs the plugin into ``acl_users``.\n- An uninstaller to remove the plugin.\n\nNote: this package has no Group portal type.\nYou will have to enable the behavior yourself on a new or existing dexterity portal type.\n\n\nInstallation\n------------\n\nInstall collective.contentgroups by adding it to your buildout::\n\n [buildout]\n\n ...\n\n eggs =\n collective.contentgroups\n\n\nand then running ``bin/buildout`` and starting Plone.\n\nNow you can install the product in the Add-ons control panel in Plone.\nThen go to the Dexterity contenttypes control panel.\nEither create a new type or edit an existing type and enable the Group behavior.\n\n\nUsage\n-----\n\nCreating groups\n~~~~~~~~~~~~~~~\n\nAny groups that you add in the Users and Groups control panel, are standard Plone groups.\n\nIn the Content UI, you can create a Group, just like you would create a Page or Folder.\nUse the Add New action menu and select the content type for which you have enabled the behavior.\n\nDeleting groups is also done in the content UI: simply delete the Group like you would delete a Page.\n\nNote that if the Group is private, a Site Adminstrator will see it in the Groups control panel.\nBut other users may not see the group.\nEditors that have no permission to see the group, will not be able to select it in the Sharing tab.\nA member of the group may not effectively get the group membership, because the group is not found (in the ``portal_catalog`` search).\n\nIn other words: setting a Group in the private state is an effective way to disable it.\n\n\nAdding users\n~~~~~~~~~~~~\n\nAdding users to a group *must* be done on the edit form of the content group.\nIt *cannot* be done in the Users and Groups control panel.\nIn the Users text field, type the ids of users that you want in this group, one per line.\n\nNote: you need the *id* of the user, not the login name.\nUsually they are the same, but they may differ, for example when you use email as login.\n\nIt is also fine to add a group id in the users field, either from another content group or a standard Plone Group.\nSuch \"recursive\" group memberships work seemlessly when you use the Plone recursive groups plugin, which is enabled in default Plone.\nFor this to work, the ``contentgroups`` PAS plugin needs to be above the ``recursive_groups`` plugin in the ``IGroupsPlugin``.\nThe installer takes care of this.\n\nTo remove a user from the group, simply remove its id from the Users field.\n\nIn the Users and Groups control panel you will be able to see which users are in a content group and to which content groups a user belongs.\nBut you won't be able to change it.\n\n\nAdding roles\n~~~~~~~~~~~~\n\nYou cannot add roles to groups, not in the edit form and not in the control panel.\nWhat you *can* do, is:\n\n- Add the content group to a standard Plone group and give this standard group a role.\n For example, you can add the content group to the Reviewers group.\n- Search and select the content group on the Sharing tab and give it a local role.\n\n\nCompatibility\n-------------\n\nThis works on Plone 5.2 with Python 2.7 and 3.6.\nIt probably works with earlier Plone versions or later Python versions too, but this has not been tested.\n\n\nSupport\n-------\n\nIf you are having issues, please let us know.\nContact `Maurits van Rees at Zest Software `_.\nOr open an issue in the `tracker `_.\n\n\nLicense\n-------\n\nThe project is licensed under the GPLv2.\n\n\nContributors\n============\n\n- Maurits van Rees, m.van.rees@zestsoftware.nl\n\n\nSponsorship\n===========\n\nWork on ``collective.contentgroups`` has been made possible by Ghent University, or UGent.\nSee https://www.ugent.be.\nGhent University is a top 100 university and one of the major universities in Belgium.\n\n\nChangelog\n=========\n\n\n1.0.0a1 (2019-06-07)\n--------------------\n\n- Initial release.\n [maurits]\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/collective/collective.contentgroups", "keywords": "Python Plone", "license": "GPL version 2", "maintainer": "", "maintainer_email": "", "name": "collective.contentgroups", "package_url": "https://pypi.org/project/collective.contentgroups/", "platform": "", "project_url": "https://pypi.org/project/collective.contentgroups/", "project_urls": { "Homepage": "https://github.com/collective/collective.contentgroups" }, "release_url": "https://pypi.org/project/collective.contentgroups/1.0.0a1/", "requires_dist": [ "Products.GenericSetup (>=1.8.2)", "plone.api", "setuptools", "six", "plone.app.testing ; extra == 'test'", "plone.testing (>=5.0.0) ; extra == 'test'" ], "requires_python": "", "summary": "Plone PAS plugin for content as groups", "version": "1.0.0a1" }, "last_serial": 5371271, "releases": { "1.0.0a1": [ { "comment_text": "", "digests": { "md5": "2f0b430bf61c509c18a1be9742964385", "sha256": "891da70839c3d3aa1e055d6f552092d488085d977bb01cbfaa5dbf8bcd429fd1" }, "downloads": -1, "filename": "collective.contentgroups-1.0.0a1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f0b430bf61c509c18a1be9742964385", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41946, "upload_time": "2019-06-07T12:15:52", "url": "https://files.pythonhosted.org/packages/74/b1/03a46def14344c93b7cfb74bd75919b6f3ee950a85a209155716c99f5097/collective.contentgroups-1.0.0a1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0992a49d375f474c5edd2c8db6b5db71", "sha256": "28d846ec2eb350d27de06af597170e257629c70bb0934ceb611bcf3213c5ed7e" }, "downloads": -1, "filename": "collective.contentgroups-1.0.0a1.tar.gz", "has_sig": false, "md5_digest": "0992a49d375f474c5edd2c8db6b5db71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33606, "upload_time": "2019-06-07T12:15:55", "url": "https://files.pythonhosted.org/packages/08/b9/5e508a2b5e69d5f2472e55dccf485f7914835a84c487af49a57fcc6ed3a3/collective.contentgroups-1.0.0a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2f0b430bf61c509c18a1be9742964385", "sha256": "891da70839c3d3aa1e055d6f552092d488085d977bb01cbfaa5dbf8bcd429fd1" }, "downloads": -1, "filename": "collective.contentgroups-1.0.0a1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f0b430bf61c509c18a1be9742964385", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41946, "upload_time": "2019-06-07T12:15:52", "url": "https://files.pythonhosted.org/packages/74/b1/03a46def14344c93b7cfb74bd75919b6f3ee950a85a209155716c99f5097/collective.contentgroups-1.0.0a1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0992a49d375f474c5edd2c8db6b5db71", "sha256": "28d846ec2eb350d27de06af597170e257629c70bb0934ceb611bcf3213c5ed7e" }, "downloads": -1, "filename": "collective.contentgroups-1.0.0a1.tar.gz", "has_sig": false, "md5_digest": "0992a49d375f474c5edd2c8db6b5db71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33606, "upload_time": "2019-06-07T12:15:55", "url": "https://files.pythonhosted.org/packages/08/b9/5e508a2b5e69d5f2472e55dccf485f7914835a84c487af49a57fcc6ed3a3/collective.contentgroups-1.0.0a1.tar.gz" } ] }