基于CKEditor的应急预案模块的实现

(整期优先)网络出版时间:2023-09-22
/ 2

基于CKEditor的应急预案模块的实现

王冬云

大庆油田有限责任公司第四采油厂数字化运维中心 黑龙江大庆

摘要目前,应急预案采取纸质管理模式,版本修订、审核、发布的过程周期长且操作不方便,实施网络化管理可以有效改善这个问题,然而应急预案是包含文字、图片、表格的多章节大文档,若以字符串格式保存,则无法满足图形和表格的存储和使用需求,若通过附件上传以二进制流方式保存,则无法满足自动生成目录,并通过目录快速定位的需求,因此基于CKEditor建立应急预案模块,解决上述问题。

关键词:ASP.NET;CKEditor;应急预案;

0 引言

应急预案的管理涉及到的业务部门多、矿队范围广,目前采取纸质管理模式:各单位自主编写,厂级负责部门审核,审核通过则直接发布,审核不通过,则返回原单位修订,修订后再次送审,直到审核通过并发布,并且根据需要会不定期对已经发布的应急预案进行版本更新。这样的管理模式,使得应急预案从编写、修订、审核、到最终发布的周期长,且信息传递十分不方便,实施网络化管理模式能够有效解决上述问题。然而应急预案是包含文字、图片和表格的多章节大文档,若以字符串格式保存则无法满足图形和表格的存储、展示,若通过附件上传以二进制流方式保存,则无法满足自动生成目录,并通过目录快速查询定位的需求。

若将Web编辑器与Visual Studio 2010集成,则可以很好地解决上述问题。在对几种常见的Web编辑器进行比对分析后,发现CKEditor作为一款专门应用在网页上的、开源的、所见即所得的富文本编辑器,采用了JavaScript编写,不但功能强大、支持多浏览器,而且与Visual Studio 2010有很好的兼容性。经过充分考虑应急预案模块的需求、深入分析CKEditor的功能特点,本文提出基于CKEditor开发应急预案模块,采用B/S结构构建,以Visual Studio 2010作为前台开发工具,以ORACLE作为后台数据库,实现图片和表格的存储、展示,保证文档格式不丢失,实现自动生成目录,并通过目录快速定位到指定章节,建立规范的审核流程,满足业务人员对应急预案管理的需求。

1 模块设计

应急预案模块采用ASP.NET作为开发平台,以Framework4.0为搭建框架,使用ORACLE作为后台数据库,保证了与生产调度管理平台的适应性和集成性,并且充分考虑了可扩展性,避免了用户需求变化带来的额外消耗。采用B/S结构构件服务器体系,不需要任何客户端程序,用户只要拥有计算机和网络,就可以轻松的实现操作,同时,使用过程中不需要对客户机进行维护和升级,减少了成本。利用ORACLE数据库保存和管理数据,有效保障数据处理的稳定性和安全性。

1.1 模块功能

本模块主要包括录入、审核、查询和版本更新共四个功能,各级用户具有不同的权限,系统根据用户角色自动分配权限。

录入:矿队用户录入本单位的应急预案,包括文字、图片和表格在内的所有内容,并保留应急预案文档的格式;

审核:厂级负责人对各单位的应急预案进行审核,若审核通过则即时生效并发布,若审核发现问题则退回到矿队,矿队修改后再次申请审核,直到通过为止,各矿队可实时跟踪本单位应急预案的审核进度;

查询:对审核通过并发布的应急预案,用户可以进行查询,并且可以通过目录快速定位到指定章节;

版本更新:由于实际需要,应急预案随时会进行版本更新,为矿队用户预留更新接口,可在当前版本的基础上修改,无需重新录入。

1.2 数据模型

本模块的数据包含用户信息、审核信息、应急预案信息三大类,通过与用户管理系统建立接口,实现对用户信息的统一管理;审核信息包括审核状态、审核人、审核时间等,通过建立审核信息表存储管理;应急预案信息包括预案名称、标题、正文、所属单位、更新时间等,对预案信息表进行了结构化设计,保证了图片和表格的存储、目录的自动生成、及由目录快速定位到指定章节。因此,以ORACLE作为后台数据库,按照“用规范统一的数据模型,避免数据重复;规范数据管理流程,保证数据的唯一性,避免重复存储”原则,采用面向对象的方法建立模块数据模型。这种方法实现了相关数据的存储规范管理、相关业务的需求合理集成,同时使模块具有良好的可扩展性,为将来新的业务需求增减提供了灵活有利的条件。

