Skip to content

Commit

Permalink
Merge branch 'management/admin/cms'
Browse files Browse the repository at this point in the history
  • Loading branch information
Hiroyuki Watanabe committed Oct 2, 2020
2 parents 89402b9 + e15eb42 commit 24ab927
Show file tree
Hide file tree
Showing 34 changed files with 413 additions and 6 deletions.
12 changes: 6 additions & 6 deletions content/commerble/management/admin/cms/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ description:
# CMS管理サイト

- メタデータ管理
- テンプレート
- URL
- リスト管理
- [テンプレート](./template)
- [URL](./url)
- [リスト管理](./list)
- サイト管理
- プレビュー
- メンテナンス
- 再起動
- [プレビュー](./preview)
- [メンテナンス](./maintenance)
- [再起動](./restart)
Binary file not shown.
210 changes: 210 additions & 0 deletions content/commerble/management/admin/cms/list/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
---
title: "リスト管理"
weight: 30
description:
---

# リスト管理
リストとは[CMSデータ](../../../../development/data/cms)として定義したデータのことです。
リスト管理ページでは、このリストの管理を行います。
[CMSデータ](../../../../development/data/cms)はテナントのシステム要件に応じて自由に設計できるデータです。

## リスト一覧(メニュー)
定義済のリストの一覧がメニューに表示されます。
下記の画像はサンプルECサイトのリスト一覧になります。テナントによりリスト一覧は異なります。

![リスト一覧](list-of-list.png)

## CMSデータ一覧
リスト一覧より管理するCMSデータを選択するとCMSデータ一覧が表示されます。

![一覧](list.png)

**新規作成**ボタン押下すると新規にデータを登録することができます。

**リサイクル**ボタン押下すると過去に削除したデータを復元する画面が表示されます。
誤ってデータを削除してしまった場合などに利用します。但し復元できる削除データは直近200件のデータのみとなります。

**一括アップロード**ボタンを押下するとデータを一括アップロードする画面が表示されます。詳細は[一括アップロード](./#一括アップロードcsv)をご参照ください。

**一括ダウンロード**ボタンを押下すると、データをCSV形式でダウンロードすることができます。
こちらでダウンロードしたCSVは[一括アップロード](./#一括アップロードcsv)するCSVと同様の形式になります。
ダウンロードデータをフィルターする場合は、一覧で条件を指定してフィルターしてから**一括ダウンロード**を行ってください。

## CMSデータ詳細
一覧で選択したデータが**一覧の下部**に表示されます。

![詳細](detail.png)

**編集**ボタンを押下すると表示しているデータを編集できます。

**削除**ボタンを押下すると表示しているデータを削除します。

**新規作成**ボタンを押下するとデータを新規登録できます。

**連鎖削除**ボタンを押下すると表示しているデータを削除する際に、このデータと関連した他のCMSデータを一緒に削除します。

**拡張機能:コピー**リンクを押下すると表示しているデータを元に、データを新規登録できます。

## 一括アップロード(CSV)
CMSデータをCSVをアップロードして一括登録します。
ここでは登録するデータを、CSV形式のファイルでアップロードします。
Blob(Binary Large Object)を含むデータを一括登録する場合は、[一括アップロード(圧縮ファイル)](./#一括アップロード圧縮ファイル)をご参照ください。

以下は**一括アップロード**ボタンを押下したときに表示されるアップロード画面です。

![アップロード](upload.png)

### 一括アップロードの手順
1. **template download**リンクより、一括アップロード用のCSVテンプレートファイルをダウンロードします。
2. CSVファイルを作成します。
3. **Choose File**ボタンからアップロードするファイルを選択、**アップロード**ボタンよりファイルをアップロードします。*この段階ではまだ登録はされません。*
4. アップロードされたデータに問題がある場合エラーが表示されます。エラーがない場合は、**取り込み**ボタンからデータ登録します。

### CSVファイルのルール
アップロードするCSVファイルにはいくつかルールがあります。

**ヘッダー列は必ず3行必要**
1行目はCMSデータのフィールドの表示名、2行目は型、3行目は列名になります。
**template download**リンクよりダウンロードできるCSVテンプレートファイルには上記3行が含まれています。

![CSVヘッダー](csv.png)

**フィールドの型**
CMSデータのフィールドの型は、**template download**リンクよりダウンロードできるCSVテンプレートファイルの2行目に記載されています。
入力必須のフィールドの場合、`(*)` が型の後に表示されます。`Int32(*)`は、入力必須の整数の型を表します。

|| 説明 | 設定値の例 |
|----------|--------|-------------------------------------------------------------------------------------------------|
| Boolean | 真偽値 | `True``False` |
| Int32 | 整数 | `100``-100` |
| Int64 | 長整数 | `10000``-10000` |
| String | 文字列 | `いろはにほへと` |
| DateTime | 日時 | `2016/09/20 14:08:02``2020/01/01` |
| Byte[] | Blob(バイナリファイル) | Zip圧縮で一括アップロードをする場合に、Zip圧縮前のディレクトリのBlobファイルのパスを指定する。<br/>`images\hero.png` |


**CSVの列は可変。但し主キーの列は必須**
CSVファイルに用意する列は必ずしも全てのフィールドを用意する必要はありません。
必ず必要な列は、データを一意に識別する主キーとなるフィールドです。データを新規登録する場合は、入力必須のフィールドの列も必要です。
- **主キー**: **IsPrimaryKey** がチェックされている
- **入力必須**: **IsNullable** がチェックされていない

![主キー・入力必須](primary-nullable.png)

**未登録→新規登録。登録済→更新**
アップロードするCSVデータが、Commerbleに未登録の場合は新規登録されます。Commerbleに登録済の場合は更新されます。

## 一括アップロード(Zip圧縮)
登録するファイルをZip圧縮してアップロードします。
Zip圧縮アップロードは、画像やCSSのファイルを一括アップロードする際に利用します。
アップロードの手順は、アップロードするファイル以外[一括アップロード(CSV)](./#一括アップロードcsv)と同じです。
以下はZip圧縮するファイルの構成例です。

![zip例](zip-example.png)

*Zipファイル名、ルートディレクトリ名、CSVファイル名は同じにしてください。*
*圧縮したのディレクトリの構成に誤りがある場合、アップロードに失敗しますのでご注意ください。*


## WindowsでZip一括アップロード
クライアントマシンがWindowsの場合のアップロード方法を説明します。
今回作成したZipファイルは、[こちら](SiteFiles.zip)よりダウンロードできます。
この例で一括アップロードするCMSデータは静的ファイルを管理するデータで、以下のスキーマとします。

| 表示名 | カラム名 || 説明 |
|------------------|-------------|-----------|---------------------------------------|
| ファイルタイプ | FileType | String(*) | ファイルの種類を保持 |
| ファイルパス | FilePath | String(*) | ECサイトで公開するURLのパスを保持 |
| コンテンツタイプ | ContentType | String | ECサイトで出力する際のmime-typeを保持 |
| ファイル | FileBinary | Byte[] | Blob(バイナリデータ)を保持 |

今回は画像ファイルを2つ、CSSファイルを1つアップロードする例を説明します。

1. CSVテンプレートファイルをダウンロードします。
2. CSVファイルを編集します。以下は編集したCSVファイル(SiteFiles.csv)です。

![wincsv](win-csv.png)

3. アップロードするファイルを圧縮してアップロードする予定のディレクトリに集めます。
*ルートディレクトリの名前はCSVファイルの名前と同じ(SiteFiles)にする必要があります。*

![windir](win-dir.png)

4. ルートディレクトリをZip圧縮します。
*Zipファイルの名前はCSVファイルと同じ名前(SiteFiles)にする必要があります。*

![winzipcontext](win-zip-context.png)

![winzipfile](win-zip-file.png)

5. Zipファイル(SiteFiles.zip)をアップロードします。以下はアップロード後の画面です。

![zipuploaded](zip-uploaded.png)

6. **取り込み**ボタンを押下してデータを登録します。

![zipregistered](zip-registered.png)

## macOSでZip一括アップロード
クライアントマシンがmacOSの場合のアップロード方法を説明します。
今回作成したZipファイルは、[こちら](SiteFiles.zip)よりダウンロードできます。
この例で一括アップロードするCMSデータは静的ファイルを管理するデータで、以下のスキーマとします。

| 表示名 | カラム名 || 説明 |
|------------------|-------------|-----------|---------------------------------------|
| ファイルタイプ | FileType | String(*) | ファイルの種類を保持 |
| ファイルパス | FilePath | String(*) | ECサイトで公開するURLのパスを保持 |
| コンテンツタイプ | ContentType | String | ECサイトで出力する際のmime-typeを保持 |
| ファイル | FileBinary | Byte[] | Blob(バイナリデータ)を保持 |

今回は画像ファイルを2つ、CSSファイルを1つアップロードする例を説明します。

1. CSVテンプレートファイルをダウンロードします。
2. CSVファイルを編集します。以下は編集したCSVファイル(SiteFiles.csv)です。

![maccsv](mac-csv.png)

3. アップロードするファイルを圧縮してアップロードする予定のディレクトリに集めます。
*ルートディレクトリの名前はCSVファイルの名前と同じ(SiteFiles)にする必要があります。*

![macdir](mac-dir.png)

4. ルートディレクトリをZip圧縮します。
*Zipファイルの名前はCSVファイルと同じ名前(SiteFiles)にする必要があります。*

![maczipcontext](mac-zip-context.png)

![maczipfile](mac-zip-file.png)

5. Zipファイル(SiteFiles.zip)をアップロードします。以下はアップロード後の画面です。

![zipuploaded](zip-uploaded.png)

6. **取り込み**ボタンを押下してデータを登録します。

![zipregistered](zip-registered.png)
























Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions content/commerble/management/admin/cms/maintenance/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: "メンテナンス"
weight: 50
description:
---

# メンテナンス
メンテナンス機能は、計画メンテナンスなど一時的にサイトを停止する場合に利用します。
「メンテナンス」モードに切り替えると、ECサイトのページ要求の応答が全てメンテナンス用メッセージになります。

![メンテ](mainte.png)

- **運用/メンテナンス**: 「運用」モードは通常通りサイトを運用するモードです。
「メンテナンス」モードはECサイトのページ要求の応答が**Message**に指定したテキストになります。
- **Message**: 「メンテナンス」モードの時のページ要求の応答を指定します。

**更新**ボタンを押下することで情報を更新します。

{{< hint warning >}}
メンテナンスモード中は全ての要求応答がメンテナンスページになるので、
メンテナンスページで画像やCSSファイルを読み込む場合は、Commerble ECサイト以外に配置したファイルを指定してください。
またはメンテナンスページに直接埋め込む方法をご検討ください。
{{< /hint >}}

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions content/commerble/management/admin/cms/preview/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: "プレビュー"
weight: 40
description:
---

# プレビュー
{{< hint warning >}}
プレビュー機能は*モバイル対応*していないため殆ど利用されておりません。
昨今ではページプレビューには、対象となるページをカスタマイズし、柔軟にプレビュー可能な実装にすることを推奨しております。
{{< /hint >}}
プレビュー機能は、指定した日時にページがどのように表示されるかを検証できる機能です。
例えば、未来に公開する特集ページをその公開タイミングではどのように表示されるかなどを確認するために使用します。
プレビューで確認が可能なページは、ECサイトの共通機能(カート、購入フロー)以外の商品詳細ページ、トップページが対象となります。
プレビュー機能を利用する場合は、事前にプレビュー対象とするページ側でプレビューが機能するように調整が必要になります。

![プレビュー](preview.png)

- **プレビュー日時**: プレビューしたい日時を指定します。
- **ページURL**: プレビューしたいURLを指定します。

以下はプレビュー日時に, `2021/01/01 00:00:00`を指定してプレビューした場合の例です。

![プレビューページ](preview-page.png)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions content/commerble/management/admin/cms/restart/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: "再起動"
weight: 60
description:
---

# 再起動
再起動は、ルーティング(URL情報)、CIDR、共通テンプレート変更時には再起動が必要になります。
キャッシュデータがクリアされ一時的に負荷が高くなるので、細心の注意を払って実行してください。

![リスタート](restart.png)

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
75 changes: 75 additions & 0 deletions content/commerble/management/admin/cms/template/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: "テンプレート"
weight: 20
description:
---

# テンプレート
テンプレート管理ページでは、テンプレートの追加・更新・削除、テンプレートの構文チェックを行います。
このページで管理するテンプレートは

- cshtmlテンプレート: 商品ページなどECサイトで表示されるページ用テンプレート
- mailテンプレート: 受注確認メールなどメールで利用されるテンプレート
- csxテンプレート: バックエンド業務で利用するデータの取得に利用されるテンプレート

になります。

## テンプレート言語・記法
上記で記述したテンプレートは、全て C# というプログラミング言語を利用します。
利用言語は、C# ですがそれぞれ用途に合わせた記法で記述します。
テンプレートの詳細は、[開発:テンプレート](../../../../development/template) よりご参照ください。

| テンプレート記法 | 構文 | 特徴 |
| ------------------ | ----------------- | --------------------------------------------------- |
| cshtmlテンプレート | Razor | Razor専用構文、C#、HTMLで構成されます。 |
| mailテンプレート | Razor | Razor専用構文、C#、メール用テキストで構成されます。 |
| csxテンプレート | CSX(C#スクリプト) | C#プログラムをほぼそのまま記述すします。 |

## テンプレート一覧
テンプレート管理ページを開くと、テンプレート一覧が表示されます。
一覧よりテンプレートを選択することで、テンプレートの編集を行うことが出来ます。
**新規作成**ボタンを押下することで新規にテンプレートを作成できます。

![テンプレート一覧](list.png)

## テンプレート詳細
一覧で選択したテンプレートが表示されます。

![テンプレート詳細](detail.png)

### 更新
テンプレートを更新します。以下の項目を指定し**更新**ボタンを押下して変更を保存します。

- **テンプレート名**: テンプレートの名称を指定します。
- **テンプレート記法**: テンプレートの記法を指定します。以下より選択します。
- template
- cshtml
- mail
- csx
- **テンプレート**: テンプレート本文を指定します。

### 構文チェック
テンプレートの更新前などにテンプレートに誤りがないか構文チェックを行うことが出来ます。
cshtmlテンプレートの構文チェックを行う場合、**validation with ViewStart**のチェックをいれて検証します。

{{< hint info >}}
csthmlテンプレートは、**複数のテンプレートを結合**して1つのWebページの出力を生成します。
そのためcshtmlテンプレートの構文チェックを行う場合は、**validation with ViewStart**にチェックを入れてください。

例)商品ページを出力する場合、商品ページテンプレートにページ全体のレイアウトが記述されたレイアウトテンプレート、ヘッダー・フッター用の部分テンプレートが
結合されてページが生成されます。
{{< /hint>}}














Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 24ab927

Please sign in to comment.