Closed emteknetnz closed 4 weeks ago
And asset-admin will still use it or also switch to standard controllers?
Any supported module, including asset-admin, that uses some graphql for some of its functionality will standardise entirely on standard controllers for CMS 6
I've linked the PRs that were used in a POC to prove viability in the description - I'll continue using these same PR's in this issue. That includes a PR for asset-admin
Should this not have been an RFC first?
https://docs.silverstripe.org/en/5/project_governance/request_for_comment/
I'm also concerned how this came about. Haven't heard a single mention about it and now it's being worked towards completely removing GraphQL from the CMS. This feels like it has "3 to 4 upgrade pain" written all over it when upgrading to CMS 6 for customised projects. And even if it ended up being decided to still go ahead and remove it, there should've been some discussion.
That's fair. Yes a public discussion should have come first.
I've raised a new issue for this discussion https://github.com/silverstripe/silverstripe-admin/issues/1805
CMS 5 PRs merged. Reassigning to Steve to merge up and rebase CMS 6 PRs
Webpack PR merged, reassigning to Steve to rebuild dist files
@emteknetnz https://github.com/silverstripe/silverstripe-admin/pull/1802 needs rebasing - after that everything is ready to go! Don't bother redoing the kitchen sink run, it's just yarn.lock.
@emteknetnz Just one more PR needs rebasing.
There's also an acceptance criteria I think might have been added after refinement:
Create follow up PRs to use the correct deprecation version in CMS 5 e.g. for asset-admin it should be deprecated in 2.3.0, not 5.3.0. After merging ensure merge-up is done correctly as the deprecated methods will have been removed
Not sure what that's about... do you need to do anything more for this?
Have rebased blog PR, and raised new CMS 5 PRs for asset-admin and versioned to use the correct version for deprecation notices
PRs merged
GraphQL is used inconsistently in the CMS for some of the XHR requests made by react components. The majority of XHR requests are currently made to "regular Silverstripe controller endpoints", which also includes "Form Schema" endpoints used to process Form requests.
This lack of standardisation has lead to inefficiencies in development an maintenance for the CMS Squad. There has also been a fair bit of negative feedback from several developers in the community who think they're supposed to do all admin XHR requests using GraphQL, which has proven to be very difficult for people to learn and use.
This card is about removing GraphQL from the CMS entirely and be replaced with "regular Silverstripe controller endpoints" in the name of standardisation.
Removing GraphQL from the CMS also means that projects no longer need to have the
.graphql-generated
directory by default.Acceptance criteria
or silverstripe/recipe-kitchen-sink(will probably still be created for recipe-sink because we're including the graphql module)New issues created
CMS 5 PRs
CMS 6 multi PR CI
CMS 6 PRs
Other PRs
Notes