Download the PHP package stats4sd/filament-team-management without Composer

On this page you can find all versions of the php package stats4sd/filament-team-management. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package filament-team-management

Filament Team Management

Teams, optional programs, direct memberships and membership invitations for Laravel 13, Filament 5, Livewire 4 and PHP 8.4+. The package owns membership data and workflows; your application owns authorization, panel admission and tenant access. It does not install a permission backend or define administrator roles.

Follow UPGRADE.md before adopting it. The installer publishes fresh-install migrations and optionally deny-default host policy stubs. It preserves existing policies and never registers a competing package policy.

Membership and authorization

Team::users() and Program::users() return all direct members. members() is an unfiltered alias. Programs and teams are many-to-many; program membership does not automatically grant access to linked teams. No admins(), isAdmin(), is_admin pivot, role resources or role-only invitations are provided.

Use the shared actions from UI, jobs and application code. Every management action requires an identified actor and authorizes against the actual configured target model, including when an Admin screen is managing a different team from the selected tenant.

A missing policy or ability denies the operation. Filament uses the same ability arguments for presentation; shared actions reauthorize after locking. Read-only members can view permitted member lists and leave without permission to edit the tenant. App member management uses email invitations; Admin and Program screens also support a host-scoped existing-user picker.

The authorization and workflow guide contains the full abilities table, simple administrator/member policy, scoped-permission recipe, transactional participants, events and lifecycle rules.

Invitations and mail

An email invitation to a new user creates a pending Invite and queues mail after commit. An email invitation to an existing user requires both inviteMember and addMember, immediately adds membership and sends an update notification. It does not create a synthetic accepted Invite. Existing-user pending acceptance is not implemented.

InvitationResult::status is invitation_created, member_added, duplicate_pending, expired_pending, already_member or skipped_blank. Invalid input and denied actions throw. Expired pending invitations can be renewed with Resend; it rotates the token. Cancel deletes only pending invitations. Accepted invitations remain history. Pending counts exclude accepted and expired invitations.

Mail is queued by default; run your application's queue worker. Set queue_mail to false for synchronous transport, still after commit. A saved invitation is not proof of delivery. Results expose mailStatus (pending_commit, queued, sent, failed) and an error on dispatch failure. A failed resend dispatch raises InvitationDeliveryFailed after the new token is saved. Queue retries and provider delivery are host operational responsibilities. Message snapshots retain their original token/link and sender text; a later resend does not rewrite an older queued message. Rotated/cancelled links remain invalid even if old mail arrives later.

Configuration

Publish config with php artisan vendor:publish --tag=filament-team-management-config. Display names, panel IDs, participant classes, picker class, expiry and fallback route are plain config values. Panel IDs identify existing host panels and do not set their URL paths or register panels. The configured App panel must also be the default authentication panel.

Config Default Purpose
names.team, names.program, names.user team, program, user Singular display words; independent of class/table names
panels.app, panels.program, panels.admin app, program, admin Host panel IDs used for links and redirects
invite_expiry_days null No expiry by default; integer days applies to new/resend invitations
participants [] Ordered synchronous MembershipParticipant classes
user_picker null UserPicker class; no candidates until configured
no_memberships_route null Named authenticated, tenant-independent host landing route; otherwise package no-memberships page

Environment variables

The installer reads your configured values and adds missing keys independently to .env and .env.example. It preserves existing whole-key assignments, including the first line. Namespace values use dotenv-compatible quoting.

Variable suffix after FILAMENT_TEAM_MANAGEMENT_ Default
USE_PROGRAMS false
QUEUE_MAIL true
USER_MODEL Package Models\User; installer uses your auth provider model
TEAM_MODEL, PROGRAM_MODEL Package Models\Team, Models\Program
USER_TABLE, TEAMS_TABLE, PROGRAMS_TABLE users, teams, programs
INVITES_TABLE invites
TEAM_MEMBERS_TABLE, PROGRAM_MEMBERS_TABLE, PROGRAM_TEAM_TABLE team_members, program_members, program_team
USER_FOREIGN_KEY, TEAMS_FOREIGN_KEY, PROGRAMS_FOREIGN_KEY user_id, team_id, program_id

Development

The test host explicitly implements policies and tenant access without a permission package. Production row-lock tests are opt-in and use MySQL with InnoDB, matching the primary database used by consuming applications. Each test creates and drops its own uniquely named database; use a test server and credentials with permission to create and drop databases. PHP needs the pdo_mysql, pcntl and posix extensions. SQLite tests do not establish row-lock behavior.

Set FTM_TEST_MYSQL_PASSWORD if the test account requires a password. The host defaults to 127.0.0.1 and the user to root; setting FTM_TEST_MYSQL_PORT enables the tests. Without it, the four concurrency tests are skipped. See tests/Concurrency/MembershipConcurrencyTest.php and the implementation log for coverage and verification results.


All versions of filament-team-management with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
filament/filament Version ^4.2
spatie/laravel-package-tools Version ^1.15.0
awcodes/shout Version ^3.0
althinect/filament-spatie-roles-permissions Version ^3.x-dev
livewire/livewire Version ^3.6.4
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package stats4sd/filament-team-management contains the following files

Loading the files please wait ...