Tag Archive for eportfolio

Lightweight electronic portfolio

Fundamentally, an electronic portfolio allows students to publish their exemplary work, reflect on their learning, and invite comment. Some schools (1, 2) roll out full-blown electronic portfolio software that can access files from their learning management system. This may be a great approach if a school has adopted electronic portfolios as a major initiative for the year.

In our school, we have not yet explored the topic of whether we should all move to electronic portfolios. We have paper, in-person based portfolio exhibitions in third through eighth grades, but the high school does not, and faculty meeting time is fully consumed with other discussions about teaching and learning. At the same time, we have groups of students and teachers who want to publish exemplary work either to the Catlin Gabel community, project mentors from outside the school, or college admission offices.

In response to this level of interest, I decided to provide a very lightweight electronic portfolio tool. I used an existing feature in our Drupal website (rather than a new tool) to allow students and teachers to publish exemplary work in multiple media forms, reflect on their learning, and invite comment. Students simply create a blog post but then mark the item for inclusion in their portfolio. They can also make the item publicly viewable if they choose. The “portfolio” home page is really just the student’s blog, filtered by one or both of these flags. The way Drupal works, if a user is not logged in, they only see the items marked public.

blog checkboxes

So far, art seminar students have created public portfolios of their work, principally for the college admission process. Here is a portion of one. In May, all seniors will blog about their individual senior projects. Some may choose to make these posts public for their on-site mentor and others to see.

<%image(20091203-portfolio example.png|450|318|portfolio example%>

Techies out there may find the following Drupal module code useful.

function cgs_blog_form_alter(&$form, $form_state, $form_id) {
  if (isset($form['#node']) && ($form['#node']->type == 'blog')) { // apply only to "create blog entry" form
    // add a submit function
    $form['#submit'][] = 'cgs_blog_form_submit';


function cgs_blog_form_submit($form, &$form_state) {
  // load content access functions
  require_once(drupal_get_path('module', 'content_access') .'/content_access.rules.inc');
  // load node object
  $node = node_load($form_state['values']['nid']);
  // set anonymous user grant array
  $settings['view'][0] = 1;
  // change node access permissions for this node
  if ($form_state['values']['field_blog_public'][0]['value'] == 'Make this post public') {
    // add view grant for anonymous users to this node
    content_access_action_grant_node_permissions($node, $settings);
  } else {
    // remove view grant for anonymous users to this node
    content_access_action_revoke_node_permissions($node, $settings);