OneRoster.Net
ASP.Net Core OneRoster CSV processing application
Install / Use
/learn @rjeike/OneRoster.NetREADME
OneRosterSync.Net
OneRosterSync.Net is an ASP.Net Core application that:
- Processes OneRoster CSV files
- Loads the CSV files and keeps track of Add / Update / Delete status of each record
- Applies the changes to your system via a Web Service
The OneRoster CSV format is here: OneRoster CSV Formats
Benefits
The benefits of OneRoster.Net include:
- Implements the logic of safely parsing, validating, and processing CSV files from the District.
- Keeps track of the current state of the District system and only calls your LMS with updates when data changes occur.
- Allows you to specifiy which Courses to map as you are likely interested in a subset of the District's data.
- Maintains persistent tracking of the mapping between IDs in the District system and your System.
- Finds deleted records without having to rely on the District to identify them.
- Allows for an approval process over changes to be applied to your system; you don't have to blindly trust the data feed and worry about bad data corrupting your LMS.
- Provides an audit log of all changes applied to your system
- Email notification of successfully processing and/or errors
Diagram
Roster data flows through OneRoster.Net:
+---------------+ +---------------+ +---------------+
| District | ==> | OneRoster.Net | ==> | Your LMS |
+---------------+ +---------------+ +---------------+
Processing Stages
The processing occurs in three stages:
1. Loading
CSV files are processed and loaded into the OneRoster.Net database
2. Analyzing
After data is loaded, it is analyzed:
- Deleted records are identified
- Mapping between records is established (e.g. Class ==> Course, Enrollment ==> User and Class)
- Determine what records should be included in the Sync with your LMS
3. Applying
The records that need to be Synced are walked and the API on your LMS that you expose are called.
Getting Started
...Section TBD...
Deployment (Temporary)
Temporary instructions till this is dockerized.
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=1Roster.Net" -p 1433:1433 microsoft/mssql-server-linux
dotnet ef database update
dotnet run --environment="Development"
License
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
