2010年3月2日

SharePoint中的列表(List) 与Content Type 之一

Windows SharePoint Services (WSS)通过列表和content type实现了协作的数据模式, 这两个都是用基于XML定义的schema来定义的, schema要么是在运行时通过用户自定义创建出来的, 要么是在features文件夹中的文件系统中的XML文件中. 这些基于XML的文件是用WSS-specific的语言写成的, 也就是Collaborative Application Markup Language (CAML). 当你使用CAML开发WSS类型定义(比如说site column, content types, 和site template)的时候, 那你就在创建用户可以在他们自己的collaborative application中使用的provisioning component. 当你通过WSS用户界面创建site columns, content types, list template的时候, 你就创建了scope范围仅在一个单独站点的自定义内容.

 

尽管provisioning components很难创建和测试, 他们却能比较容易地在场中的任何站点中得到重用, 并且他们能被打包和部署在WSS的solution package中, 用在remote deployment上. 在线的站点的自定义的内容, 却不可以重用. provisioning components的设计和创建应该是在你想要重用, 打包, 或者贩卖你的组件时的首选. 然而, 通过WSS用户界面的自定义内容对于快速prototype的创建, 或者在生产环境的站点上持续地进化都是比较好的.

 

当开发provisioning components的时候, 你会发现他们很难开发的, 因为没有什么debugging的支持, 并且你得到的错误信息也比较神秘. 为了成功地开发provisioning components, 你会想要在开发进程中使用一个包括自动化测试和部署脚本的开发技术.

 

你还会想要引用和解剖那些内建的(built-in)features和与WSS一同发售的provisioning components, 还有那些与MOSS 2007一起发售的这些东西. 拷贝和编辑这些组件会经常使得你非常接近你想要的东西, 并且呢, 添加一些自定义的功能会比完全重写要稳定一些. 然而, 一个首要的规则: 你永远不改修改微软产品自身包括的features和provisioning components, 你应该拷贝他们的文件或者他们的xml内容到你自己的feature或provisioning component中, 然后修改你的这份拷贝.

 

Work With WSS List

================

WSS核心架构的心脏是如何定义列表类型和创建列表实例的基础架构. 文档库, 在创建WSS商业解决方案中扮演者非常重要的角色, 它可以被看做使用并扩展了标准列表使用的存储机制和模型的混合列表

 

WSS发布了很多种内建的列表类型(见下表), 可以不需要自己开发就满足很多商业上的需求. 这些列表类型在标准的WSS创建页面上可以见到, 并且他们允许用户快速地在专案上创建列表实例. 在Create页面, 这些内建的列表类型会被分为包括Libraries, Communications, Tracking, 和 Custom Lists的不同的部分.

 

WSS的列表定义

List Type

Description

Document library

带有版本支持, 签入签出, 工作流支持的文档协作. 包括对Microsoft Office的深层集成.

Form library

用来保存由Microsoft Office InfoPath使用的XML文档, 和XML表单.

Wiki page library

基于wiki页面的协作式页面, 这些页面时动态生成的, 协作式地编辑而成的.

Picture library

一个增强图片使用的特别的文档库. 包括对幻灯式, 缩略图, 和简单地通过Microsoft Office Picture Manager编辑的支持.

Announcements

简单地, 及时地分享信息. 支持过期.

Contacts

跟踪人和联系信息的列表, 支持Microsoft Office Outlook 的集成, 还有其他与WSS兼容的联系应用程序.

Discussions

支持threaded讨论的一个简单列表, 支持审批, 和对讨论thread的管理.

Links

管理超链接的列表.

Calendar

跟踪即将到来的时间和最后期限的列表. 包括对Office Outlook的支持.

Tasks

基于活动的item的列表, 可以与workflow集成.

Project tasks

一个增强了的列表, 支持甘特图显示, 支持与Microsoft Office Project的集成.

Issue tracking

跟踪issue和解决方案的列表, 支持优先级.

Custom list

空的列表定义, 支持自定义的列, 或者使用Microsoft Office Excel spreadsheets来创建.

 

 

摘译自:

Inside Windows SharePoint 3.0

posted @ 2010-03-02 23:13 中道学友 阅读(284) 评论(0) 编辑

Workstation Service

这是个什么服务呢?

 

其英文描述如下:

Creates and maintains client network connections to remote servers. If this service is stopped, these connections will be unavailable. If this service is disabled, any services that explicitly depend on it will fail to start.

 

译文:

创建并维护着对远程服务器的网络连接. 如果这个服务被停止了, 那么这些remote的连接将会不可用. 如果这个服务被停止了, 任何显示地依赖于它的服务将会无法启动.

 

