Pragmatism in Code

Michael Percy AKA DeeEmm - Waxing lyrical about life the universe and everything software related...

  • Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Tags
    Tags Displays a list of tags that has been used in the blog.
  • Login
Subscribe to this list via RSS Blog posts tagged in Migration
This tag contains 5 private blog which isn't listed here.

Jcomment to EasyBlog comment migration

Posted by on in Joomla 1.7 How To's

The recent migration from Joomla 1.5 to Joomla 1.7 left me without a comments system for the tutorials section of the site. Previously this was handled by Jcomment, a great component that allows you to easily add commenting to standard Joomla articles, its only drawback, is that the Joomla 1.7 version is still some way from release.

After having taken a look at various options, including several other commenting systems, I decided that the best solution would be to import the tutorial articles into EasyBlog, mostly as this would help keep some continuity on the site. The migration of the posts went flawlessly, as expected, but this still left me with the actual comments to migrate. I briefly considered a manual migration, but then discovered that there are actually quite a few comments on the site.

After a bit of digging around I discovered that EasyBlog creates a table that cross references the old article ID's to the new ID's. This is created during the migration process and the values are stored in the '#__easyblog_migrate_content' table. Perfect for migrating the missing comments across.

Using this table I was able to change the object_id in the original jcomments table to match the new post_id for EasyBlog. I simply ran the following SQL statement from within phpMyAdmin. (You will notice that I've made a copy of the original table into the table j17_oldjcomments, just in case.)

UPDATE j17_easyblog_migrate_content p, j17_oldjcomments pp
SET pp.object_id = p.post_id
WHERE pp.object_id = p.post_id

With the correct values assigned to the comments, I deleted all unnecessary fields (all fields except `userid`, `comment`, `date` and `object_id`) and then exported the table.

I then modified the SQL in a text editor as follows: I deleted the CREATE TABLE section and modified the INSERT statement as follows...

INSERT INTO `j17_oldjcomments` (`userid`, `comment`, `date`, `newid`) VALUES

Changed to

INSERT INTO `j17_easyblog_comment` (`created_by`, `comment`, `created`, `post_id`) VALUES

I then saved the file and using phpMyAdmin I imported the new comments into the database (again using phpMyAdmin).

Now all of the comments were under the correct posts but when viewing them I found that some of them had a left-margin set within an inline stye causing the comment to shift over to the right side of the page. After a  bit of digging, this transpired to be because there was some data missing from the database. For each entry there are two fields set which relate to the comments location within the comment stream, this is needed EasyBlog allows nested comments. My quick import simply assigned zero values to these fields confusing the script as to where the comments should sit within the comment stream.

The fields should function as follows - Assuming that all comments are sequential and not nested, on the first comment the values for the two fields lft and rgt will be 1 and 2, the next comment will be 3 and 4, and so on...

Rather than get technical and write a PHP script to do the job properly, I decided to manually add the values. I simply gave all comments the values 1 and 2 for the fields lft and rgt respectively (via phpMyAdmin). I then manually edited the posts where there were more then one comment so that the subsequent posts had the values, 3&4, 5&6, etc. I used the following SQL to find the duplicate entries:

SELECT `post_id` FROM `j17_easyblog_comment` GROUP BY  `post_id` HAVING  (COUNT(`post_id`) > 1)

Fortunately there were not too many posts with multiple comments.

/DM

Hits: 2462
Rate this blog entry:
Continue reading 0 Comments

First steps

Posted by on in General

If you are one of those visitors who is expectantly waiting for the release of the Dolphin to Joomla migration script, you will be happy to know that things are moving along nicely and the script will be released before the end of the month. In preparation for this imminent release I have started to prepare the documentation for the installation, including the scope of operation and the requirements for getting it up and running.

The documentation will be provided in a series of articles in the tutorials section which will walk you through the whole process in a step by step manner. It will also cover the setting up of Joomla and Jomsocial, as well as providing installation help for the required third party modules.

The first of these articles is now available to view and is an introduction that covers what you can expect from the migration. To view the article visit...

http://www.deeemm.com/resources/tutorials/60-dolphin-to-joomla-migration.html

Long time dolphin frustratee's will be pleased to learn that the migration utilises the excellent Wordpress script for the blogging component, and includes the world class forum script 'Kunena'. Photo's videos, events, messaging, profile customisation including widgets and the mandatory activity wall are all standard core components in JomSocial. Mix this up with a few free modules from the Joomla Extensions Directory and you have a site to be reckoned with.

So if are getting impatient, why not take a read through the first article, and maybe even install a test installation of Joomla and Jomsocial to have a play about and familiarise yourself with how it works.

/DM

Hits: 1551
Rate this blog entry:
0
Continue reading 0 Comments

Give a man a fish and he will eat for a day

Posted by on in Latest News

It's very nearly here. The Dolphin 'Fish Script' to JomSocial migration script is just around the corner.

To continue on with the theme so affectionately adopted by Boonex, I have decided to give the script a nautical name. So with respect to Jules Vernes Twenty thousand leagues under the sea I have named it the Nautilus.

For those of you who have been patiently awaiting me to pull my finger out and get the script written, you will be happy to learn that I only have a few more tables to migrate and it will be finished (after testing of course).

So, just to raise the tension a little, and build the anticipation (in the best Boonex style - LOL)

Watch this space...

Hits: 992
Rate this blog entry:
0
Continue reading 8 Comments

Dolphin to Joomla (JomSocial) migration

Posted by on in General

It's been a while since I've finished the Geeklog to Joomla (JomSocial) migration, and with a new update released by Boonex, I've decided that it is about time to look at migrating my sites away from the Dolphin platform.

With even a mildly modified site, Dolphin updates are usually a nightmare. It is rare that something does not break, or mess up in some manner, so I've decided that instead of wasting time updating third party addons to work with the new Dolphin core, it is much more cost and time effective to write a migration script.

The target platform will be Joomla, running the JomSocial component. This is a comparative product for those who are using Dolphin as a community site, and pretty much, all standard modules have an equivalent Joomla component.

At the moment the project is at the drawing board stage, but the basic outline is complete.

The migration script will be available as either a stand alone component that you upload to your WSP, or potentially as a Dolphin module. In either case it will be driven via a web interface, allowing you to tailor it to suit your own needs.

Migration will be provided for standard Dolphin modules, and also some of the major third party modules, such as the IBDW Wall module.

One small issue relates to password migration. As previously discussed in THIS THREAD the password handling in Dolphin is a little different to Joomla, and due to the encryption used, it is not possible to perform a direct migration of password fields. This is something that can be handled in several ways...

Mass password reset.
Forced account reactiviation
Modification of Joomla core to use Dolphin encryption
Auto password creation based on existing Dolphin data.

Of the above methods, the last method is something that I am currently looking into. In essence, when the user logs in, the password is checked against the values stored in the Dolphin database, if it matches, then the password is added to the Joomla database in the correct format. This process is transparent to the user, who simply uses the logon process as normal.

To adopt this method correctly I need to create a Joomla authentication module, so that the passwords can be verified. However, this means that the module needs to be installed for it to work, and additionally the Dolphin database needs to be available.

Ultimately, whatever method is used for password migration or re-creation, there will be a compromise to be made.

The project will be developed in stages, this is simply due to time availability. The results will then be released in one package, allowing migration to be carried out in one step.

Hits: 3210
Rate this blog entry:
Continue reading 12 Comments

Dolphin 7.0.1 and beyond

Posted by on in General

The latest release to Boonex's CMS system - Dolphin 7, has now been out on the wild for some time. Released at Christmas, the much anticipated Dolphin 7 was to be heralded as the latest in web tech, offering an advanced platform for social networking sites that was far ahead of the competition. With several public beta releases, the anticipation was fueled by the glimpses offered in each release, building up the expectations to a massive level. Also adding fuel to this fire, was the long overdue update and bugfix release due for Dolphin 6. As a result, Dolphin 7 had a lot to deliver.

With the release of Dolphin 7 finally made a year later than expected, it was unleashed into the public with a massive amount of issues, over 300 bugs to be precise. This left the Dolphin community a little abashed, with many users having stuck with Dolphin, through the extended development period, now feeling disappointed. Lots of these users had put development plans on hold, with the expectation that the promised release would be the answer to their needs.

It is now a further 5 months down the line, and the recent update release 7.0.1 has addressed many of the problems that plagued version 7. The problems are not completely fixed however, and there are still many issues surrounding how development and releases are handled, but it seems that Boonex are moving in the right direction with a shorter release cycle, and prioritisation of bugs addressed for each release. I previously touched on this issue with one of my blog posts over at unity - http://www.boonex.com/unity/blog/entry/Product_release_cycles

Based on past performance at Boonex, and anticipating the issues and extended wait with version 7, when it was originally announced, I decided to stick with version 6  - This is a choice that i am glad i made. Not only as the expected release date slipped way beyond the original estimate, and there were more issues than even I anticipated, but also as it has meant that I have managed to build my user-base over the past year, and develop the community for which the site serves.

6.1.6 to 7.0.1 Migration

So with the 7.0.1 release, I decided that it was actually time to take the plunge and update my Dolphin 6 site. The 7.0.1 release is not without it's issues, but in comparison to a standard 6.1.6 installation, they are probably about on par. My main apprehension with the update was that i would be losing some premium modifications - purchased mods that definitely enhanced the user experience, these, plus many other minor mods and bugfixes that I had carried out myself - amounting to over 60 mods in all.

Ultimately, i decided that the additional features offered by the new version, and the overall improvement in the interface was worth the trade off for the few premium mods that I would lose.

I tested an update to the new version 7.0.1 direct from version 6.1.6 using the migration module, but found that there were a few fields not transferred - so I decided to reinstall version 7, perform the migration, and then update to the new 7.0.1 version. The migration was straightforward enough - and once you had manually fixed the update package, the update was also relatively painless.This has now given me a working 7.0.1 site, but this is not without some issues that needed to be addressed.

There are additional steps that you will need to do manually to completely transfer over your Dolphin 6 site to version 7. Most of these relate to missing database data - data that is present and can be converted, but for some reason is missed. I manually had to transfer the following

  • Links are not converted to Sites
  • Photo and video view counts are not transferred
  • Tags are not transferred correctly
  • Quotes not transferred
  • FAQ / About / Privacy pages not transferred
  • Additional user created pages not transferred
  • Subscribers not transferred
  • Old mass mailer emails not transferred

So far the site seems pretty stable, and with a few tweaks to the standard template does not look too different to the old site. I've already started to redo the mods that I previously had in place on the old site that have not been covered by the new version 7 features, and will be releasing these in the marketplace as I get around to documenting them.

So what do I think?

Well - those of you who frequent Unity, will already know my thoughts on how Boonex handle development and releases, so I will not repeat them here. My main issues with the 7.0.1 update are that whilst an issue was discovered with the upgrade package, it was not addressed, the package is still being shipped with the problem plus a convoluted set of instructions on how to circumnavigate it. To me this is not a very professional way of handling the problem, especially when you consider that some users have paid nearly $1000 for licensing.

For me - I take Dolphin at face value - I do not consider it a mature product, and so I expect it to have problems - an expectation which is unfortunately met tenfold. I get the feeling that Boonex is trying very hard to be a market player, by portraying a professional image, and largely acting like one, but time again it lets itself down with actions like the faulty update package - not an issue in itself - but an issue because it has not been dealt with in a professional manner. This unfortunately extends to the rest of the development too.

The software itself still has some way to go. It embraces a few web2 technologies such as employing the excellent jqeury framework and a generous splattering of Ajax, which whilst improving the overall user perception of the product, is in my eyes a little overused. It's almost comparable to the abuse made to the internet by the blink and marquee tags some 10 years ago - they key to implementing enhancements like these is simply to know when to stop, if it does not add value (ie Ajax exchanges that take longer then page loads, or amateurish looking sliding page masks) then it simply should not be included.

Overall Dolphin brings together the key elements of a good community into one product, but whilst the integration of each element has been executed quite well, each individual element on it's own is little more than average - and this is despite the attempts to dress them up with Jquery animations and the like.

This is also not an observation that is isolated, it is one shared by quite a few of the Unity forums regulars - users that have even undertaken integrations of third party elements to bring Dolphin up to what they consider a more usable product.

The perception of quality all depends of course - on what your particular community requires - for my site it suits fine, but of course your mileage may vary.

Would I recommend this product?

if you are webmaster with some coding skills, that doesn't mind getting their hands dirty on a regular basis - then Dolphin is great - it is a very 'hands on' package - there is generally always something to fix / improve, but for the fact that it needs work to get it 100% overall the product is a good one. In this case - yes I would recommend it - but don't expect to have a great dolphin site without quite a bit (months) of work, and a few headaches trying to figure out the 'spaghetti logic'.

However, If you were to ask me if i would recommend this to my clients - I would say no. Simply because it is high maintenance, and would probably require many post installation visits to address the issues that my client discovers - not a good business plan - even if I am getting paid to fix the issues.

I would also suggest that a stable mature Dolphin is still some way off, and so issues should still be expected for the next few releases. My guess is that it will take at least six months to a year to iron out all of the bugs, by which time the focus would likely have shifted to the already mentioned Dolphin 8 - leaving Dolphin 7 to take a seat next to Dolphin 6 - unfinished and unloved.

So, would I change from using Dolphin for my own site?

At this stage I would say no. I simply have too many hours invested in it, and there is no direct migration path to a comparable product. There is also the fact to consider that my site is a relatively small specialist community site, it is not high traffic, and does not earn money, so there is very little disadvantage from the occasional issues that arise. But this may be a different story for a commercial site.

For me - for the time being, I will stick with Dolphin, but if you are a new user considering it for the first time, my advice is simply to make sure that you approach it with your eyes wide open, if you know what to expect, you will not be disappointed.

/DM

Hits: 2581
Rate this blog entry:
0
Continue reading 0 Comments

Times a Changing

Posted by on in General

The site migration is pretty much finished, with just a few small odds and ends to fix up. One of the things that I have left to do is to add in some re-directions for the old content. When moving content it is always a good idea to redirect visitors to the new location with a 403 error response to the users browser. This will in turn be trawled by the web crawlers and your new location duly noted. As the old content locations followed the navigation structure of the old site code, I can add in one or two rules in my htaccess file using mod_rewrite and regex to redirect users from specific areas of the old site.

You may have noticed that the new site no longer runs from DMCMS, and whilst I do feel more than a little guilty about this, I simply did not have the time to integrate shopping carts, trouble ticket systems, forums and user handling into the DMCMS core. It was much quicker and easier to use existing products. Plus, the idea with DMCMS is that it is a simple and easy to use CMS, so integration of additional third party software does not fit with the idea behind it.

The online store is now up and running, although there is currently only one product (DMCMS) this is just for testing purposes. I will add in the premium mods as I develop them. All mods are instantly downloadable on checkout. There are one or two mods for Dolphin 7 already in the works, with more planned to come.Purchasers of premium mods also get access to the helpdesk system for dedicated support.

There are free mods available from the Resources > Tutorial section, this is basically the 'How To' section from the old site, that has now been categorized, I will add hints and tips here as I get time. There are a bunch of mods I developed for Dolphin 6 that I need to convert into proper mod format. My ultimate idea is to strike a balance between free mods and paid mods.

Long term visitors will remember that we used to run PHPBB forums here a few years back, but these were closed down due to spammers (there were more spammers than users - lol). Well, we now have new forums, both for the support of DMCMS, and also for supporting the mod community and the products and services we offer here on deeemm.com. If you would like to see a particular category considered, just let me know.

One of the best new features, and the main feature for DMCMS version 8, is comments. If you check below this post, you now have the ability to leave me a reply, this is something that I should have added to the site years ago, as my ramblings would probably have been made a little more interesting with the input of others. So, don't be shy - leave a reply ;)

There's still other stuff to do, the demo site still needs to be put back up and running and the links pages need to be transferred, which I will hopefully be tackling over the next few days. If there are any articles missing, or info that you cannot find, please let me know and i will track them down for you.

DM

Hits: 1329
Rate this blog entry:
0
Continue reading 0 Comments