当前位置: 首页 > 工具软件 > uPortal > 使用案例 >

uPortal通过修改片段布局XML文件设置片段布局

张通
2023-12-01

您可以通过修改创建新的片段布局XML文件来创建新的片段布局,或者通过修改现有的片段布局XML文件来修改现有的片段布局。完成后,您可以使用一种数据导入方法来导入片段(参见导入和导出数据)。

片段布局XML文件是文件夹和通道的层次结构,带有一些帮助定义页面结构的附加属性和元素。一个例子是:

<?xml version="1.0" encoding="UTF-8"?>
<layout xmlns:dlm="http://www.uportal.org/layout/dlm" script="classpath://org/jasig/portal/io/import-layout_v3-2.crn" 
  username="welcome-lo" >
  <folder ID="s1" hidden="false" immutable="false" name="Root folder" type="root" unremovable="true">
    <!--
     | Hidden folders do not propagate to regular users, and fragment owner 
     | accounts don't receive (other) fragments at all;  Fragment owners must
     | have their own copies of the minimal portlets required to view and manage
     | their own layouts.
     +-->
    <folder ID="s2" hidden="true" immutable="true" name="Page Top folder" type="page-top" unremovable="true">
      <channel fname="dynamic-respondr-skin" unremovable="false" hidden="false" immutable="false" ID="n3"/>
      <channel fname="fragment-admin-exit" unremovable="false" hidden="false" immutable="false" ID="n4"/>
    </folder>
    <folder ID="s5" hidden="true" immutable="true" name="Customize folder" type="customize" unremovable="true">
      <channel fname="personalization-gallery" unremovable="false" hidden="false" immutable="false" ID="n6"/>
    </folder>
    <folder ID="s7" dlm:deleteAllowed="false" dlm:editAllowed="false" dlm:moveAllowed="false" hidden="false" immutable="false" name="Welcome" type="regular" unremovable="false">
      <structure-attribute>
          <name>externalId</name>
          <value>welcome</value>
      </structure-attribute>
      <folder ID="s8" hidden="false" immutable="false" name="Column" type="regular" unremovable="false">
        <structure-attribute>
          <name>width</name>
          <value>60%</value>
        </structure-attribute>
        <channel fname="email-preview-demo" unremovable="false" hidden="false" immutable="false" ID="n9" dlm:moveAllowed="false" dlm:deleteAllowed="false"/>
        <channel fname="weather" unremovable="false" hidden="false" immutable="false" ID="n10"/>
        <channel fname="pbookmarks" unremovable="false" hidden="false" immutable="false" ID="n11" dlm:moveAllowed="false" dlm:deleteAllowed="false"/>
      </folder>
      <folder ID="s12" hidden="false" immutable="false" name="Column" type="regular" unremovable="false">
        <structure-attribute>
          <name>width</name>
          <value>40%</value>
        </structure-attribute>
        <channel fname="calendar" unremovable="false" hidden="false" immutable="false" ID="n13"/>
      </folder>
    </folder>
  </folder>
</layout>

片段布局XML文件具有以下层次结构:

一个<layout>节点;这是文档的根节点,包含一些重要的属性

一个<folder type="root">节点,是<layout>的唯一直接子节点;所有布局内容都是这个元素的后代

添加了各种类型的<folder>元素,包括常规、页顶、预标题、自定义等;普通文件夹定义页面的标签/列内容;非规则文件夹将内容放入区域

<folder>元素表示Regions直接包含<channel>元素

<folder> 表示标签(type="regular")包含<folder name="Column" type="regular">元素

<channel>元素,通过fname标识portlet,从而将它们引入布局

可选<structure-attribute>节点

隐藏的文件夹

片段布局通常包含隐藏的文件夹(hidden="true"),管理portlet需要允许Manage layouts Admin UI在编辑片段布局时正常工作。隐藏文件夹只将其内容传递给片段所有者帐户——而不是片段的受众成员。

布局节点

属性描述必须
xmlns:dlm命名空间,标识解析XML文件的模式。必须是http://www.uportal.org/layout/dlmY
script处理XML文件的脚本的位置Y
username可以管理片段的片段所有者的名称。当使用管理UI管理片段时,这是您模拟来管理片段布局的本地帐户。按照惯例,它是“fragmentOwnerName-lo”,其中fragmentOwnerName是一个名称,语义上传达什么内容(可能是标签名)和lo代表布局所有者(例如:“welcome-lo”)。片段所有者帐户必须存在。Y

属性描述uP4.3:api/v4-3/dlm/layout.json字段必须默认
ID

ID值。按照约定,文件夹是“s#”,频道是“n#”,其中#是一个数值。字母名称是任意的。数字部分必须是XML文件中唯一的数字值(在所有文件夹和频道中唯一);例如,你不能在同一个XML文件中同时有"s1"和"n1",因为"s"和"n"没有存储到数据库中。

用户自定义的页面在数据库中表示“删除ID x”所以一旦用于生产布局,你不能改变现有的ID值或重用ID值或uPortal将无法正确呈现用户的页面,修改他们的布局。

在使用Admin UI修改布局后,您应该导出片段布局并将其存储在源代码存储库中,这样您就可以使用ant initdb或ant initportal在其他环境中重新创建布局。

Y
hidden

将显示给用户的文件夹设置为false。

对于不向用户显示但在管理UI中选择Manage DLM Fragments时显示的文件夹,将其设置为true。

片段所有者必须存在特定的通道来编辑片段。这些通道包括动态- Respondr -skin(用于Respondr them)、片段-管理-退出(允许退出Manage DLM Fragments用户模拟)和个性化图库(允许使用自定义查找并向页面添加portlet)。

Y
immutable过时的参数从uPortal 2.x?false
name文件夹名称。如果一个文件夹是一个选项卡,这是选项卡的名称。按照惯例,列的名称为Column或者Column1, Column2。用户看不到列名。Y
type

文件夹类型。由于历史原因,这通常表明文件夹的内容在页面上的位置。选项有:

规则——放在TAB或列中的内容(取决于层次结构中的级别)

region name -区域名称(参见Respondr区域特性)

Y
unremoveable来自早期uPortal版本的过时参数。不要使用。Nfalse
dlm:addChildAllowed对于选项卡文件夹或列文件夹,确定具有自定义布局权限的用户是否可以向文件夹添加子元素(选项卡的列,列的portlet)。hasColumnAddChildAllowedNtrue
dlm:deleteAllowed对于选项卡文件夹或列文件夹,确定具有自定义布局权限的用户是否可以将项目(选项卡对应选项卡,列对应列)删除到该文件夹。deleteAllowedNtrue
dlm:editAllowed对于选项卡文件夹,确定具有自定义布局权限的用户是否可以重命名文件夹(实际上只有在选项卡上重命名选项卡才有用)editAllowedNtrue
dlm:moveAllowed对于选项卡文件夹或列文件夹,确定具有自定义布局权限的用户是否可以移动页面上的选项卡或列moveAllowedNtrue

dg



 类似资料: