#V13 and the Adventure Importer

1 messages · Page 1 of 1 (latest)

plucky zealot
#

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.

  1. Subclassing by defining class MyAdventureImporter extends AdventureImporter and setting the custom subclass as the sheet used for specific adventure documents.
  2. 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 AdventureImporter class that will be available via the global namespace globalThis.AdventureImporter. This class will remain available until v16 at the end of the Application (v1) deprecation period.
  • Add a "V2 suffix to AdventureImporterV2 which is available via the path foundry.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 ApplicationImporter and ApplicationImporterV2 will be registered as available sheets for the Adventure document type, but the AdventureImporter (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 preImportAdventure and onImportAdventure hooks are called at the Adventure document 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.

keen linden
#

Seems clear to me

#

Thank you for this

stone moon
#

Whew!

drowsy walrus
elder zephyr
#

👍 See you in v16

fossil shadow
#

Great news and very clearly laid out. Thank you.

maiden stump
#

How about the getAdventureImporterHeaderButtons hook? I'm using that one in the Adventure Uninstaller module.

My gut says it sounds like it should continue functioning with the default Application class, but it's not one of the hooks you explicitly mentioned.