每月檔案: 11 月 2007

你不能打敗 SharePoint 的覆蓋範圍

在最後兩天, 我已經參加了兩次會議,在此期間,我們提出了 SharePoint 專案的結果. 首席資訊官和他的團隊加入第一次會議. 這是標準並不特別值得注意. IT 部門是明顯是涉及在企業範圍內部署的任何技術專案. 第二次會議擴大到包括 V.P. 從市場行銷, 幾個董事代表 HR, 物流, 製造業, 資本專案, 品質, 購買, 企業的發展和其他部門 (其中一些人不在目前階段甚至直接涉及). 這就是強大廣泛的受眾.

在我以前的生活, 我主要從事的 ERP 和 CRM 專案. 他們都有一個相當廣泛的解決方案域但不是與 SharePoint 一樣寬. 要充分實現, SharePoint 專案合法和一定達到融入組織的每一個角落. 多少其他企業解決方案都有那種到達? 不是很多.

SharePoint 顯然是巨大的機遇,對於我們有幸能在這空間. 它提供了一個很大的技術機會 (其中以某種方式開啟了它的頭 在這裡 根據"技術你必須掌握"). 但更好, SharePoint 我們暴露在廣泛和寬範圍的業務流程,通過這些服務. 多少的 CRM 專家工作與製造方面的公司? 多少的 ERP 顧問工作與人力資源人才採集? SharePoint 超過他們兩個.

像什麼, 它並不完美, 但它是享受這個美好的地方.

愛 [填寫您最愛的人/高正], 不要更改標題’ 網站欄.

關於 SharePoint 論壇, 有人偶爾會問起"更改標題的標籤" 關於"從或刪除標題清單".

底線: 不這樣做!

不幸的是, 使用者介面允許單向的列標籤,如圖所示的變化:

圖像

標題是"項關聯的列" 內容類型. 很多, 很多, 許多 CT 的使用此列,如果您在此處更改它, 它的漣漪出無處不在. 有是一個好機會,你不是有意這樣的事情發生. 你也許是對自己的思維, "我有一個自訂查找清單和 ' 標題’ 只是沒道理作為列名稱, 所以我要將其更改為狀態碼’ 然後添加一個描述列。" 但如果你堅持這種想法和重命名 ' 標題’ 向狀態碼, 每個清單標題 (包括文件庫) 對"狀態碼的更改" 和你大概 不想讓這種情況發生.

真正的問題是這是一個單向的變化. 知道的 UI"" 標題"" 是一個保留的字. 所以, 如果你試著更改"狀態碼" 返回到"標題", 它會阻止你和你現在 把自己塗成一個角落 使用永不干燥的油漆🙂

如果您已經更改了它所以會發生什麼? 我還沒見過我們所有想要的答案, 這是一種簡單和容易的方法,以標籤更改為標題. 馬上, 最好的建議是要將其更改為類似于"Doc/專案標題". 這就是足夠一般的標籤,不可能為您的使用者太刺耳.

我有幾個其他的想法,都在研究的事情我待辦事項清單:

  • 與 Microsoft 聯繫.
  • 做些與物件模型, 也許在與功能結合.
  • 找出資料庫架構和手動更新 SQL. (您應該與 Microsoft 聯繫之前雖然這樣做; 它有可能將使您的支援合同無效).

如果有誰知道如何解決這個問題, 請張貼評論.

下午晚些時候更新, 11/15: 我發現這個連結的描述用於創建不具有標題列的清單的類型的方法: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF 和你的朋友, CDATA

我注意到有些尷尬和不必要的手-編碼 RdbCommandText 在一些例子中的 (包括 MSDN 文檔).

我想指出到新人到 BDC 命令可以將包裝在 CDATA 標記在其"自然裡面" 表單. 所以, 這尷尬的建築:

<屬性 名稱="RdbCommandText" 類型="System.String">
選擇 dbo。MCRS_SETTLEMENT.id, dbo。MCRS_SETTLEMENT.settlement 從 dbo。MCRS_SETTLEMENT
在哪裡 (id &gt;@MinId =) 和 (id &這是;= @MaxId)
</屬性>

可以更好地表示這種方式:

<屬性 名稱="RdbCommandText" 類型="System.String">
<![CDATA[
選擇 dbo。MCRS_SETTLEMENT.id, dbo。MCRS_SETTLEMENT.settlement 從 dbo。MCRS_SETTLEMENT
在哪裡 (id >@MinId =) 和 (id <@MaxId =)
]]>
</屬性>

</結束>

BDC 底漆

BDC 簡介

功能示例: 連接到 SQL 資料庫與嵌入的使用者 id 和密碼的 BDC ADF

