Where does CB store user data?
File system
Built-in functionality
There are two directories that hold user data
Customer directory: where we store any files that relate to your customers (quotations, file uploads, invoices etc).
Programatically, you get the path to this directory using KenedoPlatform::p()->getDirDataCustomer(), the URL to this dir you get with KenedoPlatform::p()->getUrlDataCustomer().
Store directory: we store any files that relate to your store (product images, picker images, logos etc).
Programatically, you get the path to this directory using KenedoPlatform::p()->getDirDataStore(), the URL to this dir you get with KenedoPlatform::p()->getUrlDataStore().
In Joomla, these two directories are in /components/com_configbox/data.
In Wordpress, these are in /wp-content/uploads/ (called cb-customer-data and cb-store-data)
In Magento 2, these are in /pub/media/rovexo/
Each of those directories have a sub directory public and private. At your own discretion, you can restrict HTTP access to the private subdirectories.
Customizations
Rovexo follows a policy on storing custom file data. These go in a sub directory custom_media (in the suitable customer/store, public/private combination). E.g. {DataDir}/store/public/custom_media/my_images
Database
Built-in functionality
Database tables usually use a table name prefix, we state table names here without them.
Tables with names starting with cbcheckout_order_ contain all data about your users' orders.
The table configbox_reviews hold your users' reviews.
The table configbox_users holds your customer's account information. Mind that cbcheckout_order_users contains the users' account information at the time of checkout/saving/RFQ (essentially your billing/shipping address and customer group assignment).
The tables configbox_cart, configbox_cart_positions and configbox_cart_position_configurations contain temporary data of your user's configurations (once a user is in checkout/saving/rfq, cart data gets copied and stored in a separate structure in cbcheckout_order_* tables).
Notes:
Records in configbox_users, configbox_cart, configbox_cart_positions and configbox_cart_position_configurations get auto-removed after some time if the user didn't save, order or requested a quote (Settings in ConfigBox → Settings → Maintenance control this).
Any visitor reaching a configurator page creates a record configbox_users with a flag in column is_temporary. When a user saves/orders/requests a quote the is_temporary flag goes off.
Customizations
Rovexo follows a policy on naming custom tables.
Tables for data relating to users are prefixed configbox_external_user_
Tables for any other data are prefixed configbox_external_