Skip to content

Migrate to a Different Forum Software #174

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions