JLanguageLearn is a generic language learning course. Written in Java, it uses XML to define different lesson types.
There are currently seven types of lessons.
Gap Lesson
GapTyping Lesson
Grid Lesson
Conjugation Lesson
Puzzle Lesson
Relation Lesson
PhraseTyping Lesson
JLanguageLearn also contains an editor to Create lessons without knowledge of XML.