I believe the āunique snowflakeā problem should be dealt with via āfeature requestsā for each source (phpBB, vBulletin, bbPress etc.) being imported.
Basically it comes down to a missing āfeatureā or a ābugā .
The best way to surface these āfeatureā or ābugā reports / requests is to have an interface which:
- sets expectations
- allows the user to make informed decisions
- informs the user if an āknownā unsupported feature is currently in use:
- if it wonāt be imported
- where do go to get more info
- preventing the user from continuing until they have āagreedā.
So for example one of the things the phpBB importer doesnāt do is set security permissions on categories.
This would be a critical warning, you wouldnāt want a site importing āprivateā data and displaying it publically on the Discourse install.
In this case one answer would be to make the install private until the group / category permissions could be manually setup by a user.
But then again, if this was a common element ā then the phpBB importer could be improved to either:
- add the functionality for creating these group / category permissions
-
OR: detecting if there are actually any categories using āspecial permissionsā and if not donāt bother displaying the warning. Improving the process flow for that importer.
Again specifically thinking of phpBB how much of āunique snowfakeā is complex understand, but there are small things that can be done:
- check for actually listed plugins
- warn the user the functionality provided by these wonāt be imported or is an unknown factor.
(But as a side note, consider a ācomplete source code comparisonā for phpBB installs - so many āmodā installs - they will make you cry ).
Yes the above includes more of those bullet points with many man hours behind each.
Currently these decisions are made mostly by āsomeone in the knowā because that person is having to:
- run an import from a command line shell
- make coding changes to get it to start
- most likely install additional software on Linux (MySQL for phpBB)
- and moreā¦
Because the level of entry for this process is quite high, I believe the level of early abandonment will be too.
The vision I have outlined is just that a āvisionā what could be.
It also specifically allows:
- for users with zero command line skills to complete an import.
- for users to be kept informed of progress.
- expectations to be clearly set.
- clear messaging on where to perhaps request a missing importer feature for a specific platform.
- clear separation of old and new
- no need to setup a new MySQL install
- open up ports
- upload a backup data via some SSH method users probably havenāt heard of.
- Discourse server requirements to be kept minimal during import (i.e. the same as the final server requirements)
- installing an additional service (MySQL) would push the server requirements up for the import locally.
Feel free to pick from this what you will to consider āminimum requirementsā for improvements on the existing solution.
Sometimes itās good to have a bigger picture in mind.
Just sharing, hope it helps.