件名: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/10/14 06:56 PM JST
投稿者: yamachan

geeklog のデストリビューション geeklog2-ivywe_5ddfe2dec0a0 を使っています。 先ほど、databox を Ver:0.0.0.20140730 から Ver:0.0.0.20141105 にアップデートしましたが、CSV と Maps メニューが消えてしましました。 なにか追加の設定が必要なのでしょうか。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/10/14 07:02 PM JST
投稿者: Ivy

単独で入れる場合は
Bitbucket の
Tsuchi/box だけでなく
Tsuchi/databox_csv
Tauchi/databox_maps
もお願いします。

今晩、ivyweのディストリビューションを
Databoxも最新にしておきますね。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/10/14 10:47 PM JST
投稿者: Ivy

https://bitbucket.org/tsuchi/box
https://bitbucket.org/tsuchi/databox-csv
https://bitbucket.org/tsuchi/databox-maps

これらの最新をとりこんだIVYWEディストリビューションを作成しました。
https://code.google.com/p/geeklog2-ivywe/source/list
これをダウンロードして使ってみてください。
※Download zip | tar.gz 

検索が使えるようになっています。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/10/14 11:10 PM JST
投稿者: Ivy

検索ページのつくりかたはこちら。
http://www.ivysoho.net/article.php/20141017162732737

静的ページでまず、自動タグを活用して検索フォームをすぐにつくってみてください。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 09:58 AM JST
投稿者: yamachan

わかりました。ただ、
https://bitbucket.org/tsuchi/box ← 閲覧可
https://bitbucket.org/tsuchi/databox-csv ← 閲覧不可
https://bitbucket.org/tsuchi/databox-maps ← 閲覧不可
となっていて、
csv と maps については、geeklog2-ivywe_5ddfe2dec0a0 からとりあえずとってきてうまく動いているようです。
https://code.google.com/p/geeklog2-ivywe/source/list には maps と csv を確認したので、あとで試してみます。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 11:07 AM JST
投稿者: Ivy

すみません、CSV Mapsはまだアクセス制限かかってましたね。
この機能はCSVインポート・エクスポートやMAPSへのエクスポートをサポートするものです。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 03:04 PM JST
投稿者: yamachan

https://code.google.com/p/geeklog2-ivywe/source/list の f7bd164f696c で試しています。

my.cnf の
PHP Formatted Code
[mysqld]sql_mode='TRADITIONAL'

で問題ありです。
PHP Formatted Code
mysql> describe gl_maps_markers;
+----------------+-----------------------+------+-----+---------+-------+
| Field          | Type                  | Null | Key | Default | Extra |
+----------------+-----------------------+------+-----+---------+-------+

| validity_start | datetime              | NO   |     | NULL    |       |
| validity_end   | datetime              | NO   |     | NULL    |       |

こりゃあないよね(not null なのに default null) ということで、とりあえず
PHP Formatted Code
mysql> ALTER TABLE gl_maps_markers CHANGE `validity_start` `validity_start` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> ALTER TABLE gl_maps_markers CHANGE `validity_end` `validity_end` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

もう一か所
maps_markersupdate.inc で
$payed は boolean でないとならないが、modified と同じ値になっているようで YYYYMMDDHHMMSS が入ります。とりあえず 0 でもいれておきます。
PHP Formatted Code

            //$payed=$_MAPS_CONF['payed'];//ペイドマーカー
            $payed=0;//ペイドマーカー

$payed が何をしているのかわからないですけど...

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 03:52 PM JST
投稿者: Tsuchi

CSVとMaps はオプションなので、なくても特に問題ありません。
必要な時だけ、それぞれ追加してもらったらよいです。

追加削除の方法については、それぞれreadme_csv.txt
readme_maps.txtに記述していますので、参照してください。


書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 04:02 PM JST
投稿者: Tsuchi

gl_maps_markers
このテーブルは、Mapsプラグインのテーブルです
Mapsプラグイン Ver1.3.1 では
sql/mysql_install.php では
validity_start datetime NOT NULL,
validity_end datetime NOT NULL,
になっています。
defaultは特に指定してないからNULLになっているのでしょう

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 04:19 PM JST
投稿者: Tsuchi

