Archives
2009
1 2 3 4 5 6 7 8 9 10 11 12
2010
1 2 3 4 5 6 7 8 9 10 11 12
2011
1 2 3 4 5 6 7 8 9 10 11 12
2012
1 2 3 4 5 6 7 8 9 10 11 12
2013
1 2 3 4 5 6 7 8 9 10 11 12
2014
1 2 3 4 5 6 7 8 9 10 11 12
2015
1 2 3 4 5 6 7 8 9 10 11 12
2016
1 2 3 4 5 6 7 8 9 10 11 12
2019
1 2 3 4 5 6 7 8 9 10 11 12
<< 2010.10 >>
[d3diary開発日記]
          1 2
3 4 5 7 8 9
10 11 12 13 14 15 16
17 19 20 22 23
24 25 26 28 29 30
           
 

次期開発バージョンのリリース時期 anchor.png

 現在開発中の次期開発バージョン、だいぶ進んでほとんど完成に近いのですが、細部で調整したい部分があることと、携帯用テンプレートを整備してから公開したいので、もう少々お待ち下さい。 10月23日にサタデーラボでの発表があるため、その前には公開を目指します。 サタデーナイトラボでの発表をお聞きになりたい方は、上記URLのRyusさんサイトからお申し込みください。 私の発表なんかより、kilicaさんの発表のほうが格段にためになりますから、ぜひどうぞ。

 なお、今回のバージョンは、α・βバージョンを飛ばして、いきなり公開します。 但し開発バージョンであることに変わりないので、細かな修正は次期正式版で、となるかもしれません。

 では、しばしお待ちを。


 

d3diary-ver0.12b1 anchor.png

お待たせ致しました。
内部を大幅に変更し、サイドメニューをブロック化したバージョンです。(もちろん、従来のようにメインページ内のサイドメニューも標準で使えます。)
開発版としての位置づけですが、細かな修正以外は正式版リリース候補として、実証サイトで動作中です。

    • アップデートの方は、(xoops_root_path)/modules/(d3diary)/cache フォルダの書込権限を確認してください。(「777」「707」等、書き込み権限を与えます。書込権限が無いと、diarylistでのサムネイル画像ランダム表示が出ません。) 従来のバージョンが、このフォルダではなく、 (xoops_root_path)/cacheを使用していたため 今回修正しました
Page Top

変更内容 anchor.png

Page Top
0.12a2 --> 0.12b1 (2010-10-27) anchor.png
    • xsxsのマイページで定数Warningが出ていたのを修正。(thx なおき)
    • diarylistブロックの外部ブログ記事の公開エリア画像リンクエラーを修正。
    • diarylistページ表示時、サイドメニューをleft/rightどちらかに設定している場合に、表示される共有カテゴリ選択Selectが表示されない不具合の修正。
Page Top
0.12a1 --> 0.12a2 (2010-10-19) anchor.png
    • php4環境で動作しないバグの修正。(thx river-stone)
    • ブロック「b_side_person」のrssフィードリンクに、カテゴリが反映されないバグの修正。
Page Top
0.12 --> 0.12a1 (2010-10-19) anchor.png
    • 記事内のhtmlがdiarylistブロックでサニタイズされない不具合修正版。
