The notion of 'topics' used to categorize lessons would probably make it easier to find learning material you're interested in – especially across different curricula/ladders. Topics should also be ordered in tree structures describing inclusion ("is a part of") and dependencies ("you should learn first").
A use case description: A site visitor wants to learn how to use the Features module. There are seven different lessons on this, in different curricula/ladders, but they all relate to the topic 'Features'. Viewing this topic, the visitor will also see some related topics – like:
- 'exporting settings in the variables table' is a sub topic
- learning about Features is recommended before learning how to create distributions
Some features/functionality this issue should provide:
- Lessons may/must relate to topics (entity reference)
- Topics have descriptions (long text field)
- A topic can be a sub topic of a given topic (entity reference)
- A topic can require learning another topic first (entity reference)
- There should be a searchable list of all topics on the site (Views)
- There should be a list that can be used for showing other lessons on the same topic (Views)
Maybe provided in future issues:
- Flags to mark procifiency in a topic
- Personalized lists to show topics in a user's 'learning vincinity' (only requiring topics the user already knows)
- Graphical representations of tree structures for topics
- The ability to have multiple connections between topics, and vote up/down on these
Comments
Comment #1
itangalo commentedThere is now a sandbox for this issue, with two features ready to go: http://drupal.org/sandbox/itangalo/1497346
Comment #2
itangalo commented…and here are the two features, separated out.
A new dependency is introduced, to the Panels project (only for the example layout feature). The topics feature requires Views Content Panes, but that is included in the CTools project already.
(I was going to create a patch, but I wasn't sure how to do that to a distribution.)
Comment #3
itangalo commentedHey, when I cloned the project with Git it was much easier to know how to create the patch.
I think "Git" is short for "Good shIT". At least, that's how I feel. :-)
Make file is NOT updated in this patch.
Comment #4
Darko commentedMaybe not as good as you may think. The patch you attached is empty :)
Comment #5
itangalo commentedYes, it is empty. WTF?
Attached are two separate patches – one for each feature. *crossing my fingers*
Comment #6
bryanhirsch commented@Itangalo, Thanks for putting together this video! Lots of great ideas here.
http://www.youtube.com/watch?v=wLck42xlEpA.
It looks to me like there are two major feature sets your distro:
1. Learning resource management, referencing lots of different types of learning resources (local and external).
2. Learning resource relationships, mapping out connections and dependencies between topics and learning materials.
It's easy to see the huge value in both of these feature sets. But the related workflows are pretty complex. I'm reluctant to introduce additional complexity to Learn Drupal before the 1.0 minimum viable product (MVP) is ready to release. But I'm also very interested in the work you've done here. How does this sound as a way to proceed?...
Would you be willing to maintain a new branch of learn? Say 7.x-1.x-topics or 7.x-1.x-something. As your branch comes out with modules and features that are compatible with 7.x-1.x, we can include them in the 1.x branch. In 1.x, the default install should focus on the simple learning ladder. But if people want to try out additional bells and whistles, they can optionally enable and configure additional modules from 1.x-topics. We could also include a separate learn.profile in 1.x-topics to configure a modified version of the install profile, oriented around topics rather than (or in addition to) ladders.
I'm thinking it would look something like this:
If you think the patch you intended to upload in comment #2 still makes sense to apply to 1.x, please re-upload.
Comment #7
itangalo commented#6: I think this calls for a larger discussion – moving it to another issue (to keep it separate from the "topics" discussion): #1506690: Merge features from "Learning site" into Learn profile?
Comment #8
dgoutam commented@itangalo, @bryanhirsch Please pardon me but I do believe that what we are talking here and itangalo is pointing towards actually tends toward the discussion around the Information Architecture of the entire site. If your time permits please opine your point of view regarding the issue http://drupal.org/node/1506458.
Comment #9
BrockBoland commented