Dialogue 2.0 specification
This page tracks and summarises the progress of rewrite of the Dialogue module for Moodle 2.0. Moodle 2.0
Dialogue 2.0 specification | |
---|---|
Status | Draft |
Introduction
The Dialogue module allows students or teachers to start two-way dialogues with another person. They are course activities that can be useful when the teacher wants a place to give private feedback to a student on their online activity. For example, if a student is participating in a language forum and made a grammatical error that the teacher wants to point out without embarrassing the student, a dialogue is the perfect place. A dialogue activity would also be an excellent way for counsellors within an institution to interact with students - all activities are logged and email is available but not necessarily required.
Usage scenarios
- Teacher sends same course welcome message to all students in “Course A” including future students. Not other roles. Multiple messages.
- Teacher sends same group welcome message to all members of “Group A” including future members. All roles in “Group A”. Multiple messages.
- Teacher sends same message to some students. Multiple messages.
- A Teacher can send “Message” to a student. Student can view but not respond. Single user message.
- A Student can send “Message” to a Teacher. But not to other students. Single user message.
- Teacher A leaves, Teacher B needs to close a Dialogue that posts to all Students.
- A specific Student (eg Class Rep with specified role) can send a “Message” to all students. Ongoing conversation allowed.
- A Student can send a “Message” to a specific students (eg Class Rep with specified role). Ongoing conversation allowed.
- All Teachers can view and participate in any existing conversation in a shared teaching situation.
Design goals
User interface mock-ups
Dialogue listing
Dialogue view
Dialogue new
Recipient picker
Implementation plan
Database structures
dialogue
Field | Type | Default | Description | Notes |
---|---|---|---|---|
id | int (10) | auto-numbered | ||
course | int (10) | 0 | the course id this dialogue | |
intro | text (medium) | the description/assignment of the workshop | ||
introformat | int (3) | 0 | the format of the intro field | |
timemodified | int (10) | 0 | the timestamp when the module was modified | |
edittime | int (10) | 0 | ||
maxattachments | int (3) | 1 | number of attachments | |
maxbytes | int (10) | 100000 | maximum size of the one attached file | |
Capabilities and Permissions
Capability | Description | Role permissions | Notes |
---|---|---|---|
mod/dialogue:open | Open a dialogue with single recipient | teacher | |
mod/dialogue:receive | Can receive a dialogue | student | Can be used to control what roles are displayed in the recipient picker |
mod/dialogue:reply | Can reply to a dialogue | TO-DO | |
mod/dialogue:deleteown | TO-DO | TO-DO | |
mod/dialogue:openmultiple | TO-DO | TO-DO | can open same(template) dialogue with multiple recipients |
mod/dialogue:viewany | TO-DO | TO-DO | |
mod/dialogue:replyany | TO-DO | TO-DO | |
mod/dialogue:closeany | TO-DO | TO-DO | |
mod/dialogue:deleteany | TO-DO | TO-DO |
Group API
File API
File manager
Messaging API
Setup messageprovider for routing posts.
Event API
user_enrolled()
- Can be used for any automated opening of dialogues for new course participants when all participants were selected in a multi-open dialogue.
groups_member_added()
- Can be used for any automated opening of dialogues for new group members when group(s) were elected in a multi-open dialogue.
user_unenrolled()
- Cleanup function, delete any dialogues that user is a recipient.
dialogue_extend_navigation($navref, $course, $module, $cm)
- Can use for dialogue unread count, filters(All, Unread, Read e.t.c) providing direct linking.
dialogue_extend_settings_navigation(settings_navigation $settingsnav, navigation_node $dialoguenode)
- ???