Proposed Specs for Competency System

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

there are two parts: Competency repository and the competency-to-product mapping module

Competency Repository

The repository is a space/site dedicated to storing community defined Drupal-related competencies. But what is a competency? How are competencies organized? I have been doing some pondering and tested my thoughts with a google search.

Definitions: According to http://managementhelp.org/staffing/specify/cmptncys/cmptncys.htm, "Job descriptions typically list the tasks or functions and responsibilities for a role, whereas competencies list the abilities needed to conduct those tasks or functions. Consequently, competencies are often used as a basis for training by converting competencies to learning objectives." By definition "A competence is the ability to perform a specific task, action or function successfully."

General Requirement: These search results provide a way to hone what we already have started in such a way that I think many will be able to relate. So for our repository, I propose we need a way to capture 'ability statements' that can be mapped to tasks and their associated processes with the site life-cycle.

Examples: We have this started in our spreadsheet. For instance, the ability to 'Create a new content type.' The task might be 'content type development' and this task is probably associated with the 'build/development process'. Another example might be the ability to 'Create a node.' The task could be 'content development' and the process 'content management'. Another example might be the ability to 'Use the hook_form_alter API to change a form.' The task might be module development and the process might me the build/development process (like the example above).

Model?: We might want to look at how D7 organizes default tasks in Drupal to see if that task organization is a good model. It would certainly help sync up this effort with Drupal going forward.

Requirement Specs: Assuming all are in agreement with my assumptions above, I propose the repository have and do the following.

Competency field - long enough for a sentence (255 chars? or more?). Has a child relationship with the task field. Can have more than one task parent. Needs to be only one sentence/statement with an action verb (e.g., create, define, install, configure, etc).

Task field - should be a shorter statement (255 chars or less). Has a parent relationship with the competency field. Can have multiple children. Ability to have more than one process parent is TBD. Has a child relationship with the process field. The task statement should also include an action verb as tasks are actions. Tasks are broad enough to include multiple competencies but fit well into one of the core processes found in the site life-cycle.

Process field - should be a shorter statement (255 chars or less). Has a parent relationship with the task field. Can have more than one task child. Processes are high level and often represent a phase in a site life-cycle or a major effort within a phase.

Phase field (?optional?) - this might be overkill but it would simply represent work performed pre-launch versus post-launch.

Outbound 'feed' - the repository should allow other sites to pull a copy of the competencies, tasks, and processes into their site. The result of the pull should process something (terms, nodes, whatever), that can be mapped to learning experience nodes in their site. The learning experience nodes can be a registration form, a product description page, a video, whatever.

Inbound 'feed' - the repository could also allow sites to register their competency map/feeds (something part of the module they put on their site). From the repository site, people could look up a competency and see who has registered their learning experience product with that competency.

Competency Mapping Module

My thoughts on the competency-to-product mapping process. This is the module sites install so that their visitors can see which learning experience product meets the competency.

Requirement Specs: Again, assuming all the repository makes sense, the "user" side of this project would need the following.

Competency map field - a field that is pre-populated with the competencies from the repository. The field could be assigned to any content type. D6 version would require CCK. A D7 version would obviously work differently.

Views integration - the competencies, tasks, process, and phases(?) and their relationships(?) would be available to views so users could present their learning experienced grouped by competency in a block or page.

Inbound feed - pre-defined admin option that allows users of the module to sync their copy of the competency repository with the actual repository.

Outbound feed - pre-defined view feed that pushes the learning experience node(?) info, URL, and competency back to the learning experience list in the repository.

Implementation

I could easily see this as an architecture:

  • A taxonomy vocabulary for the the competencies
  • A content type for the competencies
  • Taxonomy manager for maintianing the taxonomy
  • Taxonomy xml for importing/exporting terms
  • Other common drupal vocabs for tagging purposes

On the issue of merging the vocabulary with existing versions of the vocab on other sites, I think a patch to taxonomy xml that allows it to merge with existing vocabs would take care of the issue.

Comments

Similar features or complimentary efforts?

