KONNO Kiyotaka

WCFM Marketplace 最初の一歩

WooCommerce Multi vendor Marketplace (WCFM Marketplace)を使うにあたって、どこから始めれば良いか。 日本語情報は早々に諦めて、手探りで始めます。 管理画面 WPのダッシュボードはこんな感じになります。 そして、「Marketplace」からWCFM Marketplaceのメニューに移ります。 手順としては、やはりVendorsから始めます。 登録内容自体は見れば分かるレベルなので良いですが、ドキュメント検索しても見つからないのは、ちょっと不安・・・。 商品 次にProducts。 の前に、Categories。これが最初分かりにくかったですが、Productsメニューの中にあります。要するに、WooCommerceの機能なのか、Marketplaceの機能なのかを意識しながら考えることが必要です。 Productsについては、商品の種類を選択して、基本内容を登録し、バリエーション商品の場合は、属性を登録して、その属性によって金額等のバリエーション情報を登録。 この辺の仕組みは、WC Marketplaceでも同じ。というか、それはWooCommerceの機能ですね。 https://www.programmers-office.ml/2019/01/14/wc-marketplace%EF%BC%88%E5%95%86%E5%93%81%E6%A9%9F%E8%83%BD%EF%BC%89/ ちなみに、Welcartとかだと、バリエーションの分SKUコードを振って、それごとに金額等を設定。 https://www.welcart.com/documents/manual-2/%E5%95%86%E5%93%81%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC Magento もそうでしょう。その方がきっちりと管理できるのでしょうが、ちょっと面倒。必要なければ内部管理でも良いのでは、と思います。 そして、商品登録については、当然CSV等によるインポートが必要かと思います。 しかし、Product CSV Import機能は、ULTIMATEの機能だと言われます。 そんな・・・ WOOCOMMERCE FRONTEND MANAGER – ULTIMATE https://wclovers.com/product/woocommerce-frontend-manager-ultimate/ と思いきや、商品の基本情報について言えばWooCommerceの機能な訳なので、メインダッシュボードの方のImport機能は使えます。 ですので、そちらでImportして、どの店舗の商品化の情報だけ後で加える、という方法も不可能ではないですね。けど大量だとやはり厳しいので、ULTIMATEは購入しても良いのかもしれません。49ドルは良心的でしょう。 そうすると、とりあえず、公開ページも見えるようになってきます。 基本の商品ページだと、色々なショップの商品が混在で表示され、ショップ名をクリックするとそのショップの情報とそのショップの商品が表示される。これは予想通り。良い感じかなと思います。 ショップ一覧表示ショートコード 一つやっておきたいのが、ショップ一覧。 これはショートコードが提供されているので、それを使います。 WCFM MARKETPLACE – STORE, WIDGETS & SHORT CODES https://wclovers.com/knowledgebase/wcfm-marketplace-widgets-short-codes/ [wcfm_stores]というショートコードが提供されており、1行あたりの表示店舗数がデフォルト2になっているので、「per_row」という属性が用意されています。属性の使い方は、通常のWordpressのショートコードの作法を確認して、[wcfm_stores per_row=3]とします。 これはまあこんな感じでしょう。 デモサイトだとこんな感じ。 http://wcfmmp.wcfmdemos.com/stores/

Tポイント解約の前に、と思ったら・・・minibot スマートロボット掃除機

