leap2a import deletes existing blogs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mahara |
Fix Released
|
Low
|
Penny Leach |
Bug Description
affects mahara
This doesn't matter when using Leap2A to create completely new user
accounts, but it certainly matters when importing it over MNet.
The problem is that the blog plugin has the following logic:
- At the start of the import, check to see if there's already a blog for
this user
- When importing anything, create a blog if necessary
- At the end, if a blog has been created, and there WAS a blog at the start
of the import, delete the original blog.
This is so that if a user gets created, and they get the default "Blah
Users's blog" blog created by default, and then new blogs created, delete
the "Blah User's Blog" since it doesn't make sense.
I'm not sure of the best way to fix this - do we have *any* way to check
that a given blog is the default blog, or one that a user created
themselves?
Either way, we should certainly not delete any blogs that have posts.
Still until we figure out the above question, I don't think we can avoid
data loss :(
--
/* -------
Penny Leach | http://
GPG: 8347 00FC B5BF 6CC0 0FC9 AB90 1875 120A A30E C22B
-------
tags: | added: leap2a |
Changed in mahara: | |
importance: | Undecided → Low |
status: | New → Confirmed |
Changed in mahara: | |
status: | Confirmed → Fix Committed |
milestone: | none → 1.3.0 |
assignee: | nobody → Penny Leach (mjollnir) |
Changed in mahara: | |
status: | Fix Committed → Fix Released |
First, there has to be exactly one blog before the import before we need to think about deleting it afterwards. If there's more than one, the user knows about multiple blogs and should be able to handle deleting it themselves.
Second, if the blog has posts, don't delete it.
Then if we want to be fancy, check if the empty blog is in a view (and don't delete it if it is), and finally whether the empty blog's mtime > atime (and don't delete it if it is).
We might want to add a way for users to move posts around between blogs (it could be handy after the import). Eventually it might be easier to give people just one blog each, and have a block that displays posts with a certain tag.