boing6002 / people
Person management dependency for Laravel Enso
Requires
- php: >=7.1.0
- laravel-enso/activitylog: 1.1.*
- laravel-enso/core: 3.5.*
- laravel-enso/formbuilder: 2.12.*
- laravel-enso/helpers: 1.10.*
- laravel-enso/structuremanager: 2.5.*
- laravel-enso/trackwho: 1.7.*
- laravel-enso/vuedatatable: 1.9.*
README
Person management dependency for Laravel Enso.
click on the photo to view a large size screenshot
Features
- separates the people centric operations from the core application user model
- allows the management of people and their details
- integrates with and extends the application user
- is built upon the premise that all the application users are people, but some people may not be application users
- can be reused and integrated with other modules which might handle categories of people (e.g. contacts)
- a
PersonFactory
is included by default in the package - a policy is used to ensure that a person email update cannot be performed if the person is linked to an user
- custom validations may be added through the package configuration
- the people server-side select functionality is included by default
- the included
IsPerson
trait can be used on other models that have aperson
relationship and require email synchronization - enums are used for person genders and titles
Backstory
In previous Enso versions, there was no common ground between application users and other categories of actors which also represented people, for example contacts and (some types of) clients. This sometimes lead to duplicated data as well as brittle and non reusable types and relationships.
In order to move towards better maintainability, the decision to move common data into persons was taken. Now the people structure can be reused as needed.
Configuration & Usage
Be sure to check out the full documentation for this package available at docs.laravel-enso.com
Contributions
are welcome. Pull requests are great, but issues are good too.
License
This package is released under the MIT license.