---
parent: ../ContentsPlanet
title: 更新履歴
date: 2018-10-07
tags: CMS
---

本CMSの更新履歴

===

# 2022/08/31
    要約:
        * 検索機能の強化
        * コンテンツURLのリダイレクトに対応
        * コンテンツヘッダの記法を大きく変更
        * プラグイン機構を大きく変更
        * `file-manager` ページを削除
            * 代わりに, 管理者ページ`admin`の追加
            * ログ表示機能を`log-viewer`に移行
            * ファイル管理機能を`directory-viewer`に移行
        * url 形式を変更
            * UpperCamelCase から, kebab-case 方式に変更
            * タグマップの接頭URLを`/TagMap`から`/:tagmap`へ変更
        * `Splitter`を非推奨. `SplitView`へ機能引継ぎ

    Features:
        ContentsPlanet:
            * ユーザがFrontend ページごとに `html head`, `js`, `css` を追加できるプラグイン機構の追加
            * php 8.0 以上に対応
        
        Frontend:
            * 検索機能の強化
                * クエリ内の最終トピックに対する類似トピックの提示
                * さらに提案コンテンツを絞り込むための次のトピックの提示
                * 検索時間の提示
                
        Frontend/contents-viewer:
            * URLリダイレクトに対応

        Frontend/directory-viewer:
            * ファイル管理機能を統合

        Frontend/admin:
            * 管理ページ追加

        Frontend/log-viewer:
            * ログ表示ページ追加

        Module/ContentDatabase:
            * 各リクエストで, 一度読み込まれたコンテンツを, メモリ上にキャッシュする機能の追加
            * ヘッダ情報の新しい記法を追加
                * 任意の追加情報を記述可能
            
        Module/PathUtils:
            * パス操作モジュールの追加
            
        Module/PluginLoader:
            * 共通 `html head`, Frontend ページごとの追加スクリプトの読み込みを行うモジュールの追加
        
        Service/contents-search-service:
            * レスポンスデータの追加
                * クエリ内の最終トピックに対する類似トピック
                * さらに提案コンテンツを絞り込むための次のトピック
                * 検索時間
        
        Client/SplitView:
            * 完全に要素ベースの画面分割ライブラリ
            * Splitter から機能引継ぎ

    Changes:
        ContentsPlanet:
            * URL の表記を UpperCamelCase から, kebab-case 方式に変更
            * 古いURL形式からのリダイレクト機能を削除
            * 他システムへのリダイレクトURLに埋め込まれるパス変数名を`{CONTENT_PATH}`から`{TARGET_PATH}`に変更
            * コンテンツパスの正規化表現を変更
                * 先頭の`./`を削除
            * コンテンツリソース以外のURL形式を変更(e.g., タグマップページ, スクリプト)
                * `:`から始まるURLへ変更. (e.g., `Master/:tagmap/~`, `Master/:scripts/~`)
            * 一部コードをコーディングスタイル PSR-12 に従うように変更
                * 今後, 順次変更予定
            * セッションIDのクッキーに関するセキュリティ問題を改善
                * https 通信の場合は, `Secure`属性を追加
                * javascript からのアクセスを防ぐ `HttpOnly`属性を追加

        Frontend:
            * ページに`閲覧`タブの追加
            * タグ一覧とディレクトリ一覧の並び順を辞書順から自然順に変更
            
        Frontend/file-manager:
            * 機能を`log-viewer`, `directory-viewer` に引き継ぎ, 削除

        Frontend/viewer:
            * ページ変数`rootDirectory`の削除
        
        Module/ContentDatabase:
            * コンテンツの読み込み機能を class `Content` から class `ContentDatabase` に移行
            * データベースのメタデータ管理機能を class `ContentDatabase` から class `ContentDatabaseMetadata` に移行
            * コンテンツのクロール機能を class `ContentDatabse` から class `ContentsCrawler` に移行
    
        Module/CacheManager:
            * メソッドチェーンによる操作に対応
            * gc発生確率を毎リクエストごとで一定になるように変更

        Module/ScriptLoader:
            * コンテンツファイルからスクリプトを取り出す従来の`PluginLoader`を, `ScriptLoader`へ名前変更
        
        Client/Common:
            * 共通`css`の追加
            * 共通`head`ファイル`CommonHead.html`の削除. 対応する機能を新しいプラグイン機構に引き継ぎ
            * 末端コンテンツの共通`head`ファイル`EndpointCommonHead.html`の削除. 対応する機能を新しいプラグイン機構に引き継ぎ

        Client/Splitter:
            * SplitView に機能引継ぎ
            * 今後から非推奨

        Client/ace:
            * パッケージ管理に`npm`を使用
            * `v1.4.12` -> `v1.5.3` へアップデート

        Client/ContentsViewer:
            * css から非推奨の`webkit-transition`, `webkit-transform`プロパティを削除


    Bug Fixes:
        Frontend/directory-viewer:
            * `png`, `bmp` 画像がプレビュー表示されない問題の修正

        Frontend/tag-viewer:
            * 未定義変数へアクセスする問題の修正
    
        Frontend/directry-viewer:
            * ナビゲーション内で, 間違ったアイテムが選択表示される問題の修正
        
        Frontend/history-viewer:
            * 現在のページがノートページの時, コンテンツ, ノートへのリンク先が誤っている問題の修正
            
        Module/CacheManager:
            * gc中の冗長なループを修正
            
        Module/OutlineText:
            * HeadingElement, ListElement 内でインラインコード含むインライン要素をパースできない問題の修正

        Client/ContentsViewer:
            * ページロード時に予期しないアニメーションが起こる問題の修正


