Create ArgumentPluginBase and ArgumentDefaultPluginBase, with a matching field_canon_preferences on User accounts, to enforce user-specific settings for gear, factions, locations, etc.
Options for field_canon_preferences should be:
Only show canon material in global listing pages
Show canon material and my material in global listing pages.
Show all material, regardless of source, on all pages.
Option #2 is a little dicey, and might require the use of a query alter hook instead of arguments. We'll also need to ensure that we don't create duplicates when referring to entities with multiple sources.
Any view of things with field_sources that isn't explicitly scoped for a user account, a campaign, or an inspiration node, should include the argument to enforce the user's prefs.
Create
ArgumentPluginBase
andArgumentDefaultPluginBase
, with a matchingfield_canon_preferences
on User accounts, to enforce user-specific settings for gear, factions, locations, etc.Options for
field_canon_preferences
should be:Option #2 is a little dicey, and might require the use of a query alter hook instead of arguments. We'll also need to ensure that we don't create duplicates when referring to entities with multiple sources.
Any view of things with
field_sources
that isn't explicitly scoped for a user account, a campaign, or an inspiration node, should include the argument to enforce the user's prefs.