唉, 在微软的官网上搜索竟然没有什么文章描述这个服务.

也没有什么人来写关于这个服务的知识.

 

只有下面的文章可供参考.

http://www.theeldergeek.com/workstation.htm

posted @ 2010-03-02 21:59 中道学友 阅读(30) 评论(0) 编辑

在Windows 7上安装Hyper-V manager

1. 你需要下载Remote Server Administration Tools for Windows 7. 地址如下:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997d

 

2. 打开控制面板, 点击Programs. 点击Turn Windows features on or off.

 

3. 在Role Administration Tools节点下, 勾选Hyper-V Tools.

HyperVManagerloadinginWin7_thumb_0234C520

 

4. 路径%ProgramFiles%\Hyper-V\virtmgmt.msc. 打开. 搞定!

 

摘自:

Hyper-V Security and Management from Windows 7

http://uksbsguy.com/blogs/doverton/archive/2009/02/10/hyper-v-security-and-management-from-windows-7.aspx

posted @ 2010-03-02 17:53 中道学友 阅读(5369) 评论(3) 编辑

管理SharePoint中的账号的密码

在SharePoint环境中更换密码

 

下图展示了在一个拥有两个WFE服务器的SharePoint服务器场中更换SharePoint场管理员密码的一个过程.

 2222

 

密码的更改并不要求重启系统. Windows的服务和IIS可以使用密码更换之前的, 由旧密码生成的security token登录并持续运行. 注意, 在更换密码的过程中, 不要重启IIS或整个服务器, 否则密码的不一致会导致服务器无法使用.

 

为了更新application pool的账号的密码, 你需要使用如下的stsadm命令:

stsadm -o updateaccountpassword -userlogin <DOMAIN\USER> -password <PASSWORD> -noadmin

 

作为对这个命令的响应, SharePoint会加密这个新密码, 使用它覆盖在配置数据库中的旧的加了密的密码. 下一步SharePoint会在IIS metabase中还有其他必要的地方进行更新. 一旦这个过程结束, SharePoint会产生一个类型为SPContentAppPoolCredentialDeploymentJobDefinition的timer job, 把存储在配置数据库中的新的credentials部署到服务器场中剩余的其他机器上.

 

还有许多其他的账号怎么办呢? 比如说:

  • SharePoint Timer service 本身,
  • WSS Help Search service,

可能还有

  • Shared Services Providers (SSPs),
  • Office SharePoint Server Search service,
  • single sign-on (SSO) service.

support.microsoft.com/kb/934838给出了详细的步骤和命令来帮助你完成这项任务.

 

场管理员的密码比较特殊, 因为它影响着场的crendential key, 正如早先提到的, 这个key会被用来加密场中的所有的密码.

所以, 要更新场管理员的密码, 你必须使用这个命令来更新SharePoint:

stsadm -o updatefarmcredentials -userlogin <DOMAIN\USER> -password <PASSWORD>

 

作为对这个命令的响应, SharePoint一定会重新的加密所有配置数据库中的已经存在了的(已经加密了的)密码. 一定会更新SharePoint Timer Job Service的账号(它会使用服务器场管理员账号), SharePoint一定会再一次地把这些信息传播到场中的其他服务器上, 方式是通过类型为SPAdminAppPoolCredentialDeploymentJobDefinition的定时器作业来完成.

 

Maintaining Security Account Credentials文章的剩余部分也很有价值, 其中对KB934838中为什么要按照那样的顺序执行步骤进行了解释.

 

还对命令updatefarmcredentials中的-local开关做了深入的解释.

 

摘自:

Inside SharePoint- Maintaining Security Account Credentials

http://technet.microsoft.com/en-us/magazine/2009.02.insidesharepoint.aspx?pr=blog

How to change service accounts and service account passwords in SharePoint Server 2007 and in Windows SharePoint Services 3.0

http://support.microsoft.com/kb/934838

Updatefarmcredentials: Stsadm operation (Office SharePoint Server)

http://technet.microsoft.com/en-us/library/cc262150.aspx

Migrateuser: Stsadm operation (Windows SharePoint Services)

http://technet.microsoft.com/en-us/library/cc288467.aspx

posted @ 2010-03-02 17:22 中道学友 阅读(307) 评论(0) 编辑

Windows Server 2008 R2

Windows Server 2008 R2 于 2009年十月22日release.

 

跟Windows 7一样, R2构建于Windows NT 6.1之上.

 

新特性包括:

  • 新的virtualization features
  • 新的Active Directory features,
  • IIS 7.5,
  • 支持 256 个处理器.
  • 移除了对32位处理器的支持.

