遼寧省新聞出版學校 王志華
自動化投稿管理系統設計
遼寧省新聞出版學校王志華
稿件管理對于學報期刊管理具有重要的意義。很多學術論文投稿目前仍采用傳統的郵寄和電子郵件兩種方式來投遞稿件,存在著投遞時間長,信息反饋遲緩等不足。為此,本文基于Web方式,應用ASP.NET技術,采用B/S系統構架,以SQL Server作為后臺數據庫,設計與開發了學報自動化投稿管理系統,實現了自動化投稿管理,用于滿足編輯部門的業務需求。通過對編輯部業務流程的調研,充分考慮未來發展等可變需求因素,本文分析了自動化投稿管理系統需要達到的目標,并對投稿管理系統開發過程在總體設計、數據庫設計及功能設計等各個階段的工作進行了闡述。設計開發的系統主要實現了作者投稿、專家審稿和編輯收稿功能。通過在網上進行投稿、查閱稿件審閱情況,實現了網絡化的稿件在線管理,為雜志社編輯、作者和外審專家提供了進行網上交流的平臺。
ASP.NET;投稿系統;三層體系結構
學術論文作為傳播科技信息的重要載體,在知識創作和知識傳遞的過程中,一直扮演著非常重要的角色。1978年全國科學大會召開以來,我國的學術論文以每年7%—9%的速度遞增;到80年代后期,學術論文已達3000余種,截至到2008年底,中國大陸正式公開出版的論文期刊總數達到10000多種。隨著學術論文數量增多和涵蓋面擴大,對于收集和管理稿件而言,加強學術論文投稿系統建設是當前一項十分緊迫的任務。
傳統的投稿模式在一定程度上造成了編輯工作效率低、信息滯后、差錯率高等弊病,已遠遠不能適應高速發展的信息時代。如何縮短審稿周期、提高工作效率和如何在眾多的稿件中遴選出優秀論文是每個編輯部面臨的一個重要問題。如何有效地組織和管理、審理、編排稿件等工作中產生的大量數據是編輯部工作的重要環節。隨著網絡化建設的不斷推進,編輯部與外界的網上交流日益增多,如何高效、快速地處理大量的電子函件,已成為編輯部迫切需要解決的問題。加強編輯部稿件的現代化投稿,把編輯部工作人員從日常繁雜的事務中解放出來,實現投稿系統的現代化、自動化勢在必行。
基于網絡開發自動化投稿管理系統意義尤為重要,自動化投稿管理系統一方面能提高學報編輯工作現代化水平同,另一方面對科技期刊整個編輯出版過程實施網上稿件投、審、編、校為一體的信息化管理。本文采用B/S結構模式進行設計和開發,以校園網作為支撐平臺,系統設計與開發過程中,完全遵循軟件工程的設計原則和數據庫設計的基本方法。
系統開發完成后能達到在網上進行投稿、查閱、稿件審閱情況,稿件管理網絡化,是雜志社編輯和作者之間、編輯之間、編輯和外審專家之間、編輯和主編之間進行交流的信息平臺。
自動化投稿管理系統是學報的投稿中心,供作者在上面投送稿件和編輯在線審稿。主要功能包括:作者在線投稿、作者稿件查詢、作者稿件狀態查看、編輯在線審稿、聯系作者等等。
設計目標主要達成以下幾點:(1)面向用戶;(2)先進性原則;(3)可靠性原則;(4)實用性原則;(5)可維護性原則;(6)遵循項目工程方法原則。
自動化投稿管理系統主要模塊有:投稿模塊、采編模塊、審稿模塊和系統管理模塊。
投稿管理實現的功能:(1)注冊個人信息、修改注冊信息;(2)上傳稿件信息;(3)修改上傳稿件信息;(4)稿件上傳完畢后,向期刊編輯部投稿;(5)查看編輯發送的消息;(6)向編輯發送消息;(7)查看個人所投稿件狀態。
采編管理實現的功能:(1)收稿;(2)初審;(3)送審;(4)處理審稿人的審理結果后,返回給論文的作者;(5)查看作者留言信息(與稿件相關);(6)對稿件終審,決定稿件發表期次;(7)更改稿件的發表期次。
審稿管理實現的功能:(1)接收審理的稿件;(2)查看所審理稿件的數量、題目、審理結果。
系統管理具有下列功能:(1)批準期刊編輯部審稿人(審稿專家)的注冊;(2)增加編輯,并指定其工作;(3)更改編輯的工作。
系統實現階段是系統開發一個重要階段,在這個階段需要將系統設計內容通過編碼完成系統的構建,使之成為可以運行使用的系統。
當用戶輸入正確的用戶名和密碼后可以登錄到系統主界面,系統會根據用戶類別,跳轉到相應的頁面。
以下是編輯收稿部分實現過程:
收稿件管理主要用于顯示投稿人、稿件標題、稿件相關信息等,編輯在此對稿件進行初審,不合格單擊“退稿”,合格點擊“收稿”,稿件轉為已收稿件,等待編輯安排專家審稿。
收稿件管理頁面所涉及到的程序代碼如下:
protected void btn_Ok_Click(object sender, EventArgs e)
{
//收稿
string strsql;
if (TxtTitle.Text == "")
Response.Write("");
else
{
strsql = string.Format(" update M_Manuscripts set StateID='2',Rec eiverTime='{0}'
where ID={1}", DateTime.Now.ToString(), Session["Sid"]);
if (DBFun.ExecuteUpdate(strsql))
{
SetDefault(); //初始話頁面控件值
Label1.Text = "編號為 " + Session["ArticleID"].ToString() + " 的稿件收稿成功。";
setData(); //設置數據連接
bindData();
}
}
}
protected void btn_Back_Click(object sender, EventArgs e)
{
//退稿
string strsql;
if (TxtTitle.Text == "")
Response.Write("");
else
{
strsql = string.Format(" update M_Manuscripts set StateID ='10',Suggest='{0}',FinalTime='{1}' where ID={2}", TxtSuggest. Text,DateTime.Now.ToString(), Session["Sid"]);
if (DBFun.ExecuteUpdate(strsql))
{
SetDefault();
Label1.Text = "編號為 " + Session["ArticleID"].ToString() + " 的稿件退稿成功。";
setData(); } }
void setData()
{
//編輯收稿,文章狀態值為1,sql語句后都要有條件限制 where State=1。
string strqry = "";
strqry = "select * From M_Manuscripts where StateID='1'"+" order by id desc ";
DataView dvlist = DBFun.GetDataView(strqry);
AspNetPager1.RecordCount = dvlist.Table.Rows.Count;
Session["dvlist"] = dvlist;