SharePoint の受賞の MVP

MVPLogo

この朝, マイクロソフトは Microsoft MVP 賞を与えている私に教えてメールで送信!

それはすべてを一度に取ることがたくさん. 適切に反映する機会をいたきたとき, 全体の事の私の思考の多くを共有します. 多くの人々 に大きな関心の対象です。.

私は興奮でいっぱいです。. SharePoint MVP クルーは男性と女性を構築し、コミュニティの拡大専用の偉大なグループ. 私はほんの一握りだけ会ったし、会議より、支援を展開し、今後 1 年間のコミュニティ リソースを改善する楽しみ. それはしばらくの間に乗るするつもりです。…

</終了>

6 月 2008 SUGDC 会議 — それはラップ

今まで私の最初を出席 SharePoint 会議 この過去の週末は、それは爆発しました。.

木曜日の午後, バージニア州を下がった, 私の新しく購入したによって導かれる $50 自分の携帯電話に GPS アプライアンス ・ プラグインのもの. デバイスは完璧だった. 5 時間のドライブの後, トレッド ミルでの素敵な実行を行うためにエネルギーを持っていたし、, さらにもっと驚くほど, アドバタイズされたスピーカーのカクテルアワーのロビーに向かうエネルギーを持っていた. 私は会議 n00b, それはカクテルアワーが実際に会議参加者のためのショルダーバッグに表示するスピーカーと助けスタッフ論文や盗品を取得するための策略だったことが判明し🙂

私は金曜日の午前一番に話していたので、寝るに苦労をしていた. 緊張感, 私のプレゼンテーションと動物の惑星に非常に不穏な猫のショーにスライドを追加するために必要なしつこい感じは中遅く私を保つ. 遅く寝たので, 私は当然のことながら早く起きた. かなり詳細な技術的なアーキテクチャのスライドを追加しました. よく努力する価値だったので、 25 Q の分&それがなければ非常に厄介なのであろう. 私は技術的なトラックの最初のスロットを取得するラッキーだった. サヒール マリクはもともと金曜日の午前を話すつもりと土曜日を話すつもりだったが、彼は時間を交換する必要. 私のプレゼンテーションを行うと、後ろに座るし、前方の金曜日と土曜日に行くすべてを楽しむこともできました.

プレゼンテーションがうまく終了. 私は間違いなくそれを改善する余地があります。. どのように我々 にアクセスでき、カスタム アクションを使用して SharePoint Designer ワークフローからの web サービスの使用について話を聞いた. 時間をかけて, この情報を結ぶでしょう 私のシリーズに 以上 EUSP.com エンドユーザー向けのツールのほとんどの使用を取得しよう. 私は私のスライドとデモを吹いた 35 分, 私の落胆する時に. 幸いなことに, Q&活気あるだった, 間違いない事実によって助けられてそれだった早朝ランチ前に、. Q&任意のプレゼンテーションの私のお気に入りの一部です.

多くの興味深い科目されより詳細でそれらについてのブログにこの週を願っています (時間が許せば, いつものように). CMS は時計から仲間が市場での SharePoint の位置の非常に重要なまだ非常に有望なレビューを提供してください。. SharePoint リソースと採用担当者は"手頃な価格も良い才能の発掘ある難易度の少なさに焦点を当てた別のディスカッション" この非常に厳しい市場で. 「ギルドまるでとして SharePoint 人材プールに呼ばれる CMS 時計男。" 主に MMORPG においてその用語に精通している、それは私に少しのスリルを与えた, 正直に言うと🙂

会議のハイライトだったちょうど会議と私は"知っている人に追いつく" しばらくの間、オンライン. 最高のバーで座っていた ベッキー Isserman (MossLover) ため 3 または 4 時間 (その, 夜の飲酒を終えた後). について話をすることがよくないです。 ファースケープ または バビロン 5 カンザス ・ シティの居住者.

ボブ フォックスはそこにいつものように, イントロの旋風, チャットや単なる熱狂的なエネルギー. 彼はサヒール マリクとの土曜日の朝食に私を招待し、それは素晴らしかった.

