As designed Conversations not imported from phpbb

Affected version
xf 2.1, xfi 1.3.2

koraldon

Member
When running the import from phpbb 3.2, conversations are not imported as conversations but rather as single private messages.

PHPBB stores the information about conversations in the phpbb3_privmsgs tables with a parameter called root_level.

If root_level is 0 than it is the start of the new conversation.
Otherwise, root_level contains the message ID of the first message in the conversation. All subsequent messages in the same conversation hold the same number in root_level.

I assume it is possible for the importer to scan all PM's, if the root_level is "0" to start a new conversation. Scan to see if there are other messages where the root_level is the message_id of the above post. If yes, they belong to the same conversation.

I would be happy if this can be fixed in the importer.
 

Chris D

XenForo developer
Staff member
Unfortunately even with the parent/child relationship between messages and the "root" this still doesn't translate very cleanly into the XF conversation system which is why we've never attempted to rebuild these into some semblance of what we'd call a conversation.

I hope this makes it clear what I mean:

1614706947475.png

What you're proposing is we import msg_id 1 as essentially the first message in the master conversation, and then import 2, 3, and 7 as messages within that conversation.

While on the surface that makes sense, the problem comes in how recipients are managed in phpBB.

If we imported this as a single conversation in XF then users 2, 48 and 49 would be able to see all messages in that conversation.

Unfortunately, in phpBB, it doesn't work like that.

The first message was sent (by user 2) to user 48. User 49 cannot see this message.

The second and third messages were actually sent by user 2 to user 2 (I hit reply and didn't select any recipients). User 48 and user 49 cannot see these messages in phpBB.

The final message was sent by user 2 to user 2, 48 and 49.

In this scenario, user 2 should see all messages (though there's nothing to stop user 48 from creating another message and replying only to user 49 as far as I can tell). User 48 should only see the first and last message. User 49 should only see the last message.

Yet, as I say, if we imported these as a single conversation in XF then every recipient (2, 48 and 49) would be able to see every message.

This may be ok and may be the common case but in some cases this could actually expose messages to users who shouldn't currently be able to see them.

So as it stands, there's no plans to make any changes here.
 
Top