2012/01/03

編集と制作と最終形態

制作から編集メインに異動した後も、自分が満足のいくクオリティを求めると結局自分で制作しているという現状。信頼できる制作会社があればよいのだが、納期と費用を考えると「今のところは」全部自分でやるのが手っ取り早い。動いている企画が少ないから。

全部自分でやるとなると、原稿のデータと制作のデータ、そして最終のデータってのがなかなか悩ましい。発注する側だったら、ワードで簡単に整理して「これでやってね」でおしまいだった。受注する立場だと、何のデータであれ結局indesignで組んでいって入稿用のPDF作って終了、と(2012年の現在では、PDFだけでは済まされない。そのデータ作ってさらに何か出来ないかっていいだす著者も増えてきているし、もちろん自分も興味がある)。

編集作業と制作作業が分断されていたのが、ひとりでやるとなると、制作しながら編集のことも考えたりすることになる。というかそれがメリットである。「ギリギリまで中途半端な形にしておく、すなわち保留状態を最大限引き伸す」という方法論をとりがち。雑誌はやったことないけど、きっとこうゆう感じで締切直前までがドタバタなのだろう。

ウェブ構築の作業の中で、「データベース」という概念がなんとなくわかったつもりになってくると、原稿ってのもこうゆう考え方で整理して作品というか何らかの情報集約物を作れないかと思ってしまったりする。いわゆるCMS(to indesign or latex)的な考え方。

アドビ的に言えば、indesignがCMS的なソフトウェアなんだろうけどね。ただ、indesign to html, epubなんて実際使えるものなの?

ここらへんは今年ちょっとよく考えてみよう。

2012

仕事が忙しすぎて放置プレイだったウェブ作業にようやく戻って来れた。といっても正月中だけだろうけど。
さすがに半年も間が空くとデータベースの構造を忘れてしまってもう一度やり直しだ。集中してやりきってしまわないとこうゆう二度手間になってしまう。

ということで、ひとまずはfunctions.phpとwp_postsを見直さねば。
ワードプレスのバージョンも上がってしまったし。

2011/05/07

そもそも

カスタム投稿の機能を使った場合は、カスタム分類という仕組みを利用しないと、記事の分類ができないようだ。そして、タグも然り。分類やタグと使って書籍の情報をいろんな角度から見せようと思うと、テンプレートタグを駆使しないといけなくなってくるのだが、カスタム投稿だとそれがややこしい。

そもそも、書誌情報に関しては、素直に投稿を使い、それ以外のページをカスタム投稿にしたらいいのかもしれない、という結論に落ち着きそうな予感。。。

2011/05/04

書誌情報とカバー画像

「カスタム投稿」という機能を使うことは決定した。何点か投稿してデータベースの構造を探ってみることにした。

ワードプレスのデータベース名はwpでテーブルがいくつかある。現サイトでは書誌情報は1頁ごとのhtmlファイルである。すでにその情報はある程度構造化してデータベースに格納してある。ワードプレスでは、一点ごとに投稿という形で書誌情報を登録することになり、その除法が格納されるテーブルがwp_posts。今回、書誌情報の色々なスペック(定価、判型、ISBNなど)はカスタムフィールドという機能を使って投稿することとした。そのデータはwp_postmetaというテーブルに格納される。

wp_postsとwp_postmetaの関係はwp_postsのIDがwp_postmetaのpost_idと一致するということ。ちなみにwp_postsのIDはauto_incrementで、wp_postmetaのauto_incrementなキーはmeta_idとなる。

wp_postmetaの構造は結構シンプルで、同名のキーがあっても問題ないように考慮されているようだ。今回は、投稿タグやカテゴリには手を出していない。そっちはテーブルの関係は若干入り組んでいる。

第一段階として行ったことは、まずwp_postsに書籍名、目次、内容などのデータを挿入し、そのレコードのIDを取得して、それをwp_postmetaのpost_idの値にして書誌情報データを挿入。目次や内容の値は、アポストロフィー等の記号をちゃんとエスケープしておかないといけない。

次はカバー画像。投稿の中に挿入するよりも、「アイキャッチ画像」という機能を使った方がよさげである。 そこで、同様に何点か挿入してからデータベースの動きを見る。

関係のあるテーブルは先ほどと同じで、wp_postsとwp_postmeta。
注目すべきwp_postsの項目は次の通り。
  • ID:auto_incrementな値。仮に画像投稿IDとしておく。
  • post_status:データの公開状況。親の状態を継承。
  • post_title:画像のタイトル。
  • post_name:投稿の名前。
  • post_parent:親子関係。この画像がアイキャッチ画像として使用される投稿のID。
  • post_type:投稿データのタイプ。attachmentでメディア。
  • post_mime_type:メディアのタイプ。
  • guid:投稿した画像の場所?
wp_postmetaでは3つのレコードが作られるようだ。
  •  アイキャッチ画像と投稿の関係?
    • meta_id: auto_incrementな値。
    • post_id:上記wp_postsのpost_parentと同じ値。
    • meta_key:"_thumbnail_id"という値。
    • meta_value:画像のID。上記wp_postsのID。
  • アイキャッチ画像の情報
    • meta_id:auto_incrementな値。
    • post_id:上記wp_postsのID。
    • meta_key:"_wp_attachment_metadata"という値。
    • meta_value:画像の大きさなど配列で値が入っている。
  • アイキャッチ画像の場所?
    • meta_id:auto_incrementな値。
    • post_od:上記wp_postsのID。
    • meta_key:"_wp_attached_file"という値。
    • meta_value:wp/content/uploads以下のディレクトリ名とファイル名。
ぐぐってみるが、関係のある情報がありそうでなかったりするものだ。全てを確かめるのも面倒になってきて、手探り状態でレコードを挿入していく。wp_postmetaの_wp_attachment_metadataのレコードは必要無さげだったので無視した。

とここまできてブラウザで確認。うまく行っているようではある。wp_postmetaのレコード数が肥大化していくのが気にはなっているのだが。。。

2011/05/01

カスタム投稿

どのように書誌情報を追加(投稿)するか? カスタム投稿、という機能を使うと便利なようだ。とはいっても実質的には、wp_postsにデータは格納される。post_typeの値で通常の投稿か、カスタム投稿か、などなどが決まる。

カスタム投稿にあたっての情報はここ。
WordPressをカスタマイズするなら絶対覚えておきたい条件分岐やカスタム投稿タイプなどいろいろ
カスタム分類を投稿一覧カラムに表示する