Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Next »

The Development Tools module provides a basis for creating plugins to interact with a running Magnolia instance. Using the endpoints provided by this module you can create interactive IDEs with intellisense features to help facilitate the development process.

Installing

Module not completed yet. Proposed API shown below.

<dependency>
  <groupId>info.magnolia.development</groupId>
  <artifactId>magnolia-development-tools</artifactId>
  <version>${notYetReleased}</version>
</dependency>

Usage

This module comes with a REST endpoint for querying the different definition registries.

Registry Endpoint

Returns registry data in the form of a JSON object.

Request URL

/.rest/registry/v1/{registry}/{module}


Parameter

Description

Parameter type

Data type

registry

required

The name of the registry to access. Get all items from a specific registry.

Example: modules, appsdialogs, fields, templates

path

String

module

optional

Used together with a modules registry request. Limit the request to target a specific module and return a list of registries used by that module.

pathString
type

optional

Used together with a modules registry request. Find all the definitions of a specific type. Each definition will include the relative path to the definition if one exists.

queryString

onlyDefinitionProviders

optional, default is false

Used together with a modules registry request. Set this flag if you only want a list of modules which provide definitions.

query

Boolean

Example: Get all modules

Get all the modules from the ModuleRegistry.

curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/registry/v1/modules' \ 
-u superuser:superuser

 Click to see the response
[  
   "about-app",
   "appswitcher",
   "cache",
   "cache-app",
   "cache-browser-app",
   "categorization",
   "categorization-support",
   "ce-product-descriptor",
   "config",
   "contacts",
   "core",
   "dam",
   "dam-app",
   "dam-imaging",
   "dam-jcr",
   "dam-templating",
   "definitions-app",
   "development-tools",
   "ehcache3",
   "form",
   "freemarker-support",
   "google-sitemap",
   "groovy",
   "i18n",
   "imaging",
   "imaging-support",
   "javascript-models",
   "jcr-browser-app",
   "jcr-tools",
   "log-tools",
   "magnolia-resources-templating",
   "mail",
   "messages-app",
   "mte",
   "mte-imaging",
   "mtk",
   "pages",
   "password-manager",
   "publishing-app",
   "publishing-core",
   "publishing-receiver",
   "publishing-sender",
   "rendering",
   "resource-loader",
   "resources",
   "resources-app",
   "rest-client",
   "rest-content-delivery",
   "rest-integration",
   "rest-services",
   "resteasy-client",
   "rssaggregator",
   "scheduler",
   "security-app",
   "site",
   "site-app",
   "task-management",
   "templating",
   "templating-jsp",
   "ui-admincentral",
   "ui-contentapp",
   "ui-framework",
   "ui-mediaeditor",
   "virtual-uri",
   "webapp"
]

Example: Get a list of definition registries used by a module

Query a specific module for the definition types it provides.

curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/registry/v1/modules/ui-framework' \ 
-u superuser:superuser

[  
   "dialogs",
   "fieldTypes"
]

Example: Get a list of definitions for a specific type

Get a list of all definitions by type. This will include the relative path if one exists.

curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/registry/v1/modules/ui-framework?type=dialogs \
-u superuser:superuser

[  
   "folder",
   "importZip",
   "rename"
]

Example: Get all modules providing definitions

Get all the modules which provide definitions.

curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/registry/v1/modules?onlyDefinitionProviders=true' \ 
-u superuser:superuser

 Click to see the response
[  
   "about-app",
   "cache-app",
   "cache-browser-app",
   "categorization",
   "contacts",
   "dam-app",
   "definitions-app",
   "development-tools",
   "eclipse-plugin-support",
   "form",
   "google-sitemap",
   "groovy",
   "jcr-browser-app",
   "jcr-tools",
   "log-tools",
   "mail",
   "messages-app",
   "mte",
   "mtk",
   "pages",
   "password-manager",
   "publishing-app",
   "rendering",
   "resources",
   "resources-app",
   "rest-services",
   "rssaggregator",
   "scheduler",
   "security-app",
   "site",
   "site-app",
   "templating",
   "ui-admincentral",
   "ui-framework",
   "ui-mediaeditor"
]

Repository Endpoint

Create the workspace, node type, and access permissions for a content app using this endpoint. The access permissions are created for the superuser.

Request URL

/.rest/repository/v1/workspace/{name}


Parameter

Description

Parameter type

Data type

name

required

The name of the workspace to be created.

path

String

Example: Create a workspace

Create a workspace named events.

curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/repository/v1/workspace/events \
-u superuser:superuser

{ Workspace events created }

Source Code

The source for this module can be found here: https://git.magnolia-cms.com/projects/FORGE/repos/development-tools/browse

Issues, Bugs, Improvements

Either comment on this page or open a ticket here: DEVTOOLS

  • No labels