1、MOSS项目开发实际案例企业内部门户网站开发周记(第一周) 项目的用户人数大约在1000人左右经费折合人民币35万左右(不含硬件和软件许可证的费用)指定项目是基于MS MOSS2007的方案项目的目标是提供用户一个唯一的信息和服务入口项目时间18周。项目领导小组由包括CIO在内的5位主管组成项目工作小组由来自7部门的11人组成项目小组组成如下项目经理1人(兼职)技术主管1人Web设计1人(兼职)程序员1人(兼职)测试员1 人(兼职)第一周大家基本上还没有进入状况,只有技术主管一个人在忙,其他人都在打哈哈。一个wmware已经做好了,上面有MOSS2007和SQL2005, 即将作为技术验证平台
2、之用MOSS项目开发 周记(第二周) (第二周) 项目人力预算项目实际执行情况项目经理1人(兼职)不变技术主管1人不变Web设计1人(全职)Web设计1人(兼职)- 因为项目后期,UI基本没有变化。被抽调到其他项目。程序员3人(全职)1人(后备)- 以防有人离职程序员1人(兼职)- 因为项目的设计思想和理念的改变,导致程序员过剩,2人被抽调到其他项目。测试员1 人(兼职)- 10-18 周不变 进行2次问卷调查分别针对普通用户和管理层。(回收率是21% 和55%)。工作小组会议- 回顾和小结现有的门户网站。- 为新的门户网站的设计定下基调。因为项目小组的人数不少,项目经理和技术主管决定设定一些
3、规则来规范开发活动规则1:QA和Production服务器上不允许安装开发工具- 以前的开发,因为无法在开发环境排错,往往会有人要求在QA和Production服务器上安装开发工具。造成Production服务器和开发环境的不一致。事后小结-项目小组的缩水,Sharepoint Designer,XML和XSL 的使用,使得无需安装开发工具在QA和Production服务器。规则2:VB.NET 2005 被指定为开发语言,使用其他语言需要得到批准。- 因为项目经理和技术主管有vb的背景- 有些人喜欢大段的大段的从sdk上拷贝源码,不求甚解。转换到至少可以让他们学点东西事后小结- 项目结束时,
4、用开发的源码不到250k, 这个规则有点多余。在SPS2003开设的项目的Team Site.开始编写项目执行计划project execution plan (PEP)MOSS项目开发 周记(第三周) (第三周) 问卷调查的结果摘要:-现有门户网站的满意度超过80%背后怪话 既然大家都满意,为何要再做一个新的。难道真的是老板的话一句顶一万句?现有门户网站截图Top 3 不满意的地方- 主页的内容拥挤- 有些部分的内容经年不变- 互动性不足背后怪话 说一万道一千,就是三年多了应该换一换了,又不是没钱。 上周的工作小组的会议记录摘要- 现有门户网站的设计思想是80%的内容1键可取,16%的内容2
5、键可取。- 新的门户网站的设计思想修正为50%的内容1键可取,35%的内容2键可取。最好用户可以自定义(option)三个方向的工作。1:用户界面(User Experience)- 由Web设计负责2: 信息及服务目录 (Information Category)- 由工作小组负责3: 后端服务及其他 (Back-end & Others)-由项目小组负责 开发进度Infra Support Team 通知项目开发和QA的服务器申请被拒,必须改用VMWARE ESX上的虚拟服务器。Database Team 通知MOSS2007开发专用的SQL2005已经就绪,但是Reporting Ser
6、vice不工作。技术验证报告MOSS2007和SPS2003的Object Model 差异性很大,主要是由.NET 1.1和.NET2.0差异造成。SPS2003上的源码再用性(Reuse)问题不小。技术主管提出Project Execution plan (项目执行计划)和Project Plan (项目计划)草稿(项目经理无异议)本周没有工作小组会议下周领导小组会议(Steering Committee Meeting)MOSS项目开发 周记 (第四周) 第四周为了完善项目规格书,几乎每天都开几个会议.领导小组会议记录摘要- 同意把信息目录分成四个子目录 (sub information
7、 category)1:企业 Corporate2:业务 Business3:服务 Services4:员工 People并且指定专人负责- 同意Web设计要求1:所有的Web显示控制应该在CSS中定义2:任何开发行为如果涉及到显示的改变,必须要事先沟通- Web设计被要求1:不能用图形格式来表示设计概念,必须用HTML2:必须在程序开发之前,提供所有的详细设计,- 同意项目小组提案1:新门户网站将引入Ajax2:放弃使用Sharepoint webpart3:在后台管理上,基本沿用MOSS2007缺省功能4:使用中间层来简化开发强度和人工5:批准Project Execution plan
8、(项目执行计划)和Project Plan (项目计划)- 项目小组被要求1:在新门户网站使用blog,wiki的可能性2:如何有效的个人网站MOSS项目开发 周记(第五周) 第五周web设计向项目小组提出三种网站基色(1浅蓝,2土黄,3:翠绿)三种网站布局(1三列式,2四列式,3导航式)经过投票选中浅蓝导航式项目小组提出中间层架构技术线路走 MOSS2007 + Ajax + XML + XSL所有的MOSS List 和 Doc Lib 将通过一个或者几个ASP.NET 程序(Call MOSS Object Model) 来转换处理显示的格式全部放在XSL文件中,ASP.NET程序不涉及
9、到任何显示。MOSS项目开发 周记(第六周) 周记(第六周) 中间层的version 0.1 完成,由一组VB.NET 2005组成其中最主要的只有一个viewlist.aspx,其他均由这个变化而来在web.config中设定SiteID所在的List的URL基本参数如下SiteID:SiteID 的Key. 根据key,从List中取得项目Site,CSS文件的URL,XSLT文件库的URL,项目的图库的URL及其他信息List: List 的名字View: List 中某个View的名字XSL: 控制显示XSLT文件的名字Mode: 控制项 - xml : 只显示xml格式- 其他: 配
10、合xsl显示html格式一般的调用格式如下:http:/server/app/viewlist.aspx?SiteID=myproject&List=info&view=All&xsl=Summary.xsl&mode=xml或者http:/server/app/viewlist.aspx?SiteID=myproject&List=info&view=All&xsl=Summary.xsl&mode=noxml第一个调用是显示list转换后的xml,例如 - - - iPAQ 6818 for sale (S$700) Message1 2007-09-16T00:00:00+08:00 2
11、008-07-15T00:00:00+08:00 73 - Brand New Playstation 3 for Sale - $700 Message 2 140 - Portable DVD for sale at $100 Message 3 142 第二个调用是显示html通过不同的view来改变控制条件,排序,通过改变xsl文件来改变html显示(其中也可改变控制条件,排序)结论通过这一层web显示这部分被分离出来缺点List中的项目item个数不可太大。经过多次热烈讨论,最后从几个Ajax framework中选择了JQuery.原因主要是web设计认为JQuery使用方便。项目
12、组方面无所谓,都是调用javascript文件。结果发现JQuery的确是方便,大大降低了编程的强度。基本上每个html格式都是TitleTitle.配合css文件得到各种不同风格例如Latest HappeningsAnnouncementsBulletinCoursesEventsRC NewsIT NewsMy BookmarkPolicies, Procedure, GuidelinesSocial & RecreationalCommunications Resources项目组开始学习jquery,并且要求web设计把主要的改用remote方式(这就形成了另类的webpar
13、t).MOSS项目开发 周记(第八周) (第八周) 在Steering Committee Meeting 会议记录摘要web设计提出了网站的结构和main page以JQERUY为基础的框架Our Portal中间层viewlist.aspx 演化到version 0.5基本上确定由3个部件组成1:将sharepoint List 转化到 xml 格式以下是其中一段代码Function GetListXML(ByVal SPList As SPList, ByVal SPviewName As String, ByVal SPFolder As SPFolder) As String Dim
14、 buf As String = String.Empty Dim ViewGUID As String = SPList.Views(SPviewName).ID.ToString(B).ToUpper() Dim ds As New DataSet Dim Dt As DataTable = Nothing Dim SPQuery As SPQuery = New SPQuery() Dim SPListItems As SPListItemCollection SPQuery.Folder = SPFolder SPListItems = SPList.GetItems(SPQuery,
15、 ViewGUID) If SPListItems.Count 0 Then Dt = SPListItems.GetDataTable() ds.DataSetName = List Dt.TableName = View ds.Tables.Add(Dt) buf = ds.GetXml.toString() End If Return bufEnd Function2:从doc lib取出XSL 文件3:把已放在string中的xml和xsl进行转换(transform)得到htmlMOSS项目开发 周记(第九周) 第九周- 信息目录o 服务子目录(Services Category)
16、草稿完成下图是项目完成时的最终版o 员工子目录(People Category) 草稿完成下图是项目完成时的最终版结语 信息目录影响公司的方方面面,明争暗斗贯彻项目的全过程。- 界面设计o 结合中间层的框架演化到version 0.6o 遇到webpart 乱序显示问题 每次webpart显示的次序混乱,例如banner会跑到下面去。代码如下 !- var ajaxcount = 0; jQuery(document).ready(function() / add header $.get(_include/index_header.html, function(data) $(#header
17、).html(data); ); / add side $.get(_include/side_personalize.html, function(data) $(#side).html( $(#side).html() + data ); ); $.get(_include/side_gottoknow.html, function(data) $(#side).html( $(#side).html() + data ); ); $.get(_include/side_mynavi.html, function(data) $(#side).html( $(#side).html() +
18、 data ); ); $.get(_include/side_activity.html, function(data) $(#side).html( $(#side).html() + data ); ); $.get(_include/side_bannerspace.html, function(data) $(#side).html( $(#side).html() + data ); ); / add main ajaxcount+; $.get(_include/main_banner.html, function(data) $(#main).html( $(#main).html() + data ); add_tabs(); ); ajaxcount+; $.get(_include/main_happenings.html, function(data)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1