RO CSVI 7.15.0 is here
The previous release has been a while and circumstances have changed a lot since then. We are living in a pandemic world and wish everybody is healthy and stays healthy. Nothing more important than that. In case you are also in isolation at home we have a new release of RO CSVI to play with for you. This release has a long list of changes and some of them I think you will like very much.
Quite regularly we are asked if RO CSVI can migrate data from one shop to another. The answer has always been and still is, no, RO CSVI is not a migration tool. However, RO CSVI knows how to import and export all different kinds of data of different shop systems. By being creative you could have setup a product export of one shop system and a product import of another shop system and copy over the data that way. It takes some configuring, testing and tweaking but it will work. This is where we came up with the idea of Bridge Templates. RO CSVI knows all the fields of the shop system so we mapped them together.
This has resulted in 2 bridge templates we have developed so far:
- VirtueMart products to HikaShop products
- VirtueMart products to J2Store products
These bridge templates are included as example templates so you can install them from the maintenance menu and start to play with them.
The way this process works is you start the VirtueMart Product export and it will automatically start the HikaShop or J2Store Product import. After the export is done, you will see a preview in which you can decide to continue or cancel the import.
Directly start your import or export
On the template listing we have added a Run button, this way you can start an import or export directly from the template listing. You no longer need to go to Import or Export, Select the template and then click Start. This saves you quite a few clicks.
In the Combine rule you can now use HTML as a combine character. The same goes for the Multi-Replace rule you can set a value as an HTML tag.
We improved the Joomla Category import and export with a few new features and fixes.
The Joomla Category export changes:
- Extension filter on the category export
This allows you to select for which extension you want to export categories
- Parent category filter on the category export
This allows you to select one or more parents for which to export categories
- Added the field:
The Joomla Category import changes:
- Fixed categories not imported under parent path
- Associations support
You can now import associations for categories
- Added the fields:
To read more about how to use the category associations, please check our documentation on Joomla Category associations.
Of course we also took a look at the Joomla Content import and export and see what could be improved there.
The Joomla Content export changes:
- Fixed note is ambiguous error
- Added the fields:
The Joomla Content import changes:
- Fixed category path not found when using extended characters
- Fixed the check on required fields
- Fixed importing tags into articles
- Added the fields:
- Add the option to unpublish articles in selected categories
This allows you to clean up categories and only publish the articles you are importing
The Joomla Menu import has been reworked to deal with a number of issues we came across. First and foremost was that nesting of menu items did not always work as expected depending on what was being imported. Second, we added multi-lingual support for menu items allowing you to maintain your menu structure for a multi-lingual site with RO CSVI as well.
Finally we get to the Joomla User support. Here we did some minor tweaks to make things better. The Joomla User export now applies the date format as set in the template field for date fields. On the Joomla User import we added the option to use the values Y/N/Yes/No for the fields:
Using these letters or words makes it easier to understand than 1 and 0.
Joomla Custom Fields
The very popular custom fields in Joomla have been given a makeover as well. As where we first only supported the basic text field this has now been expanded to a number of other types of custom fields. We now support the following custom fields:
- Text custom field
- Calendar custom field
- Checkbox custom field
- Color custom field
- Editor custom field
- Integer custom field
- List custom field
- Image list custom field
- Media custom field
- Radio custom field
- Textarea custom field
- URL custom field
- Repeatable custom field
- User custom field
- Usergroup list custom field
In addition we now support many third party custom field plugins, the only requirement is that they store values as single values. Any advanced storing of data by third party plugins is not supported.
We have documentation available where you can read how to import the custom fields with content. The custom fields can be used the same with the other extensions that support custom fields.
We also worked on improving J2Store support and so you will find some changes there as well. On the J2Store Product export we added a category filter so you can export products from selected categories. Like with VirtueMart and HikaShop you can now also use J2Store custom fields as individual fields in both import and export. This way it is easier to maintain your data in a spreadsheet. The documentation is also available on how to use this feature. Read about J2Store custom fields as individual fields in our documentation section.
There has been a change in how J2Store handles certain dates causing some odd notices, this has been fixed and we now handle both the old way and new way of storing dates by J2Store.
As part of our improvements to make importing and exporting easier, J2Store has been included in the product bridge templates so you can now copy over the product data from VirtueMart to J2Store.
For HikaShop we created a bridge to move your data from VirtueMart to HikaShop with a single click in with the example bridge template we include for you.
In the HikaShop Product import we added the field file_ordering, so you can control the order of the image files.
Last but not least, VirtueMart. We have made a number of changes here to improve working with VirtueMart. First we fixed a number of reported issues:
- Fixed saving shopper groups with duplicate vendor ID in VirtueMart Users Info import
- Fixed the exclude filter not filtering all exclusions in VirtueMart product export
- Fixed a warning in the VirtueMart Shipping Rate export
- Fixed the usage of virtuemart_custom_id field in the VirtueMart Custom Field import
Not so long ago VirtueMart introduced the option to select a canonical category for products. We now also support this field to be used on export of products. So instead of using the actual category a product is in, you can choose to export the canonical category instead. This way products are linked to the canonical category instead.
One thing that has changed considerably is the import of custom fields. On import we would remove all custom fields and add the ones that were being imported. This has the advantage that any unused fields are not left in the system but we learned that a downside is that VirtueMart stores custom field IDs in the order table. Now storing references to an external entity is not really a good idea because it can cause your orders to link to data that no longer exists or has been replaced by something else. In the order table you would really want the real data that the customer saw at the time of placing the order. Since we cannot change how VirtueMart works we changed how we import custom fields.
Custom fields are now no longer removed on import but they are being analyzed to see if the same one is being imported and then we update it, if it is a new one we will add the custom field. Finally check if there are any custom fields that are not updated and those will be removed. This way the link between the ID in the order table remains in place.
Another change we found out is that the way the customer number is generated in VirtueMart has changed, we now follow the same procedure for generating these numbers where needed.
Then there are those changes that are noteworthy but don't really fall into a specific category but we want to highlight them as well. Here goes in random order.
- Templates now have aliases just like articles. This helps RO CSVI to be more flexible in using templates and for users this is easier to remember than template IDs. You can also use the template alias in your cron jobs so you can quickly spot which template is being used for which cron job.
- The Multi-replace plugin has a new option that let's you stop processing once it has found the first replacement
- PHP 7.3 and PHP 7.4 compatibility changes
Changes in RO CSVI 7.15.0
Check the full list of changes in this release:
- Fixed categories not imported under parent path in Joomla Category import
- Fixed category path not found using extended characters in Joomla Content import
- Fixed check on required fields for Joomla Content import
- Fixed column note is ambiguous in Joomla Content export
- Fixed date not applied in Joomla User export
- Fixed error saving shoppper groups with duplicate vendor ID in VirtueMart Users Info import
- Fixed exclude filter not excluding all entries in VirtueMart Product export
- Fixed first extension not shown in list of extensions
- Fixed importing numbers as values in Joomla Custom fields
- Fixed importing tags into Joomla articles in the Joomla Content import
- Fixed notice in VirtueMart Shipping Rate export
- Fixed override.sql not used if component does not have an availablefields.sql
- Fixed parsing XML files with self closing nodes on import
- Fixed possible errors using Combine rule
- Fixed usage of virtuemart_custom_id field in VirtueMart Custom Field import
- Fixed using CSV Improved export type using the XML header and footer
- Multiple-replace rules are not restored correctly on template restore
- PHP 7.3 compatibility
- PHP 7.4 compatibility
- Reworked the Joomla Menu import to correctly create nested menu items and support multi-lingual entries
- Added HTML filter to add value in Multi-replace rule
- Added HTML filter to combine character in Combine rule
- Added associations support for Joomla Category import
- Added bridge between VirtueMart Product export and HikaShop Product import
- Added button to run a template directly from the template listing
- Added category filter in J2Store Product export
- Added database iterator check on About page
- Added file_ordering in HikaShop Product import
- Added filter for extension in Joomla Category export
- Added image_alt field for Joomla Category export
- Added metadesc and metakey for Joomla Category import
- Added new fields for Joomla Content export
- Added new fields for Joomla Content import
- Added option to overwrite existing tempates on restore of templates
- Added option to stop after the first replacement found in Multi-replace rule
- Added option to unpublish articles for selected categories before import in Joomla Content import
- Added parent category filter in Joomla Category export
- Added support for J2Store custom fields to be used as individual fields in J2Store Product export
- Added support for J2Store custom fields to be used as individual fields in J2Store Product import
- Added support for Y/N/Yes/No on block, sendEmail, resetCount and requireReset fields in Joomla User import
- Added support for canonical categories in VirtueMart Product export
- Added support for more custom field types, repeatable, checkboxes, list, integer, imagelist and text are supported
- Added support for multiple logos in VirtueMart Shipping Rate export
- Added template alias
- Added the menu ID in the error message if a duplicate entry is imported in Joomla Menu import
- Added to allow using template alias in cron
- Allow to fill media fields for multiple images in VirtueMart Media Product import
- Convert J2Store dates using J2Store config setting on J2Store product export
- Decrement line number count on export if record is skipped
- Handle J2Store dates with a / instead of a -
- Improved argument check from CLI
- Improved testing URLs with an & in them
- Proper checking on integer field values in Joomla User import
- Storing of custom fields reworked because VirtueMart stores an ID in the order table in VirtueMart Product import
- Use JPATH_ADMINISTRATOR instead of JPATH_BASE to allow front-end installation
- Use PhpSpreadSheet for reading ODS files
- Use the new customer number format in VirtueMart