Page Top
0.11a3 --> 0.12 (2010-10-18) anchor.png
    • リスト表示ロジック最適化修正、SQL最適化。
    • d3blogブロックとのObject干渉回避。
    • 全ページにbreadcrumbsを設置、管理画面で表示選択可能。
    • 親カテゴリ指定の抽出に不具合あり、修正。
    • 同一時刻の「前」「次」のリンク修正。
    • リスト表示の際に「pagebreak」タグまでをサニタイズ処理を有効なまま表示するようにした。 「pagebreak」の無い記事は、今まで通りの文字数切り詰めを行います。
    • グループ権限に、「記事作成編集権限」を追加し、チェックの無いグループメンバーは記事を書けないようにした。
       ご注意:必ず管理画面のパーミッション設定を行ってください。そうしないと、記事の作成・編集ができません
    • 各人のコメント「viewcomment」で、過去に遡って全てのコメントをページナビ付きで表示します。
    • ユーザー名表示に、ユーザー名/本名選択可能化。管理画面で表示選択可能。各ソース・テンプレート、notification表示対応。
    • 各ソースのテンプレート変数アサインを、できるだけ1か所にまとめた。(作業継続中)
    • d3diary同士のインポートで、インポートされないフィールドが存在した問題の修正。
    • グループ指定、ユーザー指定の表示権限設定・表示制御をカテゴリ設定と各記事フォームに組み込み、管理画面で指定を追加。ユーザー指定はsuggestion機能を組込み。(thx hodaka [d3blog])(thx nao-pon [xp-wiki])
      • 管理画面の「カテゴリー毎の権限・外部ブログ設定をON/OFF」「記事毎の権限設定をON/OFF」で有効にして、「パーミッション管理」で適応ユーザーにチェックを入れてください。
      • 設定されたページの編集で、グループ指定/メンバー指定の許可設定を選択すると、グループ設定/メンバー設定部分が表示されます。
      • 管理者には無条件に許可、ゲストには不許可になります。
      • ユーザー指定の場合は、suggestion機能を使用しますので、ユーザー名(本名の場合は本名)の文字を入力して表示される絞り込みリストから選択します。
        101018_suggest.gif
    • otherページ外部ブログ取得時、php4環境で日時がおかしくなるのを修正。(thx haruka)
    • 外部ブログ取得用snoopyを最新に入れ替え。
    • 共通関数をクラスに移行。クラスコールを、Instance取得としブロックで共通使用とした。(thx nao-pon [xp-wiki])
    • 表示権限関連のクラスを独立させ継承し、管理画面で継承設定可能とした。(thx GIJOE [pico])
    • 各人サイドメニューの、ブロックへの切出し実施。 各人リスト表示時と、全体表示時の表示制御をブロックOption設定で可能とした。
    • デバグ時間組み込み。管理者が重い処理の見極めを可能に。(Xoopsサイトのphpデバグ有効時のみ表示)
    • diarylistに月日抽出組込み。外部ブログ記事も表示。
    • javascriptは、prototype.js、tag.jsも含めて「trust_path/lib/js/」に格納し、loder.phpでロードする方法に変更。(thx nao-pon [xp-wiki])
    • 記事カウンタ組込(ログインユーザーの自分の記事参照時はカウントしない)
    • diary Topページアクセス時、記事を執筆済みユーザーの場合は自身のページ、ゲストか未執筆ユーザーはdiarylistにリダイレクト。
    • diaryリストページのカテゴリにリンクを追加。(thx OhYeah!)
    • 投稿時のHTMLpurifier処理を追加(php5, protectorインストール済環境限定)。適用除外設定を管理画面に追加。(thx GIJOE [pico])
    • ニコニコ動画の貼り付けを可能に。
    • Preview中の画像アップ・削除周りでバグが散発していたのを、修正。
Page Top

ソース anchor.png

本日時点のソースとして、このページにも貼っておきます。

Page Top

デモサイト anchor.png

デモサイトをOPENしました。(2010-10-18)
メンバー登録のうえ、お試しください。

Page Top

運用サイト anchor.png

以下のサイトで最新版を使用中です。

Page Top

変更内容 anchor.png

