Gamerch WikiDBのCSVインポート(一括取り込み)のメモ
Gamerchの便利機能「WikiDB」について、CSV経由でデータを一括で取り込むときのメモ。
目次 (Gamerch_CSV)
基本的なやり方
管理画面の「WikiDB(データベース)」→該当のWikiDBの「CSVインポート)」
CSVインポート
- 「CSVインポート用テンプレートファイル」をダウンロードしてください
- インポートする内容を編集してください(3行目から入力してください)
- お問い合わせフォームより、「CSVインポート希望」をご連絡ください
上記のように、表示されるヘルプに従って対応します。
CSVの加工
私はExcelがあんまり信用できない(変なエラーを起こしそう)なので、Googleスプレッドシートで主に作業しました。
1行目、2行目は項目ID、項目名が自動で設定されているので、3行目から実際のデータを入力します。
自分が作成したWikiDBの項目の型(数字だとか文字列とか選択型とか)に矛盾しないよう気を付ける。
▼たとえばこんな感じのデータを作ります
CSVテンプレート右側にある列は、WikiDBではなく、関連して作成されるページの情報。
title | description | page_name | tags | body | parent_entry | widget_top | widget_bottom |
---|---|---|---|---|---|---|---|
ページタイトル | 概要 | ページ名 | タグ | 本文 | 親カテゴリ | 記事上ウィジェット | 記事下ウィジェット |
「ページタイトル」「ページ名」は、必須かつ使用不可文字(以下参照)がある。
「本文」は、とりあえず「#wikidb_template()」を入れておくと良い。
「親カテゴリ」は、カテゴリページを作っていたら、その「ページ名(一致リンク名)」を記載することができる。
それ以外は必要に応じて記載する。
ウィジェットは良く分かんない。作っていれば指定できるのかな?
下記の文字はページタイトルに使用できません。
< > " { } | ^ [ ] ` # % / ? ' ( ) \
使いたい場合は全角に変換するか、何か別の文字で対応しましょう。
特殊文字について
以下のような文字がインポート時は使えないようで、自動的に「?」に変換されるため要注意。
UTF-8を使ってるのに、なんでだろうね…
一例: ♡ ♥ Æ ä ā Ë
いったん違う文字に置換してCSVを取り込み、そのあとGamerch上の編集画面で手動修正する形にしました。
なお、WikiDB内、ページ名等いずれも、特殊文字自体は使用可能です。あくまでCSVインポート時に使えないだけ
(このページ下部の、【「?」に文字化けしたデータの発見・修正方法】も併せてご覧ください)
スプレッドシート経由の場合:BOMを付ける
Googleスプレッドシートで編集する場合、「ダウンロード⇒カンマ区切り(csv)」でデータをダウンロードできますが
このデータは「UTF-8(BOM無し)」のようで、たとえば日本語などが含まれていると、文字化けしてしまいWikiDBへの取り込みが正しくできないようです。
ので、CSVを適当なテキストエディタで開き「UTF-8(BOM付き)」に変換しましょう。
私はEmEditorを使いましたが、調べてみたら「メモ帳」でも充分のようです。
サポートへの連絡
データ新規登録の場合
お問い合わせフォームから「CSVインポート希望」の旨を送信すると、サポートからメールが届くので、CSVを添付して返信します。
メールの中で注意事項を案内されますので、それに従ってください。
CSVを送信して1日~数日?待つと、データ取り込み完了し、その旨の返信がきます。
禁止文字が禁止箇所に含まれているなど、エラーにより取り込めなかった行は、その際のメールに記載してれます。
(「?」に文字化けしてしまったもの(=取り込み自体は成功したもの)は教えてくれませんでした)
あとは取り込まれたデータを確認して完了です。
不具合があったデータに関しては、Gamerch上で直接修正するか、再度CSVを作成してメールでインポート依頼を行いましょう。
データ一括更新の場合
既存のWikiDBのデータを、CSVを経由して一括で更新することも可能なようです。
一括更新したい旨と、そのWikiDB名を伝えれば、サポートから更新用CSVが送付されてきます。
(↑つまり現状のWikiDBをCSV化し、特殊文字を「?」に変換したもの)
※送付されたCSVも、特殊文字が警告なく「?」に置換されているので、WikiDB内で特殊文字を使っている場合は要注意。
CSVを受け取った状態なら何ら影響はありませんが、このCSVを「そのまま」インポートしてしまうと、せっかく登録したWikiDB内の特殊文字が「?」に書き換わってしまいます。
ここは改善してほしいな…。
あとは、送ってもらったCSVに手を加え、新規登録と同様にCSVをメール送付すれば完了です。
(ちなみに、新規登録用と一括更新用のCSVは別々の扱いとなります)
「?」に文字化けしたデータの発見・修正方法
WikiDB上で発見するのは簡単で、WikiDBで「"?"を含む」検索をすれば出てきます
(今調べたら、スプレッドシートでも検索できた)
「?」はワイルドカード/正規表現の意味があるので、ソフトによっては簡単に検索できないのよね
-
-
-
NoName
41時間まえ ID:ceymgmuu事後報告です
スプシで出力したので長文など特殊文字あるとセルフでダブルクオーテーションで囲むとエラー吐きますね
あとやはり1000文字超えるとエラーでした
-
-
-
-
NoName
34時間まえ ID:ceymgmuuあー自分もスプシで書いていたんですが既にダブルクオーテーションで囲んじゃったなあ、、、(これ書き直しか、、、?)
もう送信しちゃいましたね、、、
うまくいくことを祈ります返信ありがとうございます
-
-
-
-
fumenity
211時間まえ ID:ud7djnfkコメントありがとうございます!
1000文字以内というルールは初耳でした。
ただ、何らかの問題が発生する可能性は高そうなので、ルール通り1000字以内に収めるか、可能なら取り込んだ後にWiki上で手動で確認/修正をするのが確実だと思います。
またダブルクオーテーションは、私の場合はGoogleスプレッドシート経由だったので、自動的に付加されて(適切に囲まれていて)問題は発生しなかったです。が、おそらく囲まないとめちゃくちゃなことになるでしょう…。
私は該当がなかったため、ふんわりした回答になって申し訳ないです。
試しに1000文字以上の項目があるテストデータ数件のCSVで取り込み依頼してみて、それの結果を見てみると良いかもしれません。
よろしくお願いいたします。
-
-
-
-
NoName
12日まえ ID:ceymgmuu質問失礼します
別wikiにてcsvファイルを活用してdb反映を実施しようと現在奮闘中です
長文項目を作るのですがダブルクオーテーションで囲むのは勿論なんですが1000文字以内に収めないといけないっていうルールがありましたよね。
やっぱりそれに準拠しないと変なこと起きちゃいます?
-