每月檔案: 10 月 2007

SharePoint 設計器 — 執行使用者定義的 C# 函數的自訂活動

更新: 這在這裡已發放到 CodePlex: http://www.codeplex.com/spdwfextensions

更新: 在這裡看到的最新版本說明: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

更新: 在這裡看到的商業化這一專案的思考: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

這個專案提供了在 SharePoint 設計器中的自訂活動. 使用此自訂活動調用 (調度) 你納入連結程式集任何 C# 函數.

從 10 月下旬起, 2007, 這只是專案的初始版本. 我打算擴大它與大量的附加功能, 包括的子字串, 索引, 替換, 調用 web 服務和任何看上去有用或有趣的東西. 我還打算把它張貼到 codeplex 一旦我對我的行為在一起那前面. 這也將是作為一種解決方案在某些點部署.

如果您有任何意見, 問題或建議, 請在評論中留下他們或電子郵件通知我.

免責聲明:

我讓絕對沒有要求以這為任何目的的適用性. 使用您自擔風險.

安裝步驟 (為伺服器場中的每個 WFE 遵循):

1. 下載.zip 和提取.

2. 到 gac 中安裝.DLL 檔案. 我通常打開 c:\windowsassembly 使用 windows 資源管理器和複製它那裡.

3. 修改 web.config 要將程式集添加到安全控制項:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<大會 authorizedType ="SpdGenericInterface, 版本 = 1.0.0.0, 文化 = 中性, Publickeytoken) = abe076fd8125f3c4" Namespace ="Nivlag" TypeName ="*" 授權 ="True" />

4. 複製"SpdGenericInterface.actions" 到 C:\程式必須使用 Sharedweb 伺服器 extensions12TEMPLATE1033Workflow

請注意上述地點是特定于英語語言安裝.

5. 關閉 SharePoint 設計器 (如果已經打開).

6. iisreset

7. 打開 SPD 並創建新的工作流.

如果一切進展順利, 你應該得到的報酬與一類新的行動:

圖像

備註:

請參閱 在這裡 (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) 對於創建的過程很棒概述, 安裝和配置一個像這樣的解決方案.

.Zip 旨在直接向您提取:\ 磁碟機. 如果你這樣做, 您可以打開該專案和所有路徑都將保持一致.

在 visual studio 中使用此, 您可能需要安裝"Windows WF 為擴展".

初始上載包含只是一個"調度程式功能", "ToLower()". 若要添加更多的功能, 將它添加到的 Execute 方法,如圖所示:

 受保護 重寫 ActivityExecutionStatus
          執行(ActivityExecutionCoNtext executionCoNtext)
        {

            字串 functionToDispatch;
            functionToDispatch = .DispatchFunction.ToLower();

            開關 (functionToDispatch)
            {
                案例 "tolower()":
                    {
                        .OutResult1 = .InParam1.ToLower();
                        休息;
                    }

                預設:
                    {
                        .OutResult1 = "未知的函數: [" + .DispatchFunction + "].";
                        休息;
                    }
            }

            返回 ActivityExecutionStatus.關閉;
        } // ActivityExecutionStatus

    }

然後, 重新生成專案並將程式集複製到 gac 中. 我期望 iisreset 將需要.

SPD 工作流的自訂操作 – 獲取 <WorkflowInfo> 標記權利,避免挫折

創建自訂操作為 SharePoint 設計器中涉及到的過程的一部分創建".actions" 檔.

我已經發現並試圖使用一個示例範本,作為啟動關閉:

<?xml 版本="1.0" 編碼="utf-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com/sharepoint/">
<
行動 序貫="然後" 並行="">

不過, 那 xmlns 屬性防止我從工作的環境. 我的行為不會顯示在 SPD.

解決方法是去掉 xmlns 屬性, 做 iisreset 和關閉/重新-開 SPD.

快速和簡單: 配置 MOSS 搜索特定的文件庫

請參閱更新 (我) 下面 (11/24/07) 關於 如何配置 Microsoft Office SharePoint 伺服器 2007 索引和搜索爬網網路資料夾

目標: 我想要執行的搜索限制到特定的文件庫. 在此情況下, 文件庫中包含的培訓檔.

步驟:

1. 記錄在文件庫的 URL.

2. 創建一個範圍:

轉到中央行政管理.

SSP 的訪問.

轉到"搜索設置".

向下滾動到範圍部分中,選擇"查看範圍".

創建一個新的範圍. 給它一個名稱和有用的描述.

3. 定義範圍編目規則:

添加一個規則,定義此範圍的文件庫.

選擇"web 位址" "範圍規則類型".

請輸入您的資料夾的名稱 (請參閱 #1 以上).

接受預設值的"包含".

等待更新的範圍 (或手動啟動它).

4. 啟用網站集合中的範圍.

轉到網站集要使用此作用域.

將您的新範圍添加到適當的顯示組或組.

5. 搜索!

在這一點, 你完成. 假設範圍是正確定義, 它將提供範圍下拉欄簡單和高級的搜索和使用該範圍內搜索時, 你就會你期望的結果.

備註:

我寫這篇博客是因為我搜索的簡單範圍安裝程式出現乾燥使用短語喜歡:

  • 在 MOSS 中配置作用域
  • 配置搜尋範圍青苔
  • 在 sharepoint 中的作用域 2007
  • 在 sharepoint 中的作用域
  • 搜索文件庫青苔
  • 作用域底漆青苔

您可以在資料夾上創建一個搜尋範圍, 不只是整個文件庫.

範圍可以被共用跨多個網站集合 (因此, "共用的服務").

你可以在網站集級別本身創建範圍. 不過, 我更喜歡去中央管理,因為我可以從那裡開始爬網. 你不能從該網站集啟動爬網.

更新 (我) 作為的 11/24/07:

凱尚拼湊一篇精彩博文題為 如何配置 Microsoft Office SharePoint 伺服器 2007 索引和搜索爬網網路資料夾 @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Technorati 標籤: , ,

沒有為你的湯! 是思科的 NLB 湯納粹產品?

今天, 我試圖訪問通過 windows 資源管理器中的文件庫. 此文件庫生活裡面包括兩個 WFE 負載平衡通過某種思科 NLB 解決方案系統. (如果網路嚮導告訴我它是什麼, 我將更新這個帖子).

Windows 資源管理器無法連接. 做了一些研究,並最終, 網路嚮導說, WebDAV 被禁用的 / 不受支援 / NLB 尊嚴.

所以, 假設網路嚮導不剛剛告訴我的"散步長下短橋"相當於網路嚮導, 我很納悶 — 沒有 NLB, 由性質, 禁用 WebDAV? 到 SharePoint,我們失去我們 windows 檔資源管理器介面? 是思科 湯納粹?

Web 應用程式的策略, 安全網站和安全修整 — 知道您的配置

(更新 11/29 解釋如何訪問 web 應用程式策略設置通過 UI)

我曾有的那些"為什麼 MOSS 這樣對我????" 今天的時刻. 在結束, 都是我的錯.

我們已走企業 MOSS 專案和我們想要確保"持有人的地方" 所以,沒有使用者可以訪問它,或者看看它的網站. 那很容易:

  1. 轉到網站.
  2. 中斷安全繼承.
  3. 從網站許可權刪除的每個使用者/組.

上述應留下只是網站集管理員許可權,請參閱本網站.

如果其他人登出, 他們應該不再看到這個網站,它應該安全修剪從所有常去的地方.

但 … 它不是. 在同一時間, 我突然意識到我"使用者 Joe" 沒有上一頁不受限讀取存取許可權的標準使用者測試帳戶具有"網站操作" 無論去哪裡他都選擇. 我雙重檢查一事,雙重檢查別的東西. 拿起電話打電話給一位同事, 但是把它放下,檢查別的東西. 我去散步,然後一切再試遍. 我打電話給一位同事,留個口信. 然後, 最後, 在發現 伊桑的博客, 他開放圖使它很簡單:

苔蘚 2007 一種新功能叫做 Web 應用程式策略嗎. 這些都是被拴在一個 Web 應用程式的安全許可權. 這些安全設置將重寫任何安全設置,在網站集合或網站設置 (Web) 該使用者級別.

Web 應用的政策表明,"NT Authorityauthenticated 使用者快速訪問" 曾被授予完全讀取. 從名單上刪除它們,一切終於開始工作,按預期. 我相信他們由人造成錯誤的印象,那是最好的方法來讀取存取許可權授予在企業中的每個人都添加放在第一位. 它, 但, 向應變報價單, "這並不意味著你認為它是指。"

這種方式訪問 web 應用程式策略:

  1. 轉到中央管理
  2. 選擇應用程式管理
  3. 選擇"Web 應用程式的策略"
  4. 在該螢幕上, 確保選擇正確的 web 應用程式. 對我來說, 它將預設為中央管理這可能不是你想要的 web 應用程式.

當我有這個問題, 我下列短語中搜索的結果,令人驚訝了很少涉及直接説明在這個問題上:

網站操作對所有使用者可見

網站操作對所有使用者可見

網站操作不是安全剪裁

安全 MOSS 網站

moss 安全簡介

Technorati 標籤:

快速和簡單: 在核心的搜尋結果中使用 Fixed 的關鍵字查詢

快速和簡單的說明:

編輯頁並添加搜索核心結果 web 部件.

編輯該 web 部件和擴大"固定關鍵字查詢".

添加固定的關鍵字查詢 (例如:. ContentType:"培訓發票" TrainingInvoiceNumber:1111)

展開結果查詢選項和更改"跨 Web 組件查詢 ID" 為非"使用者查詢的值" (例如:. 「 查詢 2).

備註:

使用核心搜尋結果以這種方式讓我創建一個頁面,顯示從另一個網站集的資訊. 用戶端有兩個主要網站集合: 各部門和產品.

產品網站集合包含, 很自然地, 產品資訊. 網站集合中的每個產品總量的來自多個源的資料.

部門之一, 代碼和測試, 在這種源. 當使用者訪問產品 XYZ, 他們應該直接在 XYZ 主要頁面上看到代碼和測試資料. 自編碼和測試位於另一個網站集合中, 它是有點尷尬. 我們決定使用核心搜尋結果 web 部件,因為搜索跨越網站集. 代碼和測試管理產品資料通過受到特定內容類型的自訂清單. 首先使用自訂清單中的內容類型,然後縮小到單個行搜索的產品編號的 Aa 關鍵字查詢.

上述關鍵字查詢是和. 它返回文檔的內容類型"培訓發票" 和其中的發票編號等於"1111".

這種方法很好受益: 我們可以編輯 XSL,從核心搜尋結果 web 部件和生成任何我們想要的格式.

在這裡看到 (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) 關於這一主題的另一位博主的討論.

</結束>訂閱我的博客.

告訴我有關你的博客!

如果你保持一個至少微連接到 SharePoint 的博客, 請讓我知道在評論. 我想加上你的我 博客清單.

如果你保持一個博客,沒有連接到 SharePoint 但要我添加嗎, 讓我知道. 我將可能會創建一個單獨的博客清單.

請給:

  • 你的博客網址 (很明顯)
  • 你的博客的簡短描述.

我想要保留連結到"活動" 博客, 其中我大致定義作為一個員額及每週最少三個月大. 如果你不能滿足這一要求"" 無論如何將您的姓名添加到評論. 它具有 * 我 * 列出所以我可以打破我自己的規則,如果我想.

謝謝!

員工培訓計畫和材料範本 — 在範本中的減量 bug

用戶端發現一個 bug 今天與上述範本.

課程經理創建課程. 當創建課程, 管理器指定最多可用座位數.

該範本提供自助服務報名. 我註冊和工作流附加到註冊清單遞減"可用座位" 與該課程相關聯.

個人也可能登出從一門課程. Bug 就在這裡. 從課程登出並不增加可用座位計數器. 作為一個結果, 座位是不准確的. 這個 bug 雪上加霜的事實,當可用座位遞減為零, 沒有更多的自助註冊被允許.

所幸的是, 微軟為這一進程提供工作流. 甚至更好, 它是通過 SharePoint 設計器創建一個直截了當工作流.

這些高級別步驟來修復它:

  1. SDP 點燃.
  2. 基於關閉訓練範本的網站的訪問.
  3. 訪問"出席者登出" 工作流.
  4. 插入這些步驟 (使前兩個步驟):
    1. 計算 課程:填充的席位 減號 1 (輸出到 變數:計算機)
    2. (然後) 更新專案 課程

按一下完成,您已完成.

螢幕截圖:


SharePoint 設計器:

圖像

完成工作流:

圖像

計算下鑽:

圖像

在課程中更新專案:

圖像

經常給好消息; 早給壞消息

許多年現在已經一名顧問,並擔任任何經驗豐富的顧問知道, 良好的溝通是一個專案的成功交付的關鍵支柱之一. 它是如此的明顯, 它是真的幾乎無聊談談. 這不是一般的通信篇. 相反, 我正在寫關於通信的陰暗的一面 — 傳達壞消息.

不用說給用戶端的好消息做所有的時間, 盡可能多. 誰不想給好消息? 誰不喜歡聽到的好消息?

另一面, 壞消息一點都不好玩. 總是糾結過這. 在我的職業生涯的早期日子, 我想知道的東西留下了道道一個專案,而不是告訴用戶端, 我會工作更長的時間來試圖解決這個問題. 我會吩咐我的團隊努力工作. 它是一種足夠自然衝動想超人類的努力可以保存一天. 有時這作品, 有時它並不. 即使它"工作" 它往往是喜憂參半. 是的可交付結果真的到規範時關鍵區段品質已在幾個 60 自 80 小時數周?

最佳的方式來處理壞消息是什麼? 答案是: 早告訴. 不要等到一周之前將消耗專案預算. 如果你知道六個星期了,只是沒有足夠的時間來提供一些承諾功能, 就在那時告訴用戶端. 用戶端可能會生氣 (可能會), 可能有罪名和指控,傷害感情. 但, 當情緒降溫, 在該專案上那裡剩仍然六個星期. 六個星期是時間的一塊很好. 還有時間來調整計畫, 更改時程表, 拿到球滾動預算擴展 (祝你好運!) 只是一般來到地上的 「 事實對付" 和制定新的計畫,仍會導致一個成功的專案.

典型的例子: 我的工作專案的特點:

  • T&一個上限"不超過 E 預算" 美元數額.
  • "盡最大努力將作出" 承諾提供 X, Y 和 Z 的專案結束.
  • 缺乏承諾的關鍵資源,在用戶端上. 這些資源不被故意隱瞞, 不為任何壞"" 原因, 但他們被扣.
  • 作為該專案的一種曙光實現通過中途指出,我們不會為了能夠提供"Z" (主要是因為承諾的資源並不實際可用).
  • "氰和常規狀態報表" 支援我們的文檔 (諮詢團隊) 向上.
  • 緊緊地與來自諮詢組織的成員針織實施團隊 (我的公司) 和用戶端.
  • 遙遠的管理團隊, 隱喻和物理意義上說. 管理團隊是側重于另一個大型企業的專案以及由於空間的限制, 實施團隊被安置在校園裡的獨立建築, 下的山和相對較遠的方式,從"文明".

大約六個星期,專案預算上留下的, 我們 (實施團隊) 知道我們是麻煩. 合同說,我們需要提供"Z". 即使專案是時間 & 材料,即使我們只承諾"盡最大努力" 為了提供 Z,甚至儘管我們不得不缺少交付大理由 … 底線是它並不看起來很好 — 我們不會在形狀中會使人感到自豪的品質提供 Z.

認識到這一點, 我們去了管理,並告訴他們專案預算會佔用的某一日期,而我們則在 Z 的麻煩.

迷你風暴爆發在接下來的幾天.

一天 1: 管理團隊中的一次特別會議及其工作人員呼叫 (我們, 顧問公司都沒有被邀請). 列印合同併發放到每個人都和-逐行審查接著而來. 管理人員成員放在防守上. 我不認為這句話 "斯德哥爾摩綜合征" 是 * 其實 * 使用, 但你得到的圖片. 我們是一個緊密的團體, 畢竟, 和工作人員一直與美國顧問每天進進出出的幾個月現在.

一天 2: 管理調用另一工作人員會議. 他們感覺好一點. 他們想要的選項和想法向前. 他們意識到,仍然是當前的專案預算中剩餘的六個星期, 這是仍然體面一點時間. 行動專案之一: 安排與充分執行團隊會議 (包括顧問).

一天 5: 全隊符合, 建設性的會議隨後和一個新的可行計畫投入的地方. 甚至更好, 我們已經開始討論第二階段和用戶端邀請我們準備階段立即建議.

如果我們已經等到仍然是 3 周前剛, 更糟的是, 一個或兩個星期, 本來多不同. 而不是一次建設性的會議,重新調整該專案, 我們將會有被拉出的狀態報表, 解析合同和複習舊的郵件來證明這或那的決定. 我們會有"贏了" 但它真的"贏得" 在這種情況下?

所以, 如果你必須放棄壞消息, 早給它. 給出了遲到的壞消息並不只是壞, 它是一種痛苦.