投稿日:

PHPFog/AppFog と WordPress とファイル管理


以前の記事「PHPFog と WordPress とファイル管理」からのアップデートです。

WordPress は管理画面からサイト自体に様々なカスタマイズが行えることが特徴であり強みです。管理画面からテーマやプラグインをインストールすると、基本的に wp-contents 内に必要なファイルがダウンロードされて追加されます。PHPFog や AppFog などの環境上に WordPress をデプロイしてもこれは同様なのですが、実はちょっと困ったことがあります。

問題

PHPFog では、初期にデプロイされた後、WordPress の管理画面で行った変更については、git clone でも pull でも取得できません。AppFog もツールや方法は異なるものの同様です。つまり、最後に push(update)した変更しか取得することが出来ないわけで、そうなると当然ながら、テーマやプラグイン、また画像などのメディアファイルなど、WordPress の管理画面から追加されたファイルを手元に取得することが困難です。また取得が困難なだけでなく、手元のファイルをアップデートしてサーバーに push (update)しようものなら、それらのサーバーにしか無いデータが消えてしますことがあります。

解決策

プラグイン「BackWPup」を利用します。
http://wordpress.org/extend/plugins/backwpup/

BackWPup は、WordPress のデータベースの中身やファイル等の全てをバックアップできる強力なバックアップツールです。バックアップするファイルは、別の FTP サーバーはもちろん、DropBox、Amazon S3、Google Strage、MS Azure といった様々な媒体に転送できます。バックアップのセットアップもとても簡単です。

このプラグインを用いて、例えば、バックアップ先に DropBoxを指定してバックアップを実行させます。BackWPup の処理が完了し、しばらくしたら DropBox の中の指定したディレクトリにちゃんとバックアップファイルが転送されています。これを解凍して、手元の WordPress の wp-contents を更新し、改めて PHPFog や AppFog に push/update します。

以前の記事「PHPFog と WordPress とファイル管理」では、navphp というファイルエクスプローラ利用しましたが、それよりもずっと簡単に、しかも副次的に(?)サイトのバックアップまで取得できるので大変スマートな方法だと思います。

BackWPup のインストール

管理画面の「プラグイン」>「新規追加」から通常通りインストール、有効化してください。
「BackWPup」で検索できます。

ローカルの WordPress データを最新にするまでの流れ

  1. [BackWPup] > [Add New] から、新規 Job を追加する
    • 設定項目は大変多いですが、とりあえずほとんどデフォルトのままでOK
    • バックアップファイルの転送先のみ注意して入力する
  2. [BackWPup] > [Jobs] で Job 一覧を開いて、作成した Job を [Run Now] で実行する
  3. 指定したファイル転送先にファイルが転送されるので、ファイルを取得する
  4. ローカルの WordPress ファイルをアップデートして、サーバーに push/update する

 

 

以上です。

 

 

投稿日:

第16回 WordBench神戸にて発表させて頂きました。


2012年10月13日(土)の、「第16回 WordBench神戸」にて、『オートページローディングやってみました(WP界のプリンスが挑戦してたので)』という内容のライトニングトークをさせて頂きました。内容は WordPress プラグイン『Infinite Scroll』の紹介です。

以下に、その時のスライド資料を公開いたします(資料公開にあたって、スライドタイトルのみ変更させて頂いています)。

 

次は、今回の発表一覧です。

  1. WordPress のおすすめスライドとか記事とか集めました(上村さん @uemera)
  2. WordPress プラグイン「Infinite Scroll」を試してみた(野島 @yuka2py)
  3. カスタム投稿/フィールド/タクソノミーを自由自在!「Types」をご紹介(細谷さん @tkc49)
  4. WordPress ならではの CSS の書き方を紹介(中本さん @bren_boss)

今回、私の発表は「Infinite Scroll」というプラグインの紹介です。発表にあたって自分のサイトに導入するなどして使ってみました。次ページを Ajax で読み込んで DOM に追加するプラグインで、機能はシンプルながら、WordPress 自体の仕組みを上手く利用するように作られてあるため、大変自由度が高く扱い易いプラグインとなっているように思います。アイデア次第では、色々な用途に利用できそうです。また、Ajax や Javascript まわりを学びたい方は、このプラグインのアイデアを真似て、類似の昨日を実装してみるのも面白いテーマになりそうです。