我需要到 SQL 資料庫通過 BDC 接通苔蘚. 為測試/POC 目的, 我想要在 ADF 中嵌入的 SQL 帳戶使用者 id 和密碼. 從開始 此範本 (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), 我創建了 ADF,連接到特定的 SQL server 實例,並使用一個特定的使用者 id 和密碼登錄和代碼片斷所示:

  <LobSystemInstances>
    <LobSystemInstance 名稱="ClaimsInstance">
      <屬性>
        <屬性 名稱="AuthenticationMode" 類型="System.String">直通</屬性>
        <屬性 名稱="DatabaseAccessProvider" 類型="System.String">SqlServer</屬性>
        <屬性 名稱="RdbConnection 資料來源" 類型="System.String">實際 serveractual 實例</屬性>
        <屬性 名稱="RdbConnection 初始目錄" 類型="System.String">實際的初始目錄</屬性>
        <屬性 名稱="RdbConnection 集成安全性" 類型="System.String">SSPI</屬性>
        <屬性 名稱="RdbConnection 池" 類型="System.String">false</屬性>

        <!-- 這些都是索引碼: -->
        <屬性 名稱="RdbConnection 使用者 ID" 類型="System.String">暗訪的使用者 ID</屬性>
        <屬性 名稱="RdbConnection 密碼" 類型="System.String">實際的密碼</屬性>
        <屬性 名稱="RdbConnection Trusted_Connection" 類型="System.String">false</屬性>

      </屬性>
    </LobSystemInstance>
  </LobSystemInstances>

它不是一種最佳做法, 但它是有用的快速和簡單的配置來測試. 這是出奇地難以弄清楚. 我從來沒有發現一個帶有搜索關鍵字的功能示例:

  • adf 嵌入的使用者 id 和密碼
  • 在 adf 中嵌入的使用者 id 和密碼
  • 在 adf bdc 中嵌入的使用者 id 和密碼
  • sharepoint bdc 底漆
  • sharepoint 在 adf 中嵌入的使用者 id 和密碼

</結束>

訂閱我的博客.

SPD 的自訂工作流操作 — 字串操作的增強功能

大約一周前, 我開始了一個 codeplex 專案,提供一種將自訂操作功能添加到工作流設計器 SharePoit 的簡單和合理通用的方法. 它被描述在這裡: http://www.codeplex.com/spdwfextensions. 除了簡單地提供一個框架, 它還旨在提供一套有用的功能,將會使 SPD 更有用/靈活/強大.

這裡是當前計畫的功能版本 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

如果任何人有任何興趣在此專案中, 請留下評論或開始/添加到這裡討論: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

下面是當前的已編碼的功能集 (雖然不完全測試的作為 11/08/07):

函數 說明 (如果不相同.net 函數,)
Num 條目() 返回數位的"條目" 根據指定的分隔符號分隔的字串中.

舉個例子: 在一個字串中的 Num 條目",b,c" 帶分隔符號"," = 3.

條目() 根據指定的分隔符號分隔的字串中返回的第 n 個標記.
長度 String.Length
替換() String.Replace()
包含() String.Contains()
返回"true 一詞" 或者"false"一詞.
子字串(啟動) String.Substring(啟動)
子字串(啟動,結束) String.Substring(啟動,結束)
ToUpper() String.ToUpper()
String.tolower() String.ToLower()
StartsWith() String.StartsWith()
返回"true 一詞" 或者"false"一詞.
EndsWith() String.EndsWith()
返回"true 一詞" 或者"false"一詞.

快速 & 簡單 url 編碼桌面實用程式

我一直需要到 url-進行某些字串編碼這周和拼湊了一個一個小的實用程式,我還以為我會放 SkyDrive 為社會.

讓這裡的二進位: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

讓這裡的 visual studio 解決方案: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

這裡是一個螢幕擷取畫面:

圖像

快速和容易: XSLT 資料檢視 web 部件中嵌入超連結

更新 (01/17/08): 這篇博客談更多超連結 XSL 善良: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

概述和目標: 我已經創建了一個簡單的橫條圖,作為儀表板上的元件. 我會保存詳細資訊構建圖表的另一篇文章, 但不是我發明的技術 (也不是問號, 對於那件事). 原來有一個 bug,在圖表中,而我固定的, 我藉此機會將一些標籤轉換成指著背後的圖基礎清單的超連結. 舉個例子, 有了一個標籤值與"封存". 我想要變成超連結的標籤,以便使用者可以點擊它,深入查看其狀態的值是"持有"清單中的特定條目.

步驟:

  1. 使用 visual studio 為 sharepoint 意識到智慧感知.
  2. 複製到 visual studio 中的 DVWP 的 XSLT (創建一個空白的專案, 向專案中添加一個 XSL 檔).
  3. 複製您想要使用到剪貼簿的連結.
  4. 將它粘貼到在 XSL 中的正確位置.
  5. 轉換從查詢字串的 URL 參數分隔符號"&" 到"&amp;"
  6. Url 編碼的各個參數.
  7. 包裝裡面那 <a href…> </一>

示例:

我有一個 URL:

http://[伺服器]/[網站]/Lists/Open Positions/AllItems.aspx?視圖 ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = 招聘人員&FilterValue1 = 舉行

轉換成:

     < href="Lists/Open Positions/AllItems.aspx?視圖 = {84eea2f5-121B-40B7-946F-
0FA704A1DAA1 %7 d&amp;FilterField1 = 招聘人員&amp;FilterValue1 = 舉行"> 舉行: </>

