Hello Roland,
I found a serious issue after updating to RO CSVI 9.9.0.
My custom export files were stored in:
/components/com_csvi/src/File/Export/Xml
After updating the component, these files were removed. Unfortunately, I lost my custom export work and now I need to restore the Joomla site from a backup to recover them.
I tested this on another website as well and the result is the same, so it does not look like an isolated case or a coincidence. It seems the component installer replaces or cleans this folder during the update.
I think a safer place for this type of custom file would be outside the component installation directory, for example in a dedicated custom folder, similar to how Joomla template overrides are stored. Files placed inside the component’s own installation path are too easy to lose during an update.
Regards,
Chris
- piekielko
- RO CSVI
- Wednesday, 10 June 2026
- Subscribe via email
0
Accepted Answer
Pending Moderation
Hi Roland,
I tested the patch and I have to admit: I don’t think this could have been done much better. It works very well.
I removed my custom file from the main component folder and the export now runs directly from the backend template override:
administrator/templates/atum/html/com_csvi/src/File/Export/Xml/Merchant.php
So my own plugin/autoloader is no longer needed. This is a much cleaner solution.
One small thought: is there really any need to translate custom export routine names? For custom files, it might be enough to display the clean filename without the COM_CSVI_ prefix. For example, Merchant.php could simply be shown as Merchant. Of course, this is only cosmetic and probably not a real problem for anyone. I just don’t think users usually need language strings for their own export files when the filename already gives the intended name.
Thanks again — this is a very good solution!
Kind regards,
Chris
I tested the patch and I have to admit: I don’t think this could have been done much better. It works very well.
I removed my custom file from the main component folder and the export now runs directly from the backend template override:
administrator/templates/atum/html/com_csvi/src/File/Export/Xml/Merchant.php
So my own plugin/autoloader is no longer needed. This is a much cleaner solution.
One small thought: is there really any need to translate custom export routine names? For custom files, it might be enough to display the clean filename without the COM_CSVI_ prefix. For example, Merchant.php could simply be shown as Merchant. Of course, this is only cosmetic and probably not a real problem for anyone. I just don’t think users usually need language strings for their own export files when the filename already gives the intended name.
Thanks again — this is a very good solution!
Kind regards,
Chris
Attachments (1)
Accepted Answer
Pending Moderation
Hi Chris,
Attached is a patch file that adds support for adding your own export routines. The overrides must be located in the folder administrator/templates/TEMPLATE/html/com_csvi/src/File/Export/TYPE. Replace TEMPLATE with the backend template you use. By default this is atum. Replace TYPE with the export type you want to run, e.g. Xml. The folder names are case-sensitive.
To create your overrides you can do the following:
Attached is a patch file that adds support for adding your own export routines. The overrides must be located in the folder administrator/templates/TEMPLATE/html/com_csvi/src/File/Export/TYPE. Replace TEMPLATE with the backend template you use. By default this is atum. Replace TYPE with the export type you want to run, e.g. Xml. The folder names are case-sensitive.
To create your overrides you can do the following:
- Go to the folder components/com_csvi/src/File/Export
- Determine which type of export you want e.g. Xml and go into that folder
- Copy an existing export routine from this folder to the override folder
- Rename the copied override routine to your own name, for example Override.php The name must start with an uppercase letter.
- Edit the file and change the classname to match the filename. This is also case-sensitive.
- Edit an export template and set the type to the chosen type, e.g. Xml
- The list of websites should now show the override. The override name is not translated but you can add a language override to get a pretty name
Attachments (1)
Kind regards,
RolandD
=========================
If you use our extensions, please post a rating and a review at the Joomla! Extension Directory
RolandD
=========================
If you use our extensions, please post a rating and a review at the Joomla! Extension Directory
Accepted Answer
Pending Moderation
Hi Roland,
Yes, I understand. This situation confused me because in previous versions I did not have this problem. I may also have missed the warning in the earlier discussion, as I do not always read every forum post in detail.
That said, it is still a bit unexpected to suggest a folder for custom files where those files can later be lost during a normal Joomla extension update, especially if automatic updates are enabled. From a user’s perspective, this is not very intuitive.
Of course, I understand that cleaning the component folder during an update can make sense. In many cases, this is actually better than only overwriting files, because old unused files from previous versions can otherwise remain on the server without anyone noticing.
So yes, I agree that moving custom import/export files outside the component installation path is the right solution.
Thank you for implementing this in the next release.
Regards,
Chris
Yes, I understand. This situation confused me because in previous versions I did not have this problem. I may also have missed the warning in the earlier discussion, as I do not always read every forum post in detail.
That said, it is still a bit unexpected to suggest a folder for custom files where those files can later be lost during a normal Joomla extension update, especially if automatic updates are enabled. From a user’s perspective, this is not very intuitive.
Of course, I understand that cleaning the component folder during an update can make sense. In many cases, this is actually better than only overwriting files, because old unused files from previous versions can otherwise remain on the server without anyone noticing.
So yes, I agree that moving custom import/export files outside the component installation path is the right solution.
Thank you for implementing this in the next release.
Regards,
Chris
Accepted Answer
Pending Moderation
Hi Chris,
https://rolandd.com/support/ro-csvi/ro-csvi-9-6-0-custom-xml-exporters-not-loading-after-update-small-patch#reply-85922
I will go ahead an implement that for the next release.
After updating the component, these files were removed.Joomla removes and adds the component folders during installation.
I think a safer place for this type of custom file would be outside the component installation directory, for example in a dedicated custom folder, similar to how Joomla template overrides are stored.Correct, if I am not mistaken that is something I suggested in another post you made. Here is my answer in which I also stated you risk losing them having them in the core folders of RO CSVI:
https://rolandd.com/support/ro-csvi/ro-csvi-9-6-0-custom-xml-exporters-not-loading-after-update-small-patch#reply-85922
I will go ahead an implement that for the next release.
Kind regards,
RolandD
=========================
If you use our extensions, please post a rating and a review at the Joomla! Extension Directory
RolandD
=========================
If you use our extensions, please post a rating and a review at the Joomla! Extension Directory
- Page :
- 1
There are no replies made for this post yet.
Be one of the first to reply to this post!
Be one of the first to reply to this post!
Please login to post a reply
You will need to be logged in to be able to post a reply. Login using the form on the right or register an account if you are new here. Register Here »