iLogic

云开发手册

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

iLogic核心研发部

2013

 

 

导读... 1

绪论... 2

云背景... 2

云开发及平台定义... 2

组成要素... 2

区别和联系... 3

云趋势... 3

云开发模型... 4

综述... 4

模板定义... 4

一切都是模板... 5

页元模式驱动引擎... 7

内嵌多种脚本或编译语言解释器... 9

云服务框架... 10

软件即服务(SaaS) 12

产品配置... 12

特色总结... 13

快速开始一个项目... 15

iPaaS云开发集成环境(IDE... 16

页元驱动敏捷开发... 23

实用性原则... 23

架构概念和设计... 23

页元选型和构件扩展... 26

第一步:根据页面原型进行页元选型... 26

第二步:剩余复杂功能进行构件扩展... 32

第三步:寻求支持而无编码解决难题... 32

可视工具套件集的组合选配... 32

模板快构工具... 34

1     开始一个简单的内容模板... 34

2     完成一个带栏标的主体模板--列表页... 35

3     建立页头、导航、友情链接、页尾等公共页嵌套模板... 36

4     构建更高级别的主体模板首页或频道页... 36

5     引入内容中的自敏感快速交互功能... 37

6     引入内容的独立增删改功能... 37

7     进行列表查询的提升... 38

8     引入高级列表查询功能... 38

9     引入平台公共的通知、短消息系统... 38

10       构建项目内部独立的评论系统、调查系统... 39

11    加入统一用户管理系统... 39

12       加入独立用户管理系统*. 39

13       关于文件管理和控制... 39

14       版本日志列示和控制... 39

15       如何充分降低页面JSajax编程... 40

页面快设工具... 40

工作流设计工具... 40

概述... 40

工作流模型... 41

工作流设计器功能介绍... 41

工作流建模及使用... 42

特色... 43

表单设计器... 43

原则... 43

表单模型... 43

表单设计器功能介绍... 44

特色... 45

统一快维工具... 45

开放软件即服务... 47

统一权限管理... 47

数据采集体系... 48

视图整合配置... 48

统计报表机制... 48

全文检索功能... 49

定时任务管理... 49

开放软件服务... 49

云产品化极速配置... 50

云端下载... 50

快速产品化... 50

手动调整... 50

产品包定制... 51

云开发维护... 52

系统云打包和部署... 52

平台云升级及离线升级... 52

模板云协同、框架版本协同及离线协同... 53

项目云备份和云恢复... 54

服务器云镜像和热切换... 54

数据云同步和批量初始化... 55

异构项目移植的封装和导入... 55

云运行管理... 56

云永久授权... 56

基本运行自检... 56

统一网页管理... 56

Linux综合管理命令ilogicman. 57

Windows快速管理命令... 57

iLogic服务端口... 58

云实施主题智库... 59


导读

       云概念铺天盖地,云时代也正姗姗而来。

iLogic云开发平台会让您对软件的开发、管理和使用带来同样变革性的云体验,不用掌握专业技能就能开发专业系统,而专业人员则能体验它的开发效率、管理能力、高并发性能和敏捷服务框架,除非你只想一个人开发一个人用?

带来这一切的就是iLogic云开发平台:依靠“一切都是模板”的对象理念、“敏捷页元”的模式驱动、“全面自控”的多类型嵌入脚本以及“神奇莫测”的云服务框架等一系列根本创新云技术凝聚而成。

上面所有的创新理念和技术将全面开放集成在iPaaS集成开发环境中,确保所有动作都变成可见即可得、所想即所能、输入即输出、输出即输入的可视化开发配置,真正实现“无编码”;当然,如果你就是喜欢编码,你也可以完全进入另外一种不用反复编写同一种代码的敏捷代码生成的神奇世界。

在了解基本概念和熟悉基本环境基础上,我们立即开始全面充分地通过页元敏捷驱动,进行从零开始的快速云实践,通过面向各种传统典型业务及应用块的敏捷、无编码的开发配置,让你快速掌握iLogic云开发平台面对基本软件、应用和服务的云开发方式。

通过页元驱动模式,一个软件应用的基本功能搭建完毕,但还剩下各种复杂、高级、专业甚至涉及核心竞争力的技术服务怎么实现呢?开放软件即服务(SaaS)将为你提供全方位的解决,譬如用户统一权限、数据多通道整合、多维统计报表及全文检索引擎等。

最后,面对一个软件、应用和服务,我们还要构造面向各种管理角度的管理体系如网站内容管理、内网业务定义、统一用户管理等,如何快速增加这些层次的构造?实际上,包括一些应用系统如何产品化,从而可以快速形成高度可复用的产品;这些你都可以通过云产品化极速配置处得到超乎意料的实现方式。

这个完整的软件、应用或服务,如何通过超越操作系统及常规软件安装的方式,实现打包、部署、升级、备份、恢复、移植、同步等功能,iLogic云开发平台将提供全线云工具,让你同样感受到一键式便捷。

iLogic云开发平台,在运行管理时也提供云ITIL环境,让你实现对网络、空间、进程、数据库等的云端监控、管理、诊断、分析,让你面对问题时也一样挥手自如。

开始之前,请特别注意

l         该手册中的各种操作的演示讲解都是在iPaaSIDE中围绕云开发云实践方式进行,如果你就想了解传统程序模式,你可以参考最后一章的《高级云实施主体智库》寻找你想深入的主题;

l         任何操作,一旦达到一定复杂度从而不可把控,只有两个可能:要么是没有iLogic架构师帮你找到合适方式,要么可能你想实现的本来就是伪需求;

l         由于iLogic云开发平台中一切均可开放可配,尤其“表现层”可在任何场合任何时间进行各种配置,所以讲解基本不抓图而是给出具体地址和菜单导航地址;

l         iLogic云开发手册永远不会超过50页,就是能让你不用太多学习,立即可以真正进行专业软件系统的云开发!

或许,你现在就想开始,虽然我们还是建议你继续看看,但云时代将彻底告别这些前提和束缚,你现在立即可以从http://www.ilogic.cn的“快速体验”处开始进入平台,祝你好运!

 

绪论

云背景

“云” 的一种重要意义在于“打开水龙头”般的低廉方便且能“随需而变”。

从云计算、云软件(类似称为云应用、云服务)到云平台,从IaaS(基础设施即服务)、SaaS(软件即服务)到PaaS(平台即服务),“云”离我们越来越近。

构造云上的各种软件、应用和服务,需要通过软件开发才能实现,传统方法是面向过程或对象的“编程”,开发工具依然是单机上安装的封闭eclipsevisual studio,开发过程依然是先数据库设计再美工设计再开发再测试的串行模式.. ,造成这种方式门槛极高难度极大效率很低。随后一些“敏捷开发”工具纷纷出现,但还是脱离不开各种专业过程、工具和模型,一个新软件从零开始的开发,依然是专业的人员、无处不编码、高度不可控的过程。

云开发时代,迫切呼唤新的软件开发模式的变革。

云开发及平台定义

 云开发”是指一种面向普通人员哪怕无编程基础从零开始快速开发定制新软件、应用和服务的软件开发方式;而“云开发平台”就是这种支持云开发的包含创新开发理念、可视化工具集和新型软件过程管理的体系,且耦合成高度便捷的集成开发环境IDE)呈现。

 

云开发的前提是云的整体发展,使得云开发的过程可以在云环境中进行,而无需传统的选择、购买和安装的繁琐复杂而且成本居高不下。

云开发平台必须提出一套创新的方法论、工具集和过程管理体系,能让新软件的开发如同"打开水龙头”般的成本低廉使用方便,同时确保过程全生命周期的实现真正意义的”随需而变”。

这必然脱离传统面向对象或过程的手工编程,推翻各种需要在单机上安装的eclipsevisual studio等封闭开发工具或敏捷开发工具,同时由于云上多人使用的特点,传统软件的先数据库设计再美工设计再开发再测试的串行模式也将会被根本颠覆。

组成要素

能称之为“云开发平台”的,必须具备如下组成要素:

l         有创新的开发理念,要能超越传统的一切都是对象,提出一种新型软件构建的基础理念,从而大大简化传统软件的开发;

l         有较多的可视工具,整个开发过程,必须有各种的可视化工具支持,能做到无编码开发,且其中的概念不能太多太专业;

l         兼容流行开发语言,既然是开发,除了不懂编码的人可控外,更应该让有编码能力人感到强大、灵活和可复用,从而要求云开发过程其可兼容传统编程语言;

l         独立云服务的环境,云开发的前置条件就是同时能提供默认的云服务框架和环境,能迅速把上述开发成果转化成云软件、云应用和云服务;

l         各种专业的SaaS,常规软件中包含的一些专业核心软件技术,如全文检索、自然语言、统一用户等,必须变成专业的SaaS,供开发者快速整合;

l         要有充分的开放性,作为开发平台或开发方式,当然能够生成全部开发的源码,可以选择各种框架甚至自己定义的框架,同时还能够与各种开放框架耦合。

区别和联系

       XaaS和各种云概念的区别联系如下:

l         XaaS:云开发平台是一种敏捷、无编码的创新开发体系,最终可生成各种SaaS,部署在IaaSPaaS上,虽然云开发平台可以部署到XaaS上,同样你也可以在自身机器上体验这种开发体系的便利性。

l         云概念:云开发平台偏重的是如何写这些程序,只有写好才能放到云平台里提供而成为云软件、云应用和云服务,所以正是这些传统云迫切需要的生产工具,虽然云开发平台本身无缝运行在云平台中,可以利用云计算能力。

云趋势

当前流行的云技术包括HadoopMongoDB可以基于独立存储计算互为补充,而PaaSiLogic本身就是该技术,iLogic可以构造各种Social MediaiLogic可以使用jQueryHTML5直接构建模板,而面对移动手机应用开发的的ilogic云服务框架更是无缝对接。

其他各种云相关平台:更多只是侧重成熟产品的云软件应用服务,或者一种集中IaaSPaaSSaaS的云平台服务商,或者软件已经开发好或者你自己开发好了再说,都不是云开发平台本身所关注的软件生产和随需而变过程。

 

 

 

云开发模型

综述