話題のTポイント。もしかしたらやめようと思っている方も多いかもしれません。 私も、ちょっと距離を置こうかなと思っています、というか、ここ2年ほどはだいぶ距離を置いています。嫌われがちな楽天ポイントですが、その中にどっぷり浸かってみるつもりになってみると、意外とお得感を感じるということは、以前も書こうとしたのですが、このタイミングで書くのも面白いかなと思っています。 が、その前に、T-PONT使おうぜ、というお知らせをしようとしたのですが、予想外の展開・・・。 お勧めしたいのは、「minibot スマートロボット掃除機」です。 これが、以前SOFTBANK SELECTIONというショッピングサイトで売られていまして、しかも、他のサイトと比べてかなり安かったのです。 購入時のメールを抜粋すると、下記のような形です。 [ご注文総額] —————————————————— 商品税込計:15,800円 送料(税込):0円 —————————————————— お支払い総額:15,800円 —————————————————— Tポイント利用:800円 クレジットカード決済利用:15,000円 —————————————————— 取得ポイント:158pt これに対して、現在身近なところで購入できるAmazonだと、2018.1現在で18,600円となっています。 ですので、Tポイントやめる前に、これ買ってからやめた方が良いよ、と言おうと思ったのですが、取り扱いをやめてしまっているよう(製品ページはありますが、購入できないみたい)なので、この製品購入でTポイントを活用するのは諦めてください。 ただ、上記の画像リンクからAmazonの商品ページの「類似商品と比較する」の表を見ていただくと分かるように、現価格でも十分安いです。 しかも、機能的には、スマホアプリ制御ができる、という点で他の格安品とはランクが異なります。 利点を二つ書くと、 ・スマホアプリ制御 外出先から状態確認、開始・終了ができる。エラーになっている場合に、状態によっては、帰還だけさせておく、ということも可能。(動けなくなっているような場合は無理ですが) ・水拭き機能あり ちょっと水分多めですが、フローリングの部屋や廊下には使えます。 ということで、コスパ最高と言って良いかと思います。 当然難点も色々あり、ただ、これは、上位製品なら対応できているかというと、そこは分からないのですが、 ・ゴム、紐、マット等を巻き込んでエラーになっていることが多い 特に、輪ゴムは、取り外すのがかなり手間取るくらいがっちり巻き込んでしまう場合があるので、注意が必要 また、玄関マットに乗っかって、そのまま玄関下に墜落、ということもあるので、掃除の時は、片付けておく必要あり ・体力の続く限り掃除し続けるタイプ どこを掃除したかを覚えておくタイプではないようで、適当に動き回って、電池が少なくなってきたら帰還しようとする、という動きのようです。 ですので、放っておいたら3時間以上やっていると思います。 それでも、よくここまで来るな、という感じで動き回り、2部屋+廊下+トイレ+洗面所くらいは一通り掃除してくれます。 ・静かではない 最初は気にならなかったですが、気にしだすと静かではないです。けど、普通の掃除機よりは静かではないかと思います。 ・ごく稀にごみ受けが外れている。 Amazonのレビューにもありますが、ゴミ受けボックスが外れていることがありました。でも、10回に1回とかではないかと思います。 ということで、個人的には、ロボット掃除機はこれ一択ではないかというくらい気に入っています。

WooCommerceのマルチベンダープラグイン