他の皆さんの発表では、個人的には上村さんの発表がとても参考になりました。ネット上に公開されている WordPress 関連の興味深い資料やWebサイト、Webページなどを一挙にご紹介いただいた内容で、WordPress を学ぶ上で大変参考になる情報だったと思います。既にスライドが公開されているのでURLを掲載させて頂きます。
http://toyao.net/xoops/modules/wordpress/archives/5659

また、細谷さんの「Types」プラグインの紹介も大変参考になりました。WordPress の三種の神器と紹介、「カスタムフィールド」「カスタム投稿タイプ」「カスタムタクソノミー」を一挙に扱うプラグインが「Types」です。このプラグインは使ったことが無かったのですが、非常に豊富な機能があり、驚きました。カスタム投稿タイプに親子関係(リレーション的なもの)を設定できることも特筆すべき点かと思います。近く WordPress のカスタマイズ案件の予定があるので導入して実践してみたいと思いました。

中本さんの発表は、少し時間が押してしまって最後までお話を伺うことが出来なかったのがとても残念でしたが、中本さん流の WordPress での CSS の扱い方が紹介され、これも参考になられた方もあったかと思います!

今回の WordBench 神戸は全体にアットホーム雰囲気でとても良い勉強会でした。また来月も開催されます。すごく美しいデザインをされるあの方の発表が聞けるというような話で楽しみです。…というか、WordCamp の翌週ですが…、僕は行けるのかしら? (; ^ω^)

 

投稿日:

食わず嫌いは良くは無い。 — WordCamp Osaka 2012 リレーブログ


じゅんちゃんさんから、WordCamp Osaka 2012 リレーブログのバトンを受け取りました。フォーエンキーのノジマです。基本はシステムエンジニアですが、グラフィックデザインもやったりもしています。今回、WordCamp OSAKA 2012 で、僭越ながらスピーカーをさせて頂くことになり、またこのリレーブログにも参加させて頂きました。ありがとうございます!

今日は僕の WordPress と出会いと、コミュニティについて書かせていただきます。

でも、CMSのカスタマイズは面倒くさいよね〜。

実は僕は1年ほど前までは、WordPress には触ったことがありませんでした。一応、WordPress の名前は知ってました。キレイな管理画面でテーマの変更やプラグインによる機能拡張を備えてて、ブログエンジンから高機能なCMSへと進化した、世界で最も人気のある CMS の一つ…って感じで、だいたい合ってたんじゃないかなーと思います。

ところが僕は、そういうツールを、あまり使いたがらなかった。その昔、Movable Type のカスタマイズをやって苦い思いw をしたからかも知れません。Movable Type も素晴らしい製品だと思うのですが、一度辛い思いをしたからなかなか忘れられません。まさに、食わず嫌い。(;゚∀゚)

まぁ、そうでなくてもずっと思ってたのは「CMSをはじめ既存のプロダクトのカスタマイズは面倒くさい。自分で作った方がずっと見通しが良い」ということ。実際、CMS もスクラッチで開発していましたし、時々、雑誌に掲載される WordPress の活用記事を横目に眺めては「便利そうだなー」と思いつつも、その考えは変わらずにいました。

確認さん、現る。

ある日、Android の勉強会がありました。その日は「スマホ ハッカソン」という企画で、幾つかのグループに分かれて Android やスマートフォン関連の何かを制作します。その日、僕はデザイナーとして参加するつもりだったので、どこかのグループからデザイナーのお誘いないかなーと思っていたら結果どこも必要が無かったようで (;゚∀゚) 、じゃあどこのグループに参加しよう?と思ってキョロキョロしていると、当時まだスリムで、WordBench 神戸の管理人をされていた「WordPress 界のカクニンさん」こと『確認さん』が「WordPress でスマホサイト作ろうぜー♪ いぇーい♪」と楽しそうにしたらしたので、参加してみることにしました。当時の僕はスマホサイトを作りまくっていたので何か得られたらなと思ったのが一番の理由でしたが、「WordPress」というキーワードにもちょっぴり興味を抱いたのを覚えています。

