Streamlining Student Management: 

Open edX & Full Fabric Integration at
the German UDS


The German University of Digital Science (UDS), Europe's pioneering 100% online university, has taken a significant step forward in enhancing its student management capabilities. By seamlessly integrating its Open edX platform with FullFabric, a student information system (SIS), the German UDS has streamlined critical processes, including student enrollments and grade synchronization, ensuring a more efficient and seamless experience for both students and administrators.


Bridging the Gap Between Learning and Administration


For a fully online institution like the German UDS, managing student data across multiple systems can be a complex undertaking. The need to synchronize enrollment information between the Open edX learning platform and the student information system was paramount. Similarly, ensuring accurate and timely grade transfers was crucial for maintaining academic integrity and providing students with up-to-date progress reports as well as certificates.


What is FullFabric?


FullFabric is a comprehensive student information system (SIS) designed for higher education institutions. It provides a centralized platform to manage various aspects of the student lifecycle, including admissions, enrollment, academic records, student engagement, and more. Essentially, it helps universities, like the German UDS, streamline administrative processes and improve the overall student experience.


What is the Open edX platform?


The Open edX platform is a powerful, open source Learning Management Solution (LMS) that allows institutions, organizations and NGOs to create and deliver engaging online courses at scale with customization and flexibility. The LMS at German UDS powered by OpenedX, offers a dynamic and engaging learning experience to its global students with a flexible and accessible learning environment, delivering a wide range of academic programs and courses entirely online.


Explore the platform of the German UDS here.

We simplified German UDS's complex student data management, 
enabling them to focus on delivering high-quality education 
with seamless synchronization.

The Solution: Open edX and FullFabric Integration


To address the challenges of student management we, as the official and verified Open edX service partner in the e-learning project of the German UDS, worked closely with the team at FullFabric to implement a robust integration between the Open edX platform and FullFabric.
This integration utilizes APIs, webhooks, and Celery-based task processing to ensure a seamless and real-time data exchange between the two system structures.

Technical details


Integration Architecture

The integration is built on the following components:

  • REST API Communication
    The Open edX platform and FullFabric communicate via REST APIs to exchange student data, course enrollments, and grade updates.   
  • Webhook Handling
    FullFabric webhooks notify Open edX when student data changes, triggering automated enrollment and grade updates.
  • Asynchronous Task Processing
    Celery is used to handle background tasks such as grade synchronization to prevent blocking the main application. 
  • Asynchronous Task Processing
    Celery is used to handle background tasks such as grade synchronization to prevent blocking the main application.
  • Django ORM Models
    A custom Django model (FullFabricWebhook) stores webhook data for processing and auditing purposes.
  • Custom Django Views & Endpoints
    Django views expose API endpoints that handle incoming data from FullFabric and process it accordingly.

Implementation Details

  • Enrollment Synchronization
    When a student enrolls in a course on FullFabric, the integration ensures that the student is automatically enrolled in the corresponding course on Open edX.
    a) A POST request is sent from FullFabric to Open edX, triggering enrollment.   
    b) If the user doesn't have an account, the system will fetch the user's secondary email from the FullFabric API and create a new account in Open edX.   
    c) If the profile_id and unit_id are found, the student is enrolled using Open edX’s enrollment API or directly through Django ORM.

  • Grade Synchronization
    Grades achieved in Open edX are automatically sent to FullFabric, ensuring up-to-date academic records.

    a) A grade submission button has been implemented in the Grade Micro-Frontend (MFE).
    b) When a course ends, the professor or a superuser clicks this button to push all grades to FullFabric.
    c) The API endpoint receives a JSON payload containing user IDs and their grades.
    d) The Celery task runs asynchronously to update grades on FullFabric.
    e) Once pushed, grades are automatically published in FullFabric using this API request:

patch_url = f"{BASE_URL}apis/registrations/profiles/{profile_id}/registrations"

    payload = {

       "registrations": [{

           "context_id": context_id,

           "unit_id": unit_id,

           "grades": [{

               "label": "Final grade",

               "name": "final",

               "value": int(grade_value),

               "published": True,

           }],

       }],

    }

response = requests.patch(patch_url, headers=HEADERS, json=payload)

Challenges & Blockers Faced During Integration

  • Data Synchronization Delays 
    Webhook-based updates sometimes caused delays in data propagation due to processing queues. 
    Implementing Celery background tasks helped mitigate these issues by handling requests asynchronously.
  • User Account Handling on Open edX
    If a student enrolled via FullFabric but didn’t have an Open edX account, the system had to fetch their secondary email and create an account dynamically. 
    This required additional logic to avoid duplicate accounts while ensuring smooth enrollments.
  • Grade Publication Process 
    Initially, there were conflicts when updating grades due to mismatched course IDs between Open edX and FullFabric. 
    We had to implement a mapping system to correctly link Open edX courses with FullFabric units.

The implementation of the connection between Open edX and FullFabric was a collaborative effort, combining the German UDS’s in-depth understanding of its student management needs with Abstract Technology's technical expertise in Open edX integrations and further developments. The project involved careful planning, meticulous development, and rigorous testing to ensure a smooth and reliable integration.


Key Benefits of the Integration:

  • Automated Enrollment Synchronization: The integration automates the transfer of student enrollment data from FullFabric to the Open edX platform. This eliminates manual data entry, reduces the risk of errors, and ensures that students are enrolled in the correct courses promptly.
  • Seamless Grade Synchronization: Grades earned by students in the Academy's platform are automatically synchronized with FullFabric. This ensures that student academic records are always accurate and up-to-date.
  • Enhanced Efficiency and Reduced Administrative workload: By automating key processes, this integration significantly reduces the administrative workload for the German UDS staff, freeing up valuable time for other critical tasks.
  • Improved Student Experience: Students benefit from a more streamlined and efficient experience, with accurate authentication, enrollment and grade information readily available.


                                


Looking Ahead


The successful integration of Open edX and FullFabric at the German UDS demonstrates the power of technology to streamline administrative processes and enhance the online learning experience without compromise. As the German UDS continues to grow and evolve, this integration will provide a solid foundation for delivering high-quality online education to students around the globe.

This successful integration demonstrates the potential of 
combining robust student information systems like FullFabric 
with the flexibility of the Open edX platform to create a 
unified and efficient educational experience.