Transferring Class Ownership

Ownership transfer allows you to hand off full administrative control of a class to another teacher. This is useful when faculty leave, responsibilities change, or collaborative teaching arrangements evolve. This guide covers the complete transfer process from initiation to acceptance.

đŸšĢ Critical Warning: Transfers Are Permanent

When you transfer ownership and the new owner accepts:

  • You immediately lose all owner permissions
  • You cannot reverse the transfer yourself
  • The new owner gains complete control over the class
  • You remain listed as the Original Creator (immutable record)
  • You can only regain access if the new owner re-invites you as a content expert
Transfer only to trusted colleagues and communicate beforehand!

How Ownership Transfer Works

UALS uses a secure two-step transfer process requiring explicit acceptance from the new owner. This prevents unauthorized transfers and ensures the new owner understands their responsibilities.

1ī¸âƒŖ

Step 1: Initiate Transfer

Current owner initiates transfer by entering the new owner's email. Class enters "pending transfer" state.

âŗ

Pending State

Transfer is pending until accepted. Current owner retains all permissions and can cancel at any time.

2ī¸âƒŖ

Step 2: Accept Transfer

New owner sees pending transfer on their dashboard and clicks "Accept". Ownership transfers immediately.

✅

Transfer Complete

New owner gains full control. Original owner loses permissions but remains listed as creator.

Initiating an Ownership Transfer

Prerequisites

  • You must be the current owner of the class
  • Know the email address of the new owner (must be a valid teacher account)
  • Communicate with the new owner beforehand to ensure they expect the transfer
  • No pending transfers can exist (cancel existing transfer first)

UI Workflow

Open Class Details

Navigate to your Teacher Dashboard and click on the class card you want to transfer.

Click "Transfer Ownership"

In the class details modal, click the "Transfer Ownership" button (usually near the top or in a management section).

Review Warning Message

The transfer modal displays a prominent warning about the permanent nature of ownership transfers. Read this carefully.

Warning Displayed:

"Transferring ownership means you will lose all owner permissions for this class immediately upon acceptance. The new owner will have complete control. This action cannot be undone by you."

Enter New Owner's Email

Type the email address of the teacher who will become the new owner. Verify the email is correct before proceeding.

💡 Tip: Double-check the email address. Typos could send the invitation to the wrong person!

Submit Transfer Request

Click "Transfer Ownership" to initiate the transfer. The class immediately enters pending state.

Notify New Owner

Contact the new owner (via email or in person) to inform them they have a pending ownership transfer waiting on their dashboard.

âš ī¸ Communication is Key: The system does not send automatic notification emails. You must notify the new owner yourself!

API Workflow

HTTP Request
POST /api/school/class/{classId}/transfer-ownership
Authorization: Bearer {token}
Content-Type: application/json

{
  "newOwnerEmail": "newowner@university.edu"
}
JavaScript Example
async function initiateOwnershipTransfer(classId, newOwnerEmail) {
  if (!confirm('Are you sure you want to transfer ownership? This cannot be undone.')) {
    return;
  }

  const response = await fetch(`/api/school/class/${classId}/transfer-ownership`, {
    method: 'POST',
    credentials: 'include',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ newOwnerEmail })
  });

  if (!response.ok) {
    const error = await response.json();
    throw new Error(error.error || 'Failed to initiate transfer');
  }

  const result = await response.json();
  console.log('Transfer initiated:', result.class.ownershipTransferPending);
  alert('Transfer initiated! Notify the new owner to check their dashboard.');
  return result.class;
}

await initiateOwnershipTransfer('class-ailc-abc123', 'newowner@university.edu');

Success Response

JSON - 200 OK
{
  "success": true,
  "class": {
    "id": "class-ailc-abc123",
    "title": "AI Literacy - Fall 2025",
    "teacherEmail": "currentowner@school.edu",
    "ownershipTransferPending": "{\"newOwnerEmail\":\"newowner@university.edu\",\"initiatedAt\":\"2025-11-23T10:30:00.000Z\",\"initiatedBy\":\"currentowner@school.edu\"}",
    ...
  }
}

Pending Transfer State

What Happens During Pending

  • Current owner retains all permissions and can continue managing the class
  • Class details modal shows "Pending Transfer" status with new owner's email
  • Current owner can cancel the transfer at any time
  • New owner sees the class in their "Pending Ownership Transfers" section
  • Only one pending transfer allowed at a time per class

