アーカイブ

Posts Tagged ‘SharePoint’

Sharepointのビューでユーザー列をグループ化できないと思ったら

Sharepointのビューでユーザー列をグループ化できないと思ったら、 ユーザー列が、複数選択可能になってた。あんまり複数選択可能にしないから、なんでグループ化出来ないのかわからず悩んでしまった。

カテゴリー:メモ, 雑記 タグ:

チームドキュメントの変更を受け取る

2011年12月14日 1件のコメント

この記事は、TFS Advent Calendarの12/14分の記事です。TFS Advent Calendar : ATND

接続しているプロジェクトをチームエクスプローラーで見ると、ドキュメントツリーの下に幾つかのドキュメントを見て取れます。ここには、プロジェクトで共有するドキュメントなどを格納していくのですが、新しいファイルが追加されたり、ファイルが更新された際にメールで通知を受けるにはどうしたらいいでしょうか。

答え

SharePointの機能を利用して、通知を設定します。

TFSと言うよりも、TFSがポータルサイトに利用しているSharePointの機能なのですが、チームエクスプローラーのドキュメントフォルダーの実体は、そのチームプロジェクトのプロジェクトポータルがホストされているSharePointのリストになります。変更を購読したいリストの通知を設定すればいいだけです。

image

もちろん通知の機能を利用する場合は、ユーザーに対してメールアドレスが設定されている必要があります。TFSをアクティブディレクトリー構成で構築していれば問題ありませんが、ワークグループ構成で構築したい場合は、ユーザーに対してメールアドレスがうまく設定されない(というか、SharePointのユーザー設定からメールアドレスを設定できない)ので、SPUserの設定をどうにか書き換えて上げる必要があります。

PowerShellを利用したメールアドレスの設定についてはこちら
SharePointのユーザーをPowerShellで修正してみる。

プロジェクトポータルのURLがわからない(!?)場合は、チームエクスプローラのコンテキストメニューから、「プロジェクトポータルの表示」をクリックしてプロジェクトポータルを開くのが簡単です。

image

プロジェクトポータルを開いたら、サイドバーから通知を設定したいリストを選択し、リボンのライブラリを開きます。

image

ライブラリタブを開き、ブラウザーをそれなりに大きくすると、リボンに幾つかのアクションが見て取れます。ドキュメントが追加されたり、修正されたりした場合にメールによる通知が欲しい場合は、「通知」>「このライブラリに通知を設定」をクリックします。メーラーにアウトルックを利用している場合は、ライブラリタブの「Outlookに接続」を利用すると、ドキュメントをアウトルックで読んだり、更新を確認できるようになって便利です。

image

通知の設定画面が出てくるので、どの頻度で通知を受け取るか設定してOKボタンをクリックします。

image

誰かがドキュメントに、ファイルを追加するとこんなメールが来ます。

image

カテゴリー:TFS タグ: ,

SharePointのデータをAccessで編集すると、リストに対してSQLで更新できる

image

SharePoint2010の「Accessで開く」メニューって、単にSharePointのデータシートビューみたいなものをAccessで編集出来るだけのものだと思ってたんだけれど、Accessで開いたあとは通常のテーブルと同様に、SharePoint上のリストに対してクエリーをかけることができるんですね(えっ常識?(汗))。

少し前にOBAって言葉がちょこちょこ出てきて、このごろ聞かないなーと思ったけれど、すでにエンドユーザーがここまで簡単に使えるところまで来てたんですね。

1.SharePointリストをAccessで開く

image

「Accessで開く」メニューをクリックすると、こんなウインドウが出てくるので、Accessで編集する場合のファイル名を設定して、参照ボタンをクリックしてSharePointリストに関連付けたAccessを開く。

2.更新クエリーを作る

Accessのデザインビューや、SQLビューで更新クエリー作って適当な名前でクエリーを保存する。

デザインビュー

image

SQLビュー

UPDATE 共通ローカルメッセージ一覧
SET ステータス = “公開済”;

3.更新を実行する

作ったクエリーをダブルクリックすると、こんなダイアログが出てくるから問題なかったら「はい」ボタンをクリックするればクエリーが実行されて、SharePoint側のリストのデータもそのまま更新される。

image

カテゴリー:TFS タグ:

SharePointで、ファイルの追加も更新もできなくなったと思ったら。。。

ファイルの更新やアップロードができない。。。

SharePointで文書管理をしていて、ドキュメントリストのファイルをチェックアウトしようとしたら、こんなメッセージが出てきた。

