如何指定人為搜尋範圍 / 使用 SharePoint 的內容源 2013 其餘的 API

我有理由與 SharePoint 工作 2013 搜索 API 通過第一次休息. 我想要搜索的人, 不是文檔. 主要學習這裡您指定通過其 GUID 的內容源 (或至少在此情況下). 下面的 jQuery 程式碼片段演示如何:

    loadExpertsAsync: 功能() {

        jQuery.support.cors = 真正的;

        $.ajax({
            url: .CreateFullApiUrl() +
                "?querytext = '門戶'&源 id ='b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,技能,懷念,利益,JobTitle,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&rowlimit = 99",
            方法: "獲取",
            標題: { "接受": "應用程式/json; odata = 詳細" },
            快取記憶體: false,
            成功: 功能 (結果) {

以我為例, 我運行了 API 針對 SharePoint 線上. 若要獲取 GUID, 跟隨了這些步驟:

  1. 訪問 SharePoint 管理員中心
  2. 選擇從左側巡覽列的"搜索"
  3. 選擇"管理結果來源"
  4. 選擇"本地人結果"
  5. 看看該 URL.

我的 URL 看起來有點像:

https://xyzzy-admin.sharepoint.com/_layouts/15/searchadmin/EditResultSource.aspx?level=tenant&sourceid=b09a7990%2D05ea%2D4af9%2D81ef%2Dedfab16c4e31&view=1

源 id 參數是什麼為我工作.

(我明白,源 id 實際上可能是永久的事與 SP, 但我會永遠反正檢查🙂 ).

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

示例 SharePoint 其餘部分調用

這裡有一組示例 REST 調用,工作對我來說,也會説明你理解. 作為的 02/2014, 有兩個例子🙂

  1. 引用其名稱中的空格的列
  2. 多項選擇的列的引用
  3. 執行通過 REST 的人民搜索

 

會將添加到此方案隨著時間的推移.

在這裡我也找到了一些有用的油墨:

引用其名稱中的空格的列

我用一個名為"博客作者"列創建自訂清單 (博客與作者之間的空間).

$select 以引用該列是:

image

只需替換"_x0020_"的空間. 我們看到在許多例子中的 _x0020_ 跨互聯網和其他人是沒有什麼不同.

如果你不這麼做, 你可能會像這樣一條錯誤訊息:

運算式 “博客作者” 是不正確.

足夠簡單.

多項選擇查閱列的引用

設置:

  1. 創建自訂清單命名類別.
  2. 添加某些類別. 我難耐添加類別:image
  3. 創建另一個稱為 MockBlog 的自訂清單和添加類別作為多挑選清單列 (或如果這就是你的卷,則網站列).

一些專案添加到 Mockblog 清單和你準備好.

使用 jQuery 的 Ajax 樣式調用將看起來像這樣:

serverUrl   = "/_api/web/清單/GetByTitle('' MockBlog)/專案" +
             "?$選擇 = 標題,類別/標題,Blog_x0020_Author/標題" + 
             "&$擴大 = Blog_x0020_Author,類別";

我們告訴 SharePoint"給我標題的所有類別 (類別/標題). 獲取的實際值 標題$展開ing 類別清單" (我 rest 風格的釋義是可能真的很鬆散, 但這個怎麼我用的).

如果你這麼做通過 JavaScript 和使用的提琴手,看看輸出, 你獲得了一些像這樣回報:

 

image

(以上是一個 JSON 物件)

執行通過 REST 的人民搜索

我在博客上寫這分開. 關鍵是要指定其值為當地人民內容源的 GUID 的源 id 參數. (內容源用於被稱為作用域,它是哦-我使勁不打電話的一切給我的範圍!).

閱讀更多關於它在這裡: http://www.mstechblogs.com/paul/?p=10385

 

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

快速而方便地: 創建使用其餘的 SharePoint 網站

有很多的周圍顯示資源如何執行此操作, 但我找不到一個全面轉到連結, 所以在這裡我們是.

您可以創建使用其他 API 的 SharePoint 網站。  這裡是一個完全被烘烤的示例:

<!--
    SiteRequestForm.html: 收集資訊,並為該使用者創建一個網站.
-->

<中心>
<>
    <tr>
        <運輸署>網站名稱:</運輸署>
        <運輸署><輸入 類型="文本" 名稱="SiteName" id="SiteName" /></運輸署>
    </tr>
    <tr>
        <運輸署 colspan="2">
            <輸入 類型="提交" id="CreateSiteButton" 價值="創建網站" />
        </運輸署>
    </tr>
</>
</中心>

<腳本 src="../Plugins/jquery-1.11.0.min.js"></腳本>

<腳本>
var CreateSiteLogicContainer = {

    createSiteData: {
            "參數": {
                __metadata: { "類型": "SP。WebInfoCreationInformation" },
                Url: "Paultest1",
                標題: "Paultest1",
                說明: "其餘創建 web 由保羅!",
                語言: 1033,
                WebTemplate: "sts",
                UseUniquePermissions: false
            }
    },

    createSite: 功能 () {

        jQuery.support.cors = 真正的;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").瓦爾();
        
        $.ajax({
            url: "HTTPs://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            方法: "開機自檢",

            標題: {
                "接受": "應用程式/json; odata = 詳細",
                "內容類型": "應用程式/json;odata = 詳細",
                "X-RequestDigest": $("# __REQUESTDIGEST").瓦爾()
            },

            資料: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            成功: 功能 () { 警報("成功"); },
            錯誤: 功能 () { 警報("錯誤"); }

        });
    },

    wireUpForm: 功能 () {
        $("#CreateSiteButton").按一下(功能 () {
            警報("努力嘗試,並創建網站。");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</腳本>

當成功時, 你得到一個 JSON 資料包中像這樣的反應:

image

我的主要思想和知識包括從:

  • 此方法使用 jQuery。  以我為例, 我 jQuery 庫位於"....../ 外掛程式."  你會想要更改,使其指向您最喜愛的 JQ 位置.
  • 您可以複製並粘貼到頁面上的內容編輯器 Web 組件的那整個程式碼片段,它應該可以正常。  你會想要改變的 API 呼叫的結束點,請確保您正確地引用 JQ.
  • 該 URL 是相對於您的 API 的終結點。  以我為例, 它創建子網站下方 https://bigapplesharepoint.com
  • 您不需要提供一個內容長度. 一些博客文章和 MSDN 文檔意味著你做, 但對我來說會自動發生, 我猜這是正在處理的 $雖然調用本身.
  • 這條線有需要提供避免"禁忌"的回應: "X-RequestDigest": $("# __REQUESTDIGEST").瓦爾().  還有其他的方法去做, 但這是很好。  提供此快捷方式的博客,我失去了聯繫。  H/T 到你, 神秘的博客!

好運,希望這可以説明一個人出去.

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

克服惱人的問題與 SharePoint 快速啟動中的相對 Url

我想要將連結添加到快速啟動導航那天和 SharePoint 告訴我:

image

純文字版本的是:

確保該 URL 是有效的和開頭也是有效的字元 (數位記號 (#) 或正斜杠 (/)) 或有效支援的協定 (舉個例子, HTTP://’, HTTPs://’, 檔://’, ftp://’, mailto:’, ' 新聞:’).

"Blech 和痘!"我說.

對此的解決方法是使用 JavaScript 在快速啟動中查找已知的連結和重寫其行為.

對此進行測試, 添加新連結到您的測試網站難耐:

image

我使用 jQuery. 要解決這個問題, 得到一些 JavaScript 和 jQuery 拖到頁上使用您喜歡的方法和代碼像這樣的一條線:

 

$(文檔).準備好了( 功能 () {

    $("一:包含(測試 URL 替換)").按一下(功能 () { 警報("更改的按一下行為!"); 返回 false;});

});

鮑勃的你叔叔.

JQuery 選擇器查找每個 <一> 標記在其名稱中包含"測試 URL 替換". 您可能想要查找-曲調,根據您的連結和這種.

筆者(功能() 重寫 SharePoint 將所做的一切當使用者按一下. 請確保您"返回 false",否則它會做你的東西,然後嘗試 href 東西太, 幾乎可以肯定不是你的目標.

這樣做的和在 SharePoint 的線上環境中測試,但應該很好的工作 2010 和早些時候太.

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

快速和簡單: SharePoint 其餘部分調用僅返回 100 記錄

我一直在一個公共的面對 web 網站為在我 SharePoint 實踐 紐約 和它使用大量的 JavaScript 和其餘部分調用來顯示內容.

期間主線發展, 我只是創建具有小的資料集 10 或行中的自訂清單和我的其餘部分電話所以從那裡拉扯了。  一次,我撞了一份名單,有幾個幾百行的資料來測試預期的增長, 我發現自己在確切地 100 返回回上我休息電話行.

這是非常簡單的事到位址。  以我為例 (我相信在大多數情況下), 預設的其餘部分調用到 SharePoint (並可能作為一種工業標準?) 返回 100 行。  若要返回預設的多, 在您的電話上使用 $top 參數, 如在:

得到 /Insights Dev/_api/web/lists/GetByTitle('' MockBlog)/專案?$選擇 = ID,標題,類別/標題,Blog_x0020_Author/標題,DatePublished,BlogSummary&$擴大 = Blog_x0020_Author,類別&$篩選器 =&$頂部 = 9999

我選 9999 在這種情況下因為我知道 growth-wise, 不會有多個 200 或者,所以在一年中,我們已添加到此清單的行。  如果它變得笨拙, 我們可以實現一些分頁在路上.

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

快速和簡單: 解決"無效 URL 參數” UpdateListItems 在 lists.asmx 的問題

當通過 lists.asmx 和 UpdateListItems 一起工作, 很容易地建置錯誤:

不正確 URL 參數.

所提供的 URL 包含無效命令或值. 請再次檢查 URL.

你可以得到此錯誤,當您忘了包括 ID 在要更新的欄位的清單。  這, 像很多這些 SP 的 web 服務, 是有點違反直覺的因為你需要的 ID 屬性中包含的 ID <方法> 元素。  你不更新 ID 和可能永遠不會想在第一次的地方.

此 SOAP 信封工程:

<soapenv:信封 xmlns:soapenv =' HTTP://schemas.xmlsoap.org/soap/envelope/'>
  <soapenv:正文>                      
    <UpdateListItems xmlns =' HTTP://schemas.microsoft.com/sharepoint/soap/'>                     
      <listName>{C712E2EA-54E1-47AD-9D99-1848C7773E2F}</listName>                     
        <更新>                     
         <批次處理 OnError ="繼續">
          <方法 ID ="1" Cmd ="更新">
            <欄位名稱 ="CooperativeLock">鎖定!</欄位>
            <欄位名稱 ="ID">1</欄位>
          </方法>
        </批次處理>                     
        </更新>                
      </UpdateListItems>             
  </soapenv:正文>         
</soapenv:信封>

如果你帶出來的 ID 欄位引用然後你會令人討厭的"無效 URL 參數"消息.

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

 

可憐的人在 JavaScript 中的緩存

[TL;博士版本: 使用 cookie 來存儲非同步調用的結果; 立即呈現過去非同步調用的結果,然後在頁面載入後驗證它們。]

我一直在 SharePoint 的內聯網網站為用戶端的功能, 除其他事項外, 程式化的二級導航功能表選項都通過週期性老自訂清單管理。  想法是在用戶端獲取,不影響或受影響,由它推出的全球導航控制"他們的"網站的功能表.

(有件事令人難以置信顛覆有關添加指向一個 HTML 檔案,載入一些 CSS 和 JS,從根本上改變幾乎一切有關網站的行為......,但那是另一篇文章為 CEWP)

這個漂亮的簡單的代碼:

痛點在這裡是每次有人點擊該網站的頁面之一, 該使用者的 web 瀏覽器中伸出來獲取清單中的項。  一旦開發完成並測試已被證明是穩定和完整的東西, 此調用是不必要的多 99% 因為功能表中很少發生變化的時間。  它也有一個很奇怪的 UI 影響這是共同的在這個勇敢新世界超 ajaxy web 網站的 — — 頁上呈現,並只然後不會呈現在功能表。  它是緊張不安,我認為讓人分心。  和抖動. 所以, 緩存。 

我修改邏輯難耐:

  • 查找包含功能表中,如我上次讀取它的瀏覽器中的 cookie
    • 如果發現, 立即呈現它。  不要等待頁面完成載入。  (你需要確保你的 HTML 擺放在這裡, 但它並不難做).
  • 等待頁面完成載入,並進行非同步調用以載入了功能表項目從清單中使用休息或 lists.asmx 或不管
  • 比較我對 cookie
    • 如果它與匹配, 停止
    • 否則, 使用 jQuery 的, 如果動態填充一群 <李>中 <ul>
  • 使用 CSS 來做的所有格式
  • 利潤!

你們中的一些會說, "嘿! 沒有真正緩存會在這裡因為你反正讀功能表中 每一次.”  你說得對 — — 我不會給伺服器任何種類的斷裂。  但因為該調用是非同步和頁面的初始後會發生完全呈現 HTML 有效載荷, "感覺"更能回應使用者。  功能表中呈現漂亮一樣頁上繪製。  如果功能表中發生了變化, 使用者因此而遭受抖動重新繪製功能表, 但僅此一次.

有一些方法可以使此緩存功能更加有效和伺服器在同一時間幫忙:

  • 在"cookie 緩存"是有效的最低限度的規則中 24 小時或一些其他時限. 只要沒有過期的 cookie, 使用 cookie 的功能表快照和從來沒打伺服器.

哦那是所有現在我想說 :). 

如果任何人有任何聰明的想法在這裡我想要知道他們.

最後 — — 這種技術可以用於其他的東西。  此客戶機的頁的各種頁面都有一些資料驅動的事情, 其中許多不斷變化的相對較少 (像每週或每月一次).  如果您針對特定地區的功能, 您可以從本地 cookie 存儲拉內容並立即呈現給回應更快的使用者介面。  感覺速度更快,使用者即使不保存在伺服器任何週期。  你 可以 通過一些條件和觸發器決定廢除此 cookie 本機快取保存伺服器週期。  這就是所有情景和富有藝術氣息的東西和真正最大的樂趣 :). 

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

如何: 配置單元測試和測試覆蓋率與 QUnit.js 和 Blanket.js 辦公室 365 SharePoint 應用程式

簡介

我都一直在探索單元測試和測試覆蓋率的 JavaScript 作為我為 SharePoint 線上在辦公室工作一個新的 SharePoint 應用程式 365 套房。  明顯的研究路徑帶我去 Qunit.js 在那之後的權利, 自 Blanket.js.

QUnit 讓我設置了單元測試,並將其組合為模組。  一個模組只是簡單方式組織相關的測試. (我用它作為不肯定, 但它為我工作到目前為止與迄今定義了的測試的小集).

Blanket.js 與 Qunit 集成,它將顯示我的實際行的 JavaScript 是 — — 和更重要的是 — — 不實際執行過程中運行測試。  這是"覆蓋"— — 執行的行測試覆蓋的,有些則不.

設置好的測試案例和查看覆蓋範圍之間, 我們可以減少我們的代碼已隱藏缺陷的風險。  好的時候.

Qunit

假設你有你的 Visual Studio 專案設置, 通過下載從 JavaScript 包開始 http://qunitjs.com.  向解決方案中添加的 JavaScript 和 CSS 相應。  我的看起來像這樣:

image

圖 1

如您所見, 我正在使用 1.13.0 當時我寫了這篇博客. 別忘了下載和添加的 CSS 檔.

這讓開, 下一步是創建某些種類的測試控管和參考的 Qunit 位。  我在一個叫"QuizUtil.js",所以,創造了一個叫"QuizUtil_test.html",如圖所示的 HTML 頁面的指令檔中測試一堆函數:

image 圖 2

下面是代碼:

<!DOCTYPE html>
<html xmlns="HTTP://www.w3.org/ 1999/xhtml">
<>
    <標題>QuizUtil 試驗與 Qunit</標題>
    <連結 區域快線="樣式表" href="../CSS/qunit-1.13.0.css" />
    <腳本 類型="文本/javascript" src="QuizUtil.js" 資料覆蓋></腳本>
    <腳本類型 ="文本 javascript" src ="qunit 1.13.0.js"></腳本>
    <腳本類型 ="文本 javascript" src ="blanket.min.js"></腳本>

    <腳本>
        模組("getIDFromLookup");
        測試("QuizUtil getIDFromLookupField", 功能 () {
            var goodValue = "1;#保羅 · 高爾文";

            平等(getIDFromLookupField(goodValue) + 1, 2), "ID 的 [" + goodValue + "] + 1 應該是 2";
            平等(getIDFromLookupField(未定義), 未定義, "未定義輸入的參數應返回未定義的結果。");
            平等(getIDFromLookupField(""), 未定義, "空輸入的參數應返回未定義的值。");
            平等(getIDFromLookupField("gobbledigood3-thq;dkvn ada;skfja sdjfbvubvqrubqer0873407t534piutheqw;vn"), 未定義,"應始終返回結果可轉換為整數");
            平等(getIDFromLookupField("2;#一些其他人"), "2", "檢查 [2;#一些其他人].");
            平等(getIDFromLookupField("9834524;#長整型值"), "9834524", "大值測試。");
            notEqual(getIDFromLookupField("5;#任何人", 6), 6, "測試 notEqual (5 不等於 6 對於此示例: [5;#任何人]");

        });

        模組("htmlEscape");
        測試("QuizUtil htmlEscape()", 功能 () {
            平等(htmlEscape("<"), "&這是;", "逃離小於運算子 ('<')");
            平等(htmlEscape("<div 類 = "someclass">一些文本</div>"), "&這是;div 類 =&quot;此處將有機可乘&quot;&gt;一些文本&這是;/div&gt;", "更複雜的測試字串。");
        });

        模組("getDateAsCaml");
        測試("QuizUtil getDateAsCaml()", 功能 () {
            平等(getDateAsCaml(新增功能 日期("2013/12/31")), "2013年-12-31T:00:00:00", "測試硬式編碼日期: [12/31/2013]");
            平等(getDateAsCaml(新增功能 日期("01/05/2014")), "2014年-01-05T:00:00:00", "測試硬式編碼日期: [01/05/2014]");
            平等(getDateAsCaml(新增功能 日期("01/31/2014")), "2014年-01-31T:00:00:00", "測試硬式編碼日期: [01/31/2014]");
            平等(getTodayAsCaml(), getDateAsCaml(新增功能 日期()), "getTodayAsCaml() 應等於 getDateAsCaml(新的日期())");
            平等(getDateAsCaml("一派胡言價值"), 未定義, "嘗試獲取一個廢話值的日期。");
            平等(getDateAsCaml(未定義), 未定義, "嘗試獲取的日期 [未定義] 日期。");
        });

        模組("getParameterByName");
        測試("QuizUtil getParameterByName (從查詢字串)", 功能 () {
            平等(getParameterByName(未定義), 未定義, "嘗試獲取未定義的參數應返回未定義。");
            平等(getParameterByName("不存在"), 未定義, "嘗試獲取參數值,當我們知道該參數不存在。");

        });

        模組("Cookie");
        測試("QuizUtil 各種 cookie 功能。", 功能 () {
            平等(setCookie("測試", "1", -1), getCookieValue("測試"), "讓我設置一個 cookie 應該工作。");
            平等(setCookie("anycookie", "1", -1), 真正的, "設置有效的烹飪應返回 '真正的'。");
            平等(setCookie("瘋狂的 cookie 名稱 !@#$%"%\^&*(()?/><.,", "1", -1), 真正的, "設置壞 cookie 的名稱應返回 false。");
            平等(setCookie(未定義, "1", -1), 未定義, "傳遞作為該 cookie 的名稱未定義。");
            平等(getCookieValue("不存在"), "", "Cookie 不存在測試。");
        });

    </腳本>
</>
<正文>
    <div id="qunit"></div>
    <div id="qunit 夾具"></div>

</正文>
</html>

有幾個這裡發生的事:

  1. 引用我的代碼 (QuizUtil.js)
  2. 引用 Qunity.js
  3. 定義某些模組 (getIDFromLookup, 餅乾, 和其他人)
  4. 放置 <div> 其 ID 是"qunit".

然後, 我只是把這頁和你這樣的東西:

image

圖 3

如果你看的頂部, 你有幾個選項, 其中兩個是有趣:

  • 隱藏通過的測試: 很明顯。  可以説明您的眼睛只看到問題的範圍和不多的雜波.
  • 模組: (下拉清單): 這將篩選到測試你想要的只是那些組測試.

至於測試本身 — — 幾個評論:

  • 不用說您需要編寫代碼,它是可測試的放在第一位。  使用該工具可以説明執行的紀律. 例如, 我有一個稱為"getTodayAsCaml 函數()”.  這並不是非常可測試因為它需要沒有輸入的參數,並測試是否相等, 我們將需要不斷更新的測試代碼,以反映當前的日期。  我重構它通過添加資料輸入的參數,然後傳遞時我想今天的日期加楓格式的當前日期.
  • 它看起來非常堅固和 Qunit 框架檔自行測試。  它可以做簡單的事情,像相等性測試,並還提供了對支援 ajax 樣式調用 ("真正"或嘲笑使用您最喜愛的褻).
  • 經歷過程也會迫使你想通過邊緣情況 — — 發生了什麼"未定義"或 null 傳遞到一個函數。  它使死了簡單的測試了這些方案。  好的東西.

覆蓋面 Blanket.js

Blanket.js 是 Qunit 補充通過跟蹤代碼的執行過程中運行測試的實際行數。  它集成右 Qunit 即使它是整個單獨的應用程式, 它很好地扮演 — — 它看起來真的像它是一個無縫的應用程式.

這是 blanket.js 在行動:

image 圖 4

image

圖 5

(你實際上必須按一下頂部的"啟用覆蓋範圍"核取方塊 [見圖 3] 要啟用此功能。)

在圖中突出顯示的行 5 我的測試中的任何沒有執行過, 所以我需要設計一種測試不會導致他們能夠執行如果我想要全覆蓋.

獲取 blanket.js 工作按照下面的步驟:

  1. 它從下載 http://blanketjs.org/.
  2. 將它添加到您的專案
  3. 更新您的測試線束頁 (在我的案子中 QuizUtil_test.html) 如下所示:
    1. 引用的代碼
    2. 裝飾你 <腳本> 像這樣的引用:
    <腳本 類型="文本/javascript" src="QuizUtil.js" 資料覆蓋></腳本>

Blanket.js 拾取"的資料覆蓋"屬性並不會它的魔力。  它的掛接 Qunit, 更新的使用者介面,若要添加"啟用覆蓋範圍"選項和瞧!

摘要 (TL; 博士)

使用 Qunit 來編寫測試案例.

  • 下載
  • 將它添加到您的專案
  • 寫測試線束頁
  • 創建您的測試
    • 重構您的代碼可測試的一些
    • 有創意!  瘋狂的想, 不可能的情況下,無論如何進行測試.

使用 blanket.js,以確保覆蓋範圍

  • 確保工作 Qunit
  • 下載 blanket.js 並將其添加到您的專案
  • 將它添加到您的測試線束頁:
    • 將引用添加到 blanket.js
    • "資料-蓋"將屬性添加到您 <腳本> 標記
  • 運行 Qunit 測試.

我從來沒有做之前,有一些基本的東西,在少數幾個小時的工作。 

幸福測試!

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

最後一套衣服你會穿?

[快速注意 — — 這是一份工作,我在紐約的小組開放很長時間開機,您需要住在三州地區,如果你有興趣。]

我在加入了激流迴旋諮詢 18 幾個月前 這成了我最長持久以來的工作和 2007. 我並不是故意這樣. 以前跳槽的字串的開始與我飛躍到 SharePoint 世界, 我在一個地方已經十一年了. 我終於找到了一個新的, 持久的激流迴旋在這裡長期工作的地方.

這個地方是越來越我需要一些説明來控制這種. 我需要的説明這種通常稱為"SharePoint 解決方案建築師",雖然我發現建築師以上和/或不正確地使用一詞在 SharePoint 的空間相當一段時間現在. 我一直在掙扎如何對此博客. 我不想簡單地列出一大堆的骰子/怪物樣式中的要點. 我優秀的招募同行做了已經 :). 所以, 我決定採取一種"生活中的一天"方法. 看一遍,並考慮:

1) 如果它呼籲和

2) 你是否在你的骨頭你可以做到.

如果是, 與我聯繫 (paul.galvin@slalom.com) 讓我們談談.

這些都是你可以指望在典型周/月作為我的團隊解決方案設計師做:

  • 運行專案, 經常超過一次. 一些專案大,那麼你將自己的那一個專案. "運行"專案表示你有監督和交付的總體品質的責任. 在幾乎每一種情況下你會有下午和很強的開發團隊, BAs, UX 人, 等。, 支援你. 但你會在用戶端看到的主要的臉, 信託基金, 等. 沒有躲在這個角色中的陰影 :). 你會條例草案 》 這一次和的目標是讓你夠忙,若要執行此操作 80 %的時間.
  • 説明檔 — — 母豬, Rfp, 甲板上 — — 所有這些好東西. 我認為我們有我們下來很緊和固體的母豬過程,所以它是相當刻板. 如果你習慣了今天寫信給母豬, 我們的進程不會對你的挑戰. Rfp — — 這些都是有點難. 他們傾向于首先將定制的性質和 Rfp 通常在多個不同的作者拉. 它是好的和壞, 但主要好. 這可以得到 scrambly,當我們需要雜耍也試圖贏得新工作時需要優秀的客戶服務. 你大概不會自己的 RFP,但將會要求您作出貢獻的部分.
  • 銷售電話, 但不是近. 在一個月的過程中, 你可以指望要走上幾個與我們的銷售團隊的銷售電話. 你會在房間裡中小企業, 記筆記和説明塑造解決方案. 不過, 你不會問或預期的處理銷售週期從開始到結束. 你不需要"賣,"你只需要平靜的聲音在房間裡的專家理性的. 此生成的信任和信心,這就是為什麼你在那裡. 答案是肯定的, 如果你想賣, 然後還有餘地,你也在這裡生長.
  • 招聘説明. 我們有某種轉診程式, 所以如果你真的知道強社區人的你覺得應該是激流迴旋的一部分, 您可以使用這種方式. 我們有專業的招聘人員 (優秀的是誰) 要做這種工作的獅子的份額. 真正的説明面試候選人 — — 文化上他們是很合適? 他們知道他們的東西嗎? 他們能讓 * 我 * 生活更方便? 🙂這突來, 每月幾次, 雖然在幾個月你不會做它在所有.
  • 説明定義的最佳做法, 建立我們的 IP,使我們在市場中更具競爭力. 你是經驗豐富的傢伙 gal. 你一直在街區周圍 — — 不只是在 SharePoint 中, 但你有經驗在其他技術中,經歷了好與壞 (甚至可怕) 各地專案. 作為一個結果, 你知道什麼工作,什麼不. 我們會想要與我們分享這一經驗,對每天在戰術意識 (e 小節. 真的很好運行您的專案) 但也具有戰略. "最佳做法"是作為一個術語的使用有點過度,我猶豫,使用它. 基本的想法是你作為深部的相關工作經歷經驗豐富的人進來,我們想要將最好的你知識納入我們與在日常基礎上的客戶的接洽.
  • 玩得愉快 — — 我們都是一種非常綜合的群. 我想要避免又一次的陳詞濫調, 但在這種情況下它是真的很貼切 — — 我們努力工作 (排序的) 我們甚至更難玩 :). 有戲謔這裡 Aaron Sorkin 種, 房間裡總是充滿了聰明的人, 我們喜歡我們的飲料和我們組織公平一些有趣的事件 — — 電影之夜, 棒球旅行 (即使他們是 可怕, 實際上邪惡團隊).

如果我能總結它所有入一個單詞, 我會使用這個詞"領導力"。鉛專案, 在建立這種做法方面發揮主導作用 (IP, 團隊的構建), 等.

但等待! 還有更多! 不然為什麼工作在激流迴旋?

  • 卓越團結的意圖 — — 每個人都想長大這件事. "這件事"是紐約辦事處. 每個人都是在船上與此.
  • 風中你的風帆 — — 妹妹辦事處, 姐姐的做法 — — 激流迴旋是諮詢組織的"全面服務". 我帶領了 SharePoint 實踐 ("實踐領域引領"在激流迴旋邱林). 我有妹妹在做法 11 激流迴旋的其他辦事處. 所以即使我是國王很遠的地方作為 SharePoint 感到這裡關注的是激流迴旋紐約, 我在芝加哥有同行的做法, 西雅圖, 達拉斯, 亞特蘭大, 波士頓, 等. 從中可以借鑒那支援. 這真的是最好的兩個世界 — — 在紐約,但噸的整個組織人才獲得很大的自主權.
  • 風在您的銷售 (2) — — 我們做更多比 SharePoint — — 更多. 我們做 BI, CRM, UX, 業務諮詢, 移動, 自訂開發和其他人. 我們擅長於交叉銷售我們自己和我們很好的在繪畫 — — 和更重要的是, 為我們的客戶交付後 — —"全程服務"圖片. 這是對我的吸引力特別. 我已經在很多較小的組織,一遍又一遍工作對 SharePoint 場演出和沮喪,因為我們鴿子洞作為"SharePoint 人"。這不會發生與激流迴旋和我們能接觸到更多有趣的工作結果.
  • 本地模式 — — 沒有旅行.
  • 長期的增長 — — 激流迴旋一直未及時趕到. 很多的經濟增長和穩定. 增長也意味著我們需要雇領導人今天到了新的隊頭作為我們添加更多的客戶和工作人員,以支援這些用戶端.

我就能, 但我已經大概已經持續太久. 我認為我已經抓住了本質在這裡. 如果你想改變工作崗位,這看起來對你很好, 我們來談談.

如果你是快樂你目前的工作 — — 讓我們說話反正 :). 我已經在很多地方,當時是很"幸福". 激流迴旋是不同,我會歡迎機會說服你的.

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

快速而方便地: 在 Windows 應用程式商店中的清單方塊中設置的專案大小

在 Windows 應用程式商店我創造, 我想要向使用者顯示不同的資訊性消息。  我拿一個清單方塊作為工具來顯示它,這樣,他們可以滾動流覽他們和所有的好東西。 

消息只是資訊性, 所以您不需要提供他們周圍的所有多餘空白,因為使用者永遠不能選擇他們的東西。  清單方塊中的預設行為提供了大量的填充和我想要擺脫它。  嗯....... 你不能直接做這樣的事在清單方塊中。  然而, 你可以到你添加的專案:

        私人 無效 AddGameStateLogMessage(字串 留言者)
        {
            TextBox t = 新增功能 文字方塊();
            t.Text = GameStateCounter     + ": " + 留言者;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            厚度 thisPadding = 新增功能 厚度(5, 0, 5, 0);
            t.Padding = thisPadding;
            t.FontSize = 12;

            ListBoxItem 李 = 新增功能 ListBoxItem();
            李。內容 = t;
            李。MaxHeight = 25;
            thisPadding = 新增功能 厚度(5, 0, 5, 0);
            李。填充 = thisPadding;

            GameStateLog.Items.Insert(0,李);
        }

在上面, 我創建一個文字方塊並設置其字體, 其填充, 等.

下一次, 創建 ListBoxItem 並將其內容設置為格式文字方塊.

最後, 清單方塊中插入 ListBoxItem。  (我想要顯示在清單的頂部的最新消息, 因此插入(0,李) 而不是簡單的添加() 調用。).

我將調整這一點,再真高興與清單方塊行為但上面顯示的模式已經非常富有成效。  希望別人發現它很有説明.

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin