PHPackages                             oat-sa/extension-tao-outcomekeyvalue - 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. oat-sa/extension-tao-outcomekeyvalue

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

oat-sa/extension-tao-outcomekeyvalue
====================================

extension to manage key-value outcomes in TAO

v6.2.4(4mo ago)465.0k↓11.1%4[1 PRs](https://github.com/oat-sa/extension-tao-outcomekeyvalue/pulls)1GPL-2.0-onlyPHPCI failing

Since Sep 15Pushed 3mo ago45 watchersCompare

[ Source](https://github.com/oat-sa/extension-tao-outcomekeyvalue)[ Packagist](https://packagist.org/packages/oat-sa/extension-tao-outcomekeyvalue)[ Docs](http://www.taotesting.com)[ RSS](/packages/oat-sa-extension-tao-outcomekeyvalue/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (52)Used By (1)

TAO *taoAltResultStorage* extension
===================================

[](#tao-taoaltresultstorage-extension)

[![TAO Logo](https://github.com/oat-sa/taohub-developer-guide/raw/master/resources/tao-logo.png)](https://github.com/oat-sa/taohub-developer-guide/raw/master/resources/tao-logo.png)

[![GitHub](https://camo.githubusercontent.com/28bb9eefb90e2bf0dfd42370dfd348143f053baf30513f0736d6a6ef7b0ed3bd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6f61742d73612f657874656e73696f6e2d74616f2d6f7574636f6d656b657976616c75652e737667)](https://camo.githubusercontent.com/28bb9eefb90e2bf0dfd42370dfd348143f053baf30513f0736d6a6ef7b0ed3bd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6f61742d73612f657874656e73696f6e2d74616f2d6f7574636f6d656b657976616c75652e737667)[![GitHub release](https://camo.githubusercontent.com/011127958cc0a19f9e5117f981d7e60c13b3ceae2297db17835e430340f03024/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6f61742d73612f657874656e73696f6e2d74616f2d6f7574636f6d656b657976616c75652e737667)](https://camo.githubusercontent.com/011127958cc0a19f9e5117f981d7e60c13b3ceae2297db17835e430340f03024/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6f61742d73612f657874656e73696f6e2d74616f2d6f7574636f6d656b657976616c75652e737667)[![GitHub commit activity](https://camo.githubusercontent.com/bd79f37ba35be67b296cae1b0e1e8d3d66da03e3f4b7974677afd048d97329c8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6d6d69742d61637469766974792f792f6f61742d73612f657874656e73696f6e2d74616f2d6f7574636f6d656b657976616c75652e737667)](https://camo.githubusercontent.com/bd79f37ba35be67b296cae1b0e1e8d3d66da03e3f4b7974677afd048d97329c8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6d6d69742d61637469766974792f792f6f61742d73612f657874656e73696f6e2d74616f2d6f7574636f6d656b657976616c75652e737667)[![codecov](https://camo.githubusercontent.com/b4540f1f7ca3a2d020b4c287ff489fff8f018dcd48e5fa3ab2640a9293d33577/68747470733a2f2f636f6465636f762e696f2f67682f6f61742d73612f657874656e73696f6e2d74616f2d6f7574636f6d656b657976616c75652f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/oat-sa/extension-tao-outcomekeyvalue)

> Extension implements an Alternative Result storage results interface using persistencies.

Installation instructions
-------------------------

[](#installation-instructions)

These instructions assume that you have already a TAO installation on your system. If you don't, go to [package/tao](https://github.com/oat-sa/package-tao) and follow the installation instructions.

If you installed your TAO instance through [package/tao](https://github.com/oat-sa/package-tao), `oat-sa/extension-tao-outcomekeyvalue` is very likely already installed. You can verify this under *Settings -&gt; Extension manager*, where it would appear on the left hand side as `taoAltResultStorage`. Alternatively you would find it in the code at `/config/generis/installation.conf.php`.

*Note, that you have to be logged in as System Administrator to do this.*

Add the extension to your TAO composer and to the autoloader:

```
composer require oat-sa/extension-tao-outcomekeyvalue
```

Install the extension on the CLI from the project root:

**Linux:**

```
sudo php tao/scripts/installExtension oat-sa/extension-tao-outcomekeyvalue
```

**Windows:**

```
php tao\scripts\installExtension oat-sa/extension-tao-outcomekeyvalue
```

As a system administrator you also install it through the TAO Extension Manager:

- Settings (the gears on the right hand side of the menu) -&gt; Extension manager
- Select *taoAltResultStorage* on the right hand side, check the box and hit *install*

Configuration options
---------------------

[](#configuration-options)

### KeyValueResultStorage.conf.php

[](#keyvalueresultstorageconfphp)

#### Configuration option `persistence_id`

[](#configuration-option-persistence_id)

*Description :* contains the result storage persistence identifier.

*Possible values of the `persistence_id` key:*

- a string value, equals to `keyValueResult`.

Extension Wiki
--------------

[](#extension-wiki)

You can find the [extension wiki here](https://github.com/oat-sa/extension-tao-outcomekeyvalue/wiki).

###  Health Score

57

—

FairBetter than 98% of packages

Maintenance77

Regular maintenance activity

Popularity34

Limited adoption so far

Community33

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor5

5 contributors hold 50%+ of commits

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 ~106 days

Recently: every ~239 days

Total

38

Last Release

140d ago

Major Versions

v1.0.2 → v2.0.02017-04-28

v2.3.0 → v3.0.12017-11-24

v3.0.1 → v4.0.12018-01-26

v4.1.0 → v5.1.02018-02-23

v5.7.1 → v6.0.02021-02-18

### Community

Maintainers

![](https://www.gravatar.com/avatar/98ddc6f1b615b1fac2d59f1e72d5dc6056cf6650414271da90cb3f0e203516fe?d=identicon)[bugalood](/maintainers/bugalood)

![](https://www.gravatar.com/avatar/c0ec704e0a8abaf0c27b227ad05d7aca23bc8f83d195229d94d4508cddc0fd24?d=identicon)[oat-lionel](/maintainers/oat-lionel)

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

![](https://www.gravatar.com/avatar/348b2cf6408227372fbb22c6e8b0832e1c8c98c5d6b0c88bb220dbdfbcd21a39?d=identicon)[krampstudio](/maintainers/krampstudio)

---

Top Contributors

[![bugalot](https://avatars.githubusercontent.com/u/4217431?v=4)](https://github.com/bugalot "bugalot (26 commits)")[![llecaque](https://avatars.githubusercontent.com/u/5645487?v=4)](https://github.com/llecaque "llecaque (17 commits)")[![ionutpad](https://avatars.githubusercontent.com/u/31656944?v=4)](https://github.com/ionutpad "ionutpad (16 commits)")[![shpran](https://avatars.githubusercontent.com/u/59471572?v=4)](https://github.com/shpran "shpran (10 commits)")[![jbout](https://avatars.githubusercontent.com/u/5815304?v=4)](https://github.com/jbout "jbout (8 commits)")[![wazelin](https://avatars.githubusercontent.com/u/2943256?v=4)](https://github.com/wazelin "wazelin (7 commits)")[![albertosgz](https://avatars.githubusercontent.com/u/12124175?v=4)](https://github.com/albertosgz "albertosgz (6 commits)")[![antoinerobin](https://avatars.githubusercontent.com/u/5881795?v=4)](https://github.com/antoinerobin "antoinerobin (5 commits)")[![edwin-focaloid](https://avatars.githubusercontent.com/u/126317720?v=4)](https://github.com/edwin-focaloid "edwin-focaloid (5 commits)")[![gabrielfs7](https://avatars.githubusercontent.com/u/1467589?v=4)](https://github.com/gabrielfs7 "gabrielfs7 (5 commits)")[![Yury-Razhkou](https://avatars.githubusercontent.com/u/51408369?v=4)](https://github.com/Yury-Razhkou "Yury-Razhkou (5 commits)")[![tikhanovichA](https://avatars.githubusercontent.com/u/1053022?v=4)](https://github.com/tikhanovichA "tikhanovichA (5 commits)")[![siwane](https://avatars.githubusercontent.com/u/8009602?v=4)](https://github.com/siwane "siwane (4 commits)")[![zagovorichev](https://avatars.githubusercontent.com/u/1445911?v=4)](https://github.com/zagovorichev "zagovorichev (4 commits)")[![IgorSalevan](https://avatars.githubusercontent.com/u/5684414?v=4)](https://github.com/IgorSalevan "IgorSalevan (4 commits)")[![peetya](https://avatars.githubusercontent.com/u/18699247?v=4)](https://github.com/peetya "peetya (3 commits)")[![boajer](https://avatars.githubusercontent.com/u/4569734?v=4)](https://github.com/boajer "boajer (2 commits)")[![gyszucs](https://avatars.githubusercontent.com/u/4942018?v=4)](https://github.com/gyszucs "gyszucs (2 commits)")[![jsconan](https://avatars.githubusercontent.com/u/1500098?v=4)](https://github.com/jsconan "jsconan (2 commits)")[![alexeyvy](https://avatars.githubusercontent.com/u/41291313?v=4)](https://github.com/alexeyvy "alexeyvy (2 commits)")

---

Tags

TAOcomputer-based-assessmentOATQTI

### Embed Badge

![Health badge](/badges/oat-sa-extension-tao-outcomekeyvalue/health.svg)

```
[![Health](https://phpackages.com/badges/oat-sa-extension-tao-outcomekeyvalue/health.svg)](https://phpackages.com/packages/oat-sa-extension-tao-outcomekeyvalue)
```

###  Alternatives

[oat-sa/tao-core

TAO core extension

66136.7k74](/packages/oat-sa-tao-core)[oat-sa/extension-tao-itemqti-pci

1085.9k6](/packages/oat-sa-extension-tao-itemqti-pci)

PHPackages © 2026

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