Commit b01c4ecc authored by Mario's avatar Mario

Merge branch 'raspihub' into 'dev'

New addon Flashcards

See merge request hubzilla/addons!153
parents 2aef476d bc12b16a
This diff is collapsed.
This plugin is a [flashcard software](https://en.wikipedia.org/wiki/List_of_flashcard_software) that uses [spaced repetition](https://en.wikipedia.org/wiki/Spaced_repetition) as a learning technique.
You can share the flash cards with other users of Hubzilla.
Your learning progress will be kept private.
<img src="/addon/flashcards/view/img/leitner-system.png" align="center" width="70%">
## Two Scenarios to use the Addon...
In both cases serveral learners can share a box of flashcards, for example "English-Italian".
- Every user can edit cards of "English-Italian". The changes are synchronized between learners so every learners sees the same version of "English-Italian".
- If a user has cloned his account to different hubs the flashcards are synchronized automatically from hub to hub (clone to clone).
### Scenario 1: Students use Flashcards of a School
The school and the students all have an account at Hubzilla (Osada). The school has the Flashcards-Addon installed.
#### In Praxis
Provided the school and the students live on differnt hubs:
- The school on https://school.com/
- A student on https://student.org/
The school has the addon installed at https://school.com/flashcards/school .
The school creates a box of flashcards "English-Italian" and possibly some more. The URL for "English-Italian" could be something like https://school.com/flashcards/school/xy12tlsel89q81o .
The student learns "English-Italian" by opening https://school.com/flashcards/school/xy12tlsel89q81o .
The school and the students can both change or add cards. The syncronization is done automatically as soon as they upload changes.
#### Permissions and Technically
A student sees those flashcards only the school allows him to see. The student will get a copy of "English-Italian". For both users it looks the same, same URL, same content. Everything is done under the hood. The student does not own the flashcards. The school can withdraw the permissions for a student or even delete the flashcards at any time.
### Scenario 2: Two or more Learners share their Flashcards Hub to Hub (planned)
This feature is planned.
Every learner has an account at Hubzilla (Osada) and the Flashcards-Addon installed.
#### In Praxis
Provided two learners Anna and Bob live on differnt hubs and have the addon installed
- Anna on https://anna.org/flashcards/anna
- Bob on https://bob.org/flashcards/bob
Anna creates a new box of flashcards "English-Italian". The URL could be something like this https://anna.org/flashcards/anna/xy12tlsel89q81o
Bob wants to learn "English-Italian" from Anna. Bob opens his own addon at https://bob.org/flashcards/bob and imports "English-Italian" from Anna using the URL https://anna.org/flashcards/anna/xy12tlsel89q81o .
Both will see the same content if one of them changes or adds cards. The syncronization is done automatically - this time from hub to hub.
#### Permissions and Technically
Bob can only import flashcards from Anna that Anna allows him to see.
If Bob imports "English-Italian" his hub will receive a copy from Annas hub. Bob now owns his copy. The boxes stay connected. The content of "English-Italian" is synchronized from hub to hub as soon as on of them edits or adds a cards. Anna and Bob will see the (language = content) changes of each other. They will never see the learning progress of each other. The learning progress will not leave the hub.
Anna CAN NOT withdraw the permissions for Bob (on Bobs hub) or delete the flashcards of Bob.
Both Anna and Bob can switch off the synchronization from hub to hub.
version: 1.0
url: $baseurl/flashcards/$nick
requires: local_channel
name: Flashcards
photo: icon:graduation-cap
\ No newline at end of file
<?php
use Zotlabs\Extend\Route;
/**
* Name: Flashcards
* Description: Flashcard software that uses spaced repetition as a learning technique.
* Version: 1.0
* Author: Tom Wiedenhöft (ojrandom@protonmail.com)
* Maintainer: Tom Wiedenhöft (ojrandom@protonmail.com)
*
*/
function flashcards_load() {
Route::register('addon/flashcards/Mod_Flashcards.php', 'flashcards');
}
function flashcards_unload() {
Route::unregister('addon/flashcards/Mod_Flashcards.php', 'flashcards');
}
#button_flashcards_learn_passed {
color:green;
}
#button_flashcards_learn_failed {
color:red;
}
#flashcards_panel_learn_buttons {
display:none;
}
#button_flashcards_learn_stopp {
display:none;
}
#button_flashcards_learn_next {
display:none;
}
#button_flashcards_learn_passed {
display:none;
}
#button_flashcards_learn_failed {
display:none;
}
#button_flashcards_learn_failed {
display:none;
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment