每月档案: 3 月 2008

确定快速 QRServer 端口

为了通过其 API 的快速搜索与交流, 我们需要知道在其运行 QRServer 的端口.

我跟这些步骤以找到它:

  1. 登录到网站的快速管理 (http://server:port/admin).
  2. 导航到系统概述.
  3. 找到"搜索发送器" 单击星相图标:

    图像

  4. 我成功地使用价值, 15100 对于"信息名称" ="http":

    图像

备注:

1. 端口 15100 似乎是 QRServer 的默认预置的端口号.

2. 使用此代码与以下类似的实例化到快速的连接:

     ISearchFactory searchFactory;
    
        NameValueCollection nameValueCollection = 新增功能 NameValueCollection();
    
        nameValueCollection.Add("fastsearchengine", "Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
        nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.QRServers", "fastdemoback:15102");
        nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.RequestMethod", "GET");
    
        searchFactory = SearchFactory.NewInstance(nameValueCollection);

3. 如果你选一个狂放不正确的端口, 你得到有用的错误消息:

图像

4. 不过, 如果你选上概要列出的端口编号 (15102) 你别那有用的错误消息. 相反, 以后当您尝试访问的任何数据通过搜索或引用一个快速的看法, 你得到一个错误. 调试显示 searchFactory 的视图计数为零. 您可能会收到消息"无法获取搜索视图列表".

</结束>

Technorati 标签:

订阅我的博客.

对 SharePoint 技术设计模式: SharePoint 设计器的工作流 + 事件接收器 = 高浓度鸡尾酒

找到中手工创建 SharePoint 解决方案的新兴模式之一利用 SharePoint 设计器的工作流和事件接收器.

这里是一个业务情形,把它放在上下文:

  • 将文档上载到文档库.
  • 我开球多级使用 SharePoint 设计器创建的工作流.
  • 在这过程中一些点, 工作流将任务分配给某人 (通过从用户那里收集数据,或将一个任务分配).
  • 我们想要使用 KPI 来跟踪多久这项任务正在等待完成. KPI 显示绿色为完成的任务或适当多 3 从现在起天. 它呈黄色,如果任务的截止日期明天或今天. 它显示红色任务是否过期.
  • 出人意料的是: 我想要的驱动器,KPI 假日意识到的日期.

我无法计算假期意识到到期日期在 SharePoint 设计师工作流很容易. 要创建自定义操作或使用第三方工具. 不过, 很容易计算中的事件接收器的日期. 将这两个合并在一起,我们得到这样的图案:

  • 定义隐藏是 / 无上的文档库的网站栏标有"DoCalcualteDueDate".
  • 将它初始化为 false.
  • 在适当的时候在工作流中 (例如:. 只是之前的"收集数据" 行动), 将该值指定为 True.
  • ItemUpdate() 事件接收器看上去看看"DoCalculateDueDate" 是真的. 由于在每次更新上运行的事件接收器, "DoCalculateDueDate" 是通常虚假.
  • 当工作流分配 DoCalculateDueDate 为 true, 事件接收器计算假日意识到到期日期.
  • 当事件接收器没有这种计算, 它设置的 DoCalculateDueDate 标志为 false.

在结束, SPD 工作流向事件接收器通过 DoCalculateDueDate 信号量的沟通,我们有假期意识到由于在工作流的生命完全正确时刻分配的日期. SharePoint 设计器控件时分配的截止日期,但事件接收器执行实际的计算和分配.

</结束>

订阅我的博客.

Technorati 标签: ,

观察到的行为: 移动网站集内的展能就业科工作流

更新: 我一直在研究如何将 SPD 工作流嵌入到网站定义. 这个 MSDN 论坛链有一些有趣的信息. 它不是决定性, 但在丛林路径指向.

我给这篇文章有点古怪"遵守行为" 因为我有点诡异,从中得出的结论. SPD 工作流 … 喜怒无常.

人们常常会问 / 想知道 / 微动在 SPD 工作流从一个地方搬到另一个. 今天, 我遵循了这些步骤,提出这些意见:

  • 我在创建工作流在网站附加到文档库中使用 SharePoint 设计器.
  • 关联的文档库已经安置几个文档.
  • 我作为一个模板保存网站.
  • 当我作为一个模板保存网站, 我保存的内容,以及.
  • 我在同一网站集中使用该模板创建一个新的网站.

在这一点, 我试着运行工作流. 它迅速终止本身与日志消息, "启动时失败".

我预期这. 我有低的期望,当它来到走动 SPD 工作流.

我继续:

  • 在 SharePoint 设计器中打开网站.
  • 聚醚醚酮在工作流. 它看上去不错.
  • 我点击"完成".
  • 我跑了工作流.

这一次, 它能正常工作.

我将添加此工作流用于从用户的"收集数据" 这是一个相对复杂的动作,引擎盖下的行动.

我初步得出这样的结论的过程"整理" 引起 SPD 来正确地与新的文档库关联的 SPD 工作流的工作流. 我也得出结论 XOML 和其他 XML 工件是合理的"宽松". 他们未超紧密耦合到文档库.

是什么意思? 假设它一个可靠,重现性好的过程, 还有至少一个粗糙的方法,我们可以使用来移动它们. 我不知道是否这会工作如果我们越过站点集合边界或甚至更猛烈地, 整个新的农场 (例如:. 到阶段督促 dev).

如果你正在读这篇和倾斜, 请发表评论或 电子邮件通知我 你的 SharePoint 设计师移民故事. 我很乐意会更新这个贴子因而提供任何见解.

</结束>

订阅我的博客.

Technorati 标签:

快速和简单: 工作流只更新域

它往往是将状态信息存储在自定义列表,如批准代码应由最终用户永远不会直接操纵非常有用. 这是一个常见的业务场景. 我一直在今年,生成通过 SharePoint 设计师的工作流,然后驱动 Kpi 和一般支持时间关键业务流程的各种状态和提醒日期的项目.

使用网站内容类型 / 要实现此效果的列.

使用状态列所示创建网站内容类型:

图像

请注意"状态 (对于演示)" 在底部的字段.

下一步, 单击要访问的列属性的列名称. 选择"隐藏 (不会出现在窗体中)" 在列设置部分所示:

图像

这从标准编辑/更新窗体中删除字段. 不过, 它是在视图中仍然可用, Kpi, 对象模型和其他任何你想要使用它的地方, 包括 SPD 工作流.

</结束>

订阅我的博客.

Technorati 标签: ,

周日搞笑: “我想这应该是一个富镇”

有点超过三年前, 我妻子和我签署了一项暑期活动为我儿子, 米德兰公园的球员. 这是花了大概三个或四个星期准备一个剧目,然后把它展示给父母的剧团, 朋友和亲戚. 它总是过得很好.

我不知道是否每个人的孩子是这个样子的, 但我的儿子是极不情愿去尝试新的事物. 知道了这一点, 我们把他报名程序. 我们发现,最好及早并经常提醒他这些各种各样的事情. 所以, 为了克服他自然不愿, 我们早告诉他,我们最大的努力声像乐趣, 等. 即使有一个多月宣传活动, 他仍然不相信. 我们迫使他做, 虽然, 与通常的情况是, 他过得很愉快.

第二年的时候周围冷轧, 他再一次说服自己,他不想参与. 但, 我们签署了他和零天, 我把他放下有一天早上,高中在哪里他们练习. 去午饭后去接他的时候, 他是非常兴奋, 所有的微笑,并宣布, "这出戏 平绒兔 和我想要那只兔子". 他花了字面上个月进行 (有时歇斯底里) 有关如何他不想有什么要做公园球员和后的第一天, 他想要成为剧中主角. 我们已经看到这种模式之前.

(更令我们吃惊的, 他怎么会有兔的作用,他 令人惊叹.)

快进几年. 他一直在公园的球员三次现在, 所以他是一位资深的东西. 今年夏天 (2008), 玩家再次启动. 在平均时间, 他终于使我们确信他 真的 不想踢足球,他永远不会喜欢的篮球. 他留下冬末没有课外活动 / 初春. 客户端与谁正在提到他的女儿是在一个叫做舞台右边的程序. 舞台右边是公园的球员的稍贵的版本,它不是在我的小镇, 但毗邻. 完美.

要知道那个小镇是它是凌波的另一个国家的财富. 它在一般情况下有权华尔街和纽约的高频率火车. 它是只是一个富裕的地方. 家庭讨论主题之一就是我们是否应该有移动到那个小镇,而不是我们现在住在哪里. 它是一个更大的城镇, 其学校为孩子们提供更多的程序, 等. 在那个小城镇长大的我的妻子和她的父母住在那里, 所以我们是"挂钩" 尽管没有住在那里. 我个人在不同的情况下,在马萨诸塞州中长大, 所以我没有很多要说关于这期间家庭晚餐谈话. 这并不是说我们不是很高兴我们住的地方. 我们只是知道那个城镇经济是一个水平之上我们的小镇.

舞台右边下期节目我们推行我们正常的广告宣传活动,克服我的儿子不愿太早开始. 这是他做的事情我个人最喜欢反对一上来的时候: "周五晚上是 首相 夜睡眠旁白!" 舞台右边去干扰他周末例会.

有一天,, 我们没有给他带来并除去他关闭,并作为与其他一切, 他自然的爱,只是活着的接手和他一直过好的时光.

这个过去周末我的妻子谈到他与第一次, 我认为他剪裁非常精确地为他的听众他讨论. 她曾问他如何舞台右边比较米德兰公园的球员. 他告诉她,"在公园的球员, 我们已经帮助我们的青少年. 中没有任何在舞台右边. 在公园的球员, 青少年制作所有道具. 在舞台的权利, 我们要把我们自己的道具. 我们要做的一切. 然后他扭曲的刀: "我想这应该是一个富裕的小镇。"

这些年来, 我永远不会真的以为他是听到或了解任何有关"丰富进城". 不过, it turns out he was.

</结束>

订阅我的博客.

Technorati 标签:

SharePoint 不提供日历卷 ups; 可能的解决方案

更新: 匿名的人在评论中贴此链接: http://www.atidan.com/atidan-collaboration-kit.php

论坛用户经常问这样的问题:

"我想要一个日历在站点级别通过从子网站日历事件填充. 理想的情况下, 中子网站的用户将创建日历事件, 并将有选择的将其标记为公众。’ 标记为公共事件将动态地显示在共享的网站日历. 因此共享的网站日历是汇总的所有公共事件从所有子网站日历。"

是 WSS 3.0 或苔藓 2007, 它是不可能直接配置"汇总" 日历. 日历上他们自己的存在, 独立于任何其他日历.

若要创建一个汇总日历, 遵循这些路径之一:

  1. 使用内容查询 Web 部件. 这是最简单的解决方案,为苔藓用户 (WSS 不提供 CQWP). CQWP, 不幸的是, 不提供开箱即用的数据日历视图. 它提供了巨大的渲染灵活性 (在这里看到的一个例子) 但是,默认情况下, 在简单的列表格式显示其结果. 在许多情况下, CQWP 很可能是一个不错的选择.
  2. 一个更面向编程的解决方案会使用事件接收器. 执行事件接收器使其公共事件与主日历同步的子网站日历. 作为一个给定的子网站修改日历, 伸向主日历和根据需要更新它. 此选项是可用两个 WSS 中 3.0 和苔藓.

有可能其他聪明的解决办法这个问题. 如果你有一个或一个知道, 请留下评论或 电子邮件通知我 并将更新到这个帖子.

</结束>

Technorati 标签: ,

订阅我的博客.

创建网站 (SPWeb) 通过 SharePoint 设计师工作流

这篇博客更多的是"在可能的领域" 条目 vs. 具体信息.

我们有一个技术的设计,要求我们要创建一个网站,在网站集通过手动启动工作流进程. 基本上, 用户将数据输入到"新客户" 自定义列表,然后当他们完成并验证数据输入过程, 我们需要为客户创建一个站点.

我是大风扇的声明性工作流,以及一个弱视觉工作室工作流程序员, 所以我想要满足的要求,利用 SharePoint 设计器.

我打算写关于这的更详细 (并希望向用户组或两个在未来一年), 但在这里是整体解决方案:

  • 创建一个自定义的操作,与 SPD 集成.
  • 自定义操作允许 SPD 来调用 web 服务和 XML 字符串传递给它.
  • Web 服务定位该行,并在自定义列表和创建一个新的网站每个数据使用一个自定义站点定义该新客户端.
  • Web 服务然后用一些链接到新的站点的信息更新的自定义列表.

我们考虑过其他的方法, 如事件处理程序和基于视觉工作室工作流程. SPD 方法给我们的最终用户多一点控制过程. 授予, 还有很多在此解决方案中的 C# 代码, 但它包裹里面声明性工作流, 所以我们得到的一些声明性工作流的好处当钩入网站创建服务.

现在我们需要的是一个简单的工具来自动迁移SPD围绕工作流程一样容易,因为我们可以为Visual Studio的工作流程,我们将真正被用气做饭🙂我明白,有些人是那里在这个问题上的工作,我希望他们有一些很好的成功与它很快.

</结束>

订阅我的博客.

Technorati 标签: ,

快速和简单: 提供一个 Web 站点,在 C# 中使用 SharePoint 对象模型

我试着寻找一个小代码段代码表明如何可以在站点集合中创建新的 SPWeb. 我没找到作为很快或很容易,不出所料所以我会在这个问题上耳光在一起的一个小的条目.

此代码创建一个新的 Wiki 网站:

 SPSite siteCollection;

    siteCollection = 新增功能 SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy 标题",
        "xyzzy 描述", 1033, SPWebTemplate.WebTemplateWIKI, false, false);

我最初的搜索失败,因为我一直在寻找像"提供网站使用 sharepoint 对象模型的短语" 等.

如果您 搜索 为"Webs.Add()", 你会发现一些非常有用的博客条目, MSDN 文章和关于这个问题深入的 SDK 文档. 我绝对推荐 此网站.

</结束>

订阅我的博客.

Technorati 标签:

与 Web 服务集成 SharePoint 设计器的工作流

我已经打与 SharePoint 设计器的自定义操作一段时间了 (请看这里 对于一些详细的东西, 如果你有兴趣,).

我当前的项目中, 我们需要做一些相当繁重的工作和我们想要使用声明性 SPD 工作流来管理相关的业务流程.

长话短, 这是完全有可能. 我扩展我 Codeplex 项目来调用"家务助理服务" 现在我们可以调用 web 服务直接从 SPD 工作流.

这里是签名:

 公众 字符串 调度程序(
        Guid WebID, // 通过运行时环境
        Guid SiteID, // 通过运行时环境
        字符串 ListID, // 通过 RTE (不知道为什么这是一个字符串, 没有一个 GUID)
        int ListItemID, // 通过 RTE.
        字符串 XmlMessage) // 通过用户在 SPD 中声明.

这利用了这一事实我们可以获取重要的工作流程的信息, 喜欢的网站, 列表 ID, 等. 这是很好的印证在几个地方那些您感兴趣创建您自己的自定义操作. 这个想法是要提取的 XML 字符串,如用户派遣一个适当的程序提供的. 有趣的东西!

不幸的是, 这显然是一张单程机票降到 "松散左肩" 反模式的土地, but it’s better than hitting a brick wall 🙂

如果你做它,即使你知道它是一种反模式是一种反模式吗?

我希望能在不久的将来把这个包装内 Codeplex. 如果你有兴趣在我这样做, 给我戳 (电子邮件 或留下你的评论) and I’ll be that more enthusiastic about doing it 🙂

</结束>

订阅我的博客.

Technorati 标签: ,

周日搞笑: “我不知道是否您的密码是 …”

最近买午餐给弟弟 (像往常一样) 最后我们谈论有趣的事情,我们做了我们各自的院校. 在我的母校, 拉斐特学院, IT 部门的学术支持了包容性很强的思路. 我们有大量的绳索,我利用了,有时.

两个我最喜欢的记忆涉及到我的好朋友, 加布. 他犯了可怕的错误,告诉他"我是一年级的新生年人, 但是我有大二站" 由于他已采取的各种先进的安置类, 等. 我们很多人都同样位于但我们没有这么多谈论它. 他高中最后一年, 当我们把他介绍给人, 我们会说"这是盖柏. 他是一位高级, 但他有二年级站".

学院有一些 Sun 工作站服务器运行 X 窗口. 他们有巨大的显示器和工程师们将它们用于 CAD 和其他无聊的工程师东西. 我们 CS 人用它们来学习编程和, 答案是肯定的, 玩游戏.

我们不喜欢太多所以我们最喜欢做的事情之一就是 telnet 到框中他们的无助的计算机工程师,并运行 X 眼 对他们. 这将弹出一双眼睛跟随鼠标左右在屏幕. 你可以弹出甚至更多,从字面上有十几个或多个运行的 X 眼应用程序. Try not to laugh out loud when a hapless engineer is trying to close X-eye after X-eye and muttering under his breath about it 🙂

我们也在那些箱子上玩耍 X 迷航. 要做到这一点, 你不得不下载的源代码, 只要你能找到他们,建立它得到各种依赖项. 我不是一个复杂的 C 程序员, 但我可以读头文件. 我正在通过这些,发现像指令"#DEFINE MAX_TORPEDO_DISTANCE 10". 我玩了,增加阶段和鱼雷的射程和火力, 重新生成它,然后摧毁 Gabe 下次我们演奏的.

加布也是一个电视节目叫的超级粉丝 布莱克的 7. 从未见过它, 但这并不妨碍我坚持那博士. 高级显示是谁. The arguments would get heated at times 🙂

一天, 我想到我可能会猜到他的 UNIX 密码. 我有一天在他旁边坐下,高声宣布, "我要去现在猜测您的密码, 加布。" "是的, 权利" 是他的回答. 然后登录, 输入他的用户 id, 转身面对他, 键入并大声地说, "我不知道是否它是 B-L-A-K-E-7" ? 触摸打字了从未丰厚回报一样一样那一天.

下个 星期 (或很快): 更多计算机室滑稽的事从大学.

你有任何要分享吗? 留下评论或电子邮件我,我会将它们发布在这里.

</结束>

订阅我的博客.

Technorati 标签: