PHPackages                             claroline/tag-bundle - 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. claroline/tag-bundle

ActiveClaroline-plugin[Utility &amp; Helpers](/categories/utility)

claroline/tag-bundle
====================

Claroline tag plugin

6.0.3(10y ago)044821GPL-3.0+PHPPHP &gt;=5.5

Since Sep 25Pushed 9y ago4 watchersCompare

[ Source](https://github.com/claroline/TagBundle)[ Packagist](https://packagist.org/packages/claroline/tag-bundle)[ Docs](http://www.claroline.net)[ RSS](/packages/claroline-tag-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (1)Versions (5)Used By (1)

TagBundle
=========

[](#tagbundle)

WARNING
-------

[](#warning)

**DEVELOPMENT HAS MOVED TO [claroline/Distribution](http://github.com/claroline/Distribution). THIS REPOSITORY IS NO LONGER MAINTAINED.**

\########################

HOW TO TAG AN ENTITY
====================

[](#how-to-tag-an-entity)

\########################

To tag an Object, a "Claroline\\CoreBundle\\Event\\GenericDatasEvent" event has to be dispatched. Event name must be "claroline\_tag\_object". Event "datas" field must be an array defined as followed :

array ( 'tag' =&gt; \[String\], // Name of the tag 'object' =&gt; \[Any entity\], // Object that has to be tagged 'user' =&gt; \[User\] // Optional. Owner of the tag. NULL by default. )

Here is an example of a call from a controller function to tag a workspace with "My Tags" :

```
*******************************************************************
    $datas = array('tag' => 'My Tags', 'object' => $workspace);

    $this->get('claroline.event.event_dispatcher')->dispatch(
        'claroline_tag_object',
        'GenericDatas',
        array($datas)
    );
*******************************************************************

OR

*******************************************************************
    $datas = array('tag' => 'My Tags', 'object' => $workspace);
    $event = new GenericDatasEvent();
    $event->setDatas($datas);

    $this->get('event_dispatcher')->dispatch(
        'claroline_tag_object',
        $event
    );
*******************************************************************

```

\###############################

HOW TO FETCH TAGGED OBJECTS
===========================

[](#how-to-fetch-tagged-objects)

\###############################

To fetch tagged objects, a "Claroline\\CoreBundle\\Event\\GenericDatasEvent" event has also to be dispatched. Event name must be "claroline\_retrieve\_tagged\_objects". Event "datas" field must be an array defined as followed :

array ( 'tag' =&gt; \[String\], // Name of the tag 'user' =&gt; \[User\] // Optional. Owner of the tag. NULL by default. 'with\_platform' =&gt; \[Boolean\] // Optional. Define if platform tags have to be considered too when user option is defined. False by default. 'strict' =&gt; \[Boolean\] // Optional. Define if the tag option has to be completely or partially matched. False by default. 'class' =&gt; \[String\] // Optional. Class of the desired fetched objects. If used, only objects of that class will be fetched. NULL by default. 'object\_response' =&gt; \[Boolean\] // Optional. Define if returned values are casted to class option. If not, it is simply an array of values. False by default. 'class' option is required. 'ordered\_by' =&gt; \[String\] // Optional. Field to order. Define order of casted returned objects. 'id' by default. 'class' option is required. 'order' =&gt; \[String\] // Optional. Order. Define order of casted returned objects. 'ASC' by default. 'class' option is required. )

Here is an example to fetch all workspaces tagged as "My Tags", ordered by name :

```
**************************************************************************
    $datas = array(
        'tag' => 'My Tags',
        'strict' => true,
        'class' => 'Claroline\CoreBundle\Entity\Workspace\Workspace',
        'object_response' => true,
        'ordered_by' => 'name',
        'order' => 'ASC'
    );

    $event = $this->get('claroline.event.event_dispatcher')->dispatch(
        'claroline_retrieve_tagged_objects',
        'GenericDatas',
        array($datas)
    );

    $workspaces = $event->getResponse();
**************************************************************************

```

If 'class' option is not defined or 'object\_response' is not true, the response value is an array defined as followed :

array( array( 'class' =&gt; 'Claroline\\CoreBundle\\Entity\\Workspace\\Workspace', 'id' =&gt; 45, 'name' =&gt; 'Workspace ABC' ), array( 'class' =&gt; 'Claroline\\CoreBundle\\Entity\\Workspace\\Workspace', 'id' =&gt; 74, 'name' =&gt; 'Workspace XYZ' ), array( 'class' =&gt; 'Claroline\\CoreBundle\\Entity\\User', 'id' =&gt; 11, 'name' =&gt; 'John DOE' ), ... )

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 50% 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 ~43 days

Total

4

Last Release

3758d ago

PHP version history (2 changes)6.0.0PHP &gt;=5.4.1

6.0.3PHP &gt;=5.5

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/897720?v=4)[Claroline](/maintainers/claroline)[@claroline](https://github.com/claroline)

---

Top Contributors

[![LaurentGruber](https://avatars.githubusercontent.com/u/5804394?v=4)](https://github.com/LaurentGruber "LaurentGruber (1 commits)")[![ngodfraind](https://avatars.githubusercontent.com/u/1397430?v=4)](https://github.com/ngodfraind "ngodfraind (1 commits)")

---

Tags

plugintagClaroline

### Embed Badge

![Health badge](/badges/claroline-tag-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/claroline-tag-bundle/health.svg)](https://phpackages.com/packages/claroline-tag-bundle)
```

###  Alternatives

[ergebnis/composer-normalize

Provides a composer plugin for normalizing composer.json.

1.1k37.3M2.1k](/packages/ergebnis-composer-normalize)[coldtrick/widget_manager

Manage your widgets

214.3k](/packages/coldtrick-widget-manager)

PHPackages © 2026

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