PHPackages                             causal/staffdirectory - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. causal/staffdirectory

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

causal/staffdirectory
=====================

Directory of groups of persons and their department membership with RDFa support

2.1.1(10mo ago)02751GPL-2.0-or-laterPHPPHP &gt;=8.1.0 &lt;=8.4.99

Since Nov 21Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/xperseguers/staffdirectory)[ Packagist](https://packagist.org/packages/causal/staffdirectory)[ Docs](https://github.com/xperseguers/staffdirectory.git)[ RSS](/packages/causal-staffdirectory/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (7)Used By (0)

Staffdirectory
==============

[](#staffdirectory)

Suggested configuration
-----------------------

[](#suggested-configuration)

- Create a storage folder for your groups and persons
    - Edit its Page TSconfig to have:

        ```
        mod.web_list.allowedNewTables (
            fe_users,
            tx_staffdirectory_domain_model_organization
        )

        # This makes adding new fe_users much easier, adapt to your needs!
        TCAdefaults.fe_users {
            usergroup = 1
            username = nologin-
            password = __invalid__
            country = CH
            tx_extbase_type = tx_staffdirectory
        }

        ```

Routing configuration
---------------------

[](#routing-configuration)

Nice URL can be configured by editing your site configuration (stored in file `config/sites//config.yaml`):

```
routeEnhancers:
  Staffdirectory:
    type: Extbase
    limitToPages:
      -
      -
    extension: Staffdirectory
    plugin: Plugin
    routes:
      -
        routePath: '/p/{person-name}'
        _controller: 'Plugin::person'
        _arguments:
          person-name: person
      -
        routePath: '/o/{organization-name}'
        _controller: 'Plugin::organization'
        _arguments:
          organization-name: organization
    aspects:
      person-name:
        type: PersistedAliasMapper
        tableName: fe_users
        routeFieldName: path_segment
      organization-name:
        type: PersistedAliasMapper
        tableName: tx_staffdirectory_domain_model_organization
        routeFieldName: path_segment

```

Note: you may omit the `limitToPages` configuration but are advised to keep it.

Sitemap configuration
---------------------

[](#sitemap-configuration)

You may generate a sitemap for your staff directory by adding the following to your site's TypoScript (requires EXT:seo):

```
plugin.tx_seo.config.xmlSitemap.sitemaps {
    persons {
        provider = Causal\Staffdirectory\Seo\PersonsXmlSitemapDataProvider
        config {
            pid = PERSONS_STORAGE_UID
            recursive = 0
            url {
                pageId = SINGLE_PERSON_PAGE_UID
                fieldToParameterMap {
                    uid = tx_staffdirectory_plugin[person]
                }

                additionalGetParameters {
                    tx_staffdirectory_plugin.controller = Plugin
                    tx_staffdirectory_plugin.action = person
                }

                useCacheHash = 1
            }
        }
    }
}

```

You should naturally adapt `PERSONS_STORAGE_UID` and `SINGLE_PERSON_PAGE_UID`to your actual page UIDs.

Further reading:

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance66

Regular maintenance activity

Popularity15

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 96.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~191 days

Total

4

Last Release

326d ago

Major Versions

1.0.0 → 2.0.02023-12-04

PHP version history (2 changes)1.0.0PHP &gt;=7.4.0 &lt;=7.4.99 || &gt;=8.0.0 &lt;=8.2.99

2.1.0PHP &gt;=8.1.0 &lt;=8.4.99

### Community

Maintainers

![](https://www.gravatar.com/avatar/a04cce579abca57a056f0716f909fcf37ec60e227ee92cc4b58d18ee9aad62a2?d=identicon)[xperseguers](/maintainers/xperseguers)

---

Top Contributors

[![xperseguers](https://avatars.githubusercontent.com/u/646805?v=4)](https://github.com/xperseguers "xperseguers (180 commits)")[![Hasan-Shaker](https://avatars.githubusercontent.com/u/51764849?v=4)](https://github.com/Hasan-Shaker "Hasan-Shaker (6 commits)")

---

Tags

TYPO3 CMS

### Embed Badge

![Health badge](/badges/causal-staffdirectory/health.svg)

```
[![Health](https://phpackages.com/badges/causal-staffdirectory/health.svg)](https://phpackages.com/packages/causal-staffdirectory)
```

###  Alternatives

[jweiland/events2

Events 2 - Create single and recurring events

2062.4k2](/packages/jweiland-events2)[derhansen/sf_event_mgt

Configurable event management and registration extension based on ExtBase and Fluid

64313.9k6](/packages/derhansen-sf-event-mgt)[brotkrueml/schema

Embedding schema.org vocabulary - API and view helpers for schema.org markup

33584.6k13](/packages/brotkrueml-schema)[causal/extractor

This extension detects and extracts metadata (EXIF / IPTC / XMP / ...) from potentially thousand different file types (such as MS Word/Powerpoint/Excel documents, PDF and images) and bring them automatically and natively to TYPO3 when uploading assets. Works with built-in PHP functions but takes advantage of Apache Tika and other external tools for enhanced metadata extraction.

16244.5k](/packages/causal-extractor)[typo3-themes/themes

TYPO3 THEMES

3642.6k2](/packages/typo3-themes-themes)[mfd/ai-filemetadata

Automatically generates FAL metadata for files by means of public LLMs

1142.1k](/packages/mfd-ai-filemetadata)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