ということで、改めて、WooCommerceのテスト環境を構築しましたが、マルチベンダー構成にするためのプラグインについては、もう少し検討したいと思います。 プラグイン画面で、「multi vendor」で検索すると、いくつかヒットします。この上位4件は割とインストール数も多いですし、更新頻度も高そうです。 いずれも、日本語対応は弱いので、優劣付けづらいのですが、概ね下記のような感じかと思います。 WC Marketplace 製品サイト https://wc-marketplace.com/ デモサイト http://wcmpdemos.com/WCMp/ アドオン https://wc-marketplace.com/addons/ ドキュメント https://wc-marketplace.com/knowledgebase/ ・プラグイン自体は無償で、アドオンは有償(割と高め)が多い ・WooCommerce自体にはstripeの追加プラグインがあるのに、これ用には別途有償アドオンが必要? ・見た目はそれほど良くはないかな。テーマが豊富に公開されているのは良いけど、ほとんど有償? https://wc-marketplace.com/third-party-themes/ WooCommerce Multivendor Marketplace 製品サイト https://wordpress.org/plugins/wc-multivendor-marketplace/ デモサイト http://wcfmmp.wcfmdemos.com/stores/ アドオン https://wclovers.com/addons/ ドキュメント https://wclovers.com/knowledgebase/ ・アドオンは少ないけど、安価 特にデリバリ機能のアドオンが魅力的 ・オープンソース WC Vendors Marketplace 製品サイト https://www.wcvendors.com/ アドオン https://www.wcvendors.com/extensions/ ドキュメント ・デモが公開されていないのはなんともしがたい ・製品自体は、Free版とPro版になっていて、かなりお金がかかりそう Dokan
製品サイト https://wedevs.com/dokan/ デモサイト https://dokandemo.wedevs.com/?utm_campaign=dokan_demo_users&utm_medium=dokan_demo_link&utm_source=WordPress.org アドオン https://wedevs.com/dokan/modules/ ドキュメント https://wedevs.com/docs/dokan/ ・見た目が美しい ・これもお金はかかりそう ・Free機能はオープンソース? https://github.com/weDevsOfficial/dokan 結論 Dokanの見た目はかなり魅力的ですが、オープンソースで、追加アドオンも安価そうなWooCommerce Multivendor Marketplaceで進めてみたいと思います。 小さなECサイトのWordPress+Welcart導入・設定ガイド 自前でもできる! /翔泳社/南部正光posted with カエレバ 楽天市場 Amazon 7net

Docker 環境をステージング環境へ(GCP編)

GCP環境にDockerコンテナを作る方法はいくつかあるようです。 ・GCE(Compute Engine)のVMインスタンス作成時に、コンテナ イメージをデプロイ ・Google Kubernetes Engine(GKE)にクラスタ環境を構築してデプロイ ・その他色々・・・ 公式ドキュメントはこちら Compute Engine への Docker コンテナのデプロイ https://cloud.google.com/compute/docs/instance-groups/deploying-docker-containers?hl=ja で、今回はシンプルそうな、VMインスタンス時にデプロイする方法を試します。 公式ドキュメントはこちら VM およびマネージド インスタンス グループへのコンテナのデプロイ https://cloud.google.com/compute/docs/containers/deploying-containers?hl=ja&_ga=2.46174759.-1895702560.1541304432 ですが、どうも分かりにくい。いくつか試してくれているサイトがありますが、どうも面倒なようにしか見えない・・・ インスタンス作成時は、Always Freeの条件 f1-micro インスタンス(1 か月あたり、バージニア州北部 [us-east4] を除く米国リージョンのみ) を踏まえて。 ただこれ、イメージは一つだけなんですね。後から追加できるかな・・・とりあえず、DBのイメージだけ指定します。 とりあえず、起動はします。 DBだけだと動いているか分かりませんが、SSHで入って確認してみます。 入ると ########################[ Welcome ]########################

You have logged in to the guest OS.

To access your containers use ‘docker attach’ command

########################################################### と表示されています。 docker images で目的のイメージが入っていることが確認できます。 であれば、もう一つのイメージはpullを叩いても良いか。


Docker push Google Container Registry 編

さらに新しい編。ドカベンか! ドカベン プロ野球編 (1-52巻 全巻) / 水島新司 / 秋田書店posted with カエレバ 楽天市場 Amazon 7net 今度は、Google Container Registry へのpushを試してみます。 始める前の準備 Container Registry のクイックスタート https://cloud.google.com/container-registry/docs/quickstart?hl=ja プロジェクトは既存のものを使用します。 課金の設定もしてあります。 Container Registry APIの有効化は、こちらのページのリンクボタンからGCP画面へ飛んで行って、ボタンを押していけばできます。 Google Cloud SDKはインストール済みでしたので、ここもスキップ。 この時にインストールしたのですね。 サイト引っ越し、そして、再引っ越し(Part2) https://www.programmers-office.ml/2018/12/22/%E3%82%B5%E3%82%A4%E3%83%88%E5%BC%95%E3%81%A3%E8%B6%8A%E3%81%97%E3%80%81%E3%81%9D%E3%81%97%E3%81%A6%E3%80%81%E5%86%8D%E5%BC%95%E3%81%A3%E8%B6%8A%E3%81%97%EF%BC%88part2%EF%BC%89/ Dockerもインストール済み。ビルド済み。 認証から行きます。 認証してpush gcloud auth configure-docker でDocker config fileへの更新確認をされるので、Yで進めます。 次にイメージにタグをつけます。 そしてpushしようとすると、認証できていない・・・ denied: Token exchange failed for project ‘xxx’. Caller does not have permission ‘storage.buckets.create’. To configure permissions, follow instructions at: https://cloud.

