Guillotine icon

Guillotine

Augmentable GraphQL Content API for Enonic XP

Screenshots

  • Instantly access the GraphQL API from a Content Studio extension

Guillotine dynamically generates a strongly typed GraphQL API for your content model. The API can also be extended and customized programmatically to power any digital experiences or use-case.

By installin the app, you get instant access to all your editorial content. The API can be used by virtually any front-end framework and client - including iOS and Android apps, smart TVs and watches. It is a natural companyon for modern-stack web-based sites and applications. The API is fast, self documenting and easy to use for everyone.

Rich content models

Access and harness all of Enonics content capabilities toghether with the Guillotine API - here are a few:

  • Content types
  • Rich text content
  • Files and attachments
  • Image service (advanced media handling)
  • Nested fields
  • Tree structures
  • Fine grained access control
  • Draft/master branches with bulk publishing
  • Page components
  • ...and much more.

Extend and augment

As of Guillotine 7 - the API can be modified programmatically. Here are some of the things you can do:

  • Add new fields and types
  • Extend existing types with new fields
  • Override existing types and fields
  • Remove fields
  • Implement with TypeScript or JavaScript

Professional development

Rolling out changes and handling consistent behaviour between your content and applications has never been easier. Developers define and deploy their content models and extensions using XP apps. This means support for continuous delivery and modern development processes. Applications may also process, import or manipulate content on deployment.

The combination of capabilities makes Guillotine one of the most potent Headless CMS solutions out there!

Releases

  1. 7.2.0

    • Enable configurable CORS headers
    • Compatibility:

      • 7.14.0
  2. 7.1.1

    • Bug fix: XData does not return mixins
    • Compatibility:

      • 7.14.0
  3. 7.1.0

    • `guillotine(siteKey)` parameter
    • Type definitions on NPM
    • Compatibility:

      • 7.14.0
  4. 7.0.4

    • Bug fix: Duplicate key for macros
    • Bug fix: Overriding dataFetcher is not always applied to the implementation
    • Bug fix: RichText not null when empty
    • Compatibility:

      • 7.14.0
  5. 7.0.3

    • Bug fix: PortalRequest must use correct application in resolve function
    • Compatibility:

      • 7.14.0
  6. 7.0.2

    • Bug fix: Content type with field set has extra field fieldSet
    • Compatibility:

      • 7.14.0
  7. 7.0.1

    • Bug fix: Types must have unique name
    • Compatibility:

      • 7.14.0
  8. 7.0.0

    • Pluggable schema extension
    • Optimisation of big queries
    • Compatibility:

      • 7.14.0
  9. 6.2.2

    • Bug fix: Query Playground doesn't work on root mapping
    • Compatibility:

      • 7.12.1
  10. 6.2.1

    • Upgraded lib-graphql
    • Enabled boost for booleans
    • Added _score to Content type
    • Compatibility:

      • 7.12.1
  11. 6.2.0

    • Upgraded to GraphiQL v2
    • Query playground also available on /site/<project>
    • Compatibility:

      • 7.12.1
  12. 6.1.0

    • Query DSL
    • Highlighting
    • Compatibility:

      • 7.12.1
  13. 6.0.6

    • Bug fixes
    • Compatibility:

      • 7.9.0
  14. 6.0.5

    • Bug fix: Query endpoint must be overridden by vhost
    • Compatibility:

      • 7.9.0
  15. 6.0.4

    • Bug fix: Multiple entries with same key for image styles
    • Compatibility:

      • 7.9.0
  16. 6.0.3

    • Bug fix: Image URLs in rich text were missing styling
    • Compatibility:

      • 7.9.0
  17. 6.0.2

    • Security fix in GraphQL library
    • Compatibility:

      • 7.9.0
  18. 6.0.1

    • Bug fix: Use content root as default for Global API
    • Bug fix: Case insensitive sitekey header
    • Compatibility:

      • 7.9.0
  19. 6.0.0

    • Project-level APIs
    • Query Playground - Content Studio integration
    • X-data GraphQL types are now available
    • Breaking change: Site support dropped
    • Compatibility:

      • 7.9.0
  20. 5.4.0

    • Upgraded to lib-guillotine 5.5.0
    • Compatibility:

      • 7.7.0
  21. 5.3.1

    • Upgraded to lib-guillotine 5.3.1
    • Compatibility:

      • 7.7.0
  22. 5.3.0

    • Add `queryContext` to arguments for `execute` function
    • Support easy trimming of `_path`
    • Add `imageSizes` field to `processHtml`
    • Bug fix: processHtml is not supported on TextComponent
    • Compatibility:

      • 7.7.0
  23. 5.2.1

    • Upgraded to lib-guillotine 5.2.1
    • Compatibility:

      • 7.7.0
  24. 5.2.0

    • Upgraded to lib-guillotine 5.2.0
    • New aggregations
    • Compatibility:

      • 7.7.0
  25. 5.1.0

    • Subscription improvements
    • xAsJson for x-data
    • Regenerate schema on app changes
    • Compatibility:

      • 7.2.0
  26. 5.0.1

    • Bug fix
    • Compatibility:

      • 7.2.0
  27. 5.0.0

    • Upgraded to Guillotine library v5.0.0
    • Compatibility:

      • 7.2.0
  28. 4.2.3

    • Fixed handling of option names inside option-set
    • Compatibility:

      • 7.2.0
  29. 4.2.2

    • Bug: processHtml is unavailable for HtmlArea inside an item-set
    • Compatibility:

      • 7.2.0
  30. 4.2.1

    • Fixed resolution of attachment input type
    • Compatibility:

      • 7.2.0
  31. 4.2.0

    • Enhancement: Component Config
    • Enhancement: Content: Field "_references"
    • Enhancement: ContentType: Field "formAsJson"
    • Enhancement: Content: Field "contentType"
    • Enhancement: Handle input type "MediaSelector"
    • Compatibility:

      • 7.0.0
  32. 4.1.2

    • Bug: Return null values
    • Compatibility:

      • 7.0.0
  33. 4.1.1

    • Refactoring: Fix build dependencies
    • Bug: Add auth check on websocket creation
    • Compatibility:

      • 7.0.0
  34. 4.1.0

    • Enhancement: New event subscription (GraphQL WS protocol)
    • Compatibility:

      • 7.0.0
  35. 4.0.0

    • Enhancement: Possibility to serve contents located outside of the site (allowPaths)
    • Enhancement: Handle widlcard "${site}" in content paths and queries
    • Improvement: Refactored page related fields
    • Compatibility:

      • 7.0.0
  36. 3.0.0

    • Enhancement: Additional security check
    • Enhancement: Remove site path filtering on references
    • Enhancement: Flattened components
    • Enhancement: Render GraphQL playground on GET requests
    • Compatibility:

      • 7.0.0
  37. 2.0.0

    • Adaptation: Adapt to Enonic XP 7.0 changes
    • Compatibility:

      • 7.0.0
  38. 1.0.2

    • Bug: processHtml is unavailable for HtmlArea inside an item-set
    • Compatibility:

      • 6.13.0
  39. 1.0.0

    • Refactoring: Usage of guillotine library
    • Bug: Handle optional references
    • Compatibility:

      • 6.13.0