|Open||None||T245 Import posts from other platforms|
|Open||None||T372 Import posts from Blogger|
|Open||None||T543 Import posts from Ghost|
|Open||joyeusenoelle||T571 Import posts from WordPress|
|Open||None||T575 Import posts from Tumblr|
|Open||None||T608 Import posts from another WriteFreely instance|
|Open||joyeusenoelle||T607 Support importing posts from JSON file|
|Open||None||T636 Support missing collection attributes for import|
|Open||None||T527 Support importing posts from zip file|
|Open||None||T609 Support importing TXT/MD files|
|Open||None||T614 WriteFreely import blog selector|
|Restricted Maniphest Task|
Commenting here since this affects all the child tasks:
What should happen if a user imports a blog with a name that already exists in the database? For example, a user has a WriteFreely blog called "My Thoughts" (with the slug my-thoughts). They then import posts from an old WordPress blog that's also called "My Thoughts". WriteFreely won't allow two blogs with the same name (I checked). How should we handle the collision?
Options that occur to me:
- Create a second blog called "My Thoughts 2" with the slug my-thoughts-2. (Continue incrementing to my-thoughts-3 if my-thoughts-2 is already taken, etc.)
- Add the posts from the imported blog to the existing blog, effectively merging the imported and existing blogs.
- Offer the user the ability to rename the imported blog as part of the import process.
Also worth considering: offering the user the choice of these options. But to get the project rolling, let's establish a default first and work up from there.
I'd say the default behavior should be #1, to generate a unique slug for the imported collection.
We already do this with post slugs by appending 4 random characters in case of a collision, and I'd say we do the same here. That'll save work parsing the last number, handling errors, etc. As a bonus to this behavior, the user can always then move their posts to the collection with the original name if they want.
In the future, I agree the user should have a choice (probably in line with T614: WriteFreely import blog selector). But definitely out of scope for now.