Hi,
Email log:
There is no entry for records older than XX. If I add a duration eg. 30 days - how long before system deletes older logs?
I.e. what triggers this?
This is handled by the HikaShop Email history plugin. It has a setting for the number of days if you edit it via the Joomla plugins manager.
Each time an email is sent, the plugin will run a MySQL query to delete the entries older than that.
Can I totally empty the hikashop email log table in phpadmin safely?
Yes, that's not a problem. The table is there only for the Customers>Emails history menu so that you can check that the emails are properly being sent. You can even turn off the plugin if you don't need it.
Joomla users table Hikashop users table - there are a large number of disabled/unactivitated users in joomla users - can I safely remove these without affecting hikashop users?
If you delete a user via the Joomla user manager, the corresponding entry will be deleted automatically in hikashop_user.
If you clear the users of the users table of Joomla via PHPMyAdmin, you can click on the "check database" button of the HikaShop configuration page. It will update the link with the users in the user_cms_id column of the table.
Then, you could run a MySQL query in your PHPMyadmin to delete the entries in hikashop_user with a user_cms_id at 0. Note that this supposes that you don't have "guest checkout" activated. Guest users will have their user_cms_id at 0 because there is no Joomla user account for them.
Orders: We can delete orders before 2017 - If I delete these orders via hikashop is this safe without causing issues for hikashop?
If you do it via the interface of HikaShop in the backend, then no problem.
If you do it via PHPMyAdmin, note that you need to delete the entries in hikashop_order but also the corresponding entries in hikashop_order_product and hikashop_history.
Note that the problem is not necessarily with tables with a lot of entries but with tables with a lot of data. A small table could have millions of entries but only integers (numbers) and it could still be quite small. On the other hand, a table with a couple hundred entries filled with big texts / data could lead to a big size.
So, for example, the email log table can be a real issue because it stores the whole content of each email, but the users table normally shouldn't matter too much as it normally doesn't store much data for each user.