一种开源环境的在线投稿系统

点赞:30673 浏览:142755 近期更新时间:2024-03-29 作者:网友分享原创网站原创

摘 要:在线投稿系统因其方便、快捷、高效等特点已成为稿件管理的主要趋势和重要途径,但为使用者开发一个度身写作的投稿系统,往往不菲,而且后续维护和技术支持又常常受制于人.因此,本文针对中小型编辑部管理者设计并开发了一种以ASP和MYSQL为开发环境,采用B/S模式的在线投稿系统,该系统体积小,适应性好,功能完善,维护门槛低,一般高校网管人员即可胜任,还可根据用户需求进行功能扩展,具有良好的应用前景.

Abstract:On-linesubmissionsystemhasbeenregardedasthemaintrendandimportantwayforthemanagementofmanuscripts,becauseofitsconvenienceandhighefficiency.However,itoftencoststheusersalottodevelopacustomizedsubmissionsystem.What'ore,theuserswillbefacedwithmanyrestrictionsintermsofsubsequentmaintenanceandtechnicalsupport.Forallthereasonsabove,anewsubmissionsystemwithB/SmodelandbasedontheASP&MYSQLdevelopmentenvironmentisintroducedinthispaper,targetingthemanagerromallandmedium-sizedtheeditorialdepartments.Thissystem,withsuchadvantagesasallvolume,goodadaptability,prehensivefunctionsandlowthresholdformaintenance,canbeoperatedbyworkmanagementstaffingeneralcollegesandcanbeexpandedaccordingtousers'demands.Thus,thissystemenjoysagoodapplicationprospect.

关 键 词:投稿系统;ASP;MYSQL;B/S

Keywords:submissionsystem;ASP;MYSQL;B/S

中图分类号:TP399文献标识码:A文章编号:1006-4311(2013)02-0188-03

0引言

借助互联网的日趋普及和信息技术的不断发展,学术交流活动也变得更加方便和快捷.但随着稿件数量的日益增加,传统电子邮件的投稿方式不仅会增加稿件管理者的工作量,而且邮件的频繁往来大大降低了工作效率,延长了稿件处理周期,其信息的滞后性还会导致论文作者经常会询问杂志编辑部审稿信息,大大增加了日常事务工作.采用在线投稿的方式已逐渐演变成稿件管理的主要趋势和重要途径,通过网络化管理,无论是对投稿作者还是对编辑部管理者都提供了极大的便利,提高了工作效率,缩短了审稿周期,但为使用者开发一个度身写作的投稿系统,往往不菲,而且后续维护和技术支持又常常受制于人.此外,市面上的投稿系统制作水平良莠不齐,使用者又难以甄别.因此,本文针对中小型编辑部管理者设计并开发了一种以ASP和MYSQL作为开源环境,采用B/S模式的在线投稿系统,该系统体积小,移植性好,功能完善,维护门槛低,一般高校网管人员即可胜任,还可根据用户需求进行功能扩展,具有良好的应用前景.

1技术分析

系统能否满足使用者的需求是系统开发成败的关键.本系统在开发之初,在与学报编辑人员进行广泛深入交流后,对在线投稿系统需求作了详细的分析.对于大多数高校学报编辑部而言,由于其人手少,工作条线多,系统所实现的最终目标是对有限的编辑资源实现高效的管理,使学报编辑部各类信息得到有序管理.因此,系统应具有如下功能:①为作者提供在线投稿功能,同时避免垃圾稿件;②为审稿专家提供在线审稿功能;③为学报编辑部管理人员提供对各类信息的添加、删除、修改、统计和查询等功能,可对统计和查询结果提供下载文档和打印功能;④发布和自动更新学报编辑部的一些常规信息,如有关学报编辑部的情况介绍、征稿、组织的学术交流活动及近期稿件录用情况等.

根据需求,本系统的开发模式为当前流行的B/S模式,采用ASP+MySQL开源环境,运行平台为Windows2003IIS6.0.B/S采用统一标准的网络浏览器作为客户端,技术十分成熟,怎么写作器工作稳定,不需要专门开发维护.ASP是十分成熟稳定的B/S开发脚本语言,作为轻量级的系统开发ASP拥有简单易学、功能强大,运行消耗资源小,轻便灵活等优势,经过优化的ASP程序也能承受百万级的并发访问.MYSQL是一个多用户、多线程的SQL数据库,支持5000万条记录的数据仓库,适应于所有平台,版本更新较快,性能出色.作为在线投稿系统的开发,这种开发模式无论是在功能还是在性能上完全能够满足要求.

2系统设计

本系统可分为三大功能模块:用户注册模块;在线投稿、审稿模块;综合管理模块.

2.1用户注册模块注册不同的用户有着不同的权限,作者或者投稿人只对自己的稿件有提交、查询的权限;审稿专家只对授权的稿件有审稿、查询权限;管理员可给不同的用户分配不同的权限,同时对数据库进行维护.用户只有注册填写相关信息之后才能进入系统操作,系统通过信息校验,尽可能将用户真实信息记录在数据库中,采用JS、正则表达式、数据库比对和AJAX验证结合的方式,既给用户良好的操作体验,又可以防止恶意注册,同时代码体积小,执行效率高.以用户名的注册为例,取名只能包含英文字母,数字,下滑线“_”和横杠“-”,且只能以字母开头.如果以传统逻辑关系来写代码,会比较长,而采用以下正则表达式

