contentful-persistence.swift icon indicating copy to clipboard operation
contentful-persistence.swift copied to clipboard

[Documentation] Missing reference to contentful-utilities

Open Basca opened this issue 5 years ago • 2 comments

Situation

Dealing with large data sets that need to be synchronised before loading the rest of the app. Caused me to look into possibilities to ship my app with a seeded JSON.

I quickly found seedDBFromJSONFiles

But it was really difficult to find how to create a seed from a space.

Using google and searching the website you get directed to: https://github.com/contentful/contentful-cli

However you specifically need: https://github.com/contentful/contentful-utilities.swift

Which I could only find because I found: https://github.com/contentful/contentful-persistence.swift/blob/master/Tests/ContentfulPersistenceTests/PreseedingTests.swift#L17

Suggestion

Update documentation, readMe and/or website tutorial, to make people aware of contentful-utilities

Basca avatar Nov 30 '20 12:11 Basca

@Basca, just saw your issue accidentally and you might be interested in our approach because we are seeding all content data with our apps as well.

Our approach is not to solve this via bundled JSON because the slowest part of this library is decoding and resolving relationships, this would impact the time until content can be shown drastically.

Instead, there is a separate process at build time that syncs all the data in the simulator. Then we copy the Core Data SQLite files into the app bundle and move them on startup. Then we go ahead with incremental syncs.

mgratzer avatar Dec 11 '20 11:12 mgratzer

Thank you for sharing your solution, for us the small pagination of the downloads was the biggest hurdle. By using 0.17.1 and up, it's possible to increase that limit.

When I provided the seedDB files functionality I could see the decoding part was within a second. While the whole process with the small pagination could take over a minute. Using the 0.17.1 we were able to reduce the load times to under 5 minutes without using seedDB.

Of course the duration depends on the complexity of your models and relationships, but I know Contentful team is working hard to improve that and have already made some great progress.

So this issue is purely to have a reminder to the Contentful team to update their documentation, combined with my other reported issue. It could benefit a lot of people and it's a shame if nobody uses the tooling they put so much time and effort into.

Basca avatar Dec 11 '20 14:12 Basca