FEATURE: Adds a link to the Howto on meta
FIX: Suppresses multiple warnings about invalid votes for the same topic
FIX: Adds missing table prefixes
FIX: Removes duplicate column from query
- Extensive refactoring of the existing importer
- Configuration of import with settings.yml instead of editing code
- Supports importing from phpBB 3.0.x and 3.1.x
- Imports all attachments (not just the ones embedded with [attachment])
from posts and private messages
- Imports all existing attachments without the need to configure allowed
file extensions or file sizes
- Imports polls
- Imports bookmarks
- Imports sticky topics and (global) announcements as pinned topics
- Imports categories in the original order and sets the content of the
category description topic
- Sets the creation date of category description topics to the creation
date of the first topic in each category
- Imports additional user attributes: last seen date, registration
IP address, website, date of birth, location
- Optionally set the user's name to its username
- Users that didn't activate their account in phpBB3 are imported as
inactive users
- All imported, active users are automatically approved
- Users that were deactivated in phpBB3 get suspended for 200 years
during the import
- Anonymous user can be imported as suspended users instead of the
system user
- Forums of type "link" are not imported as categories anymore
- Internal links to posts get rewritten during the import (previously
only links to topics got rewritten)
- Ordered lists with BBCode [list=a] (which are unsupported in
Discourse) get imported as if they would be [list=1]
- Importing of avatars, attachments, private messages, polls and
bookmarks can be disabled via configuration file
- Optional fixing of private messages for forums that have been upgraded
from phpBB2 prevents the import of duplicate messages and tries to
group related messages into topics
- Table prefix (default: phpbb) is configurable
- Most of phpBB's default smilies are mapped to Emojis and all other
smilies get uploaded and embedded as images. Smiley mappings can be
added or overridden in the settings.yml file.
- Move some methods into their own classes in order to make it easier
to reuse them outside of classes extending the base importer. For
compatibility reasons the old methods are still in the base importer
and delegate to the new objects. The following methods and hashes were
extracted:
- all the lookup maps for existing and imported data
- all the methods used for uploads and attachments
- No need to store failed users and groups. This information wasn't
used anyway.
- Print progress instead of category names when importing categories.
- Allow importers to override if bbcode_to_md should be used (until now
it always used ARGV)
- Allow importers to add additional site settings that automatically get
restored after the importer finishes.
- Show how many posts and messages are imported per minute. This should
help detecting when the import is slowing down and needs to be
restarted.
- Use max_image_width and max_image_height from settings instead of
hard-coded values for uploaded images.
- new hidden site setting 'migrate_to_new_scheme' (defaults to false)
- new rake tasks to toggle migration to new scheme
- FIX: migrate_to_new_scheme also works with CDN
- PERF: improve perf of the DbHelper.remap method
- REFACTOR: UrlHelper is now a class
- There's no need for configuring "trans.<lang>" for each resource.
Using the global "lang_map" in the Transifex client config is enough.
- The Transifex client can rename locales. No need to do this manually.
- Pull all translation files for each locale that has a file named
config/locales/client.<lang>.yml. Up until now the script did only
update existing files, but didn't add missing ones. That is why there
are so many translation files for the poll plugin missing.
This sets the last_emailed_at for imported users to now which postpones the sending of digest emails for the configured amount of time. Therefore, the first digest email gets sent after 1 week (the default value of default_digest_email_frequency).
As suggested in https://meta.discourse.org/t/dont-trigger-digests-on-migration/26345/7
- Allows importing globally pinned topics
- Doesn't restore the original value of a SiteSetting anymore if an importer changed its value
- Allows all file extensions during the import
- Adds the ability to import bookmarks
This changes the content of `@categories_lookup` from `Category` objects
to IDs since the category names aren't needed anymore. The lookup
method has been renamed too.