您可以选择通过节点或是代码配置应用。这里我们会比较这两种方法。配置引用里有完整的例子。您也可以在我的首个内容应用中看到一个完整的内容应用的详细配置方法。
节点配置法是说您手动创建配置节点。以下例子显示了您将会在您的配置树里看到什么。当您创建完所有必要的节点,并验证了配置工作正常时,将其导出为一个XML文件。将该XML文件添加进您的模块引导程序文件中。当这个模块被安装或者更新时,配置就安装了。
代码配置法是说您可以在Java代码里配置应用。这种实时(on-the-fly)配置法当应用启动时就会被解析。您不需要在配置树里看到任何节点。编代码的好处是IDE可以完成代码。您不需要记住属性名。IDE还可以修正拼写错误。 代码配置法在Magnolia 5.0里还不可用,将会在未来的版本里发布。
应用
应用配置定义用户在应用启动器中看到的应用,并且它还能识别包含应用的业务逻辑的类。
使用节点的应用描述符
应用描述符配置是用来描述应用的。描述符为应用分配名称、图标以及实现类。应用内容节点的名称由于在整个系统内指向应用,所以应该是独一无二的,也就是说,您不可以将您的应用取名为
pages
,因为一个页面应用已经存在了。这是一个helloworld
应用的描述符例子。
节点名 | 值 |
---|---|
modules | |
ui-helloworld-app | |
apps | |
helloworld | |
subApps | |
appClass | info.magnolia.ui.app.helloworld.HelloWorldApp |
class | info.magnolia.ui.api.app.registry.ConfiguredAppDescriptor |
icon | icon-app |
label | Hello World |
version | 1.0.0 |
属性:
appClass
: 包含应用业务逻辑的Java类的完全匹配类名。这个类必须完成$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") App界面。class
: (可选)读取配置的应用描述符类。这个类必须完成$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") AppDescriptor界面。缺省值是info.magnolia.ui.api.app.registry.ConfiguredAppDescriptor
。icon
: CSS类,识别用在应用板块上的图标字体。可用的名字请参考图标。label
: 在应用启动器里,显示在应用图标上的标签。name
:
应用名。subApps
: 包含子应用的节点。- theme: 定制应用主题的名称。
使用代码的应用描述符
TODO: Configuration by code.子应用
使用节点的子应用描述符
以下是一个在
helloworld
应用里的main
子应用的样例,子应用配置在subApps
文件夹里创建。节点名 | 值 |
---|---|
modules |
|
ui-helloworld-app |
|
apps |
|
helloworld |
|
subApps |
|
main | |
class | info.magnolia.ui.api.app.registry.ConfiguredSubAppDescriptor |
label | Hello! |
subAppClass | info.magnolia.ui.app.helloworld.main.HelloWorldMainSubApp |
属性:
class
. 读取配置的子应用描述符类。这个类必须完成$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") SubAppDescriptor界面。此类的样例为$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") ConfiguredSubAppDescriptor和$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") ConfiguredContentSubAppDescriptor。缺省值为info.magnolia.ui.api.app.registry.ConfiguredSubAppDescriptor。
使用类的完整相称名。subAppClass
. 子应用业务逻辑类。这个类必须完成$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") SubApp界面来将子应用以标签卡形式呈现给用户。
您配置子应用的顺序很重要。第一个子应用将会成为默认子应用被首先启动。
使用代码的子应用描述符
TODO: Configuration by code.应用启动器
使用节点的应用启动器布局
应用启动器布局将应用按组归类,并定义组的外观。您可以在
/modules/ui-admincentral/config/appLauncherLayout
里找到布局配置。节点名 | 值 |
---|---|
modules | |
ui-framework | |
config | |
appLaucherLayout | |
groups | |
edit | |
apps | |
pages | |
assets | |
contacts | |
color | #9A3332 |
label | Edit |
permanent | true |
属性:
<group name>
. 应用组名。这是个内部名称,不会对用户显示。用户看到的组名实际上是label
里定义的。apps
<app name>
: 应用组里的一个应用名。这个名字必须与应用配置里给出的名字一致,例如,pages
。
clientGroup
. 该属性可以将组移动到应用启动器的底部,并将组颜色设置为白色。当您创建您自己的应用组时,将此属性设置为true
。这样它们就会与Magnolia自带的应用分开,编辑器就能识别出它们为您公司的应用了。color
. 组边框的颜色。您可以使用任何有效的十六进制代码、RBG值或是颜色名称。label
. 在组板块上显示的文字。您可以使用一个对组内应用来说意义相同的标签,如Edit
或Manage
等。系统会将所有字符转换为大写。permanent
. 定义组显示在应用启动器布局的顶端(true
)还是底部(false
)。缺省值为false
。permissions
. 定义用户能在应用启动器中看到的应用。
使用代码的应用启动器布局
TODO: Configuration by code.Overview
Content Tools