
Migration issues from Dolphin to UNA
Hi everyone,
I’ve been working on migrating a website from Dolphin to UNA and I wanted to document the current status, issues encountered, and several fixes applied along the way.
Here’s a structured report based on different UNA versions tested:
Version: UNA 12.0.0 (Direct server install)
Migration: Works Dolphin data can be migrated.
What works:
- Profile migration
- Profile fields
- Blogas
- Groups
- Events
- Videos and photos successfully migrate into the Albums module.
- Conversations
- Topics, Posts
- Polls
- Simple messenger
- Timeline
- Paid Memberships levels, Members info
Problems:
- Avatars and headers images do not migrate.
- Albums Photos and videos migrate but it is impossible to view them in albums.
- Timeline content only partially migrates.
- Incorrect content dates: Instead of preserving the original post dates, the migration date is applied, which disrupts timeline consistency.
- Our expectation for the timeline is that it should include all user content without omissions, with the correct posting and content dates.
This change remove the html tags that are seen in the profile description
/// isset($aValue['DescriptionMe']) && $aValue['DescriptionMe'] ? nl2br(htmlspecialchars_adv($aValue['DescriptionMe'])) : ''
isset($aValue['DescriptionMe']) && $aValue['DescriptionMe']
? preg_replace(
'/<p>(\s| )*<\/p>/i',
'<p> </p><br />' . "\r\n" . '<p>',
nl2br(html_entity_decode($aValue['DescriptionMe']))
)
: ''
Version: UNA 13.1.0 (Direct server install)
Migration: Works but introduces additional issues.
What works:
- Profile migration
- Profile fields
- Blogas
- Groups
- Events
- Videos and photos successfully migrate into the Albums module.
- Conversations
- Topics, Posts
- Polls
- Simple messenger
- Timeline
- Paid Memberships levels, Members info
Problems:
- Same avatar, header, and timeline date issues as in version 12.0.0.
- Albums issue: Migrated albums display images in grid view, but clicking an album title opens an empty page. Only manually created albums work as expected.
Alternative
- I managed to migrate the videos to the video module but it's not what I want. I prefer the albums module for videos
Fixes Applied During Migration (Tested on UNA 13.0.0)
In addition to these known problems, several minor bugs and oversights in the migration script were identified and corrected:
- Profile Descriptions:
- Fixed an issue where HTML tags were left visible in imported profile descriptions.
- Video Titles and Descriptions:
- Added default values in cases where these fields were missing during migration:
$sVideoTitle = !empty($aValue['Title']) ? $aValue['Title'] : 'Untitled Video';
$sVideoText = !empty($aValue['Description']) ? $aValue['Description'] : 'No description available';
- Video View Counts:
- Discovered that view counts from Dolphin’s
RayVideoFiles
table were not being transferred into UNA’sbx_videos_entries
table. Implemented the following fix:
Fix implementation: After inserting the video record:
$this->transferViews((int)$aValue['ID'], $iVideoId);
Function definition:
/**
* Transfers the view count of a video.
* @param int $iItemId original video ID
* @param int $iNewID new video ID in UNA
* @return boolean
*/
private function transferViews($iItemId, $iNewID) {
// Get the view count from RayVideoFiles
$aData = $this->_mDb->getRow("SELECT `Views` FROM `RayVideoFiles` WHERE `ID` = :id LIMIT 1", array('id' => $iItemId));
if (empty($aData))
return false;
// Update the view count in bx_videos_entries
$sQuery = $this->_oDb->prepare("UPDATE `bx_videos_entries` SET `views` = ? WHERE `id` = ?", $aData['Views'], $iNewID);
return $this->_oDb->query($sQuery);
}
Result:
Video views are now correctly migrated. in video module
- Other Minor Fixes:
- During testing, several minor bugs in the migration script logic were also corrected mainly inconsistent data handling and missed optional fields across various modules.
Remaining Issues:
- Album view counts remain broken after migration.
- Timeline data is incomplete and dates are still incorrectly assigned.
- Avatars and headers do not migrate at all, which severely affects profile completeness.
Although it was previously recommended to use UNA 12.0.0 for migrations, neither 12.0.0, 13.0.0, nor 13.1.0 provide a reliable, fully functional migration without significant issues.
Some progress was made with fixes on video views and content defaults, but core problems like avatars, headers, timeline integrity, and album navigation remain unresolved.
If anyone has improved migration scripts, working adjustments for these issues, or can confirm UNA versions where migrations are handled better your input would be highly appreciated.
Fixes and Updates:
- Profile Description Issue:
- Fixed the issue where the profile descriptions were importing with visible HTML tags, which was causing layout issues. See the fix here:
- https://github.com/kabballa/dolphin_migration/commit/f366e362296e39b29f45ac4f06b2a3e6fa7c23f8
- Video Views Count:
- Fixed issues with video views not being counted correctly. See the fix here:
- https://github.com/kabballa/dolphin_migration/commit/a86e28afcbf7024e4df206da7f7bdd2f3bc265c4
Funy Timeline
- Differences between the migration timelines for version 12 and version 13: In version 13, posts have the correct date, while in version 12, posts show the migration date, and comments display the original date. If you want to view a comment made in 2013 on a post from today, it will appear after migrating to Dolphin version 12. :)
- Version 13, however, has a more complete timeline.
Thanks in advance for your feedback!