View more context



@Karan Kumar, great thanks. I had actually written a custom function but that is obviously better. Should have read the Format function more carefully.


A quick question re: ChangeSets (the dataobject behind campaigns). Is my assumption correct that it safe to remove the ones that have been already published, together with their respective linked ChangeSetItems? We use the feature to bulk publish a set of unrelated objects (no ownership structure) from the code. Arrived at something like .75M changesets and 1.1M items in 6 months of site use and we think a db clean up (specifically for these two tables) could benefit snapshots etc.


@MichalKleiner I think you can also use PublishSingle() when publishing those dataobjects to avoid creating the changesets altogether.


the main thing for us is we need a bulk publish on the same time and we’re using the changesets to hold hundreds of items at once and publish by a single action… otherwise we’d need another structure to hold everything and then do what changesets do


Has SS started considering actual batch actions yet? like list->update()


Hey I am using GraphQL with SilverStripe for the first time. I'm trying out the "scaffolding" functionality which works great. My question is: If I want to define a custom nestedQuery, can I still have the rest defined in "scaffolding" or do I have to deifne everything QueryCreator class?


Yes, but you’ll have to do it procedurally in a ScaffoldingProvider class.

$scaffolder->type(“SomeDataObject”) ->nestedQuery(“queryName”, $queryScaffolderInstance)

  1. Events\Model\TicketType:
  2. fields: [ID, Name]
  3. nestedQueries:
  4. AllPrices:
  5. args:
  6. currencyCode: String!
  7. resolver: AppGraphql\Resolvers\Prices\PricesResolver
  8. paginate: false

Where AllPrices is not a field or relation on the object, but a custom list I want to define with a resolver. but of course it complains about the type. How do I define the type of the list?