Canceling a Pending Transfer

If you change your mind or initiated the transfer by mistake, you can cancel it before the new owner accepts.

Open Transfer Modal

Click "Transfer Ownership" in class details. You'll see the pending transfer status instead of the form.

Click "Cancel Transfer"

The modal shows a "Cancel Transfer" button with the new owner's email. Click to cancel.

Confirm Cancellation

Confirm the cancellation. The pending transfer is immediately removed and the class returns to normal state.

API - Cancel Transfer
POST /api/school/class/{classId}/cancel-transfer
Authorization: Bearer {token}

async function cancelTransfer(classId) {
  const response = await fetch(`/api/school/class/${classId}/cancel-transfer`, {
    method: 'POST',
    credentials: 'include'
  });

  const result = await response.json();
  console.log('Transfer canceled');
  return result.class;
}

Accepting an Ownership Transfer

New Owner Dashboard View

When someone initiates a transfer to you, you'll see a new section on your Teacher Dashboard titled "Pending Ownership Transfers" with all classes awaiting your acceptance.

UI Workflow for New Owner

Log In and Navigate to Dashboard

Go to /teacher-dashboard.html. You should see the "Pending Ownership Transfers" section if any transfers are waiting.

Review Class Information

Each pending transfer card shows:

  • Class title and description
  • Current owner's name and email
  • DSC/Curriculum information
  • When the transfer was initiated

Click "Accept Ownership"

Review the class details and click the "Accept Ownership" button when you're ready to take control.

âš ī¸ Acceptance is Immediate: Once you click accept, the transfer completes immediately and the original owner loses all permissions.

Confirm Acceptance

A confirmation dialog appears explaining your new responsibilities. Confirm to complete the transfer.

Dashboard Refreshes

The class moves from "Pending Ownership Transfers" to "My Classes". You now have full owner permissions.

✅ You Are Now the Owner! You can manage class settings, invite experts, and transfer ownership again if needed.

API Workflow for New Owner

HTTP Request
POST /api/school/class/{classId}/accept-ownership
Authorization: Bearer {token}
JavaScript Example
async function acceptOwnership(classId) {
  if (!confirm('Accept ownership of this class? You will become the new owner with full control.')) {
    return;
  }

  const response = await fetch(`/api/school/class/${classId}/accept-ownership`, {
    method: 'POST',
    credentials: 'include'
  });

  if (!response.ok) {
    const error = await response.json();
    throw new Error(error.error || 'Failed to accept ownership');
  }

  const result = await response.json();
  console.log('Ownership accepted. You are now the owner!');
  alert('Ownership accepted successfully! Reloading dashboard...');
  window.location.reload();
  return result.class;
}

await acceptOwnership('class-ailc-abc123');

Success Response

JSON - 200 OK
{
  "success": true,
  "class": {
    "id": "class-ailc-abc123",
    "title": "AI Literacy - Fall 2025",
    "teacherEmail": "newowner@university.edu",
    "teacherName": "Prof. New Owner",
    "creatorEmail": "originalcreator@school.edu",
    "creatorName": "Dr. Original Creator",
    "ownershipTransferPending": null,
    ...
  }
}

What Changes After Transfer

For the Original Owner

Permissions Lost Immediately
Before Transfer After Transfer
Full owner permissions ❌ No permissions
Can edit content ❌ Cannot edit unless re-invited as expert
Can invite experts ❌ Cannot invite anyone
Can transfer ownership ❌ Cannot transfer
Listed as creator ✅ Still listed as original creator (immutable)
Class in "My Classes" ❌ Class removed from "My Classes"

For the New Owner

Full Control Granted
Permission Status
Edit class settings ✅ Granted
Edit all cached content ✅ Granted
Invite content experts ✅ Granted
Remove content experts ✅ Granted
Transfer ownership again ✅ Granted
View student analytics ✅ Granted
Delete/archive class ✅ Granted

For Students

  • ✅ No disruption - students continue learning without interruption
  • ✅ Enrollment codes remain valid
  • ✅ Progress and analytics are preserved
  • ✅ Content and assessments unchanged (unless new owner edits)
  • â„šī¸ Students may see new owner's name in some interfaces

For Content Experts

