年賀状の季節、住所録をXMLにしてみた
住所録を gmail経由で ipod touchの連絡帳に持って行ったものの。住所が増えたり減ったり、メンテのたびに gmail経由で同期するのがばかばかしい。USB接続でストレージとして使えるなら、適当なディレクトリに適当なファイル名でコピーすればいいのに、それもできない。じゃあ、ってんで、dropboxに放り込んでみたものの、開くのに適当なエディタがない。
そもそも gmailにしろ、dropboxにしろ、webサービスなんて信用できないので、何かの拍子にファイルが漏れてごめんなさい、されると個人情報の塊、住所録なだけに困る。
ipod touchがローカルでapacheを立ち上げてcgiが使えりゃなんの問題もない。…調べてみた。普通の使い方じゃ無理くさい。脱獄Jailbreakしなきゃいけない、らしい。今後のバージョンアップとか修理メンテなんかのことを考えると素直に使いたい、ので、とりあえず脱獄は断念。
しょうがないんで、自宅サーバーのBasic認証ディレクトリでcgiを動かすことに。しょせんBasic認証、今さらセキュリティにもなっていないけど、ローカルIP限定、表からはケータイの識別番号特定、にしたので割としっかり頑丈になった、はず。
手元の住所録はテキストのcsv。これが破綻している。連絡先とか住所って、名前や電話番号、もしかすると住所も不特定の複数になることが多いので、csvファイルひとつで管理するのはかなりビミョーになる。基本コンマ区切りで、データが複数になるカラムはコロンで区切って、なんてことができなくもない。けど、記入する・メンテするのがわかりにくくなって面倒になる。
この歳になって友だちも少なく20行もあれば足りる、DBを使うほどじゃない。
てことで、ちょっと便利に使い過ぎちゃう傾向にあるXMLで記述。確かに分かりやすくて便利なんだよねえ。
一件のデータはこんなフォーマットに。おのおの必要なだけ複数個記述可能だから、重宝する。csvと違って視認性も高い。メンテするときはエディタで開いて追加・編集する。
スクリプトでは名前をよみ順に並べて表示する。名前クリックで該当者データを表示する。だけ。XML::SimpleでハマってData::Dumperのお世話になってけっこう時間くったのは内緒。
ついでに、相変わらず今年も字が汚くて愕然としたのも内緒にしておこう。
みなさま、良いお年を。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
au のアドレス帳を gmail経由 ipod touchに
たかがアドレス帳を移すだけで面倒なことこの上なかった。ぐーぐるさまで調べると、
au one に登録して、ケータイのアドレス帳を au one の自分のページに同期する。
au one の自分のページからcsvファイルをエクスポートしてローカルに保存する。
gmailの連絡先にインポートするために、csvに gmailが理解できるヘッダをつける。
エクスポートしたcsvを、インポートするcsvのヘッダに合わせて、カラムを並べ替える。
gmailにインポートする。
itunesを立ち上げて、情報→連絡先を同期→google contactsにして同期する。
てな手順。
ハマったのがgmailにインポートするcsvのヘッダ。googleのヘルプをみると、勝手に賢く判断してほとんどのフォーマットが使える、みたいなことが書いてあったんで、最初はアウトルックエクスプレスが出力したcsvのヘッダを使ってみた…ら、各項目が無視されて全部メモ欄に、の無限ループというかハマり道。
gmailが理解してくれたのは以下のヘッダだった。
ヘッダさえわかれば、カラムの並べ替えなんかは、perl にやってもらうだけ。
zaurusSL-C860以来のPDAで、ipod touchも面白いんだけど、zaurusと違っていじれるところが少ない、のは、わたしのスキルが低いせいか。OSにunix使ってるのに、妙に閉鎖的な感じがするんだよなあ。
解説本もあるけど、ぶっちゃけ上記のような手順を知るにはもの足りない。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
電子書籍にDRMは不要じゃないか
ていうか、DRM(デジタル著作権管理)ってどうなんだろ。
自分で買って、自分のものとなった作品をどう使おうが、ユーザーの勝手じゃないか。こっちのパソコンで見ることができるけど、そっちじゃ見られない、とか。パソコンを買い換えたらまたインストールしなきゃいけない、とか。
自分の所有物の管理を他人がするような状況っておかしくないのか。
と、DRMなんてのはいらんだろ、と思う今日この頃、だ。(モノを売るのではなく、権利を売るから当てはまらない、と言われるんだろうけど、「感覚的に」そぐわないよね)
もちろん違法コピーの問題がある。創作者に対価が渡らないと絶滅してしまう。だから著作権を管理しなきゃいけない、てのもよくわかる。
ちょうど良い塩梅の落としどころ、というなんだか、おばあちゃんの知恵、みたいなものはないんだろうか、と思ってたところtwitterで見つけたのが
@hkawa33: オライリー社は、EPUBを含む各種フォーマットで電子書籍をDRMなしで発売。海賊行為が行われた時に立証に使える電子透かし(watermarking)は使うが、正規に購入した利用者の利便は損なわない姿勢は、当然とは言え立派。
↑これ。確かにこれはいいかも。DRMで縛ってユーザーに不便を強いることなく、でも、電子透かしでその本が正当なものか判定できる。
電子透かしではないけど、電書部が文学フリマで売っていた電子書籍。購入者のメールアドレスがページに埋め込まれている。購入した電子書籍をコピーしてばらまいたら、イコール、自分のメールアドレスがばらまかれることになる。メールアドレスを外すことはできるけど、面倒だし、これは面白い仕組みだなあ、と感心したことがあった。
下町飲酒会駄文支部 のダウンロード販売はPDF。PDFに購入したひとのメールアドレスを埋め込めればいいなあ、と検索してみたら、PDF::API2 という便利なモジュールがすでにあった。CPANスゲー、perlスゲー
やりたいことは。PDFの特定のページに文字列を埋め込む。
textlabelのパラメータがよくわからなかったんだけど、試行錯誤
textlabel(x,y,fontobj,font-size,text)
のようだ。
思ったより簡単でびっくり。
[10/11 09:54:20]
lolipopにはPDF::API2がインストールされていなかったので、そっくりそのままFTPでコピ-。いろいろ使い道がありそうだな。
[10/11 11:37:14]
ダウンロード販売PDFに、購入したひとのメールアドレス表記を実装。
サイズ限定、署名箇所限定の現物あわせなので、TeXでPDFを作るときにページやサイズを変更したら、こいつも忘れず修正しないといけない、ということを忘れずにな、おれ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
paypal と 電子書籍のダウンロード販売(その3)
ということで、知人、というか身内の同人誌ダウンロード販売ページを公開した。DRMフリーの電子書籍というかPDF、300円均一。
下町飲酒会駄文支部 日野祐太郎
この中では、「Vanish」!が完成度も高く抜けた傑作。次のグループが「あかるいほうへ」「アロイのやさしい神さま」。「猫神リスペクト」が佳品で、「赤貧遁走曲」はエピソードの長さがいちいちもったいない。
といったところかな。
ぜひ一度読んでみてください。身びいきをさっ引いても、かなりおもしろい小説群です。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
paypal と 電子書籍のダウンロード販売(その2)
その0.
購入ボタンはこんな感じ
item_number以外は必須。item_numberも、商品IDとして使うので、わたしの場合は必須。ユーザーがPaypalから戻ってきたとき・Paypalから即時通知があったときに、この商品IDでデータベースに照合する。
あらかじめ、Paypalで個人設定を仕込む。(以下とは別に、文字コードを日本語、UTF8に設定しておいた)
その1.
「ウェブペイメントの設定」
→自動復帰 オン
→復帰URL ユーザーが帰ってくるURLを設定
→支払いデータ転送(PDT) オン
→暗号化されていないウェブペイメントの受領拒否 オフ
購入ボタン自動生成で暗号化してないので、最後の設定はオフにしておく。
購入ボタンをクリックしてPaypalにいったユーザーが支払いを完了して「マーチャントに戻る」リンクをクリックしたら、復帰URLにパラメータを持って戻ってくる。それをスクリプトで解析する。以下はほぼほぼPaypalにあるサンプルコード(perl版)まんま。
戻ってきたら、GET でパラメータ=トランザクションIDを取得して、Paypalの管理ページ、個人設定にある、auth tokenと、定型のコマンドとともに、PaypalのサーバーにPOSTでアクセス。
そこで取得できるcontentを改行でばらして一行ずつ、って先頭の行がSUCCESSであればOK。それ以外だと決済が完了していないので、どうなってるのか調べる必要がある。
というのが「PDT」というヤツ。
ところが、これはユーザーが「マーチャントに戻る」というリンクで戻ってくれないと、情報が何も取得できない。もちろん、Paypalの方からメールがくるし、Paypalの管理画面を見れば、取引状況はわかるので、調べてユーザーに返事を出すこともできる。
でも、今回やりたいのはダウンロード販売。
支払いが終わったらすぐにダウンロードページに行きたいよね…といいつつ、Paypalの「マーチャントに戻る」リンクがまるで目立たない。これじゃ、ユーザーはここでブラウザを閉じて終了、だろう。現に戻ってくる率は20%もない、という記事もどこかで見かけた。なので、こちらは、もしユーザーが戻ってきたら、ありがとうございましたとか、確認にしばらくお時間くださいとか、表示を選択するためのモノとして使う程度。
そこで、以下のIPN(支払い即時通知)の出番。
その2.
「即時支払い通知(IPN)」
→通知URLを設定
支払いが生じたらPaypalから、通知URLあてに、パラメータを抱えてアクセスがある。それをスクリプトで解析。以下はサンプルコード(以下同文)
POSTされたパラメータをそのままに、コマンドを付加して、Papalに返すと、パラメータが正しいか間違ってるかだけ教えてくれる。パラメータが正しければ、料金を確認したり、トランザクションIDをチェックしたり。エラーがあったら、ログを吐き出し、正しければデータベースに登録してユーザーにダウンロードURL案内のメールを出す。
わたしはperlが少しわかる程度。それでもサンプルコードどおりに書けばほぼOK。ダウンロード販売ということで、データを受けてデータベースを使って商品を特定したり、ダウンロードURLを作ったり、というところがちょっと面倒だけど、難しいもんじゃない。
最悪、うまくいかないケースが生じても、Paypalからメールが来るし、Paypalの管理ページに行けば履歴を確認したりキャンセル処理ができるので致命的なことにはならない、はず。
それに、ダウンロード販売なので、面倒な在庫管理は不要。
ちなみに、無責任なことに、これを書いてる時点ではまだ本番でのテストはやってないので、あしからずご了承いただきたく。忘れないうちに自分メモ。
原稿があるなら、Paypalを使って、ダウンロード販売ですよ。たぶん、儲けるのは無理だけど、原稿を塩漬けにしてるぐらいなら、ネットに並べておいてもいいんじゃね、と。個人書店があちこちにできて相互にリンクできれば宣伝にもなって面白いんだろうから、お手伝いしますよー。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
paypal と 電子書籍のダウンロード販売(その1)
小説や漫画など、電子書籍を作るのは簡単。問題はどうやってそれを売るのか。
「ホームページに並べて・購入してもらって・ダウンロードしてもらう」
というのをどうすんだよ、てことで調べてみたメモ。
(ちなみに、作った電子書籍はDRMなしのPDFファイル)
結論から言うと。
Paypal のプレミア(以上の)アカウントを作れば、個人でも簡単にクレジットカードを使った小額決済ができて、ちょっと仕組みを作ればダウンロード販売までできる。
Paypalのアカウントは固定費不要。クレジットカード決済に審査も不要。一度の決済手数料は40円+3.8%~。驚く手軽さ気軽さだ。
ショップとユーザーの流れ
ショップを訪れたユーザーがページにつけられたPaypalの購入ボタンをクリックすると、Paypalの支払いページに飛ばされて、そこで支払い手続きとなる。クレジットカード番号やメールアドレスなどをPaypalに対して入力することとなる。Paypalの支払い完了ページに、「マーチャントに戻る」というわけのわからないリンクが目立たないようあるけど、これをクリックすると、ユーザーはショップに戻される。戻ってきたユーザーは、ショップが用意した「ご購入ありがとうございました」ページなどを見る。
こちらでユーザーを誘導する。
ショップの裏方(たとえばデータベース)とPaypalの流れ
それとはまた別に、Paypalは支払いが生じたら、ショップにお知らせしてくるので、それを元に、ショップはデータベースに登録したり、ユーザーにお知らせメールを発送したりする。
こちらでショップとして売買の確定をする。
上記のやりとりで、なにか不明点があっても、Paypalの管理ページを開いてみれば全部わかるので、後でチェックして対応することも簡単にできる。
Paypalとのデータのやりとりでは
「誰が何を買ったのか」
だけがわかればOK。というかPaypalの役割はここまで。
ダウンロードURLを作って、そこでダウンロードできるようにするのは、ショップ側で作ることになる。
PDTとかIPNのサンプルコードなどの具体例は、以下次号、かな。
# ページは、あとは、本番でのチェックと原稿の校正だけ、となった。
# 七月にはオープン予定で。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」