一种开源环境的在线投稿系统参考属性评定
有关论文范文主题研究: 关于数据库的论文范文资料 大学生适用: 高校大学论文、专升本毕业论文
相关参考文献下载数量: 60 写作解决问题: 毕业论文怎么写
毕业论文开题报告: 标准论文格式、论文前言 职称论文适用: 期刊目录、中级职称
所属大学生专业类别: 毕业论文怎么写 论文题目推荐度: 优质选题

^([a-zA-Z]([a-zA-Z0-9]|(-)|(_))*)$

一句代码就可以完成.只要熟练应用正则表达式,而且匹配的目标是纯文本,那么相比于写分析逻辑代码,正则可以更快速的完成工作.

基于此,AJAX验证提示代码为

varre等于/^([a-zA-Z]([a-zA-Z0-9]|(-)|(_))*)$/igm;

if(re.test(username)等于等于false)

{msg等于"请以字母开头,用英文字母、数字、“_”和“-”注册!";

varch等于document.getElementById("check1");

ch.innerHTML等于""+msg+"";

returnfalse;

}

//创建请求,并使用escape对username编码,以避免乱码

xmlhttp.open("get","checkuser.asp?username等于"+escape(username)+"&t等于"+newDate().getTime());

xmlhttp.onreadystatechange等于function()

{if(4>xmlhttp.readyState){

msg等于"loading...";

existusername等于"no";

varch等于document.getElementById("check1");

ch.innerHTML等于""+msg+"";

}

if(4等于等于xmlhttp.readyState)

{if(200等于等于xmlhttp.status)

{if(xmlhttp.responseText等于等于"yes")

{msg等于"此用户名已经存在";

existusername等于"no";}

else{

msg等于"输入正确";

existusername等于"yes";}

}

else

{msg等于"网络链接失败";

existusername等于"no";}

varch等于document.getElementById("check1");

ch.innerHTML等于""+msg+"";

}}

xmlhttp.send(null);

returnfalse;

}

JS验证代码为:

varre等于/^([a-zA-Z]([a-zA-Z0-9]|(-)|(_))*)$/igm;

if(re.test(username)等于等于false)

{alert("请以字母开头,用英文字母、数字、“_”和“-”注册!");

this.form1.username.focus();

returnfalse;

}

数据库验证代码:

isvalidusername等于false

IfLen(name_str)>等于3Then

DimregEx,Match

SetregEx等于NewRegExp

regEx.Pattern等于"^([a-zA-Z]([a-zA-Z0-9]|(-)|(_))*)$"

regEx.IgnoreCase等于True

SetMatch等于regEx.Execute(name_str)

ifmatch.countthen

sql等于"select*fromuserlistwhereusername等于'"&name_str&"'"

Setrs等于Server.CreateObject("ADODB.RecordSet")

rs.Opensql,Conn,3,3

Ifrs.bofAndrs.eofThen

isvalidusername等于true'有效

EndIf

rs.close

EndIf

EndIf

其它注册信息代码编写的方式类似,采用正则表达式比分析逻辑代码减少约50%的代码量.每一个成功注册的用户都有一个唯一的注册ID号,该系统可以支持100万用户同时注册.

2.2在线投稿、审稿模块以作者身份进入系统后,就可以进行在线投稿,查询已投稿件审核信息以及完善个人注册信息;以专家身份进入系统后,就可以对已投稿件进行审核,根据稿件内容给予“审核通过”、“需修改”和“退稿”三种状态.其中稿件上传模块采用经过修改的AJAX无刷新上传模块,由于用户端的做涉及上传文件和数据库信息,必须保证怎么写作器文件和数据库信息的同步.经过修改,该模块不仅有上传功能,还有删除功能,确保了怎么写作器不会产生垃圾文件.

上传稿件代码如下,代码需要调用AJAX上传模块.

setUpload等于newAnUpLoad'创建类实例

Upload.file_name等于lsh

Upload.SingleSize等于1024*1024*20'20M,设置单个文件最大上传限制,按字节计;默认为不限制


Upload.MaxSize等于1024*1024*1024'设置最大上传限制,按字节计;默认为不限制

Upload.Exe等于"doc|txt|pdf|wps"'设置合法扩展名,以|分割,忽略大小写

Upload.GetData()'获取并保存数据

path等于server.mappath("article_files")'文件保存路径(这里是files文件夹)

settempCls等于Upload.files("file1")

tempCls.SeToFilepath,0

fName等于tempCls.FileName

settempCls等于nothing

rs("article_name")等于fName'数据库更新

rs("article_date")等于Date

删除稿件代码如下.

setfso等于server.createobject("scripting.filesystemobject")

iffso.fileexists(server.mappath("article_files/"&filename))等于truethen

fso.deletefile(server.mappath("article_files/"&filename))'删除文件夹中对应文件

endIf

setfso等于Nothing

rs("article_name")等于""'数据库更新

rs.update

此外,专家可以根据稿件内容和质量提出审稿意见,作者根据意见修改完重新上传,系统会自动删除之前的稿件,节省怎么写作器空间.

2.3综合管理模块以管理者的身份进入系统后,除可以权限分配以外,还可以在线编辑和发布公告,归档稿件,修改用户信息等.其中在线编辑模块采用KindEditor脚本,可以模拟Word进行文档在线编辑,方便易操作,省去了后台修改的麻烦.

3结束语

本系统可以使编辑部的大部分工作实现网络化、无纸化,从而减轻了工作量,提高了工作效率,而且使用本系统无需专用怎么写作器,可以“寄生”于其它系统怎么写作器,维护工作一般高校网管人员即可胜任,节省不少成本开支,具有良好的应用前景.