专利名称:构建内容管理系统的方法及装置的制作方法
构建内容管理系统的方法及装置
技术领域:
本发明涉及计算机数据处理技术领域,尤其涉及构建内容管理系统的方法
及装置。
背景技术:
狭义的内容管理系统(content management system, CMS)—般包括存储内容 的数据库、与用户交互的界面,以及执行用户对数据库内容进行的增、删、改、 查命令的后台代码。广义的内容管理系统还包括数据库内容的采集和展现。
目前,单就狭义的内容管理系统而言,以浏览器和服务器结构 (Browser/Server , BS )结构(用户通过浏览器客户端访问后台服务)的内容管理 系统为例,构建一个内容管理系统需要开发人员进行如下的开发工作
编写客户端代码,包括供浏览器展示的html页面,实现客户端逻辑检查和 动画效果的脚本,以及对页面展示效果进行渲染的css代码;
创建用来存储内容的后台数据库和数据表;
编写后台服务器端代码,包括实现接收客户端的请求及数据,对请求和数 据进行过滤、编码转换等预处理,更新数据库,以及结果反馈等逻辑。
但是,通常一个实用、完备的内容管理系统会包括十几个至上百个的数振 表,每个特定表都可能有为它定制交互界面的需求,后台操作数据库的代码中 包括的对请求和数据进行的预处理逻辑,处理结果的反馈信息都因不同的数据 表而异,这些都需要内容管理系统的开发人员付出大量的繁瑣编码工作。因此, 按照目前的方式构建内容管理系统需要投入很多人力和时间,工作效率低,成 本也较高。
而且,无论是前端还是后台的代码都存在大量细节化的差异,这需要逐一 为这些细节问题进行编码。 一旦需求改变,如数据表中的某个字段的类型、约 束条件等发生变化,必须追踪这个变化会影响到的前端和后台代码、数据库结 构等。如果变更的字段较多,那么需要逐个字段的追查需要变化的代码及数据库表结构,这些工作的工作量也是非常庞大的,不仅需要投入的人力和时间多, 出错的概率也比较大。
发明内容
有鉴于此,有必要提供一种构建内容管理系统的方法,以达到提高工作效 率、较低成本和減少出错概率的目的。
此外,还提供一种构建内容管理系统的装置,以达到提高工作效率、较低 成本和减少出错概率的目的。
为达到上述目的,提出以下的技术方案 一种构建内容管理系统的装置,包括
配置输入单元,用于输入语义化的需求信息;
脚本单元,用于获得所述语义化的需求信息,将所述语义化的需求信息转 化为用计算机语言表示的配置信息;
模板集单元,用于保存构建内容管理系统的代码,并分析所述代码,得到
所述代码的共性代码和特性代码;还用于根据所述共性代码和特性代码生成模 板;
模板引擎,用于将所述模板中的特性代码替换为所述配置信息; 生成单元,用于根据所述模板中共性代码和替换后的特性代码生成内容管
理系统。
在一个实施例中,所述模板集单元中包括
建数据库和数据表的沖莫板,用于保存构建所述内容管理系统数据库的代码; 交互界面的html模板,用于保存构建所述内容管理系统交互界面的代码; 操作数据表的^^莫板,用于保存构建针对所述内容管理系统数据库表操作的 代码;和/或
Js的模板,用于保存构建所述内容管理系统中使用的js代码。在一个实施例中,所述模板集单元包括 共性代码保存单元,用于保存模板中的共性代码;
特性代码保存单元,用于保存模板中的特性代码,所述特性代码以变量的 形式进行保存。
在一个实施例中,所述共性代码保存单元中共性代码包括 结构化查询语言代码,用于创建内容管理系统中的公共数据库; 数据库操作代码,用于进行数据库操作; 公共处理代码,用于展示数据并检查输入内容的合法性; 存储处理逻辑及代码,用于存储文件;和/或 提示处理逻辑及代码,用于反馈通用的提示信息。 在一个实施例中,所述特性代码保存单元中特性代码包括 内容信息代码,用于构建内容管理系统中需要管理的内容信息; 信息元代码,用于构建组成所述内容信息的信息元; 界面展现代码,用于构建每个信息元在界面上的编辑展现形式;和/或 存储内容限定代码,用于设定对每个信息元存储内容的限制。 一种构建内容管理系统的方法,包括以下步骤
A、 保存构建内容管理系统的代码,并分析所述代码,得到所述代码的共性 代码和特性代码;还用于根据所述共性代码和特性代码生成模板;
B、 获得所述语义化的需求信息,将所述语义化的需求信息转化为用计算机 语言表示的配置信息;
C、 将所述模板中的特性代码替换为所述配置信息;
D、 根据所述模板中共性代码和替换后的特性代码生成内容管理系统。 在一个实施例中,所述步骤A中生成的模板为建数据库和数据表的模板,用于保存构建所述内容管理系统数据库的代码; 交互界面的html模板,用于保存构建所述内容管理系统交互界面的代码; 操作数据表的模板,用于保存构建针对所述内容管理系统数据库表操作的 代码;或
Js的模板,用于保存构建所述内容管理系统中使用的js代码。
在一个实施例中,所述步骤A中分析得到的共性代码包括
结构化查询语言代码,用于创建内容管理系统中的公共数据库;
数据库操作代码,用于进行数据库操作;
公共处理代码,用于展示数据并检查输入内容的合法性;
存储处理逻辑及代码,用于存储文件;和/或
提示处理逻辑及代码,用于反馈通用的提示信息。
在一个实施例中,所述步骤A中分析得到的特性代码包括
内容信息代码,用于构建内容管理系统中需要管理的内容信息;
信息元代码,用于构建组成所述内容信息的信息元;
界面展现代码,用于构建每个信息元在界面上的编辑展现形式;和/或
存储内容限定代码,用于设定对每个信息元存储内容的限制。
在一个实施例中,所述步骤A中分析代码得到代码的特性代码之后还包括 将所述特性代码转换成变量并保存于模板。
从以上技术方案可以看出,构建内容管理系统的方法及装置对构建内容管
理系统的代码进行分析,得到代码的共性部分和特性部分并保存在模板中,通
过输入配置信息将代码的特性部分进行替换,结合各模板中代码的共性部分和
替换后的特性部分构建内容管理系统。这样,用户只需输入配置信息即可生成
相应的信息管理系统,实现了快速构建业务需要的内容管理系统,有效地提升构建速度;并且减少了大量的人力和时间投入,降低了成本。此外,整个构建 过程不需要开发人员干预,减少了因为二次编码或重新开发而出错的概率。
图1为构建内容管理系统的装置的结构框图; 图2为构建内容管理系统的方法的基本流程图。
具体实施方式
下面结合具体的实施例及说明书附图进行详细的描述。
构建内容管理系统的装置的基本技术构思是,对用于构建内容管理系统 (CMS)的各部分代码进行分析,提炼对内容管理系统会涉及到的各部分代码 的共性部分,直接保存在模板;而对于各部分代码因需求而异的特性部分,则 以变量的形式出现在模板中,并将特性部分的设置接口以配置界面的形式提供 给用户来输入配置信息;将输入的配置信息替换到代码的特性部分即可生成需 要的CMS。
如图1所示, 一种构建内容管理系统的装置主要包括配置输入单元、脚 本单元、^:莫板集单元、模板引擎和生成单元。
一、 配置输入单元
配置输入单元,用于输入语义化的需求信息。配置输入单元是用户输入需 求信息的窗口,输入的是用户的内容管理需求。这些需求信息因需求而异,与 构建CMS的各部分代码的特性部分相对应。提供给用户的配置界面实际就是这 些特性部分的设置接口。
二、 脚本单元
脚本单元,用于获得所述语义化的需求信息,将所述语义化的需求信息转化为用计算机语言表示的配置信息。脚本单元包括
信息提取单元,用于获取用户输入的语义化的需求信息; 转换单元,用于将语义化的需求信息转化为用计算机语言表示的配置信息。 首先脚本单元获取用户的需求信息,用户输入的内容管理需求信息是一种 语义级别的描述,如CMS需要管理哪几部分信息,每一部分信息是由哪些信息 元组成,每个信息元在界面上的编辑展现形式,存储内容的限制等。接着把语 义化的需求转化为抽象的、用计算机语言表示的配置信息,然后脚本通过模板 引擎把模板中待替换的所有变量换成用户的配置信息。 三、模板集单元
模板集单元,用于保存构建内容管理系统的代码,并分析所述代码,得到 所述代码的共性代码和特性代码;还用于根据所述共性代码和特性代码生成模 板。模板集单元包括共性代码保存单元和特性代码保存单元,分别用于保存模 板中的共性代码和保存^t板中的特性代码。其中,特性代码一般是以变量的形 式进行保存的。
CMS—般包括存储内容的数据库、与用户交互的界面,以及执行用户对数 据库内容进行操作的后台代码。对应地,模板集单元包括多个模板,包括模板 一、模板二至模板N,这些模板一般为建数据库和数据表的模板、交互界面的 html模板、操作数据表的模板或Js (JavaScript)的模板,因此模板集单元一般 包括
建数据库和数据表的冲莫板,用于保存构建所述内容管理系统数据库的代码; 交互界面的html模板,用于保存构建所述内容管理系统交互界面的代码; 操作数据表的模板,用于保存构建针对所述内容管理系统数据库表操作的 代码;和/或JS的模板,用于保存构建所述内容管理系统中使用的JS代码。 四、模板引擎和生成单元
模板引擎,用于将所述模板中的特性代码替换为所述配置信息。生成单元,
用于根据所述模板中共性代码和替换后的特性代码生成CMS。
模板引擎可以快速的执行模板中的变量替换,并支持逻辑判断,循环展开 等功能,这样只需要编写出装置所涉及到的各部分代码的模板,然后用户给出 内容管理系统的配置需求后,就由构建内容管理系统的装置来把需求中的每个 细节反映到相关的代码中
构建内容管理系统的装置体现了用计算机程序生成计算机程序的思想,不 仅能把开发人员从繁瑣、重复的劳动中解放出来,提高了工作效率、降低了成 本和出错概率;而且本装置构建内容管理系统具有代码生成速度快、配置简易 的优点,可以随时应对用户需求的变更,具有很高的灵活性。
构建内容管理系统的装置用一套通用的模板和执行配置提取及模板替换的 脚本即可生成满足用户需求的内容管理系统。构建内容管理系统的装置的输出 是一套完整的、可运行的CMS,包括已经建好的数据库、前端交互界面和后台 逻辑代码。开发人员需要做的工作只是完成前期环境的部署(apache环境、开发 语言的编译器和解释器等)和配置的填写(如指定数据库主机名、用户名、密码, 文档的根目录,应用程序的根目录等)。每次用户改变输入时,会有一套新的CMS 生成,需求的变化会及时生效,需求中未变化的部分保持原状,从而实现自动 生成的CMS新旧版本的平滑过渡。
在优选的实施例中,共性代码保存单元中共性代码包括
结构化查询语言(Structured Query Language, SQL)代码,用于创建内容管理系统中的公共数据库;
数据库操作代码,用于进行数据库操作。数据库操作代码提供一个对数据
库连接,是执行数据库操作的基础代码;
公共处理代码,用于展示数据并检查输入内容的合法性。虽然各CMS检查 的内容不同,但进行检查的流程相同,4全查进行的时才几触发方式都是相同的、 公共的,因此这部分代码也属于共性部分;
存储处理逻辑及代码,用于存储文件;和/或 提示处理逻辑及代码,用于反馈通用的提示信息。 特性代码保存单元中特性代码一般包括 内容信息代码,用于构建内容管理系统中需要管理的内容信息; 信息元代码,用于构建组成所述内容信息的信息元; 界面展现代码,用于构建每个信息元在界面上的编辑展现形式;和/或 存储内容限定代码,用于设定对每个信息元存储内容的限制。 通过观察分析,可以发现构建CMS的代码的共性部分主要包括如何构建 CMS框架;构建CMS的代码的特性部分主要包括它需要管理哪几部分信息, 每一部分信息是由哪些信息元组成,每个信息元在界面上的编辑展现形式,存 储内容的限制等,从而设置配置输入界面使用户可以对此类信息进行配置。
如图2所示, 一种构建内容管理系统的方法,主要包括以下步骤 步骤S101、保存构建内容管理系统(CMS)的代码,并分析所述代码,得
到所述代码的共性代码和特性代码;还用于根据所述共性代码和特性代码生成
模板;
步骤S102、获得所述语义化的需求信息,将所述语义化的需求信息转化为用计算机语言表示的配置信息;
步骤S103、将所述才莫板中的特性代码替换为所述配置信息; 步骤S104、根据所述模板中共性代码和替换后的特性代码生成CMS。 对于步骤S101,根据所述共性代码和特性代码生成的模板一般为建数据 库和数据表的模板、交互界面的html模板、搡作数据表的模板或Js的模板。其 中,建数据库和数据表的模板,用于保存构建所述内容管理系统数据库的代码; 交互界面的htail模板,用于保存构建所述内容管理系统交互界面的代码;操作 数据表的模板,用于保存构建针对所述内容管理系统凄t据库表操作的代码;Js 的模板,用于保存构建所述内容管理系统中使用的js代码。
对于步骤S101 ,分析构建CMS代码得到的共性代码一般包括 结构化查询语言代码,用于创建内容管理系统中的公共数据库; 数据库操作代码,用于进行数据库操作。数据库操作代码提供一个对数据
库连接,是执行数据库操作的基础代码;
公共处理代码,用于展示数据并检查输入内容的合法性。虽然各CMS检查
的内容不同,但进行检查的流程相同,检查进行的时机触发方式都是相同的、
公共的,因此这部分代码也属于共性部分;
存储处理逻辑及代码,用于存储文件;和/或 提示处理逻辑及代码,用于反馈通用的提示信息。
对于步骤S101,分析构建CMS代码得到的特性代码一般包括内容信息 代码,用于构建内容管理系统中需要管理的内容信息;信息元代码,用于构建 组成所述内容信息的信息元;界面展现代码,用于构建每个信息元在界面上的 编辑展现形式;和/或存储内容限定代码,用于设定对每个信息元存储内容的限制。在构建内容管理系统的方法中,分析代码得到代码的特性代码之后, 一般 将特性代码转换成变量并保存于模板。
下面以具体构建任务为例,对构建内容管理系统的方法的工作流程进行描 述,以便于理解技术方案。
假设要构建的内容管理系统的需求信息如下
1、 内容管理系统包括北京餐饮、旅游、住宿三部分信息;
2、 住宿信息会包括酒店宾馆名称、住宿档次、地点、联系电话、不同房间 价位和当日房间是否都已预订等信息元;
3、 在编辑界面上"住宿档次,,要求用下拉框展现,有六个供选项五星级、 四星级、三星级、二星级、 一星级、普通;
4、 存储内容的限制联系电话不允许为空,而且必须符合北京市电话的标 准格式区号'010,及间隔符'-,可出现也可不出现,后面跟8位数字。
根据上述需求信息的要求,执行以下步骤
(1) 、对构建CMS所涉及的代码进行分析,得到代码的共性代码和特性代 码,将共性的部分直接保存在模板中,因需求而异的特性部分转换成待替换的 变量保存在模板中;
(2) 、根据代码的特性部分生成相应的配置界面,用户从配置界面输入语 义化的需求信息。代码的特性部分主要包括CMS需要管理的内容包括北京餐 饮、旅游、住宿三部分信息;住宿信息会包括酒店宾馆名称、住宿档次、地点、 联系电话、不同房间价位和当日房间是否都已预订等信息元;在编辑界面上"住 宿档次,,要求用下拉框展现,有六个供选项五星级、四星级、三星级、二星级、 一星级、普通;其中,联系电话不允许为空,而且必须符合北京市电话的标准格式区号'010,及间隔符'-,可出现也可不出现,后面跟8位数字,设置相应的配 置输入界面,以使用户可以对此类信息进行配置。
(3)、脚本单元获得语义化的需求信息,将所述语义化的需求信息转化为 用计算机语言表示的配置信息;
(4 )、通过才莫板引擎将^f莫板中特性部分待替换的变量替换为所述抽象的配 置信息;模板引擎可以快速的执行模板中的变量替换,这样只需要编写出装置 所涉及到的各部分代码的模板,然后用户给出内容管理系统的配置需求后,就
由构建内容管理系统的装置来把需求中的每个细节反映到相关的代码中。 (5 )、根据各模板中共性代码和替换后的特性代码生成CMS。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域 的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和 改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附 权利要求为准。
权利要求
1、一种构建内容管理系统的装置,其特征在于,包括配置输入单元,用于输入语义化的需求信息;脚本单元,用于获得所述语义化的需求信息,将所述语义化的需求信息转化为用计算机语言表示的配置信息;模板集单元,用于保存构建内容管理系统的代码,并分析所述代码,得到所述代码的共性代码和特性代码;还用于根据所述共性代码和特性代码生成模板;模板引擎,用于将所述模板中的特性代码替换为所述配置信息;生成单元,用于根据所述模板中共性代码和替换后的特性代码生成内容管理系统。
2、 根据权利要求1所述的构建内容管理系统的装置,其特征在于,所述模 板集单元包括建数据库和数据表的模板,用于保存构建所述内容管理系统数据库的代码; 交互界面的html模板,用于保存构建所述内容管理系统交互界面的代码; 操作数据表的模板,用于保存构建针对所述内容管理系统数据库表操作的 代码;和/或Js的模板,用于保存构建所述内容管理系统中使用的js代码。
3、 根据权利要求1所述的构建内容管理系统的装置,其特征在于,所述模 板集单元包括共性代码保存单元,用于保存模板中的共性代码; 特性代码保存单元,用于保存模板中的特性代码,所述特性代码以变量的 形式进行保存。
4、 根据权利要求1所述的构建内容管理系统的装置,其特征在于,所述共性代码保存单元中共性代码包括结构化查询语言代码,用于创建内容管理系统中的公共数据库; 数据库操作代码,用于进行数据库操作; 公共处理代码,用于展示数据并检查输入内容的合法性; 存储处理逻辑及代码,用于存储文件;和/或 提示处理逻辑及代码,用于反馈通用的提示信息。
5、 根据权利要求1所述的构建内容管理系统的装置,其特征在于,所述特 性代码保存单元中特性代码包括内容信息代码,用于构建内容管理系统中需要管理的内容信息; 信息元代码,用于构建组成所述内容信息的信息元; 界面展现代码,用于构建每个信息元在界面上的编辑展现形式;和/或 存储内容限定代码,用于设定对每个信息元存储内容的限制。
6、 一种构建内容管理系统的方法,其特征在于,包括以下步骤A、 保存构建内容管理系统的代码,并分析所述代码,得到所述代码的共性 代码和特性代码;还用于根据所述共性代码和特性代码生成模板;B、 获得所述语义化的需求信息,将所述语义化的需求信息转化为用计算机 语言表示的配置信息;C、 将所述模板中的特性代码替换为所述配置信息;D、 根据所述模板中共性代码和替换后的特性代码生成内容管理系统。
7、 根据权利要求6所述的构建内容管理系统的方法,其特征在于,所述步 骤A中生成的模板为建数据库和数据表的模板,用于保存构建所述内容管理系统数据库的代码; 交互界面的html模板,用于保存构建所述内容管理系统交互界面的代码;操作数据表的模板,用于保存构建针对所述内容管理系统数据库表操作的代码;或Js的模板,用于保存构建所述内容管理系统中使用的js代码。
8、 根据权利要求6所述的构建内容管理系统的方法,其特征在于,所述步 骤A中分析得到的共性代码包括结构化查询语言代码,用于创建内容管理系统中的公共数据库; 数据库操作代码,用于进行数据库操作;公共处理代码,用于展示数据并检查输入内容的合法性; 存储处理逻辑及代码,用于存储文件;和/或 提示处理逻辑及代码,用于反馈通用的提示信息。
9、 根据权利要求6所述的构建内容管理系统的方法,其特征在于,所述步 骤A中分析得到的特性代码包括内容信息代码,用于构建内容管理系统中需要管理的内容信息; 信息元代码,用于构建组成所述内容信息的信息元; 界面展现代码,用于构建每个信息元在界面上的编辑展现形式;和/或 存储内容限定代码,用于设定对每个信息元存储内容的限制。
10、 根据权利要求9所述的构建内容管理系统的方法,其特征在于,所述 步骤A中分析代码得到代码的特性代码之后还包括将所述特性代码转换成变 量并保存于模板。
全文摘要
本发明公开了一种构建内容管理系统的装置及方法。所述装置包括配置输入单元,用于输入语义化的需求信息;脚本单元,用于获得所述语义化的需求信息,将所述语义化的需求信息转化为用计算机语言表示的配置信息;模板集单元,用于保存构建内容管理系统的代码,并分析所述代码,得到所述代码的共性代码和特性代码;还用于根据所述共性代码和特性代码生成模板;模板引擎,用于将所述模板中的特性代码替换为所述配置信息;生成单元,用于根据各模板中共性代码和替换后的特性代码生成内容管理系统。本发明可根据输入的配置信息及模板自动生成相应的内容管理系统,提高了工作效率、降低了成本和出错概率。
文档编号G06F17/30GK101446971SQ20081022009
公开日2009年6月3日 申请日期2008年12月17日 优先权日2008年12月17日
发明者宇 王, 邵立杰 申请人:腾讯科技(深圳)有限公司