You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Bertrand Delacretaz (Jira)" <ji...@apache.org> on 2021/07/23 10:16:00 UTC

[jira] [Commented] (SLING-10655) Provide a good developer experience for GraphQL Schemas assembled by the Schema Aggregator

    [ https://issues.apache.org/jira/browse/SLING-10655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17386139#comment-17386139 ] 

Bertrand Delacretaz commented on SLING-10655:
---------------------------------------------

As discussed in SLING-10619, from the developer's point of view the only requirement for exporting a partial schema should be to place it at a know location in the source code tree ({{src/main/graphql/partials}} maybe) and activate the bnd plugin that generates the capabilities.

The plugin should also ideally validate the partials syntax to detect errors at build time.

> Provide a good developer experience for GraphQL Schemas assembled by the Schema Aggregator
> ------------------------------------------------------------------------------------------
>
>                 Key: SLING-10655
>                 URL: https://issues.apache.org/jira/browse/SLING-10655
>             Project: Sling
>          Issue Type: Task
>          Components: GraphQL
>            Reporter: Radu Cotescu
>            Assignee: Radu Cotescu
>            Priority: Major
>             Fix For: GraphQL Schema Aggregator 0.0.2
>
>
> The [GraphQL Schema Aggregator|https://github.com/apache/sling-org-apache-sling-graphql-schema-aggregator] allows assembling and serving GraphQL Schemas to which multiple provider bundles can contribute.
> Currently, this still relies on the presence of the {{Sling-GraphQL-Schema}} bundle header in the provider bundles, but this should be replaced by OSGi capabilities and requirements.
> The GraphQL Schema Aggregator already provides the following capability:
> {code}
> osgi.extender;osgi.extender="sling.graphql-schema-aggregator";version:Version="0.1"
> {code}
> where the version indicates which syntax version of the partial files is supported.
> Provider bundles should in turn require this capability:
> {code}
> Require-Capability: osgi.extender;filter:="(&(osgi.extender=sling.graphql-schema-aggregator)(version>=0.1)((version>=1.0)))"
> {code}
> and provide in turn a capability indicating the partials they contribute. If they also require other partials provided by other bundles, these should be translated as well into other {{Require-Capability}} entries.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)