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.

Demo Site

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 localStorage syncing, 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:

  1. Create the Content Type Manually: Navigate to Structure ➔ Content types ➔ Add content type and create a type called Language Card (or Music Card).
  2. 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_direction
    • field_step_1 & field_step_1_direction
    • field_step_2 & field_step_2_direction

    (You can continue adding sequential field pairs all the way up to field_step_9 if your learning track requires more steps).

  3. 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.
  4. 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.
  5. 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.
  • 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

Releases