This project is not covered by Drupal’s security advisory policy.
Get flashcards on your user's phones
The Multi-Step Flashcards (MSF) module provides an ultra-lightweight, high-performance language and conceptual learning system that extends the rigid "Side A/Side B" limitations of traditional digital flashcards.
Traditional tools only allow for a simple Question and Answer binary flip. However, learning complex subjects naturally requires a multi-phased path. For example, a student reading Hebrew needs to ultimately learn a word without vowels, then layer on phonetic vowel pointings (Niqqud), and finally see the translation. Similarly, a Music Theory student analyzing harmonic progression needs to study a primary diatonic chord, layer on its secondary dominant relationship, and finally reveal its parallel minor substitution choice.
MSF provides the scaffolding to get your multi-step cards where they are most useful: as a web application on your user's phones. The user can browse to a flashcard dashboard and by choosing to share the web page they have the option to Add to Home Screen where it will appear as a flashcard web application
This module provides a secure bulk CSV importer, custom high-performance database schema tracking optimized for shared hosting environments, and an interactive, mobile-swipe touch interface that functions as a full-screen, standalone iOS app straight out of the box.
This module was built with AI heavily assisting code development
Features
- Dynamic Layer Cycling (0 → N): Supports an infinite, sequence-ordered number of text steps per card wrapper without hardcoding buttons or rewriting layout architectures.
- Per-Step Manual Layouts: Explicitly toggle individual reading directions (
ltr/rtl) for every single step field, allowing seamless mixed strings (e.g., Hebrew RTL to English LTR) on the same card viewport. - Shared-Hosting Protection Framework: Completely bypasses heavy Drupal Entity and Node logging writes during study. Progress tracking uses a highly indexed custom SQL database schema table and background
localStoragesyncing, running thousands of mobile users safely on basic hosting. - Mobile-First Interactive Display: Includes built-in slide-removal layout animations when filtering, and native mobile viewport stretching custom hooks.
- Dual Mode Filter Pools: Instantly toggle between a standard comprehensive deck pool view and a dedicated "Revision Loop Mode" that queries and isolates only the specific cards flagged as incorrect.
Post-Installation
Once installed, you must configure the content type and views manually to map the data rows onto the interface:
- Create the Content Type Manually: Navigate to Structure ➔ Content types ➔ Add content type and create a type called Language Card (or Music Card).
- Add Your Step Fields: Go to Manage fields and add pairs of Text (plain) fields using these exact machine names:
field_step_0&field_step_0_directionfield_step_1&field_step_1_directionfield_step_2&field_step_2_direction
(You can continue adding sequential field pairs all the way up to
field_step_9if your learning track requires more steps). - Disable Standard Display: Go to the Manage display tab, click on the Teaser view mode sub-tab, and drag all 6 fields down into the Disabled region so they do not print raw, duplicate text blocks onto your screen.
- Use the Bulk CSV Importer: Click the new configuration shortcut link on your administrative taskbar, or navigate directly to
/admin/config/services/multistep-flashcards/import. Upload a standard UTF-8 encoded text spreadsheet file to generate hundreds of interactive cards instantly. - Configure App Behavior: Visit the settings dashboard (Configuration ➔ Web Services ➔ Multi-Step Flashcards) to toggle your active deck sorting modes between Ordered (Sequential processing) and Random (Shuffled card arrays), or lock your phone display to Revision Loop mode.
Additional Requirements
- Drupal Core: Requires the core Taxonomy and Views modules enabled to handle dashboard deck sorting layout streams.
- No external third-party PHP dependencies, modern frameworks, or node compilation modules are required.
Recommended modules/libraries
- Pathauto: Greatly simplifies URL alias generation if you want to cleanly pattern single card pages (e.g.,
/cards/hebrew/vocabulary-word).
Similar projects
- H5P (HTML5 Package): While H5P is a massive framework supporting beautiful interactive content modules, its Flashcard and Dialogue Card formats are strictly limited to a basic 2-step (front/back) loop. Furthermore, H5P's continuous background xAPI database writes create a heavy server log footprint that frequently triggers timeouts on shared hosting providers. Multi-Step Flashcards is specifically engineered for non-linear, multi-layer conceptual memory pipelines and operates using a raw, high-efficiency caching framework.
- Flag Module: A fantastic tool for general node flagging, but it generates extensive internal background database query blocks when scaling up to thousands of fast-clicking users tracking individual study card progress.
Supporting this Module
Development of this module is driven by a passion for accessible linguistic education and advanced harmonic music theory studies. Bug reports, community translation matrices, and feature patches are warmly welcomed in our project issue tracker queue!
Community Documentation
- Visit our automated online repository for layout configuration examples matching multi-case ancient Greek nouns and dynamic musical chord analysis matrices.
Project information
Minimally maintained
Maintainers monitor issues, but fast responses are not guaranteed.- Project categories: Content display
1 site reports using this module
- Created by prosaicpoet on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
Releases
Tested on Drupal 10 & 11

