Conduct Live Online Classes
Conduct Live Online Classes
Host real-time video classes with password protection, screen sharing, emoji reactions, and participant management.
Time: 2–5 minutes to set up Module: OpenEduCat Live Permissions: Faculty or Meeting Organizer
Prerequisites
- Modern web browser with WebRTC support
- Camera and microphone access
- Calendar module installed
- Discuss module configured
- Access to Calendar application
Overview
The Live Classes system enables:
- WebRTC-based video conferencing
- Password-protected meeting rooms
- Screen sharing with host controls
- Emoji reactions and hand raising
- Meeting lock to prevent late entry
- Integration with calendar scheduling
- Course, batch, and subject linking
Technology
The module uses WebRTC (Web Real-Time Communication):
- Peer-to-peer video connections
- Browser-based (no plugins required)
- Supports: Chrome, Firefox, Edge, Safari
Browser Requirements:
- RTCPeerConnection support
- MediaStream API support
- Camera and microphone permissions
Steps
1. Schedule a Live Class
- Navigate to Calendar application
- Click on a time slot or click New
- Complete the event form:
| Field | Action |
|---|---|
| Subject | Enter class title |
| Start | Set start date and time |
| End | Set end date and time |
| Attendees | Add student/faculty contacts |
-
Enable live meeting:
- Check Create Meeting checkbox
- System creates a discuss channel
- Password auto-generated
-
In Meeting tab:
| Field | Action |
|---|---|
| Course | Select course (optional) |
| Batch | Select batch (filtered by course) |
| Subject | Select subject (optional) |
- Click Save
2. Share Meeting Details
After saving, the event includes:
- Video Call URL: Auto-generated meeting link
- Password: Participant access password
- Moderator Password: Host control password
Attendees receive:
- Calendar invitation with meeting link
- Password for joining
3. Start the Live Class
-
Open the calendar event
-
Click the Join Meeting button or use the video call URL
-
On the welcome page:
- Preview your camera
- Test microphone
- Enter password (if required)
-
Click Join to enter the meeting
4. Host Controls
As the meeting host, you can:
| Control | Action |
|---|---|
| Lock Meeting | Prevent new participants from joining |
| Password Lock | Enable/disable password requirement |
| End Meeting | Close session for all participants |
| Mute/Unmute | Control your audio |
| Camera On/Off | Control your video |
| Screen Share | Share your screen |
| Disable Screen Share | Prevent participants from sharing |
5. Participant Features
Participants can:
- Raise hand (notification to host)
- Send emoji reactions
- Share screen (if enabled)
- Mute/unmute audio
- Turn camera on/off
Meeting Security
Password Protection
- Passwords are auto-generated (10 characters)
- Uses alphanumeric characters (excludes confusing: l, O)
- Two password types:
- Participant Password: For attendees
- Moderator Password: For host controls
Lock Meeting
- Click Lock Meeting button
- Icon changes to locked state
- New participants see “Meeting Locked” message
- Unlock by clicking again
Welcome Page Validation
When joining, system checks:
- Is meeting locked? → Shows “lock-meeting” error
- Is password required? → Shows password input
- Password correct? → Allows entry
- Wrong password → Shows “incorrect-password” error
Screen Sharing
Enable/Disable Screen Sharing
Host can control participant screen sharing:
- Click Settings menu
- Find Screen Share Disable checkbox
- Check to prevent participants from sharing
- Uncheck to allow sharing
Share Your Screen
-
Click Screen Share button
-
Browser prompts for screen selection:
- Entire screen
- Application window
- Browser tab
-
Select and click Share
-
Other participants see your screen
-
Click Stop Sharing to end
Emoji Reactions
Send Emoji
- Click Emoji button in call actions
- Select emoji from picker
- Emoji displays next to your name
- Other participants see your reaction
Hand Raising
- Click Raise Hand button
- Hand icon appears in participant list
- Host sees notification
- Click again to lower hand
Field Reference
Calendar Event Extension
| Field | Technical Name | Type | Description |
|---|---|---|---|
| Create Meeting | is_meeting | Boolean | Enable live meeting |
| Meeting Started | is_start_meeting | Boolean | Meeting active flag |
| Password | is_password | Char | Participant password |
| Channel | channel_id | Many2one | Linked discuss channel |
| Course | course_id | Many2one | Associated course |
| Batch | batch_id | Many2one | Associated batch |
| Subject | subject_id | Many2one | Associated subject |
Discuss Channel Extension
| Field | Technical Name | Type | Description |
|---|---|---|---|
| Lock Meet | is_lockmeet | Boolean | Meeting locked |
| Lock Password | is_lockpassword | Boolean | Password required |
| End Meet | is_EndMeet | Boolean | Meeting ended |
| Password | is_password | Char | Access password |
| Host ID | host_id | Integer | Host user ID |
| Sheet ID | sheet_id | Integer | Attendance sheet link |
| Calendar | calendar_id | Many2one | Linked calendar event |
RTC Session Extension
| Field | Technical Name | Type | Description |
|---|---|---|---|
| Screen Share Disabled | is_screen_show | Boolean | Host disabled sharing |
| Hand Raised | is_hand_raised | Boolean | Participant raised hand |
| Emoji | is_Emoji | Char | Current emoji reaction |
| Badge Emoji | is_badgeemoji | Char | Badge emoji status |
| Attentiveness | is_Attentiveness | Boolean | Tab focus tracking |
API Endpoints
The module provides JSON-RPC endpoints:
| Endpoint | Purpose |
|---|---|
/mail/rtc/session/welcomepage | Validate password |
/mail/rtc/session/lock-meeting | Lock/unlock meeting |
/mail/rtc/session/check-ishost | Verify host status |
/mail/rtc/session/lock-password | Toggle password lock |
/mail/rtc/session/check-lock | Check password status |
/mail/rtc/session/create-password | Generate password |
/mail/rtc/session/get-password | Retrieve password |
/mail/rtc/session/update-and-emoji | Update emoji status |
Meeting States
Participant View States
| State | Description |
|---|---|
| Connecting | Establishing WebRTC connection |
| Connected | In meeting, can interact |
| Muted | Audio disabled |
| Camera Off | Video disabled |
| Screen Sharing | Sharing screen |
| Hand Raised | Requested to speak |
Host View Indicators
- Participant count
- Audio/video status for each
- Hand raise notifications
- Emoji reactions
- Attentiveness tracking (tab focus)
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| Camera not working | Browser permissions | Allow camera access |
| No audio | Microphone blocked | Check browser permissions |
| Cannot join | Meeting locked | Wait for host to unlock |
| Wrong password | Typo or changed | Verify password with host |
| Black screen | WebRTC unsupported | Use supported browser |
| Poor quality | Network issues | Check internet connection |
| Screen share fails | Browser restrictions | Try different screen option |
| Others can’t hear | Muted | Unmute microphone |
Browser Compatibility Check
The welcome page automatically checks:
- RTCPeerConnection availability
- MediaStream support
If unsupported, shows error message with browser upgrade recommendation.
Best Practices
- Test equipment: Check camera and mic before class
- Share password: Ensure students have access credentials
- Lock timing: Lock meeting after expected participants join
- Mute policy: Ask participants to mute when not speaking
- Screen prep: Close sensitive windows before sharing
- Backup plan: Have alternate communication method ready
- Record important sessions: Use browser recording if needed
Integration Features
Calendar Integration
- Events sync with meeting creation
- Attendees auto-added to channel
- Meeting URL in event description
- Automatic cleanup on event deletion
Course/Batch Linking
- Associate meetings with specific courses
- Link to batches for student filtering
- Subject assignment for topic tracking
Attendance Integration
sheet_idfield links to attendance module- Track meeting participation
- Generate attendance reports
Security Notes
| Role | Capabilities |
|---|---|
| Meeting Host | Full control (lock, password, end) |
| Participants | Join, react, screen share (if enabled) |
| Guest Users | Limited access via public routes |
Password Security
- 10-character random passwords
- Alphanumeric (avoids confusing characters)
- Separate moderator and participant passwords
- Can be regenerated by host