The SOBIE Memorial System provides a respectful way to honor deceased community members while maintaining their profiles and contributions in the platform. This system allows administrators to designate users with an โin memoriamโ status and display appropriate memorial information.
Features Implemented
๐๏ธ Core Infrastructure
User Model Enhancements (src/models/User.js)
New Role: Added 'in-memoriam' to the roles enum
Memorial Fields: Added comprehensive memorial data structure:
memorial:{dateOfPassing:Date,// Required for memorial usersmemorialNote:String,// Optional tribute message (max 500 chars)addedBy:ObjectId,// Admin who added memorial statusaddedDate:Date// When memorial status was added}
Virtual Properties
isInMemoriam: Quick check for memorial status
memorialDisplay: Formatted memorial information for display:
Enhanced Public Profiles: Memorial users remain viewable even when inactive
Memorial Information: Automatically included in public profiles
Privacy Respect: Memorial display respects existing privacy settings
User Model Integration (src/models/User.js)
getPublicProfile() Enhancement: Always includes memorial info for memorial users
Graceful Display: Memorial information appears alongside regular profile data
Usage Examples
Adding Memorial Status (Admin)
// POST /api/admin/memorial/:userId/add{"dateOfPassing":"2023-06-15","memorialNote":"Dr. Smith was a pioneering educator who made significant contributions to biomedical engineering education."}
Querying Memorial Users
// Get all memorial usersconstmemorialUsers=awaitUser.findMemorialUsers();// Get memorial users from specific yearconstusers2023=awaitUser.findMemorialUsers({year:2023});// Get memorial statisticsconststats=awaitUser.getMemorialStats();
Memorial Display in Public Profile
{"memorial":{"dateOfPassing":"2023-06-15T00:00:00.000Z","memorialNote":"Respected member who contributed significantly...","yearsPassed":2,"formattedDate":"June 15, 2023"}}
System Behavior
Memorial User Status
Activity: Memorial users are automatically set as inactive
Visibility: Remain visible in public profiles and searches
Authentication: Cannot log in (inactive status)
Data Preservation: All historical data and contributions preserved
Admin Controls
Access Control: Only admin and organizer roles can manage memorial status
Audit Trail: Tracks who added memorial status and when
Data Validation: Ensures required fields and prevents future dates
Integration Points
Search Results: Memorial users appear in directory searches
Analytics: Included in historical data and statistics
Profile Views: Memorial information displays respectfully
Name Cards: Memorial users can still have name cards generated
Database Impact
New Indexes
Memorial fields are indexed for efficient querying by year and status
Data Migration
Existing users unaffected
Memorial fields are optional and only populated when status is added
Backward compatibility maintained
Performance
Minimal impact on existing queries
Efficient memorial-specific queries with proper indexing
Security & Privacy
Access Control
Memorial management restricted to admin roles
Memorial information respects existing privacy settings
Public memorial display is always shown regardless of privacy (respectful remembrance)
Memorial Gallery: Photo galleries for memorial users
Annual Memorial Page: Dedicated page honoring those passed each year
Memorial Notifications: Email notifications to community when memorial status is added
Enhanced Analytics: Memorial trends and community impact metrics
Memorial Events: Integration with conference memorial sessions
Implementation Summary
โ Complete Memorial Role System
Added โin-memoriamโ role to User model
Comprehensive memorial data structure
Automatic status management and validation
โ Admin Management Interface
Full CRUD operations for memorial status
Validation and error handling
Analytics and reporting capabilities
โ Public Display Integration
Memorial information in public profiles
Respectful formatting and display
Privacy-aware memorial visibility
โ Data Quality & Security
Input validation and sanitization
Admin-only access controls
Audit trail for memorial actions
The memorial system is now fully operational and provides a dignified way to honor deceased SOBIE community members while preserving their contributions and legacy within the platform.