Important: Please read the Qt Code of Conduct -

Application data storage and distribution advice

  • I have a project, which contains variable data, that will be editable and can be distributed separately to the application. I have read up on Qt Resource feature (external data), and notice there is also no native support for zip files for installing and distributing of data to others.

    I am looking for advice on a suitable way to handle data for application, and be able to distribute the data (multi-nested directory structure and files) as a single file (zip archive for instance).

    Needs to be supported on multiple platforms.

  • Lifetime Qt Champion

    you mean like send users new data via email and they install this
    data and override the local data already there ?
    Maybe the installer frame work vould be used?

  • The storage is easily managed with one of the Local Storage options (Files, SQL, etc). What kind of data are you distributing? Do you have a central server?

  • Thanx for your prompt responses.

    The data can be either emailed or downloaded, then unpackaged in specific location. A new package would simple overwrite the existing data.

    Data in the beginning with be text only (and also possible to have it in multiple languages too) during the project early phase of development, though 3D graphics will be supported much later resulting in binary data such as geometry and textures along with text data.

    I planning to use Qt Installer Framework (QtIF) for distributing the application. I would be nice to be able to unpackage the data package from within the application itself instead of relying on the user to unpackage the package to the correct directory.

    The QtIF seems very nice to package application, but for big data it seems one needs to duplicate the data using make install commands before one can package the data. I new to packaging, so still figuring out how to use it well.

  • Lifetime Qt Champion

    How big will it become in the end?
    like 100 MBs?

  • It start off about 100 MB and will grow to more than 10 GB, as there is no limitations in place as only a small portion of data will be used at a given time. Actually data could reach Terabytes for those willing to create the content.

  • Lifetime Qt Champion

    Ok. that is huge :)
    I think you will need sort of patching system if many users need to get new data.
    so it can be gradually retrieved.
    Like for online games etc.

  • Yep, can become huge! I like to have a method that can scale well right from the beginning to prevent application re-engineering later to support large data.

    This is why I came here to get some advice on how to store data, with possible means of updating the data using some zipping format that stores directory structures. Luckily the data can be easily broken down into multiple components (due to directory structure), where each can be in their on zip file, to make it easy to obtain data incremental or get data only for the immediate need.

Log in to reply