Skip to content
forked from gentics/mesh

Gentics Mesh - The open source headless CMS for developers

License

Notifications You must be signed in to change notification settings

bernhardriegler/mesh

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Stack Overflow Join the chat at https://gitter.im/gentics/mesh

Gentics Mesh

Gentics Mesh is an Open Source API-first CMS for developers. All contents can be stored/updated and retrieved using the REST API.

Features

  • Document level permissions
  • Versioned content
  • Webroot API for easy integration with modern routing frameworks
  • Search API powered by elasticsearch
  • GraphQL API
  • Image API
  • Tagging API
  • Cluster support
  • Graph database at its core
  • Docker support

alt tag

Getting Started

You need to have at least JRE 8 of Java installed. See the Getting Started page for more information.

You can either download the all-in-one jar or fire up one of the Docker images.

Documentation

UI

Gentics Mesh automatically ships with a UI which allows you to browse your contents.

The UI can be accessed via http://localhost:8080/mesh-ui

Typical usage

You can retrieve stored contents via the REST or GraphQL API.

First things first: you need to authenticate, otherwise you will not be able to access your data.

You can post your credentials via JSON, use basic auth or send a JWT header - the choice is yours. If you open that URL in a browser, you will most likely authenticate using basic auth.

REST API

Now that you are authenticated, you can load content via the REST API.

Load a list of projects:

Or a list of contents:

GraphQL

If you want to retrieve deeply nested data you may use the GraphiQL browser:

Or try our live demo.

Example JSON

Typical Request/Response:

GET /api/v1/demo/nodes/1f91269a4e6042c391269a4e6052c3e4?lang=en,de HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Accept: application/json, text/plain, */*


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Encoding: gzip
Transfer-Encoding: chunked

{
  "uuid" : "c7f284b8db9740fab284b8db97b0fa72",
  "creator" : {
    "uuid" : "344278e8bec74f6a8278e8bec76f6a87"
  },
  "created" : "2017-03-27T11:22:27Z",
  "editor" : {
    "uuid" : "344278e8bec74f6a8278e8bec76f6a87"
  },
  "edited" : "2017-03-27T11:22:35Z",
  "language" : "en",
  "availableLanguages" : [ "en" ],
  "parentNode" : {
    "projectName" : "demo",
    "uuid" : "3d77fe558cf743d3b7fe558cf783d343",
    "displayName" : "Vehicle Images",
    "schema" : {
      "name" : "folder",
      "uuid" : "35de83ec7df048d59e83ec7df028d50f"
    }
  },
  "tags" : [ ],
  "childrenInfo" : { },
  "schema" : {
    "name" : "vehicleImage",
    "uuid" : "4bae3a3ec02043abae3a3ec020d3ab42",
    "version" : 1
  },
  "displayField" : "name",
  "fields" : {
    "name" : "Tesla Roadster Image",
    "image" : {
      "fileName" : "tesla-roadster.jpg",
      "width" : 1024,
      "height" : 670,
      "sha512sum" : "2a56c85df60ab753f77fe75a63910b7e3f9ae89cd90e1906ad6210ee408ce07d5d95f269a21217ee045af8ac7d6c934324e49908d463971e31498b994b757d03",
      "fileSize" : 607113,
      "mimeType" : "image/jpeg",
      "dominantColor" : "#90786b"
    }
  },
  "breadcrumb" : [ {
    "projectName" : "demo",
    "uuid" : "3d77fe558cf743d3b7fe558cf783d343",
    "displayName" : "Vehicle Images",
    "schema" : {
      "name" : "folder",
      "uuid" : "35de83ec7df048d59e83ec7df028d50f"
    }
  } ],
  "version" : {
    "uuid" : "54d70c2d951d4188970c2d951d218875",
    "number" : "1.0"
  },
  "container" : false,
  "permissions" : {
    "create" : true,
    "read" : true,
    "update" : true,
    "delete" : true,
    "publish" : true,
    "readPublished" : true
  }
}

IDE Setup - Eclipse

Make sure that you use at least Eclipse Neon.

Install the following maven m2e workshop plugins:

  • m2e-apt-plugin

Note: Make sure that your Eclipse Maven APT settings are set to "Automatically configure JDT APT". If you don't find this option, you most likely need to install the M2E APT Plugin for eclipse.

Import all maven modules in your IDE.

Please note that this project is using Google Dagger for dependency injection. Adding new dependencies or beans may require a fresh build (via Project->Clean) of the mesh-core/mesh-api modules.

About

Gentics Mesh - The open source headless CMS for developers

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 70.8%
  • JavaScript 28.0%
  • Other 1.2%