その日が、僕の WordPress 初体験です。 確認さんの指導のもと、インストール…と、これが簡単ですぐ出来ました。簡単だなーと思っている暇もなく、次はスマホ対応。ほう、『WPtouch』 …を、管理画面から…なんと!管理画面から直接インストールできるんですか?! 有効化して…、はっ! ホントだ…ちゃんとスマホサイトっぽくなってるやん!…と思っていたら、今度はフューチャーフォン対応? 『Ktai Style』 をインストールして有効化して、FireMobileSimulator で確認したら、ちゃんとフューチャーフォン対応できてることに驚きました。なんと簡単な!

その後はスマホ ハッカソンということはすっかり忘れて、管理画面で可愛らしいテーマを検索してインストールしてみたり、色々設定を変更してみたりして、「ほーほー! ほー!!」と感心ばかり。管理画面から機能拡張やアピアランスを直接インストール出来るというのは、想像以上に素晴らしいですね。製品サイトから zip なりをダウンロードして、解凍して、適切なディレクトリに保存して、というのも特に難しくは無いけれど、この手軽さが素敵。とりあえず何かを試してみよう、という気になりますし、実際、それがとても大きな価値であることに気付きました。

WordBench に参加してみる。

WordPress に興味が湧いたら、是非一度 WordBench に来てくださいねー

…と、確認さん。当時『WordBench』って何? 状態の僕でしたが、その日、WordPress にちょっぴり感動してしまった僕は、次の『WordBench 神戸』に参加してみることにします。

参加した印象は、僕がそれまでに参加していた他のどの勉強会とも違って、カジュアルな雰囲気でした。デザイナーさんが多く参加されているのもあるのかも知れません。女子率はダントツです☆ 内容はデザイン、ディレクション、WordPress の基本や、便利な使い方、カスタマイズ方法といった感じで幅広く。WordPress を軸とした座談会形式のセッションが、僕の最初の WordBench 体験で、プログラムもグラフィックデザインもコーディングもの何でも屋さんの僕も、色々と参考になるお話が聴けました。

それから定期的に WordBench に参加させて頂くようになります。3回目ぐらいの参加だったか、確認さんが講師のセミナー形式のセッションでプラグインの作り方を教えていただき、WordPress の機能の拡張方法もすごくシンプルである事にも気付きます。この頃から、「WordPress って、立派にアプリケーション フレームワークになるんちゃうん?」と思うようになって、それで自分のブログを WordPress にしてみて、また実際に自分でプラグインを作ったりして試してみたりするうちに、今ではすっかり「CMS とかぁースクラッチで書くなんて、もったいないぜー (゚ー゚)ニヤリ」ってすっかり考えを変えてしまいました。

