浅析微博发稿在新闻编辑系统内的实现
靖 纯
(新华社技术局)
[摘 要] 新媒体技术是运用数字技术、无线技术和网络技术整合改善传统媒体信息获取的枯燥性、延迟性、非互动性等不足,使得信息在保证量的基础上让受众群体得到及时的沟通交流。微博是一个基于用户关系的信息分享、传播以及获取平台,是新媒体技术中最具流行性的代表。新华社新闻编辑系统中成功实现运用微博发稿,占领新媒体舆论宣传阵地,扩大传播影响力。[关键词] 微博 新媒体 新闻编辑系统 1 引言新媒体是相对于传统媒体而言,是继报刊、广播、电视等传统媒体以后发展起来的新的媒体形态,是利用数字技术、网络技术、移动技术,通过互联网、无线通信网、有线网络等渠道以及电脑、手机、数字电视等终端,向用户提供信息和娱乐的传播形态和媒体形态。微博,即微博客(MicroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB、WAP以及各种客户端组建个人社区,以140字左右的文字更新信息,并实现即时分享。一些大的突发事件或引起全球关注的大事,由于有微博用户在场利用各种手段在微博上发表出来,其实时性、现场感以及快捷性,甚至超过所有其它媒体。微博开通的多种API使得大量用户可以通过电脑软件、浏览器、移动终端等多个平台来即时更新自己的信息。随着用户数的迅猛增长,微博已经成为互联网最重要和最具影响力的应用。新华社也适时推出了面向这一新媒体的产品。从新华社(新华视点)开始使用新闻编辑系统签发微博应用以来,该微博用户关注度上升极为迅速,影响力日渐扩大。目前还有多路微博应用已经上线,用户反应热烈,各路微博关注度仍在快速增加中。 2 技术流程目前微博稿件由于产品自身的限制,需要在编辑系统中增加文字和图片的判断条件,其中微博文字中文限定为140个汉字,英文限定为280个字符,图片大小限定为2M以内,1024×768或800×600像素,图片格式为jpg\gif\png。如果稿件不满足微博条件将不允许签发。新闻编辑系统微博编签功能分为以下三个模块实现:2.1 编辑系统内部设计在新闻编辑系统内部修改发稿设计后,增加了稿件控制内容,包括微博稿作为特殊稿件类型应有的限制。1)在建稿时弹出对话框,用户可以预先选定稿件类型为微博,这样稿件可以在创建时就确定本身属性符合微博的要求。2)增加用户正文输入数字的实时统计,方便用户对自己选定稿件类型的掌控;增加对图片稿的处理,自动调整符合微博规则,用户操作简单化。3)与原有系统无缝衔接,用户在签发前可以随时更改稿件类型,与原有系统相一致。4)在已签稿库中增加视图分类,新增视图提供给接口出库,用于发送微博及微博撤稿。2.2 接口出库发送微博1)因微博稿件发送涉及交互操作,且签发线路定义有别于现有编辑系统模式,由内网直接到外网,我们定义了内外网微博稿件数据转换格式,整个微博签发流程中涉及的内容、操作控制都在此自定义数据格式中进行。2)对接口机上的出库转送程序进行修改,使其按照自定义微博数据交换格式对新增微博发稿视图进行出库处理,然后使用FTP方式向网闸传送稿件。3)对内外网网闸新增微博数据搬送配置,定义了内网向外网数据传送目录,以及外网向内网发布信息回送目录。4)在外网服务器上部署微博发送应用,该应用根据微博开放平台标准采用HTTP协议和轮询来稿目录方式实现对微博7×24小时文字和图片的不间断发送。2.3 微博安全认证(以新浪微博为例)微博对于应用程序与微博互联提供了传统的用户名/密码和OAUTH两种安全认证方式。前一种是应用与微博账号拥有者使用同一个口令,用户密钥向应用公开,两者间不具备独立性,用户修改口令后将影响应用运行。为了保障微博账号拥有者定期修改口令的权利和应用程序向微博发稿的稳定性,我们采用了OAUTH认证方式。通读OAUTH协议后开发了与微博平台认证模块,在微博账号拥有者不公开口令的情况下由微博开放平台、应用开发者和微博账号拥有者三方进行交互认证,使应用程序获得更新微博内容的部分功能,并且微博口令修改后不影响应用程序向微博发布稿件。这样微博发送系统可以独立、稳定地运行,就可以保证系统的安全性和稿件在可控范围内发送。2.4系统流程下面主要介绍设计的第一部分:新闻编辑系统内部设计。 3简要设计新华社新闻编辑系统使用Domino软件为基础开发,使用Web编程构建应用,下面的设计主要为Domino上的Web设计。3.1 表单设计在编辑系统设计中,表单PdForm用于提供用户界面编辑稿件。如果用户编辑微博稿件,就要在表单中将稿件类型设定为微博,这样稿件各项属性就会遵守微博稿件的规范。系统中新增产品类型设计,表单中相应增加了产品类型选项,在建稿时用户选择要创建的稿件类型,进入编辑状态后在表单中就会显示出来,可以更改。更改后稿件的各项属性规则就会跟随发生变动,比如建稿时选择建中文普通文字稿,那么进入编辑状态时正文的限制字数就是10000字,如果用户通过修改表单稿签项将稿件类型变为微博,那么正文限制字数就变为140字。1.初始化正文字数限制函数initBodyLengthLimit()表单加载时自动运行函数initBodyLengthLimit(),根据产品类型获取正文长度限制,首先按照用户选择的产品类型去配置库中搜索到相应的配置项,按照配置项的内容取得该产品类型的字数限制,将限制值返回给表单。在表单被签发提交时需要判断正文总字符数是否超出限制。2.显示当前正文字数限制函数showBodyLengthLimit()表单加载完成后,将初始化正文字数限制的值返回给函数showBodyLengthLimit(),该函数将收到的值提供给悬浮框模块,在用户还没有开始正文输入时显示到悬浮框中。3.预先设置图片区域函数showPhotoArea()表单嵌套子表单dlgReleFormatConfirm加载时预先设定显示区域,区域中设定图片按原图、符合配置项参数规格缩略图的先后顺序显示图片。4.预览图片函数previewPhoto()子表单在受到表单调用时,提供图片预览功能,使用图片缩略图模块,按配置库中参数限定自动生成缩略图显示到预先设定显示区域。3.2 悬浮框设计用户在编辑稿件时,为了能够随时掌握自己输入的字数,以确定是否超出了选定稿件类型的限制,就需要即时了解正文的总字数或者距离限定值还剩下多少字可以输入。我们在表单Web代码中加入了悬浮框的设计,即时提示用户在当前稿件类型模式下还可以输入多少字。随着稿件类型的变换,提示的字数也随着发生变化。配置项:稿签数据项\正文\中文(英文)\长度限制\签发\微博配置值:140(280)修改还可以输入的字符数函数setBodyLengthLimitInterval()表单加载时调用悬浮框设计,自动运行函数setBodyLengthLimitInterval(),利用编辑器提供的字数统计功能,统计出正文区域汉字数、字符数、符号数、空格数,将这四类符号总数记入intCharacterNumber变量,比较上述表单加载时运行的函数initBodyLengthLimit()中返回的限制字数变量intBodyLengthLimit:intBodyLengthLimit - intCharacterNumber〉0,则提示:您还可以输入(intBodyLengthLimit - intCharacterNumber)个字符,正常黑色显示;intBodyLengthLimit - intCharacterNumber〈0,则提示:您的输入已超出(intCharacterNumber -intBodyLengthLimit)个字符,加粗红色显示。3.3 图片缩略图设计微博对发布的图片存在限定条件,按照其对图片的要求,在系统中增加自动生成符合规则图片设计。在微博图片稿中,建稿时会对图片文件进行判断,首先判断图片格式,然后按照规则要求将图片自动转换为符合要求的大小及分辨率。原稿图片尺寸小于微博限定大小的不转换,直接显示原图。稿件完成后可以预览自动转换的缩略图。配置项:产品签发\图片尺寸限制\微博配置值:1024×768,800×600配置项:产品签发\图片类型限制\微博配置值:JPEG,GIF,PNG3.3.1 判断图片文件类型1)图片原文件下载函数downloadFileFromFTP()建稿时通过FTP方式将要建稿的图片稿原稿文件下载到本地指定目录,将文件名路径改为规范格式,判断文件大小并提示用户。2)判断图片原文件格式函数isPhoto()从本地文件中取出图片稿文件,以后缀“.”分割,取出文件后缀名,与配置库中允许的文件格式后缀名比较,判断文件格式是否符合相应的要求。3.3.2 抽取文件缩略图1)用于单缩略图抽取函数generateSingleThumbnail()对于满足限定条件的图片稿文件,进行单缩略图抽取,提取原图尺寸,按照分辨率(数字x数字)的格式,比较目标尺寸,将原图等比例压缩为目标尺寸大小。2)用于多缩略图抽取函数generateThumbnails()从配置库中取出预先设置的目标尺寸允许值,将目标尺寸允许值按顺序对照原图进行单缩略图抽取,顺序生成目标尺寸缩略图文件。3)上传图片稿缩略图函数uploadThumbnails()把抽取的缩略图文件按顺序上传至服务器规定路径下,按照目标尺寸定义缩略图文件名,方便图片预览时调取相应缩略图使用。3.4 产品类型设计新华社原有产品类型中只有通稿专稿,没有微博产品类型。为了适应新的应用,在系统中新增了微博产品类型。配置项:产品签发\产品类型配置值:微博|MicroBlog1.在建稿时弹出对话框dlgNewDoc中增加产品类型选择项。系统原有设计是在签发时才选择产品类型,编辑稿件时稿件信息中不记录产品类型,修改设计后,在建稿时就选择产品类型,则产品类型信息会记录在稿件中,系统就会按照产品类型的格式增加对稿件的控制。2.在建稿时选定的产品类型,稿件编辑时在稿签中可以更改,随着产品类型的更改,该类型对文字数量的要求在右上角实时显示出来,图片稿的限制在建稿时就会提示,用户选择后图片自动转换为规定格式。3.原有的产品类型设计功能保持不变,在签发时还可以选择更改产品类型,签发地址会做出相应的变化。但要注意稿件本身必须满足更改后产品类型的限制条件。4.定稿如果选定了某种产品类型,在视图下签发时会提示只能签发已选定的产品类型,如果想签发别的产品类型必须进入编辑状态进行稿签中产品类型的修改。3.5 撤稿设计微博网站给用户提供发布信息平台的同时,也为用户提供了撤销已发布信息的功能。而编辑系统中从未给用户提供过撤稿功能,所以必须为微博撤稿进行全新的设计。1.用户身份确认撤稿操作可控,由发布者本人删除或是具签发权限者删除均可,目前系统设计为有签发权的人也有撤稿权。在已签稿库中打开微博稿件时,签发人会看到删除按钮,其他权限则无法看到。按钮文本设定为用户身份为非签发人时隐藏。2.稿件删除标示对于有删除权限的用户,点击删除按钮时会弹出对话框dlgDeleteMicroBlog提示用户再次确认。用户确认后,函数btn_DeleteMicroBlog将删除信息写入稿件隐藏字段pd_DeleteId中。用户删除稿件后,稿件会立即从用户所见视图中消失,转入接口程序处理视图。3.口轮询视图所有含有字段pd_DeleteId且写有删除信息的稿件进入删除微博新增视图ToDelete MicroBlog,接口程序会轮询此视图,将要删除的微博发送至网闸,进行处理后返回。4.回信息标示接口程序接收到网闸的返回信息后,将微博删除的返回信息写入固定隐藏字段pd_DeleteMblog。如果稿件包含的多路微博没有全部删除成功,程序标示“待返回”并在视图中显示,可由程序继续处理或管理员通过代理ResetDeleteMblog重新操作。5. 删除成功标示所有微博删除信息返回成功后,置位固定字段pd_st,视图中显示删除成功标志。 4 总结新媒体的发展代表未来媒体发展的新趋势,是运用数字媒体技术开发创意完成的对于信息的传播加工的新概念,对信息进行了新的诠释。新媒体的形式随着科技以及人们对于信息的需求,以多种不同的形式出现在人们的视野中。新媒体技术的应用体现了受众群体对于信息的抓取更加深入,希望得到更大程度上的互动,可以根据自己的喜好经历参与其中并获取自己最想得到的信息。作为新媒体产业的全新技术应用,通过新华社编辑系统签发微博功能是响应新华社报道“占领终端、阵地前移”战略的一项技术创新。该项业务的开发是我们在多媒体终端产品上一次成功尝试,并实现了与互联网媒体终端的直通报道。系统上线后,立即体现出其方便性和快捷性,对于新闻行业来说,在编辑系统内签发微博信息时效性远远高于传统方式;对于新闻受众来说,则可以在最快的时间内得到最短时间前发出的信息。 编辑:中国新闻技术工作者联合会
评论 点击评论