静的ページの追加

この機能は、静的ページのHTMLコンテンツを格納することができ、これらのページへのリンクをユーザインタフェースの特定の部分に表示することができる。

  • HTMLコンテンツはGNデータベースの新しいテーブルに格納される.

  • 各ページに関連する“部分”リストにより,GNのGUIの異なる位置にページへのリンクを表示することができる.このPRでは,上部ツールバーとフッタリンクを表示するサポートを導入している.

  • 各ページは3つの状態にすることができる:

    • HIDDEN :管理人が見えます。

    • PRIVATE :ログインユーザに見える.

    • PUBLIC :すべての人に見られます。

  • ページを異なるページ部分に追加することができます。現在実施されている部分は TOP (ホームトップメニュー)および FOOTER (ホームページのページ)。

  • 管理者のみがページを編集して中のページを見ることができます HIDDEN 状態です。

  • コンテンツの作成と管理はAPIによって行われる.

    ../_images/pages-api.png

いくつかの制限:

  • カスタムCSSをページに適用することはできない.

  • どの外部画像も外部からロードされなければならない.

APIを用いて例を示す.

以下の例を実行する前に、参照してください CURLを用いたCSRF呼び出しの例 CSRF内タグ(値ではなく)の用法に関する詳細情報 "X-XSRF-TOKEN: e934f557-17a3-47f2-8e6b-bdf1a3c90a97" 例で使用される)および要求中のクッキー。

トップメニューバーにページをロードする

本例ではファイルをアップロードします contactus.html トップメニューにリンクします

  1. 使用方法POSTロードコンテンツ /api/pages/ 中,必須フィールドは以下のとおりである.

    • 言語(3文字、例えば“eng”、“ita”、“fra‘...)

    • PageId(ページの識別子/リンク記述)

    • フォーマット(リンクがページに関連付けられている場合はリンクでなければならない)

    • 内容:データ(ページの内容を含むファイル)やリンク(別のページへのURL).両者とも定義は不可能である.

$ curl -X POST "http://localhost:8080/geonetwork/srv/api/pages/?language=eng&pageId=contactus&format=LINK" -H "accept: */*" -H "Content-Type: multipart/form-data" -H "X-XSRF-TOKEN: e934f557-17a3-47f2-8e6b-bdf1a3c90a97" -d contactus.html

このとき、ページは作成されているが、ページのどの部分も隠れた状態にあり、見えない下書きを除いてページのどの部分にも明示的にロードされていないので、見えない(将来、エディタインタフェースを有するページに追加される可能性がある)。サポートされる各UI言語について、同様の要求が実行されるべきである。

  1. POST手法を用いるためには,リンクをトップバーに関連付ける必要がある /api/pages/{{language}}/{{pageId}}/{{section}}TOP 節の値。

$ curl -X POST "http://localhost:8080/geonetwork/srv/api/pages/eng/contactus/TOP" -H "accept: */*" -H "X-XSRF-TOKEN: 7cfa1a0d-3335-4846-8061-a5bf176687b5"  --user admin:admin -b /tmp/cookie

パーティションからページを削除する

節削除からページを削除するには、以下の操作を実行してください /api/pages/{{language}}/{{pageId}}/{{section}}

curl -X DELETE "http://localhost:8080/geonetwork/srv/api/pages/eng/contactus?format=LINK" -H "accept: */*" -H "X-XSRF-TOKEN: 7cfa1a0d-3335-4846-8061-a5bf176687b5"  --user admin:admin -b /tmp/cookie

ページの状態を変更する

PUT方法を使用してページの状態を変更することができます /api/pages/{{language}}/{{pageId}}/{{status}} ここで、状態は、以下の値を採用することができる。

  • PUBLIC -すべてのユーザーに見られる

  • PUBLIC_ONLY -未登録のユーザーに見える

  • PRIVATE -ログインユーザーに見える

  • HIDDEN -誰にも隠して

APIにおける他の方法は、ページを変更/削除することと、ページリストまたは特定のページの情報を取得することとを含む。