…ちょっと前まで食わず嫌いでイヤイヤしてた僕とは大違いですね。本当に、食わず嫌いは良くは無いです。 (^_^;A

ちなみに、次のページは WordBench 神戸でプラグインの作り方を教えて頂いた後に書いた記事です。

WordPress のホントのすごい。

WordBench に限らずですが、コミュニティーに参加することで得られるものは、決して新しい知識や技術に触れたりできる事だけではありません。スゴイ人、頑張ってる人を見て、モチベーションが上がったり、友達や仲間が出来たりして、そこから新しい世界が開けていくことにも、僕は大きな価値を感じていまます。もともと僕はかなりの人見知りっ子なので、そういう場所が実はちょっぴり苦手で、こちらも当初は食わず嫌いしてたのですが、色々な場所に参加するにつれ、そんなこと言ってるなんてもったいないぜ!って思うようになっています。

さて、何回か WordBench に参加していくうちに、とても人見知りの僕にも、何人かのお友達が出来ました。変わった人、面白い人、カワイイ人、カッコイイ人、迫力のある人、賑やかな人、優しい人、頭がモジャモジャの人、コワイ人…と、ホントに色んな人と知り合いになれました。寂しかった Facebook の僕のお友達リストも、ちょっぴり賑やかになりました。どのコミュニティも素敵な人たちでいっぱいですが、WordBench は、賑やかさでは飛び切りです! またふんわりとした温かな雰囲気が、自分にも何かが出来そうな気持ちにさせてくれます。僕自身、何かやりたいなーと思うようになり、少しずつですが Bench でお話させていただいたり、勉強会を企画させていただいたりして、新しい眺めを楽しませてもらっています。

そんなわけで、WordBench は Web 制作に少しでも関わる人ならば WordPress 使いかどうかに関わらず参加できる間口の広〜〜〜い場所です。実際、デザイナー、プログラマー、ディレクターの方々はもちろん、不動産屋関係や学校関係者の方、各種団体の方などの参加者もあります。ですので、こういった勉強会やコミュニティに参加した事が無い方でも気軽に、安心して、楽しく参加して頂けると思うので、もしまだ参加された事の無い方は、是非一度、参加しれてみてくださーい。何か新しい眺めに出会えるかも知れませんし!

ちなみに関西圏ですと、WordBench 京都WordBench 大阪WordBench 神戸 があります。ちなみに僕は神戸がホームです。なお、10/13 には WordBench神戸も開催されます。どーんと気軽にご参加ください!

 

…というわけで思うのですが、WordPress のホントの価値って、この WordBench をはじめとする、広くて大きなコミュニティーの存在ではないでしょうか。無数の個性的なテーマや、あらゆる事に手が届きそうなプラグインの数々も、それらのコミュニティの存在があってこそ、育まれて来たものではないかと思います。コミュニティに参加することで Web 検索では得られない様々な知識が自然と入って来ます。検索は僕が既に知ってる場所の少し向こうまでしか探せませんが、隣の人が語る言葉は僕の想像を超えることが沢山あります。WordBench の参加者の皆さんは本当に色々で、その面でも幅が広く凄いなーと思います。WordPress はとても魅力的で素晴らしいプロダクトです。しかし、この製品のホントにすごいところは、それらのコミュニティー、そしてそのコミュニティーが築き上げて来たリソース、そしてこの明るく元気な文化だと僕は思っています。

そして、WordCamp Osaka 2012

そんな WordBench コミュニティの親玉みたいな WordCamp が、11月3日、大阪にやってきます! 普段の WordBench よりも、もっともっと沢山の人が集まって、分厚いイベントになります。どんなお祭りになるのか楽しみですねー。僕も勉強させて頂くだけでなく、楽しませて頂きつつ、色んな人と関わって、何か発見して持ち帰れるようにしたいと思っています。いつもの人見知りっ子を封印させて、思い切って、いつもよりもちょっと大股で歩いてみますよー。

なので、普段 WordBench などへ参加されている方も、そうでない方も、WordPress を知っている方も、そうでも無い方も、是非一緒に楽しみましょう☆ 何も分からなくても、何も知らなくても、誰も知り合いいなくてぼっちでも、きっと何かの発見や出会いがあると思います! またもしこういったイベントに参加された事がまだ無くって、色々な理由で躊躇ってらっしゃる方もいらっしゃるかも知れませんが、それももしかすると、昔の僕のように食わず嫌いかも? めっちゃ美味しいかも知れないので、是非一度ご賞味あれ!でございます。

WordCamp Osaka 2012 について、詳しくは次のリンク先でご確認ください!

なお、今回は僕も機会を頂き、1つのセッションでお話させて頂くことになりました。お題は「エンジニアの為の WordPress 入門 〜WordPress は WebApp プラットフォームです〜」で、いちおう PHP は OK なエンジニアさん向けのセッションです。最近までアンチ CMS 派だった僕が WordPress に出会って感じたこと、WordPress がカスタマイズしやすいという理由と簡単な API 紹介、また WordPress がアプリケーションプラットフォームとして利用された事例や、そのメリット等をお話することを通じて、エンジニアから見た WordPress の有用性や活用方法を共有できたらと思っています。あ、あと、当日、会場で僕を見つけたら気軽に声掛けていただけると嬉しいです♪

さあ、参加登録まだの人はすぐ登録ですよー!

それでは、WordCamp で会いましょう♪

バトンは次の方へ!

 

投稿日:

PHPFog と WordPress とファイル管理


[追記] 下記の方法より良い方法がありましたのでPHPFog/AppFog と WordPress とファイル管理 にて、紹介しています。

WordPress はその管理画面からサイト自体に様々なカスタマイズが行えることが特徴であり、強みです。それらのアップデートにおいては、主に wp-contents 内に必要なファイルがダウンロードされて追加されます。PHP Fog や DotCloud などの環境上に WordPress をデプロイしてもこれは同様なのですが、実はちょっと困ったことがあります。

問題

PHP Fog では、初期にデプロイされた後、WordPress の管理画面で行った変更については、git clone でも pull でも取得できないのです(わたしが知る限りなので、どなたか良い方法を知ってたら教えてください)。つまり、WordPress の管理画面から行った変更は、Git の管理下に無い、ということなのでしょうね。まあ、当たり前と言えば、当たり前なのですが、それを PHP Fog 上の master に commit する手段を、私はとうとう見つけることができませんでした。

解決策

管理画面からの変更は git clone でも pull でも取得できないのであれば、別の方法で取得するしかありません。とてもスマートとは言い難いのですが、私は  navphp というファイルエクスプローラをサーバー上に配置することで解決しました。手順は至って簡単でした。

navphp の設置方法

  1. navphp をダウンロード
  2. PHP Fog から git clone したリポジトリのルートに、navphp の zip を展開して配置
  3. navphp の、config.php を開き、$user と $passwd を自分用に設定

navphp でファイルを取得し、ローカルの WordPress データを最新にする

  1. navphp の管理画面にログインする。
  2. ファイルの一覧が表示されるので、WordPress 上の必要なリソースをダウンロードする
    • ダウンロードは、ファイル名/フォルダ名部分をクリックする
    • フォルダは zip されてダウンロードされるので、ダウンロード後に zip を解凍す る
  3. ダウンロードしたファイルで、ローカルのリポジトリを上書きする

 

以上の手順で、何か管理画面で変更を行った際には、手元のデータを最新にして、関連した変更をローカルリポジトリで行っていくことができます。例えば、管理画面でテーマをインストールし、その子テーマを作りたいときには、手元に親テーマのデータを持ってないと困ると思いまし、いずれにせよ、手元のリポジトリが最新で無いというのは、なんというか不安なものですね。

なお、この方法は dotCloud などの同じような課題のある PaaS 環境でも同じようにできる筈です。

 

投稿日:

PHP Fog の WordPress の日本語化


WordPress の検証には PHP Fog さんのサービスを利用させて頂いています。簡単に扱えて、WordPress セットアップもボタンを押すだけの2ステップ程度。かつ「無料」です。ボタン一つでサイトを破棄して、そしてまた簡単に新しくサイトを作ることも出来ます。検証用にはうってつけです。

その PHP Fog でセットアップした WordPress ですが、困った事に英語環境になっています。しばらくは気にせず使っていましたが、勉強会などのスライドに載せるスクリーンキャプチャが英語版の画面なのは、なんと無く切ない…。そこで、日本語化をやってみました。

手順は、Gitを使っている方だったら、非常に簡単で、以下の通りです。環境は WordPress 3.4.1です。

§

1. PHP Fog の App Console から、Git で clone する URL を拾ってくる。↓写真の赤枠のところです。

2. ローカルのファイルを置きたい場所に移動して、git clone でローカルにリポジトリを作ります。

3. ローカルリポジトリのディレクトリがアプリケーション名で作成されるので、その中に移動します。移動した先がそのままアプリケーションのルートディレクトリで、また WordPress のファイルも配置されています。

4. wp-config.php を開いて、WPLANG の定数定義を ja に変更します。

5. 次に、日本語のリソースファイルをダウンロードします。wp-content の中に languages フォルダを作成して、その中へ移動します。

6. WordPress の日本語リソースファイルを、WordPress の ja リポジトリから落としてきます。ちなみに、私が確認したときは、3.4.x 用のリソースが見当たらなかったので、とりあえず 3.3 用を使いました。

7. アプリケーションのルートディレクトリに上って、ファイルの追加と変更を Git にコミットし、最後に push します。

以上のような流れです。ネット上で「上手く出来ない」的な記事も見られますが、とりあえず私は問題無かったですね。いくつかの参照URLでは、落としてくる日本語リソースのファイルが違ってたりしているので、そのせいかも知れません。私はとりあえず、あったものをみんなダウンロードして入れました。