âš ī¸ Important: Content expert invitations DO NOT transfer automatically.
  • ❌ All content expert invitations are cleared upon ownership transfer
  • ❌ Existing experts lose editing access immediately
  • ✅ New owner can re-invite the same experts if desired
  • ✅ Original owner can be re-invited as a content expert by new owner

Data Preservation & Audit Trail

What Is Preserved

  • ✅ Original creator email and name (immutable)
  • ✅ All student enrollment and progress data
  • ✅ All xAPI statements and learning analytics
  • ✅ All content versions and edit history
  • ✅ Class creation timestamp
  • ✅ Complete ownership transfer history in xAPI

xAPI Statement for Transfer

Each ownership transfer generates an xAPI statement tracking the change for compliance and audit purposes.

xAPI Statement Example
{
  "actor": {
    "mbox": "mailto:newowner@university.edu",
    "name": "Prof. New Owner",
    "objectType": "Agent"
  },
  "verb": {
    "id": "http://adlnet.gov/expapi/verbs/transferred",
    "display": { "en": "transferred" }
  },
  "object": {
    "id": "https://uals.app/class/class-ailc-abc123",
    "objectType": "Activity"
  },
  "context": {
    "extensions": {
      "http://uals.app/transfer/previous-owner": "currentowner@school.edu",
      "http://uals.app/transfer/new-owner": "newowner@university.edu",
      "http://uals.app/transfer/original-creator": "originalcreator@school.edu"
    }
  },
  "timestamp": "2025-11-23T10:35:00.000Z"
}

Best Practices

Before Initiating Transfer
  • ✅ Communicate with the new owner - ensure they expect and want the class
  • ✅ Document any ongoing issues or important class notes for the new owner
  • ✅ Ensure all content is in good shape (review and edit if needed)
  • ✅ Export any personal notes or data you want to keep
  • ✅ Verify the new owner's email address is correct
  • ✅ Consider inviting the new owner as a content expert first to review the class
After Accepting Transfer (New Owner)
  • ✅ Review class settings and content immediately
  • ✅ Contact the original owner with any questions
  • ✅ Re-invite content experts if collaborative work will continue
  • ✅ Consider inviting the original owner as a content expert if they want to stay involved
  • ✅ Update class description or scenario context if your teaching approach differs
  • ✅ Review and adjust ITS analysis level based on your class size and needs
Communication Tips
  • 📧 Email the new owner before initiating transfer
  • 📞 Schedule a handoff meeting to discuss class details
  • 📝 Share external documentation (lesson plans, grading rubrics, etc.)
  • 🤝 Offer to be available for questions during transition
  • ⏰ Plan transfer during low-activity periods (not during active assessments)

Common Ownership Transfer Scenarios

Scenario 1: Faculty Member Leaves Institution

Situation: Dr. Smith is leaving the university mid-semester. Prof. Johnson will take over her AI Literacy class.

Steps:

  1. Dr. Smith and Prof. Johnson meet to discuss class status and expectations
  2. Dr. Smith invites Prof. Johnson as content expert to review materials
  3. Prof. Johnson reviews content and asks clarifying questions
  4. Dr. Smith initiates ownership transfer to Prof. Johnson
  5. Prof. Johnson accepts transfer
  6. Prof. Johnson re-invites Dr. Smith as content expert so she can continue helping remotely
  7. Students are notified of the instructor change via email

Scenario 2: Pilot Program Handoff

Situation: Prof. Anderson created a pilot class for testing new curriculum. After successful pilot, Prof. Lee will scale it up.

Steps:

  1. Prof. Anderson documents lessons learned and best practices
  2. Prof. Lee is invited as content expert to understand the approach
  3. Both meet to discuss scaling strategies and modifications needed
  4. Ownership transferred to Prof. Lee after pilot concludes
  5. Prof. Lee modifies class settings for larger enrollment
  6. Prof. Anderson remains as content expert to support scaling

Scenario 3: Collaborative Teaching Transition

Situation: Two instructors co-taught a class. One will take full ownership next semester.

Steps:

  1. Both instructors currently have access (one owner, one content expert)
  2. They decide which instructor will be the sole owner going forward
  3. Current owner initiates transfer to the other instructor
  4. New owner accepts transfer
  5. New owner re-invites previous owner as content expert for continued collaboration