URL ‘xxxx’ は正しくありません。存在しないファイルまたはフォルダーを参照しているか、または作業中の Web にないページまたはフォルダーを参照している可能性があります。

うーん、あるんだけれどなー。

更に、新たにファイルをアップロードしようとしたらこんなメッセージが。。。

ファイルまたはフォルダの名前 "ファイル名" に無効な文字が含まれています。名前を変更してください。無効な文字は次のとおりです : # % & * : < > ?/ \ { | } .

英数字のファイルなんだけれどなー。

他にもエクスプローラーからファイルを追加しようとしたら、違うメッセージが出てきたんだけれど、こっちのメッセージ内容は忘れちゃった。

サーバーのログを確認したら。。。

まぁ困ったらまずは、サーバーのイベントログですよね。こんなのが出てました。

イベントID:1105

データベース ‘WSS_Content’ にオブジェクト ‘dbo.AllDocStreams’.’AllDocStreams_CI’ の領域を割り当てられませんでした。’PRIMARY’ ファイル グループがいっぱいです。不要なファイルの削除、ファイル グループ内のオブジェクトの削除、ファイル グループへの新しいファイルの追加、またはファイル グループの既存のファイルの自動拡張の設定のいずれかを行ってディスク領域を作成してください。

あー、データベースファイルが固定だったのかーとおもい、とりあえず自動拡張にしてもまだ同じエラーが出る。もう少しログを確認してみたらこんなログも出てきました。

イベントID:1827

CREATE DATABASE または ALTER DATABASE が失敗しました。結果として生成される累積データベース サイズが、ライセンスされている データベース ごとの制限 4096 MB を超えることになります。

ライセンス違反???あれ?SQL ServerはStandardを使っているはずなのに。

もうちょっと調べると、TechNetにもこんなドキュメントが。

SQL Server データベースがいっぱいです – イベント 3758

うーんと思いながら、マネジメントスタジオでSharePointデータベースにログインしてみると。

ぐは、、、

データベースエンジンがExpressになってました。そりゃおこられるわ。。。

データベースエンジンのアップグレード

このままだとファイルどころかデータの保存もできなくなってしまうので、とりあえずバックアップを取ってデータベースエンジンのバージョンアップをということで、ココを参考にバージョンアップ作業。

バージョンとエディションのアップグレードを確認すると、2008 Expressから 2008 R2 Standardへのバージョンアップは問題なさげなので、データベースエンジンのバックアップだけで乗り切りたいなーと、SQL Server 2008 R2 にアップグレードする方法 (セットアップ)を見ながらバージョンアップ作業。

特に問題なくデータベースエンジンがバージョンアップできて、ファイルが追加できるようになりました♪

カテゴリー:ASP.NET, インフラ タグ:

SharePointのユーザーをPowerShellで修正してみる。

2011年7月25日 1件のコメント

Team Foundation Serverを使っています。

ビルドサーバーやレポートサーバー、データベースを冗長化したりするとActiveDirectoryがないとめんどいけれど、TFSもSharePointもデータベースもサーバー1台だしワークグループ構成でも困らないかなーとおもい。ついワークグループで構成してしまいました。

ソース管理やタスクの管理なんかは、ワークグループ構成でも全く問題なかったのですが、SharePointの通知を使おうとしたら、ワークグループ構成の場合、ユーザーのメールアドレスがSharePoint側に設定できない。。。

SharePointのSPUserにどうにかメールアドレスを設定出来ればいんだから、久々にSharePointのプログラミングでもしちゃおうかなと開発環境まで整えたところで、あれ?そういえばPowerShellで管理できたような。。。と思いとどまる。

TechNetのサイト管理のコマンドレット (SharePoint Foundation 2010)を覗くと、SPUserの取得はGet-SPUserコマンドレットで、SPUserへの設定はSet-SPUserコマンドレットで可能とのこと。とりあえず、TFSが動いているサーバーにリモートデスクトップで接続し、SharePoint 2010管理シェルを起動する。

起動したら、おもむろに次のコマンドを実行してみる。

$url = "http://xxx/sites/defaultcollection"
Get-SPUser -web $url

image

なんとなく取得できた気がするので、Set-SPUserに引き渡してみる。

Get-SPUser -web $url | Where-Object {$_.UserLogin -eq "SVTFS\sugiyama"} | Set-SPUser -Email "karuakun@gmail.com" -DisplayName "かるあ"

なんか、登録できたっぽい。

image

カテゴリー:ASP.NET, インフラ タグ: ,