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: Difference between revisions

From MoodleDocs
(Replaced content with "{{Moved_to_dev_docs}}")
 
(44 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<p class="note">'''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 [[Talk:Student projects/Blog improvements|page comments]].''</p>
{{Moved_to_dev_docs}}
 
== 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:''' [http://moodle.org/user/view.php?id=423027&course=5 Mathieu Petit-Clair]
 
'''Student:''' [http://moodle.org/user/view.php?id=27192&course=1 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
* Implement group associations in the blog component
* Implement mod associations
* Create the blog assignment module
* Implement individual accessmanagement for teachers to limit use of certain associations for certain students
* 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 ==
[[Image: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. 
 
[[Image: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 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, mod will take precedence over group, 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, groups, 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==
These are what I see as the points where community members may want to see something different from what I've settled on.  My answers to each question follow in bold.
 
* Is the "project" feature desired?  If not, would associating blog entries with groups be desired? - '''The 'Project' feature will not be implemented, and instead associations with groups will be implemented'''
* 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)
- '''N/A'''
* 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?))
- '''Something between 1 and 2 will be implemented.  Each "bloggable" entity will have to be coded into thsi interface, one by one, but wach will work within the same database schema.  Additional tables will not be necessary.  Entities will be identified by a 'type' (which identifies how it should be handled) and an id (which may be a composite string, if necessary)'''
* Should teachers be able to set permissions for using associations on a per-student basis?
- '''Yes, though I imagine this is debatable, and does add the next problem...'''
* Where should the interface for setting per-student permissions be?
** In the general course settings
** Page linked to by the 'tags' block in edit mode
** ...Somewhere else?
- '''Good Question!'''
 
==See also==
 
*[[GSOC/2008]]
 
[[Category:Project]]

Latest revision as of 05:34, 15 September 2011

This development related page is now located in the Dev docs.

See the Student projects/Blog improvements page in the Dev docs.