//$payed=$_MAPS_CONF['payed'];//ペイドマーカー
これは、
Mapsプラグインのコンフィギュレーション設定のマップはペイドマーカーを許可 (Paypalプラグイン要)
Mapsプラグンの編集方法に倣って編集しています

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 04:19 PM JST
投稿者: yamachan

> CSVとMaps はオプションなので
いやいやそういう問題じゃなくて、面白そうだから試しているのであって、

> defaultは特に指定してないからNULLになっているのでしょう
これもそういう問題ではなく、そもそも定義が矛盾しているから default 値が代入されないということです。
うまくいっているように見えるのは、mysql のデフォルトでは変な値を入れても落ちないようになっているからです。

ところが、
PHP Formatted Code

sql_mode='TRADITIONAL'
 

とすると、値が矛盾していると落ちるようになります。上記の例だと
1. maps のテーブル設計に問題がある
2. payed の値に問題がある
ということです。 TRADITIONAL についてはこちら
http://d.hatena.ne.jp/sakaik/20100303/mysqlmode

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 05:00 PM JST
投稿者: Tsuchi

1. maps のテーブル設計に問題がある
この問題は、Mapsプラグインのほうで対応してもらわないといけないです。
DataBox のほうで、対応するとしたら、なんらかの値を編集してやらないといけないのですが、どういう値を編集したらよいのかは、いまのところ不明
エラーで落ちるとしたら、とりあえずは、テーブル構造を直接修正するのがてっとりはやいと思います。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 05:05 PM JST
投稿者: Tsuchi

2. payed の値に問題がある
原因の可能性のひとつとして考えられるのは
Mapsプラグインのロード順はDataBoxより下にあるのかもしれない。ということです。

いちおう、DataBoxのドキュメントには関連プラグインのところに
Mapsプラグイン
Mapsプラグインのロード順はDataBoxより上位にしてください。
と記述しています

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 05:09 PM JST
投稿者: yamachan

ben さんにどう対応してもらうのかは考えてもらうとして、
そちらでも検証されて、とりあえずこういう対処で(まえの書き込みのとおりでもいいですし)やっちゃってくださいということをいわれるといいかと思います。上記条件でおっこちるのは確実なんで。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 05:11 PM JST
投稿者: yamachan

> Mapsプラグインのロード順はDataBoxより上位にしてください。
なってます。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 05:22 PM JST
投稿者: Ivy

Maps pluginの問題は連絡しますね。

PHP MySQLのバージョンは何でしょうか?
そこで落ちるのは初めて聞く現象だったので。p

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/11/14 05:53 PM JST
投稿者: yamachan

まいどありがとうございます。要は、誰も traditional で動かしていないということなんだと思います。
重ねて言いますが、通常では起きません。しかし、mysql が適当に丸めているだけで設計とは違う予期せぬ値が入っています。
この機能のおかけで結構とんでもないバグが入り込むことがあります。たとえば utf-8 のカラムに sjis でも突っ込めるのですが、適当変換のおかげで原型をとどめていませんので、盛大に文字化けしている理由がわからないということがおこります。

[root@hoge var]# rpm -qa | grep php
php-pear-1.9.4-4.el6.noarch
php-pgsql-5.4.16-1.el6.x86_64
php-cli-5.4.16-1.el6.x86_64
php-pdo-5.4.16-1.el6.x86_64
php-gd-5.4.16-1.el6.x86_64
php-common-5.4.16-1.el6.x86_64
php-xml-5.4.16-1.el6.x86_64
php-5.4.16-1.el6.x86_64
php-devel-5.4.16-1.el6.x86_64
php-mysql-5.4.16-1.el6.x86_64
php-mbstring-5.4.16-1.el6.x86_64

[root@hoge var]# rpm -qa | grep -i mysql
MySQL-client-5.6.12-2.el6.x86_64
MySQL-shared-5.6.12-2.el6.x86_64
MySQL-python-1.2.3-0.3.c1.1.el6.x86_64
MySQL-shared-compat-5.6.12-2.el6.x86_64
MySQL-devel-5.6.12-2.el6.x86_64
MySQL-server-5.6.12-2.el6.x86_64

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 10:51 AM JST
投稿者: Tsuchi

前言訂正

マップはペイドマーカーを許可 (Paypalプラグイン要)
は paid_markers で
payedではありませんでした

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 11:18 AM JST
投稿者: Tsuchi

