Import/Export Source Selections
It would be very helpful to be able to save, import, and export source selections.
This would benefit groups who like to normalize approved sources for various campaigns without the need to require everyone to add each source one at a time in the right order.
It removes the need to redo that when additional sources are approved for the game and when new characters need to be made for that game.
No problem. It is good to discuss before doing, saves effort doing the wrong thing. I agree re buttons, both in the sources pane somewhere then.
From an end user POV this doesn’t feel like duplication. The feature it’s offering doesn’t really exist. I do see how from a dev’s POV this might seem like duplication and even an advanced user with lots of time this can be done in other ways. The feature's goal here is to make getting players setup and making characters asap the priority and letting GM’s offer that as a trivial action.
I would recommend keeping the export/import GUI options near each other for the sake of anticipated behavior? Should be fine if it’s buttons or menu options but keeping one a button and the other a menu option may be unexpected which makes it not intuitive.
Thank you very much for your attention to this idea by the way, it’s very much appreciated.
Fair enough point, maybe sometimes duplication is good if it makes things clear. I or someone else can look at making a mock-up on a branch and we’ll see how that goes.
Then to summarize feature request for future coder, I think these are the required actions:
Add export to file button to Advanced Sources GUI. Ensure export occurs even if the selection isn’t explicitly loaded via load button.
Add Import Sources to the sources menu at top, gets file from file chooser. Put the import button next to export in the Advanced Sources GUI. Imports via file chooser, maybe file.campaign or file.pcgc extension ?
Handle input/output, may be able to just reuse existing funcs. A PCG with only CAMPAIGN tag and blank character would do.
Add any tests needed to cover above.
Don’t have an ETA as of yet, will be on master when possible.
Using a simple GUI option to import sources would be an easy process for players to follow while the export should be an easy process for the DM/GM to follow.
Playing around with sources using save files and setting unsetting an option to facilitate changing sources (especially later on) is a more complex and troubling process. The first time I was playing with that it took me a long time to sort out how it worked.
At the moment I’m solving the process with a multiset but creating that can be tedious and error prone process (essp with the file path changes in the recent versions).
The issue is that this introduces another layer of file import/export we’d have to support, both in terms of file format and the UI/loading code. Also, in a way it doesn’t solve anything. I mean say we added an export sources function, you’d have to share that file manually, then others would have to import sources.
The way I’d do it if I were GMing and using PCGen is as follows. First decide on the sources I want at the start, then make a blank template character with those sources and save it. Call this Template.pcg and distribute it to players, when they load it the right sources will be loaded. They can then design any character they want off this template. If later you want to add sources, you can either just tell people the names to select in the advanced sources panel or regenerate a new template and have them load it, after load their characters while NOT loading the character’s sources attached. This will allow you to use the prior template’s new set of sources, on saving the loaded character it will use the superset of sources.
Also, I’ve made a PR #6016 on github that sets the advanced sources panel to whatever sources are attached to the last character loaded. This should allow easy updating of characters when one or two books added by players themselves.
I hope that was clear. Do you agree? Such a feature definitely could be done, I am just not sure it should or that it’d differ greatly from above solution.
Edit: Maybe this should be added to the daily tips, not sure it there. I can definitely see how users might not see how some of this works.