Open Teuferon opened 2 years ago
This is something we'd like to improve, but while avoiding moving into database+accounts territory.
Unfortunately our data is already too big to share directly in a URL, so that option it out.
The PathOfBuilding/pastebin option is possible but perhaps less useful in our case. PoB builds are static, while ours would be more useful if they could update between devices. Still, this is something we'll consider adding to help setting up other devices.
Any other options, from anyone, are more than welcome.
I don't understand why are you against DB, but my guess is that it has something to do with the hosting or something like that? If you just don't like databases I don't mind lending a hand though.
Not sure what PoB builds being static (which they are not even a little) has in common with this, but you can pretty much just dump it all into JSON (encode if you want/need it) and dump it into Pastebin. It being upgradable/updatable or what I would rather say - extendable, is just about the way you structure the data. Just like with the DB, if you do a bad job making the structure, you will have issues. If you properly think it through, there will be none.
There isn't that much data to be saved per person tbh. And even if you structure the JSON the same way the sections on the website are structured, it will still be easily extendable and won't be that much data.
Thanks, but the technical side is not the issue and I have nothing against databases in general. You may not be aware but there are a bunch of laws across the world that apply to you now if you store user information - even just the simplest login system. We choose to stay outside these requirements.
You are quite wrong about PoB builds. They are static once published on pastebin, and it has absolutely nothing to do with their file format. They are simply created using anonymous access so there's no possible way to update them without pushing them to a different pastebin 'file'.
Attempting to use pastebin as a mutable data store is more than problematic.
So, currently we don't see a way forward that we're happy with - but we're very much looking for options.
Is linking any storage account an option ? Like linking a dropbox account or whatever similar ? Or at least, add dropbox (or similar) integration in your import/export feature ?
That would be possible but it would not solve the initial problem of syncing between devices. We have been brainstorming about this already quite a bit. Syncing without accounts or databases is kind of a tricky business.
it would not solve the initial problem of syncing between devices
If well integrated, it would actually be solved. It would read/write data directly in the dropbox storage (after the user has given permission of usage). So the user could go on desktop, hit "sync with dropbox" (missing or outdated data would be written there), then open mobile phone, hit "sync with dropbox" (fresh data from dropbox would replace mobile data).
It could also be even more automated : replace local config storage to use dropbox storage instead, if this option is chosen by the user.
Oh and about data "freshness", just add somewhere in data tree an "updated_at" field, saving the last time this data was written, then you can easily compare local and remote data freshness.
That doesn't work unless the time is managed by a server, because clocks on different devices are not in sync.
Then the "full remote" approach would be the solution. If dropbox was linked in the app, then read remote, write remote. No more local.
Thanks, but the technical side is not the issue and I have nothing against databases in general. You may not be aware but there are a bunch of laws across the world that apply to you now if you store user information - even just the simplest login system. We choose to stay outside these requirements.
As I am an e-shop dev making different e-shops and their localized mutations all over Europe and USA for a living, I am very much aware and familiar with this.
If you aren't opposed to databases in general, you can always just go the simple route - like https://prnt.sc/JhdL2hpIZTXk Generate a semi-random string, and use it as an ID, when someone accesses the page with the string as a parameter, pull their data from the database. Or maybe just store data in DB with a unique id and give people the option to generate a link to pull their data into another device and make it expire after a set amount of time.
Data protection laws are really simple to handle as long as you understand them to at least a certain degree.
Not what you intended, I assume. Note that you can simply paste images directly into GitHub issues.
Data protection laws are really simple to handle as long as you understand them to at least a certain degree.
Like I said we choose to stay outside of these regulations. You should not assume a lack of understanding.
We are already considering a token-based access system, so there's no PII to worry about. However, other more worrying issues are taking priority.
A question basically, but also a suggestion. Any plans on adding accounts you could save your set up into or making a shareable link to transfer your setup more easily between different devices? (like a simple base64 encode of data or something)
Export/Import through a file is a pain and always will be. You could even use something like PathOfBuilding as an example, people share a Pastebin link, and that Pastebin contains the entire passive tree setup with skills, items, and all the other good stuff.