Problem/Motivation

Itangalo is/has been building a profile/feature set called "Learning site", used for managing "learning resources" (lessons, tutorials, exercises…). It could be awesome to merge that functionality into the Learn profile, but the merging is not uncomplicated. Two big issues:

  • The Learn distribution is pretty heavily focused on the actual content of the site (Drupal lessons), while "Learning site" is intended to be a framework agnostic of what general topic is learned and how/if learning material is stored on the site.
  • The "Learning site" is focused on topics – concepts, categories, or what have you – which in turn has learning resources attached. The Learn distribution primary content is the Lesson, or possibly the Ladder/Curriculum.

A video discussing the background of the "Learning site" is found here – http://www.youtube.com/watch?v=wLck42xlEpA (alternative link).

Proposed resolution

To figure out if it makes sense to merge "Learning site" into the Learn distribution there probably needs to be discussion about roadmap for Learn. If the project members are not interested in the path the project would be pushed towards – which is fully legitimate – it is better to keep the projects separated. If, however, the Learn project would like to move towards a more general platform for learning sites – and in a way that the "Learn site" examplifies – then it makes sense to merge.

One proposed idea is to branch Learn, and add functionality to the main branch as the project becomes ready for 2.0 releases (or so). This is a sensible approach, but only if the branches will actually merge later on.

Remaining tasks

Discuss! Conclude!

CommentFileSizeAuthor
#1 Learning site.png81.76 KBitangalo

Comments

itangalo’s picture

Project: Learn » Drupal Ladder
Issue summary: View changes

Added a link to a relevant comment in another issue.

itangalo’s picture

Issue summary: View changes

Minor update about "Learning site" being agnostic concerning how/if learning material is stored on the site.

itangalo’s picture

Issue summary: View changes

Removed the part about Page manager/Panels.

itangalo’s picture

Project: Drupal Ladder » Learn
StatusFileSize
new81.76 KB

Some kind of description and road map for "Learn site"

  1. The "Learn site" project aims to be an installation profile (or rather feature set) that could and should be used for all sorts of content – not necessarily Drupal. It was initiated to collect resources for learning math.
  2. The primary unit on the site is a topic (which maybe should be called "concept"). A topic contains no learning material in itself, but is used to categorize learning material. (These are currently nodes, but should probably be taxonomy terms – if Flag worked for general entities.)
  3. Topics relate to other topics in two tree structures, describing sub topics and prerequisites. The point of the trees is to help users/visitors find topics they are (or should be) interested in learning.
  4. Right now there is only one content type for learning material, called "learning resource" (with link to external page only). It should probably be replaced by a few different resource types – such as "tutorial" and "exercise" – but this should be implemented on a per-site basis. As little as possible should be assumed about the structure of the learning material. (partly implemented)
  5. There is/should be something similar to the Ladders/Curriculum included in Learn, where learning resources are stacked in a given sequence. I would also like to add something like a syllabus, containing a sequence of topics (rather than learning resources). (partly implemented)
  6. There is/should be flags users can set to mark that they have mastered a topic, or completed a learning resource. (partly implemented)
  7. There should be voting for learning resources, suggestably on the three scales correct, pedagogical and entertaining. (not yet implemented)
  8. There is functionality for dynamically changing the tree structures describing the relations between topics: Topics may have multiple relations to other topics, and users may vote up/down on these. The strongest relation is represented in the tree.
  9. There are graphical representations of the topic trees (provided by Graph API and The JIT).
  10. There should be a system similar to User Points, rewarding actions on the site with permissions to do more things. (not yet implemented)
  11. The components described above are/should be provided as separate features/modules, that could be turned on and off depending on the site requirements.
  12. Apart from the functional components described above, there are also "example layout" features that sets up suggested page structures using Page manager and Panels – no assumptions are made about the site page structure, nor individual page content. (partly implemented)

Video presentation: YouTube | archive.org
Screenshot of the "sub topics tree" on a local example site:

add1sun’s picture

