Commit Graph

261 Commits

Author SHA1 Message Date
Gerhard Schlager 2dd01c61b0 Improves the base importer
- 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.
2015-07-16 15:28:42 +02:00
Sam 35e1b52d54 remove 0 view filter 2015-07-16 16:57:55 +10:00
Sam 88578f74d0 another subst 2015-07-16 16:24:46 +10:00
Sam e449bf531c more post cleanup rules 2015-07-16 16:23:14 +10:00
Sam 5db345705b allow views to be specified in import mode 2015-07-16 16:11:20 +10:00
Sam bfd28ca9a9 ignore deleted ... too much trouble 2015-07-16 15:11:28 +10:00
Sam 16e69d16b8 add like import capabilities 2015-07-16 15:11:28 +10:00
Sam e0eb7f0016 Improve lithuim importer
- grab unique id for each post
- clean up html quotes and lines with nbsp
2015-07-15 15:34:25 +10:00
Sam b00554d662 initial lithuim importer (work in progress) 2015-07-14 17:09:43 +10:00
Guo Xiang Tan efff3351bf Update Disqus importer. 2015-07-01 21:51:19 +08:00
Arpit Jalan ef0f1b2dbd add XenForo importer 2015-06-22 18:02:42 +05:30
Arpit Jalan 73b7b8a059 FEATURE: add Muut importer 2015-06-12 21:36:12 +05:30
Robin Ward c6cd1928be Simple "cook" for email imports from mailing lists 2015-06-05 11:46:36 -04:00
Robin Ward ab50d039bb Importer for nabble 2015-05-22 15:41:26 -04:00
Régis Hanol efb992c9d9 FEATURE: t-nation importer 2015-05-19 12:40:47 +02:00
Régis Hanol dcc4267490 FIX: base script import to handle category color/text color 2015-05-19 12:40:35 +02:00
Régis Hanol b25f223bfc remove old vBulletin import script 2015-05-19 12:39:00 +02:00
Arpit Jalan 6a730a8283 Add PunBB import script 2015-05-18 23:08:05 +05:30
Erick Guan 7737cc2828 vBulletin: ability to import attachments from filesystem 2015-05-15 19:39:15 +08:00
Régis Hanol 5329403a71 use first part of email address as username in SFN import 2015-05-10 23:12:09 +02:00
Jens Maier 6dc7cafe00 phpBB importer: fix greedy smiley regex 2015-04-23 12:03:21 +02:00
Régis Hanol c4e813cc11 update SFN importer to handle merge with existing instance 2015-04-22 10:41:40 +02:00
Neil Lalonde e8527c5e3e it's ok if import script can't lower trust level of an admin user 2015-04-17 11:34:21 -04:00
Régis Hanol 58a7faad01 FIX: sfn importer 2015-04-17 16:32:01 +02:00
Régis Hanol 78f5fe190a FIX: base importer should warn when there's an error in the user_profile 2015-04-17 16:31:46 +02:00
Régis Hanol 32e02411bd add custom importer for sfn.org 2015-04-14 18:16:42 +02:00
Robin Ward 3c189c9064 Updates to the Drupal import script
- Allow the VID and DB to be configurable by ENV vars.
- Make importing the blog optional.
2015-04-13 13:06:26 -04:00
Neil Lalonde f8080c0138 add a spinner for importers 2015-03-30 12:29:48 -04:00
Jens Maier f8e1c97441 Update existing user's create time 2015-03-27 14:38:27 +01:00
Erick Guan 186c99a1a7 update regex to remove the bbcode tags 2015-03-24 17:59:08 +08:00
Neil Lalonde 0124187e3a FIX: Ning json files sometimes have an extra ] at the end 2015-03-23 15:14:50 -04:00
Sam 8cb380354e leftover debug code 2015-03-23 15:49:02 +11:00
Sam 23513eaf87 get satisfaction has topics with no body 2015-03-23 12:16:43 +11:00
Sam 24e4808aeb ensure titles exist 2015-03-23 11:58:17 +11:00
Neil Lalonde b1d78a4fd5 FIX: use batches for speed, and show progress from importers' update_tl0 2015-03-20 17:05:14 -04:00
Neil Lalonde 3c4cee5f62 FIX: improve imported code blocks from bbPress importer 2015-03-20 15:54:54 -04:00
Sam c5dd11f64c we dont need much of the escaping magic cause for whatever crazy reason
this CSV format does not allow newlines
2015-03-20 16:51:46 +11:00
Régis Hanol 5084e2bdf1 Merge pull request from techAPJ/patch-1
FEATURE: new site setting min_first_post_length
2015-03-19 19:55:27 +01:00
Arpit Jalan b706307ac7 FEATURE: new site setting min_first_post_length 2015-03-20 00:20:38 +05:30
Sam 85df7436bb added get satisfaction importer for gradle 2015-03-19 16:09:25 +11:00
Régis Hanol 29a0603850 Merge pull request from gschlager/importers_01
Fix gem load order for all importers
2015-03-18 21:41:37 +01:00
Gerhard Schlager 9913dfa6c6 Imported users shouldn't get an email immediately after the import
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
2015-03-18 21:02:40 +01:00
Gerhard Schlager a412e9bede Fix gem load order for all importers
https://meta.discourse.org/t/migrating-from-mybb/25563/8
2015-03-18 20:31:02 +01:00
Robin Ward 50bf066afd Add subcategory support to BBPress import 2015-03-16 13:18:20 -04:00
Régis Hanol f84503315e Merge pull request from dandv/patch-3
Add support for MyBB table prefix
2015-03-16 09:46:36 +01:00
Régis Hanol 35c94e8416 Merge pull request from Elberet/smf-importer
Fix gem load order for SFM2 importer
2015-03-16 09:46:18 +01:00
Dan Dascalescu 9cd59d382d Add support for MyBB table prefix 2015-03-14 22:31:08 -07:00
Dan Dascalescu b8d855227d Fix broken mysql2 load order in mybb import script 2015-03-14 21:29:17 -07:00
Jens Maier 1cc7db2370 Fix gem load order for SFM2 importer 2015-03-15 01:57:46 +01:00
Gerhard Schlager 53591ade00 Adds a few enhancements to the base importer
- 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
2015-03-13 21:24:11 +01:00
Neil Lalonde 1e339ad527 FIX: handle missing post body in json in Ning importer 2015-03-12 18:46:22 -04:00
Gerhard Schlager b5426763e4 FIX: Importers should allow categories with existing name if the parent category is different
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.
2015-03-12 21:15:02 +01:00
Daniel Phin c35cdfcf6b Update vbulletin.rb 2015-03-10 00:31:12 +10:30
Régis Hanol b6f0b29314 Merge pull request from mcg1969/askbot
Initial commit of askbot.rb
2015-03-07 17:38:34 +01:00
Michael C. Grant e03a1f3532 Initial commit of askbot.rb 2015-03-07 08:48:42 -06:00
Michael C. Grant 6030fe1f9d Added location.present? test to user profile updating. 2015-03-07 08:42:42 -06:00
Sam a55a6fb703 Merge pull request from fantasticfears/bbpress
add table prefix constant to bbpress import script & fix user imports
2015-02-23 14:23:15 +11:00
Neil Lalonde de167165e3 FIX: don't change default_digest_email_frequency during import 2015-02-20 10:30:30 -05:00
Neil Lalonde ae2f861101 FEATURE: import scripts update last_seen_at on users based on created date and last post date 2015-02-12 12:25:01 -05:00
Régis Hanol 38279c79c9 Merge pull request from fantasticfears/discuz
find more reply syntax during processing in discuzx importer
2015-02-11 09:57:25 +01:00
Erick Guan b1e69d1f95 find more reply syntax during processing in discuzx importer 2015-02-10 21:43:16 -08:00
Gerhard Schlager 519c875d87 Fixes the attachment import of the phpBB3 importer 2015-02-08 21:38:28 +01:00
Neil Lalonde 07af79c85b Ning import: users who have never posted are trust level 0 2015-02-06 16:03:41 -05:00
Neil Lalonde ef482591bf FIX: Ning json can have square brackets instead of commas 2015-02-06 13:47:11 -05:00
Erick Guan 36e550ffea add Discuz! X importer 2015-02-06 05:01:43 -08:00
Erick Guan 58024a8f4d add table prefix constant to bbpress import script & fix user imports 2015-02-03 10:06:35 -08:00
Régis Hanol 0e5c9b2590 small upload code refactor 2015-02-03 18:44:18 +01:00
Neil Lalonde a064bad9a3 fix Ning import script when resuming an import 2015-02-02 16:01:48 -05:00
Gerhard Schlager 827daf7f0f FIX: The order of includes in the base importer was wrong.
https://meta.discourse.org/t/importer-for-simple-machines-2-forums/17656/58
2015-01-31 15:42:39 +01:00
Neil Lalonde c3c202f59e import approval state of users in Ning import script 2015-01-27 15:22:38 -05:00
Régis Hanol 31340de446 don't break the vBulletin importer when PrettyText times out 2015-01-26 20:35:30 +01:00
Gerhard Schlager 72755970c6 Improve the base importer
- FEATURE: Print the time it took for the import to finish
- FEATURE: Allow importing of unactivated users
- FIX: Remove unused variables
- FIX: Accessing an undefined variable is not a good idea
2015-01-23 22:44:00 +01:00
Neil Lalonde a2099110aa FEATURE: Ning importer 2015-01-23 12:19:46 -05:00
Régis Hanol eecc573fbc FIX: don't break import when raw can't be preprocessed (vBulletin importer) 2015-01-21 09:36:46 +01:00
Régis Hanol 6c4d852011 Improve vBulletin importer
- FEATURE: TopicCreator now supports 'pinned_at' parameter
- FIX: 🐛 FIX TopicQuerySQL to support pinned topic older than 2010
- FIX: 🐛 Properly remove all HTML Entities from Usernames/Titles/Category Names/Groups in vBulletin importer
- FIX: 🐛 Properly handle specific vBulletin BBCode (quotes/mentions)
- FIX: 🐛 Make sure we generate a username from the name of the user instead of a fake email
- FEATURE: Allow for custom timezone in vBulletin importer
- FEATURE: Support for profile pictures/background in vBulletin importer
- FIX: 🐛 merge the categories tree to only 2 levels in vBulletin importer
2015-01-19 15:00:55 +01:00
Jens Maier 30710215bc FIX: handle timezone detection errors 2015-01-13 16:44:25 +01:00
Régis Hanol 5045d8677c new vBulletin importer (uses mysql dump instead of multiple csv files) 2014-12-22 13:22:16 +01:00
Régis Hanol 65c106325c remove old & useless import script 2014-11-27 19:30:19 +01:00
Régis Hanol 5b90ceb71d FEATURE: rolls up 1.2.*.* IP ranges when number of entries > 10 2014-11-27 19:29:30 +01:00
Sam 4aec3c8c4c correct import script 2014-11-20 14:53:30 +11:00
Stefan Tatschner 3fdda8c2b7 Retrieve first_post_id manually
I had imported a phpbb forum to mybb previously. The importer script
messed up the firstpost ids. In this case most topics cannot be imported
to discourse as the script is not able to determine the topic post.

