Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/enonic/app-guillotine


https://github.com/enonic/app-guillotine

Last synced: 5 days ago
JSON representation

Awesome Lists containing this project

README

        

= Guillotine application

Once assigned to your site,
the guillotine application will generate a dynamic GraphQL API that enables web-based access to all your editorial content.

Guillotine exposes the read-only part of the Enonic Content API, including access to the Enonic query language.
Guillotine dynamically analyzes all available content types in the site and generates a GraphQL API specific to your site.
This gives you direct, typed and documented access to all content within the site. Including the ability to follow references,
child items and access media directly.

== Compatibility

[cols="1,1,3", options="header"]
|===
|Version
|Min.XP Version
|Download

|6.2.1
|7.12.1
|http://repo.enonic.com/public/com/enonic/app/guillotine/6.2.1/guillotine-6.2.1.jar[Download]

|6.2.0
|7.12.1
|http://repo.enonic.com/public/com/enonic/app/guillotine/6.2.0/guillotine-6.2.0.jar[Download]

|6.1.0
|7.12.1
|http://repo.enonic.com/public/com/enonic/app/guillotine/6.1.0/guillotine-6.1.0.jar[Download]

|6.0.6
|7.9.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/6.0.6/guillotine-6.0.6.jar[Download]

|6.0.5
|7.9.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/6.0.5/guillotine-6.0.5.jar[Download]

|6.0.4
|7.9.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/6.0.4/guillotine-6.0.4.jar[Download]

|6.0.3
|7.9.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/6.0.3/guillotine-6.0.3.jar[Download]

|6.0.2
|7.9.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/6.0.2/guillotine-6.0.2.jar[Download]

|6.0.1
|7.9.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/6.0.1/guillotine-6.0.1.jar[Download]

|6.0.0
|7.9.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/6.0.0/guillotine-6.0.0.jar[Download]

|5.4.0
|7.7.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/5.4.0/guillotine-5.4.0.jar[Download]

|5.3.1
|7.7.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/5.3.1/guillotine-5.3.1.jar[Download]

|5.3.0
|7.7.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/5.3.0/guillotine-5.3.0.jar[Download]

|5.2.1
|7.7.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/5.2.1/guillotine-5.2.1.jar[Download]

|5.2.0
|7.7.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/5.2.0/guillotine-5.2.0.jar[Download]

|5.1.0
|7.2.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/5.1.0/guillotine-5.1.0.jar[Download]

|5.0.0
|7.2.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/5.0.0/guillotine-5.0.0.jar[Download]

|4.2.1
|7.2.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/4.2.1/guillotine-4.2.1.jar[Download]

|4.2.0
|7.0.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/4.2.0/guillotine-4.2.0.jar[Download]

|4.1.1
|7.0.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/4.1.1/guillotine-4.1.1.jar[Download]

|4.0.0
|7.0.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/4.0.0/guillotine-4.0.0.jar[Download]

|3.0.0
|7.0.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/3.0.0/guillotine-3.0.0.jar[Download]

|2.0.0
|7.0.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/2.0.0/guillotine-2.0.0.jar[Download]

|1.0.0
|6.13.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/1.0.0/guillotine-1.0.0.jar[Download]

|0.2.0
|6.13.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/0.2.0/guillotine-0.2.0.jar[Download]

|0.1.5
|6.10.0
|http://repo.enonic.com/public/com/enonic/app/guillotine/0.1.5/guillotine-0.1.5.jar[Download]
|===

== Breaking changes

=== Breaking changes in 6.0

* Guillotine app can no longer be added to a site to generate a contextual API.
* Embed the guillotine library in your existing application to replicate this functionality.
* `ExtraData` type became a dynamic type with fields that are generated based on form descriptors of the x-data and grouped by application key.
* Naming for `ItemSet` and `OptionSet` types were changed, from:
- `__` to `__`
- `__` to `__`

=== Breaking changes in 5.0

Type renaming:: Component types like Part, Page and Layout was changed:
from `ComponentDataDescriptorConfig` to `__`, and
from `ComponentDataApplicationConfig` to `__ComponentDataApplicationConfig`.

Attachment type:: is now returned instead of String for `AttachmentUploader` input types.

asJson:: `dataAsJson` and `pageAsJson`, as well as component `config` fields now return `JSON` instead of `String`.

Subscription:: field `newEvent` has been renamed to `event`. The `type` and `localOnly` arguments have been removed. Events are now also filtered, so only site/project related events are returned.

UrlTypeType:: has been renamed to `UrlType`

queryConnection:: field now returns type `QueryContentConnection` instead of an array of type `ContentConnection`

Field name generation:: to comply with GraphQL from the types `OptionSet` and `ItemSet` no longer use camel-case. This is consistent with other field name generation in Guillotine.

TextComponent and HtmlArea:: based fields now returns type `RichText` instead of `String` and supports the `processHtml` argument of type `ProcessHtmlInput`.

Date:: input type now return `Date` scalar instead of `String`

Time:: input type now return `LocalTime` scalar instead of `String`

DateTime:: input type now return `DateTime` scalar instead of `String` if there is A config with `timezone`, otherwise "LocalDateTime" scalar

=== Breaking changes in 4.0

- Type "Content": Field "page": Removed (Use fields "pageAsJson" or "components" instead)
- Types "Flat*Component*": Renamed to "*Component*".
- Type "FlatDescriptorBasedComponentData": Split into 2 types: "LayoutComponentData" and "PartComponentData"
- Fields "config": Renamed to "configAsJson"
- Type "Content": Field "components": By default, the components of the page template are used instead if there is one.
- Type "Content": Field "components": By default, the fragments are inlined

=== Breaking changes in 3.0

- Type "Content": Fields "creator", "modifier", "owner" and "permissions" need one of the following roles: "cms.cm.app", "cms.admin" or "system.admin"

=== Breaking changes in 2.0

- Type "PrincipalKey": Field "userStore" renamed to "idProvider"
- Type "Page": Field "controller" renamed to "descriptor"
- Type "Component": Field "name" removed

== Build

To build this project, execute the following:

[source,bash]
----
./gradlew clean build
----

== link:docs/index.adoc[Documentation]