我手動改變了從第一個參數:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

自:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d

(在這, 左大括弧轉換到 { 和結束大括弧轉換至 %7 d)

第二和第三個參數’ 參數 ("FilterField1 =招聘人員" 和"FilterValue1 =舉行" 分別) 不需要是 url 編碼的因為它們不包含任何不安全的字元.

備註:

這種技術一般應工作任何地方你想要在哪裡該超連結包含 url 參數如 XSLT 中嵌入超連結:

http://[伺服器]/[網站]/Lists/Open Positions/AllItems.aspx?視圖 ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = 招聘人員&FilterValue1 = 舉行

我有 URL 本身所訪問的自訂清單和手動篩選在狀態列上 (標記"招聘人員" 以上).

快速和簡單: 啟用設計師 SharePoint 工作流,以更新 InfoPath 表單

方案: 我有一個 InfoPath 表單,前端使用 SharePoint 設計器來實現工作流過程. 在一個點, 經理必須批准形式. 既然不能指望工作流歷史記錄,以滿足我審核要求, 我決定我自己的審核消息存儲直接在表單本身上.

概述:

設計表單並將其作為發佈 內容類型 和表單本身到文件庫. 馬克所需表單欄位作為更新從青苔. 表單綁的內容類型和內容類型"附加" 表單庫 (或多, 如果需要幫助,). 寫一個工作流,更新的欄位.

具體步驟:

  1. 創建文件庫. 這將舉行你 InfoPath 範本.
  2. 創建表單庫.
  3. 創建 InfoPath 表單. 包含一個文字欄位, "審核消息".
  4. 作為內容類型發佈表單 (不是文檔).
  5. 同時填寫發佈對話方塊:
    一) .Xsn 檔保存到文件庫 (一步 #1).
    b) 發佈的"審核消息" 欄位,並將標記真實: "允許使用者編輯此欄位中的資料,通過使用資料表或屬性頁".
    c) 創建新的內容類型,並給它一個適當的名稱.
  6. 訪問表單庫.
    一) 轉到其先進的設置並啟用要管理內容類型的表單庫.
    b) 選擇新創建的內容類型 (5c 以上). 它將在"Microsoft InfoPath 下分組" (或類似).
    c) 刪除預設的"表單" 圖書館的內容類型.
    d) 標記要"頁顯示為 web 頁的庫" 這樣,表單將推出從 SharePoint 和不在 InfoPath 工作站用戶端.
  7. 回到正確的表單庫,然後按一下"新建" 只是驗證所需的表單是正確過帳和代理.
  8. 火了 SharePoint 設計器,然後導航到網站承載您的表單庫 (從步驟 2).
  9. 創建新的工作流附加到表單庫.
  10. 添加單個操作"在當前專案中設置欄位". 你應該期望 SharePoint 設計器向清單中你就是你的領域, "審核消息". 將它分配一個值.
  11. 按一下完成,返回到表單庫.
  12. 創建一個新表單和一些測試的值放入"審核消息" 欄位.
  13. 將其保存並返回到表單庫.
  14. 用滑鼠右鍵按一下, 選擇"工作流" 和您的工作流的啟動.
  15. 它應該幾乎立即運行. 拉起表單 (從步驟 12) 如果所有已經計畫, "審核消息" 已分配您在步驟中提供的任何值 10.

備註:

並非所有控制項都可以都配置為此雙向通信. 舉個例子, 它似乎並不執行修改文字欄位重複節包裹的 SPD 工作流.

其中一個關鍵去的這裡的是我們真的已經創建的內容類型與關聯的範本. 這也使我們能夠在相同的表單庫中存儲多個 InfoPath 表單範本.

這就要求表單伺服器. 它最肯定不去工作在 WSS 3.0 環境,甚至可能需要企業 SharePoint 環境.

小獵犬號登陸了 (10 月 2007 問題)

(這是實際上有點老新聞, 但我最喜歡的消防局作為座右銘宣告, "亡羊補牢").

看看這裡: http://www.sharepointbeagle.com/

如果你不是已經, be sure to sign up.

答案是肯定的, be sure to read 我的文章 關於真實世界的 SharePoint 專案 (包括需求定義, KPI 的, 內容類型, 儀表板和更多) 以及 my colleague’s 篇文章的內容查詢 web 部件.

There’s lot of other good stuff too.

如何刪除 “查看所有網站內容” 連結

有人問我這個問題幾乎每個星期, 通常在安全討論. 管理員/網站建立者已設置一個網站, 配置的安全, 被安排的 web 部件和自訂快速啟動向最終使用者提供的選項,所以完美集. 但, 外框, 您不能刪除"查看所有網站內容" 連結.

馬克瓦格納提供了答案 在這裡 (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). 在兩個層面上,他撰寫太棒了. 它提供了對這個問題的答案, "如何刪除查看所有網站內容" 連結? 然後, 它回答的立即的後續問題: 如何方便地啟用所有網站內容都連結在網站的網站的基礎的視圖?

作為獎金: 他的做法適合 WSS, 不只是苔蘚.

</結束>

訂閱我的博客!