現: 2019-08-17 (土) 07:11:56 なーお ソース
Line 1: Line 1:
 +#navi(../)
 +#boxdate
 +** 次期開発バージョンの仕様まとめ [#mfff4034]
 +現在開発中の次期開発バージョン、だいぶ進んでいますが、そろそろ仕様をまとめておきます。
 +
 +*** 組み込み済み [#a7a2f8fd]
 ++ diarylist、indexページ表示速度改善
 + ループ内部でのクエリを可能な限り排除。 ただ、後述の権限関連の変更で重くなる分と相殺された感じ。
 ++ diarylistに、外部ブログ記事の新着も表示
 ++ ページナビの表示改善
 ++ グループ権限に、「記事作成編集権限」を追加。
 ++ グループ権限に、「閲覧権限のグループ指定」設定を追加。表示制御も実装済み。
 ++ 「pagebreak」タグによるリスト表示時の概要表示、記事詳細分割処理。
 ++ 各人のコメント「viewcomment」で、過去に遡って全てのコメントをページナビ付きで表示。
 ++ パンくずリスト xoops_breadcrumbs への対応。
 ++ カテゴリや月表示から記事詳細(detail)ページを表示した際、「前の日記」「次の日記」で抽出条件の引き継ぎ。
 ++ (追記)表示名を「uname(ユーザーID)」か「name(本名)」を管理画面で選択可能とする。実装済み。
 +
 +*** これから、組み込み [#d5f9485b]
 ++ グループ権限に、「閲覧権限のメンバー指定」設定の追加と表示制御。
 ++ 各人ページのサイドバーの、ブロック化
 + これは今日初めてのお知らせですが、 権限関連のObject化で色々試していたところ、 ブロック化したソースからでもObjectを「getInstance」で効率よく持ってこれることを確認したため、 懸案だったサイドバーのブロック化に目処がつきました。
 + d3モジュールの抱える宿命として、directry名の異なるオブジェクトは「new」で取得することで混色しないようにする作法が一般的だと思うのですが、そうせずとも%%eval()を使うことできちんと(directry_クラス名)で%% 呼び出されるclass側でちょっと工夫するだけで「getInstance」出来ることがわかり、複数ブロックを配置した際にもdirectory毎のインスタンスを各1インスタンスで処理できそうだとわかりました。 もちろん、複数インストールしたd3diaryのブロックが同一ページに混在していても大丈夫です。
 + よって、Object化前提クラスにブロック用の変数やメソッドをまとめておき、 サイドバーもそれを利用するように大幅変更をかける予定です。
 ++ 記事毎のアクセス数カウントと表示。
 ++ その他、細々とした変更。。
 +
 +*** 採用の見送り [#h2cc64b8]
 ++ 画像以外のファイル添付機能は、優先度を下げて今回は実装を見送ります。
 +
 +以上、今回の目玉はブロク化ですね。 相当な改造になるので、もうしばらくお待ちください。 :-D
 +
 +*** 参考(dirnameを考慮したgetInstance) [#n6ab3c4f]
 +
 +- 呼ばれるClass側
 +#code(code,nonumber){{
 +
 +class d3diaryConf {
 +
 +   function &getInstance($mddir)
 +   {
 +    static $instance ;
 +    if( ! isset( $instance[$mddir] ) ) {
 +     $instance[$mddir] = new d3diaryConf($mddir) ;
 +    }
 +    return $instance[$mddir] ;
 +   }
 +
 +}//end class d3diaryConf
 +
 +xpWikiのソースが大変参考になりました。 :-D
 +
 +}}
  

  • d3diary開発日記/2010-09-09 のバックアップ差分(No. All)

トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 1718, today: 1, yesterday: 0