PHPackages                             oat-sa/oneroster-import - 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. [API Development](/categories/api)
4. /
5. oat-sa/oneroster-import

ActiveLibrary[API Development](/categories/api)

oat-sa/oneroster-import
=======================

OneRoster PHP Import

v1.1.0(7y ago)84997[1 PRs](https://github.com/oat-sa/oneroster-import/pulls)GPL-2.0-onlyPHPPHP ^7.2CI failing

Since Jun 25Pushed 2y ago43 watchersCompare

[ Source](https://github.com/oat-sa/oneroster-import)[ Packagist](https://packagist.org/packages/oat-sa/oneroster-import)[ RSS](/packages/oat-sa-oneroster-import/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (2)Dependencies (3)Versions (5)Used By (0)

[![Codacy Badge](https://camo.githubusercontent.com/ca0e38974a4301d704571c9de95089f579decc098ca90c7f38b0aaf65bff13ec/68747470733a2f2f6170692e636f646163792e636f6d2f70726f6a6563742f62616467652f47726164652f6438333531623761633834303436313938633336636131316337626463663435)](https://www.codacy.com/app/ionutpad/oneroster-import?utm_source=github.com&utm_medium=referral&utm_content=oat-sa/oneroster-import&utm_campaign=Badge_Grade)[![Codacy Badge](https://camo.githubusercontent.com/d54661506d156b70f4736e7b6e4eb35f22c5bfd9abac41d02a30c5253e431a04/68747470733a2f2f6170692e636f646163792e636f6d2f70726f6a6563742f62616467652f436f7665726167652f6438333531623761633834303436313938633336636131316337626463663435)](https://www.codacy.com/app/ionutpad/oneroster-import?utm_source=github.com&utm_medium=referral&utm_content=oat-sa/oneroster-import&utm_campaign=Badge_Coverage)

Import CSV files using OneRoster V1.1 standard
----------------------------------------------

[](#import-csv-files-using-oneroster-v11-standard)

###### More Information about the standard can be found here:

[](#more-information-about-the-standard-can-be-found-here)

The scope of this repository it's to import the file and validate the fields according to v1 standard. The json configuration of fields can be found in /config/v1/ folder

##### Setup InMemoryStorage

[](#setup-inmemorystorage)

```
$fileHandler = new FileHandler();
$importService = new ImportService($fileHandler);
$results = $importService->importMultiple(__DIR__ . '/../data/samples/oneRoster1.0/');

$storage = new InMemoryStorage($results);
```

##### Setup CsvStorage

[](#setup-csvstorage)

```
$fileHandler = new FileHandler();
$importService = new ImportService($fileHandler);
$importService->setPathToFolder(__DIR__ . '/../../data/samples/OneRosterv1p1BaseCSV/');

$storage = new CsvStorage($importService);
```

##### Examples of using entities after import.

[](#examples-of-using-entities-after-import)

**1**. Setup Entity Repository

```
$entityRepository = new EntityRepository($storage, $relationConfig);
```

**2**. Fetching entities

```
// get all organisation
$orgs = $entityRepository->getAll(Organisation::class);

// get one organisation
$org = $entityRepository->get('12345', Organisation::class);

$org->getId();
//return id of entity
$org->getData();
//return the data after format (array)
```

**3**. Fetching related entities

```
$oneOrg->getEnrollments();
// return all enrollments assign to organisation.
```

Circular

```
$oneOrg === $oneOrg->getClasses()->first()->getOrg();
```

> More information about relations can be found in config/v1/relations.json

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 76.2% 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 ~275 days

Total

2

Last Release

2644d ago

PHP version history (2 changes)v1.0.0PHP ^7.1

v1.1.0PHP ^7.2

### 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

[![ionutpad](https://avatars.githubusercontent.com/u/31656944?v=4)](https://github.com/ionutpad "ionutpad (16 commits)")[![edwin-focaloid](https://avatars.githubusercontent.com/u/126317720?v=4)](https://github.com/edwin-focaloid "edwin-focaloid (2 commits)")[![chilly86](https://avatars.githubusercontent.com/u/4863925?v=4)](https://github.com/chilly86 "chilly86 (1 commits)")[![gyszucs](https://avatars.githubusercontent.com/u/4942018?v=4)](https://github.com/gyszucs "gyszucs (1 commits)")[![mike-ionut-mihai-sandu-tao](https://avatars.githubusercontent.com/u/50211080?v=4)](https://github.com/mike-ionut-mihai-sandu-tao "mike-ionut-mihai-sandu-tao (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/oat-sa-oneroster-import/health.svg)

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

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.8M712](/packages/sylius-sylius)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[chartmogul/chartmogul-php

ChartMogul API PHP Client

181.4M](/packages/chartmogul-chartmogul-php)[api-platform/doctrine-common

Common files used by api-platform/doctrine-orm and api-platform/doctrine-odm

243.9M41](/packages/api-platform-doctrine-common)[oat-sa/tao-core

TAO core extension

66140.1k108](/packages/oat-sa-tao-core)[rekalogika/mapper

An object mapper for PHP and Symfony. Maps an object to another object. Primarily used for transforming an entity to a DTO and vice versa.

3850.9k1](/packages/rekalogika-mapper)

PHPackages © 2026

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