传统软件开发很多人形容如同焦油坑,我们一直在寻觅软件开发的变革模型,尤其对于云时代的云开发而言;“模板”就是这种银弹级模型的核心和基础,如同引起面向过程到面向对象编程方式变革的对象一样。在这个比类和对象更让人可触摸和可理解的创新模型模板基础上,我们无缝融入各种技术真正实现“一切都是模板”的核心理念创新,然后精心构筑专做模板可视化、无编码制作的“页元模式驱动引擎”,只要做好模板,模板就是一切;而页元驱动生成的组件同时支持“多种脚本或编译语言嵌入代码”,这样为敏捷代码生成和业界已有成果复用奠定坚实的基础;然后这些模板通过“云服务框架”直接进行多种应用服务而快速实现基本软件系统功能,而偏向日常管理的常规既得的功能如编辑审核、偏向核心技术的专业化功能如全文检索统计报表、偏向全面控制的统一功能如用户权限日志监控等本身都是开放任用的“软件即服务(SaaS”供你直接选择简单复用,甚至包括所有任何平台上可见的独立操作,均可视为有效软件即服务;对于这些功能虽然可用但从整合的角度必然存在欠缺,但通过“产品配置”,你就能极速实现完整、个性、定制的软件产品、应用和服务。

模板定义

      

 

模板,为某一类事物的统一表达,主要由不变的整体大样和变化的不同内容组成,它就是云开发模型的核心和基础,模板中不变的部分由样式控制从而可以具备多种大样,模板中变化的部分由17种基本组件完备化实现,特定大样下的模板可以自定义多种风格实现大样灵活多样化,而一个模板进行一次实例化后为一个文档,多个模板组成的一个完整的软件应用称之为项目

模板,一旦定义乃至实例化完毕,最重要的是“入库、合成和发布”的“动作”,以决定只是简单实例化不进行任何逻辑处理、做仅影响到当前模板实例的逻辑处理和全方位可影响其他模板甚至其他项目的处理。

       任何一个模板的实例,一旦要对外提供服务,必须有其唯一标识即“url”,只有确定的url才能提供确定的服务。

       【类比一跟对象编程比较】

       模板是类,组件是其中一个个函数,文档是类实例化后的对象,项目则是一个完整的Workspaceurl类似packageuri名称,入库类似于本机内部开发未运行状态,合成类似于内部测试运行部署,发布类似于最终项目运行部署;对象编程没有样式和风格,所以美工制作的html往往只能交给编程人员当程序处理。

【类比二跟开发层次比较】

传统软件开发时往往由数据层、持久层、业务逻辑层和表现层等组成,模板穿透这些层次,一身兼全职。

模板是数据层的表格,组件是数据层的字段,项目是数据层的数据库,文档是数据库层的记录,数据层无样式和风格对应。

模板是持久层的持久类,组件是持久类的属性值,项目是持久层的完整持久类集合,文档是持久类的一个持久对象。

模板是业务逻辑层的一个类,组件是该逻辑类的不同处理函数,项目是所有逻辑处理类的一个实用集合,文档是该逻辑类的一次实例化处理。

模板是表现层的某一类相似页面的美工制作的统一页如内容页,而组件是这一类页面中变化部分的标签如标题、内容、作者等,文档就是编辑添加的一条内容如一条新闻,项目则是这个完整的网站。

【关于风格的补充解释】

风格是指它可以把模板显示的样子多元化,同样的东西可以用不同的方式进行显示,比如一个杯子可以用红色显示也可以用绿色显示。模板中可以对它的风格进行增加及维护。目的就是使系统展示的地方变得更加丰富多彩,除此以外实际上风格还高度聚集了一种模型,这个模型是解决什么为题呢?假如做一个动态系统,有时候我们会发现增加一个信息源有ABCD四个东西都要填写,修改的地方或许只是ABC,不想修改D,一般而言我们要做类似的两个程序或者一个程序做两个部分来实现。但是我们风格的概念认为这两个部分都是一样的,只要在必要的地方用不同的风格就可以了,后面的程序将根据你的风格自动生成完全符合你的要求的代码程序。

      

一切都是模板

 

从上面模板的定义可以看出,模板如同类一样,既然一切都是对象,那从开发者角度看,当然一切都是模板;正因如此,模板才能成为云开发模型的核心和基础,才能成为软件开发的真正银弹。

那么,“一切”到底什么?很多人喜欢追问!其实这个问题根本没办法回答,因为“一切”泛指所有,无法穷举,而你只要有所例举,就容易给人误导,如同盲人摸象。实际上,“一切”更多的是一种创新变革性理念,可以从零到包罗万象的统一技术表达模式,而这一表达又是开放透明、无限递归和无穷嵌套的,围绕模板,从而可以形成各种复用的衍生扩展构件,包括页面算法、服务端算法、外挂插件、外挂服务、扩展组件、资源片断、内容模块、功能块、聚件mashupser、产品包、项目、完整应用等。

 

正因为一切都是模板,模板就是一切,因此你马上就能看到这一根本变革性作用,请你一定要记住下面的“黄金铁律”,否则你就会想复杂了

     不管你用什么方式做好模板,其实基本就完成了开发工作,而不像传统你可能只能编程,甚至你还要找到更多环节的人互相配合才能完成;

     面对各种问题,你不用全方位考虑各个角度,你只要一种角度搞定,其他模板就是一切,它会自动解决其他角度的东西;

     传统开发过程,要充分考虑各种层次搭配、框架选择、模型设计,而一切都是模板时,你不用考虑所有这些层次、框架和模型,你只要做好模板,其他一切都有。

   

正因为一切都是模板,实际上只要参考“模板组件参考配置手册”(很多地方简写为《模组参考配置手册》),就可以进行任意的原生态开发,而无需往下看任何东西;当然,你一定要去看,因为光靠它还是不能带来开发模式的根本变革,我们似乎还是要记住太多东西,真正的云开发一定不能仅靠一种核心理念创新。

 

  “一切都是模板”中的一切我们无法直接回答,但我们能告诉你的是,“跟传统编程相比,只要你,其实你根本不用”:

l         跟传统编程相比,只要你定义了页面表现层模板,其实你根本不用进行数据库设计(范式设计把业务逻辑带到数据层是传统开发泥潭的肇因之一),模板就是一切,模板能自动建立数据库表;

l         跟传统编程相比,只要你定义了一种结构关系的模板,其实你根本不用考虑如何进行架构设计,因为模板能自动输出构造多维、多态、多种的功能、信息和数据树形而确定架构;

l         跟传统编程相比,,只要你定义了一种标准模板,其实你根本不用考虑如何独立实现相关字段的变化逻辑,因为模板组件中的根据逻辑变化而自动敏感影响数据字段;

l         跟传统编程相比,只要你定义了一种业务静态页模板,其实你根本不用考虑如何服务端编程实现真正动态化,因为模板自身马上就可以以很多动态方式运行;

l         跟传统编程相比,只要你定义了一种业务静态页模板,其实你根本不用考虑如何客户端编程实现web2.0,因为模板自身马上就可以生成ajax2.0访问代码;

l         跟传统编程相比,只要你定义好了模板,其实你根本不用考虑该如何让不同的用户以不同的权限方式查看修改删除,因为模板已经形成足够的权限角色控制;

l         跟传统编程相比,只要你定义好了业务模板,其实你根本不用再考虑如何引入工作流来控制业务流转,因为工作流已经就在模板内;

l         跟传统编程相比,只要你会定义表单的模板,其实你根本不用需要任何美工、编程人员,模板自动会帮你形成完整的软件应用;

l         跟传统编程相比,只要你定义了内容的模板,其实你根本不用进行内容采编发功能的进一步开发,因为模板自动形成了对该内容的全生命周期管理系统;

l         跟传统编程相比,只要你定义了数据模板,其实你根本不用再考虑通过什么手段实现对其他源头的同类数据进行挖掘和整合,模板本身已经具备任意整合通道;

l         跟传统编程相比,只要你定义了数据模板,其实你根本不用再考虑该怎么编程实现WebserviceSOAESB,模板本身已经自动提供内容总线服务;

l         跟传统编程相比,只要你定义好了内容模板或呈现模板,其实你根本不用再考虑该怎么进行工作统计、访问分析等,因为模板已经是工作统计和访问分析的直接载体;

l         跟传统编程相比,只要你定义好了内容模板,其实你根本不用再考虑采购什么专业全文检索引擎以及考虑如何整合,因为模板只要一键驱动你就能得到;

l         跟传统编程相比,只要你定义好了完整模板,其实你根本不用再考虑再组织团队组织项目进行产品化开发,因为模板的各种周边功能马上通过产品配置就能得到完整的产品1.0版;

l         跟传统编程相比,只要你定义好了完整的模板,其实你根本不用考虑各种层次中系统各种形态的分发和部署,iLogic自动多层次衍变能力已经全部囊括;

l         跟传统编程相比,只要你定义好了呈现页模板,其实你根本不用再考虑如何进相关资源页面程序的推送,系统的样式、地址簿和发布机制已经通盘考虑;

l         跟传统编程相比,只要你用某种编程语言、框架定义了一种模板,其实你根本不用再考虑如何用其他编程语言、框架实现和模式选择,模板本身就能无缝转换成其他语言、框架、模式。

l         最为神奇的是,面对云开发中各种扩展构件,跟传统编程相比,只要你会进行模板操作,其实你根本不用再考虑它们该怎么定义,其实都可以通过模板本身可自定义的后处理扩展而摇身一变而成,并进一步实现继承和递归,这个可进一步参见后续章节。

页元模式驱动引擎

既然一切都是模板,那我们怎么样进行模板开发是云开发的关键,尤其是从零开始构建模板(从01往往是最难的);实际上,模板就是一切,一切都可以是入口,我们选择一种可见即可得的开发入口表现层上可视化页面元素,确保可“输出即输入=输入即输出”搞定这些模板的构建。

默认的内容管理框架,作为“虚拟”架构只是用来快速引导确定整个系统进入具体页元驱动的“树形骨架”,并自由设置具体化的架构模板、节点对应的主体模板、节点表达的内容模板,一切回归模板,框架上的各种模板进一步可由页元呈现和驱动。

上述的页面元素就是页元(页VIEWPAGEVIEW),是各种“敏捷开发”模式驱动对应的最小有直观意义的单元,形如<PAGEVIEW name=”” type/extype/extmpl/inctype=”” punit=”” list=”” [其他属性]>表现层有意义的页元元素如一个列表块html代码</PAGEVIEW>,其中:

l         名称name,页元的标识,一个页元名称必须唯一,一般会跟组件名称相关联,当然,这不是说一个页面上必须只能有一个name,相同name标识相同页元,一个页面当然可有多个相同页元;

l         种类type/extype/extmpl/inctype,这是标识页元的种类,包括普通组件、扩展组件。内容模块、嵌套模板等,锁定类型后便于采用各种向导协助逻辑算法、表现层算法等的无编码快速配置;

l         页块punit,一种对页元元素进一步“模板化”的过程,但无需具体模板对应,如某种列表类型的页块,包含固定的头部html(headhtml)、尾部html(tailhtml)、每行html(rowhtml)的形式,从而彻底实现表现层的彻底分离控制;

l         编辑字段list,标识该页元内部可以编辑的字段列表,可以一个字段,也可以多个字段的组合,从而可以是编辑人员从可视化页面上进行内容修改动作,如同wiki

l         其他属性,这些属性完全开放定制,只要有利于敏捷驱动,部分属性如urlrules等已经是对特定页元类型的扩展属性。

实际上,表现层有多种入口的方式,从而形成多种并行可选的可视化设计工具,确保总有一款工具让你操纵自如,包括:

l         模板快速制作工具,直接从html代码开始,构建各种带逻辑算法处理的页元,快速完成可运行的模板制作;

l         页面快速制作工具,一般是制作人员,只关注与纯表现层页面的html制作,所以只跟html中的页块打交道,从而可以实施快速页面改版;

l         页面可视调整工具,普通无技术基础的人员,快速调整模板页面,一般只能通过类似portal的那种方式拖拉复制删除一个个页元进行;

l         页面可视编辑工具,针对编辑,直接基于可视化页面,进行类似wiki的编辑动作,实际上很多页面并非简单的内容,不好一点点寻找各种编辑的入口;

l         页面专业制作工具,譬如Dreamweaver,一种专业制作工具,页元将变成其中的一种插件,你可以快速实施模板制作;

l         表单可视制作工具,如果页面完全是一种表单,完全可以利用该种工具,无需任何技术要求,直接画出模板,并马上投入应用;

l         流程可视设计器,可视化流程快速设计工具,从而实现对模板流程的定义和加载,无缝实现模板流程化驱动;

l         模板可视制作工具,一种浏览器运行的可直接修改表现层(网页)的可视化控件(注:这种控件由于安全性和完备性问题目前没有,iLogic中的该种工具为IE7之前的DHMTLEDIT控件,由于各种原因新版IE已经不支持,自身也有一个不可控的多变缺陷),可以直接可视化制作模板;

l         Web2.0页面实现工具,专用工具外部实现;

l         敏捷编程开发工具,专用工具外部实现。

 

当然,这些工具,你可以自行拓展和完善,能成为有效完成页元模式驱动引擎的可视化工具必须具备以下特点:

l         少外部可视设计多直接合成预览:默认脱离可视模型外部可视设计往往受到浏览器、window版本、自身html变形,预览模式合成结果补充上述问题的用预览合成的效果,参见doc_preview_mantain

l         少菜单多切换tab式工具条:尽量不加弹出菜单跟产品总设计冲突,跟浏览器可能冲突,菜单太高超长可能失控;多切换tab工具条参见dreaaweaver工具条

l         少固化编译而是html扩展设计:Html扩展多用js代码固化的为关键基础支撑概念性原理性东东,通过js数组方式初始化;定制可视等全换新htt—系统默认可视化编辑器在其中,不同定制htt/m切换同样在htt定义

l         必须支持全屏与否的切换能力包括自适应大小:非全屏是因为其为挂载到资源树上的功能同时又可以进行功能组装成产品;可全屏是因为设计东西太多如果被局限在局部实在太惨用户使用效果打折

l         必须可独立使用或组合使用:必须可完全独立使用都能殊途同归不同角度使用;同时支持组合使用充分体现协同的目标即各自协同作战完成最高程度分工,超级维护组合

l         严格遵守边界虽然融合贯通:快速开发属于本范畴,所以ajax开发中的mashup在本范围页元范围内,页面逻辑化;扩展开发不算本范畴,但code_map作为各种工具同属页元范畴为了内部开发的便捷

l         同属SaaS专业高度拓展定制:本身属于saaS功能可以高度按用户继续拓展定制,很多必须结合用户需要拓展,同时作为一种任务建议支持“云”方式获取任务支持,很多拓展必须基于开放云方式进行

 

内嵌多种脚本或编译语言解释器

承载逻辑处理而千变万化的地方是页元驱动所生成组件(其实扩展组件、内容模块、嵌套模板和快速表单也都是有组件递归组合而成),那组件本身的最大容纳边界将决定整个云开发平台的最大容纳边界,譬如:

l         我只会phpjava编程也不想学习别的开发语言能用iLogic吗?

l         我已经积累很多phpjava的功能处理函数或类,能直接复用到iLogic吗?

l         一些外部待整合的重要构建只提供了phpjava接口,我们该怎么快速整合?

 

iLogic云开发平台支持多种脚本甚至编译性语言的嵌入解释器,同时还支持这种嵌入解释器的开放式定制拓展。平台更大的理念和技术创新为支持其他脚本语言php或编译语言java,从而可以无限制复用软件界、企业和、个人已有的通用成果、积累技术和使用经验。一旦具备这种嵌入解释器,我们只要在系统路径下header.pl中引入该解释就能无缝支持其他语言的解释,当然前提是该语言自身解释器必须安装好。

      

       目前iLogic组件内部支持以下类型的语言解释器:

1.       缺省perl脚本语言

平台缺省嵌入perl开发语言,该语言为精练、复杂、强大、灵活、自由、表现力强,同时各种强大的扩展功能类库请参见第三方的www.cpan.org网站,这是perl功能库的大全站,“只有你想不到,想到的都能找到”!

2.       linux版均辅带php脚本语言支持

linux版本下一般同时安装了Php5解释引擎,同时该引擎核心类libphp5.so、执行程序php和配置程序php-config确认可默认达到,然后通过PHP嵌入解释器完成php解释支持环境准备;然后在header.pl最后面加上“use PHP;”,php语言即可支持如PHP::eval_return(“表达式”)PHP::函数()等,具体访问方式参见《模组配置参考手册》

3.       专业最新版支持编译语言java

由于java为多线程编译型语言,所以只有iLogic完全支持多线程环境的专业最新版才能支持iJNI方式无缝引入java语言,一旦同时安装好java本身的JDK后,只要在header.pl中加入如下解释器引用即可:

use ijni;

ijni::CreateJavaEnv();

$gJNI=new ijni::CObjectMan();

ijni目前支持统一调用方式$iJNI->CallMethod("java/lang/String", "newstring", "<init>", "(Ljava/lang/String;)V", 参数类型数字—8字符串4整数 "参数值"),具体参数及意义请参见《模组配置参考手册》。

云服务框架

       既然模板就是一切,模板一旦构建完毕,立即就可以实例化带url的文档(同静态网页),iLogic云开发平台通过专业、开放的云服务框架立马可以变此模板文档为动态交互的服务,该实现的内核是构建一种webservice服务引擎(gcms.gsoap),可以在模板基础上快速接受各种参数然后进行响应模板组件的解释最终生成输出结果,外部可以开放定制各种云服务代理获取这些webservice,从而彻底避开传统过程中必须编写动态程序后生成才能进行互动功能服务的繁琐过程。

      

下面给出该框架中的典型适用不同场合及具备不同特征的云服务形态:

 

第一种:直接把静态内容变成类动态服务

iPaaS集成环境中的FAQ功能,标准模板就是输入内容输出成完整列表,此时只要在该“静态内容”(即FAQ列表)上加上增加和回复的默认内置“动作链接(即doc_new_face)“并增加“合成处理”完成后的“跳转p_uri”为该静态内容即可实现类动态服务。

 

注意:

这种方式一般无个性化,生成静态内容时内部动作链接用相对根路径开始如/cgi-bin/publish/...进行!

 

第二种:直接提供各种数据服务即内容总线服务(icms)

       既然一切都是模板,从模板中如何直接获取对应实例化文档的相关数据XML等,这个将基于强大的数据总线服务机制直接完成。

       具体可以快速获取操作(do)包括:

l         入库的数据data

l         静态页面page

l         数据列表 list

l         计算结果make

l         流程数据wftk

l         操作日志数据syslog

      

第三种:直接构建个性门户代理动态互动服务(iportal)

       模板实例化后的文档,一般都有一个唯一的静态url,这些url在“静态网页”中直接形成一个可串联的原型系统,iLogic云开发平台直接提供一种门户代理服务iportal,直接把所有静态url变成动态代理服务,且可以接受各种参数并自动包含Cookie数据,自动形成为互动、个性化服务。

注意:

       url中必须包含小写的htm,否则不自动进行代理。

 

第四种:直接把扩展成本地专业专用动态功能(ishow

       上述iportal方式能够获取动态互动服务,但如果我们只是需要一个特定的功能而已,无需形成全面的url代理[iportal内容页中全部url都会转换为动态url],而这个特定功能某种意义上讲还比较特殊:

l         如果没有特定文档对应,根据参数可以自动实例化一个文档;

l         Iportal在隐私限制时必须登录,但ishow不会被该设置限制;

l         ...

 

第五种:直接支持无模板复杂算法的web2.0服务(ilist imashupiweb2

       理解该功能之前你必须了解一下模板17种基本组件中的自动信息列表和外挂信息服务即分别实现对其他模板所指向的数据表进行select挖掘数据或你指定外部url内部程序代理后匹配提取数据下面的问题就是如何不用构造这两种组件就能实现相同功能形成快速的web2.0服务或网页输出ilistimashupiweb2就是完成此种复杂无模板模式的代理其中典型参数均为x_arithmetic形如<arithmetic><data|service …></data><code></code><head></head><html></html><tail></tail></arithmetic>

       分别作用如下:

n         ilist,直接对数据库表进行select挖掘,返回xml数据结果,但记住:只要进行挖掘就马上生成缓冲文件,只有通过相应云服务模式写库才能重新缓冲、或者手动触发重新进行特定缓冲的功能[icms?do=cache…]

n         imashup,直接对云聚件进行代理,返回xml数据处理结果,云聚件定义参见后续规则,但随后可能也有缓冲规则,注意解除缓冲的相应措施;

n         iweb2,自适应对数据库表挖掘或云聚件代理处理,并能直接返回所指定的html网页形式。

 

       第六种:直接进行递归嵌套云端聚合的云聚件服务(opproxy)

       任何外部网页服务、平台自身网页程序甚至任何命令行程序,由于牵涉到复杂cookie限制、参数限制以及自身机器命令行运行限制,很难对外灵活提供各种服务;iLogic的云聚件具备神奇强大的功能,能快速包装上述功能为开放式、自由聚合、无限复用的高性能云聚件,然后通过opproxy直接访问,获取直接xml/html服务。

云聚件是云服务框架中最复杂但却又充分体现其精髓的框架模型,是实现在模板定制完毕后,进一步提供“敏捷、快速、无冗余”高级管理功能的关键。

       具体例子请参考云聚件的定义,这里给几个例子供参考学习:[zmp1] 

n         如果iLogic的内置发布功能想快速提供服务,但由于参数复杂或未确定,调用方式不太清晰,此时你可以访问ipublish云聚件服务;

n         如果一个外部url代表的服务,同样参数不明确,同时还有一些特殊的cookie限制,你怎么进行调用,此时你可以定义云聚件来解决;

n         如果一个重要的服务,但从外部访问由于cookie限制而无法进行,你可以马上定义一个云聚件,提供开放式跨域跨网的安全云服务;

n         如果你有很多命令行才能执行一个操作,可是我们马上就要让大家都能用上,你可以定义云聚件;

 

第七种:多个文档动作化进行批量动作的封装代理ibatch

一些专用特定的功能我们可以用ishow完成,但如果一个模板下多个实例化文档,我们都想进行操作怎么办?传统我们必须单独写程序来逐一调用,且要处理其中先后关联的复杂逻辑,难度非常大;而iLogic云平台提供ibatch批量动作代理,直接可以进行指定模板下多个实例化文档的动作执行代理;iLogic各种数据、模板的批量自动同步和协作的功能就是基于ibatch进行。

 

第八种:直接把执行脚本包装成高性能SOAP进程(irefer

由于一切都是模板,模板中不变的大样除存放html等表现层外,也可以存在各种直接可以处理的脚本程序,这些程序可以通过irefer机制,直接被进行“页面执行dopage”动作,即执行了实例化文档对应页面对应的完整的程序,该功能用来做windowsole代理服务完成wordexcel转换输出打印乃至pdf输出具备强大优势。

软件即服务(SaaS)

实现基本软件系统功能后,一旦要交付使用,我们很快就会发现我们没有充分考虑偏向日常管理功能如编辑审核,还没找到一些核心技术的专业化功能低成本实现如全文检索统计报表等,未完全兼顾全面控制的统一功能如用户权限日志监控,还有一些用户的特殊管理要求等,传统编程模式往往将陷入泥潭,iLogic云开发平台却自动包含“足够完备”、“开放任用”的“软件即服务(SaaS”供你立即选择简单复用。

       第一类:常规既得的软件即服务

这些服务请从saas页面登陆体会,包括内容编辑、内容审核、授权控制、数据视图、资源链接、iSOA服务、发稿统计、访问分析、修改监控、发布控制、文件管理、分类管理等。

       第二类:专业核心的软件即服务

   iLogic同时包含可拓展的核心技术和专业功能,包括全文检索、网站采集、统计报表等。

第三类:统一基础的软件即服务

    iLogic基础上就内聚了极其强大灵活的用户权限管理、日志分析管理、定时任务管理和版本管理体系。

 第四类:独立操作的软件即服务

平台上所有可见的独立操作,均可视为有效软件即服务,你可以在admin后台用httpwatch等工具监控获取参数,直接引用这些软件及服务。

产品配置

实现基本软件系统功能后,一旦要交付使用,除软件即服务能力需要快速倍增外,很多不同角色、不同功能都需要独立管理维护配置端,且能尽量满足用户的个性化需要,同时当这个软件系统渐渐进入稳定使用后,为了更多程度的推广我们要全面提升其产品化程度,这些该怎么办?传统模式必须独立开发这些独立产品端、独立管理端、独立功能端,其过程复杂牵连万千使得传统软件产品化过程漫长、成本极高、失败率居高不下。

iLogic云开发平台支持全新模式的产品化封装,通过这种封装使得应用管理本身完全个性化,同时又无需额外的设计和二次开发等;整个产品化封装按照专用的iLogic产品化模型通过“敏捷配置”即可快速实现,为专业产品化定制探索了一种新型的实现模式,实现了灵活、高效的软件产品化交付。

 

       iLogic产品化模型是由内容架构、登陆页、主体产品配置、个性门户、快捷方式以及其他定制部分组成,这些部分综合各种定制功能以及全方位SaaS服务等通过统一登录的集成环境耦合到一起来呈现:

l         内容架构:是整个产品的基本骨架,从而能有效地把多个SaaS服务进行有效的呈现,包括编辑、审核、发布等功能;

l         产品配置:是整个产品的主体页面,该页面包括菜单、树导航、功能面板导航、功能主体、个性面板、状态栏等,所有部分均可灵活可视化配置;

l         个性功能:个人登录到该产品时的个性呈现功能,包括个人门户、快捷方式、历史面板等等;

l         定制扩展:一些用户关注功能的定制,实际上这往往是项目应用的一部分,我们同样把这些模板关联功能进行提取,成为产品管理的扩展部分。

 

iLogic产品配置模型具备以下特点,从而确保产品配置能力的开放性、敏捷性和独立性。

l         全面可配置性:必须确保对该产品的个性化达到最大程度的全面配置能力,充分满足各种需求的不同产品配置能力,具体包括产品展现、业务逻辑和功能组合上;

l         无额外开发端:产品配置无需各种开发,甚至是基于模板的开发,从而使得过程变成最大程度的配置,为敏捷和开放提供可能性;

l         开放设计支持:产品配置和设计完全开放,使得各种随需而变的优化需求极易实现,为“产品化”服务缔造强大的技术保障;

l         极速初始设置:必须有先进的模式确保整个过程是可以极速进行的,并实现对代码的“零依赖”,确保整个过程如同穿衣一样的流畅;

l         渐进过程优化:整个产品配置过程可以做到渐进优化,从而使得该过程阶段可控,为发布产品不同版本创造技术上的便宜条件;

l         独立多行能力:同一种应用的管理端可以独立配置不同的产品模式,形成一种有效的多产品共存协作机制;

l         无缝层合体系:强大的分层模型确保产品配置跟应用设计、底层设计等完全融合,互不影响和制约,减少交叉影响因素,提升过程的自由性。

特色总结

 

    iLogic三个阶段:

第一阶段为建立基础模板阶段是基本匀速的,各个角色并行协同页元驱动,很多逻辑实现完全简化和一致,确保可以根据人员投入时间投入随时提升项目进展;而传统随着复杂度快速递减直到复杂度太大而无法继续进一步开发,100个功能块再增加1个需要考虑第101个跟前面的相互关系,而大大锐减!

第二阶段为基于SaaS和产品配置,实现层次框架快速配置阶段,这个阶段的速度是“飞速”的!

第三阶段为恒定斜率的稳定维护阶段,此阶段任何一个新增模板跟前面的功能模板不是相互影响的关系而是充分暴露后可以充分利用的关系,是云服务中“随需而变”的保证。

 

       典型特色如下:

l         软件开发可以做到无编码、开放式地随需而变,实现输出即输入、所想即所得,极大降低开发难度。

l         数据、逻辑和表现完全隔离,美工对各种主体表现灵活实现,从而实现从传统的串行开发变成并行开发模行,极大的提升开发速度,缩短响应时间。

l         跨操作系统、数据库和应用对象的统一支撑--如忽略数据库sql语句的语法一致性问题

l         强力的对外数据、功能乃至非结构化文件整合,外部异构系统可以直接一键式整合并进入开发体系

l         多层次自动化展开能力可以超敏捷构建多层次、多样化软件,异构式云软件功能到数据之同步升级的云部署,无限制的灵活的云客户端体系拓展

l         高速缓冲服务体系极大减小对中间件的特殊功能和性能的要求,能实现[页面-memcache/数据-hibernate]、逻辑级别的数据字段+XML片断

l         无限再授权、再递归的独立透明的权限控制体系,其统一SSO能力可以无缝整合CA以及其他SSO工具

l         从内容、子内容乃至嵌套内容的可视化设计--对象数据库,可以直接基于状态控制的对复杂多用途程序的最大简化

l         全文检索、垂直抓取和智能语言、工作流和表单所想所能、立等可取,

快速开始一个项目

如果你充满好奇,你可能已经在http://www.ilogic.cn首页上找到“快速体验”,直接进入并开始了些简单的体验,但那个是已经建立好的公共演示项目,而demo用户可能没有权限建立开始新项目。

你必须“注册,你才能快速开始一个项目;当然安装也行估计你先不会这么做,快速注册输入您真实邮箱以收取密码,并定期使用否则可能会被启动清除垃圾用户,该注册账号同时也是你下一步下载软件安装时的验证账号。

像千遍一律的软件介绍一样,你必须首先开始一个简单问候的项目,iLogic云开发平台将给出一个从登录开始进入并看到完整的“hello,my project welcome yourname!”演示项目。

注册后请在http://www.ilogic.cn上找到“登录”并点击进入开发平台默认云登录首页,登录首页一般包括以下部分,这里你简单了解一下:

l         iPaaSiPaaS集成开发门户,如果看不到该你可能就在该页面上(看网页Title);

l         AdminiLogic后台管理端,是一切都是模板的原生开发管理端,很简陋以便对比;

l         SaaS:软件即服务体系,从该页面可以直接进入一些常规、专业的SaaS

l         Product:开发完毕并初步进入测试的产品体系,你建立完的项目也可在此看到;

l         ITIL:运行、维护、监控、管理的入口,你必须是安装方可。

输入用户名密码登录进入iPaaS集成开发平台主界面后,开始快速开始你的第一个项目:

(1)       选择 “新建->项目快建”菜单,在主界面中会出现“内容中心>>项目列表>>复制项目”页,在该页面,输入你的项目中文名(如果是网络环境为了防止不要因为重名而失败,最好以你的中文名开始如赵钱孙_项目1)、项目英文名和数据库名称输入一样的英文字母(不要太长且最好前面加上你的姓名拼音首字母如zqs_proj1),如果还看见“使用缺省的数据库连接参数”请勾选否则不要再填写改变其他信息了,提交“创建”按钮开始创建你的第一个项目;此时左边树结构上应该出现了你的名称的节点,这就是你项目的开始节点,单击该项目名称进入你的项目空间;

(2)       右键你的项目名称节点,在弹出菜单中选择“主体模板文档设置”并在确认输入框中输入“1”确认没有初始化需要开始新建主体模板;在新出现的“内容中心>>你的项目>>模板列表>>创建模板”页面中输入该模板的中文名和英文名,表名称先不填,默认URL填写“/index.shtml”,最后面的那个大空白框即模板HTML处填写“hello,my project welcome ${g_u_name}!”,完成后“提交”该页面;继续出现一个“>>内容中心>>系统项目>>内容管理架构>>本文档(文档编号)”,在此页面上单击主体模板页下的“指定按钮”,在随后弹出的列表页中选择上面新建的模板,“提交”后完成主体模板设置;

(3)       再次单击你左边树结构的项目名称节点,进入一个提示你“新建页面”的提示页,单击该提示按钮从而进入文档新增页面,直接提交完成一个模板实例化文档。

通过“项目初始化模板建立模板快速实例化”你已经完成这个项目,单击开发界面右上侧“退出”按钮,在返回的登录首页单击“product”处找到你新建项目名标识登录首页,登录即可看到效果。

 

iPaaS云开发集成环境(IDE

上面所有的创新理念和技术将全面集成在iPaaS集成开发环境中,该IDE工具将按照用户云开发过程经常要用到的“快速便利”解决复杂问题的功能进行云端拼合,全面为下一章“页元驱动敏捷开发”构造强大的云资源支持、云协作体系和云平台升级,从而使得相关开发人员可以从云端获取足够资源,可以团队协同沟通,可以无缝升级平台到最新,让每个人都能充分感受“远程参与、协同开发、云端交付、无缝升级”等特色,构建真正的云开发环境。

登录进入iPaaS云开发集成环境图示如下(红色部分为对一些区域作用的简单标注),具体账号获取方式等请参见上一章,同时注意iPaaS目前只在IE下调试支持,且注意检查安全区域并加入Intranet局域网区域从而不会阻止一些弹出框、支持ajax获取异地配置文件、不能调用本地wscript脚本等能力!

      

 

下面我们就快速熟悉这个IDE的典型功能,特别关注其中的一些云使用特色, 云是iPaaSIDE的构建基础,是云开发的有力保障。

一、             先看看参考帮助手册

iPaaS集成开发环境没有提供太多的帮助手册,这是因为iLogic存在独立的“云智库”,更多的手册获取请申请加入云开发联盟。这里,通过迅速了解有哪些本地的帮助手册,说明你开发过程中会经常要进行的查阅和参考,包括如下:

1.         帮助->模组参考手册

打开后,请先熟悉相关目录结构,涉及到很多模组开发的细节配置,从这里能迅速找到,实际上只要把握该手册,所有开发均可进行,它是模板和组件所有运行的全部标准。

2.         帮助->iperl脚本参考

iLogic组件中默认嵌入的脚本是perl,该手册给出了perl语言的完整参考,其实很多东西都用不着,但如果你有其他语言的编程逻辑且又想通过iLogic嵌入脚本实现,请参考该手册找到相应的语法而快速实现。

二、             了解当前平台的进程状态和后台基础进程处理信息

       iPaaS集成环境提供系统监控、进程监控到各种发布、采集和版本的信号、任务和处理结果的全方位动态监控,这些进程中尤其是日志、发布、采集和版本处理进程将直接影响到系统的正常运行。

3.         进程状态

可看到各种主进程的运行状态,同时提供各种操作,如果出现一些明显的异常,可以先关闭所有进程后再重启进程,就能解决很多问题,但是特别要注意的是,如果正在进行很多任务如分解且没有其他明显问题,请不要重启进程。

4.         【信号监视区】

该区域就在上图中红色标记,它按照时间轮询,依次提供发布处理进程、分解处理进程、版本处理进程的各种信号情况,这是iLogic平台的基本支撑进程;单机“信号监视区”,将进入相应进程日志分析页面,提供更加相近的进程处理正常信息或错误信息。

三、             了解离你最近的共同开发人员以进行快速交流协同

iPaaS集成环境默认聚集了比较简单的本地化协同开发支持工具,包括:

5.         【姓名区】

点击该区,主页面将弹出在线开发者列表,你可以在该页面进一步单击“发送信息”,跟他进行互动。

6.         【消息区】

该区将动态显示,有多少消息未读,如果存在新消息,单击可以查看该消息,缺省一次只能读取一条。

7.         帮助->FAQ

这是在本地构建的在线帮助系统,打开它之后,你可以新增问题,你可以回复别人的问题,构建本地快速帮助体系;由于其支持云同步能力,所以这个FAQ并非简单的本地帮助,是一种真正意义上上的云FAQ系统,任何问题其实都可以咨询,从云端也许你能得到你意想不到的帮助。

(1)       界面上有“同步”按钮或通过“云工具->云数据同步”可以实现跟云中心ilogic.cn的双向同步;

(2)       可以直接进行搜索,直接利用ilogic自身的列表功能,可以选择“内容”和“≈”进行like查询;

(3)       直接进行添加,很多问题一定要粘贴问题图片,具体单击其中的“图片”图标插入图片,部分系统可以支持直接从word拷贝粘贴全部图片。

四、             了解更多云端的支持体系

我们在云端同构建了更多的云支持体系,各开发团队可以共建云端运营中心的服务能力,其中系统bug汇报很重要,具体包括:

8.         帮助->在线XXXX

无缝耦合在线求助、在线论坛、在线沟通的功能,这些功能目前仅供演示,全面提升开发过程的互动协作能力。

9.         帮助->协同开发白版

可以建立基于项目的开发过程中的快速云交流区,协同开发白版可以限于特定项目提供服务。

10.     帮助->系统bug

Bug汇报功能,必须通过该入口向iLogic开发中心汇报,iLogic会及时巡检升级,解决相关bug

11.     帮助->iLogic项目中心

提供云项目管理系统,目前只是项目文档管理中心。

五、             快速进行云平台开发环境、核心平台程序、系统功能模板云升级

一定时间,你可以进行云平台的无缝升级,从而使得当前云平台保持为最新状态,从而避免很多经常出现的问题,提升易用性。

12.     云工具->云数据同步

单击该菜单,会弹出确认同步提示窗,根据提示输入“PaaS环境配置”的同步号,即可进行云开发环境的同步,同步完毕后重新登录即可体验最新的PaaS开发环境。

13.     云工具->云平台升级

单击该菜单,可以对平台程序进行增量升级,增量升级包在服务器端准备,云升级功能获取升级包并自动进行平台适应性检测,从而进行增量升级。注意:如果没有即时更新,请进入产品配置页面,手动合成ipaas.htt,并重新登录ipaas集成开发门户。

14.     云工具->云配置更新

单击该菜单,可以进行平台的基础配置表的更新,你只要确定配置更新源的url地址,你就可以进行对本机配置表的自动更新。

15.     云工具->云模板协作

单击该菜单,可以对特定协作任务的模板进行云同步更新;这个要配合“云工具->云任务分发”进行模板协作任务的定制。

16.     云工具->云执行递交

对于多个批量执行ibatch的任务页面,一次性递交其中所有的form行为,这个往往在云模板批量协作后单击执行。

六、             OSS扩展构件的了解和自定制

很多时候,我们遇到一些复杂功能应用,同时在已经具备的当前平台上无法找到一步到位的解决方式时,我们可以向OSS求助,寻找是否已经存在同类的OSS,只要具备你就能一步到位解决你的反锁问题;如果没有找到,那你完全可以通过OSS自定制向导,帮你构建这种扩展构件,并自动升级融合到当前平台上,从而为未来同类问题一劳永逸的应对。

17.     OSS扩展构件->扩展构件检索

搜索oss_tag字段的关键字,找到相似扩展构件,然后按照该构件的使用向导,迅速融合到当前平台,解决比较繁杂的问题;当然你可以通过各种类型来实现快速定位查找。

18.     OSS扩展构件->自定义扩展

iLogic云开发平台提供了强大的自定义扩展构件的功能,通过这种扩展,你就能迅速复用所有难度较大的相关功能变成无编码一键式体系,如同现有扩展组件等构件一样。

19.     云工具->云聚件配置

快速定义云聚件,实际上很多高级功能都可以通过云聚件实施高度配置和复用,打造专用集成开发专业化能力。

20.     云工具->Escape转义

直接可以进行escape的小工具。

七、             多种方式进行项目开发的初始化工作

开发初始化工作包括项目建立、项目挂入架构、新建项目的样式,选择并复用各种公共模板、功能模板甚至特定功能块模板,初始化工作主要集中在“新建”、“配置”、“开发”和功能块中,具体就不一一赘述,只是强调从项目初始化的角度来看。

21.     产品->导入更多产品

将进入产品化向导,产品化向导对应系统项目中的“PaaS向导”模板,通过添加文档,设定向导源文件和相关属性,可以自动建立群、项目和功能块,并对应相适应的产品管理端。该功能可以完备建立一个产品化项目而直接结束初始化工作。

22.     新建->项目新建

从零开始建立一个项目空间,然后需要挂入项目,配置样式,选择模板等。具体过程如下:

(1)       击之后出现一个信息填写页面,是对项目数据库的一个配置;如果数据库已经创建完成、或者数据库服务器和网站服务器不在一起,那么就需要单独填写数据库的配置。如果数据库希望由系统建立则选择默认的配置,但必须将缺省数据库的勾给勾上;数据库名称和项目英文名称一般都是不超过20个的英文字母或拼音。

(2)       在完成数据库的配置之后,会直接接入项目的挂接界面(每一个项目都可以看作是iLogic平台的子项目所以要挂载到iLogic中);当然,如果这一步因为某种原因(手动关闭,浏览器挂掉,断网等)没有出现。我们还可以在菜单栏中找到 新建—挂入项目,填写项目信息就可以了:子栏目名称(项目的名称)、子栏目(英文名称)和映射项目中文名称(点击选择一个),其他的信息不用填写,点击提交;项目就挂接完成了;项目挂入之后,会在左侧的项目列表(树结构)中出现,如果没有出现需要刷新。

(3)       在左边的项目列表(树结构)中,点击项目,找到菜单栏中的 (配置—样式配置—添加)。在样式维护界面只需要填写两个信息,样式名称和本地HTML存放的相对路径,我们默认都填写为 gb ,填写完成之后点击提交;注意:配置好的样式请不要随意的删除,否则会出现各种错误;样式只配置一个就可以了。

(4)       必须有公共模板文件支持模板才可以上传网站的资源文件。该模板复制步骤:左侧点击项目—点击菜单栏(开发)—点击(公共模版文件)。注意:点击后是没有提示的,但是已经复制进来了。所以点一次就可以了。

(5)       同上包括“公共内容文件”模板支持和“通用资源文件”模板支持的复制。此时即完成了“从零开始”创建一个新项目。

23.     新建->项目快建

基于当前平台的baseproject,快速实现新项目的初始化。

24.     新建->项目复制

复制当前项目,你可以选择各种复制方式如框架、数据等,但不会复制项目其他外部数据,同样你必须挂入项目,你也看不到内容架构。

25.     新建->项目导入

基于版本导入工具,导入纯粹的项目,随后你需要挂入项目,同时你也看不到内容架构。

26.     新建->项目映射

所有模板对应的表格将一律通过视图的方式映射到新项目,数据你无需调整,而模板和不入库组件你可以随意重建,实现项目多版本的同时运行。

27.     新建->项目速建

如同项目快建,但此时是把基于当前项目的项目快建,且可以选择是否只是框架或者包含内容。

28.     新建->挂入项目

任何已经存在的项目但没有挂入树结构时,是无法进一步进行开发的,必须挂入项目出现节点。

29.     配置->样式配置

任何裸项目,一开始是没有样式的,必须新建样式,样式作为模板的一个大洋,必须存在才能进一步构建模板。

30.     开发

以各种方式复制公共模板、典型模板进入当前项目。

31.     功能块

以各种方式复制多个模板组成的功能块进入当前项目。

八、             全程支持关键日志记录

在开发过程中,除了直接报错之外,很多过程如果没有看到明显的状态,可以查看该行为直接相关的日志记录,从中你可能会快速发现一些特殊情况。

32.     查看->服务日志

各种云服务框架相关程序运行都会记录进入该服务日志即gcms.log,从中你能看到各种服务过程中的日志记录。

33.     查看->调试日志

在进行云开发过程中,如果选择了调试模型运行云服务框架相关程序,各种调试信息都会记录进入调试日志idebug.log,从中你可以看到详尽的调试信息记录。

34.     查看->其他日志

输入你想查看的任何日志,你都能看到其日志记录,这里默认给出了web服务器的错误日志,它会记录web服务器发现的人任何错误。

九、             开发过程中支持一些超级工具

       这里给一些超级开发人员,提供了一些可以超级控制操作系统、平台程序乃至数据库的超级方式;

但为了安全,一般先发起,需要通知高级人员进行审核,然后才能执行;同时系统提供了详尽的日志,便于追责。

十、             公共文件的强大管理通道

任何一个项目,都有一些公共文件,支持大洋下的模板,譬如cssjs、公共图片等,iPaaS集成开发环境提供了专门的菜单多通道管理模式,这些公共文件一般存放在当前项目的“模板支持文件”模板中。

35.     文件->控件上载

专门控件,实现基于目录的批量文件上载到模板支持文件的功能。

36.     文件->ZIP上载

完整压缩的zip包,通过该工具将全放上载并自动解压到模板支持文件中。

37.     文件->打开解析

一种直接可以分析当前html网页中的文件,自动寻找,自动上载的网页上载程序,能让你不用一起上载而是必须的才上载。

38.     文件->录入上传

单个文件新建上载模式,注意一定要填写好存储目录,这也是该文件存储的目录。

39.     文件->查找文件

输入文件名或一部分,进行相似性查询,从而可以变更该公文文件。同理,你也可以直接用“文件->logo管理”、“文件->banner管理” 、“文件->css管理”等快速定位一些缺省的文件。

十一、      数据多渠道整合

当我们构建项目到准备投入运行时,此时就需要整合原有的数据,多渠道数据整合就变得极其重要了。

40.     视图->快速反解

数据整合一般都是按照大样反解数据格式进行,数据格式不正确就很难正确反解入库,因此你必须新建少数两条数据,直接通过该菜单功能的页面输入框,复制样例文本进入直接基于网页分解,看是否报错确定正确与否,才能进行更大批量分解。

41.     视图->大样反解

面对大数据量待分解数据,一般为文件方式上载并进入后台分解,该功能供你完成更大数据量的后台批量分解,分解过程可以监控分解进程信号,参见上述功能说明。

42.     视图->大文件导入

如果待反解文件非常大,无法通过网页模式上载,该工具可以实现大文件的断点续传模式的上载。

43.     视图->导入工具

基于版本文件导入数据。

44.     视图->模板视图

通过数据库视图方式整合其他库表数据。

45.     视图->文件视图

通过ftp通道整合其他ftp文件目录中的文件进入特定模板。

46.     视图->邮件视图

通过邮件POP3协议自动整合邮箱中的数据。

47.     视图->网站视图

通过Spider工具抓取、提取其他网站上的页面上的数据成为结构化数据。

48.     视图->服务视图

整合webservice数据,目前该功能往往需要专门定制。

十二、      高级软件即服务的引入

软件应用开发到最后,可能需要更多高级专业的核心功能,如统计报表、全文检索甚至更多自定义的软件即服务。

49.     高级->全文检索开发

对当前项目当前模板,自动化构建全文检索服务。

50.     高级->统计报表开发

对当前项目当前模板,自动化构建统计报表服务。

十三、      云端实施备份和恢复

在开发过程中,我们必须养成多备份的习惯,防止各种开发意外。iLogic通过云端自动提供了备份向导和恢复向导,供你云端备份,防止本地服务器彻底崩溃而无法恢复。

51.     云工具->云项目备份

对当前项目进行云项目备份,这是同构备份,即包含完整的数据库信息和文件目录信息。

52.     云工具->云项目恢复

对当前项目进行云项目恢复,这是同构恢复,即完整构建同名数据库信息和文件目录信息。

十四、      支持快速产品化封装

产品封装包括产品首页、个性门户、产品配置等方面的配置和调试,具体配置过程参见产品配置手册,本部分功能菜单在“产品”菜单。

53.     产品->设置产品首页

快速设置应用的登录产品首页。

54.     产品->设置个性门户

快速设置应用的登录个性门户页;

55.     产品->产品主体配置

快速设置应用的产品主体;

56.     产品->产品文件上载

对于登陆页和产品主体配置中的公共文件,以zip形式上载,按照特定目录规则进入“内容支持文件”模板,同时支持product端同时看到这些公共文件。

57.     产品->产品封装

封装成标准应用产品包.zip文件,供快速导入。

十五、      更专业版本支持需求跟踪

专业版平台同时支持云端需求的跟踪,初始化选择“云工具->云需求原型管理”。

页元驱动敏捷开发

实用性原则

一切都是模板中“其实你根本不用”包含了很多的指导作用,下面将把其中部分进一步强调成为原则,指导敏捷开发过程,防止走冗余复杂的弯路。

l         明确项目真实度原则,真实的项目必须从完整的页面原型开始,否则就只能是原型敏捷设计阶段,即无明确标准来标志开发是否完成时,使用iLogic更多是对需求的快速探索和表达;

l         鼓励创新探索原则,项目千变万化,不要用固定的思路来面对问题,要突破各种常规束缚,敢于尝试和探索,往往能找到更合适的方法,毕竟师傅领进门修行在个人;

l         遵循渐变性原则,不要一口吃成一个胖子,模板也不要一步到位,很多单点问题往往随着全局的逐渐明朗,解决思路就水到渠成或者峰回路转;

l         遵循最简化原则,即尽量简化需求并从简思考,“怎么简单怎么来”,甚至刚开始为了更容易看到效果,可以完全不加载完整页或美工页进行快速试验;

l         优先架构设计原则,虽然我们不需要专业的概要设计、详细设计等,但iLogic同样认为架构很关键,鼓励把更多东西暴露到架构上,良好的架构可以锁定内容模板、关键字段、基本流程、典型美工等,从而减少未来“自由发挥”空间,使得有经验或要求的人能更早发现问题;

l         关键页元选型原则,在充分了解需求后要提出难点,然后进一步分析应对思路并进行典型模板的页元选型,很多麻烦的问题一般都可以在开放的页元构件范围内找到一步到位的解决;

l         规避数据范式陷阱原则,一定要避开数据范式的影响,尽量使得一个模板的数据更加完整,哪怕通过“预处理敏感入库”把更多字段聚集到一起,从而减少多表嵌套查询和把业务处理做到sql语句中,防止系统不可维护和数据库性能的依赖;

l         减少独立入库动作原则,不要老是有太多入库的处理,除采集外,很多入库的可简化到敏感入库即可,传统很多单独逻辑程序的处理除导致繁琐外更大形成不可维护;

l         超越层次敏捷开发原则,传统开发面对不同层次都必须一一开发,由于不能带来新冲突从而直接倍增开发的难度,iLogic模式无需开发者考虑层次但能自动衍生各种层次,前提是只要做好某层的模板即可一步到位,譬如统计报表等;

l         多行独立模板建设原则,不管是架构、主体或内容模板,现实世界不能共用的,就不要强行共用,即尽量跟现实保持一致,如果共用必须有共用的精确限制逻辑;

l         web2.0实事求是原则,jsweb2.0是一把双刃剑,必须好好思考自身团队的能力从而选择合适的路线,iLogic同样支持多种js使用程度以符合团队能力情况。

 

架构概念和设计

传统软件设计必须进行系统设计,确定形而上的软件架构;而云开发模型中的“架构”是进行页元驱动前的导航树结构,该结构是虚拟“统一内容管理架构”在本项目中的一个“实例化子集”,全面定义本项目实施的模板情况,从而变专业架构师的专业工作为可触摸和理解且是普通开发人员即可执行的工作;如果有iLogic专业指导的架构设计,后期开发往往能够事半功倍:架构虽然都能做,但面对复杂需求复杂项目却一定有高下之分。

1.什么叫架构?

架构一般指需要直观显示且无限扩展的一种树形结构,以便于我们“一目了然”就能找到我们要找的东西。

2.架构有哪些种类?

架构有很多种,我们经常看到的“树结构”如下:

l         信息架构,也可叫栏目结构,就是一种信息的分类结构;

l         功能架构,对功能进行的分类导航,让人一目了然找到功能;

l         资源架构,就是我们的windows的资源管理树;

l         单层架构,就是普通的一层列表形成的架构;

l        

显然,不同人对架构的理解都是不同的,在现实世界中也是无法穷尽的;云开发平台看来,以上架构都具有一个重要的特点,人们不但希望“一目了然”的看到更关键的是“一步到位”的控制它,譬如我们可以增加栏目、增加功能、增加目录,且希望能从上一层处开始增加

因此,从云开发平台看来,只有两种可能,一种就是上面那样的需要实际架构支撑的“实际架构”,相对而言就是无足轻重的虚拟架构即“独立架构”。

       不管是实际架构还是独立架构,都来源于系统的“统一内容管理架构”,又回归于它,即继承与派生,从而统一衔接页元模式驱动引擎。

3.架构具有什么特征属性?

这个可虚可实的内容管理架构,具备以下固定特征属性,以衔接进一步的页元驱动,从而完成模板的快速、直观的构建:

l         节点自身信息:{父栏目}{子栏目名称}{子栏目}{栏目维度标志}{栏目深度标志}{栏目位置标志},即一般父子树结构的存储模型;

l         所属项目信息:{接口样式号}{默认审核级别}{映射项目号}{映射项目中文名}{实际项目中文名}

l         主体模板信息:{主体模板号}{主体模板名}{主体文档号}{主体PTD}(自动计算),描述用以展示节点自身业务逻辑的模板信息;

l         架构模板信息:{架构模板号}{架构模板名}{架构文档号}{架构新增父节点名}{挂接节点变量}{排序字段名}{架构PTD}(自动计算) ,描述用以展示当前节点所属实际架构的模板信息,其中{架构新增父节点名}为当前挂入实际架构的根节点名;

l         内容模板信息:{内容模板号}{内容模板名}{内容字段限制}{内容PTD}(自动计算),描述用以归属当前节点的数据、内容的模板信息;

l         子体模板信息:{子体模板号}{子体模板名}{子体字段限制}{字体PTD}(自动计算),这里先不做讲解;

l         专栏PTD:专栏、专题专用。

4.栏标是架构和其他模板的桥梁

一个实际架构的模板可以形成众多树形节点,多种节点甚至不同级别的节点可以挂接相同的主体模板,所有最末梢的节点均可挂接一种相同的内容模板,如何让一个单个模板跟架构的各级别多数目的节点匹配,就是通过“栏标”这一个模型形成桥梁。

l         栏标从内容模板看就是一个字段名,该字段名存放当前节点的键值,表明从属于该节点类别的内容,并从架构的“{内容字段限制}”属性上看到“fieldvalues={栏标}:键值”形式;

l         栏标从主体模板上看同样是字段名,且存放当前节点键值,表明从属于该节点的主体呈现。

5.架构快速设计操作

       典型操作步骤如下:

(1)       独立节点建立:对于独立节点,右键左边树导航中相应起始节点,在弹出的菜单中选择新建节点,会出现下一个“内容管理架构”的新增界面,虽内容可能比较繁杂,其实只用填写“子栏目名称”和“栏目英文名称”,提交之后即可完成该节点(独立架构下称之为独立节点)的建立。

(2)       复制、设置实际结构和实际节点建立:右键左边树导航中相应起始节点,在弹出的菜单中选择“增加”添加实际架构的结构时,如果没有实际的架构模板支持,则会弹出提示框要求进行设置,我们可以输入“2”复制合适的架构模板进来,然后继续右键该节点增加提示时输入“3”,进入设置架构模板的界面,单击架构模板下的“设置”按钮后,在弹出的列表页中双击刚才复制的模板成为当前节点的架构模板,注意其中架构模板的父节点字段名称也要进一步选择设置(一般为架构模板中的父节点、parent之类)。此时,再次执行右键节点“增加”就能进入实际结构的添加页面了,请输入“子栏目”和“英文名称”(不同实际结构表有不同),但按提示填写即可,然后提交,即可建立实际结构的节点即实际节点。

(3)       内容模板初始化和快速文档实例化:右键点击相应节点,为其进行“内容模板栏标设置”,在弹出的确认框中,由于初次时没有内容页模板,进行初始化,选择1,提交,在右边主窗口出现内容页模板新建页,填写模板中文名为“xxx_内容”、模板英文名“xxxx_content”、模板url为“/xxx/${tempid}/${docid}.shtml”、模板大样内容为“xxxx内容${docid}”,提交后跳转到内容管理架构进行挂接,点击内容模板名下“指定”按钮,在弹出列表中双击选中刚才增加的模板,返回页面递交即可。此时内容模板初始化完毕。然后,点击节点前面+,可弹出“内容”,进一步单击该字样,右边弹出提示页面,要求对该模板进行文档实例化动作,即“添加内容”,请单击到添加文档页,直接提交即可。在进一步单击该节点即可进入内容模板快速维护体系以选择不同可视化工具推进设计。

(4)       主体模板初始化和快速文档实例化:同上,右键该节点,在弹出菜单上选中“主体模板文档设置”,进行主体模板的初始化和文档实例化工作。具体内容为,“xxxx_列表”、“xxxx_list”、“/xxxx/list${docid}.shtml”、“xxxx列表”。

(5)       其他各级独立节点、实际结构实际节点、内容模板初始化文档实例化、主体模板初始化文档实例化同理建立,尤其要注意url命名规则,如果是更高级别的频道页、首页等url命名尽量保持跟架构英文名一致而首页一般为你index.shtml,千万不要带数字id,否则未来其他地方引用该url会变得很毫无规则可言url同样也是架构中非常关注的东西,从而构建一个能充分表达项目需求的架构。

6.架构设计文档自动输出

在专业版系统中,可以自动输出“架构设计文档”!

页元选型和构件扩展

第一步:根据页面原型进行页元选型

根据页面原型,充分感受用户的需求,并快速分析其中各部分的实现方法,确定各个有效部分对应的有效页元类型。典型页元包括标准组件、扩展组件、内容模块、嵌套模板、快速表单等,另外全局变量、公共常量、资源变片断虽非严格意义上的页元但也为页元中可快速使用的复用要素。具体类型如下:

 

【全局变量】

命名规则:变量名称   

实际源码:$G{变量名称}

呈现形式:$G{变量名称}

驱动模型:

页元驱动时,如果没有可以新建,有则可以进行修改;

典型例子:全部模板都有而且需要随时维护的变量,完全自定义,如keywordsdiscription

注意事项:$G{urlbase}是内部缺省全局变量,一旦样式配置中指定了发布地址,该地址将自动变成新地址

 

【公共常量】

命名规则:公共常量中文名

实际源码:${公共常量英文名}${公共常量中文名}

呈现形式:${公共常量英文名}${公共常量中文名}

驱动模型:

直接当常量用,即驱动时不做任何处理,但可以快速选中且选择即用,且各个设计工具中均保持

       典型例子:项目号projid、项目中文名p_cname、项目英文名p_ename、模板号tempid、文档号docid、编辑creator、创建日期createdate、创建时间createtime、编审mender、修改日期savedate、修改时间savetime

注意事项:更多的参见《模组参考手册》

 

【标准组件】

命名规则:组件名称

实际源码:${组件名称}

呈现形式:<PAGEVIEW name=”组件名称” type=”yyy” [punit=””]>不同角度不同呈现</PAGEVIEW>

驱动模型:

Ø         页元驱动时,如果发现不存在,可以定义标准组件类型、标准名称,然后进行新建该组件,如果发现已经存在该组件,则可以进行维护。

Ø         在不同工具中,PAGEVIEW内部的值可以呈现出变量值或实际值,从而适合不同美工、开发等角度。

典型例子:十七种基本模板组件均可直接定义(请参见《模组参考手册》),但最常用的是前四种可以快速定义作用相对单一目的很是明确的组件类型譬如标题、数值、简介、静态选择类组件等。

         注意事项:

十七种组件中后十三种中一部分本身就可通过“扩展组件向导”进行,另外很多是一些专门作用而往往无需先考虑。

punit指包含该组件值的完整html单一输出如<span style=’’>${标题}</span>,一般直接在算法里,不同工具可能表现不一样。

 

【扩展组件】

命名规则:扩展组件名称

实际源码:${实际组件1}[分隔符]….${实际组件n}

呈现形式:<PAGEVIEW name=”扩展组件名称” exttype=”扩展组件类型 punit=”页块名” [extparams…]>具体值和美工效果的组合</PAGEVIEW>

       驱动模型:

Ø         扩展组件是一种专门定义组件的模板,中间包含一些快速定义变量的字段,耦合成完整多个组件的定义,充分体现一切都是模板的精髓。

Ø         页元驱动时,如果发现不存在,可以定义扩展组件类型、扩展组件名称,则进入新增扩展组件文档列表,如果发现已经存在该扩展组件,则进入维护扩展组件定义文档页面。

Ø         系统扩展组件的逻辑是通过fieldvalues参数传入扩展组件模板文档,从而完成一些缺省值的快速初始化。

Ø         当前架构的相关参数可以直接通过导航树结构传入设计工具,以进一步实例化fieldvalues的值确保环环相扣。

Ø         punit可以充分实现对风格集中页块的绑结,该页块进一步定义了组件内部算法的html

Ø         extparams可以是更多专业设计工具中可用到的,从而可以更多的影响扩展组件文档新建修改时的fieldvaluesreffervalues

典型例子:

     扩展组件-栏目标识:含两个组件,一个就是真正的“栏标”字段,一个是该栏标对应的中文名挖掘组件,相关栏标字段名可以来自架构属性的内容限制字段fieldvalues

     扩展组件-主资源文件:如主图片/主附件/主音乐等单组件包含外部html标识

     扩展组件-分页正文:含两个组件即正文内容和正文分页,支持两种形式的分页标准的选择

     扩展组件-上下条内容:自动生成“上一条”、“下一条”两个内容挖掘组件,可自动传递内容模板名和栏标限制;

     扩展组件-当前位置:自动生成对一个从实际架构模板中寻找当前栏标所对应的“当前位置”的挖掘组件,可以自动传入实际架构模板名、当前栏标字段名等;

     扩展组件-栏目变量:自动生成对一个从实际架构模板中寻找当前栏标所对应的“其他变量”的挖掘组件,可以自动传入实际架构模板名、当前栏标字段名等;

     扩展组件-主列表:包含主列表和增页两个组件,可以传递一个栏标字段进入成为挖掘条件,同时如果需要可以支持查询条件字段的生成;

     扩展组件-快速列表:自动生成一个普通的自动信息列表组件,可以传递一个栏标字段进入成为挖掘条件,条数限制如果输入0则将变成全部查询全部显示;

     扩展组件-栏目链接:自动生成对一个从实际架构模板中寻找当前栏标所对应的“url”的挖掘组件,可以自动传入实际架构模板名、当前栏标字段名等;

     扩展组件-自设快速列表:自动生成两个组件,一个用来设定栏目,一个形成属于该栏目的文档列表,组合成为很多首页频道页常用到的自设栏目列表页块;

     扩展组件-栏目列表:自动生成一个自动信息列表组件,挖掘实际架构表中的符合条件的栏目列表,可以传递一个栏标字段进入成为挖掘条件;

     扩展组件-多层次列表:其实就是嵌套一层的主列表,通过逐一设定一层挖掘和二层挖掘确定多层次挖掘,可以传递实际架构表名和栏标字段进入提供缺省值选择;

     扩展组件-头条:自动生成一个sel_new_list的外挂插件类组件,供选择一条最合适的内容置于页面显眼位置,可以传递实际栏标字段和栏标值供限定挖掘关系,包含各种可能排版,包括图片简介标题等,各种各样的头条建议按照排版版式决定所选字段,对于大内容显示该组件会做自动处理;

     扩展组件-可调式列表:自动生成一个sel_new_list的外挂插件类组件,供手动选择相应内容并手动排序、排版,可以传递实际栏标字段和栏标值供限定挖掘关系;

     扩展组件-相关信息:自动生成一个rel_report全文检索外挂插件类组件,供手动选择各种内容并手动排序、排版;

     扩展组件-网页聚合:自动生成一个可聚合网页中某一块内容的外挂服务类组件,该聚合是在服务器后台进行即后台服务器必须到达该网页url

     扩展组件-外挂面板:自动生成一个简单组件,但该组件赋值是通过pallete进行,包括调色板、时间面板等;

     扩展组件-水印图片:自动生成一个主图片文件组件,组件内部支持对当前图片自动打水印;

     扩展组件-用户组织:自动生成一个group_tree外挂插件类组件,供手动选择组织结构或人返回;

     扩展组件-树构件:自动生成一个tree_view外挂插件类组件,供对特定数据表生成树状结构供选择返回;

     扩展组件-动态选择:自动生成一个动态选择组件;

     扩展组件-子内容:自动生成文档容器,并可以析解xml输出子内容的列表;

     扩展组件-级联选择:自动生成可以多个动态选择组件,实现级联选择;

     扩展组件-子文档:根据多个子内容,自动生成一个外挂信息服务组件,挖掘其中xml中的共性部分,从而输出可控列表;

     扩展组件-二次统计:对缓冲表的进一步统计的组件,在专门统计报表中会进一步阐述;

     扩展组件-流程列表:自动生成获取指定流程模板下特定任务特定条件的流程列表的组件;

     扩展组件-图片缩略:生成两个图片组件,后一个组件为第一个组件对应主图片的缩略。

注意事项:

本项目扩展跟系统项目扩展如何融合呢?建议只支持本项目级别的模板设计过程,如同新建组件一样,防止没有经过验证胡乱设计同时影响pagedesign效果!

 

【内容模块】

命名规则:内容模块名称

实际源码:

<script>var a=${实际组件1}${实际组件n}</script><PAGEVIEW…></PAGEVIEW>…

scripthtml标签

       呈现形式:

<PAGEVIEW name=”内容模块名称” exttmpl=”内容模块类型” punit=”页块名或selfdefine” [组件1=”xxx” 组件2=”yyyy”]>

具体页面完整效果代码<script>var a=…</script>

<PAGEVIEW>

驱动模型:

Ø         内容模块为一种强大功能如树或者菜单等的单独模板,该模板包含多风格、内嵌组件以及可供算法实例化的扩展组件向导、可通过页块反过来进行内容模块风格更新;

Ø         支持复杂和庞大的Html代码复用和扩展,该代码不属于组件中展示html,同时也无需控制到编辑所需要的资源片断块,如图片的宽度、高度等没有必要;

Ø         支持扩展组件模式而本身带“个性提示化组件”,既可以用扩展组件的方式更新而无需还要考虑通用替换,这种方式感觉可行!组件内除结果外能否给出个提示性组件呢?这才是关键之王道;

Ø         个性提示化组件是指<PAGEVIEW name= exttmpl= style=风格名或selfdefine  组件1=xxx 组件2=yyyy>的组件1、组件2是指内部已经给出一些典型的组件样例最后是一种强制更新的机制吗?如图片列表中复杂的sql算法;

Ø         输出成dw时将自动输出原有的并支持dw美工设置成自定义方式便于完善内容模块的形式扩展;

Ø         page_design时将自动把自定义的页块风格写入内容模块的多风格中!

Ø         同扩展组件在样式导入后将形成待处理内容模块,并包含指定风格信息,从而可以进行实际内容模块的导入动作!

Ø         为了强化系统的功能,支持模板直接设计中直接插入内容模块的功能,不过是通用向导而已,但不包含逻辑替换、不包含自定义风格、无法指定风格即只能手动选择等功能!

典型例子:

     内容模块-图片播放列表,快速插入一段html代码和一个典型图片挖掘组件,形成一种图片播放列表;

     内容模块-通用树导航,快速插入一段树结构显示的js代码和两个数数组定义的扩展组件,快速形成树导航结构;

     内容模块-菜单,专业版支持

     菜单内容模块,专业版支持

     内容模块-标签卡,专业版支持

     内容模块-挂件,专业版支持

     内容模块-播放,专业版支持

     内容模块-地图,专业版支持

注意事项:

资源片断和内容模块区别是模板代码中是否包含<PAGEVIEW…,资源片断其实也将嵌入到各级公共位置!

相对于模板复制功能,关键是模板进入美工系统后也可以重新调整,从而变成很多核心功能模板的快速复用模式,即建议系统级内容模块能否处理展示模式的调整?!

高级定制专业版本,Dreamweaver设计时基于style来选择,并成为新的p_unitp_unit和模板的风格一一对应。

 

【嵌套模板】

命名规则:模板名

实际源码: /js/jsproxy/ajax/ iframeproxy

       include

<!--#include virtual='[url]'-->

js

              <SCRIPT src="[url]"></SCRIPT>

              jsproxy

<SCRIPT src="${pwd_http_path}/ishow?...&url=[url]"></SCRIPT>

              ajax

<script language="javascript" src="http://${pwd_http_urldomain}/lib/ajaxrequest.js"></script>

<script language="vbscript" src="http://${pwd_http_urldomain}/lib/ajaxconv.vbs"></script>

<div id=div_xxx>等待中...</div>

<script language=javascript>

var ajaxobj=new AJAXRequest;

ajaxobj.method="GET";

ajaxobj.url="${pwd_http_path}/ishow?...&url=[url]&r="+Math.random();

ajaxobj.callback=function(xmlobj){

         div_xxx.innerHTML=bytes2BSTR(xmlobj.responseBody);

};

ajaxobj.send();

</script>

              iframeproxy

<iframe ... src="${pwd_http_path}/ishow?...&url=[url]"></iframe>

呈现形式:

<PAGEVIEW name=”嵌套模板名” inctype=”嵌套类型” urlrule=”url规则” [punit=]>

具体页面完整效果代码或上述设计嵌入代码,取决不同设计器

<PAGEVIEW>

驱动模型:

Ø         无嵌套模板驱动时将创建新模板并传入当前html进入新模板,一旦有模板再驱动将构建新模板实例化文档,如果这个也有再次驱动将变成嵌套模板可视维护体系。

Ø         嵌入不同页面的规则仅仅限于文件名称的规则和嵌入方式,这个很关键,文件名称限于当前页面所有组件、变量和常量,从而彻底屏蔽逻辑规则必须显性表达,其中type可以缺省将通过代码自动判断!

Ø         正向嵌套时自动由funcwiz后处理程序处理嵌入规则和类型判断,同样由规则锁定该文档是否存在从而确认规则有效,绝对不是直接嵌入特定页面,毫无意义上。

Ø         专业美工和页块敏捷设计中只是加上pageinclude标识并在该标识内的组件自动屏蔽,在模板制作tmpl_design中可以识别嵌套模板并支持嵌套模板的快速新建向导,新建嵌套模板关键传递当前变量加入新mainptd并建立文件命名规则,基于该规则同时要求组件的自动建立,然后增加出相应的文档!

典型例子:

     公共页面include区块,如头、导航条、尾,一般后缀为shtml来解析;

     独立模板--功能导航,里面可以输入一些值的,供大家使用,即模板包含了组件;

     典型复用功能块,如计数器、评论系统、投票模块、统一用户登录模块!

注意事项:

       局长信箱|投诉系统|在线咨询都是动态系统不是复用模块!!

动态代码的先不管了,等全面阐述开放代码生成

 

【快速表单】

命名规则:模板名_内容表单

       实际源码:

<form>…</form>

呈现形式:

<PAGEVIEW name=”快速表单名” extform=”模板名” punit=”页块名”>

具体页面完整效果代码或者最后的表单

</PAGEVIEW>

驱动模型:

Ø         任何模板均可进行“采集使能”且才可以进行内容表单生成;

Ø         可生成的表单类型包括1外部+2查询+4修改+8流程的组合;

Ø         生成的表单还可以进一步通过配置进行进一步个性化设置;

Ø         fieldstyle跟页元自动对应即页块标识获取头、行和尾;

Ø         默认通过content_collect进行采集;

Ø         根据表单可以跟DW专业设计完全自定义耦合,设计快速表单

典型例子:

              所有需要用户录入且界面全个性化的模板!

注意事项:

独立表单设计工具能做表单模板组件生成、表单专业呈现设计、表单多形式输出,这个怎么融合该引入表单功能呢?建议本身就是两回事,但尽量生成时精美点即可用!

 

【资源片断】

命名规则:模板名

实际源码:合成后的html

呈现形式:合成后的html

驱动模型:

无驱动,但单击选择资源片断时,可以输入基本属性,生成一个典型的html片断。

       典型例子:可以用来限定js访问规则等规范

注意事项:

资源片断和内容模块是同一种模板,但由于模板内部是否包含PAGEVIEW而区别。

第二步:剩余复杂功能进行构件扩展

       剩下一些复杂功能,是项目开始实施前必须给予足够关注的事情。实际上,很多地方,一个小小的功能要求,往往影响了项目最终实施进度和实现质量,细节决定成败。

 

下面给出几个典型例子你都有很好的解决方案吗?

     外部webservice调用方式?

     如何代理发送邮件,sendmail

     Pdfexcel的自动生成?

     各种典型的功能模块?

     ….

 

如果答案是“没有”,那么请你先从“OSS扩展构件”中查找检索,如果找到,请你按照该构件的导入指导导入到本平台,并自行测试掌握该扩展构件。

如果还是没有找到,那请你找到您的项目组技术负责人,共同探讨该怎么解决?其实一切都是模板,当然你们可以创建一个解决该问题的模板,经过本地测试和使用。

经过验证OK后,为了进一步便于大家使用,再通过“OSS扩展构件”的自定义构件,封装该模板未标准构件,供开发过程中自由使用这个新构件。

第三步:寻求支持而无编码解决难题

如果还是觉得比较麻烦,请告诉iLogic或您的支持iLogic架构师,iLogic一定有一个更简单的方式帮您“无编码”解决该问题。

 

可视工具套件集的组合选配

理解原则、确定架构、明确各种页元实现后,下面我们就要开始进入各具体程序(页面)的敏捷开发了,但在马上进入之前,请根据团队人员能力状况、结合一些参考项目、选用相应典型工具套件进行快速制作。选用这些工具前,了解它们的特点,具体工具集包括:

      

【统一快维工具】

     支持整合所有上面的可视工具从而快速进入设计制作,“一个入口、一步到位、维护所能”;

     支持url直接输入定位,实际系统问题一般首先是页面上出现,该模式直接定位模板、文档、组件额无需寻找;

     支持对基本组件标准维护、扩展组件页元驱动维护、内容模块直接维护、嵌套模板嵌套维护的能力;

     基于punit如果没有实际页块对应这可以快速维护其中文字、url、图片,任何人都能进行的对模板直接控制的操作;

     加入list就能进行内容维护,这种功能类似于wiki,从而做到编辑“所见即所得”的能力。

 

【数据设计工具】

     直接设计表格和字段,这里偏重字段;

     给传统长于数据设计的人员使用。

 

【模板快构工具】

     全面完整支持页元驱动体系,从而做到智能引导、各级向导、有效驱动、少无编码等就能完成模板的快速实现;

     支持网页的直接导入,乃至外部url网页,并有效析取各种公共文件,从而做到最快初始化页面表现;

     要能载入特定风格的风格框架集,自动识别其中具体风格页块库,即完成跟页面快设工具的有效协作;

     支持多种快构工具拓展,无需适配器,只要定义好并设置好传入变量名,就能让新工具发挥作用,构造无限快捷可能性。

 

【页面快设工具】

     任何一套html怎么抽取成为风格框架库和风格页块库?从而直接支持其他项目从零开始的快速页面和页块的复用。

     美工人员制作该库后,可以直接导入和当前节点下模板耦合,然后把存在的组件和页块按“名称”实施“自动改版”,不存在组件进行复制式创建继续实施耦合,直接、快速无编码地完成改版工作。

     支持多种快设工具拓展,无需适配器,只要定义好并设置好传入变量名,就能让新工具发挥作用,构造无限快捷可能性。

 

【标准HTML工具】

     DreamweaverMXP插件,跟页元一一对应;

     设计时直接配置各种页元PAGEVIEW完备基本属性;

     无缝输出到iLogic从而便于快速进行快设和快构;

     MXP插件将自动按照iLogic页元驱动体系自动生成并发布;

     团队必须了解MXP插件和规则,共同打造DW工具。

 

【专用可视工具】

     表单设计器,像word表格制作一样无编码构建数据库、录入界面和表现界面。

     工作流设计工具,围绕流程设计,直接驱动模拟业务流转,偏重业务设计人员。

     可视工具可自由拓展定制,然后直接挂接,确保与时俱进,开放拓展。

 

web2.0设计工具】

     所有功能均以web2.0方式呈现,即ajax调取服务;

     各种高级功能均以云聚件模式,自由拓展整合;

     团队必须长于web2.0开发,共同根据习惯而开发定制。

 

【编程开发工具】

     在线敏捷编程开发工具,全面呈现自动生成的框架,但不能修改;

     组件中可维护的逻辑代码,可直接编程开发,进行对应性维护;

     自动版本保存、自动调试支持、自动错误提示、自动协作支持;

     前提必须确定您的开发框架、编程语言以及一一匹配映射规则。

模板快构工具

20个常见场景完成即可,尽量按照可能出现的先后进行,多描述注意事项,更多参考其他具体文档】

 

1.             开始一个简单的内容模板

(1)       在左边架构导航上,点击一个已经经过内容模板设置且内容文档实例化后的节点下的“内容”,进入内容模板统一快维工具,然后进一步从“模板”下拉列表中选择“快构(或快速)”工具,进入内容模板快构工作。

(2)       页元驱动时,请把光标放在需要页元驱动的地方,然后单击“区域选择”标签卡选择其中的“快速标记”,插入<PAGEVIEW></PAGEVIEW>标记对,当然你也可以选中一段内容来进行标记,这样这段内容外面会插入PAGEVIEW标记对。

(3)       光标处于PAGEVIEW区域内,单击右上方的“页元驱动”按钮,此时将自动选中标记页块区域,然后进行智能页元驱动,驱动时将首先让您填写页元名称(name),名称如果填写则提示您选择页元类型(具体参见页元选型部分),全部填写完毕将进入实际的页元驱动即完成相应页元的实际制作。

(4)       常规内容模板,请按上面步骤依次驱动,一般选用标准组件标题型组件、扩展组件分页正文、公共变量编辑、公共变量创建时间、全局变量—keysdescription、网页title等;初步构建完毕后,单击快构工具上方的“保存”按钮保存模板,要养成多保存的习惯。

(5)       此时,我们就可以从多个角度看内容模板快构效果了。单击快维工具上面的“数据”按钮后出现的字段列表页你就能看到在默认字段外新建的字段名了(如果没有输入字段名将按自动规则sp_fxxxx生成);选中快维工具上面的“内容”下拉列表中的“修改”可进入该内容的编辑录入界面你就可以输入实际标题内容了,注意为了看到内容分页效果你必须插入“分页符”;提交该内容进入合成界面,在合成界面上单机合成后的链接url地址,你就可以看到最后表现层的效果了。一个模板的快速构造,一步到位解决了很多事情,这是一切都是模板的力量。

(6)       正文内容换编辑器的换用,实际上标准正文可以支持全屏与否,支持扩展资源片断无限,支持标准图片、附件等文件插入,增加大型外挂插件处理,支持自动排版等等,iLogic支持更换各种正文内容编辑器,但涉及到文件类型的耦合必须一一手动调整和配置。

 

2.             完成一个带栏标的主体模板--列表页

(1)       在左边架构导航上,点击一个已经经过主体模板设置且文档实例化后的“最末梢”节点(因为最末梢节点往往都是列表),进入主体模板统一快维工具,然后进一步从“模板”下拉列表中选择“快构(或快速)”工具,进入主体模板快构工作。注意,以后就不再重复该过程说明而是“直接进入快构工具“了。

(2)       如果你从来没有做个任何列表页或者该列表属于独立节点,你可以立即通过页元驱动快速构建主列表,即快速标记、填写名称、选择扩展组件主列表类型、进一步驱动进入主列表向导页;在该页面,已经有值的就用缺省,但你需要输入扩展组件名、调整列表条目(默认太大不容易看到增页效果请先输入23等)、构造sql语句,然后可双击头html的输入框调用默认输出html格式,最好输入一个<br>的分隔符以分隔列表和分页区块,即可立马递交发布从而调用向导自动创建相应组件(这里是两个组件);保存模板;然后你可以选择“模板”中的“组件”查看是否创建了相应组件,同样你可以进入“内容”的“修改”观看主列表实例化文档的效果了,注意一定要好输入“XXXX_增页”的数字建议100页且内容数超列表条目数才能看到增页效果。

(3)         如果你是从属于实际架构下的列表,一般必须进行栏标设置(置标),置标前请设定当前节点中主体文档号,默认是0而变成自动选择(可以看到弹出提示),具体操作就是再次右键该节点弹出菜单中选择“主体模板文档设置”,在主体文档号下点击查找相应的文档号后手动输入该文档号即可完成设置;注意,一旦设置后该文档号不能随便删除否则就要同样修改此处文档号。

(4)         在快维工具中选择“栏标”下拉列表中的“本节点置标”,弹出输入康输入置标的字段名,比如mymarkmytype等,确定即可自动完成该工作,包括列表模板自动增加栏标字段、内容模板自动增加栏标字段、自动设置架构中内容模板限制字段规则、同时对已经实例化的文档该字段赋上当前节点的键值等;当然,如果是先有列表模板没有内容模板,可以选择“栏标”下拉列表中的“内容体置标”补充完成相关工作。置标后的提示页中如果需要手动刷新左边导航树架构请手动刷新。

(5)       此时,刚才构建的主列表条件必须进行修改,即要修改主列表扩展组件:修改扩展组件时,同样通过页元驱动完成:请先把鼠标移动到PAGEVIEW内部位置(注意不要移动到${xxx}组件内部否则将直接进入组件的维护界面),单击页元驱动即可进入相应组件向导修改页面,该界面将自动感应当前栏标、页块定义的变化而给出修改的提示;栏标改变时将自动修改键名,再次发布即可完成主列表扩展组件的修改。

(6)       为了在刚才的主体模板和内容模板引入当前栏目对应的中文名,请各自增加“扩展组件栏目标识”,这个就不一一赘述了。

(7)       实际上,在我们的完整的实际架构上,有很多最末梢的节点,如何使得每个节点都自动带上上面的主体模板、内容模板乃至内容字段限制等呢?这就要通过栏标泛化功能完成,在左变得导航架构树上点击已经置标成功的节点,出现该主体模板的快维工具界面,选择“栏标”下拉列表中的“同父下泛化”、“同频道泛化”或“同架构泛化”之一,它们分别为同一个父节点下所有同级节点、同一个一级频道下的所有同级节点、同一个实际架构下的所有同级节点进行跟该节点类似设置,包括主体模板、内容模板、内容字段限制[栏标]等,甚至初始化相应主体模板的文档页。

 

3.             建立页头、导航、友情链接、页尾等公共页嵌套模板

(1)       请先规划好这些公共页,一开始不一定要非常完备,确保够用即可,个人建议导航单独出来,因为导航可能有很多种个性化效果,便于以后拓展。

(2)       进入刚才列表的主体模板的快构工具,通过页元驱动构建“嵌套头部模板”,因此驱动会出现不同页面,按步骤依次进行;

(3)       进入刚才列表的主体模板的快构工具,通过页元驱动构建“嵌套尾部模板”,因此驱动会出现不同页面,按步骤依次进行;

(4)       进入刚才列表的主体模板的快构工具,通过页元驱动构建“嵌套导航模板”,因此驱动会出现不同页面,按步骤依次进行。

 

4.             构建更高级别的主体模板首页或频道页

(1)       这种更高级别的页面,除非有完善的逻辑和明确的需求,一般一个节点对应一个模板,否则将加大增加个性化限制以及开发管理成本。请首先确认这种情况;

(2)       然后确认url命名是否比较明确(具体规范参见架构设计一节),否则进入相应主体模板的快维工具,选择“模板”下拉列表中的“网页”,直接修改其中的默认url;改完后,一定要进入“内容”下拉列表中的“修改”页手动清空原来的url并重新点击“缺省”设置新url后合成。

(3)       进入该频道或首页主体模板的快维工具快构工具界面,如果有实际架构支持,可以通过“扩展组件栏目列表”建立本频道下的栏目导航,点击各个栏目名称可跳转到各个实际栏目的列表页;没有实际架构支持请跳过该操作,一般就只能手动输入url了。

(4)       频道页或首页有很多限定条数的列表,即快速列表,你可以分别选择“扩展组件快速列表”构建,注意

(5)       频道页或首页如果你想让最后内容维护人员确定特定栏目的快速列表,请选择“扩展组件自设列表”构建,注意

(6)       频道页或首页,往往还有一些明确的头条出现,请选择“扩展组件头条”构建,注意

5.             引入内容中的自敏感快速交互功能

(1)       很多功能一旦被使用将带来自身状态的改变,包括普通状态流、简单计数器乃至其他很多类似地方均可用自敏感方式解决,下面举一个快速计数器的例子;

(2)       进入上面内容模板的快构工具界面,进行“计数”名称的快速页元驱动,并选择“标准组件”中的“数值型”数据类型,其上字段名称可以进行指定如viewcount,递交建立;

(3)       再进一步选中该页元,进一步驱动时,进入该组件的修改页,在算法中增加如下算法,最关键的是在“是否入库”下拉列表中选择“入库且算法敏感”:

#code:

${计数}=${计数}+1;

#html:${计数}

(4)       反复合成、代理等你可以看到该值自动+1,请进一步思考该模式可以解决传统程序中多少类似问题?

(5)       如果是完全静态的页面,可以通过云服务框架程序嵌入从而单独控制该字段的敏感。

6.             引入内容的独立增删改功能

(1)       同样,进入上面内容模板对应的快构工具界面,单击“快速表单”à“采集使能”,在弹出的采集参数列表中,如果没有请单击“增加”按钮增加一个对该模板的采集配置,随便写个中文名如“你的模板_采集”,用户名和密码也随便填写譬如都是你的英文名,其他不用填写递交即可;如果已经存在则查看并记住该用户名和密码。注意:该用户名和密码非严格意义的密码只是在安全性上做一层标识增强;

(2)       然后,进入你准备进行独立增删改功能的主体模板对应的快构工具界面上,一般建立该独立功能节点包括增加和修改功能,单击“快速表单”选项卡,就可以看到刚才采集使能的那个模板的快速表单按钮;注意,由于按钮较短,你可以移动鼠标看到全部名称,一般为“你的模板名称_内容采集”字样;当然,你也可以用页元驱动模式自动向导完成。

(3)       单击该生成快速表单的按钮,出现一个表单模式确认框,1标识是外部使用否则内部使用从而决定是否生成更加复杂功能的表单、2标识只是查询还是其他用途从而决定表单增改或查询、4标识是修改用途还是增加用途、8标识是否同时加入流程控管,这些参数你可以组合使用,譬如“外部增加”则为1+0+0+0=1,譬如“外部修改”怎为1+0+4+0=5,先设1产生普通增加快速表单,进入动态程序表现页窗口;

(4)       在该窗口中,使用用户名和使能密码就是刚才采集使能的用户名和密码,请填入,递交后处理代码是采集完成后的后处理javascript动作,其中__D_ID__是递交增加的实例文档号,先用缺省值,然后单击界面上的“设置”按钮,确认设置完毕后“提交”,返回快速表单HTML代码进入快构工具主界面;

(5)       你可以研究一下这些默认代码,然后保存该模板,合成当前实例化文档,并进入该实例化文档页,即可看到一个可以录入内容的增加表单,手动录入数据,然后提交,然后进入内容模板对应的快维工具->内容->列表中查看数据录入情况;

(6)       进一步构建修改功能模板,一般独立建立,因为要通过d_id参数传递修改哪个具体文档的信息,该链接可以跟列表页的文档号形成对应关系即在列表页传入修改(modify.shtml?d_id=xxx),具体请手动练习然后通过“快维工具->操作->代理”观看修改行为的效果;

(7)       由于删除比较谨慎,系统不提供物理删除的快捷向导[你可以自行构建],删除其实就是一种逻辑修改[audit_flag=-100是系统逻辑删除但需要total_count设置],你可以结合系统本身的逻辑进行任何新增组件的逻辑删除控制。

7.             进行列表查询的提升

(1)       进入需要增加查询的主列表模板的快构工具界面,在列表上面同上增加一个查询表单,外部查询表单你可以输入1+2+0+0=3的表单模式,从而支持传入条件到当前页面;

(2)       然后进入你的主列表扩展组件向导,单击“附加查询”下面的“确认”按钮,弹出当前查询模板的页面,双击该待查询的模板确定返回,然后进一步单击“附加查询”右边编辑框(里面是刚才返回的模板号),从而调出下面的“表单条件构造”功能,单击“构造”从而加入上面需要查询的表单字段;

(3)       最后发布修改形成更新后的扩展组件,保存该模板,然后进入“快维工具->操作->代理”里看动态查询的效果。

8.             引入高级列表查询功能

(1)       全动态列表:该模式中分页基本是静态为本,对于少部分增页可以,但如果增大非常大的分页且希望完全动态,请加入page条件同时启用page_conditon,目前为手动追加该值传入;在windows下为了确保中文条件传入请用urlencode对中文部分转义,建议一步到位吧!

(2)       嵌套列表:嵌套sql语句从而实现对多个模板的嵌套查询,即从模板1查询获取值后再拿该值对模板2进行内部查询返回完整值类似inner join/left join/right join类似功能,请选择扩展组件中的“多层次列表”进行!

(3)       列表权控:任何主列表或扩展列表,在返回的具体组件处,通过页元驱动进入具体组件的直接维护页面,在算法最后加上”#auth:y”,即可实现统一权限控制过滤。

 

9.             引入平台公共的通知、短消息系统

(1)       确认该模板一般为首页或者单独用户管理模板要加入该公共的功能块;

(2)       进入该模板的快构工具,除页元驱动外,你也可以单击“嵌套模板”后直接点击“新通知栏”或“新短消息”按钮就可以直接插入这些功能块的功能引用。

(3)       进一步点击该界面右上角或者扩展组件标签卡最后一个的“合成按钮”,合成测试这些功能,或者进入快维工具操作代理来体验。

 

10.        构建项目内部独立的评论系统、调查系统

(1)       确认当前项目是正在开发的项目,选中菜单“功能块->独立评论功能”或者“功能块->独立调查系统”,复制这些功能块进入该项目。

(2)       进入要加评论或调查的模板,进入该模板的快构工具,从“嵌入模板”标签卡选择相应的嵌入模块进行嵌入。

(3)       部分功能也可以在快速表单中加入,如“加入评论”,全面调整评论的采集界面。

(4)       进一步单击该嵌套模板,进行页元驱动,可以进入进一步嵌套模板的快构工具中进行进一步模板设计。

(5)       进一步体验。

 

11.        加入统一用户管理系统

(1)       先确认该用户为统一用户模式,用户密码和平台上的用户完全一致当然就不用特制登录端了!!!

(2)       请进一步列示步骤!

 

12.       加入独立用户管理系统*

(1)       用户单独注册,只对外部用户起作用,跟平台上的用户不一样;

(2)       直接在嵌套模板标签卡中引入“统一登录代理”;

(3)       开始体验该统一登录代理效果。

(4)       先注册成为外部用户,审核后成为系统用户,获得混合权限;

(5)       请进一步列示步骤!

(6)       加入混合用户管理系统

 

13.        关于文件管理和控制

大文件上载呢?这也是个命题!!!

       * 动态文件下载downfile1,在什么场合使用?最好无缝解决掉!!!

14.        版本日志列示和控制

       日志访问,版本控制的基本功能,最好同样结合页元驱动来表达!!!

 

15.        如何充分降低页面JSajax编程

其实就是依赖客户端的代码方式?技巧要融入才行哪怕一句话!==我认为就是可以立马生成ajax逻辑层,有没有做呢?是校验?显示?还是很么地方?完善并嵌入ajax mashup机制!!!

 

页面快设工具

【美工制作过程,给出几个常用场景使用方法即可!】

 

(1)       选菜单“配置->风格集配置”,进行美工风格集的建立或初始化配置。注意,如果你想复用某种风格集,请单击该风格集url,将全部展现各级页面的样子。

(2)       在快维工具中,选择“表现”下拉列表中的“快设”功能进入快速工具(如果该项目没有美工集对应,将先给出:“无任何风格集,请先建立或指定,注意指定时项目号后要强制加分号...”,请点击“手动处理”进行上一步的风格集配置)。

(3)       如果第一次使用,先要单击快维工具上面的“载入”按钮,调用专用文件上载工具上载美工风格页,该工具比较复杂,需要在Intranet区域使用,可以自动抽取其中的公共资源文件且自动转换其中的公共资源文件路径等。具体使用方法,参见界面上的提示。

(4)       载入完后可进行预览,如果发现文件上载不全,也可以单独在菜单的“产品->产品文件上载”中以zip的形式上载公共资源文件,原始路径打包成zip即可。

(5)         互相参照,加上对应的PAGEVIEW标记,然后进行匹配,匹配时将自动进行页块自动析取,请按提示进行。

(6)         最后进行保存,建立该风格框架和部分风格页块库;即可供快构工具实现该风格集。使用方式为:在快构工具中,载入风格模板,然后对已经存在的页元逐一驱动,保存后合成即可看到新效果。

(7)         支持多种风格包载入,此时要特别注意:一动全动,公共文件冗余垃圾

工作流设计工具

       结合标准工作流驱动模型,无缝融合到上述体系的体系;

流程内容+流程列表[无信息结构]

一些技巧性东西等还是要总结总结!!!

概述

       流程开始前,要新进入菜单“配置->能力授权”,对当前项目授予“工作流许可证”。    然后进入相应内容模板快维工具,进一步选择“模板”下拉列表中的“网页”,对当前模板启用工作流配置;此时再单击“模板”下拉列表中的“流程”即可进入流程设计。

工作流模型

     工作流从属iLogic的模板,工作流XML建模为模板重要元素,对应模板属性“工作流定义”;

     工作流定义为XML形式,并有严格版本的定义;

     数据从属于模板中的组件;

     角色对应iLogic系统角色;复用iLogic系统,所以内部的角色将被忽略作用,内核中的仅供记录和读取。

     用户和权限同样从属于iLogic权控;复用iLogic系统,同样用户被忽略作用,内核中的仅供记录和读取。

     工作流处理为文档中当前过程的工单XML,参见datashhet目录.

     工作流执行推进为“合成”,暂时保存为“入库”;

    

工作流设计器功能介绍

动作型节点

 

任务:携带数据的任务,可以自动加入“数据”,实际上任务也可以嵌入规则,规则引擎目前是单独引擎,具体参见《概要设计》;另外,没有数据和规则则变成提示性任务!规则引擎为自动按条件对task的执行,在返回时将轮循设定新值到原始工作流,成为最新动作的工作流。规则代码里可执行各种复杂的代码操作,将根本改变工作流,从而完成规则对工作流的完全作用,以执导后续流程改变,典型包括deadline—截至时间没处理怎么办;opfilter—?;extendrule--?等

 

操作:发送通知(wftk_notify)等自动处理行为, 一种简单地调用外部程序执行的能力,跟规则引擎有巨大不同,也不是模板组件内置行为这是临时外置行为,而是它是一种外部动作衔接接口,包含外部程序、传入参数、返回数据。作为外挂的程序由系统人员自行定制。内核自动执行解释并返回数据结果!实际上,操作如通过邮件通知,还有短信Alert,关键都是外挂程序执行,./www_container.exe 一系列的东西,格式如act?param=result,而type可以为各种形式的代理器如www_container.exe或其他直接执行程序!这些外挂操作除给几个默认的其他全部是外部程序,其中参数结合工作流环境即时进行替换--wftk_value_interpreta

 

嵌套:嵌套另外一个模板,可以实现非常灵活的工作流嵌套。可以容纳子流程子任务等,wftk_task_subprocwftk_task_attach

 

流程型节点

并行:内部所有动作为并行状态;

串行:内部动作按照先后顺序依次进行,普通默认就是串行,但如果是并行内部几个又组合成串行就需要该类型流程节点标识;

判断:内部为选择分支进行,如果无通路可能就中断了如直接“拒绝”申请;

分支:内部包含进一步各种动作,必须在判断内部;

跳转:跳到统一处理的位置,如同程序的断点,可以设置多个断点,按名称name跳转到situation同名的handle

处理:定义单独处理,该处理可成为跳转的目标,如最后“拒绝”说很申请强制中断的处理;

 

显示控制按钮

设计:显示和关闭设计状态,设计时支持拖拉;可视化设计器直接支持节点拖拽成为子节点,“设计”状态下支持节点位置的直接拖拽,支持快速定义拼接各种节点,同样支持流程树结构上支持拖拽

删除:快速直接删除当前节点;

层退:跳转到上一层节点。

 

设置节点属性

系统:系统属性设置;

数据:设置任务等携带的数据;

规则:任务也可以携带规则引擎,这是几天设置规则引擎的地方,需要传入规则环境;

条件:设置分支的条件属性。

工作流建模及使用

(1)       工作流基本个人的操作[及优化建模]

其中:

当前任务列表       申购审核

锁定       需要吗?不应该控制!防止其他层次的修改,本身就是不能修改!

请求       这是否是一种通知功能?建议插加入wftk_request_...产生很多临时性东西

回转       wftk_task_reject,标识reject会怎么样?可以回转到可回转的任何节点;

版本       历史跟下面重复吗?这不是工作流的处理历史,而是第一个版本的历史,建议可以查看,但尽量多给一些限定条件!

管理

历史任务列表       申请购买

查看       this_doc

用户       当时执行的user

时间       当时执行的时间

反转,可以重新开始该流程!

潜在任务列表       订购下单

用户?可以显示能操作的用户即项目、模板、组件编辑的权限!

规则管理,作为规则引擎目前先不支持,何况是否该在这个地方管理?

时延?建议可以看到其已经多长时间了!

看否?观看其观看历史,同时可以继续发送通知,进行催促建议非流程内通知!

(2)       工作流列表统一到审核列表类似程序;建议加入当前自己任务的相关动作和所在位置的提示!

(3)       增加树节点下工作流管理的软件即服务可以直接基于节点构建当前节点下的分支工作流。

(4)       Wftk_lsit构建流程列表,具体查看扩展构件!

(5)       你还可以直接通过audit_flag进行更多的标准列表查找。

(6)       更强大的工作流面板

特色

l         自定义任何表单和模板;

l         自适应iLogic角色和用户;

l         无限外部处理动作action

l         是否支持数据辅助计算和处理能力! 支持预合成能力,本身就和支持预编辑吧!因此,此时设计该流程在特定任务支持直接预合成能力,而非一定要中断,从而实现这种可能!!!

l         工作流无限制递归嵌套;

l         支持工作流多自动规则;

l         自动支持工作流分支逻辑;

l         基于模板视图工作流整合;

l         基于内容服务工作流接口!

表单设计器

原则

u       可见即可得,

u       客户直接设计

u       表单是模板的实现和表现方式之一

u       多种形式的引用通道

u       多种形式的导入方式

u       多种形态的输出介质

u       提供各种外部数据服务接口

u       提供表单内部流程外的其他逻辑运算。

表单模型

表单即模板自动实现字段和组件的对应生成

注意:非表单元素将直接归属于模板的HTML代码。

对应规则参见下面的设计器功能介绍

表单即模板自动实现整体表现和模板HTML代码对应

 

表单即模板融合强大采集功能的多种形式导入

Excel

Word表单

普通HTML插入

大样反解格式

XML数据

Webservice

表单即模板基于样式灵活拓展多种形态介质输出

普通数据表

XML

EXCEL

报表

PDF

CSV

其他外部标准

 

 

表单即模板基于GCMS提供各种外部服务接口

http通道

soap通道

等提供高性能数据服务能力。

表单即模板无缝整合iLogic模板工作流引擎

 

表单即模板通过模组开放定制其他各种表单的逻辑功能

表单的分类

表单对其他数据的整合

嵌套表单

表单的复杂展示形式等

 

表单设计器功能介绍

整体操作

新建

打开,可以载入外部美工页面或其他美工做好的表单

保存,保存表单为模板,包括自动构建数据字段

打印

从模板新建页面,基于表单库提供多种模板供选择

预览

 

表单元素组件对应模型

Lable

文本框

数字

密码

连接框

邮件

复选框

单选框

文本区域

下拉列表

链接表单

文件

链接

日历

图像

提交复位按钮

容工具

多行模式

Html

 

元素样式

对表单和其中表单元素的样式控制。

排列调整

是否显示网格、对齐网格、同时创建标签、自动设置位置,可以通过全部选上,快速构建自动对齐的表单。

相关工具

iLogic其他模板制作、美工设计和组件管理工具无缝融合。

属性设置

除表单属性外,自动根据当前选中元素,给出各种属性的直接配置,包括宽度、高度等。

快速设计

一个表单设计不到一分钟。

特色

(1)       自定义任何形式的表单;

(2)       实现对表单的各种开放式逻辑添加;

(3)       无缝融合工作流驱动;

(4)       全可视化快速设计。

统一快维工具

重点讲一下直接进行统一测试运行的环境,一般参考快维工具中的“操作”区,里面有以下几种选择:

u       访问:直接静态网页访问;

u       代理:基于iportal进行访问;

u       调试:iportal同时启动调试,错误输出到调试日志,可以选菜单“查看->调试日志”进一步查看调试信息;

u       预览:快维的预览功能;

u       编辑:快维中的编辑功能;

u       维护:快维中的维护功能;

u       综合:快维中的全部功能;

u       其他:加入icms等东东测试范畴。

开放软件即服务

       下面结合一些常见的软件即服务进行快速讲解,之所以为“软件即服务”,要的就是快,一步到位,更多高级配置参见专题智库!

统一权限管理

为什么这个地方才将该功能,甚至再页元驱动中居然看不到有点有关用户权限的页元,实际上我们完全不鼓励先做用户、权限的任何规划和逻辑开发,因为用户变量过早使用只会带来更多束缚,往往放到最后进行嵌入,除非特殊目的明确要求,从而实现动静多种模式都能有效访问和用户权限交由专门SaaS统一管理!

(1)       基本用户变量只能用在动态体系,包括以下通用变量:$sessionKeycookie中唯一标识)、$g_u_id(登录账号)、$g_u_no(平台层用户编号)、$g_u_name(真实姓名)、$g_g_id(对应部门ID)、$g_u_email(电话或邮件)、$g_u_gname(对应部门名称)等;

(2)       动态代理层支持ATS功能,不管是网页还是脚本里,”<ATS r_id=项目号_模板号_文档号 op=VIEW|INSERT|MODIFY|DELTE…>内控html</ATS>”,将根据当前用户对资源的操作权限是否,控制显示内部html区域;

(3)       支持动静混合下的权限控制,静态一律看不到,但一到动态,会根据权限进行控制,先确认配置个性化显示模式(gcms_default_mode+=64),然后根据情况决定内容模板是否再增加一个静态组件标明是否为必须登录才能看到,然后单独做一个组件,默认值为正文内容类型组件值 一旦需要登录才能看到,该转换组件算法例子如下:

#code:

$html=qq|${正文介绍}|;

 

if($g_u_name eq "")

{

while($html=~/<A href="\/content_file\/[^"]+">[^>]+<\/A>/gi)

{

   $html=~s/$&//g;

}

 

}

#html:$html

(4)       uacms的代理模式千变万化,是将模板中的用户管理和平台中用户管理进行对接的根本工具,一般置于模板后处理程序中。

(5)       关于CA等外部统一登录机制的快速耦合!!!

(6)       包括外部用的多层次登录控制,增加一个用户信息代理吧,建议采取嵌入机制,而不要搞得铺天盖地,我是强烈反对的!==!同时考虑,两种用户,一种是外部用户,一种是系统级用户,对此怎么考虑?普通注册用户最好也行,也包含基本信息!!

 

数据采集体系

       完整的数据采集体系配置如下:

(1)       iPaaS集成开发环境中的“信号区”,当轮流到内容版本时,看一下当前你要采集的内容新增一个时它的内容版本,即内容大样反解标准;

(2)       手动通过那个REC_BEGIN行再增加到2条内容,简化很多不需要的地方,除“操作类型”为必要外;

(3)       直接通过“整合->快速反解”,粘贴刚才的内容,看是否有报错,看入库后数据是否达到你的期望值,有错按照提示调整即可;

(4)       大数据量(不超过万级)生成文件,可以通过“整合->大样反解”,提交到后台分解,此时可以查看信号区检验分解情况;

(5)       数据巨量时,请采用专业的iLogic海量分解工具进行,需要专业版支持;

(6)       如果文件自动生成在外部,只要是按照这个格式进行的,可以通过“整合->云通道配置”,配置ftp工具来进行远程采集,采集的时间请查看“配置->定时任务”中采集定时任务控制。

视图整合配置

       整合是视图的根本,从而形成对外部各种异构数据源的无缝耦合机制。

(1)       基于邮件整合,即采集邮件信箱里的邮件或附件,自动跟模板对应,形成对邮箱的自动整合机制;

(2)       基于文件系统整合,同样通过ftp采集进行,视文件为重要附件,自动跟模板对应,形成跟目录整合机制;

(3)       基于数据库整合,选择相应ilogic基本库植入的数据库,可以跟其中其他数据库或用户进行整合,通过触发器实现变其他数据库表为平台的模板并自由进行进一步挖掘。

(4)       以上配置,请选用“整合”菜单中的工具,按照提示逐一推进即可。

统计报表机制

(1)       选择“高级->统计报表开发”,确认当前内容模板对应的表名,即进入当前“内容模板”的统计报表配置工具;

(2)       如果还没有配置统计功能,系统先自动提示“该内容模板无任何贡献因子,请先全面设置该模板的组件的贡献类别!”,单击下面的“组件设置”进入组件维护界面,选中要计入统计贡献的组件配置“统计因素、贡献等设置”,如数字型组件可能的贡献类型为“求和贡献”、标题型组件可能的贡献类型为“属性相异数贡献”等,请在下拉列表中至少设置一个,然后进入统计报表配置工具,此时会出现报表和缓冲模板均未配置提示;

(3)       单击“报表使能”,先按默认的方式即一律用Title对应原始组件,生成对应模板的报表模板;

(4)       单击“缓冲使能”,先按默认的方式即一律用Title对应原始组件,生成对应模板的缓冲模板;

(5)       此时再单击“检查状态”按钮,此时将自动跳入报表模板的实例化文档列表,你就可以“添加”报表看效果了,统计标识输入“统计1”,要进行groupby的字段处输入*,其他地方先不填写递交合成看效果输出页;

(6)       全面认真细读该输出页,同时它也是一个完整的关于本报表的进一步使用开发的详细向导页;

(7)       默认图表输出为OFC插件,当然你也可以用fusionchart

 

全文检索功能

(1)       在当前工作内容为待索引的内容模板时,选择“高级->全文检索开发”,确认当前内容模板对应的表名,即进入当前“内容模板”的全文检索配置工具;

(2)       请连续执行“检查状态”和“自动使能”,了解全文检索配置状况,只要出现红色错误提示,请自动进行使能以进行默认配置;

(3)       直到检查状态时出现检索的命令行接口、网页程序接口和外挂插件接口,此时在右上角输入检索的标题,即可看到检索结果;

(4)       单击最上一行的命令行的右边的“输出”按钮,可以全面手动控制输出的整体页面效果,如果完全自定义记住要选selfdefine风格才行,然后要输入具体的路径名称如selfdefine/i_search1.htt

定时任务管理

(1)       选择“配置->定时任务”,即进入定时任务管理界面,定时任务可以定时执行模板实例化文档的重新合成发布计算,也可以执行特定的命令程序;

(2)       此时单击“增加”即可进入任务增加维护界面,你可以指定命令行程序,也可以默认对模板实例化文档的操作;

(3)       最后设定完毕后,返回定时任务管理界面,你必须进一步单击“启动”才会启动该定时任务。

开放软件服务

软件即服务,也是一种扩展构件,可以开放式查询、获取并加载,每个都有相应的的使用说明,这个说明怎么关联上即可,所在位置即给出了快速安装、默认接入和使用说明,同时给出了专题链接等说明;最为关键的如何包装SaaS,可以开发构建然后发行测试即可。

 

 

云产品化极速配置 

云端下载

       先从云端找到相应的产品页面扩展构件。

(1)       点击菜单“OSS扩展工具->扩展产品页面”,在弹出的列表中找到你要的产品页面;

(2)       单击该产品页面的链接,进入产品页面具体页面,从中可以看到原始的产品页面构件包,也包括具体的配置提示。

(3)       下载该构件包到本地,解压缩后可以看到几个文件,按上面的安装提示逐一执行。

快速产品化

       这里给出产品化快速导入的几个提示步骤:

(1)       通过“视图->快速反解”反解xml文件,注意其中的d_id要去掉或指定,注意路径要批量调整;

(2)       通过“产品->产品支持文件”可以上载其中特殊共用文件。

手动调整

       产品配置必须基于完整的应用和产品原型设计的基础上进行,部分应用和原型还不完备的情况下,一般只配置部分产品化即内容架构和登陆页功能。

1. 产品登陆页的快速配置

产品管理端统一需要用户登录进入方可实施管理,所以统一必须有“产品登陆页”,该页面完全右客户个性化要求,充分满足其实际标识和视觉审美等要求,如下图所示:

实际上,该登录页得配置非常简单,它对应系统项目里面的“产品登陆页”模板,只要美工设计好就可以直接进行文档新增和发布,如下图所示:

注意,这种完全自定义的登陆页html代码等均可从登陆页HTML组件处上载,但必须选择“全自定义”的风格。

2. 强大的产品主体功能全配置能力

产品配置是产品展现的核心部分,可以做到对包括菜单、树导航、功能面板导航、功能主体、个性面板、状态栏等全方位配置,各配置部分可以灵活地实现各种对SaaS服务、系统功能和定制功能的全方位调用。

整个产品配置主体部分由多个帧组成,如下图所示是一种最简单的产品主体“帧”组成模式:

实际上完整的帧除包含头和底部的主框架外,中间部分包括左帧、Main帧、右帧,左右帧一个是内容架构导航,另一个是功能导航,功能导航帧又可以继续分成上、中、下等多帧,不同帧可以挂接不同功能,从而实现整体产品的灵活配置。

配置功能对应系统项目下“产品配置管理”模板,其配置数据如下图所示:

具体配置请参见详细的产品配置手册。

3. 个性门户灵活配置

用户登录之后主体显示部分往往是portal模式,如下图所示:

该配置对应系统项目下“个性门户”模板,配置数据如下图所示:

4. 快捷方式灵活配置

用户登录后非默认导航而可以是自己定制的快捷方式导航,如下图所示:

该功能是基于系统项目下“快捷方式”模板下自定义配置,如下图所示:

5. 其他功能自定义配置

更多灵活的如组织管理等功能,可以通过新项目、模板等方式实现自动扩展。

 

产品包定制

从其他地方来的产品包必须进行定制才能下载。打包云产品包--下载云产品包--IDE中进行,产品快速配置--直接进行修改的模式!

(1)       进入当前项目,并进入一个有效的模板,可以多种方式包括通过位置导航条进入;

(2)       选中“OSS扩展构件->自定义扩展”,输入11进行自定义产品页面,注意按提示进行,相关操作注意在弹出的页面的页面上看到;

(3)       其中提示确认产品登陆页和产品主体配置相关文档号信息和名称中,如果没有配置提示页可能出错,请先确认该产品页面的配置的完备性,另一般只有一次产品配置文档起作用(由于云服务框架的缓冲能力);

(4)       要手动下载备份后的压缩文件,且记住是tgz的后缀;

(5)       然后进入云端OSS扩展构件中心,请填入ilogic.cn上你的账号名(没有请咨询或注册),登录后填写相关云构件信息并上载刚下载压缩文件;

(6)       合成后即可看到下次安装该产品页面构件的相关提示,下次按此提示进行该产品页面构建的安装即可。

 

云开发维护

云开发维护重要的是“一键式”打包部署、增量平台升级、功能模板协同、互为数据同步、镜像切换、备份恢复乃至异构系统迁移等。

系统云打包和部署

【云快速打包】

(1)       该功能一般必须是超级管理员才行,即需要进入admin后台,选择第四个标签卡中的“管理中心->云安装包”,默认打包路径,再输入序列号和密码,进入云安装包打包工具;

(2)       如果后台没有打包文件,则开始打包,可能会花较长时间,请看过程提示,其中打包指定内容的配置参见系统目录下mypackage.dat文件,你可以手动调整;

(3)       一旦打包完成,将进入压缩ilogicpackage.tgz过程,并给出安装的快速提示和安装脚本,压缩完毕后你就可以下载准备其他服务器快速部署了,注意:如果要重新打包,你必须到操作系统中把刚开始打包路径下的所有生成文件和临时目录package全部删除掉。

 

【云快速部署】

(1)       把刚才下载的ilogicpackage.tgz上载到指定服务器上,按打包时的快速提示检查数据库、web服务器是否已经安装,如果安装最好卸载,防止端口占用;

(2)       特别注意操作系统是否相似,如果相差太多,要注意选择相近操作系统,否则可能有些类无法重用,必须单独检查,这往往需要专业人员支持;

(3)       通过解压工具,如linux下用tar –xzvf ilogicpackage.tgz 解压出现package目录,找到其中的cloudup.sh,最好打开研究一下其中的先后步骤,便于出问题式步进跟踪;

(4)       执行./cloudup.sh,即可进行安装,注意其中的提示,安装正常,即可从网页上进行登录。

平台云升级及离线升级

很多奇怪的问题,往往是没有升级到位导致,请特别注意,尤其是核心类和执行程序版本不一致,可能会出现各种奇怪的现象。

【云平台升级】

(1)       iPaaS集成开发平台选择“云工具->云平台升级”,系统将出现平台升级包同步界面;

(2)       一旦服务器端出现新的升级包,请同时点击下面的“文件下载”按钮,获取实际升级包;

(3)       然后提交“完全同步”,系统将切入程序升级界面,按提示进行即可;

(4)       如果涉及到进程或核心类升级,将要求关闭进程,到时再启动进程。

 

【平台云升级】

(1)       如果系统没有发布增量升级包,你也可以无缝云升级,即进入SaaS界面,找到下面的ITIL,进入完整的ITIL管理界面;

(2)       选择其中的“平台升级”,进入云升级界面,依次按照下面的按钮一个个确认当前每个程序的版本、服务器的最新版本、差异版本确认、下载差异版本、上载到服务器、执行升级;

(3)       确认差异版本时最好逐一进行,从而可以更多了解平台相关细节,便于追溯和回溯相关问题。

 

【离线云升级】

(1)       如果两边无法像上面那样互联网可达,同样找一个能到达iLogic服务器的服务器,哪怕是你的虚拟机;

(2)       同上ITIL登录,然后比较后[不管比较结果]选择所有升级的文件,进行完全升级包的制作;再下载,通过各种方式打包传到待升级文件,传递到你要升级的最终目标服务器,如刻成光盘;

(3)       然后直接单击上载文件,直接进行离线升级。

模板云协同、框架版本协同及离线协同

【模板云协同】

(1)       基于模板远程协同机制完成即SaaS任务模式,这个是单一模板逐步导入的,可控制到单个目录,你先要在选择“云工具->云任务分发”,确认当前项目的模板从哪个服务器升级和被升级;

(2)       然后在要升级的服务器的开发界面上,选择“云工具->云模板协作”,在网络通达情况下开始进行模板比较发现并给出那些模板要升级的提示;

(3)       再选择“云工具->云执行提交”,即可逐一模板进行模板协同升级,部分模板如果包含一个内容的话也将自动进行内容初始化。

 

【云框架协同】

(1)       先必须确认源头已经对整个项目进行了快速封装,即进入快速封装页,找到对应的项目框架包,然后通过“云工具->下载指定“指定出一个指定网络地址便于框架协同

(2)       url地址获取是用封装工具产生的,但无需下载而是自动会有相应的地址的存在,这个地址可以公示,具体参见“异构项目移植的封装和导入”

(3)       在待升级选择“云工具->云框架协同”中,输入刚才的网络网络地址,注意确定风险的防范:基于框架版本文件发布完成,确保那个项目版本的框架文件是最新的.

 

【离线协同】

(1)       同上,在第一步离线下载项目框架的版本文件;

(2)       通过各种方式把该版本文件复制到目标服务器可达机器上;

(3)       直接选择“云工具->云框架协同”,一旦为本地文件,则跳转到版本导入界面;

(4)       上载刚才的附件并执行版本导入即可。

项目云备份和云恢复

【项目云备份】

(1)       进入当前项目,并进入一个有效的模板,可以多种方式包括通过位置导航条进入;

(2)       选中“云工具->云项目备份”进行项目云端备份,注意按提示进行,相关操作注意在弹出的页面的页面上看到;

(3)       如果要恢复到的地方连文件中心的原始附件都没有,最好简单封装一个项目版本文件并加入该备份包,恢复时能自动恢复文件中心中的附件;

(4)       要手动下载备份后的压缩文件,且记住是tgz的后缀;

(5)       然后进入云端备份恢复预处理中心,请填入ilogic.cn上你的账号名(没有请咨询或注册),登录后填写相关云备份信息并上载该下载压缩文件;

(6)       合成后即可看到云恢复的相关提示,下次按此提示进行恢复即可。

 

【项目云恢复】

(1)       云工具->项目云恢复 等价于 OSS扩展构件->扩展同构项目,进入具体待恢复项目的内容提示页中;

(2)       一般会给出一个自动生成的项目恢复脚本,请拷贝复制到本地,项目恢复必须在操作系统层直接按脚本进行,以防止误操作;

(3)       执行恢复时先问你需不需要备份,一般建议你备份,防止误操作,待恢复的项目必须是同名数据库,未来可能必须是锁定项目;

(4)       脚本中一般有.files.tgz,可以直接解压出相关主附件进入文件中心,防止文件中心文件附件丢失;

(5)       输入p_id号支持项目号可变,从而将对其他xml进行自动替换,构建更加灵活的内容管理架构、页元驱动过程的恢复机制;

(6)       然后依次解压各种已经合成的页面和附件,供直接访问使用。

 

服务器云镜像和热切换

云镜像配置】

(1)       即进入SaaS界面,找到下面的ITIL,进入完整的ITIL管理界面,选中“镜像配置“;

(2)       注意数据库必须相似安装,同时配置rsync文件同步渠道,这个必须由专业人员完成,尤其后者;

(3)       进一步设置备份时间间隔,定时进行镜像备份,一般选择晚上凌晨进行。

 

【热切换配置】

(1)       可通过第三方负载均衡设备,请咨询第三方公司;

(2)       可通过心跳软件进行配置,请咨询第三方软件。

数据云同步和批量初始化

【数据同步】

(1)       选择“云工具->云数据同步”,输入要同步的任务,即可进行同步发现;

(2)       选择“云工具->云执行递交”,执行同步过程;

(3)       云数据同步配置在系统项目的“SaaS同步中心”配置。

 

【批量初始化】

(1)       大数据量的批量异构请选择iLogic专门的海量数据导出导入工具进行。

(2)       也可选用第三方的ETL工具进行。

异构项目移植的封装和导入

【项目封装】

(1)       选择“产品->产品封装”,新增一个封装向导文档,选择要封装的项目、最大文档号(一般10000)、产品主体配置、登录配置,确认是否包含扩展组件向导从而支持移植后能继续开发等,然后递交合成;

(2)       在合成页中进一步单击合成后的链接,进入封装提示向导页。

(3)       封装提示页中,请先对要项目进行完备性检测,确认补充生成各个最新的版本XML文件,然后进行项目版本导出;

(4)       同理进行其他提示的内容导出;

(5)       全部导出后即时“刷新”,生成最后的ZIP压缩封装包,下载即可。

 

【项目导入】

(1)       选择“产品->导入更多产品”,新增一个导入向导文档,输入该向导名称(如项目中文名_向导)、设定新项目中文名、设定数据库名,递交进行合成;

(2)       单击合成页中的链接,进入导入的提示向导页;

(3)       一般首先进行项目的版本导入,导入后注意:检查样式配置信息是否丢失$PWDPATH信息,确认ok理解恢复虚拟主机;然后单击最下面“第4 导入项目源版本”右上角的“编辑”字样,进入该文档修改页,再次递交推进到下一步;

(4)       单击页面上“第五步”中“关联项目”下数字0右上角的编辑,确认输入关联项目号就是下一行提示的项目数字,继续递交推进到下一步;

(5)       在第六步中,单击“版本导入”以导入内容架构,此时弹出版本处理页面,最后单击“立即执行内容的初始化”,然后再次递交推进到下一步;

(6)       在第七步中,单击“版本导入”,依次导入产品配置或产品登陆页配置,方法同上一步,全部导入后再次递交推进到下一步;

(7)       此时,你可以查看各种分解日志、发布日志,看相关上面的导入工作是否正常结束,否则,就必须进行错误追踪;

(8)       最后你可以看到最下一行的“基地址检测结果”,你可以尝试直接进入新导入项目首页等;

(9)       或者刷新左边的树结构,看到导入的项目节点,了解具体情况!!!

云运行管理

运行一旦出现问题,我们该怎么迅速发现并解决问题(Rescue),这里给出常规的ITIL Rescue步骤和相应工具。

 

云永久授权

云打包后ITIL密码和维护信息建议要重置!

实际上也包括admin的密码的重置,怎么重置呢?

要获取永久授权或者调整更大的授权权限!!!

干脆在iLogicmanrelicense处,一般网页上运行,也可以在命令行上运行!!

基本运行自检

       系统重启必须能自动加载平台并自动运行,如果发现不能则手动检测:

(1)       自动加载配置是否完备,linux下为/etc/rc.local包括环境变量赋值、数据库启动、web服务器启动、vrtuhost_man_daemon启动,自动代理登录./www_container.exe控制;

(2)       检查个人环境变量加载配置,如root登录时环境变量配置,linux下为.bash_profileunix.profile等;

(3)       未完备配置的,请参考OSS扩展构件中的“其他各种扩展”中寻找相应的参考脚本!!!

统一网页管理

iPaaS登陆页,选择“ITIL”登录进ITIL Rescue界面,当然这要求web服务器必须在运行,如果发现web服务器问题--如果静态都不行,请到后面操作系统启动web服务器,注意确保相关环境变量启动时已经具备从而可以传入apache服务器!!

(1)       网络连接,即网络连接状态监控,如果代理不通畅,往往跟这个有关,甚至内网ping不了公网地址,建议网关配置,否则只能造个eth0:1虚拟地址!网络连接基本状况将决定系统运行的快慢!

(2)       服务验证,即SaaS服务和授权等监测,没有SaaS服务可影响很多功能的正常运行,如果当月授权或者盗版,即可在下个月或本月产生影响,此时请到ipaas集成开发门户的“云工具->云永久授权”获取永久授权!

(3)       空间监控,主要是空间100%或文件超2G,前者可以带来无数无法预测的问题,后者能中断进程运行,导致信号堆砌而无法正常运行平台服务框架,如果出现大文件可以rotatelog管理!

(4)       进程监控,主要因为进程停止导致信号堆砌,iLogic平台中系统操作日志、后台版本生成和后台发布处理为最基本进程本,可以检测这些进程的状态,可以关闭、启动这些进程,同时可以发起apache重启如果某些端口没起租用,同时还可以进行其他任意当前客户程序的清理,注意该管理一般不会真正导致apache停止、虚拟机管理进程关闭!

(5)      数据库监控,如果任何情况下./config –t不行,首先优先数据库服务器单独重新启动,有一种特殊情况虽然能直接链接数据库但config连接不上,一般因为文件fopen资源耗尽,只能重启计算机,同时要进一步进行iLogic系统高并发性能的优化,请寻求专业iLogic优化支持!

(6)      群格监控,监控当前服务器下一些分发、远程web服务器的活跃情况,供快速web服务器监控!

(7)       系统诊断,一键式云运行监控诊断分析体系==云运行监控管理==其实就是一种主动的问题收集机制并通过智库自动给予分析和尝试解决的体系==必须尽快建立,这个未来必须重点加以突破,能否把各种问题串起来呢?实际上这必须通过网页进行!==--建议可以用诊断工具完成!可以加上net_status即命令行模式下的东东,可到后台执行!==一体化打包上载供分析=cmsuri自动智能分析,纯perl机制快速分析并加上各种规则!!!先自己分析然后递交到云端进行分析!!!!==上面都会生成临时文件,供改体系一步加载整合供上述分析!!

Linux综合管理命令ilogicman

系统有些问题,又该按那几步来排查!或估计可能运行状况?关闭、重启、清理、调整服务器,建议按windows和非windows两种情况执行,增加一些便捷化的脚本!!同时区分哪些能在网页上进行,哪些根本无法通过网页进行?只讲网页模型吗?那命令行模型呢?

关停后要通过admin才能全方位启动?完全可以代理模型实现!

后台又该不同情况使用哪些超级脚本呢?killpublish.sh…!

完善checkandrestart,支持两种机制,或怎么的?可以彻底关闭、可以彻底重启!!!支持强劲的多种操作ilogicman stop/start/restart/check[包含database情况]/license/空间优化,重构该perl脚本体系,是平台重要命令,别的什么都别说了啊!!!要么还是加入支持html网页形式,默认命令模式!!!

 

Windows快速管理命令

       几个标准脚本比较简单,最关键的是重启机器即可!!

n         regilogic.bat,注册相关环境参数,准备开始安装;

n         reinstall.bat,正式安装相关程序进入服务;

n         startpublish.bat,启动ilogic系统

n         stoppublish.bat,停止ilogic系统

n         uninstall.bat,卸载ilogic系统。

      

iLogic服务端口

iLogic端口服务需要了解web服务器,端口映射以及端口作用和原理,典型服务端口及开放配置要求如下:

n         平台服务器运行和开发主端口(运行时可统一到80端口或其他端口),要对外开放!

n         每个项目样式对应web服务端口代理情况下,主要是提供css/javascript等应用,base href的作用,要对外开放

n         系统项目端口,往往是为了辅助管理用的,不一定对外开放,但为了基于网页实施外部开发,一般需要打开!

n         ssh端口操作系统管理端口,可用VPN进行加强管理,稳定后可以关闭!

n         数据库服务端口只对内部服务,无需对外开放!

 

注意:

在特定单一应用下可以统一到一个端口,但如果就只有一个常用端口能开放的话,一般很难部署iLogic云开发平台?除非用域名的方式进行,可以在域名之前对其他特殊端口进行向特定地方进行映射!!!

 

      

 

云实施主题智库

云智库,共建主题智库,即各种实施过程中碰到的问题形成主题进一步阐释,包括很多细节的解决体系和思路,很多高级扩展配置过程由于一切都是模板,当然一切均可扩展,前面所有的解决方法都可重新定义和扩展定义--譬如全文检索的完整细节即多年前的手动资料。

 

1.         项目规划放到这儿--开始项目之前

减少规划的可能,结构就是架构,怎么都行?其实很多方法,觉得怎么方便就怎么来,无需确定,但还是必须简单规划一下,提前预见到关键点从而寻找iLogic架构师人员快速支持。

 

2.         测试、调试及相关使用技巧

这里不包括页元驱动的技巧,甚至不包括OSS扩展构件技巧,本身这一个过程就是开放的,如果有好的即可定制出专门的OSS,简化开发过程。

      

3.         SaaS全面使用、高级配置和深度解析

         *超级后台使用

         *编辑使用

*统一用户管理及开发和用户个性化快速配置

*工作流高级开发

*报表高级开发

 

4.         高级产品配置

*更高个性化产品配置

*定制集成开发环境和进一步提升开发效率

 

5.         云备份恢复、打包迁移和同步协同等

*备份和恢复

*云封装导入及跨库移植

*云同步、协同和升级的高级配置==云中心构建!

 

6.         性能提升和安全性增强

*稳定性提升

*性能缓冲优化高并发和海量交互

*安全性增强

      

 

7.         高级手动安装、封装和分发及授权体系建立

       不同版本

分支授权

 

8.         高级运行维护管理

      

 

9.         云软件过程管理

包括云软件过程管理,但必须跟开发类企业一起完善,过程本身也是我们所研究的!但不一定要放到ipaas集成界面,而是一种应用,是产品体系!!!这个不在一个体系?请记住,很多都是可开放定制的SaaS服务且独立产品管理!

*云全数据库管理

*云需求原型管理

*云工作统计系统

      

10.     典型项目、产品的开发实施手册

别人写--各种案例构建手册库参照这些案例你能快速得到所有!

云自助建站系统

云快速运营网站

 

11.     各种使用难题和解决

              难题一个个,一种开放知识的聚集过程,同时补充优化上面的各种功能!

 

12.     Api、开放和开源

              各种层面的API

              任何东西,如果不能作用也无法替代,将进行开源!

 

 

 


 [zmp1]每个都必须给出例子,但这些例子都不在这儿,而在后见面的功能中,特别注意直接绑结iLogic功能,甚至跨服务器绑结如同单点登录一样,甚至包括命令行模式的拓展!!