0.11a3から、ほとんど全てのソースを変更したので今回割愛 (^^;;;

Page Top

ToDo anchor.png

    • 投稿コメントブロック2つで、古い記事へのコメントが表示されない仕様の改善。(サイドブロックのコメントは大丈夫なのでそのロジックに変更)
    • その他、もろもろ

 

10.23 XOOPS Cubeサタデーラボでの発表 anchor.png

 今週末、10月23日、Ryusさん主催のXOOPS Cubeサタデーラボ で、「d3diary開発とコメント統合プチカスタマイズ」と題して、私の発表の場があります。 お時間のある方はぜひどうぞ。(上記Ryusさんのページから要申し込み)

Page Top

発表概要 anchor.png

 発表内容(ほぼ原稿)は、以下になります。よろしくです。

Page Top

なーおって、誰? anchor.png

なーおプロフィール

 プロフィール anchor.png

inc​/d3diary報告101023​/なーお/private は閲覧制限がかかっているためincludeできません
Page Top

 趣味 anchor.png

Page Top

 専門・仕事 anchor.png

inc​/d3diary報告101023​/なーお/business は閲覧制限がかかっているためincludeできません
Page Top

d3diary開発経過 anchor.png

Page Top

minidiaryからのフォーク経緯 anchor.png

  • matoyan氏作の日記モジュール、minidiary(2008年2月公開)
    • 特徴
      • mixiライクな見た目とユーザーインターフェース
      • マルチユーザー。全員の日記の一覧/各人日記表示、各人カテゴリー
      • 画像のアップロード・サムネイル自動生成
      • ブロック無しでカレンダーや新着日記、コメントリストをサイドメニュー表示可能。(右側/左側選択可)
      • XSNSモジュールと連携した閲覧権限。「友人まで公開」「友人の友人まで公開」
      • 外部ブログ機能
      • xoops2.0.16a-JPでも動作する
    • ☆xoopsモジュールとしては未実装の標準機能がいくつかある → モジュールの勉強として入りやすい
      • イベント通知
      • 言語ファイル(japaneseのみ。 blockテンプレートには日本語直書き)
      • コメント統合
  • 2008年8月 minidiaryのハック(差分パック)を公開なーお
    • d3コメント統合
    • イベント通知(AltsysのD3notificationを利用)
      • 「この人の日記へのコメントがあったら通知します」 機能って、あまり見かけなかった。
    • 日記投稿者一覧ブロック
    • d3pipes用のジョイント
Page Top

d3diary公開とその後 anchor.png

  • 2009年6月 d3diary-ver0.02 初版公開
    • D3化
    • 言語ファイル整備 (japanese, ja-utf8, english)
    • 閲覧権限を、カテゴリ毎、日記投稿毎に設定可能
    • 外部ブログ機能を、カテゴリに設定可能
  • 2010年4月 d3diary-ver0.06
    • HTML投稿の可能化
  • 2010年5月 d3diary-ver0.08
  • 2010年7月 d3diary-ver0.10 (開発版)
    • メインページのCSSレイアウト化
    • 投稿時の執筆日時指定
  • 2010年10月 d3diary-ver0.12 (開発版)
    • 共通関数群のobjectインスタンス化
    • サイドメニューの個別ブロック化(従来のサイドブロックはデフォで使用可)
    • 閲覧権限に、グループ指定、ユーザー指定を追加
    • Xoops_breadcrumbsの実装
Page Top

動作環境 anchor.png

  • PHP4.3.x以上、PHP5.1、5.2
  • MySQL-4.0.x以上(詳細は未調査)
  • コア(実績あり、または検証済みのもの)
    • xoops2.0.16a-JP
    • JPEx
    • ImpressCMS
    • Xoops Cube Legacy 2.1、2.2
  • 依存モジュール
    • Altsys必須 (0.55以上)
    • protector推奨 (HTMLpurifier)
    • d3forum必須(コメント統合利用時、0.85以上)
Page Top

d3diary機能紹介(特徴を抜粋) anchor.png

以下、現時点の最新ver0.12a2(開発版)の内容。 デモサイトを使用してご紹介します。

Page Top

サイドメニュー(minidiary由来) anchor.png

    • ブロックを使用しなくても、各人メニュー・新着情報を表示可能
    • 表示位置(左/右)、非表示を選択可
      • 管理画面に表示幅設定あり
Page Top

CSSレイアウト anchor.png

    • テーマの設定色などを極力損なわず、できるだけ継承してそのまま表示する
    • 日付表示に、BoxDateを採用
Page Top

カテゴリー anchor.png

    • 各人が自由に自分だけのカテゴリを作れる、マルチユーザーサイト向け
      • 但し1記事1カテゴリ
      • サブカテゴリは1階層のみ
      • カテゴリ操作は面倒
    • 共有カテゴリーも作成可能(管理者)、一括絞込み表示可。
    • ユーザーによる複数記事選択のカテゴリ移動
Page Top

タグ anchor.png

    • でブクマ君のソースを参考にしたタグ
      • 自分のタグ/全タグ から選択・解除
      • 自分のタグ/全タグ タググラウド切替え
    • カテゴリー AND タグ での複合絞り込み
Page Top

外部ブログ anchor.png

    • 外部のブログの最新RSSフィードを自分の日記として表示できる。
      • d3pipesのような切り抜き・コメント機能は無い
    • カテゴリ1つにつき、1サイト設定可能。
      • 同一ドメイン名のRSSを複数カテゴリに設定しても、動作しないので要注意。(MagpieRSSの仕様?)
Page Top

閲覧権限 anchor.png

    • 閲覧権限を、カテゴリ毎・日記投稿毎に設定可能
    • 友人機能モジュールとの連携 「友人まで」「友人の友人まで」
    • グループ指定、ユーザー指定
      • ユーザー指定は、xpwikiのsuggestion機能を組込み
Page Top

その他 anchor.png

    • HTML投稿可 (HTMLpurifier除外設定あり)
    • コメント統合
      • プラグインのcountは、リスト記事分の回数呼ばれるので使用せず、記事と一括してクエリ
      • 記事閲覧権限に完全連動
      • 実行速度を上げるため、ループ内で呼ばずに済むように、WHERE句の長いSQL文1本に
        +  長いよん [viewcomment.php実行時の例]

        viewcomment.php実行時の例

        赤字:「友人」・「友人の友人」抽出部分
        青字:グループ指定・メンバー指定部分

        "SELECT p.post_id, p.subject, p.post_time, p.uid, p.guest_name, p.unique_path,
        t.topic_external_link_id, u.uname, u.name, d.bid, d.cid,
        c.cname, c.openarea as openareacat FROM xxx_forum_posts p
        INNER JOIN xxx_forum_topics t ON (t.topic_id=p.topic_id AND ! t.topic_invisible )
        INNER JOIN xxx_forum_forums f ON (f.forum_id=t.forum_id AND f.forum_id='10')
        INNER JOIN xxx_diary3_diary d ON t.topic_external_link_id=d.bid AND d.uid=4
        LEFT JOIN xxx_diary3_category c ON (d.uid=c.uid OR c.uid=0) AND d.cid=c.cid
        LEFT JOIN xxx_users u ON p.uid=u.uid
        LEFT JOIN xxx_diary3_config cfg ON d.uid=cfg.uid
        WHERE ! t.topic_invisible AND (d.uid='2' OR (d.openarea <>100 AND ( ( ( ( (d.openarea IN (0,1) )
        AND (cfg.openarea IN (0,1) OR cfg.openarea IS NULL) AND (c.openarea IN (0,1) OR c.openarea IS NULL) )
        OR ( ( (d.openarea='2' AND (c.openarea<='3' OR c.openarea IS NULL) AND (cfg.openarea<='3' OR cfg.openarea IS NULL) )
        OR (c.openarea='2' AND d.openarea<='3' AND (cfg.openarea<='3' OR cfg.openarea IS NULL) )
        OR (cfg.openarea='2' AND d.openarea<='3' AND (c.openarea<='3' OR c.openarea IS NULL) ) ) AND d.uid IN (1) )
        OR ( ( (d.openarea='3' AND (c.openarea<='3' OR c.openarea IS NULL) AND (cfg.openarea<='3' OR cfg.openarea IS NULL) )
        OR (c.openarea='3' AND d.openarea<='3' AND (cfg.openarea<='3' OR cfg.openarea IS NULL) )
        OR (cfg.openarea='3' AND d.openarea<='3' AND (c.openarea<='3' OR c.openarea IS NULL) ) ) AND d.uid IN (1,2,3) ) )

        OR ( (d.openarea='10' OR d.openarea='20') AND (d.vgids LIKE '%|2|%' OR d.vgids LIKE '%|4|%') )
        OR ( (c.openarea='10' OR c.openarea='20') AND (c.vgids LIKE '%|2|%' OR c.vgids LIKE '%|4|%') ) )
        OR (d.openarea='20' AND d.vpids LIKE '%|2|%')
        OR (c.openarea='20' AND c.vpids LIKE '%|2|%') )
        ) )
        ORDER BY p.post_time DESC LIMIT 0,50"

    • イベント通知
      • 「この人の日記へのコメントがあったら通知します」 は、自身へのコメントのみ通知することにも使える
    • インポート
Page Top

今後の進路? anchor.png

  • 一般機能の追加
    • 画像管理: 各人がアップロードした画像を管理
      • 管理者は、リンク切れ画像を一括整理
  • ブログモジュール代替として
    • 友人連携機能などは残し、ブログモジュールとしても使えるように
      • トラックバック 送信/受信
  • 企業ユース向けとして
    • 画像以外のファイルアップロード・添付
      • 直打ちされても記事閲覧権限に連動させる
  • 見切る機能
    • マルチカテゴリは煩雑なので実装しない。 タグを上手に使って。
Page Top

コメント統合のプチカスタマイズ anchor.png

Page Top

d3コメント統合の、元記事閲覧権限連動ハック anchor.png

    • コメント元のモジュールでユーザー毎やグループ毎の閲覧権限を制御する機能を使うとき、コメントのタイトルやコメント者がd3forum側で表示されてしまうため、ちょっと気持ちが悪いと思ったことがきっかけ。 本来は、これらも隠しておくべきものと考えて作りました。
    • このハックには、ゲスト名がアサインされていなかったページへのゲスト名表示も可能になっています。
    • 私は多くのサイトですぐに使えるように、このハックを常に利用していますが、それとは別にwyeさんが作って下さった、d3コメント統合の、元記事閲覧権限連動ハック Plugin版 もあります。
Page Top

コメント統合でブロックから元記事へリンク anchor.png

    • フォーラムのブロックで、リンクの飛び先を コメント元記事ページに変更するためのハックです。
    • d3diary同梱のコメント統合ブロック(posts,topics共)には既に仕込み済みですので、それを使えば本ハックは適用不要です。 但し、d3diaryのコメントフォーラム以外のフォーラムを混合表示した場合には、それら他のモジュールへのジャンプ先は、テンプレート編集で変更する必要があります。
    • d3forum_comment_listposts_flat.html テンプレートの変更反映は、上記d3diary同梱ブロック使用時も必要です。
Page Top

d3forum側で統合コメントのツリー全表示 anchor.png

    • コメント統合で付いたコメント。 質問内容が変わったりしてトピック分けしたりすると、d3forum側で「このトピックの投稿一覧へ」で閲覧してもトピック内の投稿しか表示されないため、同じ元記事に紐付いた他のトピックの投稿に気づかない。 これを何とかしたかった。
    • その対策として、「このトピックの投稿一覧へ」を表示したときに、他のトピも含めてツリーを表示することにしました。
      • smartyプラグイン「function.d3comment_tree.php」と、テンプレート編集で装備可能。
Page Top

(未実施)今後何とかしたいこと anchor.png

    • Topics内投稿一覧のページ分割。 件数が50件くらいになると、重くて仕方がない。
      • 作者のGIJOEさんが作成中だった名残がコードにあるけど、「子投稿1.1」あたりの処理との絡みが出そうで、少し面倒な予感。
    • モジュールCSSが、テーマ色・文字プロパティを反映しない件
      • XCLテンプレート標準でどなたかが対応いただけることを期待。
    • 今後のd3forumのメンテ・バージョンアップは誰が?
Page Top

謝辞 anchor.png

    • minidairyの作者、matoyan氏には、minidiaryフォーク版公開に快諾いただきありがとうござます。
    • GIJOE氏、nao-pon氏、hodaka氏、kilica氏、ほかソースを参考にさせていただきました。ありがとうございます。

 

d3diary-ver0.12b1 anchor.png

ver0.12b1をアップしました。 リリースノート


 
Page Top

変更内容 anchor.png

Page Top
0.12b2 --> 0.12b3 (2010/11/02) anchor.png
    • RSSフィードにATOMを追加、全文配信はコメントとした。(thx OhYeah)
    • カテゴリ編集のSUBチェックBOXのchecked表示の不具合を修正。
Page Top
0.12b1 --> 0.12b2 (2010-10-31) anchor.png
    • RDFフィードをテンプレート化し、RSS2.0も配信可能とした。文字化け対応のエンコード選択を管理画面に追加。モジュールアップデート必須。root_path側のimagesフォルダ内画像追加。(thx OhYeah
    • mb_stringの無い環境でも設置可能なように、mb_stringのemulatorをtrust側に用意。nao-ponさんのhypcommon_funcを実装済みのサイトでは、上書き不要。(thx nao-pon
    • d3pipesモジュール用のパイプblockファイルは、アーカイブ中のextrasフォルダに移動。
    • attachfileモジュールのプラグインをextrasフォルダとtrust側のincludeフォルダに追加。アップロード権限・ダウンロード権限夫々、編集権限・記事閲覧権限に連動。 テンプレート「edit.html」「detail.html」内のコメントアウト各1か所を解除すれば有効になります。
Page Top

ソース anchor.png

本日時点のソースとして、このページにも貼っておきます。

Page Top

デモサイト anchor.png

デモサイトをOPENしました。(2010-10-18)
メンバー登録のうえ、お試しください。

Page Top

運用サイト anchor.png

以下のサイトで最新版を使用中です。

Page Top

変更ファイル anchor.png

Page Top

ToDo anchor.png

    • 投稿コメントブロック2つで、古い記事へのコメントが表示されない仕様の改善。(サイドブロックのコメントは大丈夫なのでそのロジックに変更)
    • その他、もろもろ


トップ 印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki