/lib-guillotine

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Note

This starter is deprecated since the release of Guillotine 7. You can now extend the Guillotine application’s API directly instead. Visit the Guillotine documentation for more details.

Guillotine library

Guillotine library 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 applications and generates a GraphQL API specific to your site or all repositories in the siteless mode. 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.

Documentation

For the full documentation of the Guillotine project, visit the Enonic Developer Portal: https://developer.enonic.com/docs/guillotine

Compatibility

Version XP Version Dependency

6.2.1

7.12.1

com.enonic.lib:lib-guillotine:6.2.1

6.2.0

7.12.1

com.enonic.lib:lib-guillotine:6.2.0

6.1.0

7.12.1

com.enonic.lib:lib-guillotine:6.1.0

6.0.5

7.9.0

com.enonic.lib:lib-guillotine:6.0.5

6.0.4

7.9.0

com.enonic.lib:lib-guillotine:6.0.4

6.0.3

7.9.0

com.enonic.lib:lib-guillotine:6.0.3

6.0.2

7.9.0

com.enonic.lib:lib-guillotine:6.0.2

6.0.1

7.9.0

com.enonic.lib:lib-guillotine:6.0.1

6.0.0

7.9.0

com.enonic.lib:lib-guillotine:6.0.0

5.5.0

7.7.0

com.enonic.lib:lib-guillotine:5.5.0

5.4.0

7.7.0

com.enonic.lib:lib-guillotine:5.4.0

5.3.1

7.7.0

com.enonic.lib:lib-guillotine:5.3.1

5.3.0

7.7.0

com.enonic.lib:lib-guillotine:5.3.0

5.2.1

7.7.0

com.enonic.lib:lib-guillotine:5.2.1

5.2.0

7.7.0

com.enonic.lib:lib-guillotine:5.2.0

5.1.0

7.2.0

com.enonic.lib:lib-guillotine:5.1.0

5.0.0

7.2.0

com.enonic.lib:lib-guillotine:5.0.0

4.2.0

7.2.0

com.enonic.lib:lib-guillotine:4.2.0

4.1.1

7.0.0

com.enonic.lib:lib-guillotine:4.1.1

4.0.0

7.0.0

com.enonic.lib:lib-guillotine:4.0.0

3.0.0

7.0.0

com.enonic.lib:lib-guillotine:3.0.0

2.0.0

7.0.0

com.enonic.lib:lib-guillotine:2.0.0

1.0.1

6.10.x

com.enonic.lib:lib-guillotine:1.0.1

1.0.0

6.10.x

com.enonic.lib:lib-guillotine:1.0.0

Breaking changes

6.0

  • 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 was changed, from:

    • <applicationKey>_<contentTypeName>_<itemSetLabel> to <applicationKey>_<contentTypeName>_<itemSetName>

    • <applicationKey>_<contentTypeName>_<optionSetLabel> to <applicationKey>_<contentTypeName>_<optionSetName>

5.0

  • Naming for component types like Part, Page and Layout was changed:

from "<ComponentType>ComponentDataDescriptorConfig" to "<ComponentType>_<applicationKey>_<descriptorName>" and

from "<ComponentType>ComponentDataApplicationConfig" to "<ComponentType>_<applicationKey>_ComponentDataApplicationConfig"

  • Type "Attachment" is returned instead of "String" for a form item of type "AttachmentUploader"

  • Fields "dataAsJson" and "pageAsJson" of type "Content" return "JSON" instead of "String"

  • Fields "config" of "PageComponentData", "LayoutComponentData" and "PartComponentData" types return "JSON" instead of "String"

  • Type "Subscription": Field "newEvent" renamed to "event". The "type" and "localOnly" arguments are removed

  • Type "UrlTypeType" renamed to "UrlType"

  • Type "HeadlessCms": Field "queryConnection" returns type "QueryContentConnection" instead of an array of type "ContentConnection"

  • Generation of field names for types "OptionSet" and "ItemSet" do not use camel-case anymore and were uniformed with the rest of field naming

  • Type "TextComponentData": Field "value" returns type "RichText" instead of "String" and supports the processHtml argument of type "ProcessHtmlInput".

  • A form item of type "HtmlArea" returns type "RichText" instead of "String"

  • A form item of type "Date" returns "Date" scalar instead of "String"

  • A form item of type "Time" returns "LocalTime" scalar instead of "String"

  • A form item of type "DateTime" returns "DateTime" scalar instead of type "String" if there is A config with timezone, otherwise "LocalDateTime" scalar

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, components of a page template are used instead if there is one.

  • Type "Content": Field "components": By default, fragments are inlined

3.0

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

2.0

  • Type "PrincipalKey": Field "userStore" renamed to "idProvider"

  • Type "Component": Field "controller" renamed to "descriptor"

  • Type "Component": Field "name" removed

Build

To build this project, execute the following:

./gradlew clean build