Moodle Integration
VivaEdu integrates with Moodle using LTI 1.3, with optional plugin support for enhanced features.
Integration Features
Core LTI 1.3 Features
- Single sign-on from Moodle courses
- Automatic user and course provisioning
- Secure authentication
- Grade passback to Moodle gradebook
- Deep linking support
Enhanced Moodle Features
- Activity Creation: Create LTI External Tool activities with due dates
- Calendar Integration: Due dates appear on Moodle timeline/calendar
- Message Notifications: Students receive Moodle messages when vivas are published
- Assignment Integration: Link vivas to Moodle Assignment (mod_assign) submissions
Initial Setup
Step 1: Register VivaEdu in Moodle (Administrator)
- Log into Moodle as administrator
- Navigate to Site administration → Plugins → Activity modules → External tool → Manage tools
- Click "Configure a tool manually"
- Enter VivaEdu configuration:
- Tool name: VivaEdu
- Tool URL: Your VivaEdu instance + /lti/launch
- LTI version: LTI 1.3
- Public key type: Keyset URL
- Public keyset: Provided by VivaEdu
- Initiate login URL: Provided by VivaEdu
- Redirection URI(s): Provided by VivaEdu
- Enable Services:
- IMS LTI Names and Role Provisioning
- IMS LTI Assignment and Grade Services
- Tool Settings
- Set Privacy:
- Share launcher's name with tool: Always
- Share launcher's email with tool: Always
- Save changes
Step 2: Optional Moodle Plugins
VivaEdu provides optional Moodle plugins for enhanced features:
- assignfeedback_vivaedu: Assignment feedback plugin
- Adds "Assign VivaEdu Verification" button in grading interface
- Quick access to verification workflow
- Inline decision panel
- local_vivaedu: Helper plugin
- Admin settings for VivaEdu configuration
- Automatic activity creation helper
- Secure callback endpoint
Note: Plugins are optional. Core LTI 1.3 integration works without them. Plugins add convenience features for power users.
Step 3: Add VivaEdu to a Course (Instructor)
- Enter your Moodle course
- Turn editing on
- Click "Add an activity or resource"
- Select "External tool"
- Choose "VivaEdu" from preconfigured tools dropdown
- Name it (e.g., "VivaEdu Oral Assessments")
- Set availability and completion settings
- Save and display
- Link appears in your course
Creating Vivas with Moodle Integration
Auto-Create Moodle Activity
When you publish a viva:
- VivaEdu creates a new External Tool activity in Moodle
- Title includes viva name and due date
- Due date set so it appears on Moodle timeline/calendar
- Students see it in course feed and calendar
- Message notification sent to all students
Link to Moodle Assignment
Connect viva to existing Moodle Assignment:
- Useful for sequential workflow (essay submission → viva Q&A)
- Viva unlocks when student submits Moodle assignment
- Both grades tracked separately
Grade Passback to Moodle
How It Works
- Review and grade student viva in VivaEdu
- Click "Push Grade to Moodle" (individual or batch)
- VivaEdu uses AGS to send grade
- Moodle gradebook updates automatically
- Student sees grade in Moodle
Grade Format
- Rubric total score out of max points
- Percentage calculated by Moodle
- Text feedback included in Moodle feedback area
- Video feedback links (not embedded directly)
Moodle Calendar Integration
Viva due dates appear in:
- Moodle course calendar
- Student's personal Moodle timeline
- Course page upcoming events
- Helps students track deadlines
Anonymous Marking (Verification Mode)
For verification vivas (post-grading oral assessments):
- Per-student deep links can be created
- Only visible to assigned student
- Instructor doesn't see student identity until verification complete
- Supports anonymous marking workflows
Best Practices
- Add VivaEdu link to a dedicated section (e.g., "Assessments")
- Enable auto-create assignment for seamless calendar integration
- Test LTI launch before semester starts
- Push grades in batch for consistent timing
- Use Moodle messaging to remind students of upcoming vivas
- Keep VivaEdu tool visible throughout semester
Comments
Leave a comment, question, or feedback. Comments are public — please don’t include personal data.