• Hello game master! Welcome to our growing community. Please take a moment to Register (top right button, see how: Slides).

    If you use Campaign Logger, you can use the same login details - we've linked the app to this forum for secure and easy single sign-on for you.

    And please drop by the Introductions thread and say hi.

Starting a new campaign. How to populate from an existing campaign?

GM Rob

Member
Gold WoA
I'm starting up a new campaign. I have a bunch of pages in my current campaign that are generically useful stuff. Templates I use, rules, tables, etc. How can I easily pull them into my new campaign?

I've had the following "ideas" about how to attempt this...
  1. Copy each page individually using cut-and-paste. This is very tedious and will take quite a while!
  2. Download my current campaign and import it when I create my new one. Again it will be tedious to delete all of the stuff (logs, etc.) that isn't generic.
  3. Download my current campaign and edit the json file before I import it. Might work if the json wasn't dumped as a single long line!
  4. Export/download only the pages I want in the new campaign. I don't know if this is possible. If it is, I can't figure out how to do it.
  5. Put the stuff that's common to many campaigns in a separate campaign and link to it from each campaign. Again, I don't know if this is possible.
What simple, obvious solution have I missed?!
 

JochenL

CL Byte Sprite
Staff member
Adamantium WoA
Wizard of Story
Wizard of Combat
Gamer Lifestyle
Borderland Explorer
Export/download only the pages I want in the new campaign. I don't know if this is possible. If it is, I can't figure out how to do it.
That's not possible at the moment.

Put the stuff that's common to many campaigns in a separate campaign and link to it from each campaign. Again, I don't know if this is possible.
This won't work so well as it deprives you of the popups.

Download my current campaign and edit the json file before I import it. Might work if the json wasn't dumped as a single long line!
I would use this. Notepad++ or Visual Studio Code can easily pretty print the JSON, so it spans multiple lines and has proper indention.
 

GM Rob

Member
Gold WoA
Well, the good news is that I'm not as dumb as I feared.

The bad news is that even a fairly small campaign (170 Pages, 30 Log entries) produces 1,600+ lines of JSON to wade through. The entries seem to be in order of creation.

I think I'm going to need a "campaign template" in JSON to use as a starter. I'll add any new generic stuff there first, then import it. A few quick trials suggests that Logs get duplicated if they're imported again, but Pages and Labels are overwritten. Does that sound right?
 

JochenL

CL Byte Sprite
Staff member
Adamantium WoA
Wizard of Story
Wizard of Combat
Gamer Lifestyle
Borderland Explorer
Does that sound right?
Yes! Both have an internal ID. Log Entries live by that ID. On import, a new one is assigned. Pages, on the other hand live by their tag symbol and value and reuse the ID if it already exists.
 

GM Rob

Member
Gold WoA
So, to get this recorded, this seems to be the "minimum importable" campaign snippet...
{
"version": 2,
"type": "campaign",
"original": {},
"title": "",
"description": "",
"imageUrl": "",
"campaignEntries": [],
"logs": []
}
I would add the Pages I want to import between "[" and "]" in the "campaignEntries" section. in this form...
{
"rawText": "~\"Treasure Table\"\n*\"Loopy Plans\"\n*Plotline\n*\"Story So Far\"",
"rawPublic": null,
"labels": null,
"tagSymbol": "*",
"tagValue": "Planning"
},
...leaving off the comma on the last one, of course!

Is this the only JSON syntax that can be imported into an existing campaign?

Is the required format documented anywhere?
 

ExileInParadise

RPG Therapist
Staff member
Adamantium WoA
Wizard of Story
From a quick look - you've got it.

A standard header, campaignEntries: [] array, and "logs" [] array

I am on Linux and use a tool called jsonlint to check my hacked up files before import.

jsonlint implements checks for an RFC 7159 JSON syntax standard:
https://www.rfc-editor.org/rfc/rfc7159

That has kept me out of a lot of trouble doing weird things with JSON to haul into CL.
 

JohnnFour

Game Master
Staff member
Adamantium WoA
Wizard of Story
Wizard of Combat
Gamer Lifestyle
Demonplague Author
Borderland Explorer
That's not possible at the moment.

This won't work so well as it deprives you of the popups.
We do have this in the backlog, though @JochenL I can't find the Task or Story.

I think a great future state would be some kind of Campaign sharing. Not sure the exact config.

But, for example, we only want to enter information once. So a World Campaign and a Rules/SRD Campaign that can be accessed by other Campaigns would be great.

If this feature were available today, Id create Duskfall and Old School Essentials Campaigns, and reference those in my Murder Hobos and Basilica Campaigns.

We could have all Campaigns accessible to all Campaigns, but we'd encounter namespace issues with Tags.

So maybe each Campaign has a setting for Rules Campaign and World Campaign? What you choose gets "linked" to your gameplay Campaign.

Or maybe it's a simple checklist => what Campaigns do you want to share Pages and Labels with?
 

ExileInParadise

RPG Therapist
Staff member
Adamantium WoA
Wizard of Story
Maybe that would be a killer "default use" for the Sections tag... stuff that is shared between ALL of your campaigns sort of the way Generators are on the sidebar ...
 

GM Rob

Member
Gold WoA
We could have all Campaigns accessible to all Campaigns, but we'd encounter namespace issues with Tags.
There is an "easy" solution to this that comes from (I think) the OOP world. The Tags would be named with a [Campaign].[Tag] kind of structure to keep them separate. If there was no [Campaign] part, then the current campaign would be used.

It may well be a nightmare to make the Page popups work, but that's just a SMOP. (Simple Matter Of Programming) :)
 

GM Rob

Member
Gold WoA
Maybe that would be a killer "default use" for the Sections tag... stuff that is shared between ALL of your campaigns sort of the way Generators are on the sidebar ...
This would be an awesome feature. Have a special character that designates the page is common to all campaigns! These pages would appear as soon as you created a new campaign. Maybe even use a "§@" tag to mean a shared "@" tag.
 
Top