Releases: ernestdefoe/importer
Releases · ernestdefoe/importer
Release list
v0.1.1 — Review fixes
Maintenance release from an external code review — performance, hardening, and better handling of real-world MySQL dumps. No breaking changes.
Fixed
- Much faster NodeBB post imports. NodeBB orders posts by post id rather than by topic, so a single batch could span dozens of discussions and fire a separate query for each one. Those are now a single grouped lookup per batch.
- Safer XenForo password migration. The stored authentication blob is now decoded without allowing object instantiation, so a malicious source database can't influence the import. A corrupt row is skipped instead of stopping the run.
- Uploads are checked before they hit the disk. Dumps over 500 MB are rejected with a clear message, and the file's leading bytes are inspected so an obviously wrong file (an image, an archive) is refused straight away.
- Better support for modern mysqldump output. Character-set introducers such as
_binary'…'and_utf8mb4'…'are now handled — previously they could cause a table's rows to be skipped. - You'll be told when a dump only partly parsed. If any row batches can't be read, the upload step now warns you instead of quietly importing incomplete content.
- The command line importer can no longer hang forever if a run gets stuck; it stops with an explanatory message.
Under the hood
Dump conversion now runs through Flarum's managed database layer rather than a direct connection, and the parser's known limitations are documented in the source.
Upgrade with composer update ernestdefoe/importer.
v0.1.0 — Initial release
First release of the Flarum 2 importer / converter.
Migrate into Flarum 2 from: phpBB 3.x · vBulletin 3/4 · vBulletin 5/6 · XenForo 1.x/2.x · MyBB 1.8 · SMF 2.0/2.1 · Vanilla · NodeBB · Invision Community (IP.Board) · Discourse · Convoro.
Highlights
- Runs on shared hosting — a resumable, batched step machine driven from the browser; no queue worker or SSH required, and it can't time out. Uses a queue worker automatically if one is present.
- Two ways in — connect to a live source database, or upload a
mysqldump/SQLite dump. - Resumable — progress, cursors and source→Flarum id-maps are persisted, so a run survives a closed tab or dropped connection.
- Faithful content — BBCode / HTML / Markdown convert to Flarum's native rich-text format (bold, italics, links, quotes, lists, code).
- Relations preserved — members (bcrypt logins kept where possible), tags, discussions, first/last-post pointers, comment & participant counts.
- Categories import as tags when
flarum/tagsis installed.
Everything is driven from the admin panel, with a live progress bar. A CLI (php flarum importer:run) is included for very large migrations.