manifold icon indicating copy to clipboard operation
manifold copied to clipboard

OER Reading Groups

Open zdavis opened this issue 5 years ago • 3 comments

OER Reading Groups Brief

Feature Description

This feature will allow users on a Manifold installation to collect content within a reading group. “Content” refers to the principle types of content in Manifold: projects, texts, text sections, resources, and resource collections. Users will be able to visit a home page for a given reading group, which will list the content that has been added to that group. We also want instructors to be able to add context for content on the Manifold instance in the form of external links and textual content.

Use Cases

To help understand what we’re aiming for here, I’ll include a few user scenarios.

  • Example 1. I’m an instructor teaching an introductory course to the Digital Humanities. I want to use excerpts from the DH Debates volumes as the primary course material. I setup a reading group on the DH instance and invite my students. I collect 10 text sections from the different volumes. These 10 chapters make up the bulk of the course materials. I want to provide some introductory material to the chapters I’ve curated, and links to external sites.
  • Example 2. I’m a CUNY instructors teaching a course on Early American Literature. I’m going to teach 6 books grouped into three thematic unites, each of which is present in a project on the CUNY Manifold instance. When my students come to our reading group home page, I want them to see each theme followed by the two texts that are grouped under each theme. I want to briefly describe each unit and include links to external resources.

Architecture

Our goal, then, is to provide users ways to collect and curate content on a Manifold instance, and add related external links to the content that’s been curated.

The following things can belong to reading groups:

  1. projects
  2. texts
  3. text sections
  4. resources
  5. resource collections

For the purposes of articulating this feature’s functional requirements, we’ll refer to each of the above items in this brief as as “Reading Group Reference” or, for brevity, a reference. A ReadingGroup has many ReadingGroupReferences. A ReadingGroupReference belongs to a ReadingGroup and a Referenceable. A Referenceable is a polymorphic association to one of the above five objects.

Each reading group has a simple, flat taxonomy for organized content within the group. We’ll call each item in the taxonomy a “Reading Group Category,” or, for brevity, a category. Each category has a title, a markdown content field, and external links. Each external link has a URL, link text, and an optional description. When a reference is added to a reading group, the user adding it will need to also assign it to a category, or it will be “uncategorized.” Reading group moderators have the ability to create, edit, delete, and reorder the categories within a group. Reading group moderators can also order references within a category.

Collecting Content

Any authenticated user on a Manifold instance can collect content. We will finalize what we call this action (collecting, adding, saving, liking, favoriting, curating are all possibilities) during the design phase. For the time being, we’re looking for easily understood nomenclature and iconography that’s closer to “collecting” or “curating” than the social media conventions of “liking” or “favoriting.”

When content has been collected, the user will be given an option to select the container for the collected content. The container can be a reading group, or it can be the user’s own collection (similar to how annotations can belong to “my” annotations, or to a reading group I belong to). In cases where the user does not have the ability to collect content within a group, no choice will be offered and the container for the content will be the user’s own collection. This mechanism will expand and replace the existing favorite mechanism and give users the ability to save all types of Manifold content. Users will have a landing page, which will replace the “following” page, that allows them to see their collected content.

Reading Group Home Page

The reading group landing page will be, in effect, a list of categories and references. For example, for the “Themes in Early American Literature” reading group, we might have the following structure:

  1. Good and Evil
    1. Instructor description of the unit (category description)
    2. Young Goodman Brown (a text)
    3. Uncle Tom’s Cabin Chapter 2 (a text section)
    4. Excerpt from “The doctrine of evil” (a resource)
    5. Links to external resources (category links)
  2. Nature
    1. Instructor description of the unit (category description)
    2. “Solitude” from Walden (a text section)
    3. “Chapter 5” from Adventures of Hucklebery Finn (a text section)
    4. LibriVox recording of Emerson’s “Nature” (a resource)
    5. Links to external resources (category links)
  3. Etc...

For each of the four types of references, we will need a templated block. These blocks can pull content from any field present on the referenced model.

Design Deliverables

We'll need to see (at least) the following components in the design deliverables.

  1. A frontend view that lists public reading groups
  2. An interface for managing a reading group’s categories, including adding a category, editing a category, deleting a category, sorting categories
  3. An interface for managing a category’s description and links
  4. An interface for adding a text to a reading group
  5. An interface for adding a text section to a reading group
  6. An interface for adding a resource to a reading group
  7. An interface for adding a resource collection to a group
  8. Design for a text block on a reading group landing page, including an interface for viewing/listing reading group annotations for the text.
  9. Design for a text section block on a reading group landing page, , including an interface for viewing/listing reading group annotations for the text section.
  10. Design for a resource block on a reading group landing page
  11. Design for a resource collection block on a landing page
  12. An interface for removing content from a reading group (likely inline)
  13. An interface for sorting content within a reading group category
  14. An interface for moving content between reading group categories

We plan on tackling design in a phased approach. The first phase will focus on showing the interfaces for collecting content (to my collection and to a reading group). The second phase will focus on showing what the reading group home page and the “my content” page (name TBD) will look like. The third page will focus on showing the management interfaces for managing reading group settings, references, and categories.

zdavis avatar Jun 17 '19 20:06 zdavis

This looks so great. After an initial read, one small thing that jumps out to me is that it may be confusing to use the term "category" for the organizing principle of the reading group home page, since that's also in use in the back end of projects. Perhaps something like "sections" would do the trick and avoid repetition.

krosemichael avatar Oct 16 '19 18:10 krosemichael

Design meeting note: Links can go in the markdown category description.

zdavis avatar Oct 31 '19 21:10 zdavis

Thank you for taking the time to open this feature request. The Manifold team reviewed this issue during our bi-weekly meeting and the consensus is that this feature makes sense and is in keeping with our overall vision for the platform. Moreover, we see this request as a viable candidate for development under our current available funding. We’re adding a “planned” label to this feature to indicate that we plan on completing it within our current funding cycle.

This was an automated message, but please don't hesitate to reply. Our team watches these issues closely and will respond as soon as we're able to!

zdavis avatar Mar 04 '20 20:03 zdavis

Done in v8

zdavis avatar Nov 17 '22 21:11 zdavis