Docker push AWS ECR 編

色々な編ができていく・・・ ずっとはまっていてもダメなので、ちょっとGitLabからのPullはどこかで質問することにします。 そして、AWS ECS で pull するのであれば、当然相性良いだろうと思われる、ECR にpushしてみます。 イメージのプッシュ https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/docker-push-ecr-image.html もうpushするimageはできているところからスタートします。 Docker 環境をステージング環境へ(Docker push編) https://www.programmers-office.ml/2019/01/14/docker-%E7%92%B0%E5%A2%83%E3%82%92%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%E3%83%B3%E3%82%B0%E7%92%B0%E5%A2%83%E3%81%B8%EF%BC%88docker-push%E7%B7%A8%EF%BC%89/ python環境 pushするためには、まず1.の認証が必要です。 そのために、AWS CLIのインストールが必要です。 まあ、そうなんだろうけど面倒は面倒ですね。どんどん遡る・・・ 結局、開発環境をDockerで作るとしても、それを扱うための環境(ここで言えばpython環境)をローカルに作らなければいけない。もう少しローカル依存を減らしたいのですが・・・ AWS CLI をインストールする方法 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.html おもむろに $ pip install awscli –upgrade –user を叩くと、「pip: command not found」のつれないメッセージ。 $ python -m pip -V /usr/bin/python: No module named pip そこからか・・・ python3 そもそも、macの初期インストールpythonは python –version Python 2.7.10 です。 pipはPython 3.4以降には、標準で付属しているそうです。 Python3系を入れましょう。 Code4Startupの時は、普通にインストーラーをダウンロードする形でしたが、今時だとやはり、Homebrewでしょうか。 https://brew.sh/index_ja.html インストールのスクリプトを素直に実行。 インストール完了後、 $ brew doctor

Vimeo PRO(有料プラン)からBASIC(無料プラン)への変更

お試しでVimeoのPROプランに入っていた(2018年12月)のですが、いったんBASICに戻そうと思います。 PROは年間払いと月間払いのコースがあり、月間の方を契約していた(つもりでした)。 キャンセルについては、こちらの「いつキャンセルできますか?」に https://vimeo.com/jp/upgrade はい、すべてのプランが返金保証付きです。年間メンバーシップにご登録後30日間以内、または月間メンバーシップにご登録後5日間以内のキャンセルの場合は全額返金させていただきます。現在のメンバーシップで利用可能な追加機能が必要なくなった場合は、他のプランにグレードを落とすことができます。 とあります。 では、実際にキャンセルしようと思うと、これが難しい。 基本的には 有料メンバーシップからベーシックメンバーシップへ戻る https://help.vimeo.com/hc/ja/articles/115006635407-Lapsing-from-paid-membership-to-Basic-membership にあるように、更新をしない、ということが必要で、自動更新をオフにすることになります。 この手続きも分かりにくいですが、こちらが参考になります。 http://www.smile-hack.com/entry/2017/07/23/121957 でそうしたのですが、その上で現在のプランを見ると、2019年1月時点で、「あなたのVimeoPROメンバーシップの期限は2019/12/01に切れます。」となっています。 え?結局年間契約? よくよく見ると、年間契約になっていました。ショック・・・ この場合は Plus、PRO、Business または Vimeo Live の払い戻し https://vimeo.zendesk.com/hc/ja/articles/224822227-Plus-PRO-Business-%E3%81%BE%E3%81%9F%E3%81%AF-Vimeo-Live-%E3%81%AE%E6%89%95%E3%81%84%E6%88%BB%E3%81%97 にしたがい、契約後30日以内であれば、お問い合わせフォームから払い戻しを依頼する、ということになるようです。 ということで、1年間使うしかない。何か考えよう・・・ とりあえず、こちらでもご覧ください。

Docker 環境をステージング環境へ(Docker pull編)part1

docker pushができたので、今度は、サーバ側からpullします。 サーバは、GCPのつもりでしたが、Mgentoの検証を行っていたAWSを使うか、と考え、それならば、Elastic Container Serviceを使ってみることにします。 Elastic Container Service(ECS) まず、ECSには二つの起動モデルがあります。 ・Fargate 起動タイプモデル ・EC2 起動タイプモデル Fargateはコンテナ用のリソースで、EC2とは切り離されており、それ用の料金が発生します。逆に言えば、コンテナを使うためにEC2を増強するための料金は不要ということです。これに対して、EC2起動モデルの場合は、ECSの料金は不要です。 今回は、EC2の1年間無料枠を利用して、EC2起動タイプで行ってみます。 (AWSもDockerも初心者なのに大丈夫かどうかは不明です) ECSの手順については、こちらを参照させていただきました。 https://dev.classmethod.jp/cloud/aws/amazon-ecs-entrance-1/ 最初の、タスク定義を作成するところで、FARGATEかEC2かを選択するボタンがあるので、EC2を選択します。 タスク定義名は、タスク定義で指定する内容が、使用するDockerイメージだったり、ということなので、WooCommerceとしておきます。 他は初期値のままで「コンテナの追加」をします。 今回は、woocommerce_mariadb_1、woocommerce_wordpress_1として、二つ分追加します。 ポートマッピングは悩みますが、mariadb側はなし、wordpress側は80:80と、443:443を追加しておきます。 タスク定義が正常に作成されました、とのことです。 続いて、クラスターを作成します。 クラスターテンプレートは、Fargateではないので、「EC2 Linux + ネットワーキング」を指定します。 インスタンスタイプは無料枠なので、t2.micro、キーペアは作成済みのものを選択します。 「コンテナインスタンスの IAM ロール」はさらに不明なので、「新しいロールの作成」のまま進めます。 分からないながら進めていき、起動します。 「サービスの検出の統合の有効化」はさらに不明のため、チェックを外しておきます。(上記サイトの絵にはありませんので、貼っておきます) 以上で立ち上がったはずですが、サービス画面に行ってみると、起動失敗。 理由は、 https://registry.gitlab.com/v2/aaa/bbb/woocommerce_wordpress_1/manifests/latest: denied: access forbidden まあ、そうですよね・・・ コンテナの設定の、「プライベートレジストリの認証」「認証情報パラメータ」辺りだと思いますが、今日は時間切れです。

Docker 環境をステージング環境へ(Docker push編)

