コメント登録を受け付けるようにしました
まだコメントスパム対策は完成していないのですが、貴重なご意見をいただく機会が全くないのももったいないので、思い切ってコメント登録を受け付けるようにしました。 みなさま、色々とご意見ください。 よろしくお願いします。
まだコメントスパム対策は完成していないのですが、貴重なご意見をいただく機会が全くないのももったいないので、思い切ってコメント登録を受け付けるようにしました。 みなさま、色々とご意見ください。 よろしくお願いします。
Tech Ed、今年も無事に終わりました!! 今回は、前回のBoFとは全く違う形で進めさせていただきましたが、ご参加くださった方々はいかがでしたか? 私は、普段色々な方々とSharePointについてお話しさせていただいておりますが、今回のBoFではこれまで聞いたことがないような興味深いお話が聞けて、とても参考になりました。 私だけでなく、お越しいただいた方々全員が何かしら得るものがあったのではないかと思いますし、そうであることを願います。 山崎さんがおっしゃっておりましたが、今回のディスカッション内容がまとまったら共有させていただきますね。 Tech Ed の場だけでなく、色々な形で今後もみなさんと交流を深めていくことができたらいいなぁと思います。 また機会があれば、楽しくディスカッションしましょう!!
SharePoint API には、web.configを変更するためのクラスが用意されています。 このクラスを使うことで、たとえばFeatureのインストール時に自動的にweb.configを変更するということができるようになります。 web.configの変更には、SPWebConfigModificationクラスとSPWebServiceクラスを利用します。 例として、web.config内のappSettingsに値を追加する処理を書いてみます。 **1.変更内容をSPWebConfigModificationクラスにセットする。**SPWebConfigModificationクラスは、web.configに加える変更情報を保持するクラスです。 web.configを変更したい場合には、このクラスに変更内容をセットすることになります。
1: SPWebConfigModification appSetting = new SPWebConfigModification();
2: appSetting.Path = "configuration/appSettings";
3: appSetting.Name = "add[@key='NewKey']";
4: appSetting.Owner = "orivers";
5: appSetting.Sequence = 0;
6: appSetting.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;
7: appSetting.Value = "<add key='NewKey' value='NewValue'/>";
各プロパティの詳細はヘルプを見ていただくとして、ここでは簡単に説明します。 Pathプロパティに変更対象となるノードを指定し、Valueプロパティに変更内容を指定します。 Nameプロパティは、この変更を一意に識別するための値です。 Ownerプロパティも、Nameプロパティと合わせて、変更を一意に識別するために使用します。 Typeプロパティは、変更内容に合わせたタイプを指定します。 **2.変更を実行する。**SPWebConfigModificationクラスの作成が完了したら、web.configのアップデートをしたいWebアプリケーションで変更を実行します。
ついにWindows7のRTM版がmsdn subscriptionでダウンロードできるようになりました。 Windows7は、SharePointを動作させることができるとのことなので、Windows7のインストールが完了したら、真っ先に試してみようと思います。
ListTemplateIDの一覧です。
| ListTemplate | ID |
| GenericList | 100 |
| DocumentLibrary | 101 |
| Survey | 102 |
| Links | 103 |
| Announcements | 104 |
| Contacts | 105 |
| Events | 106 |
| Tasks | 107 |
| DiscussionBoard | 108 |
| PictureLibrary | 109 |
| DataSources | 110 |
| WebTemplateCatalog | 111 |
| UserInformation | 112 |
| WebPartCatalog | 113 |
| ListTemplateCatalog | 114 |
| XMLForm | 115 |
| MasterPageCatalog | 116 |
| NoCodeWorkflows | 117 |
| WorkflowProcess | 118 |
| WebPageLibrary | 119 |
| CustomGrid | 120 |
| DataConnectionLibrary | 130 |
| WorkflowHistory | 140 |
| GanttTasks | 150 |
| Meetings | 200 |
| Agenda | 201 |
| MeetingUser | 202 |
| Decision | 204 |
| MeetingObjective | 207 |
| TextBox | 210 |
| ThingsToBring | 211 |
| HomePageLibrary | 212 |
| Posts | 301 |
| Comments | 302 |
| Categories | 303 |
| IssueTracking | 1100 |
| AdminTasks | 1200 |
SPSiteやSPWebといった、SharePoint オブジェクトは、COMオブジェクトであるために、.NETのガベージコレクタではメモリが解放されません。 従って、きちんとDisposeをしてあげないといけないわけです。 Disposeをするタイミングについてまとまった記事があったのでご紹介します。 http://blogs.msdn.com/rogerla/archive/2008/02/12/sharepoint-2007-and-wss-3-0-dispose-patterns-by-example.aspx
http://www.sharepointdevwiki.com/display/public/When+to+Dispose+SharePoint+objects Disposeが正しく行われるようコードが書かれているかを自動的にチェックするツールが存在します。 私の環境ではエラーが出てうまく動いていません。。。
現在、ここのブログに対してコメントを登録することができなくなっています。 インターネットに公開して、しかも匿名でコメントを受け付けるようにしたいと思っているので、コメントスパム対策機能をイベントレシーバを使って実装しようとしています。 しかしこれがうまくいっていなくて、匿名ユーザーがコメントを登録しようとコメントを送信ボタンをクリックすると、なぜかメモリ不足エラーが出てしまいます。 認証済みユーザーがコメントを送信する分にはうまく動くんですけど。 ということで、匿名でのコメント受け付けは現在停止しています。 エラーの原因は現在調査中です。 直ったら解決策とともにお知らせしますので、今しばらくお待ちください。
昨年のTechEd 2008に参加された方は、もしかしたらご存知かもしれませんが、今年もTechEdにてBoFをやります!
昨年同様、SharePointMVPの大先輩である、北端さん、山崎さんとのコラボレーション企画になります。
詳細は、山崎さんがいち早くブログを書いてくださったので、そちらを参照してください。 http://shanqiai.weblogs.jp/sharepoint_technical_note/2009/07/microsoft-teche.html
昨年BoFをやってみて、みなさんがSharePointに対して日ごろどんな悩みを抱えていらっしゃるのか、肌身に感じることができました。
その悩みを心の中にしまっておくだけでは何も変化は起きないということで、今年は昨年よりもよりBoFらしく全員参加型にして、みなさんの悩みをSharePointの生みの親であるマイクロソフトにフィードバックするということをゴールにしています。
みなさんの色々な思い、せっかくなのでマイクロソフトに届けてあげましょうよ。
ということで、みなさんのご参加、お待ちしております。
今日は、このサイトをWSS化して、インターネットに公開するにあたり気を付けたことを一つ書きたいと思います。
それは、すべてのコンテンツページ(layoutsフォルダ配下のviewlsts.aspx)へのアクセスをどのように拒否するかということです。
なぜ拒否する必要があったかというと、以下のような理由があるからです。 ・その他のページとマスターページを合わせるのが困難 ・見せたくないコンテンツまで見えてしまう
特に1つ目の問題は、見た目が大事な外部公開サイトでは結構大きな問題になるかなと思います。
今回のように特定のページへのアクセスを防ぐ方法はいくつかあると思いますが、今回はHTTPモジュールを使ってリクエストされたURLをみて、リクエストを受け入れるか、拒否するかを判断する処理を追加してみました。
ちょっとエラーの出かたがいけてないのですが、本来の目的は果たせているかなと思っています。
SharePointのリストやブログは、標準でRSSフィードを配信する機能を持っています。
ただし、RSSフィードを使用する設定をしただけの状態では、RSSフィードの中身(タイトルや表示項目)は、ややいけてない状態になっています。
たとえば、ブログサイトのRSSフィードのタイトルの初期値は、「ブログ:投稿」です。
このタイトル、なんのこっちゃよくわからないので変更したくなりますよね。
そんな時は、以下のように設定を変更してください。
1.RSS設定ページへ移動設定変更をしたいリストの設定ページにある「RSS設定」をクリックし、RSS設定ページへ移動します。
2.設定変更RSS設定ページで、必要項目を変更します。
ちなみにブログのRSSフィードの初期設定は以下のようになっています。
画像を見ると分かりますが、タイトルが「ブログ:投稿」になってますよね。
ここを変えれば、RSSフィードのタイトルが変わります。