PDA

View Full Version : Module information lost/overwritten



Ghengis
December 19th, 2020, 18:56
I've created a module where I had numerous tables, backgrounds, classes all created by me, that were lost when I saved over the module with some new edits.

There were double entries for most of these items, and I deleted the doubles. Probably a mistake. I think Fantasy grounds decided I was deleting the specific entries altogether, and not only deleted one version of each, but deleted the other as well.

A lot of work lost. Any ideas?

Zacchaeus
December 19th, 2020, 19:06
Welcome to FG.

When you edited did you go back into the original campaign that you created the original stuff in?

Also did you open the module that you created in that campaign when you made the edits?

Two things to note. Always make edits in the same campaign you did the original work in and never, ever open the module that you created in that campaign. I suspect that what you deleted was the original material rather than what you thought you were deleting. Another thing is that if you tried to edit in a campaign other than the one you created the original material in then the only thing that will exist in that campaign are the edits you made. You can't edit a module at all from inside FG only campaign entries.

Best case here is that you edited in another campaign and all the stuff still exists intact in your original campaign. Worst case is that you opened the module in that campaign, saw duplicates and deleted the campaign entries rather than the module entries.

You may be able to recover some or maybe all of the material in the original campaign. Open up the FGData/campaigns folder and find the folder with your original campaign name. Make a copy of that folder and keep it safe somewhere else. Inside the campaign folder find the file called db.xml (if you don't see the .xml switch on file extensions in the view menu at the top of the window). Rename that file to dbold.xml and then find the largest of the db.session.xxxxxxxxx.xml files. Make a copy of that file and rename the copy to db.xml and then start up the campaign.

Ghengis
December 19th, 2020, 19:58
First of all thanks for the fast response. I'm feeling a major sense of loss at all of my work gone, and am grateful that someone is at least listening.

When you edited did you go back into the original campaign that you created the original stuff in?
Yes, after I edited, I saved to the module, closed out FGU, and then started it up again, went back into the campaign where the content was opened, including loading the module.

All custom content was created in a campaign, and I then created a module to save it into. The next time I opened the campaign, there were duplicate entries - the campaign entries and the module entries. I deleted most of the campaign entries thinking they were saved into the module. The next time after that I opened the campaign and loaded the module, that's when I noticed most work gone.

By changing the second largest of the db.session.xxxxxx.xml files I was able to recover most of my work - thank you. Huge relief. I only lost about 4-5 hours of work following that change, which I can live with as a learning lesson. I should probably watch a few more videos and check the Forum a bit more before I proceed further. Thanks again for the help.

LordEntrails
December 19th, 2020, 21:03
So you opened the module in the development/module creation campaign? Yea, that would be confusing and not something you want to do.

Check the link in my signature, and let us know any other questions/issues you come up with.

damned
December 19th, 2020, 22:26
The duplicate entries were -
* your edits
* your edits in the exported module

Ghengis
December 24th, 2020, 20:03
Some further assistance sought after here. Here is a time line of events:
Created custom content in a Campaign
Exported to Module
Deleted information in Campaign (thinking it being saved in the module was sufficient)
Exported to Module again, wiping out most of my custom content - this appears to be an overwrite rather than an update to that module
With help of some good folks here, was able to modify an old data file and retrieve the module pre-overwrite, and get back my work

Now
I have the module, with the data stored, copied that over to a "Development Campaign", which is where I should have created and saved it in the first place
Was hoping that this would anchor the data to a campaign, but no, seems to be anchored to the module.
I've created a new module for further custom content, and also copied information from the Development campaign including my original custom content
When my players open the new module, much of the data is not populated. Tables, for instance, require them to open the old module. When they do that, they see duplicates of everything.
One solution would be for me to change the file names in the original module to "old" so they know not to use them. While this is a workaround that functionally will work, it's not ideal to have them seeing two copies of everything, with one copy being "old" and not to be used.
Is there a way to anchor the data from the old module to a development campaign, where the old module can be discarded and I can have the development campaign be the source of all custom data (without manually recreating it, which would be another solution, but hugely time consuming as we're talking about 100+ hours of work)?

Zacchaeus
December 24th, 2020, 21:21
You have to separate in your mind what is in a module and what is in a campaign.

Something in a module is only in that module and it will only show up when you open that module in any campaign. When you close it again the information in the module goes away - it does not persist in any campaign.

Data in a campaign only exists in that campaign. No matter how many modules you open the only thing which is fixed in that campaign is data you have created in that campaign (this includes data you have created by editing a module opened in that campaign).

So, what you want to do to resolve your situation is create a new creation campaign and open the module that you want to salvage. Copy that data into the campaign from the module. You do this by dragging every item and dropping it back down into the list. So if you have an NPC in the module click on the NPC button and select and drag the first NPC and drop it back into the list. It should now say <npcname>(copy). Do this for every NPC. Then do the same for everything in that module - stories, tables, whatever you want to salvage.

Once you have done all of that CLOSE THE MODULE. This is very important. You will now be left with all of your original material that you salvaged in a new campaign.

You can now edit all the stuff to remove the (copy) from all the entries. At this point you are now free to export all of this into a new module (don't use the same name as the original in case you need to use it again because of reasons). You are also free to now add, edit, remove or whatever you need to do to the data in that creation campaign and continue to export to a module.

Note that when you export to a module it overwrites any existing module with the same name. So if you have 10 things in your campaign and export there will be 10 things in the module. If you then edit the campaign and add a thing and export to the same module there will now be 11 things in the module. If you delete nine things and add one new thing and export there will be two things in the module - one original thing and one new thing and the nine things you deleted will not be there. The point here is that exporting only exports what is in the campaign - it does not export anything else from any other source including any open modules and if you have deleted something from the campaign that will not be in the module any more since it doesn't exist to export.

damned
December 24th, 2020, 22:19
You really should read the thread that Lord Entrails did suggest - https://www.fantasygrounds.com/forums/showthread.php?33538-Adventure-Module-Creation-Best-Practices It does go thru this in some detail. Zacchaeus has outlined the simplest method to bring data back from a module into a campaign. It can also be done by editing xml directly but you really want to understand how this stuff works first.

Ghengis
December 26th, 2020, 03:26
Thank you for the detailed response. I was able to surmise what you have outlined very well. Thank you for taking the time to help me up the learning curve.