# 2021/08/31
__________
    このリリースで, タグマップページ, コンテンツ編集ページのデザインを大きく変更しました.
    タグによるコンテンツのまとめ方を改善し, より明確でシンプルにコンテンツの一覧を提示しました.
    ページの読み込み方法を見直し, より早くページが表示されるようにしました.
    データベース周りの設計を見直し, モジュールを分離し, シングルトンからマルチインスタンスベースの設計にしました.
    また, 細かなバグの修正とデザインの変更を行いました.

    Changes:
        ContentsPlanet:
            * 最近の更新に含まないコントロールタグ`noindex-latest`を, `noindex-recent`に変更
            * システム設定内に, php 設定オプション`mbstring.internal_encoding`, `default_charset`を含めた
                * デフォルトの文字コードを`UTF-8`に設定
            * alert表示の頻度を下げた
            * https通信の場合, cookie にsecure 属性を付与
            * htaccessファイルの更新を, 設定内容に変更がある場合のみ行うようにした

        tag-viewer:
            * タグリストのデザインを変更
            * タグカードリストのデザインを変更
            * タグメインページの構成を変更
                * 主要タグリストを先頭に移動
            * 提案コンテンツとタグ付けコンテンツを分けず, 同じグループに含めた
            * 提案コンテンツのカード右下に提案を示すアイコンを追加
            * ページ生成時間の計測とログ機能の追加
            * 同じコンテンツを持つタグを一つのグループにしてコンテンツの一覧を表示した
                * 異なるタグで同じコンテンツが表示され, 情報が冗長になるのを防いだ

        directory-viewer:
            * 画像を遅延読み込みするよう変更

        viewer:
            * コンテンツ公開日と更新日のデザインを変更
            * 目次の折りたたみボタンのアクセシビリティの改善
            * 左右コンテンツリンクタイトルの文字制限を無くした
            * フッター周りのHTML構造の変更
            * 要約要素と本文要素間の分割線を無くした
            * ファーストコンテンツフルペイント(FCP)時間の短縮
                * スタイルシートの分割と事前読み込み
                * プラグインコードの遅延読み込み

        error-page:
            * ファーストコンテンツフルペイント(FCP)時間の短縮

        login:
            * ログインページのデザインを修正

        content-editor:
            * レイアウトの変更
            * デザインの変更

        preview:
            * APIへの入力をコンテンツフォーマットのテキストに変更

        content-database-edit-service:
            * `contents-database-edit-service`から`content-database-edit-service`へ名前変更
            * 差分編集画面のデザインを変更
            * APIの仕様変更
                * `SaveContent`
                    * 入力をコンテンツフォーマットのテキストに変更

        related-search-service:
            * ページ生成時間の計測とログ機能の追加
            * 同じコンテンツを持つタグを一つのグループにしてコンテンツの一覧を表示した

        ContentDatabase:
            * ContentsDatabase から ContentDatabase へ名前変更
            * データベースをインスタンス化できるようにした
                * 実行時, 同時に複数のデータベースを持てるようになった
            * コンテンツフォーマットのテキストをパースする機能の追加

        ContentDatabaseContext:
            * ContentsDatabaseManager から分離
            * データベース区分ごとの管理を行う
                * ユーザ, レイヤーごとのデータベース, タグマップ, インデックスへのアクセスを行う
                * 区分を超えた変更&情報取得は行えない

        ContentDatabaseControls:
            * ContentsDatabaseManager から分離
            * 区分に関係なくデータベースに対する変更や情報取得のメソッドを提供する

        SeachEngine:
            * インデックスをインスタンス化できるようにした
                * 実行時, 同時に複数のインデックスを持てるようになり, \
                    各インデックスに対して検索と登録を行えるようになった

        ContentsViewerUtils:
            * 名前空間`ContentsViewerUtils`を持たせた

        OutlineText:
            * MathJax のバージョンを2から3へアップデート
            * img タグに`loading=lazy`を設定
                * 画像の遅延ロードをデフォルトで指定
            * パース出力のHtml要素を`outlinetext-parser-output`クラスで囲った
            * `dl`要素のスタイルを追加
            * SyntaxHighlighter の非同期読み込み
            * MathJaxの変換適用範囲をOutlineTextパース出力のみに限定
            * ダークモードに合ったスタイルの調整
                * コードブロック
                * 数式リンク
            * 文献ハイライトのスタイルを変更

        ContentsViewer:
            * Chromium 77 以上のバージョンに対応
                * オプショナルチェイニング(optional chaining)演算子 `?.`の使用を避けた
            * 使用していないコードを削除

        Splitter:
            * Chromium 77 以上のバージョンに対応
                * オプショナルチェイニング(optional chaining)演算子 `?.`の使用を避けた
            * 要素内で画面分割を行えるようになった
                * 以前のバージョンでは, ウィンドウ画面全体のみでしか画面分割を行えなかった


    Bug Fixes:
        tag-viewer:
            * ナビゲーションセクション内リストの間違ったHTMLフォーマットを修正

        directory-viewer:
            * ナビゲーションセクション内リストの間違ったHTMLフォーマットを修正

        contents-viewer:
            * 構造化データ内の誤った日時フォーマット(ISO-8601)を修正

        note-viewer:
            * ディレクトリへの誤ったリンクを修正

        history-viewer:
            * ディレクトリへの誤ったリンクを修正

        related-search-service:
            * 対象のコンテンツに関するキャッシュを作成する前に関連コンテンツを探すとヌルアクセスする問題を修正

        OutlineText:
            * リスト, 定義リスト直後のコードブロックまたはタグブロックが, \
                正しいアウトラインレベルに位置しない問題を修正

        ContentsViewer:
            * アウトラインタグ要素をホバーしたとき一部アニメーションが動作しない問題を修正
            * 兄弟コンテンツボタンが見切れている問題を修正
            * Firefox ブラウザで印刷時にレイアウトが崩れる問題を修正
            * 目次部分で数式のエスケープ文字が残る問題を修正

        Splitter:
            * スライドバーをドラックするたびに, スライドバーのz-indexが増えていく問題の修正

