コンテンツの読み込みに時間がかかっています

10ページ目

a-blog cms の勉強会開催を日本各地で開催したい

2019年の a-blog cms 勉強会

今年の勉強会は少なくて3人から多くて50人まで、名古屋は毎月・大阪は隔月、新潟は2回、それ以外は1回づつ開催しました。延参加者数は282人で24回開催と多くの方々と a-blog cms を勉強した1年でした。


イベントへの参加?

これは参加というよりは主催なんだけど...


2020年の a-blog cms 勉強会やイベントへの参加

2019年の a-blog cms の勉強会は全て終了しました。今年を振り返りつつ、来年のことも考えていきたいと思います。

来年は、もっと多くの人にお会いできればと思っております。

各地の勉強会

名古屋での毎月開催や大阪での隔月開催も続けます。また、他の地区でも東京などでも隔月開催したいですし、2019年は西日本に伺えなかったのを反省し各地をまわります。

まだやったことがない地域で、勉強会に来て欲しいというところがあれば、積極的に行きます。 そうやって行ったところでは芽が出て利用者やパートナーさんが誕生しています。なので、人数少なくても声をかけてください。

イベントの協賛や参加

2019年は無かったイベントへの登壇。どこかでお話しさせてください! 無料で行くし、協賛もご協力します。


a-blog cms の CSVインポート機能は私が思ってたより凄かったことを紹介

a-blog cms Advent Calendar 2019 については 12/1 トップバッターで書きましたが、書く人の募集が遅くなってしまったことから 2回目書かないと埋まらない事に。

今回は、少し前の案件で a-blog cms の標準のCSVインポート機能 に助けられたことを紹介してみようと思います。

a-blog cms の CSVインポーとでできると思っていたこと

a-blog cms CSV インポート」のキーワードで Google を使って検索すると以下のような情報がヒットします。Microsoft Excel や Apple Numbers 、Google スプレッドシートなどを利用して1行が1データになるように情報を管理し、それを取り込みすることを行うのが CSVインポートの基本だと思います。

ドキュメント

ハンズオン

a-blog cms では、エントリー(記事)とユーザーの情報の基本情報とカスタムフィールドを CSV形式で用意することで登録することができることがわかります。

CSVインポート機能と書かれていますが、追加( insert ) だけでなく、entry_id や user_id を CSVに含めることで、更新( update ) についてもサポートしています。

※ ユーザーのインポートについては、利用ユーザー数のライセンスが、無制限ユーザーの場合のみになります。

タグのインポート機能 (2019年秋情報公開)

どのバージョンからインポートできるようになったのか分かってないのですが、この秋にドキュメントの CSVファイルからのインポートentry_tag が追記されました。なので、a-blog cms 歴が長い人も知らない人が多いのではないでしょうか。

,aaa/bbb/ccc,

上記のように / を区切り文字で書くことで3つのタグ登録できます。

カスタムフィールドグループのデータを CSVインポートできる事をご存知でしたか?

一般的な CSVインポート機能であれば、縦がデータ数、横が項目数になるようなデータであるのが一般的です。a-blog cms でカスタムフィールドグループというカタチで登録できる管理画面を作った場合 CSVインポートが難しいと思っていました。

でも、それは私が知らなかっただけで a-blog cms なら出来るのです!

例えば、以下のような管理画面を用意します。


データの入力画面のサンプル

データの入力画面のサンプル

AAA・BBB・CCC については 、普通に CSV形式にすることはできますね。



AAA BBB CCC
あああ BBB-1 CCC-1
いいい BBB-1 CCC-2
ううう BBB-2 CCC-3

カスタムフィールドグループの CSV化について

より分かりやすくするために実際のソースコードも掲載しておきます。

<!-- BEGIN DDD:loop -->
    <tr class="sortable-item">
      <td class="item-handle acms-admin-table-nowrap">
        <i class="acms-admin-icon-sort"></i>
      </td>
      <td>
        <input type="text" name="EEE[]" value="{EEE}" class="acms-admin-form-width-full" />
      </td>
      <td>
        <input type="text" name="FFF[]" value="{FFF}" class="acms-admin-form-width-full" />
      </td>
      <td class="acms-admin-table-nowrap">
        <input type="button" class="item-delete acms-admin-btn-admin acms-admin-btn-admin-danger" value="削除" />
      </td>
    </tr>
<!-- END DDD:loop -->

実際のインポートデータ