まだ、全然途中ですが、いったんベンダー機能とショップ画面が見えるようになったところで、これを別サーバ(ステージング環境のつもり)に持っていきたいと思います。 Docker力強化の目的もあります。 Docker イメージのレジストリサービス ローカル開発環境のDockerイメージを別サーバに持っていくために、まずは、Dockerイメージを共有することが必要と考えます。すると、レジストリサービスが必要ということが分かります。 そしてレジストリサービスを調べてみると、ありがたいサービスが提供されていることが分かります。 ・Docker Hub ・Amazon Elastic Container Registry (ECR) ・Google Container Registry ・Azure Container Registry ・GitLab Container Registry などなど。 構築先がGCPなのと、このサービスもAlways Free対象なので、Googleも有力な候補ではありますが、ソースをGit管理するなら、同じ管理にするのが合理的なのではということと、GitはGitLab派の私としては、GitLab Container Registryを使ってみることとします。 GitLab Container Registryへのpush 流れとしては、まずcommitして、イメージ作成。 これは、こちらを参照 https://www.memotansu.jp/docker/626/ commitなの、buildなの、というのはよく分かっていませんが、とりあえず、これで行ってみます。 docker login registry.gitlab.com ログインはできます。 しかし、pushは、3つあるイメージのうちの2つをpushしたいわけで、その仕組みがいまいち分かりません。 gitlabのページに記載を参考に、最後に「:タグ名」を付けてみても、 「An image does not exist locally with the tag」 となります。 この辺りを参考に、タグ付けします。 http://docs.docker.jp/linux/step_six.html https://docs.docker.com/engine/reference/commandline/tag/ そうすると、 registry.gitlab.com/aaa/bbb/woocommerce_mariadb_1 v1.1 a4e11e5e5b41 3 hours ago 262MB registry.gitlab.com/aaa/bbb/woocommerce_wordpress_1 v1.1 eba2457b8e6a 4 hours ago 438MB というようなイメージが出来上がります。

WC Marketplace(商品機能)

商品登録方法は、素のWooCommerceとWC Marketplaceでは考え方が違う部分がありますので、その確認。 商品とベンダーの関係 Setting up – Assign Single Product to Multiple Vendors https://wc-marketplace.com/knowledgebase/setting-assign-single-product-multiple-seller/ WC Marketplaceプラグインインストール時に、「Single Product Multiple Vendors」というチェックボックスがあります。 同一商品を複数ベンダーから販売することができ、購入時に顧客がベンダーを選択することができる、というものです。 これはしないので、スキップします。 管理者による商品の登録 Setting up – Uploading products for WCMp https://wc-marketplace.com/knowledgebase/setting-up-uploading-products-for-wcmp/ アップロードから始まるというのが、順番としてどうなのかと思わざるを得ませんが、必須機能ではある、というかむしろ最終的にはこちらが優先なので、これで良いのか。 ・・・と思って読み進めると、別にファイルアップロードの話ではなく、普通に商品登録の話でした。そういう言葉使いですか・・・ 最初に、承認を経由するかしないかの設定の話。 そして、管理者が通常のWooCommerceの方法で、商品登録する場合の話。 ここで、WC Marketplaceが入っていると、ベンダーを指定するプルダウンがあります。これをクリックすると、中身が空で、「?」と悩むのですが、テキストボックスに一文字入力するとそれにマッチするベンダーが選択できるようになります。まあ、ベンダーが大量に登録されていると、ずらっと出てこられても困るかもしれませんが・・・ 通常のWooCommerceの商品登録の方法については、 https://docs.artws.info/document/managing-products/ のお世話になるのが良いかと思います。 特に商品タイプ、特に「バリエーションのある商品」(Variable product)は重要です。 ベンダーによる商品登録 実際は、商品の登録は各ベンダーがやるでしょう、ということで、その機能についての説明です。 ベンダーのユーザでログインして、Vendor Dashboard画面に入ります。 こちらの画面からの登録も、細かい手順や画面構成が異なるのみで、登録内容は基本的に同じです。 ところが、Product Typeで、「Simple product」しか選択できません。 他のタイプを選択したい場合は、backendに行かなければならないということです。 すなわち、ベンダー用画面には、2種類あります。ログイン直後のVendor Dashboard画面と、wp-adminの画面であるbackendです。 こんなところから移動できます。 こちらに移動すれば、機能制限された管理画面が表示される、というわけです。 Advanced Frontend Manager https://wc-marketplace.com/knowledgebase/wcmp-frontend-manager/ で、一応、AFMというものを使ってほしそうです。 これを使えば、backendに移動せずに、「Simple product」以外の商品メンテもできるということです。 ただ、そんなに、画面からメンテするのか、と考えたら、コスパはあまり良くないかなという気もします。 https://wc-marketplace.com/product/wcmp-frontend-manager/ という感じで、だいぶ理解はできてきました。