8.5.4 Expressにデータを一括登録したい
フォーラムの皆さま
平素から大変お世話になっております。
おかげさまで、Expressと外部フォームを用いた、システムの構築
は大変順調に進んでおります。
Expressに複数のエンティティをもち、テーブルを正規化したのち
に、これらを共通のキーで結んでデータを登録、表示、変更、削除
など、ほぼやりたいことが実現できるようになりました。
ありがとうございます。
ところで、1つ困ったことがございまして、Expressにかなり多くの
データを登録する必要がございます。そこで、Expressにデータを
一括登録できないかと思っております。
本フォーラムや、ブログで、旧バージョンでは、プラグインがあった
ようですが、8.5.4ではそのようなプラグインも見当たらないようで
ございます。
「マイグレーションツール」をGithubで見つけましたが、このツール
でcsvなどのデータを一括でExpressにインポートできるものでしょうか?
ご使用経験がおありの方がいらっしゃいましたら、ぜひご教示いただき
たく存じます。
また、concrete5にログインするユーザ(メンバー)を一括で登録する方法
もご教示頂きたく存じます。
どうぞよろしくお願い申し上げます。
【開発環境】
# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version - 20200609145307
# Database Information
Version: 5.1.73
SQL Mode:
# concrete5 Packages
None
# concrete5 Overrides
blocks/external_form/form/controller/tkp_menu.php, blocks/external_form/form/controller, blocks/external_form/form/tkp_menu.php, blocks/external_form/form, blocks/external_form, mail/mail_send_a.php, mail/mail_send_b.php, mail/mail_send_c.php
# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).
# Server Software
Apache
# Server API
apache2handler
# PHP Version
7.1.33
# PHP Extensions
apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mysqli, mysqlnd, odbc, openssl, pcre, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, recode, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib
# PHP Settings
max_execution_time - 3600
log_errors_max_len - 4096
max_file_uploads - 100
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 384M
sql.safe_mode - Off
upload_max_filesize - 256M
ldap.max_links - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - no value
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 4000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5
Re: 8.5.4 Expressにデータを一括登録したい
http://www.concrete5.org/community/forums/customizing_c5/optimising-code-8.2.1-user-import
※importer by @hissy on github は見つけられず...(T-T)
Re: 8.5.4 Expressにデータを一括登録したい
http://github.com/concrete5cojp/addon_csv_user_import_export
マイグレーションツールは、XMLファイルしか扱えませんので、CSVは別になります
Express用のインポートツールは作ったものがあるのですが残念ながら非公開です
Re: 8.5.4 Expressにデータを一括登録したい
http://bitbucket.org/fabianbitter/concrete5_express_batch_importer/src/master/
Re: 8.5.4 Expressにデータを一括登録したい
おはようございます。
ありがとうございました。おかげさまで、パッケージをインストールすること
ができました。
今回は、hissyさまがコメントくださっておられる、メンバーをcsvファイルから
一括でインポート/エクスポートするアドオンパッケージをインストールさせて
いただきました。
【行った手順】
・ローカルPCにコンポーザーをインストール(Windows10)
・Githubからダウンロードしたパッケージを解凍
・composer.jsonをエディタで開き、パッケージ名ddeboer/data-importを確認
・コマンドプロンプトを起動
・cd コマンドで、パッケージを保存したフォルダまで移動
・composer require ddeboer/data-import (ENTER)を実行
・パッケージを保存したフォルダに新たに「vendor」フォルダが生成される
・FTPでサーバに接続
・concrete5をインストールしたディレクトリで、「Package」へ移動
・ローカルPCで解凍したcsv_user_import_exportフォルダと、vendorフォルダを
Packageフォルダ配下へコピー
・vendorフォルダを、csv_user_import_exportフォルダ配下へ移動
・ダッシュボードの「concrete5を拡張」へアクセス
・「機能追加」欄に「CSV User Import & Export」が表示されるので、右の「インストール」
ボタンをクリック。
・インストールが正常に終了するので、「システムと設定」→「BackUp」に
Export User CSV と、Import User CSV が表示されているので、クリックして使う。
いただいた参考資料を熟読し、解決できました。
aniyaさまに心より感謝申し上げます。
ありがとうございました。
追伸:ローカルで作成したパッケージをFTP経由で送信するにあたっては、
こちらの記事を参考にしました。
http://stackoverrun.com/ja/q/11347448
Re: 8.5.4 Expressにデータを一括登録したい
先日ご紹介いただいた、concrete5メンバー一括登録用のツールでございますが、
無事concrete5にインストールでき、メンバーを登録することができました。
そこで、恐縮でございますが、1つ質問させていただきます。
concrete5管理画面の「メンバー」より、csvファイルでメンバー一覧をダウンロード
いたしましたところ、パスワードを記入する欄が見当たりませんでした。
MySQLの「Users」テーブルを倣い、csvファイルに「uPassword」フィールドを加え、
パスワードを適当に入力してから、ツールでアップロードいたしましたところ、
メンバーはきちんと登録されておりました。
パスワードも、uHush化された文字列がUsersテーブルに登録されているようですが、
平文でcsvファイルに設定したパスワードと異なるようです。
パスワードを一括登録するには、どのような手続きを踏めばよろしいでしょうか。
ご教示頂けますと幸いです。
どうぞよろしくお願い申し上げます。
aniya
Re: 8.5.4 Expressにデータを一括登録したい
http://www.concrete5.org/community/forums/customizing_c5/problems-with-importing-many-express-objects-10k