<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>サイボウズ Office 開発ブログ</title>
      <link>http://cydn.cybozu.co.jp/office/</link>
      <description>次世代のサイボウズ Office X を開発中です。開発状況や技術情報をお伝えしていきます。</description>
      <language>ja</language>
      <copyright>Copyright 2008</copyright>
      <lastBuildDate>Fri, 21 Nov 2008 14:00:00 +0900</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>Office 8 では YUI を採用！</title>
         <description><![CDATA[<p>こんにちは、岡田です。</p>

<p>来春リリース予定の Office 8 では、機能の豊富さや拡張性を考慮し、JavaScript のライブラリに <a href="http://developer.yahoo.com/yui/" target="_blank">YUI (Yahoo! User Interface Library)</a> を採用しました。</p>

<p>Office 8 の開発が始まった頃 YUI のバージョンは 2.5.0 でしたが、数か月の間に 2.5.0 → 2.5.1 → 2.5.2 → 2.6.0 とバージョンアップがあり、Office 8 でもその都度ファイルを更新してきました。<br />
YUI を更新することにより、Office 8 で正常に動作しなくなるところが出てくるといけないので毎回変更箇所のチェックを行っていますが、今回は YUI 2.6.0 の変更箇所のうち Office 8 の動作に影響があったコンポーネントをご紹介します。</p>

<p><b><a href="http://developer.yahoo.com/yui/container/" target="_blank">Container</a></b></p>
<p><a href="http://e-words.jp/w/E383A2E383BCE38380E383ABE38380E382A4E382A2E383ADE382B0.html" target="_blank">モーダルダイアログ</a>を表示する際、ダイアログの後ろにあるリンクやボタンを無効化する（フォーカスがあたらないようにする）処理が変更になりました。<br />
2.5.2 までは、Tab キーでフォーカスがあたる HTML の全要素（全ての a, button, select, textarea, input 要素）に onfocus イベントハンドラをセットし、フォーカスがあたったらすぐ blur() するようになっていました。<br />
しかし、要素数が多いと onfocus イベントハンドラをセットするだけで数秒かかってしまってダイアログがなかなか表示されない…、といったことが起こってしまいます。<br />
2.6.0 では keydown イベントハンドラのみをセットし、Tab キーが押された時にフォーカスする要素をブラウザ任せではなく JavaScript で強制的に制御するようになりました。<br />
これにより、要素数に関係なくモーダルダイアログを軽快に表示できるようになりました。</p>

<p><b><a href="http://developer.yahoo.com/yui/treeview/" target="_blank">TreeView</a></b></p>
<p>ツリー上で keydown イベントが発生したらどのキーが押されたかを判別し、サブフォルダを開閉する処理が追加されました。ツリーのノードにフォーカスをあてて、矢印キーや「＋」「－」キーを押してみてください。（あまり使わないかもしれませんが…。）</p>

<p>今回ご紹介した2つ以外にも、Office 8 では <a href="http://developer.yahoo.com/yui/dragdrop/" target="_blank">Drag &amp; Drop</a> や <a href="http://developer.yahoo.com/yui/menu/" target="_blank">Menu</a> など、様々なコンポーネントを利用してリッチな UI を実現しています。パソコンの操作に慣れている方にもそうでない方にも、使っていて楽しいと思っていただけるような操作性をご提供できるよう、これからも新しいことにどんどんチャレンジしていきたいと思います。</p>]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/11/office_8_yui.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/11/office_8_yui.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office 8</category>
        
        
         <pubDate>Fri, 21 Nov 2008 14:00:00 +0900</pubDate>
      </item>
            <item>
         <title>ITPRO EXPO 2008 にて</title>
         <description><![CDATA[こんにちは、梶田です。

先日行われた<a href="http://itpro.nikkeibp.co.jp/expo/index.html" target="_blank">ITPRO EXPO 2008</a>に参加してきました。
サイボウズからも出展していまして、ブース内にて来春リリース予定のOffice8とデヂエ8を展示し、今回はそのサポートとしての参加です。

<a href="http://kantan.cybozu.co.jp/topics/office8/" target="_blank"><font size="+1">『Office8 & デヂエ8の新機能』</font></a>

<b>ITPRO EXPO 2008</b>
<img title="ITPROEXPO2008" src="http://cydn.cybozu.co.jp/office/ITPROEXPO2008.jpg" width="400" height="270" />

このような場は、実際に使用しているユーザー様の声が直接聞ける貴重な場でもあります。しかも、Office8を実際に触っていただくのは初めてなので、開発者側からするとドキドキします。

<a href="http://kantan.cybozu.co.jp/office7/" target="_blank">Office7</a>をリリースした時にもこのITPRO EXPOに参加しましたが、Office7では管理者をターゲットにした強化が中心だったため、管理者でないユーザー様の反応としましては、もっとユーザー側の機能アップが欲しいという声が多く、その想いを乗せ、Office8はエンドユーザー向けの機能強化を多く取り入れました。

まずOffice8の大きな目玉は、Officeとデヂエの連携です。なんと、Officeの中で一つのアプリのようにデヂエが使用できちゃいます。会場では、連携にちなんで「Officeとデヂエの結婚」というタイトルで巨大なウエディングケーキを青野社長がケーキカットを行うイベントを行いました。実際、Officeとデヂエを使用いただいているユーザー様に触っていただいた感想は、「今までOfficeとデヂエを別々に立ち上げて操作していたが、連携できることにより使いやすくなりそう」という声をいただきました。また、Office8では「製品内リンク」という新機能の追加により、現在表示している画面をブラウザで言うところの「お気に入り」に入れる感覚で登録できるため、よく使用するデヂエの画面を登録することで、さらに連携機能がアップされます。

<b>office&dezie ウエディングケーキ</b>
<img title="office&dezie" src="http://cydn.cybozu.co.jp/office/office&dezie.JPG" width="280" height="210" />

その他、パスワードの有効期限や桁数の制限、メール振り分け設定、スパムメール対策の機能強化、スケジュール印刷などご要望が多かった機能を追加しています。また、トップページ上でパーツをドラッグ＆ドロップで直接移動できるようになったり、ワンクリックでメール内容の一部を抄録できたりと、インターフェース面での機能強化も豊富に搭載しています。私の個人的な感想としましては、<b>痒いところに手が届き、使うほどにその使いやすさがクセになる</b>ようなイメージだと感じています。これらの機能も反応は上々で、既存ユーザーの方々からはぜひバージョンアップしたいという声をいただき、また、初めてみた方からも好印象を持っていただきました。

今回のイベントを通して実際にOffice8を触っていただくことで、また新たなご要望もいただきました。日々、画面と向き合っているだけでは見えてこない部分を気付かせていただける貴重な意見です。
たくさんの意見を考慮し、日々改良を重ねておりますのでどうぞよろしくお願いいたします。そして、Office8の来春リリースをお楽しみに！
]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/10/itpro_expo_2008.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/10/itpro_expo_2008.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office 8</category>
        
        
         <pubDate>Mon, 20 Oct 2008 18:40:01 +0900</pubDate>
      </item>
            <item>
         <title>Office 8 只今開発中！</title>
         <description><![CDATA[お久しぶりです、田中です。

昨日、<a href="http://cybozu.co.jp/events/v8/"><font size="+1">８８（パチパチ）キャンペーン</font></a>の<a href="http://group.cybozu.jp/news/08090101.html">プレスリリース</a>と一緒に、現在私たちが開発を進めている製品が「<font size="+2">サイボウズ Office 8</font>」というメジャーバージョンアップであることを公表させていただきました。ちょうど、日経BP社の顧客満足度調査で8回連続の部門1位をいただいたことと次期版バージョン番号の「８」をとって「パチパチ」というわけです。

この企画は、只今開発を進めている<a href="http://kantan.cybozu.co.jp/office7/">サイボウズ Office 7</a>の次期バージョンのデモサイトを公開して、応募いただいた皆様の中から<font size="+1">888名</font>の方々にその環境へアクセスするアカウントをご案内するという内容です。開発を含めて初めての試みとなりますが、お試しいただく方々により便利なツールとして進化していく姿を楽しみながら体感していただけるように日夜開発を続けておりますので多くの方々にご応募いただければと考えております。

現行バージョンの<a href="http://kantan.cybozu.co.jp/office7/">サイボウズ Office 7</a>では長くメジャーバージョンアップされていなかったこともあり、まずは日々運用に携わっている管理者の方々をターゲットにした強化が中心となりましたが、次のバージョンでは比率的にエンドユーザー指向の機能強化を多く取り入れ、管理者向け機能としてはセキュリティ機能の強化やトラブル時の原因調査にかかる時間を可能な限り短縮していくためのサポート機能などを盛り込んでいます。もちろんその他にも多くのご要望をいただいていた機能や新たにチャレンジしていく機能などここでは書ききれないほどの機能が盛り込まれています。また、そうした強化を経てもサイボウズらしく改まった教育がなくても新規の方もバージョンアップの方も十分に活用していただけるように細心の注意を払って開発を進めております。

<font size="+2">今月一杯はデモアカウントの募集を行っております</font>ので
皆様からのたくさんのご応募を心よりお待ちしております。

デモサイトの公開を前に少しつづでも新たな機能、その仕組みを紹介していければと思っておりますのでどうぞお楽しみに！

]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/09/office_8.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/09/office_8.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office 8</category>
        
        
         <pubDate>Tue, 02 Sep 2008 11:26:46 +0900</pubDate>
      </item>
            <item>
         <title>「８」にちなんで UTF-8</title>
         <description><![CDATA[岡田です。

現在サイボウズでは <a href="http://group.cybozu.jp/news/08081401.html">「８」にちなんだキャンペーンを計画中</a> なのですが、せっかくなのでこのブログでも「<b>８</b>」にちなんで UTF-<b>8</b> に関するお話をさせていただこうと思います。

昨年 Office 開発グループに配属され、自由課題で Office に Ajax アプリケーションを実装していた時の話ですが、Ajax で日本語のデータを送信すると文字化けが発生しました。

Ajax で日本語のデータを送信する場合、EncodeURIComponent() 関数などでURL エンコードする必要がありますが、この関数では自動的に UTF-8 でエンコードされます。
しかし、Office のデータベースの文字エンコーディングは Shift JIS ですので、そのまま保存して、そのまま取り出して表示すると文字化けが発生する、というわけです。

文字化けを発生させないためには、JavaScript で Shift JIS に URL エンコードできるようにするか、CGI で UTF-8 から Shift JIS に文字エンコーディングを変換（もしくはその逆を）できるようにするしかないのですが、どちらもなかなか大変な処理になってしまいます。

<ul>
<li><b>JavaScript で Shift JIS に URL エンコードする方法</b><br/>
Shift JIS のコード表を用意してShift JIS コードに変換する方法や、
Unicode から Shift JIS のマッピング表を用意して charCodeAt() 関数で Unicode に変換した後、Shift JIS に変換する方法などが考えられます。
しかし、いずれの方法でも巨大な表を常に読み込まないといけないので、パフォーマンスに影響が出てしまうのは避けられないところです。
</li>
<li><b>CGI で UTF-8 から Shift JIS に文字エンコーディングを変換する方法</b><br/>
PHP には mb_convert_encoding() という気の利いた関数が用意されているのですが、C++ には用意されていません。もちろん、Windows では MultiByteToWideChar() 関数とWideCharToMultiByte() 関数を、Linux では iconv を使うという手もあります。
しかし、自分たちで一から作っておいた方が何か問題があった時にメンテナンスが楽なので、Unicode から Shift JIS のマッピング表を用意して、UTF-8 から Unicode に変換した後、Unicode から Shift JIS に変換する方法が無難かと思います。
</li>
</ul>

結局のところ、文字エンコーディングの変換は C++ でコツコツ書くのが一番かなぁという結論です。]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/08/_utf8.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/08/_utf8.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office 7</category>
        
        
         <pubDate>Fri, 22 Aug 2008 19:26:54 +0900</pubDate>
      </item>
            <item>
         <title>「感謝」と「期待」</title>
         <description><![CDATA[「<a href="http://kantan.cybozu.co.jp/office7/" target="_blank">サイボウズ Office</a>」 プロダクトマネージャの山田です。

おかげさまで、「<a href="http://itpro.nikkeibp.co.jp/NC/index.html" target="_blank">日経コンピュータ</a>」誌 の「第１３回顧客満足度調査」グループウエアソフト部門にて、<font size="+1"><b>８回連続で１位</b></font>を獲得させていただきました。

昨年、４年ぶりにメジャーバージョンアップを行いましたが、長い期間「もう面倒を見ないつもりか」という思いで待たれていたお客様も多かったと思います。
「<a href="http://kantan.cybozu.co.jp/office7/" target="_blank">サイボウズ Office 7</a>」の開発にあたり、いつも「<a href="http://kantan.cybozu.co.jp/office7/" target="_blank">サイボウズ Office</a>」を運用してくださっているシステム管理を行っている方にとって、必要な機能を用意することから始めようと思いました。おかげさまで、大きな迷惑をかけることもなく、順調にバージョンアップをしていただいており、製品に関わった者一同、本当に感謝しております。

ただ、「<a href="http://kantan.cybozu.co.jp/office7/" target="_blank">サイボウズ Office</a>」は４年のブランクを経て進化を再開したばかりです。今回、高評価をいただいたのは「期待」の意味も大きいのではないかと思っています。この「期待」に、私たちが応えられるかについては、今後リリースする製品・サービスや、お客様へのサポートから判断していただき、足らないことがあれば、指摘していただきながら、お客様と共に成長したいと思っております。

今後とも、「<a href="http://kantan.cybozu.co.jp/office7/" target="_blank">サイボウズ Office</a>」を、よろしくお願いいたします。
]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/08/post_3.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/08/post_3.html</guid>
        
        
         <pubDate>Thu, 14 Aug 2008 18:52:59 +0900</pubDate>
      </item>
            <item>
         <title>はじめまして</title>
         <description>はじめまして、 8月1日より、Office開発チームに配属された新人の梅田と申します。

まだ配属されたばかりで、実際の開発にはこれから少しづつ参加していくことになりますので、
皆様にOffice開発の話題をお伝えするにはもっと多くのことを先輩方から吸収していかなければなりません。
そこで、今回はOfficeの開発に飛び込んできた私の意気込みをお伝えさせていただきたいと思います。

私が以前アルバイトをしていた某IT会社では、Office6を導入していました。
その会社では、Officeのスケジュール機能を使い、休みの申請をするようになっていました。
しかし、社内でのコミュニケーションは通常のWebメールで行っており、Officeの他の機能は一切使われていませんでした。
この時の私はグループウェアでどんなことができるのかを全く知らず、Webメールを使ってコミュニケーションするスタイルが当たり前だと思っていました。

実際にグループウェアの良さや便利さを知ったのはサイボウズに入社してからです。
グループウェアにはたくさんの機能があり、一から一つ一つ学んでいかないといけないため、使い始める前は少し抵抗がありました。
しかし、実際に使ってみると自分のスケジュールがすぐに確認できたり、空いている会議室を簡単に押さえることができたりと、
非常に便利なツールだということに気づきました。Webメールで行うよりも円滑に社内の人とコミュニケーションを行うことができ、
今まで自分が当たり前だと思っていた会社のコミュニケーションスタイルを覆すツールでした。

既にOfficeを導入いただいているユーザー様も多くいらっしゃいますが
まだ、Officeに触れる機会がなかったり、知っていただくチャンスがなかったりして
私の感じる便利さをお伝えできていない方々も多くいると思います。

そこで私がOffice開発でやっていきたいと思っているのは、ユーザー様に便利さやメリットが伝わりやすく、
今よりももっと「使ってみたい」「使ってみよう」と思っていただけるような製品へとOfficeを進化させていくことです。
お客様に便利に使っていただくのはもちろんのことですが、
使うという第一のステップをより多くの方に踏んでいただけるように励んでいきたいと思います。

次にこのブログを書く機会がありましたら、皆様の希望に応えることができるような
Office開発のお話をお伝えしたいと思います。
これからも宜しくお願いします m__m

</description>
         <link>http://cydn.cybozu.co.jp/office/2008/08/post_2.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/08/post_2.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office 7</category>
        
        
         <pubDate>Fri, 01 Aug 2008 17:26:42 +0900</pubDate>
      </item>
            <item>
         <title>日本語ファイル名の悩み</title>
         <description><![CDATA[田中です、お久しぶりです。

Webアプリケーションを開発していると仕様としてRFCを参照することが頻繁にあるのですが、実際の開発の中ではRFCに準拠しつつ個別にブラウザの癖を吸収しつつ進めることになって、なかなかRFCに準拠すればそれで問題なく動作するということにはなってくれません。
その中でも長い間悩まされているのが、ファイルダウンロード時の日本語ファイル名の付け方です。問題の元にあるのはファイル名に使われる文字列のエンコード形式を指定する方法がRFCで定義されていなかった、というところにあると思いますが、これがなかなかの曲者です。
ファイルダウンロード時の保存ファイル名を決める方法は、

<ol>
<li style="font-size:100%">URLにファイル名を付加する</li>
<li style="font-size:100%">Content-Dispositionヘッダでfilenameを指定する</li>
</ol>
の2通りの方法がありますがブラウザによってファイル名の解釈の仕方、挙動が全然違うのです。
<ol>
<li style="font-size:100%">IEの場合
左クリックして保存する場合も、右クリックして対象を保存する場合も共にファイル保存ダイアログが開かれる前にサーバーへアクセスし、Content-Dispositionヘッダがあれば必ずこれを参照します。
ただしContent-DispositionヘッダのfilenameはURLエンコードされたUTF-8文字列として解釈しますが、拡張子のない場合にはURLデコードされないようです。生のShift_JISコードで指定されているとShift_JISのままファイル名を解釈します。
</li>
<li style="font-size:100%">FireFoxの場合
左クリックして保存する場合には保存前にサーバーへアクセスして、Content-Dispositionヘッダがあればこれを参照します。しかし右クリックして対象を保存する場合にはサーバーへアクセスせずにURLから保存するファイル名を決定します。Content-Dispositionヘッダのfilenameはそのままの文字列で保存ファイル名として使われ、<a href="http://www.ietf.org/rfc/rfc2231.txt" target="_blank">RFC2231</a>形式に対応している。
</li>
</ol>

少し上に「ファイル名文字列のエンコード形式を指定する仕様がない」と書きましたが、現在は<a href="http://www.ietf.org/rfc/rfc2231.txt" target="_blank">RFC2231</a>という仕様がありFireFoxはこれを正しく解釈してくれるので、FireFoxからのアクセスの場合にはこの形式でファイル名をしているサービス、アプリケーションも現在は多いようです。
私たち開発者が頭を悩ますのは、上のようにIEはファイル名の解釈で独自の挙動を持っており、IEでもFireFoxでも正しく日本語ファイル名を解釈させようとするとContent-Dispositionヘッダのfilenameに生のShift_JISで指定するということになってしまうからです。RFCでは非ASCII文字をそのまま送信する仕様などありませんので違反といわれてしまっても止む無しという感じにもなります。
さらに困ったことには、Excel や Word には解釈できるURLの長さや、開く際のファイルパスの長さに制限を持っていて、日本語ファイル名をUTF-8でURLエンコードした場合にはURLやファイル名が長すぎてしまって Excel や Word などで開けなくなるということが発生します。このためにファイル名を切らざるを得ない場合なども出てきてしまい日本語に限定すると1文字を2バイトで表せるShift_JISの方がファイル名が切れにくくなるのです。

利用する立場からすると、保存したファイルがそのままダウンロードできるということはごく当たり前のことなのですが、こんなちょっとしたことですごく頭を悩ませたりすることになるのです。
いつかRFC2231で統一されるときが来るとは思うのですが、まだまだしばらくは悩ましい対応していくことになるのだと思います。


参考
<li style="font-size:100%"><a href="http://support.microsoft.com/kb/436153/ja" target="_blank">ファイルのダウンロードダイアログで表示されるファイル名の命名規則</a></li>
<li style="font-size:100%"><a href="http://support.microsoft.com/kb/416351/ja" target="_blank">[XL2002] 長い URL から Excel ファイルが開けない問題</a></li>
<li style="font-size:100%"><a href="http://support.microsoft.com/kb/926199/ja" target="_blank">長いファイル名を持つファイルを開けないで、 変換ファイル ダイアログ ボックスが Word 2007 に表示されます。</a></li>
<li style="font-size:100%"><a href="http://support.microsoft.com/kb/416352/ja" target="_blank">[WD2000]長いURLからWord文書が開けない問題</a></li>

]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/07/post_1.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/07/post_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office 7</category>
        
        
         <pubDate>Fri, 18 Jul 2008 10:53:29 +0900</pubDate>
      </item>
            <item>
         <title>Google Protocol Buffer</title>
         <description><![CDATA[畑です。

先日 Google から <a href="http://code.google.com/p/protobuf/" target="_blank">Google Protocol Buffer</a> というデータ交換ツールがオープンソース化されました。

 ・  <a href="http://japan.cnet.com/news/media/story/0,2000056023,20376854,00.htm" target="_blank">グーグル、XMLに代わるデータ交換ツール「Protocol Buffers」をオープンソース化</a>

XMLに変わるものということですが、テキストである必然性がない場合であれば、つまりバイナリ形式でも問題ないのであれば、データサイズを小さくできるし、読み書き速度も上がるので良いと思います。

Java, Python, C++ に対応とのことですが、サイボウズ Office X も C++ で開発しているので、使えそうな場面がありそうです。

<a href="http://code.google.com/p/protobuf/" target="_blank">プロジェクトページ</a>の Quck Example を見るかぎりでは、ファイルストリームへの読み書きもサポートしているようなので、データベースに保存しないデータをファイルに保存する場合にも使えそうです。また、データベースへの保存においても、設定情報などを固めてBLOBのカラムに保存するような使い方ができそうです。
]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/07/2008-07-10.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/07/2008-07-10.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office X</category>
        
        
         <pubDate>Thu, 10 Jul 2008 15:26:25 +0900</pubDate>
      </item>
            <item>
         <title>バックグランドでコンバート</title>
         <description><![CDATA[畑です。

以前、<a href="http://cydn.cybozu.co.jp/office/2008/04/hybrid_converter.html">ハイブリッド・コンバーター</a>と題して、現バージョンから次期版へのコンバートの方式に関するアイデアを説明しましたが、ちょうど今月実際のデータを使ったコンバート実験を行っているところです。

オンデマンドで、またはバックグランドでコンバートを行う旨の解説を以前の記事では行いましたが、最近はバックグランドで行う方向に傾きつつあります。そこで、バックグランドでの方式をもう少し詳しく説明したいと思います。

ユーザーの環境によっては、多数のユーザーで長い間サイボウズ Office シリーズを使用している環境もあれば、少数のユーザーで比較的短い期間しか利用していない環境もあるでしょう。蓄積されたデータのサイズが小さいユーザーであれば、バックグランドで行うといっても、すぐに完了してしまうかもしれませんが、サイズが大きいユーザーであれば動作しているマシンのスペックにもよりますが、何時間か、場合によっては１日以上時間がかかるケースがあるかもしれません。しかし、コンバートに時間がかかりすぎると業務に支障をきたすことになります。

そこで、バックグランド方式ではコンバートが完全に完了していないくても使用を開始できることを前提に考えています。コンバートするデータの順番に優先順位を付けておいて、使用開始に最低限必要なデータのコンバートが完了した後に、その他のデータを順次コンバートしていく方式です。そのかわり、コンバート中にアクセスしていてもトラブルが起こらないように設計する必要があります。

使用開始に最低限必要なデータとは、例えば以下のようなデータです。

 ・  システム設定データ
 ・  個人設定データ
 ・  未来のスケジュールデータ
 ・  未完了のToDoデータ
 ・  進行中のワークフローデータ

そして、その他のデータについては、参照頻度の高いデータが優先順位として高くなります。アプリケーション別にみていきますと、例えば以下のようになります。

 ・  掲示板データは最終更新日時が近い順番に
 ・  過去のスケジュールデータは昨日のスケジュールから順番に過去に

あと、バックグランド方式の場合、コンバート中にアクセスされることを想定するので、どの程度コンバートが完了しているかをアクセスしているときに表示する仕組みが必要であると考えています。]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/06/2008-06-24.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/06/2008-06-24.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office X</category>
        
        
         <pubDate>Tue, 24 Jun 2008 11:07:08 +0900</pubDate>
      </item>
            <item>
         <title>サイボウズ Office に登場する人たち</title>
         <description><![CDATA[サイボウズ Office の PM を務めている山田と申します。初めまして。

PMとはプロダクトマネージャーの略で、サイボウズの各製品・サービスのコンセプトやビジネスプラン、そして製品要件を決める責任者です。今回は私が決めている「サイボウズ Office」の要件定義について、少々解説いたします。

「サイボウズ Office」の要件を考える上で、登場人物(「～が～できる」の「～が」の部分)を考えるわけですが大まかに以下のように考えています。

<ul>
<li>システム管理者<br>(「サイボウズ Office」システムに責任を持つ人)</li>
<li>運用管理者<br>(「サイボウズ Office」のアプリケーションの運用を行う人)</li>
<li>ユーザー<br>(「サイボウズ Office」を使う人)</li>
</ul>

個人に提供するサービスであれば「ユーザー」を中心に考えるところですが「サイボウズ Office」の場合には、「システム管理者」を中心に考えています。
(もちろん「ユーザー」は、「システム管理者」「運用管理者」も含みます。)

「サイボウズ Office」は、「誰でも使いやすい」という評価をいただいていますがそれは、サイボウズの代わりに社内で「サイボウズ Office サービス」を展開している「システム管理者」の方々のおかげだと考えています。

そういう方々が、苦労しないように。
そういう方々が、使っているユーザーから感謝されるように。
そういう方々が、「情報を管理する」能力が向上するように。

そんなことを考えながら、要件を決めております。]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/06/requirements.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/06/requirements.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office 7</category>
        
        
         <pubDate>Fri, 13 Jun 2008 09:24:49 +0900</pubDate>
      </item>
            <item>
         <title>typedef には少し注意</title>
         <description><![CDATA[畑です。<br />
<br />
今日は C++ の話を１つ。<br />
<br />
MySQL のラッパークラスを作ろうと<br />
<br />
Database.h
<pre style="border: 1px solid #999; padding: 0.5em">
struct MYSQL;

class Database
{
protected:
    MYSQL *m_pMySQL;
    ...
};
</pre>
Database.cpp
<pre style="border: 1px solid #999; padding: 0.5em">
#include "Database.h"
#include &lt;mysql.h&gt;

Database::Database()
: m_pMySQL(NULL)
{
}
</pre>
としたのですが、「'MYSQL':再定義されています。」というコンパイルエラーが出ました。<br />
<br />
struct MYSQL; とやって、ポインタとなるメンバー変数を定義できるようにしておき、後で #include &lt;mysql.h&gt; 内で struct MYSQL を定義しようというのが意図です。「struct ではこの方法が使えないのかなあ。確か class では使えたはずなのに」と思いましたが違いました。&lt;mysql.h&gt; 内を良く見ると、
<pre style="border: 1px solid #999; padding: 0.5em">
typedef st_mysql
{
    ...
} MYSQL;
</pre>
となっていました。ですから、struct MYSQL; ではなく、struct st_mysql; とすればコンパイルは通りました。]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/06/2008-06-10.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/06/2008-06-10.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office X</category>
        
        
         <pubDate>Tue, 10 Jun 2008 16:09:22 +0900</pubDate>
      </item>
            <item>
         <title>明日のグループ社内発表会でサイボウズ Office X の進捗を報告</title>
         <description><![CDATA[畑です。

明日は<a href="http://labs.cybozu.co.jp/" target="_blank">サイボウズ・ラボ</a>で４ヶ月に１度行っている研究開発発表会です。発表者はラボのメンバーで、参加者はグループ会社の人達になります。

そして、明日の発表会でサイボウズ Office X プロトタイプ開発の進捗を報告する予定です。まだまだ社外には公開できない内容なのですが、発表内容の目次だけでも公開したいと思います。

1. 概要
2. 要件
3. CyDE1.5
　・ 開発言語
　・ Webアプリケーション・フレームワーク
　・ テンプレートエンジン
4. Office X
　・ 旧バージョンからのデータコンバート
　・ 新機能の提案 to PM

「3. CyDE1.5」ですが、社内的に<a href="http://kantan.cybozu.co.jp/office7/" target="_blank">サイボウズ Office 7</a> までの開発フレームワークを「CyDE1.0」と呼び、<a href="http://g.cybozu.co.jp/garoon/" target="_blank">ガルーン2.x</a>の開発フレームワークを「CyDE2.0」と呼んでいるので、何となくその間をとって「CyDE1.5」と呼んでいます。

「開発言語」の項では、「<a href="http://cydn.cybozu.co.jp/office/2008/04/develop_by_cpp.html" target="_blank">C++で開発</a>」で述べたような内容を発表します。

本ブログでも以前「<a href="http://cydn.cybozu.co.jp/office/2008/04/template_engine.html" target="_blank">テンプレートエンジン</a>」について述べましたが、CyDE1.5におけるテンプレートエンジンについても説明します。

また「<a href="http://cydn.cybozu.co.jp/office/2008/04/hybrid_converter.html" target="_blank">ハイブリッド・コンバーター</a>」の回でデータコンバーターについて触れましたが、「旧バージョンからのデータコンバート」の話もあります。

それから製品として世にリリースされるときには機能として提供されるかどうか分かりませんが、プロトタイプ開発の側からの「新機能の提案」も行おうと思っています。
]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/06/2008-06-03.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/06/2008-06-03.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office X</category>
        
        
         <pubDate>Tue, 03 Jun 2008 09:57:50 +0900</pubDate>
      </item>
            <item>
         <title>本の紹介：デザイニング・インターフェース</title>
         <description><![CDATA[畑です。

今日は現在読んでいる本を紹介したいと思います。「<a href="http://www.amazon.co.jp/dp/4873113164/" target="_blank">デザイニング・インターフェース～パターンによる実践的インタラクションデザイン</a>」という本です。アプリケーションソフトウェアで良く使われるユーザーインターフェースをパターンに分類して、パターンごとにどのような場面で使うべきかなどが簡潔に説明されていて、よくまとまっています。例の画面のスクリーンショットも非常にカラフルで分かりやすくなっています。去年（２００７年）の１月に第１刷が出版されているようなので、もっと早く読んでおけば良かったと思いました。

<div style="text-align:center"><a href="http://www.amazon.co.jp/dp/4873113164/" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51xwxPUCp0L._SL160_.jpg" / border="0" /></a></div>

次世代サイボウズ Officeの開発でも参考にしたいと思います。]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/05/2008-05-29.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/05/2008-05-29.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office X</category>
        
        
         <pubDate>Thu, 29 May 2008 10:51:07 +0900</pubDate>
      </item>
            <item>
         <title>記念Tシャツのプレゼント</title>
         <description><![CDATA[Tシャツ担当の岡田です。

先日の記事「<a href="http://cydn.cybozu.co.jp/office/2008/05/office_7_t.html">Office 7 記念Tシャツ</a>」に、「<b>このTシャツほしい</b>」というコメントをいただきました。
在庫を確認したところ、なんと白色が1枚だけ余っていました。

<b>そこで！</b>
<span style="font-size: 120%;"><b>限定1名の方に抽選でプレゼントしたいと思います！！</b></span>

ご希望の方は件名に「Tシャツ希望」と記載して、下記のメールアドレス宛にメールをお送りください。（名前、住所等は一切不要です。）

<table border="0" cellpadding="0" cellspacing="0"><tr valign="middle"><td>宛先メールアドレス：</td><td><img alt="mail.gif" src="http://cydn.cybozu.co.jp/office/mail.gif" width="140" height="27" /></td><td>（お間違えのないようお気をつけください）</td></tr></table>
応募締切：2008年5月30日（金）

当選した方には、お送りいただいたメールアドレス宛に後日メールでご連絡させていただきます。
※いただいたメールアドレスは抽選と当選のご連絡のためにのみ使用します。

<b>たくさんのご応募をお待ちしております！</b>]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/05/t.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/05/t.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office 7</category>
        
        
         <pubDate>Fri, 23 May 2008 17:55:52 +0900</pubDate>
      </item>
            <item>
         <title>社外グループウエア AltSpace の紹介</title>
         <description><![CDATA[畑です。

イントラネット（社内）のグループウエアと言えば、<a href="http://kantan.cybozu.co.jp/office7/" target="_blank">サイボウズ Office</a> や<a href="http://g.cybozu.co.jp/garoon/" target="_blank">サイボウズ ガルーン</a>があげられますが、今日は社外（自分の組織外）の人とコミュニケーションを行うためのグループウエア <a href="http://altspace.jp/" target="_blank">AltSpace</a> を紹介したいと思います。

AltSpace とは<a href="http://labs.cybozu.co.jp/" target="_blank">サイボウズ・ラボ</a>で開発され、サイボウズ本社と共同で運営されているサービスです。社外・組織外の、例えば、同窓会、同期会、前職の仲間などの限られた人々と、掲示板を通じてコミュニケーションを行うことができます。

AltSpace を利用するには、既に AltSpace の会員となっている人から招待を受けるか、または「<b>サイボウズ(R) ネットID</b>」のアカウントを<a href="https://id.cybozu.com/apply" target="_blank">新規に作成する</a>ことにより AltSpace を利用できるようになります。

無料で利用して頂けるようになっております。

AltSpace はデータベースに MySQL を利用して開発されているので、同じグループウエアとして次世代のサイボウズ Office X の開発の参考にしています。特に<a href="http://cydn.cybozu.co.jp/office/2008/05/2008-05-12.html" target="_blank">テーブル定義</a>については AltSpace の開発の際に吟味した内容がかなり活かせると踏んでいます。]]></description>
         <link>http://cydn.cybozu.co.jp/office/2008/05/2008-05-21.html</link>
         <guid>http://cydn.cybozu.co.jp/office/2008/05/2008-05-21.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Office X</category>
        
        
         <pubDate>Wed, 21 May 2008 12:54:31 +0900</pubDate>
      </item>
      
   </channel>
</rss>
