からめもぶろぐ。

SharePoint が得意なフレンズなんだね!すごーい!

SharePoint で SharePoint じゃないページを作る

この記事は「Office 365 Advent Calendar 2016」の参加記事です。www.adventar.org SharePoint は標準でもそこそこそれなりに使えるのですが、やはりデザインをカスタマイズしたいという要望は多いです。でも SharePoint のスタイル シート構造を理解してカ…

ASP.NET MVC の Repository パターン再考

ASP.NET MVC が出始めた頃、Repository パターンが話題になりました。その後、あまり Repository パターンについての議論がされていないようなので、改めて Repository パターンについて考えてみたいと思います。 Repository パターンの基本 Repository パタ…

SharePoint 2013 のお知らせリストで「続きを読む」を実装する

「こういうの欲しいよね?」ということでサクッと JSLink を使って実装してしまいます。 (function() { var overrideCtx = {}; overrideCtx.ListTemplateType = 104; overrideCtx.BaseID = 100; overrideCtx.Templates = {}; overrideCtx.Templates.Fields =…

Azure の仮想マシン (ARM) のネットワーク インターフェイスを変更する

Azure で仮想マシン (ARM) をポータルから作成するともれなくネットワーク インターフェイスが付いてくるのですが、面倒なことに作成済みのネットワーク インターフェイスに変更できないんですよね。そんなわけで PowerShell で変更してみます。 $vmName = "…

SharePoint ファーム ソリューション ファイルを一発で展開する

開発時によく使うけど忘れるので書きました。 ソリューションをアンインストールした直後は削除できないのでループで回すようにしています。github.com Add-PSSnapin "Microsoft.SharePoint.PowerShell" $path = "<ソリューションファイルのパス>" $name = […

艦ぷち 3.0.0 をリリースしました

www.microsoft.comアプリを UWP 化するのに伴い UI を全面的に作り替えました。アイコン含め諸々新しくなっています。なお春イベで艦これ引退してしまったのでこれ以上の更新は行わないと思います。

SharePoint Online から Dynamics CRM Online の Web API を実行する

SharePoint ホスト型アドインを使用して SharePoint Online から Dynamics CRM Online の Web API を実行します。これまでは SharePoint Online から Dynamics CRM Online に接続するにはプロキシ サーバー経由で実行する方法しかなかったのですが*1、Dynami…

SharePoint アドイン プロジェクトで TypeScript を使えるようにする

SharePoint ホスト型の SharePoint アドイン プロジェクトではサーバー側のコードを書けないので、App.js に JavaScript を書いていくことになるのですが、どうせなら TypeScript 使いたいよね!と思っても App.js を App.ts に変えただけでは自動的にコンパ…

SharePoint Online の REST API を UWP から実行する

UWP から SharePoint Online REST API を実行するサンプルを作りました。出退勤の打刻を SharePoint リストに送るプログラムです。OAuth を使っているので認証から API 実行までの流れが確認できると思います。なお Access Token の更新には対応していません…

続・SharePoint 2013 の REST API を対話なしで実行する

前回の記事の続きです。blog.karamem0.jp日本マイクロソフトの松崎剛さんの decode:2016 でのセッションで、対話なしで Access Token を取得する方法として証明書を使う方法があるということを聞いたので、探してみたらズバリの記事がありました。blogs.msdn…

SharePoint Online の REST API を対話なしで実行する

SharePoint 2013 では REST API が使用できるのですが、MSDN ではプロバイダー ホスト型 SharePoint アドインから OAuth で使用する場合の説明がほとんどです。例えば、バッチ プログラムのような、特定のユーザーを指定して対話なしでアプリケーションを実…

SharePoint 2013 で不要な機能を無効にする

SharePoint 2013 のサイト (チーム サイト) を作成したときに、いくつかの機能が既定で有効になるのですが、不要な機能が有効になっていることが多いので、個人的に最低限必要だと思う機能についてまとめてみました。機能は無効化したあとも再有効にできるの…

PowerShell で SharePoint 2013 の「サイトの機能」と同じ一覧を取得する

PowerShell で「サイトの機能」と同じように機能名とアクティブの状態を一覧で取得しようとしたのですが、ちょっとコツが必要だったのでメモしておきます。機能の一覧を取得するのは Get-SPFeature コマンドレットでできるのですが、範囲*1を指定しない場合…

縄コラム通知 bot を作りました

縄コラ通知botを作りたい— からめも (@karamem0) December 22, 2015twitter.com言い出しっぺなので作りました。twitter.com

SharePoint 2013 で個人用サイトを無効にする

SharePoint 2013 では、個人用サイトによって、コンテンツのフォローやニュースフィードなどのソーシャル機能が使えます。個人用サイトが有効になっている場合、赤枠のようなメニューが表示されます。ただ、組織によっては使用しないので、無効にしたいとい…

Microsoft Azure サイトで D1 プランのときの課金がおかしい件

Azure Web サイトで D1 プランを使っていました。D1 プランは東日本の場合、月額で 1,000 円強というお手頃プランなのですが、実際に運用していると 10 日も経たないうちに 1,000 円を超えてしまうことに気付きました。おかしいと思って使用量の明細をダウン…

SPWeb.AllowUnsafeUpdates は使うべきではない

SPSecurity.RunWithElevatedPrivileges メソッドを使うときに必ず一緒にお世話になる SPWeb.AllowUnsafeUpdates プロパティですが、エラー回避のために何も考えずに使っている例が多々あると思います。何も考えずに使っているこのコードが何をしているのかを…

SharePoint Online で Microsoft アカウントに共有するときのトラブルについて

この記事は「Office 365 Advent Calendar 2015」の参加記事です。www.adventar.orgSharePoint Online では組織外のユーザーを招待することで Microsoft アカウントで SharePoint を使用することができます。通常は Office 365 のライセンスが割り当てられて…

Excel Services で「ブックを開くことができません」と出る場合の対処方法

SharePoint 2013 ではアップロードした Excel ファイルを Excel Services によってブラウザーで開くことができます。しかし、Excel ファイルを開こうとすると「ブックを開くことができません」というエラーが出る場合があります。サーバーのイベント ログに…

SharePoint で更新日時の表示形式を「標準」にする (SharePoint Online 対応版)

karamem0.hateblo.jpこちらの記事ではサーバー オブジェクト モデルを使っていたため SharePoint Online では動作しませんでしたので、クライアント オブジェクト モデルで書き直してみました。github.com [void][System.Reflection.Assembly]::LoadWithPart…

ドクターイエロー運行予測 (beta) をリリースしました

preddy.azurewebsites.netbeta なのはまだ運行日の予測ができていないからです。Azure ML で予測できるだけのデータが溜まったら何かします。 ソースは GitHub に公開しています。github.com

サイト ページに list-style-image を設定すると IE がクラッシュする

サイト ページを作成して以下のような HTML を貼り付けます。 <div id="menu"> <ul> <li class="plus">大項目1 <ul> <li class="none">小項目1</li> <li class="none">小項目2</li> <li class="none">小項目3</li> </ul> </li> <li class="plus">大項目2 <ul> <li class="none">小項目4</li> <li class="none">小項目5</li> <li class="none">小項目6</li> </ul> </li> </ul> …</div>

LINQ to Calil 1.0.1 をリリースしました

CodePlex で放置していたライブラリですが GitHub に移動しました。ついでに Portable Class Library に書き換えました。github.comあと NuGet にも放流しましたので簡単にインストールできます。www.nuget.orgところで NuGet って一度アップロードしたパッ…

ユーザーをサイト コレクションの管理者に追加する

SPWeb.SiteAdministrators に Add しても追加できないので困っていたら SPUser のほうを変更するらしいです。 $site = Get-SPSite "http://localhost" $user = $site.RootWeb.EnsureUser("domain\user") $user.IsSiteAdmin = $true $user.Update() ちなみに…

LINQ to SharePoint の仕組みを理解する

SharePoint 2010 から LINQ to SharePoint という機能が追加されました。これまでの SPQuery によるクエリ検索をより簡単にする仕組みで、Entity Framework を使ったことのある開発者であれば、ほとんど違和感なく使うことができます。SPQuery で使われる CA…

SharePoint のコンテンツ データベースの名前を変更する

SharePoint をインストールすると、初期状態で管理センター用にコンテンツ データベースが作成されます。このデータベースの名前は「SharePoint_AdminContent_<GUID>」となるのですが、GUID をつける必要もないような気がするので、データベースの名前を変更してみ</guid>…

SharePoint のリストに内部名でアクセスする

SharePoint のリストには内部名と表示名が存在します。SPListItemCollection オブジェクトのインデクサからリストを取得するときは、表示名を指定しなければなりません。 $web = Get-SPWeb http://localhost/ $list = $web.Lists["サイトのページ"] # 取得で…

SharePoint で ClosedXML を使って Excel へのエクスポートを実装する

SharePoint の標準機能でもリストのデータを Excel にエクスポートすることはできるのですが、プログラムからエクスポートしたいことがあります。ClosedXML を使ってリストのデータを Excel にエクスポートしたいと思います。 事前準備 ClosedXML、Open XML …

SharePoint 2013 で PowerShell からグループにユーザーを追加するときの注意点

SharePoint 2013 でグループにユーザーを追加するスクリプトを書きました。 $web = Get-SPWeb "http://localhost/" $group = $web.SiteGroups["テスト グループ"] $group.AddUser("shinohara\testuser", $null, $null, $null) 登録されていることが確認でき…

SharePoint で更新日時の表示形式を「標準」にする

SharePoint でリストやドキュメント ライブラリを作ると、既定で登録日時と更新日時の列ができるのですが、これらの表示形式が「フレンドリ」になっていて使いづらいので、一発で書き換えるスクリプトを作りました。 for で回しているのは foreach だとエラ…