gusaus's picture

Thanks for posting this Cindy! Without a mockup, I'm exactly sure what this would look like, but it seems like this type of functionality may exist and/or there are others working towards the same goals. Here are a few projects/discussions I've found:

It would be great to have some input for others working on or interested in this type of functionality.

Gus Austin

We'll be releasing out very soon

bonobo's picture

Our site is definitely not in the mold of a traditional LMS - if anything, it falls somewhere on the spectrum between a traditional news site, a community driven news site, a community discussion area, a group blog, and an aggregation/remix engine.

With that said, it can definitely support learning experiences, but it is not designed to support a teacher-controlled space.

Also excited to use, integrate, and improve

gusaus's picture

I'm really excited about learning more about the aggregation hub. One reason is we want to integrate this sort of community driven aggregation/remix element into the Drupal Dojo site. This combined the competency system we hope to build should provide a useful way for people to find and recommend a wide range of learning materials from videos to courses important to them.

It will be exciting to see how we can integrate these features into a wide variety of sites and installation profiles.

Gus Austin

I also found the LMS page you

idcm's picture

I also found the LMS page you referenced. Although this topic might be of interest to the folks on this thread, the group itself is still trying to focus defining what a Drupal LMS should look like, what functionality would it have, etc.

As for funnymonkey, they might have an interest.

I will bring this to both groups and see.

potential example

idcm's picture

I know (and have worked with) these folks - http://foodsafetyknowledgenetwork.org/correlate - and what they are doing with competencies. They have started doing what is being described but I believe it is on a small/local scale versus what is described above. I could be wrong. I will send them this thread and see what they think.

fyi - doesn't show in IE7 right now

Examples are good!

gusaus's picture

It definitely helps to see examples of similar functionality. As we discussed in the curriculum chat, it would be good to set aside a time (possibly next week?) and flesh this out a bit. I'll set up and share a development sandbox beforehand.

If anyone else is interested or curious, please chime in.

Gus Austin

the curriculum chat

mcstean's picture

Please can i have a link about the Curriculum Chat ?
Thanks

more about competences

pncuong's picture

@idcm,
I just add a comment to the notion of competence.
As i know, the notion of competence is a litle bit complex. As i studied in the mobile and pervasive learning domain, i found that a competence is not only dependent on a specific task, function, etc. but also on the curent context of a learner. Where the context here may be composed of the location, using devices, tools, etc. For example, we can consider a competence such as "the ability to post a blog". We can also detail it like "the ability to post a blog using Drupal" or "the ability to post a blog using Wordpress". Here, Drupal and Wordpress are considered as using tools. A user having "the ability to post a blog using Drupal" may not having "the ability to post a blog using Wordpress". This is because he has never used Wordpress.
So, formalizing competences become more complicated. Especially in an environment where the user can interact with meny devices, tools and in a situation that is more and more informal. If you want an integration of competence in a more open environment, think about it.
Thanks

@pncuong, I am not sure I

idcm's picture

@pncuong, I am not sure I understand your issue. We aren't promoting a generic open source set of competencies typically assigned to users of a CMS. We are talking about the ability to perform specific tasks in Drupal.

example module

idcm's picture

The following is a message from Nathan at MSU.

"This looks interesting and certainly relates to the FSKN project. The module we developed for that project was called Correlate. It was our intention to publish the module on drupal.org upon completion but that never happened. I have attached the module in case you are interested in trying it out. It has only been installed on that one site, but hopefully it would install okay. I'm not sure what to do with it beyond that since I don't really have free time to work on it and the funding for the project has been used up. It would be nice to see it used more broadly, so I am certainly willing to share, but don't feel I could be a very good project maintainer at the moment."

I can't attach a zip file of the module here or in the wiki. I have forwarded it to several members of this group. Thank you Nathan for sharing.

correlate module update

idcm's picture

I have tried to use correlate to enter some test data but I haven't quite figured out how to map our proposed with the one in correlate. I need to ask the developer to work with me directly to see if the IA in this module will work (but will need relabeling).