土曜日 (日 2), マイク ロッター InfoPath について話すに会議に彼自身を引張ったし、一般的な Q の並べ替えを行う一日の終わりにベッキーに入社し、&についてのセッション 30 宛先 45 InfoPath に主に焦点を当て分 (マイク) AJAX (ベッキー). ベッキーは彼女のフル/フォーマルなプレゼンテーションを通過することができたが、これらの日の 1 つを参照する機会を得るだろうことを確認したいです。. 私は彼女」は打撃ができます回路感じがあります。" 前進しています。.

私は上に行くことができます。. 2 つの最後のポイント — 会議の財務上の目的は子供の奇跡ネットワークのための資金調達、育ち $5,000. それが最高だった. 最後に, 公ゲイリー ブラットを感謝したいのですが。, Gary ヴォーンとボブは、キツネに私に警告と私、会議で話すことができるの. もちろんです, 2 つの Gary の人々 をサポートし、組織のチームがあったし、あなたのすべてが素晴らしい. 私は行き、それは私が望んでいたより前に期待をしていた.

次の 11 月 7 日に予定されている会議、8 日に警戒を維持します。. 別にいくつかの素晴らしいコンテンツ, それはあなたのブログを通じて知られているこれらのすべてのオンライン人格との待ち合わせのための素晴らしい, twitter, フォーラム, など.

</終了>

私のブログを購読します。.

Technorati のタグ:

FBA と SQL Server: 愛の物語

私の同僚は、FBA 環境で web パーツに取り組んでいます. 他のものの間で, web パーツは、SQL サーバーからいくつかのデータを引っ張る. このプロジェクトの壮大な計画を指示、DBA が SQL でデータ レベルのセキュリティを構成します (SQL クエリまたはいくつか他の方法でユーザー ID を埋め込むのではなく).

問題は、SQL server が知っていないこと、FBA の環境については何もそれは私たちを信頼することはできませんので. 我々 がこの問題を解決, 良い言葉の欠如, 手動で AD ユーザーを偽装して SQL データ レベルのセキュリティのしくみその SQL に接続することは、.

FBA が ASP.NET 機能です。, 我々 の SharePoint の国民は様々 な検索エンジンは FBA のクエリを実行している場合を教えています。, SharePoint で FBA を構成する方法を知っている場合を意味する必要があります。. 私を見つけることができなかった、FBA を有効にする方法については任意指向 SQL と我々 が必要な方法で通信する ASP.NET アプリケーション検索.

この研究の過程で, 我々 は再この記事を読む: ASP.NET の偽装

多くの研究は、この codproject の記事に私たちを導いた: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

それは私たちは私たちのコードを書くを助けた, 以下にします。. それは最も洗練されたものではないです。, しかし、それは働きました. 私はあなたはそれが役立つことを願ってください。.

ここでは私たちのために働いたコードです。:

保護 void btnSearchCarrier_Click(オブジェクトの送信者, EventArgs e)
 {
 してください。
 {
 ImpersonateUser iU = 新機能 ImpersonateUser();
 // TODO: 資格情報 iU.Impersonate を交換します。("DomainName", 「ユーザー名」, 「パスワード」);

//
 コード
//

 iU.Undo();
 }
 キャッチ (Ex 例外)
 {

 }
 }

// 下記のように偽装クラスを使用してください。.

