読者です 読者をやめる 読者になる 読者になる

からめもぶろぐ。

ワタシ SharePoint チョット デキル

CSOM の Site.OpenWeb メソッドで File Not Found が発生する件について

CSOM で以下のコードのように同じサイトを作成したり削除したりを繰り返すと ServerException (File Not Found) が発生します。 最初はタイミングの問題かなと思ったのですが、スリープを入れても常に発生するので、そういう問題でもなさそう。 $context.Loa…

続・Azure ML を使ってドクターイエローの運行予測をしてみる

blog.karamem0.jp答え合わせ。ちなみに他サイトの情報を参考にすると、運行したのは 3/3~3/4、3/7~3/8、3/13~3/14、3/24~3/25 だったようです。こちらは実測値とも符合しています。doctoryellow.net2 月は日数が少ないので 30 日の予想だと 1~2 日ずれ…

SharePoint Online で日本語名のファイルをダウンロードするとファイル名が欠落する件が解消された模様

blogs.technet.microsoft.comSharePoint Online では長い日本語名のファイルをダウンロードするとファイル名が欠落する件が発生していたのですが、最近になって解消された模様です。ちなみに OneDrive for Bussiness のほうも同様に解消されているようです。…

Azure ML を使ってドクターイエローの運行予測をしてみる

ずっと放置していたドクターイエロー運行予測ですが、データが溜まってきたのでいよいよ Azure ML で予測をしてみることになりました。preddy.azurewebsites.net全体像はこんな感じです。 時系列データの取得 元となる時系列データは Azure SQL Database か…

艦ぷちの公開を終了しました

2014 年 1 月より公開していた Windows アプリの「艦ぷち」ですが、公開を終了することになりました。おかげさまで評価が平均 4.6 (5 段階評価) と高評価をいただいておりまして、作成した甲斐があったと思っています。また、個人的には Windows Phone アプ…

SPClient 0.4 をリリースしました

www.powershellgallery.com権限設定に関連するコマンドレットを追加しました。こんな感じで書けます。 Add-SPClientType Connect-SPClientContext -Online ` -Url "https://***.sharepoint.com" ` -UserName "hoge@***.onmicrosoft.com" ` -Password (Conver…

SPClient 0.3 をリリースしました

www.powershellgallery.com以下のコマンドレットが追加されました。 Get-SPClientListItem 他には細かいところを調整しています。

SharePoint 2013 で JavaScript からユーザー選択ウィンドウ (PeoplePicker) を呼び出す

<SharePoint:PeopleEditor> を使わずに JavaScript だけでダイアログを表示してユーザー選択をさせるサンプルです。github.comやっていることは割と簡単で /_layouts/15/Picker.aspx を SP.UI.ModalDialog.showModalDialog で呼び出すだけです。戻り値として XML が返ってくるので中身</sharepoint:peopleeditor>…

SPClient 0.2 をリリースしました

www.powershellgallery.com以下の 4 つのコマンドレットが追加されました。 Disconnect-SPClientContext Get-SPClientField Get-SPClientUser Get-SPClientView

SPClient 0.1 をリリースしました

PowerShell で CSOM を使って SharePoint を操作するためのモジュールを 0.1 版として公開しました。より PowerShell らしくシンプルに書けるようなコマンドレットを提供します。 特に ClientContext.Load メソッドのラムダ式を JSOM ライクに文字列で指定で…

JSOM の executeQueryAsync で使われている Function.createDelegate について

JSOM のサンプルを見ると当たり前のように使われている Function.createDelegate について。引数に this を渡しているのでだいたい想像が付くとは思いますが、JavaScript の this の面倒なアレを解決してくれるんですね。 <asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server"> <script type="text/javascript"> var obj = { web: null, retrieve</asp:content>…

PowerShell から SharePoint Online の REST API を叩いてみる

この記事は「PowerShell Advent Calendar 2016」の参加記事です。qiita.com前回の記事で「REST API を Invoke-RestMethod で叩けるかも」と丸投げなことを書いてしまったので、実際にやってみたいと思います。blog.karamem0.jp OAuth2 認証についておさらい …

SharePoint を PowerShell から操作する方法まとめ

この記事は「PowerShell Advent Calendar 2016」の参加記事です。qiita.com今は SharePoint をメインでやっているこのブログもいつの間にか PowerShell タグがついた記事が結構増えているわけですが、SharePoint の構築や運用にあたって PowerShell は欠かせ…

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 ファーム ソリューション ファイルを一発で展開する

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

艦ぷち 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 に変えただけでは自動的にコンパ…

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

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

続・SharePoint 2013 REST API を対話なしで認証する

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

SharePoint 2013 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 では動作しませんでしたので、クライアント オブジェクト モデルで書き直してみました。 [void][System.Reflection.Assembly]::LoadWithPartialName("M…

ドクターイエロー運行予測 (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 だとエラ…

PowerShell で iPhone の画像の回転を元に戻す

iPhone で撮影した写真は縦横が逆になってしまうことがあるらしく、検索すれば情報はいっぱい出てくるのですが、要するに Exif 情報を認識して回転してくれないことが原因のようです。煩わしいので、Exif に従って画像ごと回転してしまうのが楽そう。C# では…

Windows Phone 8 以降でデバイス情報を取得する

Windows Phone 7 の頃は DeviceStatus クラスで、端末名やファームウェア バージョンなどのデバイスの情報が取れていたのですが、Windows Phone 8 以降 (Windows ストア アプリ) ではどこにいったのかと思ったら、EasClientDeviceInformation クラスになった…

とある Windows Phone アプリの開発裏話

この記事は「Windows Phone Advent Calendar 2014」の参加記事です。 www.adventar.org2014 年 1 月より「艦ぷち」というアプリを公開しております。www.microsoft.comこれは、DMM が配信するゲームである「艦隊これくしょん~艦これ~」をプレイしているユ…

SQL Server Reporting Services でレポートの発行を自動化する

この記事は「Visual Basic Advent Calendar 2014」の参加記事です。qiita.com前回の記事と同じく SQL Server Reporting Services (SSRS) の話題です。作成したレポートはレポート サーバーに発行する必要があります。前回の記事でも紹介したレポート ビルダ…

SQL Server Reporting Services のレポートでカスタムコードを埋め込む

この記事は「Visual Basic Advent Calendar 2014」の参加記事です。qiita.comあまり知られていませんが、SQL Server の機能のひとつに SQL Server Reporting Services (SSRS) というのがあります。公式のレポート作成機能ですね。SQL Server Express でも SQ…

IIS Express をバックグラウンドで実行する

この記事は「Visual Basic Advent Calendar 2014」の参加記事です。qiita.comいろいろあって現在は PHP の開発に IIS Express と NetBeans を使うことで落ち着いています。これでほとんど困っていないのですが、唯一問題なのが、IIS Express を手動で立ち上…

Microsoft Azure WebJobs でちょっとハマったのでメモ

艦ぷちでは Azure WebSites でツイートとまとめサイトのフィードをクロールしているのですが、実装としては @neuecc さんの記事を参考に IHttpModule で Timer を起動してやっています。neue cc - ASP.NETでの定期的なモニタリング手法先日 WebJobs が GA さ…