2 Web 编辑器的选择

用于ASP.NET 开发的Web 文本编辑器种类繁多,功能各异。在选用Web 编辑器时需要考虑性能、界面、易用性、跨平台、开源、是否需要安装插件以及是否支持定制等多种因素,其中是否开源是选用编辑器的重要参考。目前,开源的Web 编辑器大体上分为3 类,第一类是基于jQuery开发的编辑器;第二类是基于纯JavaScript的编辑器;第三类是商用编辑器。

2.1 性能对比

选用Web编辑器时,对其功能与特点必须有详细的了解。好的编辑器常具备以下功能特点: 一是具有完整的帮助文档,更新及时;二是支持多种定义方式,所见即所得,使用灵活方便;三是体积小巧、界面风格漂亮,功能完整,代码性能高。下面就常见编辑器的跨平台支持程度、是否需要安装插件、是否支持二次开发等内容进行对比。从表1中可以看出,支持二次开发且免费的Web编辑器只有CKEditor和UEditor。百度开发的UEditor注重用户个性化定制,而国外开发的CKEditor在兼容性和配置简易性方面都略胜一筹,因此本文应用CKEditor进行开发。

表1 常用开源Web 编辑器功能对比表

名称

收费

跨平台

安装插件

二次开发

国产

xhEditor

×

×

×

WKRTE

×

×

×

×

eWebEditor

CKEditor

×

×

×

UEditor

×

×

jWYSIWYG

×

×

×

×

Redactor

×

×

×

×

uuHEdt

×

×

×

×

WYMEditor

×

×

×

×

TinyMCE

×

×

×

×

KindEditor

×

2.2 CKEditor 介绍

CKEditor是一款功能强大的开源Web 编辑器,具备所见即所得的特点,是全球最优秀的网页在线文字编辑器之一。该编辑器具备性能高、扩展性好、跨平台、多浏览器支持等多种突出优点,主要体现在几个方面:一是CKEditor完全是基于JavaScript开发,客户端不需要安装任何插件,能与大多数开发平台兼容;二是浏览器兼容性好,在各主流浏览器下有良好的表现,比如: IE,Firefox,Chrome,Safari,Opera等;三是CKEditor具备良好的定制特性,开发者可以根据客户的需求,应用的场景,来配置编辑器的工具栏,增选必要的插件,并且可以通过CKEditor提供的强大的API和可扩展性作更多的高级定制;四是与CKFinder集成后,具有强大的图片上传功能。

3 应用方法

在官方网站下载CKeditor和CKfinder,下载的文件里面包含了很多文件,有些是用不到的,可以删除。在Visual Studio2010环境下,把下载的CKeditor和CKfinder添加到应急指挥项目的资源管理器中,浏览CKEditor和CKfinder所在文件夹,将bin\Release\中的CKEditor.dll和 CKfinder.dll文件拷贝至应急指挥项目的bin目录中,然后使用添加引用命令,将其添加至项目中,同时打开页面设计视图,在工具箱中执行选择项命令,浏览并找到CKEditor.dll和 CKfinder.dll,将其添加至工具箱中,以便于在页面进行引用。

通过CKfinder文件夹下Config.ascx文件中的BaseUrl设置服务器文件的路径,指定用来存图片的目录。通过CKEditor文件夹下Config.js文件中的config.toolbar设置工具栏的个性化选项。

在完成上述安装和配置后,开发环境就具备了我们需要的功能,通过实际应用,完成了应急预案模块的开发,实现了设计的所有功能。

4 结论

基于CKEditor完成应急预案模块的搭建,能够促进应急预案管理的网络化和智能化,为业务相关人员建立规范的审核流程,提高审核效率;为用户提供包括图片、表格在内的应急预案文档的维护,同时支持由目录快速定位到指定章节;具有良好的适应性和集成性,可以完美的集成到调度管理系统中。

1