Note: You are currently viewing documentation for Moodle 2.0. Up-to-date documentation for the latest stable version is available here: Student projects/Blog improvements.

Student projects/Blog improvements

From MoodleDocs

Note: This page outlines ideas for the Blog Improvement / Blog Assignment Type project. It's a specification under construction! If you have any comments or suggestions, please add them to the page comments.

Summary

This project aims to make improvements to the existing blog component and add a blog assignment module. Blogs can help immensely in keeping a student's work and an instructor's supervision coordinated, especially in self and group-directed projects or long-term assignments. The blog assignment module will make it easier for instructors to take advantage of the existing blog component.

The improvements to the blog will be a new system of relating course entities to blog posts. Assignments, group projects, and courses can all be associated with blog posts, providing a method of filtering a blog at each level and thus avoiding the need to search through a blog for relevant posts from a student enrolled in multiple classes. These relations also provide a means of access control for group projects and the notion of a group blog. A group project may pertain to several students, and blog posts from each student related to the project can be filtered out of each of their blogs and combined on a single view. Specific blogging assignments can also be associated with blog posts so the instructor is aware of which posts the student wishes to have considered for evaluation.

Mentor: Mathieu Petit-Clair

Student: Joey Morwick

Goals

  • Provide a means for organizing blogs in terms of which courses and assignments the blog entries are relevant to
  • Provide a means for viewing blog entries for students collaborating on group projects
  • Provide a means for allowing students to set viewing restrictions for given associations and for teachers to require certain viewing restrictions
  • Provide an assignment module for submitting blog entries for credit
  • Provide backup capabilities for associations and course associated blog entries

Milestones in the Project

  • Develop and finalize complete plans for updating the blog component and for the assignment module
  • Implement course associations in the blog component including privacy and organizational support
  • Create the blog assignment module with assignment associations implemented in both the module and the blog component
  • Implement project management for teachers and project assocations
  • Implement backup support for courses with blog entries associated with them or with contained assignments and projects.
  • Final bug-checking and refactoring

Progress

Currently I'm fleshing out the proposal and seeking feedback before I complete final plans for the summer.

Interface Mockups

Blog-edit.png

The interface for adding associations to a blog entry would appear under the tag portion of the form. Javascript will populate relevant assignment and project entries for selected courses, whereas when javascript is unavailable, all project and assignment entries will be present with the associated course prepended to the name of the project/assignment. Relevant course and project associations are automatically added on the server-side for associated assignments whether javascript is enabled or not.

Blog-entry.png

Associations will appear with icons under the tags portion of a posted blog entry. Each links to a list of blog entries associated with the course/project/assignment selected just as they are when a tag link is visited.

Security

Several security issues exist for this project, such as:

  • who may read blog entries with particular associations
  • who may use particular associations with their blog entires
  • who may grant permission to use certain associations

Teachers, or those with enrollment/unenrollment permissions, will have access to creating projects and assigning students to them. They will also be able to grant or deny access to associating blog entries with the course, though by default all students will have this access. When creating a blog assignment, teachers can require the student use certain access restriction levels for the entries they associate with the assignment. Teachers can also set such restrictions for associating entries with projects or the course. In cases where restrictions contradict each other, assigment will take precedence over project, which will take precedence over course.

For students, the blog settings panel should include options for visibility of entries associated with any of the courses, projects, or assignments the student has access to. Two options will be included: the first will be the default visibility, and the second will be the visibility which takes precedence until the due date. These fields will be populated with only those values allowed by the instructor. Possible values are:

  • Everyone
  • Members of the class
  • Group Members (for project associated entries)
  • Private (only the author and teachers)

In addition, these values will be added to the "publish to" field for each blog entry, so that visibility can be set on a per-entry basis instead of just an association-wide basis. As with the association-wide permissions, the available values for the "publish to" field can be constrained by the settings of the teacher for a particular tag. If javascript is enabled, the list will be re-populated when associations are changed. Otherwise the page will be refreshed when an association is made.

Contentious Points

  • Is the "project" feature desired? If not, would associating blog entries with groups be desired?
  • If group projects are desired, should group projects be handled separately from groups, or should projects be associated with groups? To what degree should they be separate?
    • (1) completely separate
    • (2) Students are assigned to projects by associating a group with a project
    • (3) interface automatically uses groups db to manage student membership in group projects, but these details are not apparent from the interface. Teachers use the interface to assign students to projects directly)
  • How extensible should the associations be?
    • (1) Only those associations listed in this proposal should be supported
    • (2) Room should be left in the code to easily extend the code to support associations with any other moodle entities
    • (3) This project should fully support associations with (name your favorite moodle entities), along with those listed in this spec
    • (4) Joey, you're overlooking (insert clever method), which can be used to associate any moodle entity with a blog post (perhaps using the path to the page describing that entity to identify it?))

See also