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.
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
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.
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.
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.
"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.
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.
API Workflow
POST /api/school/class/{classId}/transfer-ownership
Authorization: Bearer {token}
Content-Type: application/json
{
"newOwnerEmail": "newowner@university.edu"
}
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
{
"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.
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.
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.
API Workflow for New Owner
POST /api/school/class/{classId}/accept-ownership
Authorization: Bearer {token}
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
{
"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
| 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
| 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
- â 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.
{
"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
- â 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
- â 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
- đ§ 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:
- Dr. Smith and Prof. Johnson meet to discuss class status and expectations
- Dr. Smith invites Prof. Johnson as content expert to review materials
- Prof. Johnson reviews content and asks clarifying questions
- Dr. Smith initiates ownership transfer to Prof. Johnson
- Prof. Johnson accepts transfer
- Prof. Johnson re-invites Dr. Smith as content expert so she can continue helping remotely
- 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:
- Prof. Anderson documents lessons learned and best practices
- Prof. Lee is invited as content expert to understand the approach
- Both meet to discuss scaling strategies and modifications needed
- Ownership transferred to Prof. Lee after pilot concludes
- Prof. Lee modifies class settings for larger enrollment
- 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:
- Both instructors currently have access (one owner, one content expert)
- They decide which instructor will be the sole owner going forward
- Current owner initiates transfer to the other instructor
- New owner accepts transfer
- New owner re-invites previous owner as content expert for continued collaboration