<div align="center"><img alt="logo" src="https://raw.githubusercontent.com/kitconcept/pas.plugins.memberpropertytogroup/main/kitconcept.png" width="150" /></div>
<h1 align="center">pas.plugins.memberpropertytogroup</h1>
<div align="center">
[![PyPI](https://img.shields.io/pypi/v/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)
[![PyPI - License](https://img.shields.io/pypi/l/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)
[![PyPI - Status](https://img.shields.io/pypi/status/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)
[![PyPI - Plone Versions](https://img.shields.io/pypi/frameworkversions/plone/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)
[![Code analysis checks](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/actions/workflows/code-analysis.yml/badge.svg)](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/actions/workflows/code-analysis.yml)
[![Tests](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/actions/workflows/tests.yml/badge.svg)](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/actions/workflows/tests.yml)
![Code Style](https://img.shields.io/badge/Code%20Style-Black-000000)
[![GitHub contributors](https://img.shields.io/github/contributors/kitconcept/pas.plugins.memberpropertytogroup)](https://github.com/kitconcept/pas.plugins.memberpropertytogroup)
[![GitHub Repo stars](https://img.shields.io/github/stars/kitconcept/pas.plugins.memberpropertytogroup?style=social)](https://github.com/kitconcept/pas.plugins.memberpropertytogroup)
</div>
Plone PAS plugin to create virtual groups based on member properties.
The main use case are organisations that have an existing LDAP infrastructure that organises groups through member properties instead of LDAP groups.
If you have a vanilla Plone site without LDAP, you most likely do not need this plugin.
## Features
- [Create virtual groups based on member properties](https://paspluginsmemberpropertytogroup.readthedocs.org/en/latest/features/create_virtual_groups.html#create-virtual-groups-based-on-member-properties)
- [Create multiple virtual groups based member properties](https://paspluginsmemberpropertytogroup.readthedocs.org/en/latest/features/create_virtual_groups.html#create-multiple-virtual-groups-based-on-member-properties)
- [Create virtual group based on a member properties prefix](https://paspluginsmemberpropertytogroup.readthedocs.org/en/latest/features/create_virtual_groups.html#create-virtual-group-based-on-a-member-properties-prefix)
- [Grant local permissions based on virtual member properties groups]( https://paspluginsmemberpropertytogroup.readthedocs.org/en/latest/features/grant_permissions.html#grant-local-permissions-based-on-virtual-member-properties-groups)
## Installation
Add **pas.plugins.memberpropertytogroup** to the Plone installation using `pip`:
```bash
pip install pas.plugins.memberpropertytogroup
```
or add it as a dependency on your package's `setup.py`
```python
install_requires = [
"pas.plugins.memberpropertytogroup",
"Plone",
"plone.restapi",
"setuptools",
],
```
Start Plone and activate the plugin in the addons control-panel.
## Source Code and Contributions
If you want to help with the development (improvement, update, bug-fixing, ...) of `pas.plugins.memberpropertytogroup` this is a great idea!
- [Issue Tracker](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/issues)
- [Source Code](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/)
- [Documentation](https://paspluginsmemberpropertytogroup.readthedocs.org)
We appreciate any contribution and if a release is needed to be done on PyPI, please just contact one of us.
Development
-----------
You need a working `python` environment (system, virtualenv, pyenv, etc) version 3.7 or superior.
Then install the dependencies and a development instance using:
```bash
make build
```
To run tests for this package:
```bash
make test
```
By default we use the latest Plone version in the 6.x series.
## Credits
The development of this plugin has been kindly sponsored by [Bonn University](http://www3.uni-bonn.de/) and [Helmholtz Zentrum Berlin](https://www.helmholtz-berlin.de/).
<img alt="Bonn University" src="http://www3.uni-bonn.de/logo.png" width="200px" />
<img alt="Helmholtz Zentrum Berlin" src="https://raw.githubusercontent.com/kitconcept/pas.plugins.memberpropertytogroup/main/hzb-logo.svg" width="200px" />
Developed by [kitconcept](https://www.kitconcept.com/)
<img alt="kitconcept GmbH" src="https://raw.githubusercontent.com/kitconcept/pas.plugins.memberpropertytogroup/main/kitconcept.png" width="200px" />
Icon by [FamFamFam](https://famfamfam.com/)
## License
The project is licensed under the GPLv2.
# Contributors
- Timo Stollenwerk
- Jens Klein
- Víctor Fernández de Alba
- Carsten Senger
- Érico Andrei
# Changelog
## 3.0.0 (2023-01-02)
- Initial i18n support
[ericof]
- Implement control panel via plone.restapi
[ericof]
- Adapt control panel to Bootstrap 5
[ericof]
- Use plone/code-analysis-action@v2 as basis for code-analysis in GitHub Actions
[ericof]
- Tests now use pytest instead of unittest
[ericof]
- Drop support to Plone 5.2
[ericof]
- Drop support to Python 3.7
[ericof]
## 2.1.1 (2021-08-31)
- Fix property matching.
[ericof]
## 2.1.0 (2021-08-31)
- Property matching now supports '*' both in the start and in the end of the value.
[ericof]
## 2.0.0 (2021-07-21)
- Plone 5.2 compatibility.
[timo]
- Drop Python 2, Plone < 5.2 compatibility.
[ericof]
- Implement package uninstall (#12).
[ericof]
## 1.1 (2018-03-05)
- Plone 5.1 compatibility.
[timo]
- Make plugins (by default inactive) ``getGroupMembers`` pluggable, so that
integrators may provide its own utility providing new ``IGetGroupMembers``
interface promising to return the actual group members.
[jensens]
## 1.0 (2016-04-04)
- Identical to 1.0a7.
[timo]
## 1.0a7 (2015-10-25)
- Control panel markup and JS refactoring.
[sneridagh]
## 1.0a6 (2015-10-21)
- Plone 3 compatibility fixes.
[csenger]
## 1.0a5 (2015-10-21)
- Fix js to work with Plone 3.
[csenger]
- Move add/remove buttons in controlpanel above the save/cancel buttons.
[csenger]
## 1.0a4 (2015-10-19)
- Add upgrade step for registry entries that have been added in 1.0a3.
[timo]
## 1.0a3 (2015-10-12)
- New feature: As administrator I can create a group based on multiple member properties.
[sneridagh]
## 1.0a2 (2015-09-09)
- Fix Scenario: As administrator I can create a group based on member
properties prefixes
[jensens]
- Ignore empty lines in controlpanel input.
[jensens]
## 1.0a1 (2015-08-06)
- Initial release.
[timo, jensens]
Raw data
{
"_id": null,
"home_page": "http://pypi.python.org/pypi/pas.plugins.memberpropertytogroup",
"name": "pas.plugins.memberpropertytogroup",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "Python Plone PAS LDAP",
"author": "kitconcept GmbH",
"author_email": "info@kitconcept.com",
"download_url": "https://files.pythonhosted.org/packages/b1/55/40b0c1055222146b90e29f1b6be1b1f3bff6725b157dc439b87d35860d95/pas.plugins.memberpropertytogroup-3.0.0.tar.gz",
"platform": null,
"description": "\n<div align=\"center\"><img alt=\"logo\" src=\"https://raw.githubusercontent.com/kitconcept/pas.plugins.memberpropertytogroup/main/kitconcept.png\" width=\"150\" /></div>\n\n<h1 align=\"center\">pas.plugins.memberpropertytogroup</h1>\n\n<div align=\"center\">\n\n[![PyPI](https://img.shields.io/pypi/v/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)\n[![PyPI - Wheel](https://img.shields.io/pypi/wheel/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)\n[![PyPI - License](https://img.shields.io/pypi/l/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)\n[![PyPI - Status](https://img.shields.io/pypi/status/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)\n\n\n[![PyPI - Plone Versions](https://img.shields.io/pypi/frameworkversions/plone/pas.plugins.memberpropertytogroup)](https://pypi.org/project/pas.plugins.memberpropertytogroup/)\n\n[![Code analysis checks](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/actions/workflows/code-analysis.yml/badge.svg)](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/actions/workflows/code-analysis.yml)\n[![Tests](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/actions/workflows/tests.yml/badge.svg)](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/actions/workflows/tests.yml)\n![Code Style](https://img.shields.io/badge/Code%20Style-Black-000000)\n\n[![GitHub contributors](https://img.shields.io/github/contributors/kitconcept/pas.plugins.memberpropertytogroup)](https://github.com/kitconcept/pas.plugins.memberpropertytogroup)\n[![GitHub Repo stars](https://img.shields.io/github/stars/kitconcept/pas.plugins.memberpropertytogroup?style=social)](https://github.com/kitconcept/pas.plugins.memberpropertytogroup)\n\n</div>\n\n\nPlone PAS plugin to create virtual groups based on member properties.\n\nThe main use case are organisations that have an existing LDAP infrastructure that organises groups through member properties instead of LDAP groups.\n\nIf you have a vanilla Plone site without LDAP, you most likely do not need this plugin.\n\n## Features\n\n- [Create virtual groups based on member properties](https://paspluginsmemberpropertytogroup.readthedocs.org/en/latest/features/create_virtual_groups.html#create-virtual-groups-based-on-member-properties)\n- [Create multiple virtual groups based member properties](https://paspluginsmemberpropertytogroup.readthedocs.org/en/latest/features/create_virtual_groups.html#create-multiple-virtual-groups-based-on-member-properties)\n- [Create virtual group based on a member properties prefix](https://paspluginsmemberpropertytogroup.readthedocs.org/en/latest/features/create_virtual_groups.html#create-virtual-group-based-on-a-member-properties-prefix)\n- [Grant local permissions based on virtual member properties groups]( https://paspluginsmemberpropertytogroup.readthedocs.org/en/latest/features/grant_permissions.html#grant-local-permissions-based-on-virtual-member-properties-groups)\n\n## Installation\n\nAdd **pas.plugins.memberpropertytogroup** to the Plone installation using `pip`:\n\n```bash\npip install pas.plugins.memberpropertytogroup\n```\n\nor add it as a dependency on your package's `setup.py`\n\n```python\n install_requires = [\n \"pas.plugins.memberpropertytogroup\",\n \"Plone\",\n \"plone.restapi\",\n \"setuptools\",\n ],\n```\n\nStart Plone and activate the plugin in the addons control-panel.\n\n\n## Source Code and Contributions\n\nIf you want to help with the development (improvement, update, bug-fixing, ...) of `pas.plugins.memberpropertytogroup` this is a great idea!\n\n- [Issue Tracker](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/issues)\n- [Source Code](https://github.com/kitconcept/pas.plugins.memberpropertytogroup/)\n- [Documentation](https://paspluginsmemberpropertytogroup.readthedocs.org)\n\nWe appreciate any contribution and if a release is needed to be done on PyPI, please just contact one of us.\n\nDevelopment\n-----------\n\nYou need a working `python` environment (system, virtualenv, pyenv, etc) version 3.7 or superior.\n\nThen install the dependencies and a development instance using:\n\n```bash\nmake build\n```\n\nTo run tests for this package:\n\n```bash\nmake test\n```\n\nBy default we use the latest Plone version in the 6.x series.\n\n## Credits\n\nThe development of this plugin has been kindly sponsored by [Bonn University](http://www3.uni-bonn.de/) and [Helmholtz Zentrum Berlin](https://www.helmholtz-berlin.de/).\n\n\n<img alt=\"Bonn University\" src=\"http://www3.uni-bonn.de/logo.png\" width=\"200px\" />\n\n<img alt=\"Helmholtz Zentrum Berlin\" src=\"https://raw.githubusercontent.com/kitconcept/pas.plugins.memberpropertytogroup/main/hzb-logo.svg\" width=\"200px\" />\n\n\nDeveloped by [kitconcept](https://www.kitconcept.com/)\n\n<img alt=\"kitconcept GmbH\" src=\"https://raw.githubusercontent.com/kitconcept/pas.plugins.memberpropertytogroup/main/kitconcept.png\" width=\"200px\" />\n\nIcon by [FamFamFam](https://famfamfam.com/)\n\n## License\n\nThe project is licensed under the GPLv2.\n\n\n# Contributors\n\n- Timo Stollenwerk\n- Jens Klein\n- V\u00edctor Fern\u00e1ndez de Alba\n- Carsten Senger\n- \u00c9rico Andrei\n\n\n# Changelog\n\n## 3.0.0 (2023-01-02)\n\n- Initial i18n support\n [ericof]\n\n- Implement control panel via plone.restapi\n [ericof]\n\n- Adapt control panel to Bootstrap 5\n [ericof]\n\n- Use plone/code-analysis-action@v2 as basis for code-analysis in GitHub Actions\n [ericof]\n\n- Tests now use pytest instead of unittest\n [ericof]\n\n- Drop support to Plone 5.2\n [ericof]\n\n- Drop support to Python 3.7\n [ericof]\n\n\n## 2.1.1 (2021-08-31)\n\n- Fix property matching.\n [ericof]\n\n\n## 2.1.0 (2021-08-31)\n\n- Property matching now supports '*' both in the start and in the end of the value.\n [ericof]\n\n\n## 2.0.0 (2021-07-21)\n\n- Plone 5.2 compatibility.\n [timo]\n\n- Drop Python 2, Plone < 5.2 compatibility.\n [ericof]\n\n- Implement package uninstall (#12).\n [ericof]\n\n\n## 1.1 (2018-03-05)\n\n- Plone 5.1 compatibility.\n [timo]\n\n- Make plugins (by default inactive) ``getGroupMembers`` pluggable, so that\n integrators may provide its own utility providing new ``IGetGroupMembers``\n interface promising to return the actual group members.\n [jensens]\n\n\n## 1.0 (2016-04-04)\n\n- Identical to 1.0a7.\n [timo]\n\n\n## 1.0a7 (2015-10-25)\n\n- Control panel markup and JS refactoring.\n [sneridagh]\n\n\n## 1.0a6 (2015-10-21)\n\n- Plone 3 compatibility fixes.\n [csenger]\n\n\n## 1.0a5 (2015-10-21)\n\n- Fix js to work with Plone 3.\n [csenger]\n\n- Move add/remove buttons in controlpanel above the save/cancel buttons.\n [csenger]\n\n\n## 1.0a4 (2015-10-19)\n\n- Add upgrade step for registry entries that have been added in 1.0a3.\n [timo]\n\n\n## 1.0a3 (2015-10-12)\n\n- New feature: As administrator I can create a group based on multiple member properties.\n [sneridagh]\n\n\n## 1.0a2 (2015-09-09)\n\n- Fix Scenario: As administrator I can create a group based on member\n properties prefixes\n [jensens]\n\n- Ignore empty lines in controlpanel input.\n [jensens]\n\n\n## 1.0a1 (2015-08-06)\n\n- Initial release.\n [timo, jensens]\n\n\n",
"bugtrack_url": null,
"license": "GPL",
"summary": "Plone PAS plugin to create virtual groups based on member properties",
"version": "3.0.0",
"split_keywords": [
"python",
"plone",
"pas",
"ldap"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "7ce33415bfce59467d2adc0e94db9cfa",
"sha256": "e8faa3023c6c1a08e0e7fc5dc24b8781654ec84fb0c06cf74ca270d417f55566"
},
"downloads": -1,
"filename": "pas.plugins.memberpropertytogroup-3.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7ce33415bfce59467d2adc0e94db9cfa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 30594,
"upload_time": "2023-01-02T16:22:06",
"upload_time_iso_8601": "2023-01-02T16:22:06.571820Z",
"url": "https://files.pythonhosted.org/packages/0d/17/7c8e6d499887c1ea10386e2cfa783a396b107ac60878d586777e7706868a/pas.plugins.memberpropertytogroup-3.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "b64e1bd37bf59145605b336c05b5f488",
"sha256": "2de141dae812bc958ced46393f9974157d2b1f1289a457f94e7245413bb68437"
},
"downloads": -1,
"filename": "pas.plugins.memberpropertytogroup-3.0.0.tar.gz",
"has_sig": false,
"md5_digest": "b64e1bd37bf59145605b336c05b5f488",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 2333889,
"upload_time": "2023-01-02T16:22:09",
"upload_time_iso_8601": "2023-01-02T16:22:09.568049Z",
"url": "https://files.pythonhosted.org/packages/b1/55/40b0c1055222146b90e29f1b6be1b1f3bff6725b157dc439b87d35860d95/pas.plugins.memberpropertytogroup-3.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-02 16:22:09",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "pas.plugins.memberpropertytogroup"
}