RSF Blog Tool Exercise

RSF Blog Tool Exercise

Information

This details the design information for the RSF blog exercise (rsfBlog). For this exercise we will create a simple working blog tool designed to allow students to create and share blog entries in a sakai site.

Requirements

  • Blog Wow will have 5 screens for this exercise

  1. Home view - includes a list of the current blogs in the site (the blog for this user will appear at the top)

    • blogs are created using a "start blogging" link at the top, anyone with the start blog permission may create a blog

    • this list should include the date of the most recent blog entry

  2. Blogs view - includes a list of all entries in a blog

    • includes add link and edit links for the owner of the blog (or admins)

    • includes link to remove a blog entry (with all associated comments)

    • also includes links to add comments (the link will indicate the number of current comments)

    • the owner information and a profile will appear on the right side of the screen

    • also lists all the current comments on this entry in order above the new comment textarea and submit button

    • comments cannot be removed

  3. Add/Edit Entry screen - allows the blog owner to create or update blog entries

    • this should update the modify date for a blog entry also

  4. Settings view - this allows the blog owner to edit their profile

  5. Permissions view - uses the permissions helper

Data Model

  1. BLOG - represents a blog in a site (site, owner, profile, settings)

  2. ENTRY - represents a single entry in a blog (blog, title, text, date modified)

  3. COMMENT - represents a single comment on an entry (entry, text, date modified)

Implementation details

  • Permissions

    1. create - user can create a new blog

    2. entry.write - user can create and remove their entries

    3. entry.write.any - user can create and remove any entry

    4. entry.read - user can read group entries

    5. entry.read.any - user can read any group entry

    6. comments.add - user can add comments

    7. comments.remove.any - user can remove any comment

Files