# 2021/04/30
__________
    Changes:
        ContentsViewer:
            * 関数群を名前空間`ContentsViewer`内に移動
            * コンテンツの評価が高い場合でも, メッセージを送信できるようにした
            * 目次で, 少なくても先頭5セクションタイトルを表示

    Bug Fixes:
        ContentsViewer:
            * 目次内で数式でないものが誤って数式に変換される問題を修正

        Splitter:
            * スライドバーを, document要素以外(例えば, iframe)上で移動できない問題を修正

        contents-viewer:
            * ナビゲーションセクション内リストの間違ったHTMLフォーマットを修正

# 2020/08/31
__________

    前バージョンから引き継ぎリリース

    前バージョンの更新履歴は, [/CollabCMS/ChangeLog]
    をご覧ください.

    本リリースから, システム名を`CollabCMS`から`ContentsPlanet`へ変更しました.

    Features:
        ContentsPlanet:
            * サンプルコンテンツの追加

        PluginLoader:
            * プラグイン読み込み機能の追加

        plugin:
            * プラグインサーバーの追加

        viewer:
            * OGP (Open Graph Protocol) の対応

        contents-viewer:
            * Article 構造化データに対応

        ContentsHistory:
            * コンテンツ変更履歴の管理機能の追加

        history-viewer:
            * 変更履歴の表示機能の追加

        Client:
            * パッケージの管理にnpm (Node Package Manager) を使用

    Changes:
        ContentsPlanet:
            * システム名を`CollabCMS`から`ContentsPlanet`へ変更

        ContentTextParser:
            * コンテンツリンクを`[]`で囲むよう変更

        ContentsViewer:
            * 印刷時を除き, コードブロック内のコードを折り返さないよう変更

        OutlineText:
            * 文献ハイライトのスタイルを変更

        Localization:
            * 一部翻訳を修正. `access privilege` -> `access rights`

        CacheManager:
            * GCのパフォーマンスを改善

        ace:
            * `ver1.4.1` -> `ver1.4.12`へアップデート

        ace-diff:
            * `ver2.0.0` -> `ver3.0.3`へアップデート

        syntaxhighlighter:
            * コードブロック内のスタイル(フォントサイズ, 行間)を修正

    Bug Fixes:
        ContentsPlanet:
            * `.gitignore`の間違った書き方を修正
            * メタデータとインデックスの更新タイミングに関する問題を修正

        tag-viewer:
            * タグマップに関するセキュリティの問題を修正.
                存在しないlayer名をURLで指定されたときに, その名前でタグマップファイルが生成される問題

        contents-viewer:
            * `Root_{layer}`のコンテンツファイルで最近の更新と, タグリストが表示されない問題の修正

        OutlineText:
            * 文献リストとセクションの文法の競合を修正.
                セクション内に文献リストがある場合, セクションを抜けたタイミングで文献リストが生成される(セクション内に文献リストが生成されない)問題

            * 定義リスト文法の誤ったパースの修正
                定義リストアイテム間に空行が無い場合, リストアイテム内のブロック要素パーサが, リストアイテムを出たことを認識できない問題