「タイムスタンプを変更しない」編集時にauthor行にタイムスタンプ維持が反映されない

  • ページ: BugTrack2
  • 投稿者: umorigu
  • 優先順位: 低
  • 状態: 完了
  • カテゴリー: 本体バグ
  • 投稿日: 2016-12-03 (土) 06:32:16
  • バージョン: 1.5.1
  • リリース予定バージョン: 1.5.2

メッセージ

「タイムスタンプを更新しない」でページ更新してもソース先頭のauthor行のタイムスタンプが更新されてしまう。

仕様拡張して、実際の更新日時と表示用の更新日時を両方維持するようにしたい。

提案仕様

  • # author の第一引数には実際の更新時刻を記録
  • 「タイムスタンプを更新しない」の場合にはdatetimeに続けて";" と維持する更新時刻を記録

通常:

# author("2016-12-03T09:11:34+09:00","user","Full Name")

タイムスタンプを更新しない場合:

# author("2016-12-03T09:59:27+09:00;2016-12-03T09:11:34+09:00","user","Full Name")

  • いろいろ出てきます... -- umorigu 2016-12-03 (土) 06:32:26
  • キャッシュの都合を考えると、mtime に実際の更新日時を、#author に表示用の更新日時を入れるようにするとキャッシュの更新が楽なのではないでしょうか。 -- bee 2016-12-03 (土) 07:10:41
  • そうすると更新時刻を表示するためにファイルの中身を読まないといけないことになるので、mtimeを「表示用の更新日時」として扱う仕様は変えられないです。さらに、全体にわたる変更になるので影響が大きすぎる →これはmake_link.php - make_pagelink()等ごく一部の変更で済むかもしれません -- umorigu 2016-12-03 (土) 08:08:11
  • 更新時刻を読む箇所を少なく読み違えていました。あと既存プラグインとの互換性を壊す可能性があるので、やっぱりやめたほうがいいかもしれません。 -- bee 2016-12-03 (土) 09:07:28
    • 少なくとも 1.5.x では、です。1.6 or later なら… -- bee 2016-12-03 (土) 09:11:34
  • 対応しました commit:fdfc7785f9 -- umorigu 2016-12-03 (土) 10:05:50
  • 標準ではWiki内ページリンクすべてに更新時刻(からの経過時間)が表示されるので、量的には多いのです(ロジックはそんなにないのかもしれません) -- umorigu 2016-12-03 (土) 10:20:14
  • showrssプラグインなどのように入力内容からタイムスタンプを得る、recentプラグインのようにキャッシュファイルからタイムスタンプを得る。これらのパターンを除けば、lib/html.php のmake_related() やplugin_related_action() から呼ばれるlib/link.php のlinks_get_related_db()、対象ページ一覧を使ってget_pg_passage() やget_passage() を呼び出しているlib/func.php のpage_list() やdo_search()、といった場所で使われるページ更新日時はlib/file.php のget_filetime() 経由がほとんどではないでしょうか?(データベースなども利用可能にする布石として抽象化された1つだったような気も) -- 2017-02-02 (木) 04:09:59


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-02-02 (木) 04:09:59
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.229 sec.

OSDN