Itangalo showed me his work right before DrupalCon and then I was introduced to Learn Drupal during DrupalCon. I definitely think there is plenty that can overlap, but I have some reservations, which I'll try to articulate. Also note that this is completely my personal take on this, and not from the project creators, so I'm curious what other people think of my perspective.

I think my biggest question is what the Learn distro and site are targeting. I see two things that are related but different in terms of roadmap:
1. Create hand-held guided paths for new contributors to get involved in the Drupal community.
2. Create a distro/site/system for organizing Drupal learning material.

My personal feeling is that the Learn project should first and foremost focus on getting people involved in Drupal, since that was the original point, and along the way if that means creating a tool for others to use in many different ways, that's awesome. To that end, I think combining the work/tech from both projects can be useful, but I'd caution against focusing too much on the tools instead of the actual content itself and getting user groups to start working through it. I'd like to see focus on minimally useful tools to further the contributor goals, with the toolset being a side project that can develop over time. I get worried that adding in lots of trees and variability in the mapping, while totally awesome long term, isn't a good fit for keeping people on a *very* clear linear path for getting involved with Drupal core. For new people with a targeted goal, having fewer options makes it much easier to not get lost in the weeds.

So, given the focus on user groups walking people through steps to get them involved in contributing to Drupal (and I think focusing on core to start is most sane), I'd think that having a branch in the distro that works out lots of neat new features is the way to go. That way we can have a simple, stable distro that keeps goal 1 on track, and then an experimental branch for playing with the tools themselves.

Does that make sense? Thoughts?

jeffschuler’s picture

I think @add1sun makes really good points here.

It's awesome stuff but I'm also afraid it complicates the original goals of getting folks up the ladder and contributing back to core.

kay_v’s picture

Agreed that we'll better reach our stated objectives if we keep the focus on the essential set of features.

Broader learning management strategies will be great for extending the project once it has knocked out the first challenge: providing clear steps for users to contribute to core. Itangalo: the nav you show seems to hold a lot of promise for managing relations and dependencies -- great features for managing a broad set of learning topics.

Maintaining 2 branches seems at this point to be a good strategy.

itangalo’s picture

I agree that adding new features should not get in the way of making a 1.0 release for Learn.

Adding new features in a branch makes sense, but only if these features are interesting for the Learn project at a future time. Is this the case? I listened to the DrupalCon presentation for the Boston Initiative yesterday, and it got the feeling that the objective is to create a number of ladders/curricula (i.e. creating content) and not so much creating a distribution for managing general learning material. I revisited the project's roadmap and the suggested new features as discussed in Denver – and these seem to be focused on content rather than framework too.

I think we should consider that I run the "Learning site" as a separate project, and that we have a new discussion when both Learn 1.0 and Learning Site 1.0 has been launched.

dgoutam’s picture

Firstly I would like to congratulate itangalo about the overwhelming concept of the content organization.
I am convinced and completely agree with add1sun considering the roadmap and the core concept of the learn project.
Please note that following few observations/thought are completely my personal point of view of the project and hence have no intention to heart anybody's feeling or to contradict others' effort or contributions/intentions and requested to ignore my comments otherwise.

Points I feel need to be considered by the other members are as follows :
1. "first and foremost focus on getting people involved in Drupal" - do please consider the way the content are organized now are not very much intuitive for the would be contributors/Lesson takers
2. Available content authoring options are not very intuitive for the contributor which I personally believe should be taken care off at the early stage.
3. "Search" which is factually a views-exposed filter implementation could be revisited for better usability
4. IA (Information Architecture), UI and UX could be on higher priority so that people we are targeting to attract really get attracted and could use it in true sense.

itangalo’s picture

Status: Active » Postponed

I am moving on with "Learning site" as a separate project. Looking forward to discuss how to merge functionality of our two projects, but I (too) want to a working site up and running pretty soon.

This issue was started where we might have some more discussion, on a more general level: #1506458: Information Architecture for Learn

BrockBoland’s picture

Project: Learn » Drupal Ladder
BrockBoland’s picture

Issue summary: View changes

Updated initial description of the "Learning site" feature set.