代码改变世界

SharePoint2007中的WCM

2009-02-01 12:25  Virus-BeautyCode  阅读(840)  评论(0编辑  收藏  举报

sharepoint2007的WCM,web内容管理,审批流程,用户的使用流程。

1、作者author
      新建一个页面,填写页面的内容,发布时间,选择图片啊,最后提交页面等待审批
2、编辑editor
      在邮件中发现正在等待审批的web内容,点击链接,进入页面,审批页面。
3、作者author
      收到通知,页面被审批通过,检查页面以确保页面正确,但是这时候的页面只有author 和editor才可以看得见,public用户要等到发布之后才可以看见。
4、到了发布的日期了
      但是author忙于另外一件事,但是他知道到达预定时间之后,网页会自动发布,出现在公司的首页。

WCM的设计者designer和开发者developer
1、designer
设计页面布局,结果是image,通过客户的认可之后转化成带有css的html
2、developer
开发master page,create moss page layouts,which define where fields control should appeared on each type of page.
the master page and page layouts could be developed using SharePoint Designer 2007 directly on the production servers, or they could be developed using Visual Studio and included in a solution package. In this case,the package deploys  the master page,page layouts,and dependent files to every Web server in the farm.

先有内容类型,然后为内容类型添加page layouts,然后就可以在新建页面的时候选择一种page layoust了。一个内容类型可以有多个页面布局page layouts,

WCM分离了站点的设计者和内容创建者,使得他们可以互不干扰的做自己的事情。

1、 新建页面的时候,页面为草稿、checkout状态,只有自己可以看得见,admin也看不见。
2、 已批准的页面大家都可以看得见。
3、 新建之后checkin为草稿,也就是次要版本,除了普通的访问者都可以看见了,checkin的目的就是共享给大家,但是因为是次要版本,所以还没有发布。
4、 审批者可以将别人checkou的页面改为由自己checkou,然后checkin。
5、 新建页面的操作,管理员,网站成员,审批者都可以做
6、 发布主要版本就会启动工作流供审批,审批通过并且到达计划开始时间之后普通用户就可以看得见了,只有审批者可以批,其他人会提示错误信息。
7、 审批通过之后成员不能取消发布版本,有菜单,操作提示错误
8、 审批者可以取消发布版本,页面变为草稿
9、 Checkout之后,相同角色的用户不能编辑、不能删除、不能启动工作流,都提示已经有用户checkout,审批人也不能edit、不能delete、不能启动工作流,但是可以checkin,checkout,发布主要版本,然后审批。
10、 已批准的页面,重新编辑之后会变为草稿

计划发布网页的开始时间和结束时间
1、 要计划页面的发布,必须要有审批权限
2、 列表或库要启用版本控制和裁决(也就是内容审批)功能,发布网站默认启动版本控制和裁决功能,并且支持页面计划。

审批状态
1、 草稿:已经创建页面,尚未提交审批;或者页面通过审批,但是发布结束时间是过去的某一天,也就说过期了,都是次要版本。
2、 待定:已经提交审批,但尚未通过。
3、 已计划:已经创建、已经批准,但还未到发布时间,到时间自动变为“已批准”。
4、 已批准或以拒绝:已批准的都是主要版本,以拒绝的都是次要版本。

信息策略

1、 启用审批:记录页面操作的历史,打开、编辑、checkin/checkout、删除、还原、移动
2、 启用过期:过期可以删除或者启动某一个工作流(例如归档工作流),启用过期策略,设置保持期,保持期之后为过期,会在页面的过期日期字段添加时间

foreach (SPFile file in web.GetFolder("Pages").Files)
                    {
                        
if (file.Item["_ModerationStatus"].ToString().Equals(((int)SPModerationStatusType.Approved).ToString()))
                        {
                           //页面moveto到Folder之后,属性不会改变,但是SPFileCollection就少了一个,moveTo完一个之后,集合被修改了,因为少了一个,所以就提示集合被修改,报错了

                            file.MoveTo(web.Url
+"/"+web.GetFolder("Pages").Url+"/"+"20090201"+"/"+file.Name, true);
                                        //下面的是CopyTo到Folder,但是审批状态变为“草稿”,修改、更新,可是还是草稿,不知道如何来解决呢,估计移动就相当于修改,修改之后也会变成草稿状态
                            
//file.CopyTo(web.Url + "/" + web.GetFolder("Pages").Url + "/" + "20090201" + "/" + file.Name, true);
                            
//SPFile f = web.GetFolder("Pages").SubFolders["20090201"].Files[file.Name];
                            
//f.Item["_ModerationStatus"] = (int)SPModerationStatusType.Approved;
                            
//f.Update();

//下面是解决办法,也就是CopyTo之后Approve一下,也可以把以前的审批意见传入Approve方法
                         //file.CopyTo(web.Url + "/" + web.GetFolder("Pages").Url + "/" + "20090201" + "/" + file.Name, true);
                         
                           // SPFile f = web.GetFolder("Pages").SubFolders["20090201"].Files[file.Name];
                            //f.Approve(string.Empty);
                        }
                    }