District Core Developer DocsDistrict Core Developer Docs
Developers
Boilerplate
Modules
Bitbucket
Developers
Boilerplate
Modules
Bitbucket
  • Modules

    • ABN
    • ActivityLog
    • AnalyticsApi
    • ApiConnector
    • BlockApi
    • CategoryApi
    • CloneApi
    • CommentApi
    • ContentApi
    • Core
    • Documents
    • EmbedApi
    • Event
    • ExportApi
    • FeatureApi
    • FormApi
    • GTM
    • GalleryApi
    • HelpApi
    • Hotspot
    • IdeaSurvey
    • ImportApi
    • InteractionsApi
    • Intercom
    • MailApi
    • MapApi
    • MapSurvey
    • MediaApi
    • MenuApi
    • MetaTagApi
    • NlpApi
    • NotificationApi
    • Page
    • ParentableContent
    • PaymentApi
    • PermissionsApi
    • Postcode
    • ReCaptcha
    • Redirects
    • Renderer
    • ReportApi
    • RestrictionApi
    • RevisionApi
    • SearchApi
    • Settings
    • ShareableApi
    • Slack
    • SlugApi
    • SubscribableApi
    • Survey
    • Team
    • TenantApi
    • TestApi
    • ThemeApi
    • Timeline
    • TranslationApi
    • Update
    • Users
    • VisualisationApi
    • WorkflowApi
    • Wysiwyg

Team module

Based on mpociot/teamwork module, it allows the grouping of users into teams so that further logic can be applied to:

  • Users
  • Content
  • Permissions
  • ...

Team types

Teams can have types that are defined by a plugin that should extend Plugins\TeamTypes\BaseTeamType and must be placed in your module folder under Plugins\TeamTypes\.

Team revisions

Teams are revisioned by default so admins can track changes made to teams.

Team management workflow

Team management can follow a moderation workflow and integrates with the District module WorkflowApi.

Simply configure a workflow under your workflow_api for the Team model.

Team user

User models can have teams if the model uses the Trait CanHaveTeamTrait and implements the interface CanHaveTeamInterface.

Team content

Content can be owned by a team if the model use Trait OwnedByTeamTrait and implements the interface OwnedByTeamInterface.

Team permissions

Teams follow a permission system provided by the District PermissionsApi module.

Team roles, granted when adding a user to a team, provide permission within the team context. For instance, viewing any content owned by a team. System roles, granted on the user system account, provide permission at a global level. For instance, creating new users.

Some team role permissions can however be considered global in order to overcome certain limitations.
For instance, allowing team users to access a dashboard.
This is done by extending the array defined in the config team_permissions.global_team_permissions.


Edit this page
Prev
Survey
Next
TenantApi