Skip to content

Migrate to a Different Forum Software #174

@eXpl0it3r

Description

@eXpl0it3r

SFML has been using SMF (Simple Machines Forum) for many years. While it's been a good enough experience, there are three problems that would encourage us to move away from SMF:

  • The software foundation is decades old and there isn't a goal insight to completely modernize to a "safer" architecture
  • The plugin system is beyond horrible, patching the actual core files with diff-patches, which is especially "fun" if you have multiple plugins patch the same file
  • The theme is not mobile friendly, even with some adjustments it will probably always have certain limitations, as mobile usage was non-existent when SMF was originally created

Software Selection

Some of the Requirements:

  • Easily self-hostable
  • Non-commercial, or no recurring cost
  • Preferable "boring tech", best matching our current stack (PHP, MariaDB, Nginx)
  • No massive scaling required (max concurrent users ~300)
  • Mobile-friendly
  • Modern architecture
  • Basic moderation tooling

Migration Path

  • Evaluate Flarum
  • Announce migration on the forum (EN & FR)
  • Consider cleaning up spam user accounts (somehow)
  • Clean up duplicated usernames
    •   SELECT member_name, COUNT(*) FROM smf_members
        GROUP BY member_name
        HAVING COUNT(*) > 1
  • Archive the French forums (as discussed)
  • Remove the SubForums plugin, essentially merging the English and French forums
  • Ensure forum names are unique to prevent tag collisions
  • Move the forum to https://www.sfml-dev.org/forums/ without the en.* or fr.* subdomain
    • Implement a redirections for en.* and fr.*
  • Implement a redirection script for SMF links to Flarum links
  • Put the forum in maintenance mode
  • Do the data migration
  • Switch to the new forum

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions