Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/collective/collective.person

A Person content type for Plone.
https://github.com/collective/collective.person

plone plone-addon plone6

Last synced: about 2 months ago
JSON representation

A Person content type for Plone.

Awesome Lists containing this project

README

        

logo

Person content type for Plone

[![PyPI](https://img.shields.io/pypi/v/collective.person)](https://pypi.org/project/collective.person/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/collective.person)](https://pypi.org/project/collective.person/)
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/collective.person)](https://pypi.org/project/collective.person/)
[![PyPI - License](https://img.shields.io/pypi/l/collective.person)](https://pypi.org/project/collective.person/)
[![PyPI - Status](https://img.shields.io/pypi/status/collective.person)](https://pypi.org/project/collective.person/)

[![PyPI - Plone Versions](https://img.shields.io/pypi/frameworkversions/plone/collective.person)](https://pypi.org/project/collective.person/)

[![Meta](https://github.com/collective/collective.person/actions/workflows/meta.yml/badge.svg)](https://github.com/collective/collective.person/actions/workflows/meta.yml)
![Code Style](https://img.shields.io/badge/Code%20Style-Black-000000)

[![GitHub contributors](https://img.shields.io/github/contributors/collective/collective.person)](https://github.com/collective/collective.person)
[![GitHub Repo stars](https://img.shields.io/github/stars/collective/collective.person?style=social)](https://github.com/collective/collective.person)

## Features

`collective.person` provides a content type representing a Person.

### Content Types

* `Person`: A content type representing a person

### Behaviors

| name | title | description |
| -- | -- | -- |
| `collective.person.person` | Person Behavior | Fields with basic person information |
| `collective.person.user` | Link Person to Plone User | Adapts a Person to link it to a Plone User |
| `collective.person.namefromusername` | Name from username |Use the username field as name (basis for the id) |

### Permissions

| id | title | Usage |
| -- | -- | -- |
| collective.person.person.add | collective.person: Add Person | Control the creation of a new Person content item |

### Catalog Indexes

This package adds Indexes and Metadata to Portal Catalog.

| Content Attribute | Index Type | Metadata | Comment |
| -- | -- | -- | -- |
| roles | KeywordIndex | ✅ | -- |
| username | FieldIndex | ✅ | Used when `collective.person.user` behavior is enabled |

## See it in action

This package is being used by the following sites:

* TODO

## Documentation

### Installation

Add `collective.person` as a dependency on your package's `setup.py`

```python
install_requires = [
"collective.person",
"Plone",
"plone.restapi",
"setuptools",
],
```

Also, add `collective.person` to your package's `configure.zcml` (or `dependencies.zcml`):

```xml

```

### Generic Setup

To automatically enable this package when your add-on is installed, add the following line inside the package's `profiles/default/metadata.xml` `dependencies` element:

```xml
profile-collective.person:default
```

## Source Code and Contributions

We welcome contributions to `collective.person`.

You can create an issue in the issue tracker, or contact a maintainer.

- [Issue Tracker](https://github.com/collective/collective.person/issues)
- [Source Code](https://github.com/collective/collective.person/)

### Development setup

You need a working Python environment version 3.8 or later.

Then install the dependencies and a development instance using:

```bash
make install
```

By default, we use the latest Plone version in the 6.x series.

### Update translations

```bash
make i18n
```
### Format codebase

```bash
make format
```
### Run tests

```bash
make test
```

## License

The project is licensed under GPLv2.