每月档案: 4 月 2008

快速和简单: 使 InfoPath 表单只读 (在 MOSS 中的 InfoPath 表单服务)

有这样一种常见的业务情况:

  • 用户填写 InfoPath 表单.
  • 提交表单.
  • 长时间运行的工作流过程揭开序幕.
  • 在工作流运行时, 我们不希望任何人都可以更改窗体的内容.

此示例中 office.microsoft.com 描述如何创建单独的视图"" 并将标记为只读的整体观. 这是一个可行的方法,但缺点是你有效地创建两个整个版本的同一个窗体,必须现在保持他们同步手动. 如果将字段添加到可编辑视图, 然后必须将其添加到不可编辑视图以及. 随着时间的推移, 与不同的开发人员, 可以有一些分歧.

在某些情况下,此替代方法可能更好地工作:

  • 名为"IsEditable"的窗体中添加一个新字段.
  • 它的默认值设置为 true.
  • 促进它发布到 MOSS 时.
  • 工作流中, IsEditble 的值设置为 false.
  • 返回到该窗体.
  • 添加一个规则,"后打开窗体的", 禁用您保存按钮时 IsEditable 是假.

这种方法的缺点是,所有的字段仍会在屏幕上编辑. 用户可以得到一个错误的印象,他们其实可以更改内容. 你可以减轻,置于窗体禁用一些文本, 有可能在大跨页的顶部的红色字母.

在一个项目中, 我创建了"工作流状态" 视图. 随着工作流, 它会更新已晋升从窗体的特定状态字段. 当用户打开该窗体, "打开窗体" 规则自动切换到视图和用户有很好的小小的摘要状态.

</结束>

订阅我的博客.

在工作流设计器 SharePoint 使用信号量,以防止出现无休止的循环

它是可能导致无限循环设计器 SharePoint 工作流中. 像这样一种常见的执行模式导致的问题:

  • 创建一个工作流,并将与列表关联.
  • 表明,它应在开始创建的新项目和现有项目的更新.
  • 在工作流中的一个步骤更新"当前项目"中的一个字段.
  • 由于当前项更改, 重新启动工作流.

为了防止这种无休止的循环, 实现一个简单的信号量:

  • 添加网站列 (或列表/库如果您不使用内容类型的列).
  • 隐藏它从编辑页 (容易做如果通过其属性的网站列, 不一样的情况下,很容易如果列表中的列).
  • 工作流中, 检查信号量列的值为空.
  • 如果它是空白, 将它设置为一个非空值和继续执行.
  • 如果不是是空白, 立即退出.

这可以成为一个相当微妙的解决方案, 如此等等取决于业务需求, 但我需要它的时候已经有一个可行的模式.

</结束>

Technorati 标签:

订阅我的博客.

开发商: 如何学习 SharePoint?

更新: 04/25/08: 一些博客帖子上赶上并找到这篇文章的链接: http://www.networkworld.com/news/2008/032608-microsoft-sharepoint.html?page=1. 我记下它因为除了问, "如何学习 sharepoint?", 有些人问"为什么我应该学习 sharepoint?". 那篇文章部分回答了以后.

在过去几个月, 十几个或更多的人从地球上已经给我发邮件和要求的一般问题, "如何学习 SharePoint?"

我几乎不权威, 但我有一些成功 (想要获得更好所有的时间) 所以我想我会记录我个人的路线图. 其他人可能会发现它有价值.

先,, 我只是想观察很显然对我, 这些个人的电子邮件和 MSDN 的更大数量的基础 / SharePoint 大学职位性质相同的, 正是有巨大开发商的利益,在获得加速 WSS/青苔. 我不知道它要像从现在起一年 … 更容易地找到好的 SharePoint 人才? 一样? 人们致力于速度不足以跟上需求的良好的资源平台吗? 如何要甚至弄东西那样不摇呢?

保罗的路线图

