プラグインの	  リポジトリ
登録について	 （第７回W2012.8.19	  ordBench京都勉	  京都大学東南アジア研究所・木谷強会）	  公哉（kimipooh）	 

WordPressとの出会い	 
0 オープンソースカンファレンス2010	  Kansai@Kyoto	  0 「世界標準ブログWordPressとそのコミュニティの魅力」	  0 日時：	  2010/7/9	  (金)	  0 担当：WordBench京都・滋賀	  プラグインと本体のアップデート	  が管理パネルから簡単にできる	 

0 場所：京都コンピュータ学院	  0 http://kyoto.wordbench.org/2010/06/30/osc2010-­‐kyoto/	  ぶらっと寄ってみたら	 

WordPress	  の機能に魅せられ	 

7/20に実験サイト立ちあげ	 

3月納品直前にWordPress	  3.1がアップグレード！	  
いろいろ問題勃発＆多言語プラグイン「WPML」が有料に！	  

11月より5サイト同時に立ちあげ！？	 

10月に多言語化を中心に実験し、11月にPHP5.3問題に苦慮していたら	 
2

http://kitaney.jp/~kitani/manual/php/php53.html#2	 

プラグイン「WP	  DS	  FAQ	  Plus」	 
レポジトリ：http://wordpress.org/extend/plugins/wp-­‐ds-­‐faq-­‐plus/	  当初公開：http://kitaney.jp/~kitani/tools/wordpress/	  紹介：http://www.cseas.kyoto-­‐u.ac.jp/info/links-­‐ja/plugin-­‐ja/wp-­‐ds-­‐faq-­‐plus-­‐ja	 

0 カスタム投稿を使えばよかった・・・	  0 当時、その存在を知らず	  	  0 掲示板とFAQプラグインを探したが・・・	  0 しっくりくる物が無かったので作成してみようと	  	  0 WP	  DS	  FAQプラグインがよさそうだったが	  0 セキュリティ問題が数多く内包されているというコメントがあったので（CSRF対策とか、SQL	  Injectionとか多数）	  	  0 そのあたりを中心に拡張してみたら	  0 いろいろカスタムしたくなってきて・・・	  3

リポジトリ登録するには	 
1. WordPress.orgのアカウント取得	  2. プラグインの登録申請	  3. プラグインの承認	  4. リポジトリ登録（Subversion）	  a. プラグイン公開情報（所定の書式で）	  b. SVN利用環境整備	  c. SVNの仕組み	  d. SVNの操作説明（プラグイン公開、閲覧のみ）	  4

WordPress.orgのアカウント取得	 
0 http://wordpress.org	  	 5プラグイン登録申請（１）	 
1. グローバルメニュー「Plugins」の	  左サイドメニュー「Developer	  Center」へアクセス	  	  2. 「ask	  us	  to	  host	  it	  for	  you」のリンクをクリック	  	  6プラグイン登録申請（２）	 

7

プラグインの承認	 

8

リポジトリ登録	 
1. プラグイン情報ファイル「readme.txt」の確認	  	  	  -­‐	  http://wordpress.org/extend/plugins/about/validator/	  	  	  	  サンプル：http://wordpress.org/extend/plugins/about/readme.txt	  	  2. SVNの準備方法	  	  -­‐	  http://wordpress.org/extend/plugins/about/svn/	  9

プラグイン情報ファイル「プログラム本体」	 
<?php	  /*	  Plugin	  Name:	  WP	  DS	  FAQ	  Plus	  Plugin	  URI:	  http://kitaney.jp/~kitani/tools/wordpress/wp-­‐ds-­‐faq-­‐plus_en.html	  Description:	  WP	  DS	  FAQ	  Plus	  is	  the	  expand	  of	  WP	  DS	  FAQ	  	  plugin.	  The	  plugin	  bases	  on	  WP	  DS	  FAQ	  1.3.3.	  This	  plugin	  includes	  the	  eixed	  some	  issues	  (Quotation	  and	  Security,	  such	  as	  SQL	  Injection	  and	  CSRF.	  )	  ,	  Japanese	  translation,	  improvement	  of	  interface,	  and	  SSL	  Admin	  setting.	  
Version:	  1.0.14	  (September	  22,	  2011)	  Author:	  Kimiya	  Kitani	  Author	  URI:	  http://kitaney.jp/~kitani/	  */	 10

プラグイン情報ファイル「readme.txt」	 
SVN:	  http://plugins.svn.wordpress.org/wp-­‐ds-­‐faq-­‐plus/tags/1.0.14/readme.txt	 

11
http://wordpress.org/extend/plugins/wp-­‐ds-­‐faq-­‐plus	 SVN環境の準備（Macintosh）	 
0 10.5/10.6：標準搭載	  0 10.7/10.8：要インストール	  1. Mac	  App	  StoreからXcodeをインストール	  2. Xcodeを起動時し、上部「Xcode」メニューから「Preferences」を選択	 「Command	  Line	  Tools」をインストール	  	  12※自前で入れたい！	  <SCPlugin>	  http://scplugin.tigris.org/	 SVN環境の準備	  （Windows）	 
0 TortoiseSVN	  	  	  	  http://sourceforge.jp/projects/tortoisesvn/	  など	  	  0 インストール方法・設定・利用方法は	  	  -­‐	  http://www.gside.org/Gentoo/subversion/subversion_client.html	  	  が分かりやすい？	  

