1.5.4.3.1. 开发说明

1.5.4.3.1.1. 确定栏目数据

栏目中的数据由首页应用来确定

需要提供的接口:

1、数据列表抽取接口,该接口用来获取栏目显示的数据;

2、数据总数统计接口,该接口用来显示栏目数据的总数(如果需求显示数据总数)。

1.5.4.3.1.2. 栏目解析类开发
  1. Package:com.seeyon.ctp.portal.section

  2. 解析类需要继承抽象类:com.seeyon.ctp.portal.section.BaseSectionImpl

  3. Demo类示例

    public class DemoSection extends BaseSectionImpl {
    
        @Override
        public String getId() {
            //栏目ID,必须与spring配置文件中的ID相同;如果是原栏目改造,请尽量保持与原栏目ID一致
            return "demoSection";
        }
    
        @Override
        public String getName(Map<String, String> preference) {
            //栏目显示的名字,必须实现国际化,在栏目属性的“columnsName”中存储
            String name = preference.get("columnsName");
            if(Strings.isBlank(name)){
                return "demoSection";
            }else{
                return name;
            }
        }
    
        @Override
        public Integer getTotal(Map<String, String> preference) {
            //栏目需要展现总数据条数时重写
            return null;
        }
    
        @Override
        public String getIcon() {
            // 栏目图标,暂不需要实现
            return null;
        }
    
        @Override
        public BaseSectionTemplete projection(Map<String, String> preference) {
            //栏目解析主方法
            
            HtmlTemplete ht = new HtmlTemplete();
            StringBuilder html = new StringBuilder();
            html.append("<div>DemoSection</div>");
            ht.setHeight("230");
            ht.setHtml(html.toString());
            ht.setModel(HtmlTemplete.ModelType.inner);
            ht.setShowBottomButton(true);
            ht.addBottomButton(BaseSectionTemplete.BOTTOM_BUTTON_LABEL_MORE, "javascript:alert('ok');");
            return ht;
        }
    }
1.5.4.3.1.3. 栏目解析类配置
  1. 编写好的栏目类需要在对应的插件Spring配置文件夹进行Spring注册配置。

  2. 约定栏目的Spring文件命名为spring-xxxx-section.xml xxxx为插件Id

  3. 栏目属性对照表

    Table 1.5.1. 栏目属性对照表

    属性名 值域 描述
    sectionType common, //常用栏目 timeManagement, //时间管理 publicInformation, //公共信息 doc, //文档栏目 formbizconfigs, //表单栏目 forum, //扩展栏目 栏目类型,空间选择栏目时栏目的分类由该属性决定
    sectionCategory plan 栏目类型中的分类:常用、计划...
    spaceTypes Constants.SpaceType中枚举的类型 允许添加该栏目的空间类型
    resourceBundle 示例:com.seeyon.v3x.main.resources.i18n.MainResources 国际化绑定来源,已废弃
    properties List<SectionProperty> 栏目编辑属性

  4. 空间类型

        /**
         * 空间类型,顺序不可改变
         */
        public static enum SpaceType {
            /**
             * 0 个性化个人空间
             */
            personal, //0
            
            /**
             * 部门空间
             */
            department, //1
            /**
             * 单位空间
             */
            corporation, //2
            /**
             * 集团空间
             */
            group, //3
            /**
             * 自定义团队空间
             */
            custom, //4
            
            //默认的空间
            /**
             * 默认个人空间
             */
            Default_personal, //5 
            //@Deprecated
            /**
             * 默认部门空间
             */
            Default_department, //6 
            
            @Deprecated
            Default_custom,  //7 
            /**
             * 第三方系统
             */
            thirdparty, //8 
            /**
             * 默认领导空间
             */
            default_leader,//9 
            /**
             * 个性化领导空间
             */
            leader,//10 
            /**
             * 关联系统
             */
            related_system,//11 
            /**
             * 关联项目
             */
            related_project,//12 
            /**
             * 自定义个人空间
             */
            Default_personal_custom,//13 
            /**
             * 默认外部人员空间
             */
            Default_out_personal,//14 
            /**
             * 个性化个人自定义空间
             */
            personal_custom,//15 
            /**
             * 个性化外部人员空间
             */
            outer,//16  
            /**
             * 自定义单位空间
             */
            public_custom,//17 
            /**
             * 自定义集团空间
             */
            public_custom_group,//18 
            //二级主页空间
            /**
             * 协同工作
             */
            cooperation_work,//19 协同工作
            /**
             * 目标管理
             */
            objective_manage,//20 目标管理
            /**
             * 公文管理
             */
            edoc_manage,//21 公文管理
            /**
             * 会议管理
             */
            meeting_manage,//22 会议管理
            /**
             * 协同驾驶舱
             */
            performance_analysis,//23 协同驾驶舱
            /**
             * 空间模板的默认空模板类型,不是空间类型,内部使用
             */
            template,//空间模板的默认空模板类型,不作为空间类型使用
            /**
             * 表单应用
             */
            form_application,//25 表单应用
            //end 
        }
  5. Demo栏目配置示例

    <bean id="demoSection" class="com.seeyon.ctp.portal.section.DemoSection" init-method="init">
        <property name="sectionType" value="common" />
        <property name="sortId" value="99" />
    </bean>
  6. 栏目模板列表

    Table 1.5.2. 栏目模板对照表

    模板类 描述
    CalendarFourColumnTemplete 日程事件的四列模板:标题 开始时间 结束时间 状态
    ChessboardTemplete 棋盘式 * 左边小图标(默认16*16)+右边标题 * 上边大图标(默认32*32)+下边标题 * 标题可以有浮动菜单
    ChessMultiRowThreeColumnTemplete 棋盘式 、3列
    HtmlTemplete 直接输出HTML代码片断
    MonthCalendarTemplate 月历式栏目
    MoveMultiRowThreeColumnTemplete 多行3列滚动式
    MultiIconCategoryItem 多行的,图标,分类,文本的展现形式<br> * 图表是32px * 32px的,在左边,右边的上面是分类(Category),下面是若干个项
    MultiRowFourColumnTemplete 多行3列模板,依次是:subject createDate createMemberName category
    MultiRowThreeColumnTemplete 多行3列模板,依次是:subject createDate category
    MultiRowVariableColumnTemplete 成倍行,不定列 模板 * 适用于 三或四列标准列表模板满足不了需要的情况下* 可以自定义列数、宽度、单元格样式、链接地址
    MultiSubjectSummary 多行的,显示标题和摘要,常用新闻、公告
    OneImageAndListTemplete 图片加列表模板 * 第一列为图片居左 右边为标题加摘要 * 下面为列表 * 列表内容为 * 标题 发起时间 所属板块 * 列表参数可配置
    OneItemUseTwoRowTemplete 两行展现一项 模板 * 适用于 如集团空间调查栏目 * 第1行 标题,另起一行 发布时间和类型
    OnePictureTemplete 图片滚动式
    OneSummaryAndMultiList 显示模式:一条显示为“标题+时间+(类别)+摘要”,下面是若干行列表
    PictureTemplete 图片基础模板
    PictureTitleAndBriefTemplete 标题加摘要的新闻模板