V13 and the Adventure Importer
Hello <@&596076164104323104> and content creators. We were a little too aggressive in moving to a world where the ApplicationV2 AdventureImporter is the default interface for interacting with Adventure documents. We are working in our next V13 User Testing release to restore V12 compatibility so there will not be any immediate v13 breakage related specifically to the AdventureImporter.
There are two usage modes (that we are aware of) for how creators use the AdventureImporter sheet class or otherwise customize adventure importing behavior.
- Subclassing by defining
class MyAdventureImporter extends AdventureImporterand setting the custom subclass as the sheet used for specific adventure documents. - Hooks using the
renderAdventureImporter,preImportAdventure,onImportAdventure,getAdventureImporterHeaderButtons, etc... hooks to add behaviors for a subset of adventure documents.
The TL;DR is that both of these use cases will have full compatibility in v13 with prior v12 behavior so that neither of these approaches needs to change until v16 (expected early 2027).
If you have a use case for the AdventureImporter other than these two, please let us know in this thread so we can verify whether your usage will be compatible with v13 or not.
What Are We Doing (in our next release)
- Restore the v1
AdventureImporterclass that will be available via the global namespaceglobalThis.AdventureImporter. This class will remain available until v16 at the end of theApplication(v1) deprecation period. - Add a "V2 suffix to
AdventureImporterV2which is available via the pathfoundry.applications.sheets.AdventureImporterV2. - Add an alias for the V2 class which allows you to subclass the V2 sheet without the "V2" suffix as
foundry.applications.sheets.AdventureImporter. - Both
ApplicationImporterandApplicationImporterV2will be registered as available sheets for theAdventuredocument type, but theAdventureImporter(v1) will be the default sheet to preserve v12 compatibility. If you want your Adventure to use the pretty new V2 sheet, you will need to opt-in to that by setting the V2 sheet as the preferred sheet for your Adventure document.
What Is Not Changing
- The
preImportAdventureandonImportAdventurehooks are called at theAdventuredocument level, and therefore continue to apply regardless of which sheet type is used to display the adventure import UI.
What Do I Need To Do
To reiterate, if your use case is one of the two specifically mentioned above, you will not need to do anything until v16. If you have a use case involving the AdventureImporter class which is outside of these 2, please let us know so we can verify how these changes may affect you.
I have tried to be as clear as possible with this explanation, but I understand this is a fairly technical note so please don't hesitate to ask questions if there is a part of this you do not understand.