公式リポジトリ登録するスキルがあるなら、環境は自前で整えるレベルのはず・・・	  13

SVNの仕組み	  -­‐	  WordPress公開リポジトリ（１）	 -­‐	 SVNサーバ	 

自分のPC	 /wp-­‐ds-­‐faq-­‐plus/（フォルダ）	 

┣	  tags/公開version/	  ┣	  trunk/（開発版）	  ┗	  branches/	 wp-­‐ds-­‐faq-­‐plus/（フォルダ）	 
Checkout	 
紐付け（認証）	 

add	 ┣	  tags/公開version/	  ファイルの紐付	  ┣	  trunk/	  commit	 ┗	  branches/	 
紐付済ファイル更新	 
update	 
SVNサーバ側と同期	 
※	  公開version	  =	  readme.txtのstable	  tag	 tagsを更新すると、公開リポジトリに自動反14映される（数分後）	  SVNの仕組み	  -­‐	  WordPress公開リポジトリ（２）-­‐	 
http://wordpress.org/extend/plugins/wp-­‐ds-­‐faq-­‐plus/developers/	 
コメント（Commit時）	 

15

SVNの操作説明	 1.

Checkout（svnサーバと紐付け：開設）	  0 svn	  	  checkout	  	  SVN	  URL	  	  	  	  PCフォルダ	  	  -­‐-­‐username	  ユーザ名	  	  0 svn	  checkout	  	  http://plugins.svn.wordpress.org/wp-­‐ds-­‐faq-­‐plus/	  	  	  	  	  	  ~/Desktop/wordpress/wp-­‐ds-­‐faq-­‐plus	  	  -­‐-­‐username	  	  kimipooh（一行で書く）	  	  	  2.

Add（svnファイルとして登録）	  0 svn	  add	  PCファイル（複数可）	  	  0 svn	  add	  	  ~/Desktop/wordpress/wp-­‐ds-­‐faq-­‐plus/trunk/*	  	  3.

Commit（更新）	  0 svn	  commit	  	  PCフォルダ（省略可）	  -­‐m	  “コメント”	  	  0 cd	  ~/Desktop/wordpress/wp-­‐ds-­‐faq-­‐plus/（PCフォルダ指定省略のため）	  0 svn	  commit	  	  -­‐m	  “eixed	  readme.txt”	  	  4.

Update（SVNサーバデータと同期）	  0 svn	  update	  PCフォルダ（省略可）	  	  0 cd	  ~/Desktop/wordpress/wp-­‐ds-­‐faq-­‐plus/	  0 svn	  update	  	  5.

Remove（削除）	  0 svn	  delete	  ファイル（フォルダ	  or	  URL）	  	  0 svn	  delete	  ~/Desktop/wordpress/wp-­‐ds-­‐faq-­‐plus/trunk/*	  	  （開発中のコードを削除例）	  	  	  0 svn	  commit	  –m	  “Deleted	  	  eile	  ‘hogehoge’.”	 

16

SVNの操作説明	  -­‐	  プラグイン更新編	  -­‐	 「デスクトップ→wordpress→wp-­‐ds-­‐faq-­‐plus」フォルダにプラグインフォルダがあると仮定	  	  cd	  ~/Desktop/wordpress/wp-­‐ds-­‐faq-­‐plus	  （フォルダへ移動）	  	  1.

Add（svnファイルとして登録）	  0 svn	  add	  PCファイル（複数可）	  	  0 svn	  add	  	  trunk/*	  	  2.

Commit（更新）	  0 svn	  commit	  	  PCフォルダ（省略可）	  -­‐m	  “コメント”	  	  0 svn	  commit	  	  -­‐m	  “updated.”（サブフォルダ以下更新データのアップデート）	  	  	  	  	  3.

Copy	  （各バージョンごとの公開）	  0 svn	  copy	  	  コピー元

コピー先	  –m	  	  “コメント”	  svn	  copy	  	  trunk	  	  tags/1.0.14	  svn	  commit	  	  -­‐m	  “1.0.14	  released”.	  
あるいは	  0svn	  copy	  http://plugins.svn.wordpress.org/wp-­‐ds-­‐faq-­‐plus/trunk	  	  	  http:// 17plugins.svn.wordpress.org/wp-­‐ds-­‐faq-­‐plus/tags/1.0.14	  -­‐m	  “tagging	  1.0.14.”	  00

SVNの操作説明	  -­‐	  閲覧のみ-­‐	 「WP	  DS	  FAQ	  Plus」の開発コードをPCへダウンロードしてみましょう	  	  1. フォルダ作成	  0 mkdir	  	  wp-­‐ds-­‐faq-­‐plus	  	  2. Checkout（svnサーバと紐付け：開設）	  0 svn	  checkout	  	  http://plugins.svn.wordpress.org/wp-­‐ds-­‐faq-­‐plus/	  	  	  	  ※公開されているので、ダウンロードだけは認証なしで出来る	  	  3. Update（同期）	  0 cd	  wp-­‐ds-­‐faq-­‐plus	  0 svn	  update	 18