Movatterモバイル変換


[0]ホーム

URL:


BloomreachBloomreach
Hippo CMS

Bloomreach Documentation version

Bloomreach.com

This article covers a Bloomreach Experience Manager version 13. There's anupdated version available that covers our most recent release.

UI Plugin Application

Web applications that are completely configured from the repository consist of one page: "Home". Applications consist of a configured collection of plugins. The configuration is stored in the repository under /hippo:configuration/hippo:frontend.

Example

The example (inYAML format) below shows two application configurations ("foo" and "bar").

/hippo:configuration:  jcr:primaryType: hipposys:configuration  /hippo:frontend:    jcr:primaryType: hipposys:applicationfolder    /foo:      jcr:primaryType: frontend:application    /bar:      jcr:primaryType: frontend:application

Each application has a plugin that registers anIRenderService under the name "service.root". The Home page in each application adds the service's Wicket component (seeIRenderService.getComponent()) to itself when this service registers. The plugin must implementIRenderService, a feat most easily accomplished by extending theRenderPlugin class. This plugin registers itself as the service, and also provides itself as the Wicket component to wire into the hierarchy.

public class RootPlugin extends RenderPlugin {    public RootPlugin(IPluginContext context, IPluginConfig config) {        super(context, config);        addExtensionPoint("extension");    }}

When the plugin is instantiated, it registers itself as the "service.root" render service (when configured correctly). It listens for other (render) services that register under the service name that "extension" is an alias for. When such a service registers, it is added to the component hierarchy. If no such service exists, an empty panel is shown. The plugins that are configured in the repository node structure must therefore correspond to missing Wicket components in the HTML forRootPlugin. For example, if the above root component has this HTML:

<html xmlns:wicket="http://wicket.apache.org/">  <wicket:panel>    <p>      <div wicket:id="extension">[sub plugin will be rendered here]</div>    </p>  </wicket:panel></html>

then the repository structure that will generate the correct component hierarchy is:

/hippo:configuration:  jcr:primaryType: hipposys:configuration  /hippo:frontend:    jcr:primaryType: hipposys:applicationfolder    /application:      jcr:primaryType: frontend:application        /cluster:          jcr:primaryType: frontend:plugincluster          /RootPlugin:            jcr:primaryType: frontend:plugin            plugin.class: org.example.RootPlugin            wicket.id: service.root            wicket.extension: service.extension          /subPlugin:            jcr:primaryType: frontend:plugin            plugin.class: org.example.subPlugin            wicket.id: service.extension

Both frontend:plugin nodes,RootPlugin andsubPlugin, need to have a propertyplugin.class, which contains the full class name of the plugin.

Did you find this page helpful?
How could this documentation serve you better?
Cheers!
On this page
    Did you find this page helpful?
    How could this documentation serve you better?
    Cheers!

    [8]ページ先頭

    ©2009-2025 Movatter.jp