It is totally possible to run SuiteCRM disconnected from the Internet. Many people run CRM’s in internal networks only. The complicated thing is to manage how your data would be updated on those devices.
You can start by looking at ready-made solutions: QuickCRM is a mobile app for SuiteCRM and it has offline modes. But an offline mode is not the same thing as a “bring your entire database with you” mode, so it depends on what you’re trying to achieve.
If you press your management, you might find out that a much simpler clone of the information could be sufficient: for example, a report with all the contacts and their details, or a list of current orders, or something. In this case you could stop thinking about a full clone of a VM, and start thinking of just some daily reports which you could somehow sync into each laptop.
If you really need a clone, yes, it is possible, it is just a lot of work. You could either install a working SuiteCRM in each PC, and sync just the database. But this could be hell to maintain, because people don’t usually leave SuiteCRM app in a “simple” state, instead, you have add-ons, custom code, Studio changes, etc.
You could also use a VM and clone it. This makes the sync process a lot heavier, gigabytes to move over to several PCs, perhaps daily…
I would definitely advise you to nudge your management into some other much simpler solution. Focus on “what actual problem are you trying to solve”, not “can I have this solution?”
I may convince management to access the data (primarily just contacts and accounts) offline by exporting the data to a CSV file and asking them to use a CSV file viewer installed on their laptop.
I agree with all of your points that there are a number of technical issues to make such a setup work reliably.
If I go down the path of using a CSV file viewer, is there in way in SuiteCRM (on-prem version) to create a cron job where an CSV file export is generated and dumpted to a fileshare or some location that can be accessed by management ?
You can create the report you want and utilize my code, mentioned above, to export the data to json format (or whatever format is readble from excel). Instead of csv you can use Ms excel to connect(as a data source) to suitecrm via an entry point and call this report and create a pivot table for data presentation.
Excel will keep the latest version of data in the file. In order to update the data, the excel file needs access to the CRM server(whenever this is possible) then with a right click and “Refresh” will force excel to retrieve new data from the entry point.