EASOL Ed-Fi to OneRoster Utility
The EASOL Ed-Fi to OneRoster Utility provides the ability to easily export data stored in an Ed-Fi Operational Data Store to the IMS One Roster CSV format.
The application has passed conformance testing by IMS GLOBAL. See [this] (https://www.imsglobal.org/compliance/easol-ed-fi-oneroster-tool) link for more information.
Please email us at firstname.lastname@example.org if you have any questions, problems or suggestions
This utility includes powerful functionality to enable data export from the Ed-Fi Data Standard to OneRoster v1.0/1.1format. The use cases supported include:
- Converting data from the Ed-Fi Data Standard v2.0 to One Roster v1.0/v1.1, with the ability to dynamically view and filter the dataset using domain facets.
- Simple integration with an Ed-Fi ODS/API instance as the data source, via providing a URL, key and secret.
- Downloading export packages, structured as per the IMS OneRoster specification.
- Support for creating and managing export templates for reuse and scheduled download by vendors.
- Ability for vendors to download data sets in an automated, scheduled manner.
- Ability to log and track application usage and template download activity across all of the vendors who were provided with an auth key.
An administrator defines filters to retrieve a data-set from the Ed-Fi API, which is converted and packaged into One Roster v1.0 format. It is possible to preview the data on the page and download it as an archive.
Templates allow third-party vendors to access data remotely with pre-defined filters. Each template is assigned with a unique token (which must be specified in the HTTP header) and can be retrieved by using a cURL command such as:
curl -o filename.zip https://domain/Export/$template_id -H "Token:<template token>"
The current version of the application supports a single user (admin), which is configured during the application set-up. In case if the password is lost, the admin should manually connect to the database and change the
PasswordHash field for the only row in
AspNetUsers table to
AOx91piOvWdXB+CDudmdhPxBjAZz5aiTtE6xklBQPM4f6ayntGp3psQtTSV4CfeqDw==. This would change the password to
aU8n&9$nw#72gFb&2ib%j3. Afterwards, we strongly suggest to change it by using Settings section of the application
Additionally, to improve security an auto-lock feature is implemented, which is enabled after 5 unsuccessful attempts.The auto-lock is disabled after 1 hour or by changing a value in the database.
Logs allow auditing of application operations and troubleshooting if errors are encountered during data retrieval.
Settings allow the Administrator to do the following:
- Change password
- Change Ed-Fi ODS API connection details
- Manage Ed-Fi to One-Roster related mapping parameters
- Change database connection details
https://tracker.ed-fi.org/browse/ODS-932) will be applied in order to improve it.Important - with higher amounts of data the application gets slower. The following enhancements described in this [ticket] (
The instructions below will describe how to setup and deploy EASOL Ed-Fi to OneRoster Utility on a selected Windows Machine and configure it to be ready to operate.
- Ed-Fi ODS API v2.1 (or higher) - configured and running instance
- IIS 8.5+
- SQL Server 2012+
- .NET 4.5 Runtime
Visual Studio 2015 is required if building the solution from source code.
Important Information for Configuring Application Pool Identities and Permissions:
The process of deployment the system on a machine.
Download the Source Code
release folder and place it into selected location.
Add the Application into IIS
Open IIS Manager, Right-Click on
Default Web Site and select
Add Selection. Place
EDFI2OR into the
Alias and the path to unzipped folder into
Physical Path field.
Validate the application
Validate whether the application is working by navigating to http://localhost/EDFI2OR
Create an empty database
This application requires a database to be created separately. Create an empty database with any name for this purpose. (The database can be local, remote, Azure, AWS, etc.)
Configure Application connection to your database
The first screen on the application is the Database Configuration. Enter your details and submit the form. It might take a while before the system boots up.
Configure Administrator user account and connection to your Ed-Fi ODS API Project
The next screen after Database Configuration is Ed-Fi ODS API and User set-up.
- The user name is your email address.
- The password needs to be at least 6 characters and have at least one number or character.
- The application pool assigned to the Web Site hosting the Web Application must be running on .NET 4 and Integrated Pipeline.
- Verify your Database is configured to allow Remote Connections
- If using Integrated Security, verify the user running the application pool has permissions to access the database.
Building & Testing
The process of building the project on a machine together with testing. This would be required if there are required changes to be done for the application.
Launch Project in Visual Studio
Open Visual Studio 2015 and open
EF2OR.sln project. Ensure that the
EF2OR project is set as a startup project. Click
Build and then
Running the tests
Tests are kept in a separate EF2OR.Tests Visual Studio Project. It's suggested to run those after doing any of the source code changes. The tests are using a separate database, which should be defined. The responses from Ed-FI API ODS are mocked, so you don't need to enter the credentials in this project.
- With the
EF2OR.slnsolution open find the file
app.configin the project
- Modify the connectionstring named “DefaultConnection”, with the connectionstring used to connect to the database you want to test with. The default is:
<add name="DefaultConnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=ED2OR;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
Community contributions to this application will keep it healthy and active. We strongly welcome pull requests with new feature enhancements and bug fixes.
This project is licensed under the Apache 2.0 license - see the LICENSE.md file for details