摘自:

Windows Server 2008

http://en.wikipedia.org/wiki/Windows_Server_2008

posted @ 2010-03-02 14:37 中道学友 阅读(29) 评论(0) 编辑

AllUserData表中都存储些什么?

可以在SQL中运行下面的一个语句, 也许会帮助你获得一些想法.

SELECT distinct  [tp_ContentType]
  FROM [WSS_Content_80].[dbo].[AllUserData]

 

我的环境中, 结果如下:

3-2-2010 12-12-42 PM

posted @ 2010-03-02 12:15 中道学友 阅读(59) 评论(0) 编辑

User Information List- SharePoint中隐藏的用户列表

User Information List存储用户的一些元数据, 名字, job title, department等.

 

某站点集中, 当一个用户被赋予权限时, 一个新的item就会被增加到User Information List上, 存储关于这个用户的一些信息.

 

这个列表是隐藏的, 要访问这个列表, 你可以使用如下的两个URL, 当然, 你必须是站点集的管理员才能看到这个列表.

http://localhost/_catalogs/users/simple.aspx 

http://localhost/_catalogs/users/detail.aspx

 

这个列表的信息来自内容数据库的alluserdata表. 捞取数据的SQL语句如下:

 

SELECT TOP 101 t1.[Type]    AS c0,
               userdata.[nvarchar3],
               t1.[ScopeId] AS c2,
               userdata.[nvarchar8],
               userdata.[tp_ID],
               userdata.[nvarchar4],
               userdata.[nvarchar5],
               userdata.[nvarchar9],
               userdata.[tp_Created],
               CASE
                 WHEN Datalength(t1.dirname) = 0 THEN t1.leafname
                 WHEN Datalength(t1.leafname) = 0 THEN t1.dirname
                 ELSE t1.dirname + N'' / '' + t1.leafname
               END          AS c1,
               userdata.[nvarchar1],
               userdata.[tp_ModerationStatus],
               userdata.[tp_Level]
FROM   userdata
       INNER MERGE JOIN docs AS t1 WITH(nolock)
         ON ( 1 = 1
              AND userdata.[tp_RowOrdinal] = 0
              AND t1.siteid = userdata.tp_siteid
              AND t1.siteid = @L2
              AND t1.dirname = userdata.tp_dirname
              AND t1.leafname = userdata.tp_leafname
              AND t1.LEVEL = userdata.tp_level
              AND t1.iscurrentversion = 1
              AND ( 1 = 1 ) )
WHERE  ( userdata.tp_iscurrent = 1 )
       AND userdata.tp_siteid = @L2
       AND ( userdata.tp_dirname = @DN )
       AND userdata.tp_rowordinal = 0
       AND ( ( userdata.[bit3] = 0 )
             AND ( userdata.[bit4] = 1 )
             AND t1.siteid = @L2
             AND ( t1.dirname = @DN ) )
ORDER  BY t1.[Type] DESC,
          userdata.[nvarchar1] ASC,
          userdata.[tp_ID] ASC
OPTION (FORCE ORDER) 

 

注意, 这里的userdata.[bit3], 它是一个用户是否已经被删除了的标志.

在站点里删除一个用户, 这个用户的记录还会存在于站点中, 不过是它的bit3这个标志位会被置1, 标示它已经被删除了.

所以, 删除了的用户bit3是1, 于是他不会出现在这个隐藏的user information list列表中.

 

若要彻底删除一个用户, 即置bit3为1,可以进入下面的链接, X为user的ID. 你可以在网页中该用户上点右键, 查看链接, 即可获得这个user的ID.

http://servername/_layouts/useredit.aspx?ID=X 

 

或者遵循下面的步骤来将用户从站点集上永久删除, 用户的alert也会被永久删除.

On the site collection home page, click the Site Actions menu, point to Site Settings, and then click People and Groups.

  1. On the People and Groups page, in the Quick Launch, click All People.
  2. On the People and Groups: All People page, select the check box next to the user who you want to delete.
  3. On the Actions menu, click Delete Users from Site Collection, and then click OK.

用户被永久删除之后, 如果再从AD里把这个用户删掉, 那么People Picker也搜不出来了这个人了. 呵呵.

 

注意: 每个站点集, 仅有一个User Information List.

 

内容来源:

User Profiles and User Information List Synchronization

http://www.sharepointchick.com/archive/2009/06/17/user-profiles-and-the-user-information-list-or-userinfo-table.aspx

posted @ 2010-03-02 12:07 中道学友 阅读(387) 评论(0) 编辑

技术追求准确,态度积极向上