In case you are infected of this problem just uncomment this mysql
query. It will retrieve the first_post_id manually but it will slow down
the import.
2014-11-14 14:52:16 +01:00
Stefan Tatschner 2ffd3d29d7 Order posts by dateline
The post_ids in my mybb installation did not be in the right order. Post
with ID 2 was posted after post 5. I think it has something to do with a
previous import from phpbb to mybb.
2014-11-14 14:30:16 +01:00
Stefan Tatschner 54d450156f Remove mybb video tags
mybb embedds videos like this:

[video=provider]http://link-to-video.com[/video]

Let's remove these video tags as discourse does this automatically.
2014-11-14 14:26:13 +01:00
Sam 5ddb82c9b6 impor script fixes 2014-11-01 18:31:16 +11:00
Sam f6b20ada93 a new bespoke importer, feel free to borrow ideas 2014-10-31 15:19:40 +11:00
Sam 1d4daca75d add override for post creation in importer 2014-10-31 15:19:40 +11:00
Neil Lalonde daea4f82b4 Merge pull request from JSey/patch-2
BUG: phpBB lists not properly converted
2014-10-29 17:38:20 -04:00
Régis Hanol 44b708215e I wonder how the vanilla importer ever worked :( 2014-10-29 08:43:10 +01:00
JSey c467d7f691 BUG: phpBB lists not properly converted
bbcode-to-md happily ignores all phpBB's lists. The list syntax is
    [list][*]item 1
    [*]item 2
    [/list]
and 
    [list=1][*]item 1
    [*]item 2
    [/list]
respectively for [ul] and [ol]s. Luckily, phpBB adds closing tags for [*] items. My workaround simply converts phpBBs lists into bbcode using [ul] and [ol] which then can be converted by the standard bbcode-to-md code.
2014-10-28 20:02:33 +01:00
Régis Hanol e7f251c105 LOTS of changes to properly handle post/topic revisions
FIX: history revision can now properly be hidden
FIX: PostRevision serializer is now entirely dynamic to properly handle
hidden revisions
FIX: default history modal to "side by side" view on mobile
FIX: properly hiden which revision has been hidden
UX: inline category/user/wiki/post_type changes with the revision
details
FEATURE: new '/posts/:post_id/revisions/latest' endpoint to retrieve
latest revision
UX: do not show the hide/show revision button on mobile (no room for
them)
UX: remove CSS transitions on the buttons in the history modal
FIX: PostRevisor now handles all the changes that might create new
revisions
FIX: PostRevision.ensure_consistency! was wrong due to off by 1
mistake...
refactored topic's callbacks for better readability
extracted 'PostRevisionGuardian'
2014-10-27 22:06:43 +01:00
Robin Ward 12fc7eaf0d FIX: Drupal QA was missing some comments 2014-10-24 12:57:41 -04:00
JSey 19f623c7d7 FEATURE: import phpBB avatars
This code adds all three avatar types to the import. Uploaded avatars and default gallery avatars are converted, hotlinked are pulled from the remote web site and stored as local. Beware, though: this is currently done during the importer run and can consume loong periods of time if many downloads fail with timeouts.

A minor fix concerns attachments to posts with white space in the real_name, this is handled properly now.
2014-10-19 20:33:01 +02:00
Régis Hanol 898ceb41e8 FIX: don't use latest activity as user's bio in vanilla import by default 2014-10-17 16:58:19 +02:00
Neil Lalonde 2737575b9c remove debug puts 2014-10-07 17:23:50 -04:00
Neil Lalonde cea2fe5ee9 FEATURE: import attachments in phpbb3 importer 2014-10-07 16:47:41 -04:00
Robin Ward 1c57a60822 Also import Q+A comments 2014-10-07 14:32:50 -04:00
Robin Ward 47573fcd99 FIX: error importing some topics where `bumped_at` coudln't be
determined.
2014-10-06 09:26:52 -04:00
Robin Ward 28cbebe5ed Better import for Drupal QA 2014-10-02 13:15:50 -04:00
Jens Maier b6bbfb907c FIX: quoting non-existing messages would break SMF2 importer 2014-10-02 00:44:03 +02:00
Robin Ward f8ac0bd7ef FIX: Drupal import was using wrong comments table 2014-10-01 14:25:49 -04:00
Jens Maier b74a7d271a FIX: made SMF2 importer compatible with Ruby 2.0 2014-09-30 21:01:50 +02:00
coren d1806649d2 initial version, mostly inspired from phpbb script 2014-09-29 20:37:35 +02:00
Robin Ward f4f54fd49b First stab at Importer for Drupal QA 2014-09-10 14:27:40 -04:00
Régis Hanol 78bcea5247 PERF: improve perf on consistency query in importers 2014-09-08 22:08:41 +02:00
Régis Hanol 9964955e88 FEATURE: fix consistency of users.last_posted_at in importers 2014-09-08 19:36:55 +02:00
Régis Hanol d1608bdfe9 FIX: better error handling in vBulletin importer 2014-09-08 11:02:54 +02:00
Régis Hanol 4907053cc4 FIX: vBulletin pre-processing regexes order 2014-09-05 18:44:34 +02:00
Sam 59d04c0695 Internal renaming of elder,leader,regular,basic to numbers
Changed internals so trust levels are referred to with

TrustLevel[1], TrustLevel[2] etc.

This gives us much better flexibility naming trust levels, these names
are meant to be controlled by various communities.
2014-09-05 15:20:52 +10:00
Régis Hanol 7a7a38c78e FIX: always show the progress bars when skipping posts/users in importers 2014-09-04 19:18:22 +02:00
Régis Hanol a0569a22be FEATURE: reset topic counters at the end of the import 2014-09-04 19:08:57 +02:00
Régis Hanol 85cbb001ae FIX: properly close topics in vBulletin importer
FEATURE: add backtrace when an exception happen (importers)
FIX: post-processing should also happen on first posts (vBulletin
importer)
PERF: faster topic bypass when already imported
2014-09-04 17:55:05 +02:00
Gerhard Schlager 5a769c7c48 FIX: Reset changed site settings after import is complete
After an import has finished the site settings should be reset to their
previous values. For example, since 'disable_emails' was set to false
before any import, it wasn't possible to login after the import
(sending email for password reset didn't work).
2014-08-31 18:09:21 +02:00
Neil Lalonde cd74829d55 FIX: Kunena import script no longer requires a csv file with Joomla user records. MySQL is used for all data. 2014-08-29 14:55:28 -04:00
Régis Hanol e823f568a7 FIX: preprocessing regexes in vBulletin importer 2014-08-29 13:11:56 +02:00
Régis Hanol 9b86d1507d VBULLETIN: add some stats about the imported groups 2014-08-25 12:33:08 +02:00
Régis Hanol 7aaf718cf3 update bbcode dialect and fix vBulletin importer 2014-08-25 10:48:29 +02:00
Régis Hanol 76824cda31 FIX: completely disable emails in importers 2014-08-23 11:12:01 +02:00
Régis Hanol 071325ab98 VANILLA: the name is actually the username (WAT) 2014-08-22 10:11:12 +02:00
Régis Hanol e3640060fc FIX: don't use the user's discovery text as bio in vanilla importer 2014-08-20 23:15:55 +02:00
Régis Hanol 841d547a48 FIX: vBulletin wasn't importing posters... 2014-08-20 23:04:43 +02:00
Régis Hanol d58d04f595 disable digest emails when importing a forum 2014-08-20 19:29:17 +02:00
Régis Hanol 6ca4983463 VANILLA: use latest activity as user's profile by default 2014-08-20 11:38:35 +02:00
Régis Hanol b84198af6a FIX: vanilla importer when private topic had no first post (WAT) 2014-08-18 15:07:14 +02:00
Régis Hanol 66aaa9329e FEATURE: vBulletin importer 2014-08-18 13:04:08 +02:00
Neil Lalonde 5d9a389966 FIX: handle importing usernames that are too short, too long, or have invalid characters 2014-08-14 14:04:28 -04:00
Régis Hanol 61842157bf FIX: avatar_url should only be a custom field 2014-08-14 09:43:32 +02:00
Régis Hanol c97f18dec0 FIX: users are 'active' by default in imports 2014-08-13 23:57:07 +02:00
Régis Hanol 4c4ce05964 FIX & PERF: vanilla import
PERF: disabled refresh_avatar callback when importing users
PERF: avoid using UsernameSuggester when not needed
FIX: categories wasn't working
FIX: posts from deleted users are now from the system user
2014-08-13 22:20:06 +02:00
Régis Hanol d0095ce041 FEATURE: migrate vanilla importer to new import architecture 2014-08-11 18:44:17 +02:00
Neil Lalonde 21aa126181 Add more comments to the Drupal import script since there seems to be a lot of variation in the db schema 2014-08-06 14:09:28 -04:00
Robin Ward 8b79e0f6de Merge pull request from Elberet/smf2-import
Fix: messages imported in wrong order
2014-08-05 11:55:40 -04:00
Jens Maier b075b9937f Fix: messages imported in wrong order 2014-08-05 17:40:26 +02:00
Marty Kube b2826e9189 phpbb category names can be longer than 50 chars and are rejected during import 2014-08-03 20:44:02 -04:00
Jens Maier 31a517616c Feature: import attachments with support for SMF2 inline attachments mod 2014-07-30 06:19:46 +02:00
Jens Maier e93de81d32 Support more legacy SMF2 attachment naming schemes 2014-07-30 06:19:46 +02:00
Jens Maier 7f68cb5bb0 Allow multiple mysql connections 2014-07-30 06:19:46 +02:00
Jens Maier b17611f2db Fix: defaults should be defaults and not override parsed settings. 2014-07-30 06:19:46 +02:00
Neil Lalonde 8cb4442527 FIX: import scripts: bbcode_to_md should not be escaping html in post.raw 2014-07-23 15:16:01 -04:00
Jens Maier 44eb9fbd70 improved option handling 2014-07-16 23:18:52 +02:00
Jens Maier f40510b93e made postprocessing of posts with delay quotes conversion resumable 2014-07-16 21:40:52 +02:00
Jens Maier 7b5e6ff744 FEATURE: smf2 import script 2014-07-16 20:02:58 +02:00
Neil Lalonde a9788bc4fe FIX: instructions in import script 2014-07-11 13:36:11 -04:00
Neil Lalonde 02158e59b2 FEATURE: phpbb import script: update links to other topics so they refer to the new site; fix weird links that break after import 2014-07-10 19:21:56 -04:00
Régis Hanol fab2c8f816 Create vbulletin.rb 2014-07-09 22:44:06 +02:00
Régis Hanol 5212c1785d Create vanilla.rb 2014-07-09 22:43:40 +02:00
Neil Lalonde c113b5d270 FEATURE: phpbb 3 import script 2014-07-09 11:18:29 -04:00
Neil Lalonde 7d5d5862c1 Import optimizations for topic creation: Prevent queuing of most jobs when importing posts and topics. Only do some recalculations at the end of the import. 2014-07-03 16:24:47 -04:00
Neil Lalonde 4e1f76d3b9 Merge pull request from BenLubar/benlubar-import-id-on-imported-posts
set import_id on imported posts
2014-07-03 10:22:25 -04:00
Neil Lalonde 67b9fec204 FEATURE: option to use ruby-bbcode-to-md to convert bbcode to markdown before importing posts 2014-07-02 16:53:53 -04:00
Ben Lubar 1dafad580d set import_id on imported posts 2014-06-26 12:33:56 -05:00