payed は マーカー編集画面でいうと、一般設定のペイドマーカーで
既定値として$_MAPS_CONF['payed']が使用されているが、そういうコンフィギュレーション設定は、なさそうです。
ないので、既定値は0(いいえ)になっています。

(たぶん)それに倣ってDataBoxでは$_MAPS_CONF['payed']を使用したんだと思います。
で、MapsExportの結果もpayedは0になっています。

とりあえず、現状は、結果は、マーカー編集画面と同じなので、DataBoxでの対応は保留します。
Mapsプラグインが変更になったら(バージョンがあがったら)、その時に検討します。



書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 11:30 AM JST
投稿者: yamachan

> 既定値として$_MAPS_CONF['payed']が使用されているが、そういうコンフィギュレーション設定は、なさそうです。
> ないので、既定値は0(いいえ)になっています。
0 じゃないです。 undefined です。
こういう記述がありますが。綴り間違っているんじゃないですか ?
PHP Formatted Code

[yamachan@hoge maps]$ grep paid_marker *
install_defaults.php:$_MAPS_DEFAULT['paid_markers'] = 1;
install_defaults.php:           $c->add('paid_markers', $_MAPS_DEFAULT['paid_markers'],
 

他にもあるのですが、 結局 traditional で動かしたときの問題についてはなんの解決にもならないし、木で鼻を括ったようなご意見でしたらもう指摘はしません。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 01:35 PM JST
投稿者: Tsuchi

マーカー編集画面でいうと(プログラムファイルでいうと、admin/marker_edit.php)
$marker['payed'] = $_MAPS_CONF['payed'];
となっているので、それに倣っています

既定値は0(いいえ)になっています。
というのは
マーカー編集画面で新規に登録しようとした時に、最初は0(いいえ)になっている。
という意味です。

あと、Export後のマーカーをマーカー編集画面でみると、0(いいえ)になっています。

DataBox のプログラムは、Maps プラグインにデータを送るところまでなので、
Mapsプラグインのやり方にあわせています。
というか、あわせるしかない。

payed については、まだ、開発途中で、試用錯誤中なのかもしれません。
(想像です)
ちなみに、MapsプラグインはVer1.3.1で、テストしています。





書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 02:40 PM JST
投稿者: Tsuchi

DataBox のオプション
https://bitbucket.org/tsuchi/databox-csv
https://bitbucket.org/tsuchi/databox-maps

https://bitbucket.org/tsuchi/databox-xml

ロックはずしました

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 09:51 PM JST
投稿者: Ivy

Tsuchiさん、ロック解除、回答、ありがとうございました。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 10:12 PM JST
投稿者: yamachan

ありがとうございます。アクセスできること確認しました。
ところで databox-xml ってなんですか?

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 10:16 PM JST
投稿者: Ivy

Quote by: yamachan

ありがとうございます。アクセスできること確認しました。
ところで databox-xml ってなんですか?



CSVからのインポートではなく、XML形式のファイルからのインポート機能になります。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 10:21 PM JST
投稿者: yamachan

なるほど~
それは面白そうですね。

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 10:58 PM JST
投稿者: Tsuchi

最初にXML からのインポート作って、それのCSV用版を別途追加しました。
それと、データのバックアップ&リストアも、XMLで作りました。
(テストデータ作るのが面倒なので〜)


書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/12/14 11:28 PM JST
投稿者: yamachan

さまざまな CMS とそのプラグインがありますが、ありそうでない機能ですね。
その分期待も大きいですので、指摘も厳しいということです^^

書込: databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

投稿日: 11/21/14 02:33 PM JST
投稿者: Tsuchi

>Maps pluginの問題は連絡しますね。
この分ですよね→1. maps のテーブル設計に問題がある

こちらについても、連絡よろしくお願いします→「2. payed の値に問題がある」
マーカー編集画面でいうと(プログラムファイルでいうと、admin/marker_edit.php)
$marker['payed'] = $_MAPS_CONF['payed'];
コンフィギュレーション設定にないかもしれない $_MAPS_CONF['payed']が設定されているのは
$_MAPS_CONF['paid_markers']の間違いなのか
それとも$_MAPS_CONF['payed']がどこかで設定されているのか
それともこれから$_MAPS_CONF['payed']を追加するのか

Geeklog Japan - 掲示板
https://www.geeklog.jp/forum/viewtopic.php?showtopic=18358