entry_title AAA BBB CCC @DDD[1] @DDD[2] EEE[1] EEE[2] EEE[3] FFF[1] FFF[2] FFF[3]
サンプル1 あああ BBB-1 CCC-1 EEE FFF あああ いいい XXX YYY
サンプル2 いいい BBB-1 CCC-2 EEE FFF かかか ききき くくく XXX ZZZ YYY
サンプル3 ううう BBB-2 CCC-3 EEE FFF さささ ZZZ

sample.zip

1行目は読み込むデータの形式を指定します。@DDD[1], @DDD[2] については 、DDD:loop の部分になります。カスタムフィールドグループのループ名を1行目に書きます。そして、そのデータには全部の行に同じ入力項目名 EEE や FFF を記述する事になります。

また、EEE[1] , EEE[2] , EEE[3] などについては、最大の件数だけ連番の項目を設定し、件数が少ない場合には空で項目を用意しておきます。

カスタムフィールドグループの項目検索

今回は CSVインポートの事を書いていますがオマケで、カスタムフィールドグループの検索についても少し紹介しておきます。

/field/FFF/ZZZ

のような感じの文字列を URL の最後に追加すると、サンプル2・サンプル3 が検索される事になります。 このカスタムフィールドグループの項目検索についても、少し前まで検索対象になっている事を私が知りませんでした。私が知らないくらいなので、合わせてご紹介しておきます。

JSON ファイル生成もノンプログラミングで出力可能

最近は、フロントエンドでいろいろやるので、JSON形式でデータが出力できれば OK な事って多くなってきていると思います。

上記の CSVインポートしたデータを JSON にすると以下のようになります。

{"entry": [
	{	"entry_title": "サンプル1",
		"AAA": "あああ",
		"BBB": "BBB-1",
		"CCC": "CCC-1",
  		"DDD": [
    		{ "EEE": "あああ", "FFF": "XXX" },
    		{ "EEE": "いいい", "FFF": "YYY" }
 		]
	},
	{	"entry_title": "サンプル2",
		"AAA": "いいい",
		"BBB": "BBB-1",
		"CCC": "CCC-2",
  		"DDD": [
    		{ "EEE": "かかか", "FFF": "XXX" },
    		{ "EEE": "ききき", "FFF": "ZZZ" },
    		{ "EEE": "くくく", "FFF": "YYY" }
 		]
	},
	{	"entry_title": "サンプル3",
		"AAA": "ううう",
		"BBB": "BBB-2",
		"CCC": "CCC-3",
  		"DDD": [
    		{ "EEE": "さささ", "FFF": "ZZZ" }
 		]
	}
	]
}

a-blog cms のテンプレートで JSON を出力できるようにすると以下のようなテンプレートファイルを用意します。

<!-- BEGIN_MODULE Entry_Summary id="json_sample" -->\{"entry": [
		<!-- BEGIN unit:loop --><!-- BEGIN entry:loop -->
	\{	"entry_title": "{title}",
		"AAA": "{AAA}",
		"BBB": "{BBB}",
		"CCC": "{CCC}",
  		"DDD": [<!-- BEGIN DDD:loop -->
    		<!-- BEGIN DDD:glue -->,<!-- END DDD:glue -->\{ "EEE": "{EEE}", "FFF": "{FFF}" \}<!-- END DDD:loop -->
 		]
	\}<!-- BEGIN glue -->,<!-- END glue -->
		<!-- END entry:loop --><!-- END unit:loop -->
	]
\}
<!-- END_MODULE Entry_Summary -->

モジュールID の json_sample で条件を設定すれば必要なエントリーのみ抽出して JSON出力も可能になります。繰り返しの項目の区切り文字のカンマの表示制御部分に私自身も少し悩みました。というか DDD:glue という表記は初めて知りました。

   

こんなデータを入力する画面を作ろうと思った際には、他の CMS を使ってる人はどうしているんだろ? また、入力画面ができたとして、例えばお客様にCSV形式でデータ支給された際に取り込みのプログラムはプラグインとかでなんとかなるのかな? そこら辺を他の CMS を使ってる人には聞いてみたいと思います。お会いした際に、教えてもらえると嬉しいです。


Mavic mini「はじめての空飛ぶカメラ」がやってきた

1年くらい前からドローンを体験してみたいと思っておりましたので、Mavic mini が発表になった際にポチッとしてみました。


これから、どんなところで飛ばして OK で、どこで NG なのかを少し勉強のために調べてブログにまとめて行こうと思っております。


まずは、届いたことを報告しておきます。


DJI Macvic mini

  • 本体のみ 46,200円
  • Mavic Mini Fly More コンボ 59,400円