パブリック クラス ImpersonateUser
 {
 [DllImport(「advapi32.dll」, SetLastError = true)]
 パブリック 静的 extern bool LogonUser(
 文字列 lpszUsername,
 文字列 lpszDomain,
 文字列 lpszPassword,
 int dwLogonType,
 int dwLogonProvider,
 ref IntPtr phToken);

 [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
 プライベート extern 静的 bool CloseHandle(IntPtr ハンドル);

 プライベート 静的 IntPtr tokenHandle = 新機能 IntPtr(0);
 プライベート 静的 偽装 impersonatedUser;

 // DLL にこのコードを組み込む場合, それを要求することを確認します。
 // FullTrust を持つ実行します。.
 [PermissionSetAttribute(SecurityAction.Demand, 名前 = "FullTrust")]
 パブリック void を偽装(ドメイン名を文字列します。, 文字列名, 文字列のパスワード)
 {
 してください。
 {

 // アンマネージの LogonUser 関数を使用してユーザーのトークンを取得するには
 // 指定されたユーザー, ドメイン, パスワード.
 const int LOGON32_PROVIDER_DEFAULT = 0;

 // プライマリ トークンを作成するために、LogonUser を引き起こすこのパラメーターを渡す.
 const int LOGON32_LOGON_INTERACTIVE = 2;
 tokenHandle = IntPtr.Zero;

 // ステップ -1 アクセス トークンへのハンドルを得るために、LogonUser を呼び出す.
 bool 戻り値 = LogonUser(
 ユーザー名,
 ドメイン名,
 パスワード,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 ref tokenHandle); // tokenHandle - 新しいセキュリティ トークン

 場合 (returnValue = = false)
 {
 int ret = Marshal.GetLastWin32Error();
 Console.WriteLine("LogonUser の呼び出しエラー コードで失敗しました : " +
 ret);
 スロー 新しい System.ComponentModel.Win32Exception(ret);
 }

 // ステップ - 2
 WindowsIdentity newId = 新機能 WindowsIdentity(tokenHandle);
 // ステップ -3
 impersonatedUser = newId.Impersonate();

 }
 キャッチ (Ex 例外)
 {
 Console.WriteLine("例外が発生しました. " + ex.メッセージ);
 }
 }


 /// <概要>
 /// 停止偽装
 /// </概要>
 パブリック ボイド元に戻す()
 {
 impersonatedUser.Undo();
 // 無料のトークン.
 場合 (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</終了>

私のブログを購読します。.

Technorati のタグ:

伝承を追加します。: SSRS 言します。 “rsAccessDenied”, しかし … 私は本当にアクセスします。

数週間前, 私は私の同僚の開発者と MOSS を SQL Server Reporting Services プラグインを含むプロジェクトで働いていた. 彼は派手な適切なレポートのフロント エンドを提供する web パーツを開発されました。 (背後にあるいくつかの千検索値をパラメーターに巧妙な参照されている主な機能).

これは偉大なユーザー受け入れテストは、開発環境で働いていた (UAT) 環境, それが動作しません。. デバッガーを起動, 我々 がこのような例外の詳細を見る:

アクセス許可は 'UAT_domainmosssvc' はこの操作を実行するため十分なユーザーに付与します。(rsAccessDenied).

上記のエラーでのライブの検索を行う場合, あなたを見つけることがよく. ゾッとするほど一般的です. それは多くの別の潜在的なルートを持っているので共通の最悪の一種とみんなの解決"を感じています。" 右. 我々 はおそらくそれらすべてを試してみました.

我々 の場合に, 問題だった UAT に DEV のバックアップ/リストアを行っていた. データのどこかに, 何かはまだ"DEV_domain に言及しました。" (更新された"UAT_Domain"の代わりに). 新しいサイトを作成しました, web パーツと私たちの問題を解決を追加.

うまくいけば、これは節約します誰か 1 時間または 2 down 行.

</終了>

私のブログを購読します。.

Technorati のタグ:

迅速な修正プログラム: SharePoint サイトへのアクセスをスローします [HttpException (0x 80004005): 要求がタイムアウトしました。]

開発者の私の同僚の 1 つは今週プロジェクトに取り組んでいたし、いくつかのクレイジー web パーツの構築に取り組んでいる間タイムアウト問題に遭遇しました。. 彼の web パーツは大丈夫だった, 唐突だけど」" 関係のないサイトになった非常に遅く、頻繁にタイムアウトにこのエラーが発生:

[HttpException (0x 80004005): 要求がタイムアウトしました。]

私はログインしているし、他のいくつかのサイトがうまくを見た. 私はページの一部の非表示 web パーツがあった疑いがあると使用 信頼 ?内容 = 1 デバッグ テクニック, 私は実際には見つけました 11 ページ上の web パーツ, うちの 2 つのみに表示されていた. さらに良い (let's-hope-I-find-something-ugly-here-that-I-can-fix の観点から), 閉じた web パーツの 3 つの「エラー」の名前を持っていた.

それらの web パーツを削除 (自体は驚くほど長い時間がかかった) 問題を解決します。. 今日のために🙂

</終了>

私のブログを購読します。.

Technorati のタグ:

クラスで学習の高速は優秀なです。

1 日を始めています。 4 高速のトレーニング パートナーが率いるここでニーダムのラリー ・ ケイ, MA.

この 5 日間のセッションのクラスに分かれています (3 と 2 日それぞれ) 資格を与えられる「高速 ESP: 私はパートナーが同盟をカスタム検索アプリケーションの開発" "高速 ESP: アライアンス パートナー II 用カスタム検索アプリケーションの開発」.

これは、クラスは、実際のブート キャンプの種類. 材料は深い (非常に, 非常に深い). インストラクター (ラリー) 明らかに彼の原料を知っています。. 場合、私は強くこのトレーニングをお勧めしますそれを考慮します。.

</終了>

SharePoint と高速 — エンタープライズ アプリケーションの Reese のピーナッツ バター カップ?

私は 1 日を終えた 2 日当たりの良いニーダムで学習の高速の, MA, アイデアをあふれています (私にはそのすべての良いトレーニング クラス). まだ新鮮な通常の日常的な」ものであった、それを書き留めたいし、の 1 つの特定の側面を高速、私に考えること" 私の頭にそれをプッシュ.

我々 SharePoint WSS 3.0 / MOSS 実装者頻繁にあらゆる適度なサイズの SharePoint プロジェクトとタフな問題に直面します。: どのように我々 は完璧にデザインされた情報アーキテクチャ内に収まるように、SharePoint に読み込まれるすべてのタグなしデータを取得するには?

十分な頻度, トラブルのうち自分自身を範囲このような難しい問題にはなりません: "については何も気にしない以上 3 ヶ月。" 「処理するので、キーワード検索ですべてのその古いものと行く前方やるよ右の方法…" など.

しかし, トラブルの範囲自分自身できないし、何千もの 10年または 100 の何千もを見ている場合はどう (または数百万も) ドキュメントの — 読み込み 敬虔な願いであるのタグ付け?

高速答えであるかもしれない.

FAST の検索処理に多く可動部品にはが含まれていますが 1 つの簡略化されたビューはこれ:

  • コンテンツを検索クローラー プロセス.
  • コンテンツを検索し、ドキュメント プロセッサのプールを管理するブローカー プロセスに渡し、.
  • ブローカー プロセスに渡し、いずれかのドキュメント プロセッサ.
  • ドキュメント プロセッサは、ドキュメントを分析して、パイプライン プロセスを介して, ドキュメント bejeezus を分析し、インデックス ビルダー型プロセスに渡し、.

高速宇宙船に, 我々 はドキュメント処理パイプラインを制御の多くを持っています。. ミックスし、一致について 100 パイプライン コンポーネントと, 最も興味深いは, 我々 は、独自のコンポーネントを書くことができます。. 私が言うよう, 高速は文書を分析してあらゆる方法が、日曜日とそれらのドキュメントに関する有用な情報の多くをコンパイル. 狂気の高速人と、明らかに非常識とドキュメントの分析についての強迫観念があるツールや本当にドキュメントを分類するための戦略.

だから … 独自のカスタム パイプライン コンポーネントとの組み合わせで高速を使用してください。, 高速からすべてのコンテキスト情報を取得し、それをコケにフィード. それはこのような何かを行くかもしれない:

  • モスから高速にドキュメントが供給され.
  • 通常の狂った強迫高速ドキュメントの解析と分類が起こる.
  • カスタム パイプライン コンポーネント データベースにオフにそのコンテキスト情報の一部を削除します。.
  • 当社独自の設計プロセスは、コンテキスト情報を読み取ります, 私たち IA 内 MOSS ドキュメントに適合する方法についていくつかの決定になり、web サービスとオブジェクト モデルを使用してマーク.

もちろんです, そのような自動化されたプロセスは完璧ですが、強迫のおかげですることができます。 (おそらく insane-but-in-a-good-way の高速人), 我々 はほとんど検索可能なドキュメントの束を持つ SQL データベースがいっぱいにだけよりも真に効果的な質量負荷プロセスでのショットの戦い現実があります。.

</終了>

私のブログを購読します。.

Www.EndUserSharePoint.com でエンド ・ ユーザーについて学ぶ

マーク ミラーの上で http://www.endusersharepoint.com 組み込まれています。, 私の経験で, 内の SharePoint サイトが最高のエンドユーザーに焦点を当てて、' 球. 先月, 彼はいくつかの周りに貢献する"フロント ページ プレミア エンドユーザー焦点を当てたブロガーを参加しています" 定期的に, 含むがこれらに限定されません。 Paul Culmsee, Chris クイック, と デシエ ジェシカランスフォード. 彼ができるように並べており、彼らのスケジュールとして貢献する準備ができて他の人.

参加するチャンスに飛びついたと 私の就任のポストはここにあります。. SharePoint デザイナーを使用して、一流のビジネス ワークフロー ソリューションを作成する方法の一連を書いています. EUSP.com のフォーカスに合わせて, これらの記事は、常にエンドユーザーのフロントとセンターを維持します。.

私は個人的に 3 つの広いグループに SharePoint の世界を分割する傾向があります。: SharePoint のコンサルタント, SharePoint スタッフの常勤開発者およびエンドユーザー. 書くとき, よく自問します。, これらのグループの主題に興味があるかもしれない? ほとんどの場合、, 最初の 2 つの書面を終了します。 (技術的です) グループ, 主な理由は私は自分のコンサルタント; それは常に容易としている最も身近な個人的なレベルでそれらの事について書くことより本格的です.

前に書いた, エンド ユーザー コミュニティはこれまで, 技術的なコミュニティよりはるかに大きい. EUSP.com は一流、心からすべての 3 つのグループにそれをお勧め. サイトのレーザーの焦点は明らかにエンドユーザーに貴重です. ただし, 我々 開発者やコンサルタントのみを向上させるため私たちの職業を理解し、効果的に我々 を提供するエンドユーザーのニーズに対応する場合. 私は私が得ることができるすべての助けを必要と知っています🙂 それをチェック アウト.

</終了>

私のブログを購読します。.

WSS から SSRS Web サービスの呼び出し / Fba の処理環境でコケ

"CreateSubscription を起動するために必要" FBA でホストされている SSRS web サービス上のメソッドは、カスタム web パーツから MOSS 環境を管理. 変動を受け続けました:

  • 401: 承認されていません。
  • 移動されたオブジェクト

「オブジェクトの移動" それを言っていたのでメッセージを最も興味深いでした"オブジェクト" (SSRS サービス) 「移動していた" login.aspx. これは明らかに、我々 は認証の問題のいくつかの種類を持っていたもの.

私は最終的に私がいたことに気づいた ブログ エントリのブックマーク FBA 環境中に住んでいる汎用 WSS/MOSS の web サービスを呼び出す方法を解説したロバート ・ ギャレットによって. 記事に直接リンクできないことに注意してください。 (の 06/09/08) 認証したいので. 「すべての投稿に私を提供するリンクは、します。" ビューと「フォーム ベース認証を使用してにアクセスする MOSS の Web サービス」を検索して、特定の記事を見つけることができます。.

ここでは私たちのために働いたコードです。:

ReportingService2006 rs = null; 
// 認証 認証 auth = 新機能 認証(); 
認証Url = "http://URL/_vti_bin/Authentication.asmx";
認証CookieContainer =
新機能 CookieContainer();
LoginResult 結果 = 認証ログイン(「ユーザー id」, 「パスワード」);
場合 (結果。エラー コード = = LoginErrorCode.NoError) 
{
// エラーなし, だからクッキーを取得します。.
CookieCollection クッキー認証を =CookieContainer.GetCookies(新機能 Uri(認証Url));
クッキー authCookie = cookie[結果。CookieName];
rs =
新機能 ReportingService2006();
rs。Url =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs。CookieContainer =
新機能 CookieContainer();
rs。CookieContainer.Add(authCookie);
}
してください。
{
  rs。CreateSubscription(レポート, extSettings, desc, eventType, matchData, parameters1);
}
キャッチ (Ex 例外)
{
  Console.WriteLine(ex.Message.ToString());
}

このような動作するように物事を解釈します。:

  • ダイヤルアップの認証サービスと言う必要があります私たち web パーツ, "ねえ, トニー, それは私です。!".
  • 認証サービスとの返信します。, "ねえ, あなたを知っています。. どのように子供たちをします。? ここではトークンです。"
  • 私たちは、SSRS サービスを呼び出すし、言う, 「トニー送って, ここでは、トークンです。"

</終了>

私のブログを購読します。.

Technorati のタグ: , ,

あなたの月間検索分析を行った?

それは良い練習です。, おそらくベスト プラクティス, 毎月 1 回検索レポートを確認してからのおすすめコンテンツを追加する機会を探して, あなたの辞典をチューニングし、多分も明らかに非管理にはそれ以外の場合いくつかのビジネス インテリジェンス.

それは既に毎月第 3 です。. 時間の awastin’ 🙂

</終了>

私のブログを購読します。.

Technorati のタグ: