WordPress in the Classroom: Core

Core functionality defined
By Sol in Lab

Last time we brainstormed the possible way that WordPress can be used in the classroom.  Several areas were identified where WordPress could be of use and there are undoubtedly even more areas as yet unknown.

Today we’re taking a look at the first component that will serve as the central nexus for all other components– the Core.

Core Features & Functionality

The main purpose of the Core component is to lay the foundation for all of the other components, so there isn’t much in the way of flashy features, just the basics:

User Types

  • Teachers
    • Assigned to one or more Classes
      • Class history is retained
    • Access to data of Students in their Classes
  • Students
    • Assigned to one or more Classes at a time
      • Class changes (e.g. each year) are retained as part of student record
    • Profile data (in additional to default)
      • Date of birth
      • Mailing Address
      • Emergency (parent) contact information

Content Types

  • Class
    • One or more Teachers are assigned to class
    • Grouped by Grade Level
  • Grade Level
    • Grouping for Classes
    • Could be a taxonomy, but since Classes will be added to a single Grade Level, a parent-child relationship is ideal and we will be able to make use of the additional capabilities of a content type (meta data, etc.)

Next Step

The next step of course is to implement the above features/functionality.  It’s all pretty straightforward, but there are two main things that will likely require a bit more attention:

  1. Storing user history (e.g. Class history).  This will likely be stored as user meta data, but the methodology will need to be extensible for other components to add data to be stored for historical purposes as well.
  2. Defining relationships between content types and users.  Teachers (as well as Students) can be assigned to multiple Classes at once.  It would be advantageous to be able to quickly retrieve all Teachers/Students in a Class so perhaps a database table solution (ala taxonomies) may be in order.