-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implemented domain content #3
Conversation
Works great for a pile-of-content and takes out the complexity of knowing how complex field types like Image and RichText work internally as they're exposed easily. Here are some comments:
|
I'm not sure we can do that. If it is an object, and it is if you have dumped the domain schema, then you need to select something from it.
It is a term that has been around in our, well, (engineering) domain. As in Domain Driven Design. Maybe there are better alternatives, but this one is pretty solid imho (ping @andrerom). Naming is hard :)
We can do plenty of things. About location(s), what would you expect in regards to those ? I was thinking that the UrlAlias was maybe an important property.
Complicated, we're gonna have to dig: the yaml schema is compiled in the container. |
Ok, I am just trying to think how this would be as consistent as possible. Actually now comparing to
Naming is hard, for sure as in this case there's already
Ideally I would like to mask the concepts of
I think this more thought and better specification, but simply not to cause immediate frustration / if you would like to tap into locations in addition to content. Locations are a key feature in eZ Platform that many CaaS services (including Contentful) do not have. |
Cool to see protoype of this, get it a bit better now. But shouldn't this align with concepts in API? And if this needs custom mapping, I still think some form of native domain types might be better for this then having to map up things manually here tough (somewhat like what was attempted to be introduced here: https://github.com/ezsystems/ezpublish-kernel/pull/955/files). |
Well, I'm not sure. The Repository's API is covered by the initial GraphQL implementation (content, location, etc). I see this approach as one level aboveIt could be a Site API approach, even though for this we need an intermediate layer (like what netgen has done). But being given PHP objects structured after the Content's type is kind of what is done in the User/UserGroup prototype is it not ? |
? |
f4a5e25
to
00b8681
Compare
dac2dd0
to
64a3d0b
Compare
The PR has been rebased to make more sense. See the new syntax in the PR's description.
Details about the location can be accessed using the |
Note: I intend to merge this very soon. It is getting tedious to maintain it. 1 or 2 reviews would be appreciated. |
I'm now prototype something about children. To get a tree of all folders, as well as the titles of the articles they contain:
By default, it loads all children from all the content's locations. The idea is to have a The |
faf46b1
to
371d029
Compare
I'll take a look this week, as I'll also need to try how #17 works :) |
a176e5c
to
b1e356d
Compare
Thank you, I really appreciate. In any case, I intend to merge it soon, because:
I'd say we are fairly safe.
It works really well ;) Some more work is needed to provide support custom field templates arguments. There's also a grey area when it comes to custom templates, as we currently don't have a way to provide custom parameters to |
339c16f
to
4ade551
Compare
- refactored query input parsing - added extra criteria
4ade551
to
f2d7886
Compare
I'm merging this, for the reasons explained in this comment. |
Allows query of content using their identifier and fields directly. The content types groups are used as root, with the content types as leafs. It can be accessed at
/graphql/domain
and/graphiql/domain
.It relies on a Custom GraphQL types for ContentTypes of the Repository, such as
ArticleContent
orBlogPostContent
. Those have GraphQL fields for values of their fields values, allowing very quick access to actual content items values: Those types also have a_content
field that gives access to the underlyingcontent item.
The schema for those is generated using a Command script. When executed, it writes the schema to
src/AppBundle/Resources/config/graphql
.TODO
blog_post
=>blog_posts
)