我是全职聘请好民间在 Conchango,而我跟着这个路线图. 这意味着,从学习的角度, 我是积极参与项目,当我跟随我下面概述的步骤.

一些基本的术语

为进入这个世界的人, 有两个关键缩写词:

  • WSS: Windows SharePoint 服务
  • 苔藓: Microsoft Office SharePoint 服务器

WSS 是"免费的" 它具有与 windows 服务器捆绑在一起 2003 (或者,至少可以从 MS 下载). 我用引号引起来自由,因为你需要一盒, 一个有效的操作系统许可证和可能 SQL (虽然有一个"免费" 以及 SQL 的那种).

青苔建立在 WSS 和扩展它. 还有没有 WSS 不生苔. 不是免费的苔藓.

也许没有一天, 但不久后你有一些基本熟悉平台, 它是重要的是学习的差异. 例如, 功能强大的 web 部件, 内容查询 Web 部件, 是苔藓特征和不可用 WSS. 人们经常犯 CQWP 是 WSS 中可用的不正确假设,然后最终争夺的权宜之计,当他们意识到他们的错误.

打书

我开始使用 WSS/苔藓上关于 01/02/2007. 我有一点经验与 SPS 2003 但很少. 让我开始, 我购买了 此处列出的两本书 (http://paulgalvin.spaces.live.com/lists/cns!1CC1EDB3DAA9B8AA!203/).

我开始用大蓝政全书. 自然, 它涵盖了管理. 在同一时间, 它提供了所有 MOSS 特征的调查 (和 WSS 功能以及).

对我来说, 它不是那么重要,要记住所有的各种细节 (直到它获得认证的时间) 但它是很好知道界限. (按照同样的方法在我玩 xbox 或 pc 机的第一人称射击游戏 — 我进入房间,往往使一个逆时针循环返回到开始的地方. 我只是感觉好知道我是在框中的形状。)

后读大蓝书, 我将这本书整个里面 WSS. 它潜水时深深地进入问题,开发人员护理最关于.

创建虚拟环境

为了做任何发展或正确地使用环境, 你需要充分吹的 windows 服务器操作系统的系统与 SharePoint 设计器, Visual Studio 2005 (2008 工程, 但一些有用的工具还没有在撰写这篇文章的移植), InfoPath 2007 和一些其他的东西. 有很多好的博客条目描述这一过程. 我会看一看这两个:

另外, 安德鲁万隆分享他的经验与 VMWare 在这里:

使用您喜欢的搜索引擎,看看其他人做. 在其本身是一种很有用的学习练习.

花几分钟来愤怒地谴责的事实,你需要在其上做开发的服务器环境. 但 … 不要打扰它,或将其发布到 MSDN 论坛博客. 已经完成🙂. 相反, 拥抱它,继续前进. 你会好吗.

获得认证

我相信,MS SharePoint 的证书路径, 其中包括四个考试, 是详尽无遗的. 我建议你按照他们在线制备指南,尽你所能了解每一领域的测试.

不要 建议您参加考试只是要通过它. 我 不要 建议你使用一个"大脑转储" 风格第三方"工具" 通过 MS 测试. 如果你可以参加考试, 它基于您自己的组合通定向研究和实践经验, 你会为它更强的开发商和作业候选人.

两个"轨道"中有四个测试:

开发商:

Admin:

我建议开发人员研究所有这些考试. 你会为他们而坚强, 虽然我觉得如果你跳过管理员考试, 你会得到.

找到了要将 MOSS 的对应版本比大大更具挑战性的 WSS 版本, 出乎我的意料. 刚在类和其他几个了同样的观点.

虽然我研究的 70-542 考试 (MOSS 发展) 我追踪我学习资源. 以及这些可能对你有帮助: http://paulgalvin.spaces.live.com/Blog/cns!1CC1EDB3DAA9B8AA!192.entry

你自己插进社区

SharePoint 社会是充满活力, 强和所有时间都增长较大.

你想要看看以下操作以启动:

  • 博客
  • 论坛
  • Codeplex
  • Twitter

博客

如果你不了解 RSS, 停止一切和学习它. 它将采取 10 分钟就学会了, 也许另一 10 分钟才找到 web 基于 RSS 阅读器 (我喜欢谷歌阅读器, www.google.com/ 读卡器).

首先将此博客添加到您的RSS阅读器🙂

下一步, 添加 www.sharepointblogs.com 向你的读者. 他们到一个单一的提要聚合许多博客.

随着时间的推移, 你会发现不是博客聚合这样. 只是分别单独添加它们.

我订阅几个十几个博客,我过去一年中已经积累. 如果需要帮助,, 我可以导出我的列表和它的电子邮件.

最终, 你可能想要开始你自己的博客. 我个人认为,一系列的博客条目描述"新手" 进步的学习 WSS/苔藓也有趣的系列. 我希望我做了我自己.

论坛

我积极参加两个论坛组: MSDN 和 SharePoint 大学.

论坛是很好的地方学习. 人们问从非常简单的问题 ("如何创建网站栏") 到恐慌 ("我的服务器已关闭!") 更多假设性的设计问题.

一旦你风味的环境, 冒险和开始回复. 短的直接与客户交流, 没有什么比这更好的手的经验.

Codeplex

转到(G) www.codeplex.com.

看了看为 SharePoint 项目搜索.

订阅 Codeplex 饲料在你的阅读器的每日摘要.

将任何新的 SharePoint 项目添加到你的阅读器.

最终, 后阅读论坛和朝下 WSS/MOSS 心魔, 考虑把您自己 codeplex 项目放在一起.

Twitter

当我写这篇博客, 很多民间已经开始使用的 SharePoint Twitter.

很难描述 Twitter. 只要你会去看看你自己.

结论

这裹我的路线图,并使我当前. 我刚开始使用 Twitter 两个星期前.

WSS/苔藓是一个非常酷的平台和社区越来越大. 利用社区资源来提高你的技能和享受你的旅程!

</结束>

订阅我的博客.

Technorati 标签: ,

数据保护管理器: 似乎是一个很大的 SharePoint 备份/恢复解决方案

新泽西 SharePoint 用户组 会议最后一夜, Sr Microsoft. 产品专家 DuWayne 哈里森介绍 Microsoft 数据保护管理器 2007. DuWayne 很棒 (他表示支持一个或两个同事,从观众的名字我不记得). 你可以在这里演示文稿材料.

截至昨晚, 我从来没有听说过 DPM.

我不是一个系统管理员类型人, 于是我写这本从 SharePoint 顾问的角度来看可能会得到一些单词错误. 对我来说, DPM 是微软"东西"备份/恢复解决方案:

  • 文件
  • SQL
  • 操作系统
  • 虚拟机 (虚拟机的实时备份, 即使 VM 本身运行 Unix).
  • 裸机恢复 (e 小节. 灾难性硬件故障).

以外的东西, 我会认为这是"真正的任何种类的最低要求" 备份/恢复产品, DPM 还具有内置的智能为 SharePoint. 它理解关于服务器农场,让你恢复:

  • 整个数据库 (例如:. 内容, 配置, 等).
  • 网站集
  • 个人网站
  • 单个项目 (例如:. 文档).

实际还原过程涉及到目标数据提取备份并将其保存到"还原农场" 然后从那里, 将其移动到生产环境 (无论您要还原或). 这是无缝, 但有很多的重点放在"恢复农场"的必要性. 恢复农场不需要匹配在每一个特定的生产环境 (主要是在物理拓扑) 但不会需要匹配的模板, 版本, 等.

我没有看到一个完整的端到端演示, 但 DuWayne 并显示屏幕截图和一些现场演示. 这似乎是它需要的一样好, 至少对于中等规模环境.

特别是被其中一定价震惊. 很明显, 别把我这, 但我相信最昂贵的定价是大致如下 (以美元为单位):

  • $600 DPM 本身.
  • DPM 服务器的硬件 (与媒体和所有的关联的东西).
  • $450 要为每个服务器备份 ("企业" 许可证).

五个服务器场将价格最:

  • $600 DPM
  • $450 x 5 服务器 = $2,250

在许可证中的总成本: $2,850

在实践中, 它会少些. 你不一定需要有 DPM 安装在每个 web 前端, 例如. 你也不一定需要企业许可证.

用户界面是似乎很简单,可能不需要任何特殊的培训,以加速. 我专门做询问,而且显然有 1.5 天类可用, 虽然很不明显,我认为任何人真正需要它.

所有的一切, 我觉得非常值得调查如果你出去的 SharePoint 那里找的数据保护解决方案.

</结束>

订阅我的博客.

Technorati 标签:

Twitter: http://twitter.com/pagalvin

拱门式: 修复员工培训模板可用座位注销的 Bug

很多人都知道, 员工培训模板 由 Microsoft 提供的在这里 有一个 bug,我们可以复制下面的步骤:

  • 创建一个类的一个最大大小 10 学生.
  • 登记册 –> 总正确就位递减一. 结果: 9 可用座位.
  • 注销: –> Bug. 总可用座位应增加 1. 它并不. 结果: 9 按照 SharePoint 可用座位, 但事实, 有 10 可用座位.

解决方案: 使用 SharePoint 设计器来更正工作流.

第一次, 打开网站. 我的文件夹列表中看起来像这样:

图像

如果我们看一看"与会者登记" 工作流, 我们看到有一个标记为"强制座位政策"的步骤. 它看起来像这样:

图像

此工作流中的步骤更新该项目通过递增"填补席位" 在课程上的元数据列. 如果我们拉起,在更多的细节, 我们看到这:

图像

这就是我们需要修复的注销工作流的所有信息.

如果我们翻到注销工作流, 还有没有类似的工作流步骤. 添加它,如下所示:

1: 展开"与会者注销" 和开放 XOML (请参阅第一个屏幕截图如果你丢失).

2: 添加新的工作流变量, "新填充的席位" "数字"类型的.

3: 将一个值分配给"新填满席位" 如图所示:

图像

4: 递减的填充的席位由 1:

图像

5: 更新相关的课程项目:

图像

6: 请确保所有步骤都都正确的序列. 对我来说, 它看起来像这样:

图像

7: 完成工作流,以重新生成它.

8: 测试.

</结束>

订阅我的博客.

Technorati 标签: ,

随机星期六早上观察

我一直类过去两周和一件事,在我看来,是有很多的周到, 在 SharePoint 工作的智能人 (作为顾问或 IT 人员) 谁不博客, twitter, 似乎意识到像 MSDN 论坛或 SharePoint 大学公共留言板, 保持 Facebook 或 LinkedIn 配置文件, 等. 他们都是纯粹的信息消费者. 不错, 只有趣的.

</结束>

Technorati 标签:

订阅我的博客.

内容查询 Web 部件: 会上纽约 SharePoint 用户组

我将会说出我的同事, 纳塔利娅 Voskresenskaya, 在 纽约 SharePoint 用户组 会议 5 月 7 日 (星期三).

感谢 鲍勃 · 福克斯 我们的名字投入的帽子和帮助我们得到这个机会!

我们整体的话题是内容查询 Web 部件,我们希望把一些有用的信息,给两个不同的观众:

  • 企业用户 (非开发人员): 显示如何配置 CQWP,以解决某些常见的业务问题,无需任何编码.
  • 开发商: 显示如何扩展 CQWP,以做业务用户通常不会感到舒适自己做一些很有趣的事情. 此演示文稿的一部分将帮助业务用户理解什么是可能使用此 web 部件,以便他们可以向其开发商合作伙伴提供更好和更现实的要求.

这里是 NYSPUG 邮寄出本星期早些时候的通知:

"使用内容查询 Web 部件来解决业务问题".

MOSS 2007 的内容查询 Web 部件 (CQWP) 使用户能够创建自定义视图的查询从许多来源数据, 目前该数据放在一个地方. 尽管其功能强大的查询 & 内容细化选项, CQWP 往往是低估和被忽视的功能. CQWP 是这两个"数据提取引擎" (任意位置在网站集合中查找文档或列表项目) 并也一流的演示文稿的工具,使用户能够控制内容呈现由环绕 HTML 和样式来设置格式的几乎任何你希望的方式显示的方式.

在本届演示重, 他们将展示如何使用 CQWP 以炫耀核心功能来解决业务问题.

  • 使用默认的 CWQP 功能, 包括访问群体设定

  • 使用 CWQP 作为筛选条件如"今天创建的所有文档"通过网站集合中的任何位置报告工具.

  • 更改外观 & 要突出显示的业务数据的查询结果的感觉, 显示信息的附加的列, 以网格格式显示信息, 和其他人.

  • 显示 CQWP 可以如何帮助内容类型管理 (e 小节. 查找,以了解潜在的影响,改变了 CT 定义的特定内容类型的所有文档).

  • 描述一些限制 CQWP

  • 先进的 CQWP 技术提供的资源的列表, 包括博客, ECQWP Codeplex 项目 & MSDN 文档.

</结束>

订阅我的博客.

Technorati 标签:

快速 SharePoint 集成: 执行一个简单的查询

这是在我的快速编码为 SharePoint 民间的迷你系列的延续. 下面的代码的位执行搜索词条"测试" 在快速通过一个控制台应用程序. 很明显, 它是一个跃点, 跳过,跳走来包装此 web 部件内的逻辑或应用程序页:

使用 系统;
使用 System.Collections.Generic;
使用 System.Linq;
使用 System.Text;
使用 System.Collections.Specialized;
使用 Com.FastSearch.Esp.Search;
使用 Com.FastSearch.Esp.Search.Http;
使用 Com.FastSearch.Esp.Search.Navigation;
使用 Com.FastSearch.Esp.Search.Query;
使用 Com.FastSearch.Esp.Search.Result;
使用 Com.FastSearch.Esp.Search.View;
使用 System.Collections;

命名空间 Conchango
{
     InvokeSimpleFASTQuery
    {
        静态 无效 主(字符串[] args)
        {

            #区域 初始化与快速的沟通
            ISearchFactory searchFactory;

            NameValueCollection nameValueCollection = 新增功能 NameValueCollection();

            nameValueCollection.Add("fastsearchengine", "Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
            nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.QRServers", "fastdemoback:15100");
            nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.RequestMethod", "GET");

            searchFactory = SearchFactory.NewInstance(nameValueCollection);

            ##region endregion 启动查询

            字符串 查询字符串 = "测试";

            查询 查询 = 新增功能 查询(查询字符串);

            查询。SetParameter(BaseParameter.聚类分析, false);
            查询。SetParameter(BaseParameter.导航, true);
            查询。SetParameter(BaseParameter.NAVIGATION_DEEPHITS, 100);

            ISearchView 程序标签;
            程序 = searchFactory.GetSearchView("sharepointconn");

            IQueryResult 结果 = searchView.Search(查询);

            控制台.WriteLine("总搜索的结果: [" + 结果。DocCount + "].");

            int docCounter = 0;

            同时 (docCounter < 结果。DocCount)
            {

                docCounter    ;

                IDocumentSummary thisDocSummary = 结果。GetDocument(docCounter);

                控制台.WriteLine("[" + docCounter + "]: " + thisDocSummary.GetSummaryField("url").StringValue);

            } // 同时

            控制台.ReadLine();
            #endregion

        }
    }
}

它会生成以下结果:

图像

</结束>

订阅我的博客.

Technorati 标签: ,