OSDN Git Service

verson 0.5.7, fixed information window.
authoritozyun <itozyun@gmail.com>
Thu, 9 Aug 2012 20:52:31 +0000 (05:52 +0900)
committeritozyun <itozyun@gmail.com>
Thu, 9 Aug 2012 20:52:31 +0000 (05:52 +0900)
21 files changed:
0.4.x/wiki/wiki_120401.xml [deleted file]
0.5.x/diary/diary.xsl
0.5.x/help/help.xsl
0.5.x/index.html
0.5.x/javascripts/peta.apps.js
0.5.x/javascripts/peta.common.js
0.5.x/javascripts/pongame.js
0.5.x/javascripts/system.js
0.5.x/sitemap/sitemap.xsl
0.5.x/stylesheets/system.css
0.5.x/test/activex.html
0.5.x/test/comic-html-structure.html
0.5.x/test/dynamic-comic-html.html
0.5.x/test/html2comic_0.1.html
0.5.x/test/index.html
0.5.x/test/svg.html
0.5.x/test/transform.html
0.5.x/test/type.html
0.5.x/test/useragent.html
0.5.x/test/vertical-center.html
0.5.x/wiki/wiki.xsl

diff --git a/0.4.x/wiki/wiki_120401.xml b/0.4.x/wiki/wiki_120401.xml
deleted file mode 100644 (file)
index 7a6ac60..0000000
+++ /dev/null
@@ -1,6959 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>\r
-<?xml-stylesheet type="text/xsl" href="wiki.xsl"?>\r
-\r
-<rdf:RDF\r
-  xmlns="http://purl.org/rss/1.0/"\r
-  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\r
-  xmlns:content="http://purl.org/rss/1.0/modules/content/"\r
-  xmlns:dc="http://purl.org/dc/elements/1.1/"\r
- >\r
-\r
-  <channel rdf:about="http://sourceforge.jp/projects/pettanr/wiki/!feeds/list">\r
-    <title>ぺったんR Wiki</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/!feeds/list</link>\r
-    <description>\r
-      ぺったんR プロジェクト Wiki ページ一覧    </description>\r
-        <dc:date>2012-04-01T19:09:00+09:00</dc:date>\r
-\r
-        <items>\r
-      <rdf:Seq>\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreate" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ArtistsNew" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ArtistsController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ArtistsNewView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ApiIndex" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerCreate" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlay" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlayView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsShowView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEditView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNewView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreateView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdateView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdate" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdate" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEdit" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsEdit" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsCreate" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsNew" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShow" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsShow" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsIndex" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNew" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndex" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/YasushiIto" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndexView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShowView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsCreateView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsEditView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsNewView" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsCount" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsCountView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsIndexView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsView" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/RailsViews" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ForDevelopers" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/RoadMap" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ItoZyun" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/FrontPage" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/WhatsPettan" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AboutModels" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/SideBar" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AuthorsController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AuthorModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesControllerIndex" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/BundledLicenses" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AppendixList" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AboutLicense" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ForArtists" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerShow" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/LicensesShow" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesIndex" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesShow" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/TeamPettan" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/RuleOfPettan" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/CoreDev" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/BundledPictures" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/VerticalWriting" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/HistoryOfPettan" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/LocalWiki" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/SutdyOfImgTag" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ChangeDoc" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/UserModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ArtistModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PettanrTheater" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerIndex" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/MagicNumber" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/HomeController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerDestroy" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerUpdate" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerEdit" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerNew" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerCount" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesDestroy" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsDestroy" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsTop" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesControllerCount" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesCount" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesNew" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesDestroy" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesDestroy" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesUpdate" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesUpdate" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesEdit" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesEdit" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesCreate" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesCreate" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/LicensesController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesNew" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ForAuthors" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicenseModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/LicenseModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/CommonLicenseModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/LicensesIndex" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/SpeachsController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/BalloonsController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PrintAttributes" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PngFix" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelsController" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/RunMode" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/JavascriptEditor" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/HowToInstall" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/BalloonModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/SpeachModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ForWebmasters" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AccessControl" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AboutBackgroundImage" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/StatusCode" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/XmlHttpRequest" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/SystemController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AuthorRegistrationsController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AboutPenjiro" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/DatabaseSchema" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonsController" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ClientSide" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/JsonApi" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForAuthor" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/TranslationComicElements" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PictureIo" />\r
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/RmagickAndDmagick" />\r
-              </rdf:Seq>\r
-    </items>\r
-  </channel>\r
-\r
-      <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">\r
-    <title>OriginalPictureModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel</link>\r
-\r
-    <dc:identifier>OriginalPictureModel</dc:identifier>\r
-    <dc:date>2012-04-01T19:09:00+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[== 原画 original_pictures @ AboutModels\r
-参考:OriginalPicturesController\r
-\r
-== カラム\r
-||name||和名||type||default||null||limit||note||\r
-||ext||画像フォーマット||string|| ||FALSE|| ||||\r
-||width||幅ピクセル数||integer|| ||F]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E5.8E.9F.E7.94.BB.20original_pictures.20.40.20AboutModels">原画 original_pictures @ <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a>\r
-</p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>ext</td><td>画像フォーマット</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>width</td><td>幅ピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>filesize</td><td>画像サイズ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>artist_id</td><td>投稿者 絵師id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>license_id</td><td>付与ライセンスid</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>resource_picture_id</td><td>素材id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><h2 id="h2-.E4.BD.9C.E6.88.90.E6.89.8B.E9.A0.86">作成手順</h2><p>絵師id、画像データとライセンスを与えて作成する。絵師idはサインイン中のセッションから得られるので、ファイルアップロードフォームにライセンス選択ボックスを添えれば作成できることになる。 → <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreate">OriginalPicturesCreate</a>\r
-</p><p>画像データはバイナリデータが生で入ってくる。画像ライブラリなどを通して諸データを取り出せる形にするのはモデルの責任となる。代表的なのはRMagickなど。\r
-</p><p>コマ上では、原画ではなく素材を使って表現するので、原画作成と同時に素材<a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicture">ResourcePicture</a>も作成しなければならない。 この処理は一つのトランザクションで行う。→<a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel">ResourcePictureModel</a>\r
-</p><h3 id="h3-.E7.94.BB.E5.83.8F.E3.81.AE.E4.BF.9D.E5.AD.98.E5.A0.B4.E6.89.80">画像の保存場所</h3><p>できるだけネットから直接見えない場所に置く。ローカルファイルで作成するか、認証を経ないと見えないか。少なくとも望めばそうできるような作りにしたい。\r
-</p><h2 id="h2-.E8.87.AA.E5.8B.95.E8.A3.9C.E5.85.85">自動補充</h2><p>クライアントは作成・更新時にデータを渡すが、中には自動で値が補充されるカラムもある。\r
-</p><h3 id="h3-ext">ext</h3><ul><li>渡された画像から得たファイルフォーマットが自動補充される。\r
-</li></ul><h3 id="h3-width">width</h3><ul><li>渡された画像から得た幅が自動補充される。\r
-</li></ul><h3 id="h3-height">height</h3><ul><li>渡された画像から得た高さが自動補充される。\r
-</li></ul><h3 id="h3-filesize">filesize</h3><ul><li>渡された画像から得たファイルサイズが自動補充される。\r
-</li></ul><h3 id="h3-panel_picture_count">panel_picture_count</h3><ul><li>新規作成時には値は0で自動補充される。\r
-</li></ul><h3 id="h3-created_at">created_at</h3><ul><li>新規作成時には値は自動補充される。\r
-</li></ul><h3 id="h3-updated_at">updated_at</h3><ul><li>更新時には値は自動補充される。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><h3 id="h3-.E3.82.AB.E3.83.A9.E3.83.A0.E5.88.A5">カラム別</h3><h3 id="h3-ext-2">ext</h3><ul><li>nullでないこと。\r
-</li><li>4文字以内であること。\r
-</li></ul><h3 id="h3-width-2">width</h3><ul><li>数値であること\r
-</li><li>正の整数であること。 \r
-</li></ul><h3 id="h3-height-2">height</h3><ul><li>数値であること\r
-</li><li>正の整数であること。 \r
-</li></ul><h3 id="h3-filesize-2">filesize</h3><ul><li>数値であること\r
-</li><li>正の整数であること。 \r
-</li><li>2MB以内であること。\r
-</li></ul><h3 id="h3-artist_id">artist_id</h3><ul><li>数値であること\r
-</li><li>存在する絵師であること。\r
-</li></ul><h3 id="h3-license_id">license_id</h3><ul><li>数値であること\r
-</li><li>存在するライセンスであること。\r
-</li></ul><h3 id="h3-.E5.85.A8.E4.BD.93">全体</h3><ul><li>有効な画像であること。\r
-</li><li>対応可能な画像フォーマットであること。\r
-</li><li>\r
-</li></ul><h2 id="h2-.E6.89.80.E5.B1.9E.E3.83.A2.E3.83.87.E3.83.AB.E3.81.AE.E6.A4.9C.E8.A8.BC">所属モデルの検証</h2><h3 id="h3-ResourcePicture"><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicture">ResourcePicture</a></h3><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel">ResourcePictureModel</a>も検証すること。\r
-</li></ul><h2 id="h2-.E5.89.8A.E9.99.A4.E6.89.8B.E9.A0.86">削除手順</h2><p>resource_picture_idをメモする\r
-</p><h2 id="h2-.E6.A9.9F.E8.83.BD">機能</h2><h3 id="h3-.E6.89.80.E6.8C.81.E5.88.A4.E5.AE.9A">所持判定</h3><ul><li>原画の持ち主かどうかをTrue/Falseで返す\r
-</li><li>パラメータに作家データを受ける\r
-</li><li>パラメータがnilならFalse\r
-</li><li>パラメータが絵師登録してなかったならFalse\r
-</li><li>パラメータの絵師idが原画の絵師idと一致するならTrue、しないならFalse\r
-</li></ul><h3 id="h3-.E4.B8.80.E8.A6.A7.E5.8F.96.E5.BE.97">一覧取得</h3><ul><li>原画を更新日時順に取得する。\r
-</li><li>サインインしている作家の原画に限る\r
-</li><li>ページ処理に対応し、毎ページn件の条件でmページ目から取得することができる。\r
-</li><li>関連データとして一覧取得オプションを与えることができる。\r
-<ul><li>関連データはオプションで追加できる\r
-</li></ul></li></ul><h4 id="h4-.E4.B8.80.E8.A6.A7.E5.8F.96.E5.BE.97.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3">一覧取得オプション</h4><p>下記の関連テーブルを含む\r
-</p><ul><li>author\r
-</li></ul><h3 id="h3-.E4.B8.80.E8.A6.A7.E5.87.BA.E5.8A.9B.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3">一覧出力オプション</h3><p>下記の関連テーブルのカラムを含む\r
-</p><ul><li>author (*)\r
-</li></ul><h3 id="h3-.E5.8D.98.E4.BD.93.E5.8F.96.E5.BE.97">単体取得</h3><p>show(id, author, opt={})\r
-</p><h4 id="h4-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h4><ul><li>id:原画id\r
-</li><li>author:作家データ\r
-</li><li>opt:関連データ取得オプション\r
-</li></ul><h4 id="h4-.E8.A7.A3.E8.AA.AC">解説</h4><ul><li>idの原画を取得する。\r
-</li><li>関連データとして単体取得オプションを与えることができる。\r
-<ul><li>関連データはオプションで追加できる\r
-</li></ul></li><li>存在しない原画のidを要求された場合は、例外404 <a href="http://sourceforge.jp/projects/pettanr/wiki/ActiveRecord">ActiveRecord</a>::<a href="http://sourceforge.jp/projects/pettanr/wiki/RecordNotFound">RecordNotFound</a>を発生させる。\r
-</li><li>他人の原画を要求された場合は、例外403 <a href="http://sourceforge.jp/projects/pettanr/wiki/ActiveRecord">ActiveRecord</a>::Forbiddenを発生させる。 \r
-</li></ul><h4 id="h4-.E5.8D.98.E4.BD.93.E5.8F.96.E5.BE.97.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3">単体取得オプション</h4><p>下記の関連テーブルを含む\r
-</p><ul><li>author\r
-</li></ul><h3 id="h3-.E5.8D.98.E4.BD.93.E5.87.BA.E5.8A.9B.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3">単体出力オプション</h3><p>下記の関連テーブルのカラムを含む\r
-</p><ul><li>author (*)\r
-</li></ul><h3 id="h3-.E4.BD.9C.E6.88.90">作成</h3><p>store(picture_data, license_id, artist_id)\r
-</p><h4 id="h4-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF-2">パラメータ</h4><ul><li>picture_data:画像データ\r
-</li><li>license_id:ライセンスid\r
-</li><li>artist_id:絵師id \r
-<ul><li>新規作成時は必須だが、更新時は指定があった時だけ上書き。\r
-</li></ul></li></ul><h4 id="h4-.E8.A7.A3.E8.AA.AC-2">解説</h4><ul><li>picture_dataをRMagickで開いてオブジェクト化する。\r
-</li><li>画像オブジェクトから、ext, width, height, filesizeを取得して、原画モデルの属性としてセットする。\r
-</li><li>パラメータのライセンスidと絵師idもセットする。\r
-</li><li>検証してみる。\r
-<ul><li>検証が通ったら、<a href="http://sourceforge.jp/projects/pettanr/wiki/PictureIo">PictureIo</a>経由で画像データを保存する。\r
-<ul><li>画像データが保存できたら、原画モデルを保存する。\r
-<ul><li>原画モデルが保存できたら、素材モデルを保存する。\r
-</li></ul></li></ul></li></ul></li><li>検証あるいは保存が正しく終わればTrueを返し、異常ならFalseを返す。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreate">\r
-    <title>OriginalPicturesCreate</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreate</link>\r
-    <dc:identifier>OriginalPicturesCreate</dc:identifier>\r
-    <dc:date>2012-04-01T18:33:26+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= create @ OriginalPicturesController\r
-原画の作成。\r
-=== url\r
- * http://localhost:3000/original_pictures\r
- * http://localhost:3000/original_pictures.json\r
-=== リクエスト\r
-||権限||絵師||\r
-||method||post||\r
-||urlパラメータ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-create.20.40.20OriginalPicturesController">create @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a></h1><p>原画の作成。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/original_pictures" class="external" rel="nofollow">http://localhost:3000/original_pictures</a>\r
-</li><li><a href="http://localhost:3000/original_pictures.json" class="external" rel="nofollow">http://localhost:3000/original_pictures.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>絵師</td></tr><tr><td>method</td><td>post</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>POSTデータ</td><td>json形式またはフォームで</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNew">OriginalPicturesNew</a>フォームから原画を新規作成するための機能。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>作家アカウントから絵師データを取得する。\r
-</li><li>POSTデータから原画データを起こす。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-</li><li>原画モデルにデータの検証と保存を依頼する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><p>なし\r
-</p><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-original_picture.20.E5.8E.9F.E7.94.BB.E6.83.85.E5.A0.B1">original_picture 原画情報</h4><ul><li>file\r
-<ul><li>原画となる画像ファイルのデータ。\r
-</li><li>ファイルで渡ってくるとき(フォームから)\r
-<ul><li>ファイルからデータを読む。\r
-</li></ul></li><li>文字列で渡ってくるとき(jsonAPIなどから)\r
-<ul><li>文字列をBase64でデコードする。\r
-</li></ul></li><li>入手した画像データをpicture_dataとする。\r
-</li></ul></li><li>license_id\r
-<ul><li>原画に採択したライセンスのid\r
-</li></ul></li></ul><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E9.80.A3.E6.90.BA.EF.BC.88.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3.EF.BC.89">モデルとの連携(データ補正)</h3><h4 id="h4-POST.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E5.A4.89.E6.8F.9B">POSTデータの変換</h4><h4 id="h4-.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3">データ補正</h4><ul><li>license_id\r
-<ul><li>操作中の絵師のとする。\r
-</li></ul></li><li>artist_id\r
-<ul><li>操作中の絵師のidをartist_idとする。\r
-</li></ul></li></ul><h4 id="h4-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.BC.E3.83.95.E3.82.A7.E3.82.A4.E3.82.B9">モデルとのインターフェイス</h4><ul><li>picture_data\r
-</li><li>license_id\r
-</li><li>artist_id\r
-</li></ul><h3 id="h3-.E6.A4.9C.E8.A8.BC">検証</h3><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>の検証を行う。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlのとき、ステータスコード302 Foundとともに、作成された原画の閲覧(show)ページに遷移する。\r
-</li><li>jsonのとき、ステータスコード200 OKとともに、json構造のデータを返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreateView">OriginalPicturesCreateView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise)\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。\r
-</li></ul></li><li>絵師登録してなかった。\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、絵師登録を促すページ(/artists/new)へ遷移する。\r
-</li><li>jsonなら、例外403 forbiddenを返す \r
-</li></ul></li><li>検証、保存に失敗した\r
-<ul><li>htmlなら、ステータスコード200 OKとともに、新規ページを描画する。\r
-<ul><li>パラメータで渡されたコミックデータを入力フォームに保持している。\r
-</li></ul></li><li>jsonなら、ステータスコード422 unprocessable_entityを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ArtistsNew">\r
-    <title>ArtistsNew</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ArtistsNew</link>\r
-    <dc:identifier>ArtistsNew</dc:identifier>\r
-    <dc:date>2012-04-01T17:15:14+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= new @ ArtistsController\r
-新規作成フォームの表示。\r
-=== url\r
- * http://localhost:3000/artists/new\r
- * http://localhost:3000/artists/new.json\r
- * http://localhost:3000/artists/new.js\r
-=== リクエスト\r
-||権限||作家||\r
-||met]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-new.20.40.20ArtistsController">new @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsController">ArtistsController</a></h1><p>新規作成フォームの表示。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/artists/new" class="external" rel="nofollow">http://localhost:3000/artists/new</a>\r
-</li><li><a href="http://localhost:3000/artists/new.json" class="external" rel="nofollow">http://localhost:3000/artists/new.json</a>\r
-</li><li><a href="http://localhost:3000/artists/new.js" class="external" rel="nofollow">http://localhost:3000/artists/new.js</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>GET</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>絵師登録するための入力フォームをまっさらなページで表示する。このアクションが返すフォームに対し、ユーザが入力して送信ボタンを押すことで、作成アクション<a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsCreate">ArtistsCreate</a>が起動され、新規の行が作成される。だから、フォームの表示のみの処理だけで、これといったdb処理はない。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>絵師モデルの初期データを生成する。\r
-</li><li>絵師モデルにデフォルト値を補充してもらう。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><p>なし\r
-</p><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>jsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlなら、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。\r
-</li><li>jsなら、ステータスコード200 OKとともに、部分テンプレートから起こしたページ部品を返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsNewView">ArtistsNewView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise) \r
-<ul><li>htmlなら、ステータスコード302 Foundとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsなら、ステータスコード401 Unauthorizedとともに、応答メッセージにUnauthorizedを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ArtistsController">\r
-    <title>ArtistsController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ArtistsController</link>\r
-    <dc:identifier>ArtistsController</dc:identifier>\r
-\r
-    <dc:date>2012-04-01T17:14:52+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 絵師 @ RailsControllers\r
-絵師陣のデータ。作品を探したり。\r
-\r
-参考:ArtistModel\r
-== ArtistsIndex\r
-== ArtistsShow\r
-== ArtistsCount\r
-== ArtistsNew\r
-----\r
-== list\r
-管理者のための閲覧リスト。\r
-----\r
-== browse\r
-管理者のための詳細閲覧。\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E7.B5.B5.E5.B8.AB.20.40.20RailsControllers">絵師 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>絵師陣のデータ。作品を探したり。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistModel">ArtistModel</a>\r
-</p><h2 id="h2-ArtistsIndex"><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsIndex">ArtistsIndex</a></h2><h2 id="h2-ArtistsShow"><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsShow">ArtistsShow</a></h2><h2 id="h2-ArtistsCount"><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsCount">ArtistsCount</a></h2><h2 id="h2-ArtistsNew"><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsNew">ArtistsNew</a></h2><hr /><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ArtistsNewView">\r
-    <title>ArtistsNewView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ArtistsNewView</link>\r
-    <dc:identifier>ArtistsNewView</dc:identifier>\r
-    <dc:date>2012-04-01T17:13:42+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[== 新規作成フォーム表示 @ ArtistsView\r
-参考:ArtistsNew\r
-== フォーム\r
-フォームに含めるべき項目は次の通り。\r
- * artist\r
-   * name\r
-   * default_license_id\r
-参考:ArtistModel\r
-== htmlのとき\r
-フォームを含んだページ全体を返す。\r
-== jsのとき\r
-フォームだけをajax更新のスタイルで返す。\r
-]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E6.96.B0.E8.A6.8F.E4.BD.9C.E6.88.90.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0.E8.A1.A8.E7.A4.BA.20.40.20ArtistsView">新規作成フォーム表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsView">ArtistsView</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsNew">ArtistsNew</a>\r
-</p><h2 id="h2-.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0">フォーム</h2><p>フォームに含めるべき項目は次の通り。\r
-</p><ul><li>artist\r
-<ul><li>name\r
-</li><li>default_license_id\r
-</li></ul></li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistModel">ArtistModel</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><p>フォームを含んだページ全体を返す。\r
-</p><h2 id="h2-js.E3.81.AE.E3.81.A8.E3.81.8D">jsのとき</h2><p>フォームだけをajax更新のスタイルで返す。\r
-</p><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ApiIndex">\r
-    <title>ApiIndex</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ApiIndex</link>\r
-\r
-    <dc:identifier>ApiIndex</dc:identifier>\r
-    <dc:date>2012-04-01T17:13:37+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= クライアントが必要としそうなAPI\r
-何がどんな機能を実行するために、どんなデータが必要かを挙げていってください。体裁はどうでもいいです。\r
-\r
-== ぺったんサーバーの情報\r
- * API の url\r
-   * 最終的にはここに掲載 RailsControllers\r
-\r
-== 一覧系ページをまとめる\r
- * 自分のことを知りたい/home/index\r
-   * 作家としての自分\r
-  ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.AF.E3.83.A9.E3.82.A4.E3.82.A2.E3.83.B3.E3.83.88.E3.81.8C.E5.BF.85.E8.A6.81.E3.81.A8.E3.81.97.E3.81.9D.E3.81.86.E3.81.AAAPI">クライアントが必要としそうなAPI</h1><p>何がどんな機能を実行するために、どんなデータが必要かを挙げていってください。体裁はどうでもいいです。\r
-</p><h2 id="h2-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93.E3.82.B5.E3.83.BC.E3.83.90.E3.83.BC.E3.81.AE.E6.83.85.E5.A0.B1">ぺったんサーバーの情報</h2><ul><li>API の url\r
-<ul><li>最終的にはここに掲載 <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a>\r
-</li></ul></li></ul><h2 id="h2-.E4.B8.80.E8.A6.A7.E7.B3.BB.E3.83.9A.E3.83.BC.E3.82.B8.E3.82.92.E3.81.BE.E3.81.A8.E3.82.81.E3.82.8B">一覧系ページをまとめる</h2><ul><li>自分のことを知りたい/home/index\r
-<ul><li>作家としての自分\r
-<ul><li>自分のコミックの評判について知りたい→アクセス解析する\r
-</li><li>自分のコミックの実績について知りたい\r
-<ul><li>自分のコミックのコマ数で並べる\r
-<ul><li>長期 /home/comics\r
-<ul><li>comics.panels_count\r
-</li></ul></li><li>中期 /authors/hot_comics\r
-</li><li>短期 /authors/recent_comics\r
-</li></ul></li></ul></li><li>自分のコマの実績について知りたい\r
-<ul><li>自分のコマを参照数で並べる\r
-<ul><li>長期 /home/panels\r
-<ul><li>panels.referred_count\r
-</li></ul></li><li>中期 /authors/cool_panels\r
-</li><li>短期 /authors/recent_panels\r
-</li></ul></li></ul></li><li>自分のリソース活動術について知りたい\r
-<ul><li>コマ\r
-<ul><li>中期 /authors/favorite_panels\r
-</li><li>短期 /authors/referred_panels\r
-</li></ul></li><li>素材\r
-<ul><li>中期 /authors/favorite_pictures\r
-</li><li>短期 /authors/referred_pictures\r
-</li></ul></li></ul></li></ul></li><li>絵師としての自分\r
-<ul><li>自分の素材の実績について知りたい\r
-<ul><li>自分の素材がコマで参照されてる数で並べる\r
-<ul><li>長期 /home/pictures\r
-<ul><li>resource_pictures.referred_count\r
-</li></ul></li><li>中期 /artists/cool_pictures\r
-</li><li>短期 /artists/pictures\r
-</li></ul></li></ul></li></ul></li></ul></li><li>人のことを知りたい\r
-<ul><li>作家を探したい /authors/index\r
-<ul><li>中期\r
-<ul><li>マメに更新する活きのいい作家は誰? /authors/hot\r
-<ul><li>作家に近頃のコマ更新数が必要。\r
-</li><li>authors.hot\r
-</li><li>/authors/recent_panelsの結果を一定期間で区切ってカウント\r
-</li><li>cronあるいは管理者が実行\r
-<ul><li>authors.calc_hot\r
-</li></ul></li></ul></li><li>応用の利くコマを投稿する話題の作家は誰? /authors/cool\r
-<ul><li>作家に近頃のコマ参照数が必要。\r
-</li><li>authors.cool\r
-</li><li>/authors/referred_panelsの結果を一定期間で区切ってカウント\r
-</li><li>cronあるいは管理者が実行\r
-<ul><li>authors.calc_cool\r
-</li></ul></li></ul></li></ul></li><li>短期\r
-<ul><li>最近コマ投稿した作家は誰? /authors/recent\r
-<ul><li>authors.posted_at\r
-</li></ul></li><li>最近コマ参照された作家は誰? /authors/referred\r
-<ul><li>authors.referred_at\r
-</li></ul></li></ul></li></ul></li><li>あの人(作家)を知りたい /authors/show\r
-<ul><li>短期動向\r
-<ul><li>彼のコミックを更新日時で並べる /authors/recent_comics\r
-<ul><li>comics.posted_at\r
-</li></ul></li><li>彼のコマを更新日時で並べる /authors/recent_panels\r
-<ul><li>panels.updated_at\r
-</li></ul></li><li>彼が参照したコマを更新日時で並べる /authors/referred_panels\r
-</li><li>彼が参照した素材を更新日時で並べる /authors/referred_pictures\r
-</li></ul></li><li>中期動向\r
-<ul><li>彼のコミックを近頃のコマ更新数で並べる /authors/hot_comics\r
-<ul><li>comics.hot\r
-</li></ul></li><li>彼のコマを近頃のコマを参照数で並べる /authors/cool_panels\r
-<ul><li>panels.cool\r
-</li></ul></li><li>彼が近頃よく参照するコマを参照数で並べる /authors/favorite_panels\r
-<ul><li>panels.favorite\r
-</li></ul></li><li>彼が近頃よく参照する素材を参照数で並べる /authors/favorite_pictures\r
-</li></ul></li><li>長期動向 一覧じゃないけど\r
-<ul><li>コミックをいくつ投稿したか\r
-</li><li>コマをいくつ投稿したか\r
-</li><li>コマがいくつ参照されてるか\r
-</li></ul></li></ul></li><li>絵師を探したい /artists/index\r
-<ul><li>中期\r
-<ul><li>マメに更新する活きのいい絵師は誰? /artists/hot\r
-<ul><li>絵師に近頃の素材更新数が必要。\r
-</li><li>artists.hot\r
-</li><li>原画の更新でカウントされ、毎日バッチで旧いデータを削除\r
-</li></ul></li><li>近頃よく参照されてる話題の絵師は誰? /artists/cool\r
-<ul><li>絵師に近頃の素材参照数が必要。\r
-</li><li>artists.cool\r
-</li></ul></li></ul></li><li>短期\r
-<ul><li>最近素材投稿した作家は誰? /artists/recent\r
-<ul><li>artists.posted_at\r
-</li></ul></li><li>最近素材がコマに参照された作家は誰? /artists/referred\r
-<ul><li>artists.referred_at\r
-</li></ul></li></ul></li></ul></li><li>あの人(絵師)を知りたい /artists/show\r
-<ul><li>短期動向\r
-<ul><li>彼の素材を更新日時で並べる /artists/pictures\r
-<ul><li>resource_pictures.updated_at\r
-</li></ul></li></ul></li><li>中期動向\r
-<ul><li>彼の素材を近頃の素材参照数で並べる /artists/cool_pictures\r
-<ul><li>resource_pictures.cool\r
-</li></ul></li></ul></li><li>長期動向 一覧じゃないけど\r
-<ul><li>素材をいくつ投稿したか\r
-</li><li>素材がいくつ参照されてるか\r
-</li></ul></li></ul></li></ul></li><li>コンテンツを知りたい\r
-<ul><li>コミックを探したい /comics/index\r
-<ul><li>短期\r
-<ul><li>コミックを更新日時で並べる /comics/recent\r
-<ul><li>comics.posted_at\r
-</li></ul></li></ul></li><li>中期\r
-<ul><li>近頃更新された数で並べる /comics/hot\r
-<ul><li>comics.hot\r
-</li></ul></li></ul></li></ul></li><li>コマを探したい /panels/index\r
-<ul><li>短期\r
-<ul><li>コマを更新日時で並べる /panels/recent\r
-</li><li>コマを参照日時で並べる /panels/referred\r
-</li></ul></li><li>中期\r
-<ul><li>近頃参照された数で並べる /panels/cool\r
-<ul><li>panels.cool\r
-</li></ul></li></ul></li></ul></li><li>素材を探したい /resource_pictures/index\r
-<ul><li>短期\r
-<ul><li>素材を更新日時で並べる /resource_pictures/recent\r
-</li><li>素材を参照日時で並べる /resource_pictures/referred\r
-</li></ul></li><li>中期\r
-<ul><li>近頃参照された数で並べる /resource_pictures/cool\r
-<ul><li>resource_pictures.cool\r
-</li></ul></li></ul></li></ul></li></ul></li></ul><ul><li>comics.panels_count\r
-</li><li>comics.posted_at\r
-</li><li>comics.hot\r
-</li><li>panels.updated_at\r
-</li><li>panels.referred_count\r
-</li><li>panels.cool\r
-</li><li>panels.favorite\r
-</li><li>resource_pictures.cool\r
-</li><li>resource_pictures.referred_count\r
-</li><li>resource_pictures.referred_at\r
-</li></ul><ul><li>authors.posted_at\r
-</li><li>authors.referred_at\r
-</li><li>authors.comics_count\r
-</li><li>authors.panels_count\r
-</li><li>authors.referred_count\r
-</li><li>authors.favorite_count\r
-</li><li>authors.hot\r
-</li><li>authors.cool\r
-</li><li>artists.posted_at\r
-</li><li>artists.referred_at\r
-</li><li>artists.resource_pictures_count\r
-</li><li>artists.referred_count\r
-</li><li>artists.hot\r
-</li><li>artists.cool\r
-</li></ul><h2 id="h2-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E3.82.A8.E3.82.AF.E3.82.B9.E3.83.97.E3.83.AD.E3.83.BC.E3.83.A9">コミックエクスプローラ</h2><ul><li>自分が\r
-<ul><li>最近投稿したコミック/authors/recent_comics → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsRecentComics">AuthorsRecentComics</a>\r
-</li><li>近頃よく投稿するコミック/authors/hot_comics → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsHotComics">AuthorsHotComics</a>\r
-</li></ul></li><li>誰かが\r
-<ul><li>最近投稿されたコミック/comics/recent → <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsRecent">ComicsRecent</a>\r
-</li><li>近頃よく投稿されてるコミック/comics/hot → <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsHot">ComicsHot</a>\r
-</li></ul></li></ul><h2 id="h2-.E3.82.B3.E3.83.9E.E3.82.A8.E3.82.AF.E3.82.B9.E3.83.97.E3.83.AD.E3.83.BC.E3.83.A9.E3.83.BC">コマエクスプローラー</h2><ul><li>自分が\r
-<ul><li>最近投稿したコマ/authors/recent_panels → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsRecentPanels">AuthorsRecentPanels</a>\r
-</li><li>最近参照したコマ/authors/referred_panels → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsReferredPanels">AuthorsReferredPanels</a>\r
-</li><li>近頃よく参照するコマ/authors/favorite_panels → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsFavoritePanels">AuthorsFavoritePanels</a>\r
-</li></ul></li><li>誰かが\r
-<ul><li>最近投稿されたコマ/panels/recent → <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsRecent">PanelsRecent</a>\r
-</li><li>最近参照されたコマ/panels/referred → <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsReferred">PanelsReferred</a>\r
-</li><li>近頃よく参照されてるコマ/panels/cool → <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsCool">PanelsCool</a>\r
-</li></ul></li></ul><h2 id="h2-.E7.B4.A0.E6.9D.90.E3.82.A8.E3.82.AF.E3.82.B9.E3.83.97.E3.83.AD.E3.83.BC.E3.83.A9.E3.83.BC">素材エクスプローラー</h2><ul><li>自分が\r
-<ul><li>最近投稿した素材/artists/pictures → <a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsPictures">ArtistsPictures</a>\r
-</li><li>最近参照した素材/authors/referred_pictures → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsReferredPictures">AuthorsReferredPictures</a>\r
-</li><li>近頃よく参照する素材/authors/favorite_pictures → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsFavoritePictures">AuthorsFavoritePictures</a>\r
-</li></ul></li><li>誰かが\r
-<ul><li>最近投稿された素材/resource_pictures/recent → <a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesRecent">ResourcePicturesRecent</a>\r
-</li><li>最近参照された素材/resource_pictures/referred → <a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesReferred">ResourcePicturesReferred</a>\r
-</li><li>近頃よく参照されてる素材/resource_pictures/cool → <a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesCool">ResourcePicturesCool</a>\r
-</li></ul></li></ul><h2 id="h2-.E4.BD.9C.E5.AE.B6.E3.82.A8.E3.82.AF.E3.82.B9.E3.83.97.E3.83.AD.E3.83.BC.E3.83.A9.E3.83.BC">作家エクスプローラー</h2><ul><li>最近コマ投稿した作家/authors/recent → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsRecent">AuthorsRecent</a>\r
-</li><li>最近コマ参照された作家/authors/referred → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsReferred">AuthorsReferred</a>\r
-</li><li>近頃よくコマ投稿している作家/authors/hot → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsHot">AuthorsHot</a>\r
-</li><li>近頃よくコマ参照されてる作家/authors/cool → <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsCool">AuthorsCool</a>\r
-</li></ul><h2 id="h2-.E7.B5.B5.E5.B8.AB.E3.82.A8.E3.82.AF.E3.82.B9.E3.83.97.E3.83.AD.E3.83.BC.E3.83.A9.E3.83.BC">絵師エクスプローラー</h2><ul><li>最近素材投稿した作家/artists/recent → <a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsRecent">ArtistsRecent</a>\r
-</li><li>最近素材参照された作家/artists/referred → <a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsReferred">ArtistsReferred</a>\r
-</li><li>近頃よく素材投稿している作家/artists/hot → <a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsHot">ArtistsHot</a>\r
-</li><li>近頃よく素材参照されてる作家/artists/cool → <a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsCool">ArtistsCool</a>\r
-</li></ul><h2 id="h2-.E3.83.A9.E3.83.99.E3.83.AB.E3.82.A8.E3.82.AF.E3.82.B9.E3.83.97.E3.83.AD.E3.83.BC.E3.83.A9.E3.83.BC">ラベルエクスプローラー</h2><h3 id="h3-.E7.B4.A0.E6.9D.90.E4.B8.80.E8.A6.A7.E3.81.AE.E5.8F.96.E5.BE.97">素材一覧の取得</h3><ul><li>全ての素材の全プロパティの取得\r
-<ul><li>images.json\r
-</li><li>さすがに全件取得は無茶。\r
-</li></ul></li><li>素材データが多い場合、少しづつ取得(って結構めんどくさいかも)\r
-<ul><li>images.json?last=id(最後に貰った素材のID を入れるとその続きから、とか)\r
-</li><li>今のところ20件以内で返す\r
-</li><li>もっと欲しい場合は、pagenateとなるが、あまりcoolとは言えないかも\r
-<ul><li>?page=3 みたいな\r
-</li><li>page=3 を取得中に、新しい素材が追加された場合、index がずれる.→ずれますね\r
-<ul><li>例えば 20 枚でひとつのページを作るけど、最新の ページは必ずしも 20 枚でない、とか?\r
-</li><li>古い素材:page=5 → |20|20|20|20|20|12| ← 新しい素材:page=0 ( 計 112 枚 )\r
-<ul><li>最新順だからpage=5 → |12|20|20|20|20|20| ← page=0 かな。\r
-<ul><li>おおっと、nice! ( itozyun )\r
-</li><li>あとですね、クライアント側としてはもうちょい多くてもいい気がします.\r
-</li></ul></li></ul></li></ul></li></ul></li><li>images.json?tag=penjiro\r
-<ul><li>ユーザーがペン次郎タグの素材のなかから選びたい場合.\r
-</li></ul></li></ul></li></ul><h3 id="h3-.E7.B4.A0.E6.9D.90.E3.81.AE.E6.93.8D.E4.BD.9C">素材の操作</h3><ul><li>素材の追加(アップロード周りは調べます、実はやったことがない、、、)\r
-<ul><li>jsonでやるにはBase64でエンコードしないといかんかも。\r
-</li><li>ぺったんR サイト内では、form 部品のファイルのアップロ-ド ですよね.xml にバイナリファイルを添付するサンプルとかでは、たしか Base64 していたような、、、\r
-</li><li>フォームがある場合は、フォームがやってくれます。curlでやったときはエンコード以外に手がなかった。でもフォームでできたってことは調査不足かも。\r
-</li></ul></li><li>素材の削除  \r
-</li></ul><h3 id="h3-.E7.B4.A0.E6.9D.90.E3.81.AE.E3.83.97.E3.83.AD.E3.83.91.E3.83.86.E3.82.A3.E3.81.AE.E3.82.A2.E3.83.83.E3.83.97.E3.83.87.E3.83.BC.E3.83.88">素材のプロパティのアップデート</h3><ul><li>素材の名前(はとりあえずなしで開発)\r
-</li><li>タグの追加、削除 など\r
-</li></ul><h4 id="h4-.E3.81.B2.E3.81.A8.E3.81.A4.E3.81.AE.E7.B4.A0.E6.9D.90.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E3.82.82.E3.81.A4.E3.83.97.E3.83.AD.E3.83.91.E3.83.86.E3.82.A3">ひとつの素材データのもつプロパティ</h4><ul><li>id\r
-</li><li>filesize\r
-</li><li>tag[]\r
-</li><li>published_at\r
-</li><li>updated_at\r
-</li><li>license\r
-</li></ul><p>→ <a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel">ResourcePictureModel</a> を見る\r
-</p><ul><li>owner ログインユーザーがその素材のオーナーか?\r
-<ul><li>オーナーでないなら、アーティスト の id\r
-</li></ul></li></ul><p>→\r
-</p><ul><li>変更可能なオプションとその変更権がユーザーにあるか?\r
-</li></ul><h2 id="h2-.E3.82.BF.E3.82.B0.E3.81.AE.E6.93.8D.E4.BD.9C">タグの操作</h2><ul><li>タグの追加\r
-</li><li>タグの削除\r
-</li><li>タグの更新\r
-<ul><li>ペン次郎タグがあったけど、ペン太郎に改名したい場合、一つ一つの素材画像のプロパティでなく、タグ自体の名前を変える.\r
-</li></ul></li></ul><h2 id="h2-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.82.A8.E3.82.AF.E3.82.B9.E3.83.97.E3.83.AD.E3.83.BC.E3.83.A9.E3.83.BC">フキダシエクスプローラー</h2><ul><li>フキダシリスト → \r
-</li></ul><h2 id="h2-.E5.8F.B0.E6.9C.AC.E3.82.A8.E3.82.AF.E3.82.B9.E3.83.97.E3.83.AD.E3.83.BC.E3.83.A9.E3.83.BC.EF.BC.9F">台本エクスプローラー?</h2><ul><li>台詞とコマ絵の時系列\r
-</li></ul><h2 id="h2-.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BC.E3.81.AE.E6.83.85.E5.A0.B1">ユーザーの情報</h2><h3 id="h3-.E3.83.AD.E3.82.B0.E3.82.A4.E3.83.B3.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BC.E3.81.AE.E6.83.85.E5.A0.B1.E3.81.AE.E5.8F.96.E5.BE.97">ログインユーザーの情報の取得</h3><ul><li>ユーザー名\r
-</li><li>ユーザーの HP の url\r
-</li><li>デフォルトのライセンス\r
-</li><li>アカウントの状態(作家、絵師、admin)\r
-</li></ul><h3 id="h3-.E3.83.A6.E3.83.BC.E3.82.B6.E3.81.8C.E3.82.84.E3.82.8A.E3.81.9F.E3.81.9D.E3.81.86.E3.81.AA.E3.81.93.E3.81.A8">ユーザがやりたそうなこと</h3><ul><li>自分の素材が何箇所で使われてる?\r
-</li></ul><h3 id="h3-.E3.83.AD.E3.82.B0.E3.82.A4.E3.83.B3.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BC.E3.81.AE.E6.83.85.E5.A0.B1.E3.81.AE.E3.82.A2.E3.83.83.E3.83.97.E3.83.87.E3.83.BC.E3.83.88">ログインユーザーの情報のアップデート</h3><ul><li>ユーザーの HP の url\r
-</li><li>デフォルトのライセンス\r
-</li></ul><p>→jsonでのやり取りは危険なのでサーバが吐くページのフォームからしかできない。\r
-</p><h3 id="h3-.E3.82.A2.E3.83.BC.E3.83.86.E3.82.A3.E3.82.B9.E3.83.88.E3.81.AE.E6.83.85.E5.A0.B1">アーティストの情報</h3><ul><li>パネルピクチャー を併せてどこかに表示される.\r
-</li><li>アーティスト名\r
-</li><li>アーティストの HP の url\r
-</li></ul><h2 id="h2-.E3.83.91.E3.83.8D.E3.83.AB.E3.82.A8.E3.83.87.E3.82.A3.E3.82.BF">パネルエディタ</h2><ul><li>編集しようとしているパネルデータ\r
-</li></ul><h3 id="h3-.E3.83.91.E3.83.8D.E3.83.AB.E3.81.AE.E4.B8.A6.E3.81.B3.E6.9B.BF.E3.81.88">パネルの並び替え</h3><ul><li>パネルのパラメータ\r
-</li><li>パネルの並び替えがユーザーに許可されているか?\r
-<ul><li>コマの並び順ということなら、されている。パネルの更新で時系列tを変える\r
-</li></ul></li><li>パネルの編集がユーザーに許可されているか?\r
-<ul><li>作者以外の投稿ということなら、されている。コミックのeditableが1であれば。\r
-</li></ul></li></ul><h2 id="h2-.E5.80.A4.E5.85.A8.E8.88.AC.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6">値全般について</h2><ul><li>id は 1 から始まりますが、js で Array に突っ込んでいった場合、配列は 0 から始まるので id - 1 しています.配列が 0 からはじまる言語と 1 からはじまる言語があるみたいです.今回 1 から始まるのは DB に由来するのかな?\r
-<pre>Array[0] ~\r
-</pre></li><li>Date について、unixtime なんてどうでしょう?\r
-<pre>&quot;created_at&quot;: &quot;2012-03-27T22:39:22Z&quot;\r
-&quot;created_at&quot;: 1333267360\r
-</pre></li></ul><h2 id="h2-.E3.82.AF.E3.83.A9.E3.82.A4.E3.82.A2.E3.83.B3.E3.83.88.E3.81.A7.E3.81.AE.20json.20.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6">クライアントでの json データについて</h2><ul><li>ユーザーがザクザクとエクスプロールしていくとクライアントにはどんどん object データがたまっていく.最低でも数千件のレコードを持つことは想定していないといけない.\r
-</li><li>最悪データが増えすぎたら一旦破棄して、要求されたら再度 getJson すればいい.でも確か js からマシンの負荷を知る術がないんだよね、、、\r
-</li><li>いずれにしろ、あんまりメモリに負荷がかからないようにデータを蓄えていくことは必須.\r
-<ul><li>Boolean &gt; 数値・オブジェクトへの参照 &gt; 文字列 恐らくこの順番でメモリに優しいので、なるべく文字列自体を持つことはしない.画像の url は必要のタイミングで id(数値)とかから合成する.</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerCreate">\r
-    <title>PanelsControllerCreate</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerCreate</link>\r
-    <dc:identifier>PanelsControllerCreate</dc:identifier>\r
-    <dc:date>2012-04-01T11:51:46+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= create @ PanelsController\r
-作成\r
-=== url\r
- * http://localhost:3000/panels\r
- * http://localhost:3000/panels.json\r
-=== リクエスト\r
-||権限||作家||\r
-||method||post||\r
-||urlパラメータ||なし||\r
-||POSTデータ||json形式またはフォームで||\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-create.20.40.20PanelsController">create @ <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a></h1><p>作成\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/panels" class="external" rel="nofollow">http://localhost:3000/panels</a>\r
-</li><li><a href="http://localhost:3000/panels.json" class="external" rel="nofollow">http://localhost:3000/panels.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>post</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>POSTデータ</td><td>json形式またはフォームで</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsNew">PanelsNew</a>フォームからコマを新規作成するための機能。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>権限をチェックする。\r
-</li><li>POSTデータからpanelデータを起こす。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-</li><li>panelデータを検証し、dbに一つのトランザクションで保存する。\r
-<ul><li>コマの移動チェック。\r
-<ul><li>コマ順panel.tが変更されていればコマ移動。\r
-</li><li>パラメータにpanel.tが設定されていて、起こしたpanel.tと違うことをいう。\r
-</li><li>コマ移動処理は<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelModel">PanelModel</a>を参照する。\r
-</li></ul></li><li>\r
-</li></ul></li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><p>なし\r
-</p><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><ul><li>通常はpanelで与える。しかし、フォームを使った送信は関連モデルのネスト表現で難儀があるので、抜け道的にjson文字列で受け取れるようにもしてある。\r
-</li></ul><h4 id="h4-panel.20.E2.86.92PanelsControllerNew">panel →<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerNew">PanelsControllerNew</a></h4><ul><li>panel\r
-<ul><li>comic_id\r
-</li><li>width\r
-</li><li>height\r
-</li><li>border\r
-</li><li>t\r
-</li></ul></li></ul><h4 id="h4-json">json</h4><ul><li>comic_id\r
-</li><li>width\r
-</li><li>height\r
-</li><li>border\r
-</li><li>t\r
-</li></ul><h4 id="h4-auth_token">auth_token</h4><ul><li>jsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E9.80.A3.E6.90.BA.EF.BC.88.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3.EF.BC.89">モデルとの連携(データ補正)</h3><h4 id="h4-POST.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E5.A4.89.E6.8F.9B">POSTデータの変換</h4><p>なし\r
-</p><h4 id="h4-.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3">データ補正</h4><ul><li>author_id\r
-<ul><li>操作中の作家のidをauthor_idとする。\r
-</li></ul></li></ul><h4 id="h4-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.BC.E3.83.95.E3.82.A7.E3.82.A4.E3.82.B9">モデルとのインターフェイス</h4><ul><li>panel\r
-</li><li>author_id\r
-</li></ul><h4 id="h4-.E6.A4.9C.E8.A8.BC">検証</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelModel">PanelModel</a>の検証を行う。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>作成されたパネルデータを返す。\r
-<ul><li>htmlなら、作成されたパネルが所属するコミックの閲覧ページに遷移する。\r
-<ul><li>最新のコマ10件を指定する。\r
-</li></ul></li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><p>json時のデータ階層\r
-</p><ul><li>comic\r
-</li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>他人のコミックで非公開だった。\r
-<ul><li>htmlなら、forbiddenページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li><li>他人のコミックで一般投稿editableが不可だった。\r
-<ul><li>htmlなら、コミック閲覧ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden \r
-</li></ul></li></ul></li><li>検証、保存に失敗した\r
-<ul><li>htmlなら、コミック閲覧ページを描画する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは422 unprocessable_entity\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost">\r
-    <title>TestLocalhost</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost</link>\r
-    <dc:identifier>TestLocalhost</dc:identifier>\r
-    <dc:date>2012-03-31T18:22:27+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= Localhost でのテストについて\r
-ローカルPCに用意された ぺったんR サーバで サーバ・クライアントの結合テストを行います.\r
-\r
-ローカルへの ぺったんR サーバのインストールについては次のページを参照しましょう.HowToInstall\r
-== 12/03/31\r
- * ブランチ master\r
- * pettanR サーバ version 0.3\r
- * pettanR クライ]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-Localhost.20.E3.81.A7.E3.81.AE.E3.83.86.E3.82.B9.E3.83.88.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6">Localhost でのテストについて</h1><p>ローカルPCに用意された ぺったんR サーバで サーバ・クライアントの結合テストを行います.\r
-</p><p>ローカルへの ぺったんR サーバのインストールについては次のページを参照しましょう.<a href="http://sourceforge.jp/projects/pettanr/wiki/HowToInstall">HowToInstall</a>\r
-</p><h2 id="h2-12.2F03.2F31">12/03/31</h2><ul><li>ブランチ master\r
-</li><li>pettanR サーバ version 0.3\r
-</li><li>pettanR クライアント version 0.4.8\r
-</li></ul><div class="embed-image embed-image-left" style="float: left;"><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/attach/pettanR_120331.gif"><img src="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/thumb/240x240/pettanR_120331.gif" alt="pettanR_120331.gif" id="emb-pettanR_120331.gif-1" title="Create New Comic" class="embed-image embed-image-left" width="239" height="186"></a><div class="caption"><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/attach/pettanR_120331.gif">Create New Comic</a></div></div><p>\r
-コミックの新規追加が動作.アップローダと新規コミック追加のデザインの見直し.この他にサーバ側コードのアップデートに併せて、\r
-</p><ul><li>コミック一覧の取得 と コミックをクリックしたときにコミックの持つパネル一覧の取得\r
-</li><li>画像一覧の取得を resoure_pictures.json に変更.My Pictures をクリックすると original_pictures.json からユーザーの画像一覧の取得.(適切ではないかも)\r
-</li></ul><p>ちなみに画像は ie6 での動作画面で、localhost の場合 ActiveX を切る、という(僕の)設定のため 透過表示が行えないその画面は他のクライアントとは大分異なる.\r
-<br clear="left" />\r
-</p><h2 id="h2-12.2F03.2F25">12/03/25</h2><ul><li>ブランチ v03_marge_js\r
-</li><li>pettanR サーバ version 0.3\r
-</li><li>pettanR クライアント version 0.4.5<del>4(数字上げ忘れた、、、)</del>\r
-</li></ul><div class="embed-image embed-image-left" style="float: left;"><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/attach/pettanR_120325.png"><img src="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/thumb/240x240/pettanR_120325.png" alt="pettanR_120325.png" id="emb-pettanR_120325.png-1" title="Home" class="embed-image embed-image-left" width="240" height="128"></a><div class="caption"><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/attach/pettanR_120325.png">Home</a></div></div><p>\r
-画像のアップロード をクリックすると アップローダーのコンソールが開きます.エクスプローラへの統合はこれから、、、\r
-</p><p>プロジェクトの Web ページで確認したい場合は次の url から.\r
-<a href="http://pettanr.sourceforge.jp/work.html?exjson=false" class="external" rel="nofollow">http://pettanr.sourceforge.jp/work.html?exjson=false</a>\r
-<br clear="left" />\r
-</p><div class="embed-image embed-image-left" style="float: left;"><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/attach/pettanR_120325_2.png"><img src="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/thumb/240x240/pettanR_120325_2.png" alt="pettanR_120325_2.png" id="emb-pettanR_120325_2.png-1" title="Uploade console" class="embed-image embed-image-left" width="240" height="128"></a><div class="caption"><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/attach/pettanR_120325_2.png">Uploade console</a></div></div><p>\r
-Firefox3.6, ie6,7,8 で チェック、動作を確認しました.<del>それと localhost では問題ないのに、ローカルの work.html から画像のアップロードを開くと IETester の ie6, 7 がクラッシュしてしまうんですが、、、</del> 解決.jQuery で fadein している要素に対して script の追加を行っていたため.(ActiveX と script の appendChild があわさるとまずいみたい)\r
-<br clear="left" />\r
-</p><h2 id="h2-12.2F03.2F17">12/03/17</h2><ul><li>ブランチ v03_marge_js\r
-</li><li>pettanR サーバ version 0.3\r
-</li><li>pettanR クライアント version 0.4.4\r
-</li></ul><div class="embed-image embed-image-left" style="float: left;"><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/attach/pettanR_120317.png"><img src="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/thumb/240x240/pettanR_120317.png" alt="pettanR_120317.png" id="emb-pettanR_120317.png-1" title="Sign in" class="embed-image embed-image-left" width="240" height="94"></a><div class="caption"><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/attach/pettanR_120317.png">Sign in</a></div></div><p>\r
-サーバ側で用意した html タグは一旦 #entrance 内に出力するようになっている.ページ上部の Home を押すとこの内容が表示される.Comic list 及び Picture を押すと <a href="http://localhost:3000/panels.json" class="external" rel="nofollow">http://localhost:3000/panels.json</a> などにアクセスし、その内容を表示する.\r
-<br clear="left" />\r
-</p><div class="embed-image embed-image-left" style="float: left;"><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/attach/pettanR_120317_2.png"><img src="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/thumb/240x240/pettanR_120317_2.png" alt="pettanR_120317_2.png" id="emb-pettanR_120317_2.png-1" title="finder pictures" class="embed-image embed-image-left" width="240" height="152"></a><div class="caption"><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost/attach/pettanR_120317_2.png">finder pictures</a></div></div><p>\r
-<a href="http://localhost:3000/resource_pictures" class="external" rel="nofollow">http://localhost:3000/resource_pictures</a> のフォームから画像のアップロードでき(現在はリンクがないので、アドレスバーに直に打ち込んで移動)、更新された <a href="http://localhost:3000/original_pictures.json" class="external" rel="nofollow">http://localhost:3000/original_pictures.json</a> を取得してエクスプローラに表示することも成功.\r
-</p><p>但し ローカル環境は、RMagick でなく DMagick のため、サムネイル表示はされない.参照 <a href="http://sourceforge.jp/projects/pettanr/wiki/RmagickAndDmagick">RmagickAndDmagick</a>\r
-<br clear="left" /></p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlay">\r
-    <title>ComicsPlay</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsPlay</link>\r
-    <dc:identifier>ComicsPlay</dc:identifier>\r
-\r
-    <dc:date>2012-03-31T16:56:50+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= play @ ComicsController\r
-コミック閲覧。コミックを読むための機能。\r
-=== url\r
- * http://localhost:3000/comics/1/play\r
- * http://localhost:3000/comics/1.json/play\r
-=== リクエスト\r
-||権限||作家*||\r
-||method||get||\r
-||urlパラメータ||id{,]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-play.20.40.20ComicsController">play @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a></h1><p>コミック閲覧。コミックを読むための機能。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/comics/1/play" class="external" rel="nofollow">http://localhost:3000/comics/1/play</a>\r
-</li><li><a href="http://localhost:3000/comics/1.json/play" class="external" rel="nofollow">http://localhost:3000/comics/1.json/play</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家*</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>id{,offset=0,count=30}</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>コミックにつながっているコマを指定されたオフセット位置からコマ数だけ時系列t順に表示する。コマ上の部品はまとめて取得する。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>comicモデルに単体取得を問い合わせ、その結果を対象コミックとして取得する。\r
-<ul><li>要求されたidと作家アカウントを渡す。\r
-</li></ul></li><li>取得したデータを返す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-offset">offset</h4><ul><li>指定した数のコマだけ飛ばして表示を始める。\r
-<ul><li>offset=3のときはコミック開始から数えて4コマ目から表示される。\r
-</li></ul></li><li>省略時は0。\r
-</li><li>投稿されたコマ数以上の値が指定されたときは、最後のコマだけが表示される。\r
-</li><li>負の値が指定されたときは、最後のコマから数えてコマを飛ばして表示する。\r
-<ul><li>-4のときは、最後から4つのコマを表示する。\r
-</li></ul></li><li>最終的なが負になるなど、不正な値が入ったときは0となる。\r
-</li></ul><h4 id="h4-count">count</h4><ul><li>指定した数だけコマを表示する。\r
-</li><li>省略時は30。\r
-</li><li>最大値は200で、それ以上多い値が指定されたときは、最大値に切り詰められる。\r
-</li><li>負の値が指定されたときは、デフォルト値となる。\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlのとき、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。\r
-</li><li>jsonのとき、ステータスコード200 OKとともに、json構造のデータを返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlayView">ComicsPlayView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise)\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。\r
-</li><li>ただし、オープンモードで起動しているなら、サインインの必要はないので例外とはならない。\r
-</li></ul></li><li>対象コミックがなかった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>)\r
-<ul><li>htmlなら、例外404 not_foundを返す\r
-</li><li>jsonなら、例外404 not_foundを返す\r
-</li></ul></li><li>他人の非公開コミックだった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>)\r
-<ul><li>例外403 forbiddenを返す\r
-</li><li>例外403 forbiddenを返す\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlayView">\r
-    <title>ComicsPlayView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsPlayView</link>\r
-    <dc:identifier>ComicsPlayView</dc:identifier>\r
-    <dc:date>2012-03-31T16:34:12+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= コミック閲覧表示 @ ComicsView\r
-参考:ComicsPlay\r
-== htmlのとき\r
- * comic (*)\r
-   * author (*)\r
-== jsonのとき\r
-このときcomicモデルの単体出力オプションを利用する。\r
- * comic (*)\r
-   * author (*)\r
-== コマの部品の扱い方\r
-コマ上の部品であるコマ絵とフキダシは時系列tでソートして返さ]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E9.96.B2.E8.A6.A7.E8.A1.A8.E7.A4.BA.20.40.20ComicsView">コミック閲覧表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsView">ComicsView</a></h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlay">ComicsPlay</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><ul><li>comic (*)\r
-<ul><li>author (*)\r
-</li></ul></li></ul><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><p>このときcomicモデルの単体出力オプションを利用する。\r
-</p><ul><li>comic (*)\r
-<ul><li>author (*)\r
-</li></ul></li></ul><h2 id="h2-.E3.82.B3.E3.83.9E.E3.81.AE.E9.83.A8.E5.93.81.E3.81.AE.E6.89.B1.E3.81.84.E6.96.B9">コマの部品の扱い方</h2><p>コマ上の部品であるコマ絵とフキダシは時系列tでソートして返さなければならない。表示的にはすべてが時間で上から下に流れるのがぺったんRの仕様である。しかし、sqlでは二つのテーブルを混ぜてソートはできないので時系列順に配置しなおして(配列のキーをtにして)戻さなければならない。balloons配下のspeachesも同様にtでソートしておくが、こちらはコマの部品のように複数オブジェクトにまたがらないので、配列に置き直すまでもなく、ただのソートでよい。\r
-<pre>panels: [\r
-  {\r
-    id: 1, width: 100, height: 100,\r
-    panel_elements: [\r
-      balloons: {t: 0, ...},\r
-      panel_pictures: {t: 1, ...},\r
-      balloons: {t: 2, speaches: [{t: 0,...}, {t:1,...}]},\r
-      panel_pictures: {t: 3, ...},\r
-    ]\r
-  }, \r
-  {...}\r
-]\r
-</pre></p><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><ul><li>下記のカラムを表示する場合、表示義務が発生する。\r
-<ul><li>comic.title\r
-</li><li>panelsのすべてのカラムと配下のmodelのすべてのカラム\r
-</li></ul></li><li>comic.titleを表示しなければならない。\r
-</li><li>comic.author.nameを表示しなければならない。\r
-</li><li>すべてのpanelsについて、panel.authorを表示しなければならない。\r
-<ul><li>ただし、すべてのコマの作家が同一であれば、一つにまとめてよい。\r
-</li></ul></li><li>すべてのresource_pictureについて、次のカラムを表示しなければならない。\r
-<ul><li>artistの名前\r
-</li><li>licenseの名前\r
-</li><li>ただし、同一素材が複数枚出現するときは、それらを一つにまとめてよい。\r
-</li></ul></li><li>下記のModelについて、より詳細な情報を閲覧できるページへ遷移する措置を用意しなければならない。\r
-<ul><li>comic.author\r
-</li><li>panel.author\r
-</li><li>resource_picture.artist\r
-</li><li>resource_picture.license\r
-</li></ul></li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3><ul><li>最新投稿日時は表示したほうが良い。\r
-</li><li>公開フラグ\r
-</li><li>一般投稿可否フラグ\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsShowView">\r
-    <title>ComicsShowView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsShowView</link>\r
-\r
-    <dc:identifier>ComicsShowView</dc:identifier>\r
-    <dc:date>2012-03-31T16:32:57+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= コミック単体表示 @ ComicsView\r
-参考:ComicsShow\r
-== htmlのとき\r
- * comic (*)\r
-   * author (*)\r
-== jsonのとき\r
-このときcomicモデルの単体出力オプションを利用する。\r
- * comic (*)\r
-   * author (*)\r
-== 表示\r
-=== 表示義務\r
- * 下記のカラムを表示する場合、表示義務が発生する。]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E5.8D.98.E4.BD.93.E8.A1.A8.E7.A4.BA.20.40.20ComicsView">コミック単体表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsView">ComicsView</a></h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsShow">ComicsShow</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><ul><li>comic (*)\r
-<ul><li>author (*)\r
-</li></ul></li></ul><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><p>このときcomicモデルの単体出力オプションを利用する。\r
-</p><ul><li>comic (*)\r
-<ul><li>author (*)\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><ul><li>下記のカラムを表示する場合、表示義務が発生する。\r
-<ul><li>title\r
-</li></ul></li><li>comic.titleを表示しなければならない。\r
-</li><li>author.nameを表示しなければならない。\r
-</li><li>下記のModelについて、より詳細な情報を閲覧できるページへ遷移する措置を用意しなければならない。\r
-<ul><li>author\r
-</li></ul></li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEditView">\r
-    <title>OriginalPicturesEditView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEditView</link>\r
-    <dc:identifier>OriginalPicturesEditView</dc:identifier>\r
-    <dc:date>2012-03-31T15:57:56+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= 原画編集フォーム表示 @ OriginalPicturesView\r
-参考:OriginalPicturesEdit\r
-== フォーム\r
-フォームに含めるべき項目は次の通り。\r
- * original_picture\r
-   * file\r
-   * license_id\r
-参考:OriginalPictureModel\r
-== htmlのとき\r
- * フォームの表示に必要な選択リストを取得す]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E5.8E.9F.E7.94.BB.E7.B7.A8.E9.9B.86.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0.E8.A1.A8.E7.A4.BA.20.40.20OriginalPicturesView">原画編集フォーム表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesView">OriginalPicturesView</a></h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEdit">OriginalPicturesEdit</a>\r
-</p><h2 id="h2-.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0">フォーム</h2><p>フォームに含めるべき項目は次の通り。\r
-</p><ul><li>original_picture\r
-<ul><li>file\r
-</li><li>license_id\r
-</li></ul></li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><ul><li>フォームの表示に必要な選択リストを取得する。\r
-<ul><li>licensesのidとnameをname順に取得する。\r
-</li></ul></li><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><p>このとき原画モデルの一覧出力オプションを利用する。\r
-</p><ul><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><ul><li>本人だけしか閲覧できないので、義務は発生しない。\r
-</li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNewView">\r
-    <title>OriginalPicturesNewView</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNewView</link>\r
-    <dc:identifier>OriginalPicturesNewView</dc:identifier>\r
-    <dc:date>2012-03-31T15:57:12+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 原画新規フォーム表示 @ OriginalPicturesView\r
-参考:OriginalPicturesNew\r
-== フォーム\r
-フォームに含めるべき項目は次の通り。\r
- * original_picture\r
-   * file\r
-   * license_id\r
-参考:OriginalPictureModel\r
-== htmlのとき\r
- * フォーム内の選択リストを取得する。\r
-  ]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E5.8E.9F.E7.94.BB.E6.96.B0.E8.A6.8F.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0.E8.A1.A8.E7.A4.BA.20.40.20OriginalPicturesView">原画新規フォーム表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesView">OriginalPicturesView</a></h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNew">OriginalPicturesNew</a>\r
-</p><h2 id="h2-.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0">フォーム</h2><p>フォームに含めるべき項目は次の通り。\r
-</p><ul><li>original_picture\r
-<ul><li>file\r
-</li><li>license_id\r
-</li></ul></li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><ul><li>フォーム内の選択リストを取得する。\r
-<ul><li>licensesのidとnameをname順に取得する。\r
-</li></ul></li><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><p>このとき原画モデルの一覧出力オプションを利用する。\r
-</p><ul><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><ul><li>本人だけしか閲覧できないので、義務は発生しない。\r
-</li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreateView">\r
-    <title>OriginalPicturesCreateView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreateView</link>\r
-    <dc:identifier>OriginalPicturesCreateView</dc:identifier>\r
-\r
-    <dc:date>2012-03-31T15:54:44+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[== 原画新規作成表示 @ OriginalPicturesView\r
-参考:OriginalPicturesCreate\r
-== htmlのとき\r
- * original_pictures\r
-   * license\r
-== jsonのとき\r
-このとき原画モデルの一覧出力オプションを利用する。\r
- * original_pictures\r
-   * license\r
-== 表示\r
- * 本人だけ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E5.8E.9F.E7.94.BB.E6.96.B0.E8.A6.8F.E4.BD.9C.E6.88.90.E8.A1.A8.E7.A4.BA.20.40.20OriginalPicturesView">原画新規作成表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesView">OriginalPicturesView</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreate">OriginalPicturesCreate</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><ul><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><p>このとき原画モデルの一覧出力オプションを利用する。\r
-</p><ul><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><ul><li>本人だけしか閲覧できないので、義務は発生しない。\r
-</li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdateView">\r
-    <title>OriginalPicturesUpdateView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdateView</link>\r
-    <dc:identifier>OriginalPicturesUpdateView</dc:identifier>\r
-    <dc:date>2012-03-31T15:52:34+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[== 原画更新表示 @ OriginalPicturesView\r
-参考:OriginalPicturesUpdate\r
-== htmlのとき\r
- * original_pictures\r
-   * license\r
-== jsonのとき\r
-このとき原画モデルの一覧出力オプションを利用する。\r
- * original_pictures\r
-   * license\r
-== 表示\r
- * 本人だけしか]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E5.8E.9F.E7.94.BB.E6.9B.B4.E6.96.B0.E8.A1.A8.E7.A4.BA.20.40.20OriginalPicturesView">原画更新表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesView">OriginalPicturesView</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdate">OriginalPicturesUpdate</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><ul><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><p>このとき原画モデルの一覧出力オプションを利用する。\r
-</p><ul><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><ul><li>本人だけしか閲覧できないので、義務は発生しない。\r
-</li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdate">\r
-    <title>OriginalPicturesUpdate</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdate</link>\r
-\r
-    <dc:identifier>OriginalPicturesUpdate</dc:identifier>\r
-    <dc:date>2012-03-31T15:46:51+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= update @ OriginalPicturesController\r
-原画の更新。\r
-=== url\r
- * http://localhost:3000/original_pictures/1\r
- * http://localhost:3000/original_pictures/1.json\r
-=== リクエスト\r
-||権限||オーナー絵師||\r
-||method||put||\r
-||u]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-update.20.40.20OriginalPicturesController">update @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a></h1><p>原画の更新。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/original_pictures/1" class="external" rel="nofollow">http://localhost:3000/original_pictures/1</a>\r
-</li><li><a href="http://localhost:3000/original_pictures/1.json" class="external" rel="nofollow">http://localhost:3000/original_pictures/1.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>オーナー絵師</td></tr><tr><td>method</td><td>put</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式またはフォームで</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEdit">OriginalPicturesEdit</a>フォームから原画を更新するための機能。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>作家アカウントから絵師データを取得する。\r
-</li><li>原画モデルに単体取得を問い合わせ、その結果を対象原画として取得する。\r
-<ul><li>要求されたidと作家アカウントを渡す。\r
-</li></ul></li><li>対象原画のデータを与えられたPOSTデータで置き換える。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-</li><li>原画モデルにデータの検証と更新を依頼する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>編集の対象となる原画のid\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-original_picture.20.E5.8E.9F.E7.94.BB.E6.83.85.E5.A0.B1">original_picture 原画情報</h4><ul><li>file\r
-<ul><li>原画となる画像ファイルのバイナリデータ。\r
-</li></ul></li><li>license_id\r
-<ul><li>原画に採択したライセンスのid\r
-</li></ul></li></ul><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E9.80.A3.E6.90.BA.EF.BC.88.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3.EF.BC.89">モデルとの連携(データ補正)</h3><h4 id="h4-POST.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E5.A4.89.E6.8F.9B">POSTデータの変換</h4><p>なし\r
-</p><h4 id="h4-.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3">データ補正</h4><ul><li>artist_id\r
-<ul><li>操作中の作家をauthorとする。\r
-</li><li>authorからartistを得、artist.idを取得し、artist_idとする。\r
-</li></ul></li></ul><h4 id="h4-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.BC.E3.83.95.E3.82.A7.E3.82.A4.E3.82.B9">モデルとのインターフェイス</h4><ul><li>file\r
-</li><li>license_id\r
-</li><li>{artist_id}\r
-</li></ul><h4 id="h4-.E6.A4.9C.E8.A8.BC">検証</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>の検証を行う。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlのとき、ステータスコード302 Foundとともに、更新された原画の閲覧(show)ページに遷移する。\r
-</li><li>jsonのとき、ステータスコード200 OKを返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdateView">OriginalPicturesUpdateView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise) \r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。\r
-</li></ul></li><li>絵師登録してなかった。\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、絵師登録を促すページ(/artists/new)へ遷移する。\r
-</li><li>jsonなら、例外403 forbiddenを返す \r
-</li></ul></li><li>対象原画がなかった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>) \r
-<ul><li>htmlなら、例外404 not_foundを返す\r
-</li><li>jsonなら、例外404 not_foundを返す\r
-</li></ul></li><li>他人の原画だった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>) \r
-<ul><li>htmlなら、例外403 forbiddenを返す\r
-</li><li>jsonなら、例外403 forbiddenを返す\r
-</li></ul></li><li>検証、保存に失敗した\r
-<ul><li>htmlなら、ステータスコード200 OKとともに、編集ページを描画する。\r
-<ul><li>パラメータで渡された原画データを入力フォームに保持している。\r
-</li></ul></li><li>jsonなら、ステータスコード422 unprocessable_entityを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdate">\r
-    <title>ComicsUpdate</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdate</link>\r
-    <dc:identifier>ComicsUpdate</dc:identifier>\r
-    <dc:date>2012-03-31T15:42:42+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= update @ ComicsController\r
-更新\r
-=== url\r
- * http://localhost:3000/comics/1\r
- * http://localhost:3000/comics/1.json\r
-=== リクエスト\r
-||権限||作家||\r
-||method||put||\r
-||urlパラメータ||id||\r
-||POSTデータ||json形式またはフォームで]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-update.20.40.20ComicsController">update @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a></h1><p>更新\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/comics/1" class="external" rel="nofollow">http://localhost:3000/comics/1</a>\r
-</li><li><a href="http://localhost:3000/comics/1.json" class="external" rel="nofollow">http://localhost:3000/comics/1.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>put</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式またはフォームで</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsEdit">ComicsEdit</a>フォームからコミックデータを更新するための機能。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>comicモデルに単体取得を問い合わせ、その結果を対象コミックとして取得する。\r
-<ul><li>要求されたidと作家アカウントを渡す。\r
-</li></ul></li><li>対象コミックのデータを与えられたPOSTデータで置き換える。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-</li><li>comicモデルにデータの検証と更新を依頼する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>編集の対象となるコミックのid\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-comic.20.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E6.83.85.E5.A0.B1">comic コミック情報</h4><ul><li>title\r
-</li><li>width\r
-</li><li>height\r
-</li><li>visible\r
-</li><li>editable\r
-</li></ul><h4 id="h4-auth_token">auth_token</h4><ul><li>jsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E9.80.A3.E6.90.BA.EF.BC.88.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3.EF.BC.89">モデルとの連携(データ補正)</h3><h4 id="h4-POST.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E5.A4.89.E6.8F.9B">POSTデータの変換</h4><p>なし\r
-</p><h4 id="h4-.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3">データ補正</h4><ul><li>author_id\r
-<ul><li>操作中の作家のidをauthor_idとする。\r
-</li></ul></li></ul><h4 id="h4-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.BC.E3.83.95.E3.82.A7.E3.82.A4.E3.82.B9">モデルとのインターフェイス</h4><ul><li>title\r
-</li><li>width\r
-</li><li>height\r
-</li><li>visible\r
-</li><li>editable\r
-</li></ul><h4 id="h4-.E6.A4.9C.E8.A8.BC">検証</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>の検証を行う。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlのとき、ステータスコード302 Foundとともに、更新されたコミックの閲覧(show)ページに遷移する。\r
-</li><li>jsonのとき、ステータスコード200 OKを返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdateView">ComicsUpdateView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise) \r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。\r
-</li><li>ただし、オープンモードで起動しているなら、サインインの必要はないので例外とはならない。\r
-</li></ul></li><li>対象コミックがなかった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>) \r
-<ul><li>htmlなら、例外404 not_foundを返す\r
-</li><li>jsonなら、例外404 not_foundを返す\r
-</li></ul></li><li>他人のコミックだった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>) \r
-<ul><li>例外403 forbiddenを返す\r
-</li><li>例外403 forbiddenを返す\r
-</li></ul></li><li>検証、保存に失敗した\r
-<ul><li>htmlなら、ステータスコード200 OKとともに、編集ページを描画する。\r
-<ul><li>パラメータで渡されたコミックデータを入力フォームに保持している。\r
-</li></ul></li><li>jsonなら、ステータスコード422 unprocessable_entityを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEdit">\r
-    <title>OriginalPicturesEdit</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEdit</link>\r
-    <dc:identifier>OriginalPicturesEdit</dc:identifier>\r
-    <dc:date>2012-03-31T15:38:19+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= edit @ OriginalPicturesController\r
-編集フォームの表示。\r
-=== url\r
- * http://localhost:3000/original_pictures/1/edit\r
- * http://localhost:3000/original_pictures/1/edit.js\r
-=== リクエスト\r
-||権限||オーナー絵師||\r
-||method||]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-edit.20.40.20OriginalPicturesController">edit @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a></h1><p>編集フォームの表示。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/original_pictures/1/edit" class="external" rel="nofollow">http://localhost:3000/original_pictures/1/edit</a>\r
-</li><li><a href="http://localhost:3000/original_pictures/1/edit.js" class="external" rel="nofollow">http://localhost:3000/original_pictures/1/edit.js</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>オーナー絵師</td></tr><tr><td>method</td><td>GET</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td></td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>×</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>原画を更新するための入力フォームを、指定されたidのデータを埋めたページで表示する。このアクションが返すフォームに対し、ユーザが入力して送信ボタンを押すことで、更新アクション<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdate">OriginalPicturesUpdate</a>が起動され、指定の行が更新される。だから、フォームの表示のみの処理だけで、これといったdb処理はない。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>作家アカウントから絵師データを取得する。\r
-</li><li>原画モデルに単体取得を問い合わせ、その結果を対象原画として取得する。\r
-<ul><li>要求されたidと作家アカウントを渡す。 \r
-</li></ul></li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>編集を加えたい原画のid。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlなら、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。 \r
-</li><li>jsなら、ステータスコード200 OKとともに、部分テンプレートから起こしたページ部品を返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEditView">OriginalPicturesEditView</a> \r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise)\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。\r
-</li></ul></li><li>絵師登録してなかった。\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、絵師登録を促すページ(/artists/new)へ遷移する。\r
-</li><li>jsなら、ステータスコード200 OKとともに、絵師登録部分テンプレートを返す。\r
-</li></ul></li><li>指定されたidが存在しなかった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>) \r
-<ul><li>htmlなら、例外404 not_foundを返す。\r
-</li><li>jsonなら、例外404 not_foundを返す。\r
-</li></ul></li><li>他人の原画だった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>) \r
-<ul><li>htmlなら、例外403 forbiddenを返す。\r
-</li><li>jsonなら、例外403 forbiddenを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsEdit">\r
-    <title>ComicsEdit</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsEdit</link>\r
-    <dc:identifier>ComicsEdit</dc:identifier>\r
-\r
-    <dc:date>2012-03-31T15:38:14+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= edit @ ComicsController\r
-編集\r
-=== url\r
- * http://localhost:3000/comics/1/edit\r
- * http://localhost:3000/comics/1/edit.js\r
-=== リクエスト\r
-||権限||作家||\r
-||method||GET||\r
-||urlパラメータ||id||\r
-||POSTデータ||json形式*|]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-edit.20.40.20ComicsController">edit @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a></h1><p>編集\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/comics/1/edit" class="external" rel="nofollow">http://localhost:3000/comics/1/edit</a>\r
-</li><li><a href="http://localhost:3000/comics/1/edit.js" class="external" rel="nofollow">http://localhost:3000/comics/1/edit.js</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>GET</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>×</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>コミック情報を更新するための入力フォームを、指定されたidのデータを埋めたページで表示する。このアクションが返すフォームに対し、ユーザが入力して送信ボタンを押すことで、更新アクション<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdate">ComicsUpdate</a>が起動され、指定の行が更新される。だから、フォームの表示のみの処理だけで、これといったdb処理はない。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>comicモデルに単体取得を問い合わせ、その結果を対象コミックとして取得する。\r
-<ul><li>要求されたidと作家アカウントを渡す。 \r
-</li></ul></li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>編集を加えたいコミックのid。\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>jsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlなら、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。 \r
-</li><li>jsなら、ステータスコード200 OKとともに、部分テンプレートから起こしたページ部品を返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsEditView">ComicsEditView</a> \r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise)\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。 \r
-</li></ul></li><li>指定されたidが存在しなかった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>)\r
-<ul><li>htmlなら、例外404 not_foundを返す。\r
-</li><li>jsonなら、例外404 not_foundを返す。\r
-</li></ul></li><li>他人のコミックだった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>)\r
-<ul><li>htmlなら、例外403 forbiddenを返す。\r
-</li><li>jsonなら、例外403 forbiddenを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsCreate">\r
-    <title>ComicsCreate</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsCreate</link>\r
-    <dc:identifier>ComicsCreate</dc:identifier>\r
-    <dc:date>2012-03-31T15:33:36+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= create @ ComicsController\r
-作成\r
-=== url\r
- * http://localhost:3000/comics\r
- * http://localhost:3000/comics.json\r
-=== リクエスト\r
-||権限||作家||\r
-||method||post||\r
-||urlパラメータ||なし||\r
-||POSTデータ||json形式またはフォームで||\r
-]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-create.20.40.20ComicsController">create @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a></h1><p>作成\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/comics" class="external" rel="nofollow">http://localhost:3000/comics</a>\r
-</li><li><a href="http://localhost:3000/comics.json" class="external" rel="nofollow">http://localhost:3000/comics.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>post</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>POSTデータ</td><td>json形式またはフォームで</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsNew">ComicsNew</a>フォームからコミックを新規作成するための機能。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>POSTデータからcomicデータを起こす。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-</li><li>comicモデルにデータの検証と保存を依頼する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><p>なし\r
-</p><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-comic.20.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E2.86.92ComicModel">comic コミック→<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a></h4><ul><li>title\r
-</li><li>width\r
-</li><li>height\r
-</li><li>visible\r
-</li><li>editable\r
-</li></ul><h4 id="h4-auth_token">auth_token</h4><ul><li>jsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E9.80.A3.E6.90.BA.EF.BC.88.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3.EF.BC.89">モデルとの連携(データ補正)</h3><h4 id="h4-POST.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E5.A4.89.E6.8F.9B">POSTデータの変換</h4><p>なし\r
-</p><h4 id="h4-.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3">データ補正</h4><ul><li>author_id\r
-<ul><li>操作中の作家のidをauthor_idとする。\r
-</li></ul></li></ul><h4 id="h4-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.BC.E3.83.95.E3.82.A7.E3.82.A4.E3.82.B9">モデルとのインターフェイス</h4><ul><li>title\r
-</li><li>width\r
-</li><li>height\r
-</li><li>visible\r
-</li><li>editable\r
-</li><li>author_id\r
-</li></ul><h4 id="h4-.E6.A4.9C.E8.A8.BC">検証</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>の検証を行う。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlのとき、ステータスコード302 Foundとともに、作成されたコミックの閲覧(show)ページに遷移する。\r
-</li><li>jsonのとき、ステータスコード200 OKとともに、json構造のデータを返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsCreateView">ComicsCreateView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise)\r
-<ul><li>htmlなら、ステータスコード302 Foundとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsonなら、ステータスコード401 Unauthorizedとともに、応答メッセージにUnauthorizedを返す。\r
-</li></ul></li><li>検証、保存に失敗した\r
-<ul><li>htmlなら、ステータスコード200 OKとともに、新規ページを描画する。\r
-<ul><li>パラメータで渡されたコミックデータを入力フォームに保持している。\r
-</li></ul></li><li>jsonなら、ステータスコード422 unprocessable_entityを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsNew">\r
-    <title>ComicsNew</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsNew</link>\r
-\r
-    <dc:identifier>ComicsNew</dc:identifier>\r
-    <dc:date>2012-03-31T15:31:46+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= new @ ComicsController\r
-新規作成フォームの表示。\r
-=== url\r
- * http://localhost:3000/comics/new\r
- * http://localhost:3000/comics/new.json\r
- * http://localhost:3000/comics/new.js\r
-=== リクエスト\r
-||権限||作家||\r
-||method|]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-new.20.40.20ComicsController">new @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a></h1><p>新規作成フォームの表示。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/comics/new" class="external" rel="nofollow">http://localhost:3000/comics/new</a>\r
-</li><li><a href="http://localhost:3000/comics/new.json" class="external" rel="nofollow">http://localhost:3000/comics/new.json</a>\r
-</li><li><a href="http://localhost:3000/comics/new.js" class="external" rel="nofollow">http://localhost:3000/comics/new.js</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>GET</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>コミック表紙を作成するための入力フォームをまっさらなページで表示する。このアクションが返すフォームに対し、ユーザが入力して送信ボタンを押すことで、作成アクション<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsCreate">ComicsCreate</a>が起動され、新規の行が作成される。だから、フォームの表示のみの処理だけで、これといったdb処理はない。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>コミックモデルの初期データを生成する。\r
-</li><li>コミックモデルにデフォルト値を補充してもらう。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><p>なし\r
-</p><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>jsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlなら、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。\r
-</li><li>jsなら、ステータスコード200 OKとともに、部分テンプレートから起こしたページ部品を返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsNewView">ComicsNewView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise) \r
-<ul><li>htmlなら、ステータスコード302 Foundとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsなら、ステータスコード401 Unauthorizedとともに、応答メッセージにUnauthorizedを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShow">\r
-    <title>OriginalPicturesShow</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShow</link>\r
-    <dc:identifier>OriginalPicturesShow</dc:identifier>\r
-    <dc:date>2012-03-31T14:03:33+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= show @ OriginalPicturesController\r
-原画の単票形式表示。\r
-=== url\r
- * http://localhost:3000/original_pictures/1\r
- * http://localhost:3000/original_pictures/1.json\r
- * http://localhost:3000/original_pictures/1.]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-show.20.40.20OriginalPicturesController">show @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a></h1><p>原画の単票形式表示。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/original_pictures/1" class="external" rel="nofollow">http://localhost:3000/original_pictures/1</a>\r
-</li><li><a href="http://localhost:3000/original_pictures/1.json" class="external" rel="nofollow">http://localhost:3000/original_pictures/1.json</a>\r
-</li><li><a href="http://localhost:3000/original_pictures/1.png" class="external" rel="nofollow">http://localhost:3000/original_pictures/1.png</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>オーナー絵師</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>png</td><td>○</td></tr><tr><td>gif</td><td>○</td></tr><tr><td>jpeg</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>原画の情報を得るために使う機能。拡張子が画像フォーマットであれば、画像を返す。それ以外なら行データを返す。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>作家アカウントから絵師データを取得する。\r
-</li><li>原画モデルに単体取得を問い合わせ、その結果を対象原画として取得する。\r
-<ul><li>要求されたidと作家アカウントを渡す。\r
-</li></ul></li><li>取得したデータを返す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>原画のid\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlのとき、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。\r
-</li><li>画像のとき、ステータスコード200 OKとともに、対象原画モデルに画像のバイナリデータをもらって、それを返す。\r
-</li><li>jsonのとき、ステータスコード200 OKとともに、json構造のデータを返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShowView">OriginalPicturesShowView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise)\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。\r
-</li></ul></li><li>絵師登録してなかった。\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、絵師登録を促すページ(/artists/new)へ遷移する。\r
-</li><li>jsonなら、例外403 forbiddenを返す \r
-</li></ul></li><li>対象原画がなかった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>)\r
-<ul><li>htmlなら、例外404 not_foundを返す\r
-</li><li>jsonなら、例外404 not_foundを返す\r
-</li></ul></li><li>他人の原画だった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>)\r
-<ul><li>htmlなら、例外403 forbiddenを返す\r
-</li><li>jsonなら、例外403 forbiddenを返す\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsShow">\r
-    <title>ComicsShow</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsShow</link>\r
-    <dc:identifier>ComicsShow</dc:identifier>\r
-    <dc:date>2012-03-31T14:03:28+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= show @ ComicsController\r
-単票形式\r
-=== url\r
- * http://localhost:3000/comics/1\r
- * http://localhost:3000/comics/1.json\r
-=== リクエスト\r
-||権限||作家*||\r
-||method||get||\r
-||urlパラメータ||id||\r
-||POSTデータ||json形式*||\r
-||]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-show.20.40.20ComicsController">show @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a></h1><p>単票形式\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/comics/1" class="external" rel="nofollow">http://localhost:3000/comics/1</a>\r
-</li><li><a href="http://localhost:3000/comics/1.json" class="external" rel="nofollow">http://localhost:3000/comics/1.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家*</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>クライアントがコミックの情報を得るために使う機能。\r
-ユーザがコミック情報だけをみても、うれしいことはないので、html形式リクエストはほぼ無意味となる。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>comicモデルに単体取得を問い合わせ、その結果を対象コミックとして取得する。\r
-<ul><li>要求されたidと作家アカウントを渡す。\r
-</li></ul></li><li>取得したデータを返す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>コミックのid\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlのとき、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。\r
-</li><li>jsonのとき、ステータスコード200 OKとともに、json構造のデータを返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsShowView">ComicsShowView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise)\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。\r
-</li><li>ただし、オープンモードで起動しているなら、サインインの必要はないので例外とはならない。\r
-</li></ul></li><li>対象コミックがなかった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>)\r
-<ul><li>htmlなら、例外404 not_foundを返す\r
-</li><li>jsonなら、例外404 not_foundを返す\r
-</li></ul></li><li>他人の非公開コミックだった。(<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>)\r
-<ul><li>例外403 forbiddenを返す\r
-</li><li>例外403 forbiddenを返す\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsIndex">\r
-    <title>ComicsIndex</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsIndex</link>\r
-    <dc:identifier>ComicsIndex</dc:identifier>\r
-\r
-    <dc:date>2012-03-31T13:59:16+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= index @ ComicsController\r
-一覧形式\r
-=== url\r
- * http://localhost:3000/comics\r
- * http://localhost:3000/comics.json\r
-=== リクエスト\r
-||権限||作家*||\r
-||method||get||\r
-||urlパラメータ||{page=1,page_size=25}||\r
-||POSTデー]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-index.20.40.20ComicsController">index @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a></h1><p>一覧形式\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/comics" class="external" rel="nofollow">http://localhost:3000/comics</a>\r
-</li><li><a href="http://localhost:3000/comics.json" class="external" rel="nofollow">http://localhost:3000/comics.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家*</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>{page=1,page_size=25}</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>新着コミックを一覧形式で表示する。ただし、作者によって非公開にされたコミックは含まない。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>comicモデルに一覧取得を問い合わせ、その結果をコミックリストとして取得する。\r
-<ul><li>pageとpage_sizeを渡す。\r
-</li></ul></li><li>取得したデータを返す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-page">page</h4><ul><li>表示するデータが何ページ目からのものか。\r
-</li><li>省略時、不正な値が渡された時は1となる。\r
-</li></ul><h4 id="h4-page_size">page_size</h4><ul><li>1ページに収まる行の数。\r
-</li><li>省略時、不正な値が渡された時は定数comic_default_page_size=25となる。\r
-</li><li>値が定数comic_max_page_size=100を超えた時は、この値に切り詰められる。\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlのとき、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。\r
-</li><li>jsonのとき、ステータスコード200 OKとともに、json構造のデータを返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsIndexView">ComicsIndexView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise)\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。\r
-</li><li>ただし、オープンモードで起動しているなら、サインインの必要はない。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNew">\r
-    <title>OriginalPicturesNew</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNew</link>\r
-    <dc:identifier>OriginalPicturesNew</dc:identifier>\r
-    <dc:date>2012-03-31T13:07:09+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= new @ OriginalPicturesController\r
-新規作成フォームの表示。\r
-=== url\r
- * http://localhost:3000/original_pictures/new\r
- * http://localhost:3000/original_pictures/new.json\r
- * http://localhost:3000/original_pictur]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-new.20.40.20OriginalPicturesController">new @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a></h1><p>新規作成フォームの表示。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/original_pictures/new" class="external" rel="nofollow">http://localhost:3000/original_pictures/new</a>\r
-</li><li><a href="http://localhost:3000/original_pictures/new.json" class="external" rel="nofollow">http://localhost:3000/original_pictures/new.json</a>\r
-</li><li><a href="http://localhost:3000/original_pictures/new.js" class="external" rel="nofollow">http://localhost:3000/original_pictures/new.js</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>絵師</td></tr><tr><td>method</td><td>GET</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>原画を投稿するための入力フォームをまっさらなページで表示する。このアクションが返すフォームに対し、ユーザが入力して送信ボタンを押すことで、作成アクション<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreate">OriginalPicturesCreate</a>が起動され、新規の行が作成される。だから、フォームの表示のみの処理だけで、これといったdb処理はない。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>作家アカウントから絵師データを取得する。\r
-</li><li>原画モデルの初期データを生成する。\r
-</li><li>原画モデルにデフォルト値を補充してもらう。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><p>なし\r
-</p><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlなら、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。\r
-</li><li>jsなら、ステータスコード200 OKとともに、部分テンプレートから起こしたページ部品を返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNewView">OriginalPicturesNewView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise)\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。\r
-</li></ul></li><li>絵師登録してなかった。\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、絵師登録を促すページ(/artists/new)へ遷移する。\r
-</li><li>jsなら、ステータスコード200 OKとともに、絵師登録部分テンプレートを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndex">\r
-    <title>OriginalPicturesIndex</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndex</link>\r
-\r
-    <dc:identifier>OriginalPicturesIndex</dc:identifier>\r
-    <dc:date>2012-03-31T13:04:35+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= index @ OriginalPicturesController\r
-原画の一覧形式表示。\r
-=== url\r
- * http://localhost:3000/original_pictures\r
- * http://localhost:3000/original_pictures.json\r
-=== リクエスト\r
-||権限||絵師||\r
-||method||get||\r
-||urlパラメ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-index.20.40.20OriginalPicturesController">index @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a></h1><p>原画の一覧形式表示。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/original_pictures" class="external" rel="nofollow">http://localhost:3000/original_pictures</a>\r
-</li><li><a href="http://localhost:3000/original_pictures.json" class="external" rel="nofollow">http://localhost:3000/original_pictures.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>絵師</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>{page=1,page_size=25}</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>絵師が自分の素材を管理するために一覧形式で表示する。新着順に表示される。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>作家アカウントから絵師データを取得する。\r
-</li><li>原画モデルに一覧取得を問い合わせ、その結果を原画リストとして取得する。\r
-<ul><li>pageとpage_sizeを渡す。\r
-</li></ul></li><li>取得したデータを返す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-page">page</h4><ul><li>表示するデータが何ページ目からのものか。\r
-</li><li>省略時、不正な値が渡された時は1となる。\r
-</li></ul><h4 id="h4-page_size">page_size</h4><ul><li>1ページに収まる行の数。\r
-</li><li>省略時、不正な値が渡された時は定数original_picture_default_page_size=25となる。\r
-</li><li>値が定数original_picture_max_page_size=100を超えた時は、この値に切り詰められる。\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>htmlのとき、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。\r
-</li><li>jsonのとき、ステータスコード200 OKとともに、json構造のデータを返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndexView">OriginalPicturesIndexView</a>\r
-</p><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。(Devise)\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。\r
-</li><li>jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。\r
-</li></ul></li><li>絵師登録してなかった。\r
-<ul><li>htmlなら、ステータスコード302 Foundを返すとともに、絵師登録を促すページ(/artists/new)へ遷移する。\r
-</li><li>jsonなら、例外403 forbiddenを返す \r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">\r
-    <title>ComicModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicModel</link>\r
-    <dc:identifier>ComicModel</dc:identifier>\r
-    <dc:date>2012-03-31T12:35:39+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= コミック comic @ AboutModels\r
-参考:ComicsController\r
-\r
-== カラム\r
-||name||和名||type||default||null||limit||note||\r
-||title||作品名||string||||FALSE||100||||\r
-||width||コマの幅デフォルト値||integer||||FALSE|| ||||\r
-||heigh]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.20comic.20.40.20AboutModels">コミック comic @ <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a></h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a>\r
-</p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>title</td><td>作品名</td><td>string</td><td></td><td>FALSE</td><td>100</td><td></td></tr><tr><td>width</td><td>コマの幅デフォルト値</td><td>integer</td><td></td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>コマの高さデフォルト値</td><td>integer</td><td></td><td>FALSE</td><td> </td><td></td></tr><tr><td>visible</td><td>公開フラグ</td><td>integer</td><td>0</td><td>false</td><td> </td><td>可視範囲 0:本人のみ 1:友人まで 2:ユーザまで 3:誰でも</td></tr><tr><td>editable</td><td>編集フラグ</td><td>integer</td><td>0</td><td>false</td><td> </td><td>許可範囲 0:本人のみ 1:友人まで 2:ユーザまで 3:誰でも</td></tr><tr><td>author_id</td><td>作者の作家id</td><td>integer</td><td></td><td>false</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><h2 id="h2-.E4.BD.9C.E6.88.90.E6.89.8B.E9.A0.86">作成手順</h2><p>フォームデータに作家idを添えて作成する。\r
-</p><p>表紙だけの作成なので、コミックだけを作成しても漫画になるわけではない。\r
-</p><h2 id="h2-.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.BC.E3.83.95.E3.82.A7.E3.82.A4.E3.82.B9">インターフェイス</h2><ul><li>title\r
-</li><li>width\r
-</li><li>height\r
-</li><li>visible\r
-</li><li>editable\r
-</li><li>author_id \r
-<ul><li>新規作成時は必須だが、更新時は指定があった時だけ上書き。\r
-</li></ul></li></ul><h2 id="h2-.E8.87.AA.E5.8B.95.E8.A3.9C.E5.85.85">自動補充</h2><h3 id="h3-visible">visible</h3><ul><li>省略時は0が補充される。\r
-</li></ul><h3 id="h3-editable">editable</h3><ul><li>省略時は0が補充される。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><h3 id="h3-.E3.82.AB.E3.83.A9.E3.83.A0.E5.88.A5">カラム別</h3><h4 id="h4-title">title</h4><ul><li>入力されていること\r
-</li><li>100文字以内であること\r
-</li></ul><h4 id="h4-width">width</h4><ul><li>入力されていること\r
-</li><li>数値であること\r
-</li><li>1以上であること\r
-</li></ul><h4 id="h4-height">height</h4><ul><li>入力されていること\r
-</li><li>数値であること\r
-</li><li>1以上であること\r
-</li></ul><h4 id="h4-visible">visible</h4><ul><li>入力されていること\r
-</li><li>数値であること\r
-</li><li>0以上4未満であること\r
-</li></ul><h4 id="h4-editable">editable</h4><ul><li>入力されていること\r
-</li><li>数値であること\r
-</li><li>0以上4未満であること\r
-</li></ul><h3 id="h3-.E5.85.A8.E4.BD.93">全体</h3><h2 id="h2-.E6.A9.9F.E8.83.BD">機能</h2><h3 id="h3-.E6.89.80.E6.8C.81.E5.88.A4.E5.AE.9A">所持判定</h3><ul><li>コミックの持ち主かどうかをTrue/Falseで返す\r
-</li><li>パラメータに作家データを受ける\r
-</li><li>パラメータがnilならFalse\r
-</li><li>パラメータのidがコミックの作者idと一致するならTrue、しないならFalse\r
-</li></ul><h3 id="h3-.E9.96.B2.E8.A6.A7.E8.A8.B1.E5.8F.AF">閲覧許可</h3><ul><li>対象の作家がコミックを閲覧できるかどうかを判定する\r
-</li><li>自分のコミックなら必ず許可\r
-</li><li>他人のコミックでも公開されているなら許可\r
-</li><li>それ以外なら不許可\r
-</li></ul><h3 id="h3-.E4.B8.80.E8.A6.A7.E5.8F.96.E5.BE.97">一覧取得</h3><ul><li>コミックを更新日時順に取得する。\r
-</li><li>公開可能なコミックに限る\r
-</li><li>ページ処理に対応し、毎ページn件の条件でmページ目から取得することができる。\r
-</li><li>関連データとして一覧取得オプションを与えることができる。\r
-<ul><li>関連データはオプションで追加できる\r
-</li></ul></li></ul><h4 id="h4-.E4.B8.80.E8.A6.A7.E5.8F.96.E5.BE.97.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3">一覧取得オプション</h4><p>下記の関連テーブルを含む\r
-</p><ul><li>author\r
-</li></ul><h3 id="h3-.E4.B8.80.E8.A6.A7.E5.87.BA.E5.8A.9B.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3">一覧出力オプション</h3><p>下記の関連テーブルのカラムを含む\r
-</p><ul><li>author (*)\r
-</li></ul><h3 id="h3-.E5.8D.98.E4.BD.93.E5.8F.96.E5.BE.97">単体取得</h3><ul><li>idのコミックを取得する。\r
-</li><li>関連データとして単体取得オプションを与えることができる。\r
-<ul><li>関連データはオプションで追加できる\r
-</li></ul></li></ul><h4 id="h4-.E5.8D.98.E4.BD.93.E5.8F.96.E5.BE.97.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3">単体取得オプション</h4><p>下記の関連テーブルを含む\r
-</p><ul><li>author\r
-</li></ul><h3 id="h3-.E5.8D.98.E4.BD.93.E5.87.BA.E5.8A.9B.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3">単体出力オプション</h3><p>下記の関連テーブルのカラムを含む\r
-</p><ul><li>author (*)\r
-</li></ul><h3 id="h3-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E3.82.92.E8.AA.AD.E3.82.80.E3.81.9F.E3.82.81.E3.81.AE.E3.82.B3.E3.83.9E.E5.8F.96.E5.BE.97">コミックを読むためのコマ取得</h3><ul><li>idのコミックを取得する。\r
-</li><li>関連データとして次のモデルを含む。\r
-</li><li>author, \r
-</li><li>panels\r
-<ul><li>panel_pictures\r
-<ul><li>resource_picture \r
-<ul><li>artist\r
-</li><li>license\r
-</li></ul></li></ul></li><li>balloons\r
-<ul><li>:speaches \r
-</li></ul></li><li>author\r
-</li><li>resource_picture\r
-</li></ul></li><li>コマのtでソートする\r
-</li></ul><h3 id="h3-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E3.82.92.E8.AA.AD.E3.82.80.E3.81.9F.E3.82.81.E3.81.AE.E3.82.B3.E3.83.9E.E5.8F.96.E5.BE.97.E7.B5.90.E6.9E.9C.E3.82.92json.E3.81.A7.E8.BF.94.E3.81.99">コミックを読むためのコマ取得結果をjsonで返す</h3><ul><li>関連データとして次のモデルを含む。\r
-</li><li>author, \r
-</li><li>panels\r
-<ul><li>panel_elements\r
-</li><li>author\r
-</li><li>resource_picture\r
-</li></ul></li><li>panel_elementsはコマの部品をt順にならびかえたもの\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/YasushiIto">\r
-    <title>YasushiIto</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/YasushiIto</link>\r
-    <dc:identifier>YasushiIto</dc:identifier>\r
-    <dc:date>2012-03-31T11:05:52+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[原画テスト\r
- * ページサイズのパラメータがまだ\r
- * jsでサインアウト中のときの挙動がどうか\r
- * フォームで使うセレクトボックスのマスターデータは誰が取得するんか\r
- * newのjsonリクエストはデフォルト補充してある空データが欲しいんか。\r
-\r
-Panelのインターフェイスが技術的にあやふや。ネスト構造をフォームで渡せるのか。\r
- * フォームのネストはできるがrailsっぽすぎ]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<p>原画テスト\r
-</p><ul><li>ページサイズのパラメータがまだ\r
-</li><li>jsでサインアウト中のときの挙動がどうか\r
-</li><li>フォームで使うセレクトボックスのマスターデータは誰が取得するんか\r
-</li><li>newのjsonリクエストはデフォルト補充してある空データが欲しいんか。\r
-</li></ul><p>Panelのインターフェイスが技術的にあやふや。ネスト構造をフォームで渡せるのか。\r
-</p><ul><li>フォームのネストはできるがrailsっぽすぎてクライアントから見て素直じゃない\r
-</li><li>たぶん、サーバが自前でjsonパースした方が良い\r
-</li></ul><p>コモンライセンスの初期化。パブリックドメインだけは追加。\r
-</p><p>フキダシは名前の末尾を@ドメインにする慣習\r
-</p><p>クリコモは転載自由なのか?\r
-</p><p>jpgは反転できなくてもよくね?\r
-</p><p>ヴェール・ぞゥ\r
-</p><p>フキダシはベクター式に合わせるが、テンプレートのみも用意\r
-</p><p>アカウント停止フラグ原画も素材IDバックアップコミックも作家の停止と座長の停止\r
-ライセンスは途中て替えられないフラグ変更不可\r
-</p><h2 id="h2-.E7.B8.A6.E6.9B.B8.E3.81.8D.E3.81.AB.E9.96.A2.E3.81.99.E3.82.8B.E8.80.83.E5.AF.9F">縦書きに関する考察</h2><ul><li>Evilにはなるまいと心を砕いているが、一つだけ、実現するならEvilになっても良いと思うものがある\r
-</li><li>縦書きというやつだ\r
-</li><li>かねてより横書きには不満がある\r
-</li><li>字の並ぶ向きが違うとか、ページをめくる向きが違うとか以上の違いがある\r
-</li><li>右利きが左を使うくらいの違和感\r
-</li><li>横書き漫画はなんとなくつまんない\r
-</li><li>たぶん、同じ内容でも縦と横で面白さは変わってくる\r
-</li><li>なぜか\r
-</li><li>人間の視野は横に広く、縦に狭い\r
-</li><li>横の動きに強く、縦の動きに弱い\r
-</li><li>横書きの方がリーディングの効率が良い\r
-</li><li>漫画は敢えて縦書き\r
-</li><li>だが、それがいい\r
-<ul><li>セリフを追いながらも視界は絵を捉えている\r
-</li><li>読みの速度が遅いから絵を見る時間も長い\r
-</li><li>視線を何度も上下させて楽しむのが漫画\r
-</li></ul></li><li>横書きだと…\r
-<ul><li>セリフに集中して絵を見てない\r
-</li><li>コマをすぐ通過するから印象が残らない\r
-</li><li>洋書に挿絵が少ないのは、横書きだから\r
-</li></ul></li><li>漫画文化は縦書きが生んだ\r
-</li><li>縦書きでこそ漫画\r
-</li><li>CSS3.0では縦書きもできるらしいが?\r
-</li></ul><pre>あとは、数字の前にコメントが欲しいです.アウトソースなら、コミック(コマ?)毎に一意な twitter ハッシュタグを作る機能とかがあればとりあえずはいいのかな? これならクライアントだけでできそうですし.ブクマのコメントも js で取れます.\r
-</pre><p><a href="http://sourceforge.jp/forum/message.php?msg_id=62287">http://sourceforge.jp/forum/message.php?msg_id=62287</a>\r
-</p><ul><li>逆フキダシ\r
-</li><li>min_width→lower_limit\r
-</li><li>フォントなど\r
-<pre>  &lt;property name=&quot;fontSize&quot;/&gt;\r
-       &lt;property name=&quot;fontColor&quot;/&gt;\r
-       &lt;property name=&quot;fontWeight&quot;/&gt;\r
-       &lt;property name=&quot;serif&quot;/&gt;\r
-       &lt;property name=&quot;way&quot;/&gt;\r
-       &lt;property name=&quot;textAlign&quot;/&gt;\r
-</pre></li><li>no_adult ?\r
-</li></ul><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">ライセンス</h2><ul><li>BY 名前の表示 0:してはならない 1:可能ならする 2:必ずする\r
-<ul><li>著作者が誰だかわからない素材は0を適用。Unknownライセンスなど。\r
-</li><li>著作者はわかるけど、権利の所在があいまいなときは1を適用。パブリックドメインなんかはこれか。\r
-</li></ul></li><li>外部への提供\r
-<ul><li>許可しない\r
-<ul><li>サーバ内限定\r
-</li><li>サーバ管理者にコントロールを渡したくないとき\r
-</li><li>クローズドなサイトで仲間内で使うか\r
-</li><li>絵師が運用はする素材サーバで、未完成のシリーズを保管したり\r
-</li></ul></li><li>サーバ管理者が許可したぺったんサイトのみ提供\r
-<ul><li>ぺったんサーバ間限定で自由に使える\r
-</li><li>ぺったんライセンス2.0以降\r
-</li></ul></li><li>許可する\r
-<ul><li>クリコモ的ライセンス\r
-</li></ul></li><li>提供を妨げてはならない\r
-<ul><li>クローズドなサイトは利用できない\r
-</li><li>GPL的ライセンス\r
-</li><li>このライセンスの素材を使いたいなら、誰でも閲覧可能なサイト運営を行わなければならない。\r
-</li></ul></li></ul></li></ul><h2 id="h2-.E7.94.BB.E5.83.8F.E3.81.AE.E8.A1.9D.E7.AA.81">画像の衝突</h2><ul><li>同じ画像がサーバに入ることがある\r
-<ul><li>誰かがパクった?\r
-</li><li>素材サーバをやってる絵師が他のサーバでゴニョって重複してまった。\r
-</li></ul></li><li>md5を採用して保存すればユニーク。同じ画像はアップロードできない。\r
-<ul><li>投稿時にValidate\r
-</li><li>md5って計算速い?\r
-<ul><li>時間かかるなら仕様がぐらつく。\r
-</li></ul></li></ul></li><li>投稿フォームからなら一枚単位だから楽。\r
-<ul><li>xmlインポートなるものが\r
-</li></ul></li><li>インポートは一時テーブルにたまる\r
-<ul><li>問題ないのは正式に投稿される\r
-</li><li>衝突が起きたら残る\r
-<ul><li>誰のどのライセンスか\r
-</li></ul></li></ul></li><li>誰かと衝突したらページに警告が?\r
-<ul><li>著作権違反の疑い\r
-</li><li>詳しくはこちら\r
-<ul><li>衝突ページへ\r
-</li></ul></li></ul></li><li>自分どうしであれば相手に委譲すればよいが。\r
-</li><li>結局誰が強いのか\r
-<ul><li>管理者に任せるのがプログラマ的に楽\r
-</li></ul></li><li>絵師の仕様がかわる?\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndexView">\r
-    <title>OriginalPicturesIndexView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndexView</link>\r
-    <dc:identifier>OriginalPicturesIndexView</dc:identifier>\r
-\r
-    <dc:date>2012-03-29T19:30:01+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[== 原画一覧表示 @ OriginalPicturesView\r
-参考:OriginalPicturesIndex\r
-== htmlのとき\r
- * original_pictures\r
-   * license\r
-== jsonのとき\r
-このとき原画モデルの一覧出力オプションを利用する。\r
- * original_pictures\r
-   * license\r
-== 表示\r
- * 本人だけしか閲]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E5.8E.9F.E7.94.BB.E4.B8.80.E8.A6.A7.E8.A1.A8.E7.A4.BA.20.40.20OriginalPicturesView">原画一覧表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesView">OriginalPicturesView</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndex">OriginalPicturesIndex</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><ul><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><p>このとき原画モデルの一覧出力オプションを利用する。\r
-</p><ul><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><ul><li>本人だけしか閲覧できないので、義務は発生しない。\r
-</li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShowView">\r
-    <title>OriginalPicturesShowView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShowView</link>\r
-    <dc:identifier>OriginalPicturesShowView</dc:identifier>\r
-    <dc:date>2012-03-29T19:28:46+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[== 原画単体表示 @ OriginalPicturesView\r
-参考:OriginalPicturesShow\r
-== htmlのとき\r
- * original_pictures\r
-   * license\r
-== jsonのとき\r
-このとき原画モデルの単体出力オプションを利用する。\r
- * original_pictures\r
-   * license\r
-== 表示\r
- * 本人だけしか閲覧]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E5.8E.9F.E7.94.BB.E5.8D.98.E4.BD.93.E8.A1.A8.E7.A4.BA.20.40.20OriginalPicturesView">原画単体表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesView">OriginalPicturesView</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShow">OriginalPicturesShow</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><ul><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><p>このとき原画モデルの単体出力オプションを利用する。\r
-</p><ul><li>original_pictures\r
-<ul><li>license\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><ul><li>本人だけしか閲覧できないので、義務は発生しない。\r
-</li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesView">\r
-    <title>OriginalPicturesView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesView</link>\r
-\r
-    <dc:identifier>OriginalPicturesView</dc:identifier>\r
-    <dc:date>2012-03-29T18:12:29+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 原画の表示 @ RailsViews\r
-参考:OriginalPicturesController\r
-== OriginalPicturesIndexView\r
-== OriginalPicturesShowView\r
-== OriginalPicturesNewView\r
-== OriginalPicturesCreateView\r
-== OriginalPicturesEditView\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E5.8E.9F.E7.94.BB.E3.81.AE.E8.A1.A8.E7.A4.BA.20.40.20RailsViews">原画の表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsViews">RailsViews</a></h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a>\r
-</p><h2 id="h2-OriginalPicturesIndexView"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndexView">OriginalPicturesIndexView</a></h2><h2 id="h2-OriginalPicturesShowView"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShowView">OriginalPicturesShowView</a></h2><h2 id="h2-OriginalPicturesNewView"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNewView">OriginalPicturesNewView</a></h2><h2 id="h2-OriginalPicturesCreateView"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreateView">OriginalPicturesCreateView</a></h2><h2 id="h2-OriginalPicturesEditView"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEditView">OriginalPicturesEditView</a></h2><h2 id="h2-OriginalPicturesUpdateView"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdateView">OriginalPicturesUpdateView</a></h2><h2 id="h2-OriginalPicturesDestroyView"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesDestroyView">OriginalPicturesDestroyView</a></h2>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsCreateView">\r
-    <title>ComicsCreateView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsCreateView</link>\r
-    <dc:identifier>ComicsCreateView</dc:identifier>\r
-    <dc:date>2012-03-29T16:22:10+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[== コミック新規作成 @ ComicsView\r
-参考:ComicsCreate\r
-== jsonのとき\r
-このときcomicモデルの単体出力オプションを利用する。\r
- * comic (*)\r
-   * author (*)\r
-== 表示\r
-=== 表示義務\r
- * 下記のカラムを表示する場合、表示義務が発生する。\r
-   * title\r
- * comic.titleを表示しなければならない]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E6.96.B0.E8.A6.8F.E4.BD.9C.E6.88.90.20.40.20ComicsView">コミック新規作成 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsView">ComicsView</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsCreate">ComicsCreate</a>\r
-</p><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><p>このときcomicモデルの単体出力オプションを利用する。\r
-</p><ul><li>comic (*)\r
-<ul><li>author (*)\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><ul><li>下記のカラムを表示する場合、表示義務が発生する。\r
-<ul><li>title\r
-</li></ul></li><li>comic.titleを表示しなければならない。\r
-</li><li>author.nameを表示しなければならない。\r
-</li><li>下記のModelについて、より詳細な情報を閲覧できるページへ遷移する措置を用意しなければならない。\r
-<ul><li>author\r
-</li></ul></li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsEditView">\r
-    <title>ComicsEditView</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsEditView</link>\r
-    <dc:identifier>ComicsEditView</dc:identifier>\r
-    <dc:date>2012-03-29T15:45:33+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[== 新規作成フォーム表示 @ ComicsView\r
-参考:ComicsEdit\r
-== フォーム\r
-フォームに含めるべき項目は次の通り。\r
- * comic\r
-   * title\r
-   * width\r
-   * height\r
-   * visible\r
-   * editable\r
-参考:ComicModel\r
-== htmlのとき\r
-フォームを含んだページ全体を返す。\r
-== jsの]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h2 id="h2-.E6.96.B0.E8.A6.8F.E4.BD.9C.E6.88.90.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0.E8.A1.A8.E7.A4.BA.20.40.20ComicsView">新規作成フォーム表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsView">ComicsView</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsEdit">ComicsEdit</a>\r
-</p><h2 id="h2-.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0">フォーム</h2><p>フォームに含めるべき項目は次の通り。\r
-</p><ul><li>comic\r
-<ul><li>title\r
-</li><li>width\r
-</li><li>height\r
-</li><li>visible\r
-</li><li>editable\r
-</li></ul></li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><p>フォームを含んだページ全体を返す。\r
-</p><h2 id="h2-js.E3.81.AE.E3.81.A8.E3.81.8D">jsのとき</h2><p>フォームだけをajax更新のスタイルで返す。\r
-</p><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsNewView">\r
-    <title>ComicsNewView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsNewView</link>\r
-    <dc:identifier>ComicsNewView</dc:identifier>\r
-\r
-    <dc:date>2012-03-29T09:01:02+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[== 新規作成フォーム表示 @ ComicsView\r
-参考:ComicsNew\r
-== フォーム\r
-フォームに含めるべき項目は次の通り。\r
- * comic\r
-   * title\r
-   * width\r
-   * height\r
-   * visible\r
-   * editable\r
-参考:ComicModel\r
-== htmlのとき\r
-フォームを含んだページ全体を返す。\r
-== jsのと]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E6.96.B0.E8.A6.8F.E4.BD.9C.E6.88.90.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0.E8.A1.A8.E7.A4.BA.20.40.20ComicsView">新規作成フォーム表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsView">ComicsView</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsNew">ComicsNew</a>\r
-</p><h2 id="h2-.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0">フォーム</h2><p>フォームに含めるべき項目は次の通り。\r
-</p><ul><li>comic\r
-<ul><li>title\r
-</li><li>width\r
-</li><li>height\r
-</li><li>visible\r
-</li><li>editable\r
-</li></ul></li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><p>フォームを含んだページ全体を返す。\r
-</p><h2 id="h2-js.E3.81.AE.E3.81.A8.E3.81.8D">jsのとき</h2><p>フォームだけをajax更新のスタイルで返す。\r
-</p><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsCount">\r
-    <title>ComicsCount</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsCount</link>\r
-    <dc:identifier>ComicsCount</dc:identifier>\r
-    <dc:date>2012-03-29T08:52:16+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= count@ ComicsController\r
-コミック数\r
-=== url\r
- * http://localhost:3000/comics/count.json\r
-=== リクエスト\r
-||権限||誰でも||\r
-||method||get||\r
-||urlパラメータ||なし||\r
-||html||&times;||\r
-||json||○||\r
-||jsonp||○||\r
-== 解説\r
-公]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-count.40.20ComicsController">count@ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a></h1><p>コミック数\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/comics/count.json" class="external" rel="nofollow">http://localhost:3000/comics/count.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>誰でも</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>html</td><td>×</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>公開されているコミックの数を返す。この情報だけをページで見ることはないので、jsonだけでの提供となる。クローズドなサイトでもサインアップでどれだけのコミックが読めるかをアピールすることが想定されるので、誰でも応答することにする。\r
-</p><ul><li>comicモデルに有効コミック数を問い合わせて、その結果を取得する。\r
-</li><li>取得したデータを返す。\r
-<ul><li>json形式で返す。\r
-</li></ul></li></ul><p>※返る値は必ずしも正確ではない。コミック数は常に変化するので、この情報を元にループ処理を行う場合は、不足していても問題ないように対処しておくこと。\r
-</p><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>ステータスコード200 OKとともに、有効コミック数をJsonで返す。\r
-</li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsCountView">ComicsCountView</a>\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsCountView">\r
-    <title>ComicsCountView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsCountView</link>\r
-\r
-    <dc:identifier>ComicsCountView</dc:identifier>\r
-    <dc:date>2012-03-29T08:51:36+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[== コミック数表示 @ ComicsView\r
-参考:ComicsCount\r
-== jsonのとき\r
- * {&quot;count&quot;: 5}\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E6.95.B0.E8.A1.A8.E7.A4.BA.20.40.20ComicsView">コミック数表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsView">ComicsView</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsCount">ComicsCount</a>\r
-</p><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><ul><li>{&quot;count&quot;: 5}\r
-</li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsIndexView">\r
-    <title>ComicsIndexView</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsIndexView</link>\r
-    <dc:identifier>ComicsIndexView</dc:identifier>\r
-    <dc:date>2012-03-29T08:25:44+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[== コミック一覧表示 @ ComicsView\r
-参考:ComicsIndex\r
-== htmlのとき\r
- * comic (*)\r
-   * author (*)\r
-== jsonのとき\r
-このときcomicモデルの一覧出力オプションを利用する。\r
- * comic (*)\r
-   * author (*)\r
-== 表示\r
-=== 表示義務\r
- * 下記のカラムを表示する場合、表示義務が発生す]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E4.B8.80.E8.A6.A7.E8.A1.A8.E7.A4.BA.20.40.20ComicsView">コミック一覧表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsView">ComicsView</a></h2><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsIndex">ComicsIndex</a>\r
-</p><h2 id="h2-html.E3.81.AE.E3.81.A8.E3.81.8D">htmlのとき</h2><ul><li>comic (*)\r
-<ul><li>author (*)\r
-</li></ul></li></ul><h2 id="h2-json.E3.81.AE.E3.81.A8.E3.81.8D">jsonのとき</h2><p>このときcomicモデルの一覧出力オプションを利用する。\r
-</p><ul><li>comic (*)\r
-<ul><li>author (*)\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><ul><li>下記のカラムを表示する場合、表示義務が発生する。\r
-<ul><li>title\r
-</li></ul></li><li>comic.titleを表示しなければならない。\r
-<ul><li>最低でも先頭から20文字を表示しなければならない。\r
-</li><li>21文字以降は切り詰めてもよい。\r
-<ul><li>ただし、切り詰めたことを示す...などの措置を取らなければならない。\r
-</li></ul></li></ul></li><li>author.nameを表示しなければならない。\r
-</li><li>下記のModelについて、より詳細な情報を閲覧できるページへ遷移する措置を用意しなければならない。\r
-<ul><li>comic\r
-</li><li>author\r
-</li></ul></li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3><ul><li>最新投稿日時は表示したほうが良い。\r
-</li><li>公開フラグ\r
-</li><li>一般投稿可否フラグ\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsView">\r
-    <title>ComicsView</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsView</link>\r
-    <dc:identifier>ComicsView</dc:identifier>\r
-    <dc:date>2012-03-29T08:09:24+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= コミックの表示 @ RailsViews\r
-参考:ComicsController\r
-== ComicsTopView\r
-== ComicsIndexView\r
-== ComicsShowView\r
-== ComicsCountView\r
-== ComicsPlayView\r
-== ComicsNewView\r
-== ComicsCreateView\r
-== ComicsEditView\r
-=]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E3.81.AE.E8.A1.A8.E7.A4.BA.20.40.20RailsViews">コミックの表示 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsViews">RailsViews</a></h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a>\r
-</p><h2 id="h2-ComicsTopView"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsTopView">ComicsTopView</a></h2><h2 id="h2-ComicsIndexView"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsIndexView">ComicsIndexView</a></h2><h2 id="h2-ComicsShowView"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsShowView">ComicsShowView</a></h2><h2 id="h2-ComicsCountView"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsCountView">ComicsCountView</a></h2><h2 id="h2-ComicsPlayView"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlayView">ComicsPlayView</a></h2><h2 id="h2-ComicsNewView"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsNewView">ComicsNewView</a></h2><h2 id="h2-ComicsCreateView"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsCreateView">ComicsCreateView</a></h2><h2 id="h2-ComicsEditView"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsEditView">ComicsEditView</a></h2><h2 id="h2-ComicsUpdateView"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdateView">ComicsUpdateView</a></h2><h2 id="h2-ComicsDestroyView"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsDestroyView">ComicsDestroyView</a></h2>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/RailsViews">\r
-    <title>RailsViews</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/RailsViews</link>\r
-    <dc:identifier>RailsViews</dc:identifier>\r
-\r
-    <dc:date>2012-03-29T07:56:42+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= サーバが返すデータ\r
-各コントローラのアクションはページを返すためのテンプレートを持っている。\r
-\r
-参照:RailsControllers\r
-== コミック関係\r
- * ComicsView\r
- * PanelsView\r
- * PanelPicturesView\r
- * BalloonsView\r
- * SpeachsView\r
-== 素材関係\r
- * OriginalPicturesVi]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B5.E3.83.BC.E3.83.90.E3.81.8C.E8.BF.94.E3.81.99.E3.83.87.E3.83.BC.E3.82.BF">サーバが返すデータ</h1><p>各コントローラのアクションはページを返すためのテンプレートを持っている。\r
-</p><p>参照:<a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a>\r
-</p><h2 id="h2-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E9.96.A2.E4.BF.82">コミック関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsView">ComicsView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsView">PanelsView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesView">PanelPicturesView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BalloonsView">BalloonsView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachsView">SpeachsView</a>\r
-</li></ul><h2 id="h2-.E7.B4.A0.E6.9D.90.E9.96.A2.E4.BF.82">素材関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesView">OriginalPicturesView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesView">ResourcePicturesView</a>\r
-</li></ul><h2 id="h2-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88.E9.96.A2.E4.BF.82">フキダシテンプレート関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonsView">SpeachBalloonsView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BallonTemplatesView">BallonTemplatesView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachTemplatesView">SpeachTemplatesView</a>\r
-</li></ul><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E9.96.A2.E4.BF.82">ライセンス関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/LicensesView">LicensesView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesView">CommonLicensesView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesView">OriginalLicensesView</a>\r
-</li></ul><h2 id="h2-.E5.BD.B9.E5.89.B2.E9.96.A2.E4.BF.82">役割関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsView">AuthorsView</a>\r
-<ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorRegistrationsView">AuthorRegistrationsView</a>\r
-</li></ul></li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsView">ArtistsView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/HelpView">HelpView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/HomeView">HomeView</a>\r
-</li></ul><h2 id="h2-.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E9.96.A2.E4.BF.82">システム関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SystemView">SystemView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SystemPicturesView">SystemPicturesView</a>\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ForDevelopers">\r
-    <title>ForDevelopers</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ForDevelopers</link>\r
-    <dc:identifier>ForDevelopers</dc:identifier>\r
-    <dc:date>2012-03-29T07:50:25+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 開発者向けドキュメント\r
- * ロードマップ RoadMap\r
-== 開発環境\r
-=== サーバーサイド\r
- * Ruby1.9+Rails3.1\r
-==== 構築\r
- * HowToInstall\r
-   * PictureIo\r
-   * RmagickAndDmagick\r
-\r
-=== クライアントサイド\r
- * html4.01 + css2.1 に加え css3, SVG, XML,]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E9.96.8B.E7.99.BA.E8.80.85.E5.90.91.E3.81.91.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88">開発者向けドキュメント</h1><ul><li>ロードマップ <a href="http://sourceforge.jp/projects/pettanr/wiki/RoadMap">RoadMap</a>\r
-</li></ul><h2 id="h2-.E9.96.8B.E7.99.BA.E7.92.B0.E5.A2.83">開発環境</h2><h3 id="h3-.E3.82.B5.E3.83.BC.E3.83.90.E3.83.BC.E3.82.B5.E3.82.A4.E3.83.89">サーバーサイド</h3><ul><li>Ruby1.9+Rails3.1\r
-</li></ul><h4 id="h4-.E6.A7.8B.E7.AF.89">構築</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/HowToInstall">HowToInstall</a>\r
-<ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PictureIo">PictureIo</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/RmagickAndDmagick">RmagickAndDmagick</a>\r
-</li></ul></li></ul><h3 id="h3-.E3.82.AF.E3.83.A9.E3.82.A4.E3.82.A2.E3.83.B3.E3.83.88.E3.82.B5.E3.82.A4.E3.83.89">クライアントサイド</h3><ul><li>html4.01 + css2.1 に加え css3, SVG, XML, ActiveX, Flash のうちのいくつか.\r
-<ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ClientSide">ClientSide</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage">XbackendReversibleImage</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon">XbackendSpeachBalloon</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PngFix">PngFix</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2">HtmlAndCss2</a>\r
-</li></ul></li><li>javascript( jQuery + plugin)\r
-<ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/JavascriptEditor">JavascriptEditor</a>\r
-</li></ul></li></ul><h3 id="h3-.E3.83.87.E3.83.BC.E3.82.BF.E3.83.99.E3.83.BC.E3.82.B9">データベース</h3><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/DatabaseSchema">DatabaseSchema</a> \r
-</li><li>定数 <a href="http://sourceforge.jp/projects/pettanr/wiki/MagicNumber">MagicNumber</a>\r
-</li></ul><h2 id="h2-.E6.A9.9F.E8.83.BD">機能</h2><ul><li>サーバ側の機能\r
-<ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/RailsViews">RailsViews</a>\r
-</li></ul></li><li>JsonAPI <a href="http://sourceforge.jp/projects/pettanr/wiki/JsonApi">JsonApi</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ApiIndex">ApiIndex</a>\r
-</li><li>権限 <a href="http://sourceforge.jp/projects/pettanr/wiki/AccessControl">AccessControl</a>\r
-</li><li>オープンサイトとクローズドサイト <a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</li></ul><h2 id="h2-.E3.83.AC.E3.82.A4.E3.82.A2.E3.82.A6.E3.83.88">レイアウト</h2><ul><li>表示義務 <a href="http://sourceforge.jp/projects/pettanr/wiki/PrintAttributes">PrintAttributes</a>\r
-</li></ul><h2 id="h2-.E6.94.B9.E5.A4.89.E4.BA.88.E5.91.8A">改変予告</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ChangeDoc">ChangeDoc</a></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/RoadMap">\r
-    <title>RoadMap</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/RoadMap</link>\r
-\r
-    <dc:identifier>RoadMap</dc:identifier>\r
-    <dc:date>2012-03-20T17:17:30+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 予定は未定\r
-0.3 \r
-\r
-&darr;アクションの網羅\r
-\r
-&darr;認証と権限の徹底\r
-\r
-&darr;Validateの組み込み\r
-\r
-0.4\r
-\r
-&darr;jsクライアントの仮組み込み\r
-\r
-&darr;オープンサイトとクローズドサイトの分離\r
-\r
-&darr;\r
-\r
-0.5\r
-\r
-&darr;\r
-\r
-&darr;\r
-\r
-0.6\r
-\r
-0.7\r
-\r
-&darr;外部との連携\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E4.BA.88.E5.AE.9A.E3.81.AF.E6.9C.AA.E5.AE.9A">予定は未定</h1><p>0.3 \r
-</p><p>↓アクションの網羅\r
-</p><p>↓認証と権限の徹底\r
-</p><p>↓Validateの組み込み\r
-</p><p>0.4\r
-</p><p>↓jsクライアントの仮組み込み\r
-</p><p>↓オープンサイトとクローズドサイトの分離\r
-</p><p>↓\r
-</p><p>0.5\r
-</p><p>↓\r
-</p><p>↓\r
-</p><p>0.6\r
-</p><p>0.7\r
-</p><p>↓外部との連携\r
-</p><p>↓インポートとエクスポート\r
-</p><p>.8 ベータ公開\r
-</p><p>↓多言語化\r
-</p><p>0.9\r
-</p><p>↓管理者機能強化\r
-</p><h1 id="h1-.E3.81.9D.E3.81.AE.E3.81.BB.E3.81.8B">そのほか</h1><p>サポートブラウザの調査、テスト→決定\r
-</p><p>ログイン機能のサポートブラウザの調査→決定\r
-</p><p>htmlタグ構造のテスト→決定\r
-</p><p>css のクロスブラウザテスト→決定\r
-</p>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ItoZyun">\r
-    <title>ItoZyun</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ItoZyun</link>\r
-    <dc:identifier>ItoZyun</dc:identifier>\r
-    <dc:date>2012-03-19T10:06:16+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[== javascript のクリーンアップ、圧縮\r
-=== クリーンアップ\r
-javascript は、変数宣言時の区切り文字や、行の終わりのセミコロンなどを間違えていても、予期したとおりに動作したりして潜在的な問題を抱えることになる.[[BR]]\r
-以上のものは、Aptana で警告されないものも結構ある.[[BR]]\r
-jsDo.it にアップロードすると、Webコンソールで javascr]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-javascript.20.E3.81.AE.E3.82.AF.E3.83.AA.E3.83.BC.E3.83.B3.E3.82.A2.E3.83.83.E3.83.97.E3.80.81.E5.9C.A7.E7.B8.AE">javascript のクリーンアップ、圧縮</h2><h3 id="h3-.E3.82.AF.E3.83.AA.E3.83.BC.E3.83.B3.E3.82.A2.E3.83.83.E3.83.97">クリーンアップ</h3><p>javascript は、変数宣言時の区切り文字や、行の終わりのセミコロンなどを間違えていても、予期したとおりに動作したりして潜在的な問題を抱えることになる.<br />\r
-以上のものは、Aptana で警告されないものも結構ある.<br />\r
-jsDo.it にアップロードすると、Webコンソールで javascript の警告を教えてくれる.<br />\r
-その警告に従って修正したところ、Aptana2 の構文解析も動くようになった.コード量が増えると勝手に構文解析も止まるのかと思っていたけど、そのようなわけだった、、、<br />\r
-</p><h3 id="h3-.E5.9C.A7.E7.B8.AE">圧縮</h3><p>以上を済ませた後に、圧縮(難読化)を行うことで、js ファイルの読み込みや動作を早くし、負荷を抑えることができる.<br />\r
-圧縮ツールには、Web アプリとして提供されているものもあって便利.<br />\r
-<a href="http://compressorrater.thruhere.net/" class="external" rel="nofollow">http://compressorrater.thruhere.net/</a> が、複数の圧縮エンジンに通した結果を比較表示してくれる.<br />\r
-現在 140KB 程度の js ファイルを 60KB 程度にすることができた.<br />\r
-ただし、その圧縮後のファイルが動かないこともあり(というかほとんど動かない、または操作中に動かなくなる)圧縮ツール用にコードを書く必要がある.<br />\r
-jsは、コードが実行される順番に変数宣言をしていけばいいのだが、圧縮ツール用には、変数の宣言を最初の変数の登場より先にしなくてはならない.<br />\r
-</p><p>変数の宣言がないままに変数が登場すると、\r
-<pre>function createPopup(){\r
-// Popup クラスから Popup インスタンスを作る.\r
- var _popup = PopupClass.apply( {}, []);\r
-}\r
-~\r
-// Popup クラスの宣言\r
-var PopupClass = function(){};\r
-</pre>圧縮ツールは、最初に登場する <a href="http://sourceforge.jp/projects/pettanr/wiki/PopupClass">PopupClass</a> はそのまま.var <a href="http://sourceforge.jp/projects/pettanr/wiki/PopupClass">PopupClass</a>= のみ、var a= などと圧縮をかける.結果、createPopup() したときに <a href="http://sourceforge.jp/projects/pettanr/wiki/PopupClass">PopupClass</a> が未定義だよ!となる.<br />\r
-</p><p>google 提供の clouser コンパイラではうまく動いた.\r
-</p><ul><li>決定版はこれだ! Javascriptの圧縮、難読化ツール 比較検討 <a href="http://gogolounge.blog.shinobi.jp/Entry/4/" class="external" rel="nofollow">http://gogolounge.blog.shinobi.jp/Entry/4/</a>\r
-</li></ul><h2 id="h2-javascript.20.E3.81.AE.E3.83.A1.E3.83.A2.E3.83.AA.E3.83.AA.E3.83.BC.E3.82.AF">javascript のメモリリーク</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/%E9%96%8B%E7%99%BA">開発</a>IEメモリリークの最後の壁はAjaxのonreadystatechangeやった!! <a href="http://d.hatena.ne.jp/AWAWA/20071207/1197036423" class="external" rel="nofollow">http://d.hatena.ne.jp/AWAWA/20071207/1197036423</a>\r
-</li><li>Internet Explorer リーク パターンを理解して解決する <a href="http://msdn.microsoft.com/ja-jp/library/bb250448" class="external" rel="nofollow">http://msdn.microsoft.com/ja-jp/library/bb250448</a>\r
-</li></ul><p>クロージャがまずい.<br />\r
-dom追加は、appendChild を先に.あとからプロパティをセット.<br />\r
-イベントハンドラに、グローバルで定義された 空の function を突っ込んで解除する.\r
-</p><h2 id="h2-.E3.82.B9.E3.82.BF.E3.83.B3.E3.83.89.E3.82.A2.E3.83.AD.E3.83.BC.E3.83.B3.E7.89.88.20IE.20.E3.81.AE.E9.80.9A.E5.B8.B8.E7.89.88.E3.81.A8.E7.95.B0.E3.81.AA.E3.82.8B.E6.8C.99.E5.8B.95">スタンドアローン版 IE の通常版と異なる挙動</h2><p>IETester で 条件付コメントによる、vml のインストールの有無のチェックができない挙動に遭遇.<br />\r
-vml のチェックは、現在は条件付コメントを動的に付与して行っている.(他にいい方法ないかな、、、?)\r
-<pre>VML: ( function(){\r
-       if( isIE === false || ieVersion &gt; 8) return false;\r
-       var globalObjectName = createGrobalObjectName(), script;\r
-       document.writeln( [ '&lt;!--[if gte vml 1]&gt;&lt;script type=&quot;text/javascript&quot;&gt;window.', globalObjectName,'=1;&lt;/script&gt;&lt;![endif]--&gt;'].join( ''));\r
-       if( window[ globalObjectName] === 1){\r
-               window[ globalObjectName] = undefined;\r
-               return true;\r
-       }\r
-       return false;\r
-})(),\r
-</pre></p><p>XPsp3 に IETester をインストールして 6, 7, 8 をテストできる環境にしているが、6 と 7 では、vml のチェックが働かない.<br />\r
-これは、スタンドアローン版 IE は 条件付コメントが働かない、ためと思われる.( 違うかもしれない.&lt;!--[if IE 6]&gt; などはちゃんと動いている。というわけで純粋にスタンドアローン版な挙動をしてくれる ie をまだ使ったことがない.)<br />\r
-一方で、8 で正しく動いているのは、8 が Windows 環境のデフォルトの ie なので通常版であるため、と思う.<br />\r
-</p><p>navigator.ua で取得したバージョンと 動的に書き出した条件付コメント(内でスクリプトを使用)が不一致だったら、スタンドアローン版として処理する.(未検証)\r
-</p><ul><li>条件付コメント文の誤算 <a href="http://bopsublog.blog.shinobi.jp/Entry/15/" class="external" rel="nofollow">http://bopsublog.blog.shinobi.jp/Entry/15/</a>\r
-</li><li><a href="http://philip.html5.org/data/ccs.html" class="external" rel="nofollow">http://philip.html5.org/data/ccs.html</a>\r
-</li></ul><h2 id="h2-javascript.20.E3.81.AE.E9.81.B8.E6.8A.9E.E7.A6.81.E6.AD.A2">javascript の選択禁止</h2><ul><li>ieでは、unselectable を使う.但しこの指定は継承しないため、全てのテキストを持つ要素に指定する.\r
-<pre>&lt;div unselectable=&quot;on&quot;&gt;テキスト&lt;/div&gt;\r
-</pre></li><li>css を使う場合.\r
-<pre>&lt;div style=&quot;-moz-user-select: none;&quot;&gt;テキスト&lt;/div&gt;\r
-&lt;div style=&quot;-khtml-user-select: none;&quot;&gt;テキスト&lt;/div&gt;\r
-&lt;div style=&quot;-webkit-user-select: none;&quot;&gt;テキスト&lt;/div&gt;\r
-&lt;div style=&quot;user-select: none;&quot;&gt;テキスト&lt;/div&gt; css3 ??\r
-</pre></li><li>js を使う\r
-<pre>&lt;div onMouseMove=&quot;window.getSelection().removeAllRanges();&quot;&gt;テキスト&lt;/div&gt; など\r
-</pre></li><li><a href="http://www.programming-magic.com/20071217225449/" class="external" rel="nofollow">http://www.programming-magic.com/20071217225449/</a>\r
-</li></ul><p>js で自動でテキスト選択を禁止する必要がある.\r
-</p><h2 id="h2-Opera.209.20.EF.BD.9E.2011.20.E3.81.A7.E5.8B.95.E3.81.8B.E3.81.AA.E3.81.84.E5.95.8F.E9.A1.8C.EF.BC.8E">Opera 9 ~ 11 で動かない問題.</h2><p>9.6, 10.1, 10.5, 11 のポータブル版と 11.5 をインストールして使っているが、pettanR 0.3以降で画像の反転操作を行うと、うまく動かなくなる.\r
-</p><p>この部分の値を書き出してみると、ありえないタイミングで undefined になってしまうようだ.反転をさせようとするとかなりの確立で起きるし、リサイズでも起きるみたいだ.\r
-</p><p>この症状は、他のブラウザ、ie6以降、firefox3.6 Chrome5 Safari3.2 ではまったく再現しない.アスペクト維持リサイズ機能を組み込んでいない0.2.0 でも再現しない.\r
-</p><p>画像反転部分は、現在プログラム中でもっとも入り組んでいる.より小さいオブジェクトは、それと関係する大きなオブジェクトの中に書くようにしてクロージャを利かせている.もっとも深い部分でその入れ子は、5段程度になるが、その部分がコミック要素の反転・リサイズ・移動 を担当している、件の部分だ.\r
-</p><p>0.4.0 では、この入れ子を 3段階程度に減らしたところ、9、10 では再現していないようだ. 11では、最初のうちは動いているが、他のアプリから戻ったときなどに症状が再発する.ちょ、、、(作業の途中、4段階に減らした段階でも、効果は実感できた.)\r
-</p><p><a href="http://sourceforge.jp/projects/pettanr/wiki/CoreDuo">CoreDuo</a> と <a href="http://sourceforge.jp/projects/pettanr/wiki/Core2Duo">Core2Duo</a> Corei5 のマシンでチェックしているが、マシンスペックとの関連性はいまのところ感じない.\r
-</p><p>今回で完全とはいかないが対処法は見えてきたといえそうです.同様の問題の報告は見かけないので、コーディングのスタイルがちょっと特殊っぽいせいもあるかも、、、\r
-</p><p>以下は、0.3.0 の editor の階層.五段階目に問題の RESIZE_CONTROLER がいる.そういえば同じ段の COMIC_ELEMENT_CONSOLE でもよく仕事を忘れて表示がおかしくなが、こちらは機能が損なわれるほど深刻な問題にはならない.\r
-<pre> *   pettanr.editor\r
- *    - MENU_BAR_CONTROL\r
- *    - HISTORY\r
- *    - SAVE_CONTROL\r
- *    - TEXT_EDITOR_CONTROL\r
- *    - IMAGE_GROUP_EXPROLER\r
- *    - WINDOW_CONTROL\r
- *       - WindowClass\r
- *    - INFOMATION_WINDOW\r
- *    - TOOL_BOX_WINDOW\r
- *    - HELP_DOCUMENTS_WINDOW\r
- *    - CANVAS_CONTROL\r
- *       - GRID_CONTROL\r
- *       - WHITE_GLASS_CONTROL\r
- *       - PANEL_BORDER_CONTROL\r
- *       - COMIC_ELEMENT_CONTROL\r
- *          - PanelResizerClass\r
- *          - COMIC_ELEMENT_OPERATOR\r
- *             - COMIC_ELEMENT_CONSOLE\r
- *             - TAIL_CONTROLER\r
- *             - RESIZE_CONTROLER\r
- *             - POSITION_CONTROLER\r
- *          - AbstractComicElement\r
- *          - ImageElementClass\r
- *          - TextElementClass\r
-</pre></p><h2 id="h2-.E3.83.AA.E3.82.AD.E3.83.83.E3.83.89.E3.83.AC.E3.82.A4.E3.82.A2.E3.82.A6.E3.83.88">リキッドレイアウト</h2><p>画面をフルに使ってもいい感じに見せてくれるレイアウト手法をリキッドレイアウトという.Local wiki で痛感したけど、ディスプレイのスペースを有効に使える、リキッドレイアウトをこれから勉強です.\r
-</p><h2 id="h2-Android.2C.20iPad.20.E3.81.AE.E3.83.86.E3.82.B9.E3.83.88.E7.92.B0.E5.A2.83">Android, iPad のテスト環境</h2><p>タイタニウムスタジオ という アプリで IDE環境 と<del>エミュレーションができるらしい.</del>\r
-できない.とりあえず Android には Android SDK からエミュレータを使う.OSのバージョンはさまざま選べるが、2.1 になるとエミュレータがモッサリしてくるので、1.6 で主にチェックする.\r
-</p><h2 id="h2-Web.E3.83.AA.E3.82.BD.E3.83.BC.E3.82.B9.E3.82.92.E6.8A.BD.E8.B1.A1.E5.8C.96.E3.81.99.E3.82.8BOS">Webリソースを抽象化するOS</h2><ul><li>OS が ハードウェアを抽象化するのに対し、WebOS は WebAPI を抽象化する.\r
-</li><li>このような仕組みが必要なのは、サーバがコアなサービスに専念し、それ以外のものをWebAPIで補うため.結果堅牢なサービスになり作品を守ることができる.\r
-</li><li>pettanR ドライバ がファイルシステムに登録されると(resisterDriver)ドライバは ファイルのルートに フォルダを作ることができる.そのフォルダには pettanR ドライバがファイルドライバとして指定されていて、このドライバがまだWebの向こうにあるファイルへのアクセスといった実際の作業を行う.\r
-</li></ul><h2 id="h2-itozyun.20.E3.81.AE.E3.82.AF.E3.83.A9.E3.82.A4.E3.82.A2.E3.83.B3.E3.83.88.E5.88.B6.E4.BD.9C.E3.81.AE.E6.96.B9.E9.87.9D">itozyun のクライアント制作の方針</h2><ul><li>サーバは作品を守り、クライアントはサーバを(負荷から)守る.\r
-</li><li>pettanR 以外の WebAPI を使って機能を追加するのは、サーバに中心テーマから外れる機能追加を強いずにユーザーの要望に応えるため.\r
-</li><li>クライアントにエラーがあっても影響は知れているので、(作品を勝手に削除してしまう、とかは論外として)アグレッシブにいく.\r
-</li><li>とはいえ、クライアントコードの中身は最小限のコアと追加機能部分、という書き方になっているので、安定とアグレッシブのグラデーションができる(はず).\r
-</li><li>javascript の理解を深め、コーディングスタイルを定める.0.4.x までのコードは人に見せたらまずいレベル.\r
-</li></ul><h2 id="h2-.E3.83.A1.E3.83.A2">メモ</h2><ul><li>Mozilla のモバイル用ブラウザ Fennec のx86版.おそらく最終バージョン.小さい画面を有効に使うアイデアがいい.<a href="http://www.mozilla.org/projects/fennec/1.0a1-wm/releasenotes/" class="external" rel="nofollow">http://www.mozilla.org/projects/fennec/1.0a1-wm/releasenotes/</a>\r
-</li></ul><h2 id="h2-about.20itozyun">about itozyun</h2><ul><li>目立ちたがり屋という点でフロント向き.\r
-</li><li>好奇心に負けて地雷を踏む性格なので、API 設計などを任せてはいけない.</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/FrontPage">\r
-    <title>FrontPage</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/FrontPage</link>\r
-    <dc:identifier>FrontPage</dc:identifier>\r
-    <dc:date>2012-03-18T16:02:46+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ぺったんRのWiki =\r
-== 賀正\r
-みなさまよろしくお願いいたします.辰年にあやかっていい感じにいきたいなぁ~、と.\r
-\r
-[[Thumb(dragon.jpg, size=large, caption=辰年!)]]\r
-\r
-original:[[BR]]\r
-http://sourceforge.jp/projects/pettanr/wiki/FrontPage/attach/drago]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E3.81.AEWiki">ぺったんRのWiki</h1><h2 id="h2-.E8.B3.80.E6.AD.A3">賀正</h2><p>みなさまよろしくお願いいたします.辰年にあやかっていい感じにいきたいなぁ~、と.\r
-</p><div class="embed-image" ><a href="http://sourceforge.jp/projects/pettanr/wiki/FrontPage/attach/dragon.jpg"><img src="http://sourceforge.jp/projects/pettanr/wiki/FrontPage/thumb/large/dragon.jpg" alt="dragon.jpg" id="emb-dragon.jpg-1" title="辰年!" class="embed-image" width="427" height="480"></a><div class="caption"><a href="http://sourceforge.jp/projects/pettanr/wiki/FrontPage/attach/dragon.jpg">辰年!</a></div></div><p>\r
-</p><p>original:<br />\r
-<a href="http://sourceforge.jp/projects/pettanr/wiki/FrontPage/attach/dragon.jpg">http://sourceforge.jp/projects/pettanr/wiki/FrontPage/attach/dragon.jpg</a>\r
-</p><h2 id="h2-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E3.81.A3.E3.81.A6.E4.BD.95.E3.81.A0.E3.81.A3.E3.81.A6.E3.81.B0.E3.82.88.EF.BC.9F">ぺったんRって何だってばよ?</h2><p>webで簡単に漫画が作れ、webに簡単に漫画を表示できる仕組み。それを普及させることでwebに広く漫画文化を浸透させる企画。\r
-</p><p>より詳しくは <a href="http://sourceforge.jp/projects/pettanr/wiki/WhatsPettan">WhatsPettan</a>\r
-</p><h2 id="h2-.E9.96.8B.E7.99.BA.E8.80.85.E5.90.91.E3.81.91.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88">開発者向けドキュメント</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForDevelopers">ForDevelopers</a>\r
-</li></ul><h2 id="h2-.E7.B7.A8.E9.9B.86.E9.95.B7.E5.90.91.E3.81.91.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88">編集長向けドキュメント</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForWebmasters">ForWebmasters</a>\r
-</li></ul><h2 id="h2-.E4.BD.9C.E5.AE.B6.E5.90.91.E3.81.91.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88">作家向けドキュメント</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForAuthors">ForAuthors</a>\r
-</li></ul><h2 id="h2-.E7.B5.B5.E5.B8.AB.E5.90.91.E3.81.91.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88">絵師向けドキュメント</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForArtists">ForArtists</a>\r
-</li></ul><h2 id="h2-.E5.90.84.E8.87.AA.E3.81.AE.E3.83.A1.E3.83.A2">各自のメモ</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/YasushiIto">YasushiIto</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ItoZyun">ItoZyun</a>\r
-</li></ul><h2 id="h2-.E8.B3.87.E6.96.99.E7.AD.89">資料等</h2><ul><li>マンガ要素の日英対訳 <a href="http://sourceforge.jp/projects/pettanr/wiki/TranslationComicElements">TranslationComicElements</a>\r
-</li><li>おまけ <a href="http://sourceforge.jp/projects/pettanr/wiki/AppendixList">AppendixList</a>\r
-</li><li>railsのステータスコード <a href="http://sourceforge.jp/projects/pettanr/wiki/StatusCode">StatusCode</a>\r
-</li></ul><script src="/projects/pettanr/files/compact.js" type="text/javascript" charset="utf-8"></script>\r
-<div class="dashboard-widget"><h3 class="titlebar">最近のチケット一覧</h3><div class="dashboard-body"><table class="event-list"><tr class="row-even"><td><a href="/ticket/browse.php?group_id=6674&amp;tid=27952">jsフォームから送信するときページ遷移してほしくない</a></td><td class="date">2012-03-30 10:19</td></tr><tr class="row-even"><td class="extrainfo">今はiframeで結果を捨ててるが、どうせなら遷移しないで欲しい。</td><td class="userinfo"><a href="/users/yasushiito/" class="user-link"><img width="9" height="12" src="http://static.sourceforge.jp/thumb/u/1/989/12x12_0.png" border="0" class="user-image user-image-type-icon" alt="">yasushiito</a></td></tr><tr class="row-odd"><td><a href="/ticket/browse.php?group_id=6674&amp;tid=27955">ComicsControllerのパラメータテストが甘い</a></td><td class="date">2012-03-27 18:07</td></tr><tr class="row-odd"><td class="extrainfo">ページサイズのテストが書けてへんやん。</td><td class="userinfo"><a href="/users/yasushiito/" class="user-link"><img width="9" height="12" src="http://static.sourceforge.jp/thumb/u/1/989/12x12_0.png" border="0" class="user-image user-image-type-icon" alt="">yasushiito</a></td></tr><tr class="row-even"><td><a href="/ticket/browse.php?group_id=6674&amp;tid=27710">エディタの操作中ieでだけエラーが出る</a></td><td class="date">2012-02-28 20:06</td></tr><tr class="row-even"><td class="extrainfo">ie6-8 でエディタの要素のリサイズ中にたまにエラーが発生する.style.width, style.height に 負の数を設定しているのが直接...</td><td class="userinfo"><a href="/users/itozyun/" class="user-link">itozyun</a></td></tr><tr class="row-odd"><td><a href="/ticket/browse.php?group_id=6674&amp;tid=27405">atom機でエディタがもっさり</a></td><td class="date">2012-02-28 20:02</td></tr><tr class="row-odd"><td class="extrainfo">atom搭載のネットブックでエディタがとてもモッサリ.\r
-コードの minify はまだしてないとはいえ、これからクライアントにフ...</td><td class="userinfo"><a href="/users/itozyun/" class="user-link">itozyun</a></td></tr><tr class="row-even"><td><a href="/ticket/browse.php?group_id=6674&amp;tid=27702">タブレットPCで動かない</a></td><td class="date">2012-02-28 20:01</td></tr><tr class="row-even"><td class="extrainfo">タブレット版の IE9 を電器屋でいじってエディターに入ってみましたが、コマのリサイズができなかった.mousemove による パ...</td><td class="userinfo"><a href="/users/itozyun/" class="user-link">itozyun</a></td></tr></table><div class="list_link"><a href="/projects/pettanr/ticket/">チケット一覧を確認</a></div></div></div>\r
-]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/WhatsPettan">\r
-    <title>WhatsPettan</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/WhatsPettan</link>\r
-    <dc:identifier>WhatsPettan</dc:identifier>\r
-\r
-    <dc:date>2012-03-18T15:57:53+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ぺったんとは\r
-[[Embed(http://static.sourceforge.jp/thumb/g/2/926/640x640_0.png, float=left, caption=Hello!)]]\r
-かつて、ぺったんという画期的な漫画作成サイトがあった。一部では高い評価を得たものの、時流には乗れず休眠という不運な道をたどる。しかし、このまま埋もれるには、あまりに惜しいと有志が集まり復]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93.E3.81.A8.E3.81.AF">ぺったんとは</h1><div class="embed-image embed-image-left" style="float: left;"><img src="http://static.sourceforge.jp/thumb/g/2/926/640x640_0.png" alt="640x640_0.png" id="emb-http:2f2fstatic.sourceforge.jp2fthumb2fg2f22f9262f640x640_0.png-1" title="Hello!" class="embed-image embed-image-left"><div class="caption">Hello!</div></div>\r
-<p>かつて、ぺったんという画期的な漫画作成サイトがあった。一部では高い評価を得たものの、時流には乗れず休眠という不運な道をたどる。しかし、このまま埋もれるには、あまりに惜しいと有志が集まり復活プロジェクトが組まれた。時代の変化に合わせるためフルスクラッチの道を進む。それがぺったんRである。\r
-<br clear="left" />\r
-</p><h2 id="h2-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E3.81.AE.E7.9B.AE.E6.A8.99">ぺったんRの目標</h2><h3 id="h3-.E7.B7.8F.E5.90.88.E7.9B.AE.E6.A8.99">総合目標</h3><ul><li>webで簡単に漫画が作れ、webに簡単に漫画を表示できる仕組みを作成する。\r
-<ul><li>ぺったんR開発コアチーム <a href="http://sourceforge.jp/projects/pettanr/wiki/CoreDev">CoreDev</a>\r
-</li></ul></li><li>ぺったんRが永続的に稼働できるような組織づくりと、その運営。\r
-<ul><li>チームぺったん <a href="http://sourceforge.jp/projects/pettanr/wiki/TeamPettan">TeamPettan</a>\r
-</li></ul></li></ul><h3 id="h3-.E9.96.8B.E7.99.BA.E7.9B.AE.E6.A8.99">開発目標</h3><ul><li>漫画形式の表現がブラウザだけでできる\r
-</li><li>漫画形式のブログを簡単に始められる\r
-</li><li>漫画形式のSNSを簡単に始められる\r
-</li><li>漫画形式の記事をブログに埋め込める\r
-</li><li>その他あらゆるwebページに最小限の労力で漫画を表示できる\r
-</li></ul><ul><li>ぺったんR Web API\r
-</li><li>ぺったんR Web API に対応した、ひとつ以上のサーバ側実装\r
-</li><li>ぺったんR Web API に対応した、ひとつ以上のクライアント側実装\r
-</li><li>ぺったんR をお試しできる Web サービスの運営\r
-</li><li>ぺったんRの開発\r
-</li></ul><h2 id="h2-.E7.8F.BE.E5.9C.A8.E3.81.AE.E7.8A.B6.E6.B3.81">現在の状況</h2><ul><li>プロトタイプ作成中。 <a href="http://pettanr.heroku.com/" class="external" rel="nofollow">http://pettanr.heroku.com/</a>\r
-</li><li>プロジェクト Web サイトの制作中 <a href="http://pettanr.sourceforge.jp/index.html" class="external" rel="nofollow">http://pettanr.sourceforge.jp/index.html</a>\r
-</li><li>ユーザーコンソール <a href="http://pettanr.sourceforge.jp/work.html" class="external" rel="nofollow">http://pettanr.sourceforge.jp/work.html</a>\r
-</li></ul><h2 id="h2-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93.E3.81.AE.E6.AD.B4.E5.8F.B2">ぺったんの歴史</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/HistoryOfPettan">HistoryOfPettan</a>\r
-</li></ul><p>以下からは一般向け文書。ヘルプとかマニュアルです。\r
-</p><h2 id="h2-.E7.B5.B5.E5.B8.AB">絵師</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist">GuidanceForArtist</a>\r
-</li></ul><h2 id="h2-.E4.BD.9C.E5.AE.B6">作家</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForAuthor">GuidanceForAuthor</a>\r
-</li></ul><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">ライセンス</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutLicense">AboutLicense</a>\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">\r
-    <title>AboutModels</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AboutModels</link>\r
-    <dc:identifier>AboutModels</dc:identifier>\r
-    <dc:date>2012-03-11T10:19:16+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ER図\r
-下記のページを参考にすれば生成できるはずだが、Windows環境では画像に落とせない。\r
-\r
- * http://sawada0903.blogspot.com/2010/10/rails30er.html\r
- * http://rails-erd.rubyforge.org/install.html\r
-\r
-出力されるERD.dotはdotっていうグラフ描画ツールのマクロ。\r
-\r
-G]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-ER.E5.9B.B3">ER図</h1><p>下記のページを参考にすれば生成できるはずだが、Windows環境では画像に落とせない。\r
-</p><ul><li><a href="http://sawada0903.blogspot.com/2010/10/rails30er.html" class="external" rel="nofollow">http://sawada0903.blogspot.com/2010/10/rails30er.html</a>\r
-</li><li><a href="http://rails-erd.rubyforge.org/install.html" class="external" rel="nofollow">http://rails-erd.rubyforge.org/install.html</a>\r
-</li></ul><p>出力されるERD.dotはdotっていうグラフ描画ツールのマクロ。\r
-</p><p><a href="http://sourceforge.jp/projects/pettanr/wiki/GraphViz">GraphViz</a>のbinにdot.exeがあるからこれで画像にできる\r
-<pre>dot.exe -Tgif ERD.dot &gt; erd.gif\r
-</pre></p><h1 id="h1-.E3.83.86.E3.83.BC.E3.83.96.E3.83.AB.E3.81.A8.E3.82.AB.E3.83.A9.E3.83.A0">テーブルとカラム</h1><h2 id="h2-admins.20.E7.AE.A1.E7.90.86.E8.80.85">admins 管理者</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>email</td><td></td><td>string</td><td>  </td><td>FALSE</td><td> </td><td></td></tr><tr><td>encrypted_password</td><td></td><td>string</td><td> </td><td>FALSE</td><td>128</td><td></td></tr><tr><td>reset_password_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>reset_password_sent_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>remember_created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>sign_in_count</td><td></td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>current_sign_in_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>last_sign_in_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>current_sign_in_ip</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>last_sign_in_ip</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmation_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmed_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmation_sent_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>approve</td><td>承認</td><td>integer</td><td>0</td><td> </td><td> </td><td>1で承認済</td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AdminModel">AdminModel</a>\r
-</li></ul><h2 id="h2-artists.20.E7.B5.B5.E5.B8.AB">artists 絵師</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>email</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>name</td><td>ペンネーム</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>homepage_url</td><td>ホームページURL</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>api_url</td><td>素材配布APIのURL</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>default_license_id</td><td>省略時のライセンスid</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>crowled_at</td><td>素材配布APIの最新呼び出し時刻</td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>author_id</td><td>作家id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistModel">ArtistModel</a>\r
-</li></ul><h2 id="h2-authors.20.E4.BD.9C.E5.AE.B6">authors 作家</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>name</td><td>ペンネーム</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorModel">AuthorModel</a>\r
-</li></ul><h2 id="h2-balloon_templates.20.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E6.9E.A0.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">balloon_templates フキダシ枠テンプレート</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>speach_balloon_id</td><td>フキダシテンプレートid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>system_picture_id</td><td>フキダシ素材id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>tail</td><td>尻尾の向き</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>size</td><td>サイズのバリエーション</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>min_width</td><td>サイズ切り替えしきい値</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>max_width</td><td>サイズ切り替えしきい値</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>min_height</td><td>サイズ切り替えしきい値</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>max_height</td><td>サイズ切り替えしきい値</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BallonTemplateModel">BallonTemplateModel</a>\r
-</li></ul><h2 id="h2-balloons.20.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7">balloons フキダシ</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>panel_id</td><td>所属パネルid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>balloon_template_id</td><td>フキダシ枠テンプレート種id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>system_picture_id</td><td>フキダシ素材id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>tail</td><td>尻尾の向き</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>size</td><td>サイズのバリエーション</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>z</td><td>表示順位</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr><tr><td>width</td><td>表示幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>表示高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BalloonModel">BalloonModel</a>\r
-</li></ul><h2 id="h2-comics.20.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF">comics コミック</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>title</td><td>作品名</td><td>string</td><td></td><td>FALSE</td><td>100</td><td></td></tr><tr><td>width</td><td>コマの幅デフォルト値</td><td>integer</td><td></td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>コマの高さデフォルト値</td><td>integer</td><td></td><td>FALSE</td><td> </td><td></td></tr><tr><td>visible</td><td>公開フラグ</td><td>integer</td><td>0</td><td>false</td><td> </td><td>可視範囲 0:本人のみ 1:友人まで 2:ユーザまで 3:誰でも</td></tr><tr><td>editable</td><td>編集フラグ</td><td>integer</td><td>0</td><td>false</td><td> </td><td>許可範囲 0:本人のみ 1:友人まで 2:ユーザまで 3:誰でも</td></tr><tr><td>author_id</td><td>作者の作家id</td><td>integer</td><td></td><td>false</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>\r
-</li></ul><h2 id="h2-common_licenses.20.E3.82.B3.E3.83.A2.E3.83.B3.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">common_licenses コモンライセンス</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>license_id</td><td>ライセンスid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>name</td><td>ライセンス名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>url</td><td>条項ページURL</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_by</td><td>クリエイティブコモンズBYフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_sa</td><td>クリエイティブコモンズSAフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nd</td><td>クリエイティブコモンズNDフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nc</td><td>クリエイティブコモンズNCフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_resize</td><td>サイズ変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_flip</td><td>反転不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>keep_aspect_ratio</td><td>縦横比変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicenseModel">CommonLicenseModel</a>\r
-</li></ul><h2 id="h2-licenses.20.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">licenses ライセンス</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>name</td><td>ライセンス名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>url</td><td>条項ページURL</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_by</td><td>クリエイティブコモンズBYフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_sa</td><td>クリエイティブコモンズSAフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nd</td><td>クリエイティブコモンズNDフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nc</td><td>クリエイティブコモンズNCフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_resize</td><td>サイズ変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_flip</td><td>反転不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>keep_aspect_ratio</td><td>縦横比変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/LicenseModel">LicenseModel</a>\r
-</li></ul><h2 id="h2-original_licenses.20.E3.82.AA.E3.83.AA.E3.82.B8.E3.83.8A.E3.83.AB.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">original_licenses オリジナルライセンス</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>artist_id</td><td>ライセンス策定者 絵師id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>license_id</td><td>ライセンスid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>name</td><td>ライセンス名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>url</td><td>条項ページURL</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_by</td><td>クリエイティブコモンズBYフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_sa</td><td>クリエイティブコモンズSAフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nd</td><td>クリエイティブコモンズNDフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nc</td><td>クリエイティブコモンズNCフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_resize</td><td>サイズ変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_flip</td><td>反転不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>keep_aspect_ratio</td><td>縦横比変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicenseModel">OriginalLicenseModel</a>\r
-</li></ul><h2 id="h2-original_pictures.20.E5.8E.9F.E7.94.BB">original_pictures 原画</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>ext</td><td>画像フォーマット</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>width</td><td>幅ピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>filesize</td><td>画像サイズ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>artist_id</td><td>投稿者 絵師id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>license_id</td><td>付与ライセンスid</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>resource_picture_id</td><td>素材id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td>配信停止した素材を復旧させる</td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>\r
-</li></ul><h2 id="h2-system_pictures.20.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E7.94.BB.E5.83.8F">system_pictures システム画像</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>ext</td><td>画像フォーマット</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>width</td><td>幅ピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>filesize</td><td>画像サイズ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SystemPictureModel">SystemPictureModel</a>\r
-</li></ul><h2 id="h2-panel_pictures.20.E3.82.B3.E3.83.9E.E7.B5.B5">panel_pictures コマ絵</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>panel_id</td><td>所属パネル</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>resource_picture_id</td><td>素材id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>link</td><td>リンク</td><td>string</td><td> </td><td> </td><td>200</td><td>参照するページをリンクできる</td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>z</td><td>表示順位</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr><tr><td>width</td><td>コマ絵の幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>コマ絵の高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel">PanelPictureModel</a>\r
-</li></ul><h2 id="h2-panels.20.E3.82.B3.E3.83.9E">panels コマ</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>comic_id</td><td>所属コミック</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>resource_picture_id</td><td>背景画像 素材id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>width</td><td>コマの幅</td><td>integer</td><td>200</td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>コマの高さ</td><td>integer</td><td>80</td><td>FALSE</td><td> </td><td></td></tr><tr><td>border</td><td>コマの枠線の太さ</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>x</td><td>表示位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>y</td><td>表示位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>z</td><td>表示優先順位</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>t</td><td>コマ番号</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>author_id</td><td>コマの投稿者 作家id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelModel">PanelModel</a>\r
-</li></ul><h2 id="h2-reffers.20.E3.82.B3.E3.83.9E.E3.81.AE.E5.8F.82.E7.85.A7">reffers コマの参照</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>from_id</td><td>ソースとなるコマのid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>to_id</td><td>貼りつけ先のコマのid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>creditor_id</td><td>コマの貸し手 作家id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>borrower_id</td><td>コマの借り手 作家id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/RefferModel">RefferModel</a>\r
-</li></ul><h2 id="h2-resource_pictures.20.E7.B4.A0.E6.9D.90">resource_pictures 素材</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>ext</td><td>画像フォーマット</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>width</td><td>幅ピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>filesize</td><td>画像サイズ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>artist_id</td><td>投稿者 絵師id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>license_id</td><td>付与ライセンスid</td><td>integer</td><td> </td><td> </td><td> </td><td><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicture">OriginalPicture</a>のコピー 変更不可</td></tr><tr><td>original_picture_id</td><td>原画id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel">ResourcePictureModel</a>\r
-</li></ul><h2 id="h2-speach_balloons.20.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">speach_balloons フキダシテンプレート</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>name</td><td>フキダシ名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>tail_count</td><td>尻尾の向きの数</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>size_count</td><td>サイズのバリエーション数</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>表示順</td><td>integer</td><td>1</td><td>false</td><td> </td><td>ファイルエクスプローラーなどで</td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonModel">SpeachBalloonModel</a>\r
-</li></ul><h2 id="h2-speach_templates.20.E3.82.BB.E3.83.AA.E3.83.95.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">speach_templates セリフテンプレート</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>balloon_template_id</td><td>フキダシ枠テンプレートid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr><tr><td>width</td><td>幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachTemplateModel">SpeachTemplateModel</a>\r
-</li></ul><h2 id="h2-speaches.20.E3.82.BB.E3.83.AA.E3.83.95">speaches セリフ</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>balloon_id</td><td>フキダシ枠id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>speach_template_id</td><td>テンプレートid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>content</td><td>台詞</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr><tr><td>width</td><td>幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachModel">SpeachModel</a>\r
-</li></ul><h2 id="h2-users.20.E3.83.A6.E3.83.BC.E3.82.B6">users ユーザ</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>email</td><td>メールアドレス</td><td>string</td><td>  </td><td>FALSE</td><td> </td><td></td></tr><tr><td>encrypted_password</td><td></td><td>string</td><td> </td><td>FALSE</td><td>128</td><td></td></tr><tr><td>reset_password_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>reset_password_sent_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>remember_created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>sign_in_count</td><td></td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>current_sign_in_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>last_sign_in_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>current_sign_in_ip</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>last_sign_in_ip</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>authentication_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmation_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmed_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmation_sent_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/UserModel">UserModel</a>\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou">\r
-    <title>AboutEbizou</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou</link>\r
-\r
-    <dc:identifier>AboutEbizou</dc:identifier>\r
-    <dc:date>2012-03-10T11:08:55+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= エビゾゥ\r
-関節ごとに部品になっているので、手離れが良い。表情は一切なく、アングルもせいぜい十種程度に限定。下の絵は使いやすいように、あらかじめ組み合わせてある。\r
-[[Embed(http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/of.png)]]\r
-[[Embed(http://sourceforge.jp/pro]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.A8.E3.83.93.E3.82.BE.E3.82.A5">エビゾゥ</h1><p>関節ごとに部品になっているので、手離れが良い。表情は一切なく、アングルもせいぜい十種程度に限定。下の絵は使いやすいように、あらかじめ組み合わせてある。\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/of.png" alt="of.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutEbizou2fattach2fof.png-1" title="of.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/of1.png" alt="of1.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutEbizou2fattach2fof1.png-1" title="of1.png" class="embed-image">\r
-</p><img src="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/fbase.png" alt="fbase.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutEbizou2fattach2ffbase.png-1" title="fbase.png" class="embed-image"><p>\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/osbbase.png" alt="osbbase.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutEbizou2fattach2fosbbase.png-1" title="osbbase.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/osfbase.png" alt="osfbase.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutEbizou2fattach2fosfbase.png-1" title="osfbase.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/ubase.png" alt="ubase.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutEbizou2fattach2fubase.png-1" title="ubase.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/ufbase.png" alt="ufbase.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutEbizou2fattach2fufbase.png-1" title="ufbase.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/usbbase.png" alt="usbbase.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutEbizou2fattach2fusbbase.png-1" title="usbbase.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/usfbase.png" alt="usfbase.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutEbizou2fattach2fusfbase.png-1" title="usfbase.png" class="embed-image">\r
-</p>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/SideBar">\r
-    <title>SideBar</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/SideBar</link>\r
-    <dc:identifier>SideBar</dc:identifier>\r
-    <dc:date>2012-03-07T10:13:07+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= 最近の更新 (Recent Changes)\r
-\r
-[[RecentChanges(max=30)]]\r
-\r
-[[ReleaseList]]\r
-\r
-= [wiki:docs:WikiGuide Wikiガイド(Guide)]\r
-\r
-  * [wiki:docs:WikiSyntax Wikiの文法]\r
-  * [wiki:docs:WikiLinks リンクの種類と文法]\r
-  * [wiki]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E6.9C.80.E8.BF.91.E3.81.AE.E6.9B.B4.E6.96.B0.20.28Recent.20Changes.29">最近の更新 (Recent Changes)</h1><h4 id="h4-2012-04-01">2012-04-01</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreate">OriginalPicturesCreate</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsNew">ArtistsNew</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsController">ArtistsController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsNewView">ArtistsNewView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ApiIndex">ApiIndex</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerCreate">PanelsControllerCreate</a>\r
-</li></ul><h4 id="h4-2012-03-31">2012-03-31</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost">TestLocalhost</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlay">ComicsPlay</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlayView">ComicsPlayView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsShowView">ComicsShowView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEditView">OriginalPicturesEditView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNewView">OriginalPicturesNewView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreateView">OriginalPicturesCreateView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdateView">OriginalPicturesUpdateView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdate">OriginalPicturesUpdate</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdate">ComicsUpdate</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEdit">OriginalPicturesEdit</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsEdit">ComicsEdit</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsCreate">ComicsCreate</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsNew">ComicsNew</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShow">OriginalPicturesShow</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsShow">ComicsShow</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsIndex">ComicsIndex</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNew">OriginalPicturesNew</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndex">OriginalPicturesIndex</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/YasushiIto">YasushiIto</a>\r
-</li></ul><h4 id="h4-2012-03-29">2012-03-29</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndexView">OriginalPicturesIndexView</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShowView">OriginalPicturesShowView</a>\r
-</li></ul>\r
-<script src="/projects/pettanr/files/compact.js" type="text/javascript" charset="utf-8"></script>\r
-<h1 id="h1-.5Bwiki.3Adocs.3AWikiGuide.20Wiki.E3.82.AC.E3.82.A4.E3.83.89.28Guide.29.5D"><a href="http://sourceforge.jp/projects/docs/wiki/WikiGuide" class="external-wiki">Wikiガイド(Guide)</a></h1><ul><li><a href="http://sourceforge.jp/projects/docs/wiki/WikiSyntax" class="external-wiki">Wikiの文法</a>\r
-</li><li><a href="http://sourceforge.jp/projects/docs/wiki/WikiLinks" class="external-wiki">リンクの種類と文法</a>\r
-</li><li><a href="http://sourceforge.jp/projects/docs/wiki/WikiBlockProcessor" class="external-wiki">ブロックプロセッサ</a>\r
-</li><li><a href="http://sourceforge.jp/projects/docs/wiki/WikiPlugins" class="external-wiki">拡張文法</a>\r
-</li><li><a href="http://sourceforge.jp/projects/docs/wiki/WikiSideBar" class="external-wiki">サイドバー</a>\r
-</li><li><a href="http://sourceforge.jp/projects/docs/wiki/WikiAffiliateSetting" class="external-wiki">プロジェクトWikiでの広告設定</a>\r
-</li></ul><h1 id="h1-.E3.82.B5.E3.82.A4.E3.83.89.E3.83.90.E3.83.BC.20.28Side.20Bar.29">サイドバー (Side Bar)</h1><ul><li><a href="http://sourceforge.jp/projects/docs/wiki/WikiSideBar" class="external-wiki">このサイドバーについて</a>\r
-</li><li><a rel="nofollow" href="/projects/pettanr/wiki/SideBar?action=edit">このサイドバーの編集</a></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AuthorsController">\r
-    <title>AuthorsController</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AuthorsController</link>\r
-    <dc:identifier>AuthorsController</dc:identifier>\r
-    <dc:date>2012-03-07T09:01:19+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 作家 @ RailsControllers\r
-作家陣のデータ。プロフィールを表示したり、作品を探したり。\r
-\r
-参考:AuthorModel\r
-== AuthorsIndex\r
-== AuthorsShow\r
-== AuthorsCount\r
-== AuthorsComics\r
-== AuthorsPanels\r
-----\r
-== list\r
-管理者のための閲覧リスト。\r
-----\r
-== b]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E4.BD.9C.E5.AE.B6.20.40.20RailsControllers">作家 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>作家陣のデータ。プロフィールを表示したり、作品を探したり。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorModel">AuthorModel</a>\r
-</p><h2 id="h2-AuthorsIndex"><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsIndex">AuthorsIndex</a></h2><h2 id="h2-AuthorsShow"><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsShow">AuthorsShow</a></h2><h2 id="h2-AuthorsCount"><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsCount">AuthorsCount</a></h2><h2 id="h2-AuthorsComics"><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsComics">AuthorsComics</a></h2><h2 id="h2-AuthorsPanels"><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsPanels">AuthorsPanels</a></h2><hr /><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController">\r
-    <title>ResourcePicturesController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController</link>\r
-    <dc:identifier>ResourcePicturesController</dc:identifier>\r
-\r
-    <dc:date>2012-03-07T08:58:12+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 素材 @ RailsControllers\r
-作家が利用する素材に関する機能。原画のコピーなので、読み込みしかできない。\r
-\r
-参考:ResourcePictureModel\r
-\r
-== ResourcePicturesIndex\r
-== ResourcePicturesShow\r
-== ResourcePicturesCount\r
-----\r
-== list\r
-管理者のための閲覧リスト。\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E7.B4.A0.E6.9D.90.20.40.20RailsControllers">素材 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>作家が利用する素材に関する機能。原画のコピーなので、読み込みしかできない。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel">ResourcePictureModel</a>\r
-</p><h2 id="h2-ResourcePicturesIndex"><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesIndex">ResourcePicturesIndex</a></h2><h2 id="h2-ResourcePicturesShow"><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesShow">ResourcePicturesShow</a></h2><h2 id="h2-ResourcePicturesCount"><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesCount">ResourcePicturesCount</a></h2><hr /><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AuthorModel">\r
-    <title>AuthorModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AuthorModel</link>\r
-    <dc:identifier>AuthorModel</dc:identifier>\r
-    <dc:date>2012-03-07T08:55:05+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 作家 authors @ AboutModels\r
-参考:AuthorsController\r
-== カラム\r
-||name||和名||type||default||null||limit||note||\r
-||name||ペンネーム||string|| || || ||||\r
-||user_id||ログインユーザ||integer|| ||false|| ||||\r
-||created_at]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E4.BD.9C.E5.AE.B6.20authors.20.40.20AboutModels">作家 authors @ <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a></h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsController">AuthorsController</a>\r
-</p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>name</td><td>ペンネーム</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>user_id</td><td>ログインユーザ</td><td>integer</td><td> </td><td>false</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel">\r
-    <title>PanelPictureModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel</link>\r
-\r
-    <dc:identifier>PanelPictureModel</dc:identifier>\r
-    <dc:date>2012-03-07T08:10:56+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= コマ絵 panel_pictures\r
-コマ上に添付された素材に関するデータ。\r
-\r
-参考:PanelPicturesController\r
-\r
-== カラム\r
-||name||和名||type||default||null||limit||note||\r
-||panel_id||所属パネル||integer|| ||FALSE|| ||||\r
-||resource_picture_id||素]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9E.E7.B5.B5.20panel_pictures">コマ絵 panel_pictures</h1><p>コマ上に添付された素材に関するデータ。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController">PanelPicturesController</a>\r
-</p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>panel_id</td><td>所属パネル</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>resource_picture_id</td><td>素材id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>link</td><td>リンク</td><td>string</td><td> </td><td> </td><td>200</td><td>参照するページをリンクできる</td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>z</td><td>表示順位</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr><tr><td>width</td><td>コマ絵の幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>コマ絵の高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><h2 id="h2-.E4.BD.9C.E6.88.90.E6.89.8B.E9.A0.86">作成手順</h2><p>コマ絵は常にパネル経由で作成されるため、<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a>からパラメータをもらって作成する。\r
-</p><h2 id="h2-.E8.87.AA.E5.8B.95.E8.A3.9C.E5.85.85">自動補充</h2><p>クライアントは作成・更新時にデータを渡すが、中には自動で値が補充されるカラムもある。\r
-</p><h3 id="h3-width">width</h3><ul><li>省略時は素材のwidthを補充する。\r
-<ul><li>resource_picture_idから辿る。\r
-</li></ul></li></ul><h3 id="h3-height">height</h3><ul><li>省略時は素材のheightを補充する。\r
-<ul><li>resource_picture_idから辿る。\r
-</li></ul></li></ul><h3 id="h3-created_at">created_at</h3><ul><li><ul><li>新規作成時には値は自動補充される。\r
-</li></ul></li></ul><h3 id="h3-updated_at">updated_at</h3><ul><li><ul><li>更新時には値は自動補充される。\r
-</li></ul></li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><h3 id="h3-.E3.82.AB.E3.83.A9.E3.83.A0.E5.88.A5">カラム別</h3><h3 id="h3-panel_id">panel_id</h3><h3 id="h3-width-2">width</h3><ul><li>ライセンスチェック\r
-<ul><li>resource_picture_idから辿る素材のライセンスで提示された操作に違反していないか。\r
-<ul><li>反転を許可していないとき\r
-<ul><li>値が正であること。\r
-</li></ul></li><li>サイズ変更を許可していないとき\r
-<ul><li>値が原寸と一致すること。\r
-</li></ul></li><li>縦横比の変更を許可していないとき\r
-<ul><li>原寸の縦横比の誤差が1%以内であること。\r
-</li></ul></li></ul></li></ul></li></ul><h3 id="h3-height-2">height</h3><ul><li>ライセンスチェック\r
-<ul><li>resource_picture_idから辿る素材のライセンスで提示された操作に違反していないか。\r
-<ul><li>反転を許可していないとき\r
-<ul><li>値が正であること。\r
-</li></ul></li><li>サイズ変更を許可していないとき\r
-<ul><li>値が原寸と一致すること。\r
-</li></ul></li><li>縦横比の変更を許可していないとき\r
-<ul><li>原寸の縦横比の誤差が1%以内であること。\r
-</li></ul></li></ul></li></ul></li></ul><h3 id="h3-.E5.85.A8.E4.BD.93">全体</h3>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesControllerIndex">\r
-    <title>PanelPicturesControllerIndex</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesControllerIndex</link>\r
-    <dc:identifier>PanelPicturesControllerIndex</dc:identifier>\r
-    <dc:date>2012-03-06T18:46:26+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= index @ PanelPicturesController\r
-一覧形式\r
-=== url\r
- * http://localhost:3000/panel_pictures\r
- * http://localhost:3000/panel_pictures.json\r
-=== リクエスト\r
-||権限||作家*||\r
-||method||get||\r
-||urlパラメータ||{page=1,pa]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-index.20.40.20PanelPicturesController">index @ <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController">PanelPicturesController</a></h1><p>一覧形式\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/panel_pictures" class="external" rel="nofollow">http://localhost:3000/panel_pictures</a>\r
-</li><li><a href="http://localhost:3000/panel_pictures.json" class="external" rel="nofollow">http://localhost:3000/panel_pictures.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家*</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>{page=1,page_size=25}</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>最近使われた素材20件を一覧形式で表示する。ただし、作者によって非公開にされたコミックのコマで使われた素材は含まない。\r
-</p><p>最近使われた素材の情報はトップページに表示されるが、量が少ないため「もっと見る」が用意されている。それがクリックされたときに遷るページがここ。また、素材エクスプローラーでも使われる。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>権限をチェックする。\r
-</li><li>comicのvisible=1な行を取得する。\r
-<ul><li>pageのオフセットを加えた位置からpage_size件分取得し、panels.panel_pictures.updated_at降順でソートする。\r
-</li></ul></li><li>取得したデータを返す。\r
-<ul><li>htmlなら整形してページを返す。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-page">page</h4><ul><li>表示するデータが何ページ目からのものか。\r
-</li><li>省略時、不正な値が渡された時は1となる。\r
-</li></ul><h4 id="h4-page_size">page_size</h4><ul><li>1ページに収まる行の数。\r
-</li><li>省略時、不正な値が渡された時は定数panel_picture_default_page_size=25となる。\r
-</li><li>値が定数panel_picture_max_page_size=100を超えた時は、この値に切り詰められる。\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>panel_pictures\r
-<ul><li>resource_pictures\r
-<ul><li>artist\r
-</li><li>licenses\r
-</li></ul></li></ul></li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li><li>ただし、オープンモードで起動しているなら、サインインの必要はない。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/BundledLicenses">\r
-    <title>BundledLicenses</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/BundledLicenses</link>\r
-    <dc:identifier>BundledLicenses</dc:identifier>\r
-    <dc:date>2012-03-06T18:38:54+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ライセンス\r
-== ぺったん1.0\r
- * ぺったんの仕様でできること、できないことを定義したもの。\r
- * gifには変換できるが、反転はできないとか。\r
-== ぺったん2.0\r
- * ぺったんRの仕様を無理なく使えるよう定義したもの。\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">ライセンス</h1><h2 id="h2-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.931.0">ぺったん1.0</h2><ul><li>ぺったんの仕様でできること、できないことを定義したもの。\r
-</li><li>gifには変換できるが、反転はできないとか。\r
-</li></ul><h2 id="h2-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.932.0">ぺったん2.0</h2><ul><li>ぺったんRの仕様を無理なく使えるよう定義したもの。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AppendixList">\r
-    <title>AppendixList</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AppendixList</link>\r
-    <dc:identifier>AppendixList</dc:identifier>\r
-\r
-    <dc:date>2012-03-06T18:38:15+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= おまけ\r
- * BundledPictures\r
- * BundledSpeachBalloons\r
- * BundledLicenses\r
-\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.81.8A.E3.81.BE.E3.81.91">おまけ</h1><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BundledPictures">BundledPictures</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons">BundledSpeachBalloons</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BundledLicenses">BundledLicenses</a>\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutLicense">\r
-    <title>AboutLicense</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AboutLicense</link>\r
-    <dc:identifier>AboutLicense</dc:identifier>\r
-    <dc:date>2012-03-06T18:35:22+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ライセンスについて\r
-※ここはぺったんに投稿された画像の著作権に関する話題です。\r
-\r
-== 選べるライセンス\r
-ぺったんには、あらかじめ一般的なライセンスを用意してあります。パブリックドメインやクリエイティブコモンズなどです。\r
-\r
-絵師は提供する素材にこれらのライセンスを付与して明記することができます。\r
-\r
-== 用意されたライセンス\r
- * Public Domain\r
-   * ライ]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6">ライセンスについて</h1><p>※ここはぺったんに投稿された画像の著作権に関する話題です。\r
-</p><h2 id="h2-.E9.81.B8.E3.81.B9.E3.82.8B.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">選べるライセンス</h2><p>ぺったんには、あらかじめ一般的なライセンスを用意してあります。パブリックドメインやクリエイティブコモンズなどです。\r
-</p><p>絵師は提供する素材にこれらのライセンスを付与して明記することができます。\r
-</p><h2 id="h2-.E7.94.A8.E6.84.8F.E3.81.95.E3.82.8C.E3.81.9F.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">用意されたライセンス</h2><ul><li>Public Domain\r
-<ul><li>ライセンス表示 <a href="http://ja.wikipedia.org/wiki/%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3" class="external" rel="nofollow">http://ja.wikipedia.org/wiki/%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3</a>\r
-</li></ul></li><li>Creative Commons 3.0(by)\r
-<ul><li>ライセンス表示 <a href="http://creativecommons.org/licenses/by/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by/3.0/legalcode</a>\r
-</li></ul></li><li>Creative Commons 3.0(by_sa)\r
-<ul><li>ライセンス表示 <a href="http://creativecommons.org/licenses/by-sa/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by-sa/3.0/legalcode</a>\r
-</li></ul></li><li>Creative Commons 3.0(by_nd)\r
-<ul><li>ライセンス表示 <a href="http://creativecommons.org/licenses/by-nd/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by-nd/3.0/legalcode</a>\r
-</li></ul></li><li>Creative Commons 3.0(by_nc)\r
-<ul><li>ライセンス表示 <a href="http://creativecommons.org/licenses/by-nc/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by-nc/3.0/legalcode</a>\r
-</li></ul></li><li>Creative Commons 3.0(by_nc_sa)\r
-<ul><li>ライセンス表示 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode</a>\r
-</li></ul></li><li>Creative Commons 3.0(by_nc_nd)\r
-<ul><li>ライセンス表示 <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode</a>\r
-</li></ul></li><li>Unknown\r
-<ul><li>著作権がはっきりしないもの\r
-</li></ul></li></ul><h2 id="h2-.E5.90.88.E3.81.A3.E3.81.9F.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.8C.E3.81.AA.E3.81.84">合ったライセンスがない</h2><p>自前の作品に特殊なライセンスを付与したいと考えるケースもあるでしょう。そういった場合、絵師がライセンスを作成することができます。このような特殊なライセンスをぺったんではオリジナルライセンスと言います。それに対して、ぺったんにあらかじめ用意されたライセンスをコモンライセンスと言います。\r
-</p><p>特に区別したい場合は、コモンライセンス・オリジナルライセンスと言いますが、ただライセンスと言った場合は、両者を合わせたものとなります。\r
-</p><h2 id="h2-.E3.82.B3.E3.83.A2.E3.83.B3.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">コモンライセンス</h2><p>コモンライセンスをメンテナンスできるのは管理者だけです。\r
-</p><h2 id="h2-.E3.82.AA.E3.83.AA.E3.82.B8.E3.83.8A.E3.83.AB.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">オリジナルライセンス</h2><p>絵師はオリジナルライセンスを作成できます。また、自分が作成したオリジナルライセンスを更新できます。\r
-</p><h3 id="h3-.E3.82.B3.E3.83.A2.E3.83.B3.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.B8.E3.81.AE.E6.98.87.E6.A0.BC">コモンライセンスへの昇格</h3><p>何かと信頼の薄いオリジナルライセンスですが、ある程度の評価が得られ、ぺったん管理者が有用性を認めればコモンライセンスへ昇格することもあります。\r
-</p><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.8C.E5.89.8A.E9.99.A4.E3.81.95.E3.82.8C.E3.82.8B.E3.81.A8">ライセンスが削除されると</h2><p>ライセンスを削除してしまうと、そのライセンスを適用した素材はすべてライセンスなしになってしまいます。それを避けるために一枚でも適用されているライセンスは削除できません。\r
-</p><h2 id="h2-.E3.82.AA.E3.83.AA.E3.82.B8.E3.83.8A.E3.83.AB.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.A7.E6.98.8E.E7.A4.BA.E3.81.A7.E3.81.8D.E3.82.8B.E3.81.93.E3.81.A8">オリジナルライセンスで明示できること</h2><ul><li>cc_by 作者の表示\r
-<ul><li>素材の画像を表示するとき、絵師名を表示しなければならない。\r
-</li></ul></li><li>cc_sa 継承\r
-<ul><li>ぺったんRのシステム的には何もしない\r
-</li></ul></li><li>cc_nd 改変禁止\r
-<ul><li>反転してはならない\r
-</li><li>画像フォーマットを変換してはならない\r
-</li><li>コマを画像にしてはならない\r
-</li></ul></li><li>cc_nc 非営利\r
-<ul><li>会員制の有料サイトで利用してはならない\r
-</li></ul></li><li>no_resize サイズ変更の禁止\r
-<ul><li>値が 0のとき無効 1のとき有効\r
-</li><li>素材をコマ上でリサイズしてはならない\r
-</li></ul></li><li>no_flip 反転の禁止\r
-<ul><li>値が 0のとき無効 1のとき有効\r
-</li><li>素材をコマ上で垂直反転水平反転してはならない\r
-</li></ul></li><li>no_convert 画像フォーマット変換の禁止\r
-<ul><li>cc_ndより緩い禁止\r
-</li><li>反転だけは許可する\r
-</li></ul></li><li>keep_aspect_ratio 縦横比変更の禁止\r
-<ul><li>値が 0のとき無効 1のとき有効\r
-</li><li>素材をコマ上でリサイズしてもよいが縦横比を変えてはならない\r
-</li></ul></li></ul><p>クリエイティブコモンズの属性はすべて用意しましたが、ぺったん上ではあまり効果を発揮できません。というのも、ぺったんには画像を改変する機能が備わっていませんから、改変しようがないし、投稿された素材が改変されたものであるかを判別する手立てがないのです。非営利についても似たようなもので、web上の配布に営利はありません。もちろんアフィリエイトも禁止されているわけではありません。\r
-</p><p>作者の表示については必ず同一ページ内に表示します。ただし、ぺったんRはオープンソースライセンスですから、ソースコードが改変された場合は、その限りではありません。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ForArtists">\r
-    <title>ForArtists</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ForArtists</link>\r
-\r
-    <dc:identifier>ForArtists</dc:identifier>\r
-    <dc:date>2012-03-06T18:34:04+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 絵師向け文書\r
-はじめに GuidanceForArtist\r
-== ライセンス\r
-AboutLicense\r
-\r
-== 原画と素材の違い\r
- * 設計当初は明確にあったはずだが失念してしまった\r
- * コミュには書いてあったはずだが、もうない\r
- * 単純にサイト内からの投稿と外部から提供かを分けたかったから?\r
- * 絵師と作家で揉めた時を考慮したのかも\r
-   * ResourcePic]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E7.B5.B5.E5.B8.AB.E5.90.91.E3.81.91.E6.96.87.E6.9B.B8">絵師向け文書</h1><p>はじめに <a href="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist">GuidanceForArtist</a>\r
-</p><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">ライセンス</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutLicense">AboutLicense</a>\r
-</p><h2 id="h2-.E5.8E.9F.E7.94.BB.E3.81.A8.E7.B4.A0.E6.9D.90.E3.81.AE.E9.81.95.E3.81.84">原画と素材の違い</h2><ul><li>設計当初は明確にあったはずだが失念してしまった\r
-</li><li>コミュには書いてあったはずだが、もうない\r
-</li><li>単純にサイト内からの投稿と外部から提供かを分けたかったから?\r
-</li><li>絵師と作家で揉めた時を考慮したのかも\r
-<ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictures">ResourcePictures</a>は絵師が安全に提供停止するための緩衝地帯\r
-</li></ul></li><li>実は「どういう状況ではどちらを使う」という決定はしてこなかった\r
-<ul><li>コーディングしながら違和感はあったけど無視した\r
-</li></ul></li><li>いま、使い分けを考え中。\r
-<ul><li>原画はオーナーしか操作できないようにしてもいいのかな?\r
-</li></ul></li><li>原画はオーナーだけ、素材は作家の参照だけってことで決定。\r
-<ul><li>関係モデルとのリンクは両者ともに用意。</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerShow">\r
-    <title>PanelsControllerShow</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerShow</link>\r
-    <dc:identifier>PanelsControllerShow</dc:identifier>\r
-    <dc:date>2012-03-06T18:28:20+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= show @ PanelsController\r
-コマ表示。ぺったんの超本丸。\r
-=== url\r
- * http://localhost:3000/panels/1\r
- * http://localhost:3000/panels/1.json\r
-=== リクエスト\r
-||権限||作家*||\r
-||method||get||\r
-||urlパラメータ||id||\r
-||POSTデータ||jso]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-show.20.40.20PanelsController">show @ <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a></h1><p>コマ表示。ぺったんの超本丸。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/panels/1" class="external" rel="nofollow">http://localhost:3000/panels/1</a>\r
-</li><li><a href="http://localhost:3000/panels/1.json" class="external" rel="nofollow">http://localhost:3000/panels/1.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家*</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>コマを表示する、あるいはコマを表示するためのデータを返す機能。\r
-</p><ul><li>認証トークンから作家アカウントを特定する。\r
-</li><li>要求されたidのpanelを取得する。\r
-</li><li>権限をチェックする。 \r
-</li><li>取得したデータを返す。\r
-<ul><li>htmlなら整形してページを返す。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>コミックのid\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.82.B3.E3.83.9E.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E6.95.B4.E5.BD.A2">コマデータの整形</h3><p>コマ絵とフキダシは時系列tでソートして返さなければならない。表示的にはすべてが時間で上から下に流れるのがぺったんRの仕様である。しかし、sqlでは二つのテーブルを混ぜてソートはできないので時系列順に配置しなおして(配列のキーをtにして)戻さなければならない。balloons配下のspeachesも同様にtでソートしておく。\r
-<pre>panels:{\r
-  1: balloons: {...},\r
-  2: panel_pictures: {...},\r
-  3: balloons: {speaches: {1: {...}, 2:{...}}},\r
-  4: panel_pictures: {...},\r
-}\r
-</pre></p><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>panels\r
-<ul><li>panel_pictures\r
-<ul><li>resource_picture\r
-<ul><li>artist\r
-</li><li>license\r
-</li></ul></li></ul></li><li>balloons\r
-<ul><li>speaches\r
-</li></ul></li></ul></li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li><li>ただし、オープンモードで起動しているなら、サインインの必要はない。\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><ul><li>apiが返すデータを一つでも表示する場合、表示義務が発生する。\r
-</li><li>表示されるすべての素材のartist.nameを表示しなければならない。\r
-</li><li>コマのauthor.nameを表示しなければならない。\r
-</li><li>下記のModelについて、より詳細な情報を閲覧できるページへ遷移する措置を用意しなければならない。\r
-<ul><li>author\r
-</li></ul></li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel">\r
-    <title>ResourcePictureModel</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel</link>\r
-    <dc:identifier>ResourcePictureModel</dc:identifier>\r
-    <dc:date>2012-03-06T18:25:31+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 素材 @ AboutModels\r
-絵師から提供された原画OriginalPictureModelをコマPanel上で扱いやすいように整えた画像に関するデータ。\r
-\r
-参考:ResourcePicturesController\r
-\r
-== カラム\r
-||name||和名||type||default||null||limit||note||\r
-||ext||画像フォーマット||string||]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E7.B4.A0.E6.9D.90.20.40.20AboutModels">素材 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a></h1><p>絵師から提供された原画<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>をコマPanel上で扱いやすいように整えた画像に関するデータ。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController">ResourcePicturesController</a>\r
-</p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>ext</td><td>画像フォーマット</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>width</td><td>幅ピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>filesize</td><td>画像サイズ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>artist_id</td><td>投稿者 絵師id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>license_id</td><td>付与ライセンスid</td><td>integer</td><td> </td><td> </td><td> </td><td><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicture">OriginalPicture</a>のコピー 変更不可</td></tr><tr><td>original_picture_id</td><td>原画id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>referred_count</td><td>コマ絵に使われた数</td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>cool</td><td>近頃にコマ絵で使われた数</td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>referred_at</td><td>最新参照日時</td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li>resource_pictures.cool\r
-</li><li>resource_pictures.referred_count\r
-</li></ul><h2 id="h2-.E4.BD.9C.E6.88.90.E6.89.8B.E9.A0.86">作成手順</h2><p>原画が作成される段階でコピーとして作成されるデータなので、クライアントから明示的に作成する機会はない。すべてのデータは原画側から渡ってくる。\r
-原則として読み込み専用なので、原画更新時以外に書き換えられることはない。オーナーであっても直接タッチはできない。必ず原画から操作する。\r
-</p><p>作成時に反転画像、gifフォーマット画像ととサムネイルも作成する。レコードの作成と画像の保存は一つのトランザクションで行う。\r
-</p><h2 id="h2-.E7.94.BB.E5.83.8F.E3.81.AE.E4.BF.9D.E5.AD.98.E5.A0.B4.E6.89.80">画像の保存場所</h2><ul><li>パラメータで渡ってくる画像は保存先に指定されているベースディレクトリに保存する。\r
-</li><li>gif変換する場合は、同じくベースディレクトリに保存する。\r
-</li><li>垂直反転はベースディレクトリ配下の/vに保存する。\r
-</li><li>水平反転はベースディレクトリ配下の/hに保存する。\r
-</li><li>垂直水平反転はベースディレクトリ配下の/vhに保存する。\r
-</li><li>サムネイルはベースディレクトリ配下の/thumbnailに保存する。\r
-</li></ul><h2 id="h2-.E8.87.AA.E5.8B.95.E8.A3.9C.E5.85.85">自動補充</h2><p>クライアントは作成・更新時にデータを渡すが、中には自動で値が補充されるカラムもある。\r
-</p><h3 id="h3-ext">ext</h3><ul><li>渡された画像から得たファイルフォーマットが自動補充される。\r
-</li></ul><h3 id="h3-width">width</h3><ul><li>渡された画像から得た幅が自動補充される。\r
-</li></ul><h3 id="h3-height">height</h3><ul><li>渡された画像から得た高さが自動補充される。\r
-</li></ul><h3 id="h3-filesize">filesize</h3><ul><li>渡された画像から得たファイルサイズが自動補充される。\r
-</li></ul><h3 id="h3-artist_id">artist_id</h3><ul><li>新規作成時にはサインイン中の絵師idが自動補充される。\r
-</li></ul><h3 id="h3-original_picture_id">original_picture_id</h3><ul><li>このデータの元となる原画から自動補充される。\r
-</li></ul><h3 id="h3-panel_picture_count">panel_picture_count</h3><ul><li>新規作成時には値は0で自動補充される。\r
-</li></ul><h3 id="h3-created_at">created_at</h3><ul><li>新規作成時には値は自動補充される。\r
-</li></ul><h3 id="h3-updated_at">updated_at</h3><ul><li>更新時には値は自動補充される。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><h3 id="h3-.E3.82.AB.E3.83.A9.E3.83.A0.E5.88.A5">カラム別</h3><h3 id="h3-ext-2">ext</h3><ul><li>nullでないこと。\r
-</li><li>4文字以内であること。\r
-</li></ul><h3 id="h3-width-2">width</h3><ul><li>数値であること\r
-</li><li>正の整数であること。 \r
-</li></ul><h3 id="h3-height-2">height</h3><ul><li>数値であること\r
-</li><li>正の整数であること。 \r
-</li></ul><h3 id="h3-filesize-2">filesize</h3><ul><li>数値であること\r
-</li><li>2MB以内であること。\r
-</li></ul><h3 id="h3-artist_id-2">artist_id</h3><ul><li>数値であること\r
-</li><li>サインイン中の絵師idであること\r
-</li></ul><h3 id="h3-license_id">license_id</h3><ul><li>数値であること\r
-</li><li>存在するライセンスであること。\r
-</li></ul><h3 id="h3-.E5.85.A8.E4.BD.93">全体</h3><h3 id="h3-.E6.89.80.E5.B1.9E.E3.83.A2.E3.83.87.E3.83.AB">所属モデル</h3><h2 id="h2-.E3.82.B5.E3.83.A0.E3.83.8D.E3.82.A4.E3.83.AB">サムネイル</h2><ul><li>サムネイルはRMagickにより原画を縮小して作成する。\r
-</li><li>サイズは64x64pxを最大とし、幅高さのどちらか大きい方を最大値64pxとして縦横比を維持して縮小する。\r
-</li><li>原画がサムネイルサイズより小さい場合は、一切加工しない。外観を整えるセンタリングはクライアントで対応する。\r
-</li><li>原画のライセンスがサイズ変更禁止であってもサムネイル化される。\r
-</li></ul><h2 id="h2-gif.E3.83.95.E3.82.A9.E3.83.BC.E3.83.9E.E3.83.83.E3.83.88">gifフォーマット</h2><ul><li>ie6では透過pngを透過できないため、png画像はgifに変換する。\r
-</li><li>反転画像についても、すべて変換する。\r
-</li><li>ただし、ライセンスが変換を禁止している場合は、変換してはならない。\r
-</li></ul><h2 id="h2-.E5.8F.8D.E8.BB.A2">反転</h2><ul><li>画像を水平反転・垂直反転・水平垂直反転したものを、それぞれ保存する。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/LicensesShow">\r
-    <title>LicensesShow</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/LicensesShow</link>\r
-    <dc:identifier>LicensesShow</dc:identifier>\r
-\r
-    <dc:date>2012-03-06T18:22:29+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= show @ LicensesController\r
-単票形式\r
-== url\r
- * http://localhost:3000/licenses/1\r
- * http://localhost:3000/licenses/1.json\r
-== リクエスト\r
-||パラメータ||id||\r
-||権限||作家*||\r
-||html||○||\r
-||json||○||\r
-||jsonp||&time]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-show.20.40.20LicensesController">show @ <a href="http://sourceforge.jp/projects/pettanr/wiki/LicensesController">LicensesController</a></h1><p>単票形式\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/licenses/1" class="external" rel="nofollow">http://localhost:3000/licenses/1</a>\r
-</li><li><a href="http://localhost:3000/licenses/1.json" class="external" rel="nofollow">http://localhost:3000/licenses/1.json</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>作家*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>method</td><td>get</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>ライセンスの情報を得るために使う機能。このアクション一つでコモンライセンスとオリジナルライセンスの二種類を表現するので、どちらかを判定して場合分けして表示する必要がある。\r
-</p><ul><li>要求されたidのlicensesを取得する。\r
-</li><li>取得したデータを返す。\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>license\r
-<ul><li>original_license\r
-<ul><li>artist\r
-</li></ul></li><li>common_license\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><ul><li>下記のカラムを表示する場合、次の表示義務が発生する。\r
-<ul><li>license.name\r
-</li></ul></li><li>licenseのすべてのフラグを表示しなければならない。\r
-</li><li>license.urlをリンクし、ライセンス条項を閲覧できるページへ遷移する措置を用意しなければならない。\r
-</li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesIndex">\r
-    <title>ResourcePicturesIndex</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesIndex</link>\r
-    <dc:identifier>ResourcePicturesIndex</dc:identifier>\r
-    <dc:date>2012-03-06T18:19:32+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= index @ ResourcePicturesController\r
-一覧形式\r
-=== url\r
- * http://localhost:3000/resource_pictures\r
- * http://localhost:3000/resource_pictures.json\r
-=== リクエスト\r
-||権限||作家*||\r
-||method||get||\r
-||urlパラメータ||{]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-index.20.40.20ResourcePicturesController">index @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController">ResourcePicturesController</a></h1><p>一覧形式\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/resource_pictures" class="external" rel="nofollow">http://localhost:3000/resource_pictures</a>\r
-</li><li><a href="http://localhost:3000/resource_pictures.json" class="external" rel="nofollow">http://localhost:3000/resource_pictures.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家*</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>{page=1}</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>素材を選ぶための素材エクスプローラーを表示したり、作家がお気に入りの素材を探してタギングするために、一覧形式で表示する。新着順に表示される。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>権限をチェックする。\r
-</li><li>resource_picturesを新着順で20件分取得する。\r
-</li><li>取得したデータを返す。\r
-<ul><li>htmlなら整形してページを返す。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-page">page</h4><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>resource_pictures\r
-<ul><li>artist\r
-</li><li>license\r
-</li></ul></li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li><li>ただし、オープンモードで起動しているなら、サインインの必要はない。\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><p>ただの画像情報の羅列なので、無理に義務を負わせることもない。義務は画像そのものの表示で負わせる。\r
-</p><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><ul><li>下記のカラムを表示する場合、表示義務が発生する。\r
-<ul><li>artist.name\r
-</li></ul></li><li>artist.nameを表示しなければならない。\r
-</li><li>license.nameを表示しなければならない。\r
-</li><li>下記のModelについて、より詳細な情報を閲覧できるページへ遷移する措置を用意しなければならない。\r
-<ul><li>artist\r
-</li><li>license\r
-</li></ul></li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3><ul><li>最終更新日時は表示したほうが良い。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesShow">\r
-    <title>ResourcePicturesShow</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesShow</link>\r
-\r
-    <dc:identifier>ResourcePicturesShow</dc:identifier>\r
-    <dc:date>2012-03-06T18:18:43+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= show @ ResourcePicturesController\r
-単票形式\r
-=== url\r
- * http://localhost:3000/resource_pictures/1\r
- * http://localhost:3000/resource_pictures/1.json\r
- * http://localhost:3000/resource_pictures/1.png\r
-=]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-show.20.40.20ResourcePicturesController">show @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController">ResourcePicturesController</a></h1><p>単票形式\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/resource_pictures/1" class="external" rel="nofollow">http://localhost:3000/resource_pictures/1</a>\r
-</li><li><a href="http://localhost:3000/resource_pictures/1.json" class="external" rel="nofollow">http://localhost:3000/resource_pictures/1.json</a>\r
-</li><li><a href="http://localhost:3000/resource_pictures/1.png" class="external" rel="nofollow">http://localhost:3000/resource_pictures/1.png</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家*</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>png</td><td>○</td></tr><tr><td>gif</td><td>○</td></tr><tr><td>jpeg</td><td>○</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>素材、あるいは素材の情報を得るために使う機能。拡張子が画像フォーマットであれば、画像を返す。それ以外なら行データを返す。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>権限をチェックする。\r
-</li><li>要求されたidのresource_pictureを取得する。\r
-</li><li>取得したデータを返す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>対象となる素材のid\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>resource_picture\r
-<ul><li>artist \r
-</li><li>license\r
-</li></ul></li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li><li>ただし、オープンモードで起動しているなら、サインインの必要はない。\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><p>ただの画像情報の羅列をする場合は、無理に義務を負わせることもない。義務は画像そのものの表示で負わせる。\r
-</p><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><ul><li>下記のカラムを表示する場合、次の表示義務が発生する。\r
-<ul><li>artist.name\r
-</li></ul></li><li>artist.nameを表示しなければならない。\r
-</li><li>license.nameを表示しなければならない。\r
-</li><li>下記のModelについて、より詳細な情報を閲覧できるページへ遷移する措置を用意しなければならない。\r
-<ul><li>artist\r
-</li><li>license\r
-</li></ul></li><li>画像を表示する場合、次の表示義務が発生する。\r
-</li><li>artist.nameを表示しなければならない。\r
-</li><li>license.nameを表示しなければならない。\r
-</li><li>下記のModelについて、より詳細な情報を閲覧できるページへ遷移する措置を用意しなければならない。\r
-<ul><li>resource_picture\r
-</li><li>artist\r
-</li><li>license\r
-</li></ul></li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3><ul><li>最終更新日時は表示したほうが良い。\r
-</li><li>画像を表示する場合\r
-<ul><li>licenseのすべてのフラグは表示したほうが良い。\r
-</li><li>resource_pictureの画像サイズ、ファイルサイズは表示したほうが良い。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/TeamPettan">\r
-    <title>TeamPettan</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/TeamPettan</link>\r
-    <dc:identifier>TeamPettan</dc:identifier>\r
-    <dc:date>2012-03-06T17:36:08+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= チームぺったんR\r
-== 役割\r
-チームぺったんRは、ぺったんRの決まりに沿った組織運営をしていく役割を担う。\r
-== チームぺったんRがやるべきこと\r
-ぺったんRの決まりとは &rarr;RuleOfPettan\r
-\r
- * 関係者へのサポート\r
- * 役割のチェック\r
- * ぺったんRの周知\r
- * 本家ぺったんへのノウハウ還元\r
-=== 関係者へのサポートとは\r
-==== 関係者とは\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.83.81.E3.83.BC.E3.83.A0.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R">チームぺったんR</h1><h2 id="h2-.E5.BD.B9.E5.89.B2">役割</h2><p>チームぺったんRは、ぺったんRの決まりに沿った組織運営をしていく役割を担う。\r
-</p><h2 id="h2-.E3.83.81.E3.83.BC.E3.83.A0.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E3.81.8C.E3.82.84.E3.82.8B.E3.81.B9.E3.81.8D.E3.81.93.E3.81.A8">チームぺったんRがやるべきこと</h2><p>ぺったんRの決まりとは →<a href="http://sourceforge.jp/projects/pettanr/wiki/RuleOfPettan">RuleOfPettan</a>\r
-</p><ul><li>関係者へのサポート\r
-</li><li>役割のチェック\r
-</li><li>ぺったんRの周知\r
-</li><li>本家ぺったんへのノウハウ還元\r
-</li></ul><h3 id="h3-.E9.96.A2.E4.BF.82.E8.80.85.E3.81.B8.E3.81.AE.E3.82.B5.E3.83.9D.E3.83.BC.E3.83.88.E3.81.A8.E3.81.AF">関係者へのサポートとは</h3><h4 id="h4-.E9.96.A2.E4.BF.82.E8.80.85.E3.81.A8.E3.81.AF">関係者とは</h4><ul><li>開発陣\r
-<ul><li>ぺったんR開発コア <a href="http://sourceforge.jp/projects/pettanr/wiki/CoreDev">CoreDev</a>\r
-</li><li>サードパーティ\r
-</li></ul></li><li>ぺったんRユーザ\r
-<ul><li>座長\r
-</li><li>絵師\r
-</li><li>作家\r
-</li></ul></li></ul><h4 id="h4-.E3.82.B5.E3.83.9D.E3.83.BC.E3.83.88.E5.86.85.E5.AE.B9">サポート内容</h4><ul><li>開発陣には活動拠点を用意する(現在はsourceforge.jp)。\r
-</li><li>ユーザにはぺったん公式サイトを用意する\r
-<ul><li>ぺったん公式サイトの運営\r
-<ul><li>参加サイトの紹介と基礎情報の管理\r
-</li><li>素材サイトの紹介と基礎情報の管理\r
-</li><li>素材ライセンスの配布\r
-</li><li>サードパーティ製品の紹介と基礎情報の管理\r
-</li></ul></li></ul></li><li>作家・絵師には座を設けるための情報を提供する\r
-</li><li>多言語対応\r
-</li></ul><h3 id="h3-.E5.BD.B9.E5.89.B2.E3.81.AE.E3.83.81.E3.82.A7.E3.83.83.E3.82.AF.E3.81.A8.E3.81.AF">役割のチェックとは</h3><p>各担当が役割を逸脱していないか、チェックする。\r
-</p><ul><li>開発陣が役割を逸脱すると\r
-<ul><li>無駄な作業が増える\r
-</li><li>無駄な成果物があると利益よりも負担が増えているのに権利は増大する\r
-</li><li>不公平から不和となる\r
-</li><li>そうならない組織運営を心がける\r
-</li></ul></li><li>ユーザが役割を逸脱すると\r
-<ul><li>他の役割の権利を侵害する\r
-</li><li>不公平から不和となる\r
-</li><li>そうならない設計を心がける\r
-</li></ul></li><li>各役割が何を支払い何を得るかを整理する\r
-<ul><li>ユーザ\r
-<ul><li>読者は時間を支払い娯楽を得る\r
-<ul><li>そのために宣伝を見てアフィリエイトを踏む\r
-</li></ul></li><li>作家はアイディアを支払い注目を得る\r
-<ul><li>そのためにコマを投稿する\r
-</li></ul></li><li>絵師は素材を支払い知名度を得る\r
-<ul><li>そのために絵を描いて投稿する\r
-</li></ul></li><li>座長はサーバ維持費を支払いアフィリエイト収入を得る\r
-<ul><li>そのために作家と絵師を集める\r
-</li></ul></li></ul></li><li>開発陣\r
-<ul><li>コア開発チームは技術を支払いチャンスを得る\r
-</li></ul></li></ul></li></ul><h3 id="h3-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E3.81.AE.E5.91.A8.E7.9F.A5.E3.81.A8.E3.81.AF">ぺったんRの周知とは</h3><p>知名度を高めて関係者を増やすことで、ぺったんRの活動を安定させる。\r
-</p><ul><li>コアチームメンバーの募集\r
-</li><li>ユーザの募集\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/RuleOfPettan">\r
-    <title>RuleOfPettan</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/RuleOfPettan</link>\r
-    <dc:identifier>RuleOfPettan</dc:identifier>\r
-    <dc:date>2012-03-06T09:00:16+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ぺったんRのお約束\r
- * 永続性を保つ\r
- * 公平性を保つ\r
- * 柔軟性を保つ\r
-==== 永続性を保つとは\r
-分散して永らえよ。特定の何かに依存するとリスクが高まる。\r
- * 組織化して分散する\r
-   * 役割の分散\r
-   * 責任の分散\r
- * 規格化して分散する\r
-   * 処理系の分散\r
-   * 環境の分散\r
- * oss化して分散する\r
-   * ソースコードの分散\r
- ]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E3.81.AE.E3.81.8A.E7.B4.84.E6.9D.9F">ぺったんRのお約束</h1><ul><li>永続性を保つ\r
-</li><li>公平性を保つ\r
-</li><li>柔軟性を保つ\r
-</li></ul><h4 id="h4-.E6.B0.B8.E7.B6.9A.E6.80.A7.E3.82.92.E4.BF.9D.E3.81.A4.E3.81.A8.E3.81.AF">永続性を保つとは</h4><p>分散して永らえよ。特定の何かに依存するとリスクが高まる。\r
-</p><ul><li>組織化して分散する\r
-<ul><li>役割の分散\r
-</li><li>責任の分散\r
-</li></ul></li><li>規格化して分散する\r
-<ul><li>処理系の分散\r
-</li><li>環境の分散\r
-</li></ul></li><li>oss化して分散する\r
-<ul><li>ソースコードの分散\r
-</li><li>運用サーバの分散\r
-</li></ul></li></ul><h4 id="h4-.E5.85.AC.E5.B9.B3.E6.80.A7.E3.82.92.E4.BF.9D.E3.81.A4.E3.81.A8.E3.81.AF">公平性を保つとは</h4><p>公平にして永らえよ。特定の何かを贔屓するとリスクが高まる。\r
-</p><ul><li>役割を明確にする\r
-</li><li>役割ごとの利害関係を把握する\r
-</li><li>バランスを崩さないよう監視する\r
-</li></ul><h4 id="h4-.E6.9F.94.E8.BB.9F.E6.80.A7.E3.82.92.E4.BF.9D.E3.81.A4.E3.81.A8.E3.81.AF">柔軟性を保つとは</h4><ul><li>コアの機能を最小限にとどめる\r
-<ul><li>究極のコアはコマの表示と投稿のみ\r
-</li><li>他の機能は入れ替えできるようにする\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/CoreDev">\r
-    <title>CoreDev</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/CoreDev</link>\r
-    <dc:identifier>CoreDev</dc:identifier>\r
-\r
-    <dc:date>2012-03-02T09:07:19+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ぺったんR開発コアチーム\r
-== 役割\r
-ぺったんR開発コアチームは、ぺったんRの信条を守りながら中心的機能を作成する役割を担う。\r
-== ぺったんR開発コアチームがやるべきこと\r
- * ぺったんR規格を策定する\r
- * ぺったんRのAPIを策定する\r
- * 開発資料を作成する\r
- * ぺったんRを実装する\r
- * 実装されたコードをテストする\r
-== ぺったんRの信条とは\r
- * 永続性を保]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E9.96.8B.E7.99.BA.E3.82.B3.E3.82.A2.E3.83.81.E3.83.BC.E3.83.A0">ぺったんR開発コアチーム</h1><h2 id="h2-.E5.BD.B9.E5.89.B2">役割</h2><p>ぺったんR開発コアチームは、ぺったんRの信条を守りながら中心的機能を作成する役割を担う。\r
-</p><h2 id="h2-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E9.96.8B.E7.99.BA.E3.82.B3.E3.82.A2.E3.83.81.E3.83.BC.E3.83.A0.E3.81.8C.E3.82.84.E3.82.8B.E3.81.B9.E3.81.8D.E3.81.93.E3.81.A8">ぺったんR開発コアチームがやるべきこと</h2><ul><li>ぺったんR規格を策定する\r
-</li><li>ぺったんRのAPIを策定する\r
-</li><li>開発資料を作成する\r
-</li><li>ぺったんRを実装する\r
-</li><li>実装されたコードをテストする\r
-</li></ul><h2 id="h2-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E3.81.AE.E4.BF.A1.E6.9D.A1.E3.81.A8.E3.81.AF">ぺったんRの信条とは</h2><ul><li>永続性を保つ\r
-</li><li>公平性を保つ\r
-</li><li>柔軟性を保つ\r
-</li></ul><p>詳しくは→ <a href="http://sourceforge.jp/projects/pettanr/wiki/PettansPrinciple">PettansPrinciple</a>\r
-</p><h3 id="h3-.E9.96.8B.E7.99.BA.E3.82.B3.E3.82.A2.E3.83.81.E3.83.BC.E3.83.A0.E3.81.AE.E4.BF.A1.E6.9D.A1">開発コアチームの信条</h3><p>チームがこれをコア開発に適用すると…\r
-</p><h4 id="h4-.E3.82.B3.E3.82.A2.E9.96.8B.E7.99.BA.E3.81.AE.E6.B0.B8.E7.B6.9A.E6.80.A7">コア開発の永続性</h4><p>永続性の本質は分散すること\r
-</p><ul><li>誰でも開発に参加できるようにする\r
-<ul><li>規格を策定する\r
-</li><li>APIを策定する\r
-</li><li>開発資料を作成する\r
-</li></ul></li><li>コードをテストする\r
-</li></ul><h4 id="h4-.E3.82.B3.E3.82.A2.E9.96.8B.E7.99.BA.E3.81.AE.E5.85.AC.E5.B9.B3.E6.80.A7">コア開発の公平性</h4><p>公平性の本質は偏りのない\r
-</p><ul><li>ユーザ評価の公平とは\r
-<ul><li>新しいことが正義\r
-</li></ul></li></ul><h4 id="h4-.E3.82.B3.E3.82.A2.E9.96.8B.E7.99.BA.E3.81.AE.E6.9F.94.E8.BB.9F.E6.80.A7">コア開発の柔軟性</h4><p>柔軟性の本質は何もしないこと。\r
-</p><ul><li>機能を最小限にとどめる\r
-<ul><li>究極のコアはコマの表示と投稿のみ\r
-</li><li>他の機能は入れ替えできるようにする\r
-</li></ul></li><li>迷ったらやらない\r
-<ul><li>コアではやらず、サードパーティにやらせる\r
-</li><li>安定して優れた成果を挙げれば採り込む\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/BundledPictures">\r
-    <title>BundledPictures</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/BundledPictures</link>\r
-    <dc:identifier>BundledPictures</dc:identifier>\r
-    <dc:date>2012-03-01T16:43:48+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= おまけ素材\r
- * AboutPenjiro\r
- * AboutKinichi\r
- * AboutEbizou\r
-\r
-]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.81.8A.E3.81.BE.E3.81.91.E7.B4.A0.E6.9D.90">おまけ素材</h1><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutPenjiro">AboutPenjiro</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi">AboutKinichi</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou">AboutEbizou</a>\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/VerticalWriting">\r
-    <title>VerticalWriting</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/VerticalWriting</link>\r
-\r
-    <dc:identifier>VerticalWriting</dc:identifier>\r
-    <dc:date>2012-02-29T20:53:50+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 縦書き\r
-== 縦書きへの問題意識\r
-縦書きに関する考察 YasushiIto を参照 &rarr; 重要かも\r
-\r
-== 縦書き・横書きのマルチ方式は可能か?\r
- * js の走るクライアント と css3縦書き に対応したクライアントでは 縦書きで表示でききる.\r
-   * nehan という js ライブラリを使ったことはある.\r
- * 仮に 横書きでも縦書きでも表示できる、とした場合、]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E7.B8.A6.E6.9B.B8.E3.81.8D">縦書き</h1><h2 id="h2-.E7.B8.A6.E6.9B.B8.E3.81.8D.E3.81.B8.E3.81.AE.E5.95.8F.E9.A1.8C.E6.84.8F.E8.AD.98">縦書きへの問題意識</h2><p>縦書きに関する考察 <a href="http://sourceforge.jp/projects/pettanr/wiki/YasushiIto">YasushiIto</a> を参照 → 重要かも\r
-</p><h2 id="h2-.E7.B8.A6.E6.9B.B8.E3.81.8D.E3.83.BB.E6.A8.AA.E6.9B.B8.E3.81.8D.E3.81.AE.E3.83.9E.E3.83.AB.E3.83.81.E6.96.B9.E5.BC.8F.E3.81.AF.E5.8F.AF.E8.83.BD.E3.81.8B.EF.BC.9F">縦書き・横書きのマルチ方式は可能か?</h2><ul><li>js の走るクライアント と css3縦書き に対応したクライアントでは 縦書きで表示でききる.\r
-<ul><li>nehan という js ライブラリを使ったことはある.\r
-</li></ul></li><li>仮に 横書きでも縦書きでも表示できる、とした場合、吹きだしの配置をどちらでも矛盾なく表示する必要がある.\r
-<ul><li>吹きだしは、横書きの場合左にあるものから読まれる、縦書きの場合は右にあるものから読まれる.\r
-</li><li>上にある吹き出しから読まれるのは、縦書き・横書きで同じ.\r
-</li><li>ユーザーは吹きだしの上下の位置に気をつければ、縦書き・横書き 両対応のコマを作れる.\r
-</li><li>ユーザーが正しくタイミングの情報(吹きだしと画像の時系列順序)を正しく設定していれば、吹きだしの上下位置の不正の警告ができる.\r
-</li></ul></li><li>ブログ記法との兼ね合いは?\r
-</li><li>国際対応、作家の作品を海外の人が翻訳する、という段階を妄想すると、縦書き・横書き両対応がいい.\r
-</li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/HistoryOfPettan">\r
-    <title>HistoryOfPettan</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/HistoryOfPettan</link>\r
-    <dc:identifier>HistoryOfPettan</dc:identifier>\r
-    <dc:date>2012-02-29T18:39:09+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= ぺったんの歴史\r
-\r
-参考\r
- * http://sourceforge.jp/projects/pettan/\r
- * http://sourceforge.jp/projects/pettanoss/\r
-\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93.E3.81.AE.E6.AD.B4.E5.8F.B2">ぺったんの歴史</h1><p>参考\r
-</p><ul><li><a href="http://sourceforge.jp/projects/pettan/">http://sourceforge.jp/projects/pettan/</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanoss/">http://sourceforge.jp/projects/pettanoss/</a>\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/LocalWiki">\r
-    <title>LocalWiki</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/LocalWiki</link>\r
-    <dc:identifier>LocalWiki</dc:identifier>\r
-    <dc:date>2012-02-27T18:51:25+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ローカルでの wiki の閲覧 と Wiki のバックアップ\r
-[[Embed(http://static.sourceforge.jp/thumb/g/2/980/640x640_0.png)]]\r
-\r
-== ネットが無い環境でも wiki を見る\r
-\r
-=== 動作確認ブラウザ\r
-ie6~8, firefox3.6\r
-\r
-=== 用意\r
- * clientJs.git を落として、clie]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E3.83.AD.E3.83.BC.E3.82.AB.E3.83.AB.E3.81.A7.E3.81.AE.20wiki.20.E3.81.AE.E9.96.B2.E8.A6.A7.20.E3.81.A8.20Wiki.20.E3.81.AE.E3.83.90.E3.83.83.E3.82.AF.E3.82.A2.E3.83.83.E3.83.97">ローカルでの wiki の閲覧 と Wiki のバックアップ</h1><img src="http://static.sourceforge.jp/thumb/g/2/980/640x640_0.png" alt="640x640_0.png" id="emb-http:2f2fstatic.sourceforge.jp2fthumb2fg2f22f9802f640x640_0.png-1" title="640x640_0.png" class="embed-image"><p>\r
-</p><h2 id="h2-.E3.83.8D.E3.83.83.E3.83.88.E3.81.8C.E7.84.A1.E3.81.84.E7.92.B0.E5.A2.83.E3.81.A7.E3.82.82.20wiki.20.E3.82.92.E8.A6.8B.E3.82.8B">ネットが無い環境でも wiki を見る</h2><h3 id="h3-.E5.8B.95.E4.BD.9C.E7.A2.BA.E8.AA.8D.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6">動作確認ブラウザ</h3><p>ie6~8, firefox3.6\r
-</p><h3 id="h3-.E7.94.A8.E6.84.8F">用意</h3><ul><li>clientJs.git を落として、clientJs/0.4.x/wiki/wiki.xml をブラウザで開く.但し、wiki.xml が最新でない場合に注意!\r
-</li><li>wiki.xml が最新でない場合、以下の作業を行う.\r
-</li></ul><p>公開フィード一覧にある <a href="http://sourceforge.jp/projects/pettanr/feeds/">http://sourceforge.jp/projects/pettanr/feeds/</a>\r
-wiki 全文  をDLして、wiki.xml という名前で保存. <a href="http://sourceforge.jp/projects/pettanr/wiki/!feeds/list">http://sourceforge.jp/projects/pettanr/wiki/!feeds/list</a>\r
-</p><p>.xml の 2行目に .xsl へのリンクを追加.\r
-<pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;\r
-&lt;?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;wiki.xsl&quot;?&gt;\r
-</pre></p><h3 id="h3-.E6.B3.A8.E6.84.8F">注意</h3><p>ブラウザは、Firefox と IE で確認. 他のブラウザだと、ブラウザが独自の .xsl をあててしまう.<br />\r
-js は有効で.<br />\r
-また .xml が web 上にあると、ブラウザが独自の .xsl をあててしまうため閲覧できない.<br />\r
-rds 名前空間を外せば 閲覧できるようになると思うが、そこまではしない.<br />\r
-</p><h3 id="h3-.E6.A9.9F.E8.83.BD">機能</h3><p>外部リンクは赤く、wiki の他のページへのリンクは 緑 で表示.<br />\r
-現行のものは、頭からの名前の一致するページをネビゲーションでグループ化する機能が付いてます.まだ実装が甘く、うまくまとまりませんが(汗<br />\r
-</p><h3 id="h3-.E6.A9.9F.E8.83.BD.E8.A6.81.E6.9C.9B">機能要望</h3><ul><li>image サイズのフィット機能\r
-</li><li>テキスト検索\r
-</li></ul><h2 id="h2-Wiki.20.E3.81.AE.E3.83.90.E3.83.83.E3.82.AF.E3.82.A2.E3.83.83.E3.83.97">Wiki のバックアップ</h2><p>wiki 全文配信フィードの <a href="http://sourceforge.jp/projects/pettanr/wiki/!feeds/list">http://sourceforge.jp/projects/pettanr/wiki/!feeds/list</a> を Google リーダーに登録しておく.</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/SutdyOfImgTag">\r
-    <title>SutdyOfImgTag</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/SutdyOfImgTag</link>\r
-    <dc:identifier>SutdyOfImgTag</dc:identifier>\r
-\r
-    <dc:date>2012-02-26T00:27:49+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= &lt;img&gt;タグの研究 と ぺったんR での活用\r
-ぺったんR は &lt;img&gt; タグを大量に使うサービスです.&lt;img&gt; タグを正しく理解し、よりよい情報伝達を目指します.\r
-== 主に alt, title 属性にまつわる ユーザビリティ について\r
-\r
- * alt 属性\r
-   * html 4 で必須.画像を表示できない場合に代わりに表示するテキスト.]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.3Cimg.3E.E3.82.BF.E3.82.B0.E3.81.AE.E7.A0.94.E7.A9.B6.20.E3.81.A8.20.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.20.E3.81.A7.E3.81.AE.E6.B4.BB.E7.94.A8">&lt;img&gt;タグの研究 と ぺったんR での活用</h1><p>ぺったんR は &lt;img&gt; タグを大量に使うサービスです.&lt;img&gt; タグを正しく理解し、よりよい情報伝達を目指します.\r
-</p><h2 id="h2-.E4.B8.BB.E3.81.AB.20alt.2C.20title.20.E5.B1.9E.E6.80.A7.E3.81.AB.E3.81.BE.E3.81.A4.E3.82.8F.E3.82.8B.20.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.93.E3.83.AA.E3.83.86.E3.82.A3.20.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6">主に alt, title 属性にまつわる ユーザビリティ について</h2><ul><li>alt 属性\r
-<ul><li>html 4 で必須.画像を表示できない場合に代わりに表示するテキスト.\r
-</li></ul></li><li>title 属性\r
-<ul><li>img 固有の属性でなくいろんなタグに設定できる.\r
-</li></ul></li></ul><p><a href="http://w3g.jp/xhtml/dic/title" class="external" rel="nofollow">http://w3g.jp/xhtml/dic/title</a>\r
-</p><blockquote class="citation"><p>title属性は、ある要素に対して補足情報を付け足す属性です。多くの視覚環境の UA が title属性を指定した要素にポインティングデバイス(マウスやノートパソコン付属のトラックパッドなど)のカーソル(ポインタ)を合わせることで Tooltip(ツールチップ)をヘルプとして表示します。また、音声出力環境(スクリーンリーダー、音声ブラウザなど)の UA では指定された内容を補足情報として読み上げることが可能です\r
-</p></blockquote><blockquote class="citation"><p>アクセシビリティに配慮するため非視覚環境において再現(表現)しにくい要素には、積極的に title属性を使って補足情報をつけることが望まれます\r
-</p></blockquote><h2 id="h2-img.20.E3.82.BF.E3.82.B0.E3.81.AB.E3.81.BE.E3.81.A4.E3.82.8F.E3.82.8B.20SEO.20.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6">img タグにまつわる SEO について</h2><p>ある 画像に対して、ページによっていろいろな alt が設定された場合、ペナルティとかはないよね?\r
-例\r
-<pre>&lt;img src=&quot;1.png&quot; alt=&quot;ペン次郎&quot;&gt;\r
-&lt;img src=&quot;1.png&quot; alt=&quot;ペンギン風の男&quot;&gt;\r
-</pre></p><ul><li>alt\r
-</li><li>title</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ChangeDoc">\r
-    <title>ChangeDoc</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ChangeDoc</link>\r
-    <dc:identifier>ChangeDoc</dc:identifier>\r
-    <dc:date>2012-02-20T08:45:11+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 改変予告\r
-== モデルの追加\r
-Userモデル\r
- * Authorのカラムが増えて秘匿すべきカラムを守りきれなくなったため、認証を分離\r
-== モデルの変名\r
-ライセンス系\r
- * Lisence &rarr; Licence\r
-]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E6.94.B9.E5.A4.89.E4.BA.88.E5.91.8A">改変予告</h1><h2 id="h2-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.AE.E8.BF.BD.E5.8A.A0">モデルの追加</h2><p>Userモデル\r
-</p><ul><li>Authorのカラムが増えて秘匿すべきカラムを守りきれなくなったため、認証を分離\r
-</li></ul><h2 id="h2-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.AE.E5.A4.89.E5.90.8D">モデルの変名</h2><p>ライセンス系\r
-</p><ul><li>Lisence → Licence\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/UserModel">\r
-    <title>UserModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/UserModel</link>\r
-\r
-    <dc:identifier>UserModel</dc:identifier>\r
-    <dc:date>2012-02-20T08:25:08+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ユーザ @ AboutModels\r
-== カラム\r
-||name||和名||type||default||null||limit||note||\r
-||name||ペンネーム||string|| || || ||||\r
-||email||メールアドレス||string||  ||FALSE|| ||||\r
-||encrypted_password||||string|| ||FALSE||1]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.83.A6.E3.83.BC.E3.82.B6.20.40.20AboutModels">ユーザ @ <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a></h1><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>name</td><td>ペンネーム</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>email</td><td>メールアドレス</td><td>string</td><td>  </td><td>FALSE</td><td> </td><td></td></tr><tr><td>encrypted_password</td><td></td><td>string</td><td> </td><td>FALSE</td><td>128</td><td></td></tr><tr><td>reset_password_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>reset_password_sent_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>remember_created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>sign_in_count</td><td></td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>current_sign_in_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>last_sign_in_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>current_sign_in_ip</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>last_sign_in_ip</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>authentication_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmation_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmed_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmation_sent_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ArtistModel">\r
-    <title>ArtistModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ArtistModel</link>\r
-    <dc:identifier>ArtistModel</dc:identifier>\r
-    <dc:date>2012-02-19T19:15:47+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= 絵師 artists @ AboutModels\r
-\r
-参考:ArtistsController\r
-\r
-== カラム\r
-||name||和名||type||default||null||limit||note||\r
-||email||||string|| || || ||||\r
-||name||ペンネーム||string|| || || ||||\r
-||homepage_url||ホームページ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E7.B5.B5.E5.B8.AB.20artists.20.40.20AboutModels">絵師 artists @ <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a></h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsController">ArtistsController</a>\r
-</p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>email</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>name</td><td>ペンネーム</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>homepage_url</td><td>ホームページURL</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>api_url</td><td>素材配布APIのURL</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>default_license_id</td><td>省略時のライセンスid</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>crowled_at</td><td>素材配布APIの最新呼び出し時刻</td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>resource_picture_count</td><td>投稿素材数</td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>referred_count</td><td>素材参照数</td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>posted_at</td><td>素材投稿日時</td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>referred_at</td><td>素材参照日時</td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>hot</td><td>近頃投稿した素材数</td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>cool</td><td>近頃参照された素材数</td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>author_id</td><td>作家id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PettanrTheater">\r
-    <title>PettanrTheater</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PettanrTheater</link>\r
-    <dc:identifier>PettanrTheater</dc:identifier>\r
-    <dc:date>2012-02-18T22:05:10+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ぺったんR劇場\r
- * いい感じにオチた過去の話題を収集していく.\r
-== ApiIndex より\r
-\r
- * 総素材数\r
-   * べらぼうに多い場合、素材一覧の取得を一度にはできない.\r
-     * カウントAPIを用意する\r
-     * たぶん名前はcount\r
-     * べらぼうに多い画像から探す、という経験は、僕は フリーアイコン 素材の一覧サイトでします.だいたい納得しなが]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E5.8A.87.E5.A0.B4">ぺったんR劇場</h1><ul><li>いい感じにオチた過去の話題を収集していく.\r
-</li></ul><h2 id="h2-ApiIndex.20.E3.82.88.E3.82.8A"><a href="http://sourceforge.jp/projects/pettanr/wiki/ApiIndex">ApiIndex</a> より</h2><ul><li>総素材数\r
-<ul><li>べらぼうに多い場合、素材一覧の取得を一度にはできない.\r
-<ul><li>カウントAPIを用意する\r
-</li><li>たぶん名前はcount\r
-</li><li>べらぼうに多い画像から探す、という経験は、僕は フリーアイコン 素材の一覧サイトでします.だいたい納得しながらお世話になってます.あとは Google の画像検索か.どちらも 一度にかなり多い画像を見せてくれますね.テキストの抽出は難しいですが、画像に対しては一瞬でかなりのものを見渡せて取捨できるんですね.そのつもりでエクスプローラも直さなくちゃw\r
-</li><li>サーバとしてはスペックしだいなんで、数は大きくしてもいいですよ。ただ、無限だけは無理って作りでお願いしたいだけで。ロースペックな貧乏人に慈悲をね。\r
-</li></ul></li></ul></li><li>総コミック数\r
-<ul><li>べらぼうに多い場合、、、\r
-</li></ul></li></ul><h2 id="h2-ApiIndex.20.E3.82.88.E3.82.8A-2"><a href="http://sourceforge.jp/projects/pettanr/wiki/ApiIndex">ApiIndex</a> より</h2><h3 id="h3-.E4.B8.80.E8.A6.A7.E3.81.A8.E3.81.AF.E4.BD.95.E3.81.AA.E3.81.AE.E3.81.8B.20.E4.B8.80.E8.A6.A7.E6.A9.9F.E8.83.BD.E3.82.92.E3.81.BE.E3.81.A8.E3.82.81.E3.82.8B.E3.81.BE.E3.81.A7.E3.81.AE.E9.81.93.E7.AD.8B">一覧とは何なのか 一覧機能をまとめるまでの道筋</h3><ul><li>一覧について\r
-<ul><li>ぺったんの本質は漫画を作ることと、表示すること\r
-</li><li>一覧は表示するための手がかりに過ぎない\r
-</li><li>ぺったんの肝ではない\r
-</li><li>自由に改変できるべき\r
-</li><li>可能な限りアウトソース希望\r
-</li><li>そうは言っても肋骨なしでは肝もぶら下がらない\r
-</li><li>機能を絞って提供\r
-</li><li>アウトソースの利点\r
-<ul><li>組まなくて済む\r
-</li><li>高機能\r
-<ul><li>例えば、読者がどのページあたりから飽きて脱落したかを作家が調査できる\r
-</li></ul></li><li>組みたい人に追加の余地がある\r
-</li></ul></li><li>アウトソースの欠点\r
-<ul><li>数値が外部にあるので気軽に使えない\r
-</li></ul></li></ul></li><li>価値について\r
-<ul><li>何で測るか\r
-</li><li>一つはpv、もう一つは参照\r
-</li><li>コンテンツ系では読まれるのが名誉\r
-</li><li>リソース系では参照されるのが名誉\r
-</li><li>読まれる名誉とは何か\r
-<ul><li>作り手は読まれるとうれしい\r
-<ul><li>pvを見たい\r
-</li><li>アクセス解析があるじゃないか\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/GoogleAnalytics">GoogleAnalytics</a>にアウトソース\r
-</li><li>作り手が設定ページで希望すれば有効\r
-</li><li>作り手が管理するコンテンツのページに解析タグが\r
-</li></ul></li><li>絵師だって見られるとうれしい\r
-<ul><li>絵師にとっては素材のpvに価値がある\r
-</li><li>もちろんコマが見られたことで素材が露出することも\r
-</li><li>しかし、画像ごとにはアクセス解析できない\r
-</li><li>絵師にとってはpvアウトソースは納得いかないかも\r
-</li><li>とはいえ、サーバがpvカウントするのは負荷的に無理ぽい\r
-</li><li>pv以外の指標を用意したい\r
-</li></ul></li><li>読み手は人気コンテンツがわかるとうれしい\r
-<ul><li>優れたコンテンツを他人に見定めてもらえる\r
-</li><li>pvはある程度の参考にはなる\r
-</li><li>もっと頼りになるのがソーシャルなサイト\r
-</li><li>ツイッター、フェイスブック、はてなブックマークがあるじゃないか\r
-</li><li>各コンテンツのページに上記の数値を表示する\r
-</li><li>サイト全体で適用し、作り手が拒否すれば消える\r
-</li></ul></li><li>pvは作家はある程度知りたいが、読み手にとっては絶対ではない\r
-</li><li>pvを万人に見える位置に置く必要はない\r
-</li><li>アクセス解析と比べると希望と拒否が違う\r
-<ul><li>ソーシャルは作り手のためではなく、読み手のためだから\r
-</li></ul></li></ul></li><li>参照される名誉とは何か\r
-<ul><li>素材ではコマに使われること\r
-<ul><li>素材のpvはある程度は参照された数に比例するんじゃないかと\r
-</li></ul></li><li>コマもリソース\r
-<ul><li>コピペに使われるようなテンプレートとして価値あるコマなんか\r
-</li></ul></li><li>コミックはリソースになりえない\r
-</li></ul></li></ul></li></ul><ul><li>長期的な数について\r
-<ul><li>作家が個人的に眺めてニヨニヨするもの\r
-</li><li>ランキングで競争を促すものではない\r
-</li><li>大御所が生まれると変化がなくなるし\r
-</li><li>集計そのものは難しいものではない\r
-</li><li>片隅に表示するくらいならok\r
-</li></ul></li><li>短期的な数について\r
-<ul><li>コミックは作るだけでは価値がない\r
-</li><li>作家や絵師も登録するだけでは価値がない\r
-</li><li>コマと素材は新着に価値あり\r
-</li><li>コミックはコマが投稿されたことに価値がある\r
-</li><li>作家や絵師は投稿したことに価値がある\r
-</li><li>貢献活動をしたことは評価したい\r
-</li><li>ただし、瞬間風速は指標としては精度がイマイチ\r
-</li></ul></li><li>中期的な数について\r
-<ul><li>指標は長期すぎても短期すぎてもダメ\r
-</li><li>期間で区切って中期でみるのがベスト\r
-</li><li>古すぎて価値をなくしたデータを定期的に削除しなければならない。\r
-</li><li>どこから無価値か。月単位くらい?二週間くらい?システム定数だね。\r
-</li><li>毎日バッチ処理を走らせる必要がある\r
-</li><li>方式としてはソースから取得と中間テーブルの二種類ある\r
-</li><li>中間テーブルは取得が楽な分、更新が手間\r
-</li><li>ただし、アクセス数なんかはソースがないから嫌でも中間テーブル\r
-</li><li>アクセス数以外の指標を考えた方がいいのか?\r
-</li><li>しかし、アクセスカウンターはデファクト\r
-</li><li>今日のアクセス・昨日のアクセスとか、まさに中間テーブル\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2">\r
-    <title>HtmlAndCss2</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2</link>\r
-    <dc:identifier>HtmlAndCss2</dc:identifier>\r
-\r
-    <dc:date>2012-02-16T20:49:09+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= Html + css2.1\r
-ぺったんR は、html4.01 + css2.1 をサポートするブラウザで作者の意図したとおりのコンテンツの表示を目指す.[[BR]]\r
-しかしこれは最低限の環境であるため、必ずしも、ぺったんR が用意するすべての機能の恩恵を享けられるわけではない.\r
-\r
-== マンガの表示に使用する css プロパティ\r
- * overflow:hidden\r
-   * コマ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-Html.20.2B.20css2.1">Html + css2.1</h1><p>ぺったんR は、html4.01 + css2.1 をサポートするブラウザで作者の意図したとおりのコンテンツの表示を目指す.<br />\r
-しかしこれは最低限の環境であるため、必ずしも、ぺったんR が用意するすべての機能の恩恵を享けられるわけではない.\r
-</p><h2 id="h2-.E3.83.9E.E3.83.B3.E3.82.AC.E3.81.AE.E8.A1.A8.E7.A4.BA.E3.81.AB.E4.BD.BF.E7.94.A8.E3.81.99.E3.82.8B.20css.20.E3.83.97.E3.83.AD.E3.83.91.E3.83.86.E3.82.A3">マンガの表示に使用する css プロパティ</h2><ul><li>overflow:hidden\r
-<ul><li>コマの外にはみ出してしまう部分を隠す.コマの枠となる div に指定.\r
-</li><li><a href="http://www5e.biglobe.ne.jp/~access_r/hp/css/css_look_001.html" class="external" rel="nofollow">http://www5e.biglobe.ne.jp/~access_r/hp/css/css_look_001.html</a>\r
-</li></ul></li><li>position:absolute &amp; relative, left, top\r
-<ul><li>コミック要素(画像や吹きだし)の配置に使用.\r
-</li><li><a href="http://www5e.biglobe.ne.jp/~access_r/hp/css/css_property.html#position" class="external" rel="nofollow">http://www5e.biglobe.ne.jp/~access_r/hp/css/css_property.html#position</a>\r
-</li></ul></li><li>z-index\r
-<ul><li>html要素の順を無視して、コミック要素の重ね順を変更するときに使用.\r
-</li><li>html要素は意味順(時系列順)に並ぶが、コミックでは演出によって、最後に起こったことが奥に行くことも手前に来ることもある.\r
-</li><li><a href="http://www5e.biglobe.ne.jp/~access_r/hp/css/css_position_003.html" class="external" rel="nofollow">http://www5e.biglobe.ne.jp/~access_r/hp/css/css_position_003.html</a>\r
-</li></ul></li><li>display:table, display:teble-cell\r
-<ul><li>吹きだし内テキストの上下中央配置に使用を考えたが、、、ぺったんでは、table 要素を使用していた.\r
-</li><li><a href="http://www5e.biglobe.ne.jp/~access_r/hp/css/css_look_003.html" class="external" rel="nofollow">http://www5e.biglobe.ne.jp/~access_r/hp/css/css_look_003.html</a>\r
-</li></ul></li></ul><h2 id="h2-.E5.AF.BE.E5.BF.9C.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6">対応ブラウザ</h2><table class="wikitable" border="1"><tbody><tr><td>プロパティ</td><td>ie</td><td>NN</td><td>firefox</td><td>safari</td><td>chrome</td><td>opera</td></tr><tr><td>overflow:hidden</td><td>5+</td><td>6+</td><td>1+</td><td>?</td><td>1+</td><td>6+</td></tr><tr><td>position:absolute, top, left</td><td>position&amp;top:4+, left:5+</td><td>4+</td><td>1+</td><td>?</td><td>1+</td><td>6+</td></tr><tr><td>z-index</td><td>4+</td><td>4+</td><td>1+</td><td>4+</td><td>1+</td><td>6+</td></tr><tr><td>display:table,table-cell</td><td>8+</td><td>6+</td><td>2+</td><td>2+</td><td>1+</td><td>9+</td></tr></tbody></table><h3 id="h3-.E5.90.B9.E3.81.8D.E3.81.A0.E3.81.97.E5.86.85.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.81.AE.E4.B8.8A.E4.B8.8B.E4.B8.AD.E5.A4.AE.E9.85.8D.E7.BD.AE">吹きだし内テキストの上下中央配置</h3><p>display:table, display:table-cell は、吹きだし内のテキストの上下中央配置に使用が検討されるが、上記サポート状況をみると、table がいいのかも.<br />\r
-</p><h3 id="h3-ie.20.E3.81.AE.E3.81.BF.20table.20.E3.81.A7.E3.83.AC.E3.82.A4.E3.82.A2.E3.82.A6.E3.83.88.E3.81.99.E3.82.8B.E5.A0.B4.E5.90.88.E3.81.AE.E3.83.A1.E3.83.A2">ie のみ table でレイアウトする場合のメモ</h3><p>ie7 以下については、条件付コメントで、tableタグを使用.\r
-</p><p>html中\r
-<pre>&lt;!--[if lte IE 7]&gt;&lt;a href=&quot;#&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;![endif]--&gt;\r
- &lt;span&gt;Hello&lt;/span&gt;\r
-&lt;!--[if lte IE 7]&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/a&gt;&lt;![endif]--&gt;\r
-</pre></p><p>xsl中で使うと\r
-<pre>&lt;xsl:comment&gt;&lt;![CDATA[[if lte IE 7]&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;![endif]]]&gt;&lt;/xsl:comment&gt;\r
- &lt;span&gt;&lt;xsl:apply-templates/&gt;&lt;/span&gt;\r
-&lt;xsl:comment&gt;&lt;![CDATA[[if lte IE 7]&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;![endif]]]&gt;&lt;/xsl:comment&gt;\r
-</pre></p><h3 id="h3-firefox3.5.20.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6.E3.80.81display.3Atable.20.E5.91.A8.E3.82.8A.E3.81.AE.E3.83.90.E3.82.B0.E3.81.8C.E5.A0.B1.E5.91.8A.E3.81.95.E3.82.8C.E3.81.A6.E3.81.84.E3.82.8B">firefox3.5 について、display:table 周りのバグが報告されている</h3><blockquote class="citation"><p>Project IE: Firefox 3.5 の display: table;(table-row; table-cell;) 関連の挙動について<br />\r
-<a href="http://ie-style.blogspot.com/2009/08/firefox-35-display-tabletable-row-table.html" class="external" rel="nofollow">http://ie-style.blogspot.com/2009/08/firefox-35-display-tabletable-row-table.html</a><br />\r
-CSSで display: table-cell; を指定してマルチカラムレイアウトを行っている場合に Firefox 3.5 だとまれにカラム落ちしてしまうという現象が起きてしまいます。\r
-</p></blockquote><p>記事によると、display:table-cell に対して、display:table でなく、display:table-row を使っておくのがいいそうだ.\r
-</p><h2 id="h2-.E6.A8.99.E6.BA.96.E3.83.A2.E3.83.BC.E3.83.89.E3.81.A8.E5.BE.8C.E6.96.B9.E4.BA.92.E6.8F.9B.E3.83.A2.E3.83.BC.E3.83.89">標準モードと後方互換モード</h2><p>script によって 外部に張り出された ぺったんR コンテンツは、その Webページ のレンダリングモードに左右されない タグ &amp; css でなくてはならない.\r
-IEでは後方互換モードの場合、BOXモデルがおかしい というバグがある.これは、一つの要素に対して width と padding, border を同時に指定しない ことで回避できる.\r
-この他に、レンダリングモードによる差異にはどんなものがあるのか??要調査.\r
-</p><h2 id="h2-css.20.E3.81.AE.E5.90.8D.E5.89.8D.E7.A9.BA.E9.96.93">css の名前空間</h2><p>script によって 外部に張り出された ぺったんR コンテンツは、その Webページの css が干渉するとまずい.\r
-そこで css に(疑似的な?)名前空間を設定する.class の頭に pettanr- を付ける.こんな感じ.\r
-<pre>.pettanr-panel {}\r
-</pre></p><h2 id="h2-zoom.20.E6.A9.9F.E8.83.BD">zoom 機能</h2><p>js が有効な場合、ぺったんR コンテンツは リサイズが可能になる.\r
-これにより、script によって張り出された作品は、その表示カラムに合わせて自身を縮小できる.\r
-また、Lightbox のような オーバーレイによる拡大表示も可能となる.\r
-ただし、ライセンス no-resize な画像が含まれている場合、この機能は働かない.\r
-</p><h2 id="h2-Position.3Arelative.20.E3.81.A8.20z-index.20.E3.81.A7.E7.99.BA.E7.94.9F.E3.81.99.E3.82.8B.20ie7.20.E4.BB.A5.E4.B8.8B.E3.81.AE.E3.83.90.E3.82.B0.EF.BC.8E">Position:relative と z-index で発生する ie7 以下のバグ.</h2><p>ぺったんR のコマには、Position:relative が指定されるが、この指定と絡んで起こる ie のバグがある.\r
-ぺったんR ではこのようなバグの対処法についてサイト運営者に対して周知を行う.\r
-IE7 でposition: absolute な要素に対する z-index が正しく理解してもらえない\r
-<a href="http://d.hatena.ne.jp/tnksaigon/20110216/1297836776" class="external" rel="nofollow">http://d.hatena.ne.jp/tnksaigon/20110216/1297836776</a>\r
-</p><h2 id="h2-.E3.82.B5.E3.83.9D.E3.83.BC.E3.83.88.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.82.92.E8.80.83.E3.81.88.E3.82.8B.E3.81.AB.E3.81.82.E3.81.9F.E3.81.A3.E3.81.A6">サポートブラウザを考えるにあたって</h2><p>ヨーロッパでは、まだ windows 98 のシェアが少なからざるものがある、と小耳に挟んだことがある.\r
-実家にはじめて DOS/V が来たのも Win98 機だった.当時はインターネット元年なんて言われていて、うちもそそくさと買ってISBNを引いた.そのころのものがまだ現役で、リビングに鎮座しているのだろうか?\r
-ヨーロッパは、日本と同程度の月収の国から、数万円というところまで様々だ.\r
-Win98 を買ってずっとそのまま、ということだって月収数万、という点だけでも十分想像はできる.\r
-それ以前に、家電に対する考えもずいぶん違うもものの気がしている.実家にはいつの間にか巨大な薄型テレビが鎮座していたが、まだ映るテレビを廃棄してコンスタンスに廉価になった最新機種に買い換える様、そういう生活スタイルは、多分特異だ.\r
-Opera にこだわったのは、古いPCにもやさしい(らしい)からで、IE6にこだわるのは、隣の中国・韓国でシェアが多いからだ.</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelModel">\r
-    <title>PanelModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelModel</link>\r
-    <dc:identifier>PanelModel</dc:identifier>\r
-    <dc:date>2012-02-14T18:42:53+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= コマ panel @ AboutModels\r
-\r
-参考:PanelsController\r
-\r
-== カラム\r
-||name||和名||type||default||null||limit||note||\r
-||comic_id||所属コミック||integer|| ||FALSE|| ||||\r
-||resource_picture_id||背景画像 素材id||integer|| || ]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9E.20panel.20.40.20AboutModels">コマ panel @ <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a></h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a>\r
-</p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>comic_id</td><td>所属コミック</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>resource_picture_id</td><td>背景画像 素材id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>width</td><td>コマの幅</td><td>integer</td><td>200</td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>コマの高さ</td><td>integer</td><td>80</td><td>FALSE</td><td> </td><td></td></tr><tr><td>border</td><td>コマの枠線の太さ</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>x</td><td>表示位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>y</td><td>表示位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>z</td><td>表示優先順位</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>t</td><td>コマ番号</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>author_id</td><td>コマの投稿者 作家id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><h2 id="h2-.E8.87.AA.E5.8B.95.E8.A3.9C.E5.85.85">自動補充</h2><p>クライアントは作成・更新時にデータを渡すが、中には自動で値が補充されるカラムもある。\r
-</p><h3 id="h3-width">width</h3><ul><li>省略時はコミックのwidthを補充する。\r
-</li></ul><h3 id="h3-height">height</h3><ul><li>省略時はコミックのheightを補充する。\r
-</li></ul><h3 id="h3-border">border</h3><ul><li>省略時は0を補充する。\r
-</li></ul><h3 id="h3-t">t</h3><ul><li>新規作成時に省略されていれば、comic_idのコミック内のtの最大値+1を補充する。\r
-</li></ul><h3 id="h3-author_id">author_id</h3><ul><li>ログイン中の作家idを補充する。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><h3 id="h3-comic_id">comic_id</h3><ul><li>idのコミックが存在していること。\r
-</li></ul><h3 id="h3-resource_picture_id">resource_picture_id</h3><ul><li>idの素材が存在していること。\r
-</li></ul><h3 id="h3-width-2">width</h3><ul><li>正の整数であること。\r
-</li></ul><h3 id="h3-height-2">height</h3><ul><li>正の整数であること。\r
-</li></ul><h3 id="h3-border-2">border</h3><ul><li>0以上の整数であること。\r
-</li></ul><h3 id="h3-x">x</h3><ul><li>正の整数であること。\r
-</li></ul><h3 id="h3-y">y</h3><ul><li>正の整数であること。\r
-</li></ul><h3 id="h3-z">z</h3><ul><li>正の整数であること。\r
-</li></ul><h3 id="h3-t-2">t</h3><ul><li>0以上の整数であること。\r
-</li></ul><h3 id="h3-author_id-2">author_id</h3><ul><li>設定しないこと。\r
-</li></ul><h3 id="h3-.E5.85.A8.E4.BD.93">全体</h3><ul><li>重複の禁止。\r
-<ul><li>comic_idとtでユニークであること。\r
-</li></ul></li></ul><h2 id="h2-.E6.89.80.E5.B1.9E.E3.83.A2.E3.83.87.E3.83.AB.E3.81.AE.E6.A4.9C.E8.A8.BC">所属モデルの検証</h2><h3 id="h3-panel_pictures">panel_pictures</h3><ul><li>全体の検証\r
-<ul><li>panel_id\r
-<ul><li>更新時\r
-<ul><li>すべてのpanel_pictures.panel_idが panel.idと一致すること。\r
-</li></ul></li><li>新規作成時\r
-<ul><li>すべてのpanel_pictures.panel_idが nullであること。\r
-</li></ul></li></ul></li></ul></li><li>単体の検証\r
-<ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel">PanelPictureModel</a>も検証すること。\r
-</li></ul></li></ul><h3 id="h3-balloons">balloons</h3><ul><li>全体の検証\r
-<ul><li>panel_id\r
-<ul><li>更新時\r
-<ul><li>すべてのballoons.panel_idが panel.idと一致すること。\r
-</li></ul></li><li>新規作成時\r
-<ul><li>すべてのballoons.panel_idが nullであること。\r
-</li></ul></li></ul></li></ul></li><li>単体の検証\r
-<ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BalloonModel">BalloonModel</a>も検証すること。\r
-</li></ul></li></ul><h3 id="h3-panel_pictures.E3.81.A8balloons.E3.81.AE.E4.B8.A1.E8.80.85.E3.82.92.E8.B7.A8.E3.81.84.E3.81.A0.E6.A4.9C.E8.A8.BC.20.EF.BC.88.E7.89.B9.E6.AE.8A.E3.82.B1.E3.83.BC.E3.82.B9.EF.BC.89">panel_picturesとballoonsの両者を跨いだ検証 (特殊ケース)</h3><ul><li>z\r
-<ul><li>すべてのpanel_picturesとballoonsでzがシリアライズされていること。\r
-</li></ul></li><li>t\r
-<ul><li>すべてのpanel_picturesとballoonsでtがシリアライズされていること。\r
-</li></ul></li></ul><h2 id="h2-.E5.82.99.E8.80.83">備考</h2><ul><li>認証に関する検証は含まない。\r
-</li></ul><h2 id="h2-.E4.BA.8B.E5.BE.8C.E5.87.A6.E7.90.86">事後処理</h2><h3 id="h3-.E6.96.B0.E8.A6.8F.E4.BD.9C.E6.88.90.E6.99.82">新規作成時</h3><h4 id="h4-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.20ComicModel">コミック <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a></h4><ul><li>コマ数を+1する。\r
-</li><li>コマ更新日時を現在時刻にする。\r
-</li></ul><h4 id="h4-.E4.BD.9C.E5.AE.B6.20AuthorModel">作家 <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorModel">AuthorModel</a></h4><ul><li>コマ数を+1する。\r
-</li><li>コマ更新日時を現在時刻にする。\r
-</li></ul><h3 id="h3-.E6.9B.B4.E6.96.B0.E6.99.82">更新時</h3><h4 id="h4-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.20ComicModel-2">コミック <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a></h4><ul><li>コマ更新日時を現在時刻にする。\r
-</li></ul><h4 id="h4-.E4.BD.9C.E5.AE.B6.20AuthorModel-2">作家 <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorModel">AuthorModel</a></h4><ul><li>コマ更新日時を現在時刻にする。\r
-</li></ul><h3 id="h3-.E5.89.8A.E9.99.A4.E6.99.82">削除時</h3><h4 id="h4-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.20ComicModel-3">コミック <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a></h4><ul><li>コマ数を-1する。\r
-</li><li>コマ更新日時を現在時刻にする。\r
-</li></ul><h4 id="h4-.E4.BD.9C.E5.AE.B6.20AuthorModel-3">作家 <a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorModel">AuthorModel</a></h4><ul><li>コマ数を-1する。\r
-</li><li>コマ更新日時を現在時刻にする。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerIndex">\r
-    <title>PanelsControllerIndex</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerIndex</link>\r
-\r
-    <dc:identifier>PanelsControllerIndex</dc:identifier>\r
-    <dc:date>2012-02-14T17:44:36+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= index @ PanelsController\r
-一覧形式\r
-=== url\r
- * http://localhost:3000/panels\r
- * http://localhost:3000/panels.json\r
-=== リクエスト\r
-||権限||作家*||\r
-||method||get||\r
-||urlパラメータ||{page=1,page_size=25}||\r
-||POSTデー]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-index.20.40.20PanelsController">index @ <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a></h1><p>一覧形式\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/panels" class="external" rel="nofollow">http://localhost:3000/panels</a>\r
-</li><li><a href="http://localhost:3000/panels.json" class="external" rel="nofollow">http://localhost:3000/panels.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家*</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>{page=1,page_size=25}</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>新着コマ20件を一覧形式で表示する。ただし、作者によって非公開にされたコミックのコマは含まない。\r
-</p><p>新着コマの情報はトップページに表示されるが、量が少ないため「もっと見る」が用意されている。それがクリックされたときに遷るページがここ。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>権限をチェックする。\r
-</li><li>comicのvisible=1な行を取得する。\r
-<ul><li>pageのオフセットを加えた位置からpage_size件分取得し、panels.updated_at降順でソートする。\r
-</li></ul></li><li>取得したデータを返す。\r
-<ul><li>htmlなら整形してページを返す。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><h2 id="h2-.E5.95.8F.E9.A1.8C.E7.82.B9">問題点</h2><p>コマはサイズがバラバラなので、リストアップには向いていない。コマそのものを表示するわけにはいかないので、事実上使いどころのない機能と思われる。改善案を待つ。\r
-</p><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-page">page</h4><ul><li>表示するデータが何ページ目からのものか。\r
-</li><li>省略時、不正な値が渡された時は1となる。\r
-</li></ul><h4 id="h4-page_size">page_size</h4><ul><li>1ページに収まる行の数。\r
-</li><li>省略時、不正な値が渡された時は定数panel_default_page_size=25となる。\r
-</li><li>値が定数panel_max_page_size=100を超えた時は、この値に切り詰められる。\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>panels\r
-<ul><li>comic\r
-</li><li>author\r
-</li></ul></li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li><li>ただし、オープンモードで起動しているなら、サインインの必要はない。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/MagicNumber">\r
-    <title>MagicNumber</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/MagicNumber</link>\r
-    <dc:identifier>MagicNumber</dc:identifier>\r
-    <dc:date>2012-02-14T17:44:15+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= 定数\r
-システムごとに固定のパラメータ。必要に応じて管理者が変更する。\r
-== コミック\r
-==== comic_default_page_size\r
- * コミックを一覧形式で表示する機能で、一ページに表示できる(APIが返す)データの行数。\r
- * 初期値:25\r
-==== comic_max_page_size\r
- * コミックを一覧形式で表示する機能で、一ページに表示できる(APIが返]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E5.AE.9A.E6.95.B0">定数</h1><p>システムごとに固定のパラメータ。必要に応じて管理者が変更する。\r
-</p><h2 id="h2-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF">コミック</h2><h4 id="h4-comic_default_page_size">comic_default_page_size</h4><ul><li>コミックを一覧形式で表示する機能で、一ページに表示できる(APIが返す)データの行数。\r
-</li><li>初期値:25\r
-</li></ul><h4 id="h4-comic_max_page_size">comic_max_page_size</h4><ul><li>コミックを一覧形式で表示する機能で、一ページに表示できる(APIが返す)データの最大行数。\r
-</li><li>初期値:100\r
-</li></ul><h2 id="h2-.E3.82.B3.E3.83.9E">コマ</h2><h4 id="h4-panel_default_page_size">panel_default_page_size</h4><ul><li>コマを一覧形式で表示する機能で、一ページに表示できる(APIが返す)データの行数。\r
-</li></ul><h4 id="h4-panel_max_page_size">panel_max_page_size</h4><ul><li>コマを一覧形式で表示する機能で、一ページに表示できる(APIが返す)データの最大行数。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/HomeController">\r
-    <title>HomeController</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/HomeController</link>\r
-    <dc:identifier>HomeController</dc:identifier>\r
-    <dc:date>2012-02-13T18:55:23+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ホーム @ RailsControllers\r
-作家の作業場。自分が持ってるデータを操作するための機能。\r
-\r
-== HomeIndex\r
-== HomeComics\r
-== HomePanels\r
-== HomeResourcePictures\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E3.83.9B.E3.83.BC.E3.83.A0.20.40.20RailsControllers">ホーム @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>作家の作業場。自分が持ってるデータを操作するための機能。\r
-</p><h2 id="h2-HomeIndex"><a href="http://sourceforge.jp/projects/pettanr/wiki/HomeIndex">HomeIndex</a></h2><h2 id="h2-HomeComics"><a href="http://sourceforge.jp/projects/pettanr/wiki/HomeComics">HomeComics</a></h2><h2 id="h2-HomePanels"><a href="http://sourceforge.jp/projects/pettanr/wiki/HomePanels">HomePanels</a></h2><h2 id="h2-HomeResourcePictures"><a href="http://sourceforge.jp/projects/pettanr/wiki/HomeResourcePictures">HomeResourcePictures</a></h2>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerDestroy">\r
-    <title>PanelsControllerDestroy</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerDestroy</link>\r
-    <dc:identifier>PanelsControllerDestroy</dc:identifier>\r
-\r
-    <dc:date>2012-02-13T17:54:22+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= destroy @ PanelsController\r
-削除\r
-=== url\r
- * http://localhost:3000/panels/1\r
- * http://localhost:3000/panels/1.json\r
-=== リクエスト\r
-||権限||作家||\r
-||method||delete||\r
-||urlパラメータ||id||\r
-||POSTデータ||json形式*||\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-destroy.20.40.20PanelsController">destroy @ <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a></h1><p>削除\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/panels/1" class="external" rel="nofollow">http://localhost:3000/panels/1</a>\r
-</li><li><a href="http://localhost:3000/panels/1.json" class="external" rel="nofollow">http://localhost:3000/panels/1.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>delete</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>指定されたidのコマを削除する。コマだけでなく、関連するコマ絵、フキダシ、セリフも同時に削除される。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>指定されたidのコマを取得する。\r
-</li><li>権限をチェックする。\r
-</li><li>そのコマを一つのトランザクションで削除する。\r
-<ul><li>同時に関連するコマ絵、フキダシ、セリフも削除する。\r
-</li><li>後ろのコマを前に詰める。\r
-<ul><li>tが後ろの行すべてをt-1する。\r
-</li></ul></li></ul></li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>削除の対象となるコマのid\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E9.80.A3.E6.90.BA">モデルとの連携</h3><p>削除はモデルの責任で行う。関連データもモデルが削除する。\r
-</p><h4 id="h4-.E6.A4.9C.E8.A8.BC">検証</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelModel">PanelModel</a>の削除検証を行う。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>値は返さない。\r
-<ul><li>htmlなら、コマが所属するコミックの閲覧ページに遷移する。\r
-</li><li>jsonならステータスコード200 :okを返す。\r
-</li></ul></li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-</li></ul></li><li>他人のコマだった。\r
-<ul><li>htmlなら、コマ閲覧ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerUpdate">\r
-    <title>PanelsControllerUpdate</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerUpdate</link>\r
-    <dc:identifier>PanelsControllerUpdate</dc:identifier>\r
-    <dc:date>2012-02-13T17:47:36+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= update @ PanelsController\r
-更新\r
-=== url\r
- * http://localhost:3000/panels/1\r
- * http://localhost:3000/panels/1.json\r
-=== リクエスト\r
-||権限||作家||\r
-||method||put||\r
-||urlパラメータ||id||\r
-||POSTデータ||json形式またはフォームで]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-update.20.40.20PanelsController">update @ <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a></h1><p>更新\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/panels/1" class="external" rel="nofollow">http://localhost:3000/panels/1</a>\r
-</li><li><a href="http://localhost:3000/panels/1.json" class="external" rel="nofollow">http://localhost:3000/panels/1.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>put</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式またはフォームで</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsEdit">PanelsEdit</a>フォームからコマを修正するための機能。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>権限をチェックする。\r
-</li><li>パラメータからpanelデータを起こす。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-<ul><li>comic.author_idをログイン中の作家idで補足する。\r
-</li></ul></li><li>panelデータを検証し、dbに一つのトランザクションで保存する。\r
-<ul><li>コマの移動チェック。\r
-<ul><li>コマ順panel.tが変更されていればコマ移動。\r
-</li><li>パラメータにpanel.tが設定されていて、起こしたpanel.tと違うことをいう。\r
-</li><li>コマ移動処理は<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelModel">PanelModel</a>を参照する。\r
-</li></ul></li><li>\r
-</li></ul></li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>編集の対象となるコミックのid\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-comic.20.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E6.83.85.E5.A0.B1">comic コミック情報</h4><ul><li>title\r
-</li><li>width\r
-</li><li>height\r
-</li><li>visible\r
-</li><li>editable\r
-</li></ul><h4 id="h4-auth_token">auth_token</h4><ul><li>jsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E9.80.A3.E6.90.BA.EF.BC.88.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3.EF.BC.89">モデルとの連携(データ補正)</h3><h4 id="h4-POST.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E5.A4.89.E6.8F.9B">POSTデータの変換</h4><p>なし\r
-</p><h4 id="h4-.E3.83.87.E3.83.BC.E3.82.BF.E8.A3.9C.E6.AD.A3">データ補正</h4><ul><li>author_id\r
-<ul><li>操作中の作家のidをauthor_idとする。\r
-</li></ul></li></ul><h4 id="h4-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.BC.E3.83.95.E3.82.A7.E3.82.A4.E3.82.B9">モデルとのインターフェイス</h4><ul><li>panel\r
-</li><li>{author_id}\r
-</li></ul><h4 id="h4-.E6.A4.9C.E8.A8.BC">検証</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>の検証を行う。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>作成されたパネルデータを返す。\r
-<ul><li>htmlなら、作成されたパネルが所属するコミックの閲覧ページに遷移する。\r
-<ul><li>最新のコマ10件を指定する。\r
-</li></ul></li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><p>json時のデータ階層\r
-</p><ul><li>comic\r
-</li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li><li>他人のコマだった。\r
-<ul><li>htmlなら、コミック閲覧ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden \r
-</li></ul></li></ul></li><li>検証、保存に失敗した\r
-<ul><li>htmlなら、コミック閲覧ページを描画する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは422 unprocessable_entity\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerEdit">\r
-    <title>PanelsControllerEdit</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerEdit</link>\r
-\r
-    <dc:identifier>PanelsControllerEdit</dc:identifier>\r
-    <dc:date>2012-02-13T17:25:04+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= edit @ PanelsController\r
-編集\r
-=== url\r
- * http://localhost:3000/panels/1/edit\r
- * http://localhost:3000/panels/1/edit.js\r
- * http://localhost:3000/panels/1/edit.json\r
-=== リクエスト\r
-||権限||作家||\r
-||method|]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-edit.20.40.20PanelsController">edit @ <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a></h1><p>編集\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/panels/1/edit" class="external" rel="nofollow">http://localhost:3000/panels/1/edit</a>\r
-</li><li><a href="http://localhost:3000/panels/1/edit.js" class="external" rel="nofollow">http://localhost:3000/panels/1/edit.js</a>\r
-</li><li><a href="http://localhost:3000/panels/1/edit.json" class="external" rel="nofollow">http://localhost:3000/panels/1/edit.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>GET</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>コマを更新するための入力フォームを、指定されたidのデータを埋めたページで表示する。このアクションが返すフォームに対し、ユーザが入力して送信ボタンを押すことで、更新アクション<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsUpdate">PanelsUpdate</a>が起動され、指定の行が更新される。だから、フォームの表示のみの処理だけで、これといったdb処理はない。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>指定されたidのコマを取得する。関連するコマ絵、フキダシ、セリフも含める。\r
-</li><li>権限をチェックする。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>編集を加えたいコマのid。\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>jsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0">フォーム</h3><p>フォームに含めるべき項目は次の通り。\r
-</p><ul><li>panel\r
-<ul><li>comic_id\r
-</li><li>width\r
-</li><li>height\r
-</li><li>border\r
-</li><li>t\r
-</li></ul></li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelModel">PanelModel</a>\r
-</p><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>入力フォームを返す。\r
-<ul><li>htmlなら、フォームを含んだページ全体を返す。\r
-</li><li>jsなら、フォームだけをajax更新のスタイルで返す。\r
-</li></ul></li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li><li>他人の非公開なコミックのコマだった。\r
-<ul><li>htmlなら、forbiddenページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li><li>他人の一般投稿不可なコミックのコマだった。\r
-<ul><li>htmlなら、forbiddenページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerNew">\r
-    <title>PanelsControllerNew</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerNew</link>\r
-    <dc:identifier>PanelsControllerNew</dc:identifier>\r
-    <dc:date>2012-02-13T16:57:21+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= new @ PanelsController\r
-新規作成フォームの表示。\r
-=== url\r
- * http://localhost:3000/panels/new\r
- * http://localhost:3000/panels/new.json\r
- * http://localhost:3000/panels/new.js\r
-=== リクエスト\r
-||権限||作家*||\r
-||method]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-new.20.40.20PanelsController">new @ <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a></h1><p>新規作成フォームの表示。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/panels/new" class="external" rel="nofollow">http://localhost:3000/panels/new</a>\r
-</li><li><a href="http://localhost:3000/panels/new.json" class="external" rel="nofollow">http://localhost:3000/panels/new.json</a>\r
-</li><li><a href="http://localhost:3000/panels/new.js" class="external" rel="nofollow">http://localhost:3000/panels/new.js</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家*</td></tr><tr><td>method</td><td>GET</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>コマを投稿するための入力フォームをまっさらなページで表示する。このアクションが返すフォームに対し、ユーザが入力して送信ボタンを押すことで、作成アクション<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsCreate">PanelsCreate</a>が起動され、新規の行が作成される。だから、フォームの表示のみの処理だけで、これといったdb処理はない。コマはコミックを対象に投稿されるので、コミックを特定するためのidをパラメータとして表示とする。なお、コマの投稿は複雑な手順を踏むので、フォームを完成させる処理はクライアントに任される。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>comic_idから指定のコミックを得る。\r
-</li><li>権限をチェックする。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><p>なし\r
-</p><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-comic_id">comic_id</h4><ul><li>コマを投稿するコミックのid\r
-</li></ul><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0">フォーム</h3><p>フォームに含めるべき項目は次の通り。\r
-</p><ul><li>panel\r
-<ul><li>comic_id\r
-</li><li>width\r
-</li><li>height\r
-</li><li>border\r
-</li><li>t\r
-</li></ul></li></ul><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelModel">PanelModel</a>\r
-</p><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>入力フォームを返す。\r
-<ul><li>htmlなら、フォームを含んだページ全体を返す。\r
-</li><li>jsなら、フォームだけをajax更新のスタイルで返す。\r
-</li></ul></li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>他人のコミックで非公開だった。\r
-<ul><li>htmlなら、forbiddenページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li><li>他人のコミックで一般投稿不可だった。\r
-<ul><li>htmlなら、forbiddenページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerCount">\r
-    <title>PanelsControllerCount</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerCount</link>\r
-    <dc:identifier>PanelsControllerCount</dc:identifier>\r
-    <dc:date>2012-02-13T08:28:51+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= count @ PanelsController\r
-コマ数\r
-=== url\r
- * http://localhost:3000/panels/count.json\r
-=== リクエスト\r
-||権限||誰でも||\r
-||method||get||\r
-||urlパラメータ||なし||\r
-||html||&times;||\r
-||json||○||\r
-||jsonp||○||\r
-== 解説\r
-公開]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-count.20.40.20PanelsController">count @ <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a></h1><p>コマ数\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/panels/count.json" class="external" rel="nofollow">http://localhost:3000/panels/count.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>誰でも</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>html</td><td>×</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>公開されているコマの数を返す。この情報だけをページで見ることはないので、jsonだけでの提供となる。クローズドなサイトでもどれだけ活発なサイトかを投稿コマ数でアピールすることが想定されるので、誰でも応答することにする。\r
-</p><ul><li>公開コミックに所属するpanelsの行の数を取得する。\r
-</li><li>取得したデータを返す。\r
-<ul><li>json形式で返す。\r
-</li></ul></li></ul><p>※返る値は必ずしも正確ではない。コマ数は常に変化するので、この情報を元にループ処理を行う場合は、不足していても問題ないように対処しておくこと。\r
-</p><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>panel.count\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesDestroy">\r
-    <title>OriginalPicturesDestroy</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesDestroy</link>\r
-    <dc:identifier>OriginalPicturesDestroy</dc:identifier>\r
-\r
-    <dc:date>2012-02-12T18:33:03+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= destroy @ OriginalPicturesController\r
-原画の削除。\r
-=== url\r
- * http://localhost:3000/original_pictures/1\r
- * http://localhost:3000/original_pictures/1.json\r
-=== リクエスト\r
-||権限||オーナー絵師||\r
-||method||delete||\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-destroy.20.40.20OriginalPicturesController">destroy @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a></h1><p>原画の削除。\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/original_pictures/1" class="external" rel="nofollow">http://localhost:3000/original_pictures/1</a>\r
-</li><li><a href="http://localhost:3000/original_pictures/1.json" class="external" rel="nofollow">http://localhost:3000/original_pictures/1.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>オーナー絵師</td></tr><tr><td>method</td><td>delete</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>指定されたidの原画を削除する。原画だけでなく、関連する素材、画像ファイル、加工済み画像ファイルも同時に削除される。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>作家アカウントから絵師データを取得する。\r
-</li><li>指定されたidの原画を取得する。\r
-</li><li>権限をチェックする。\r
-</li><li>その原画を削除する。同時に関連する素材、画像ファイル、加工済み画像ファイルも削除する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h1 id="h1-.E7.B4.A0.E6.9D.90.E3.81.AF.E6.B6.88.E3.81.97.E3.81.A6.E3.81.84.E3.81.84.E3.81.8B.EF.BC.9F.E6.8F.90.E4.BE.9B.E4.B8.AD.E6.AD.A2.E3.82.A2.E3.82.AF.E3.82.B7.E3.83.A7.E3.83.B3.E3.82.92.E7.94.A8.E6.84.8F.E3.81.99.E3.82.8B.E3.81.B9.E3.81.8D.E3.81.8B.E3.80.82">素材は消していいか?提供中止アクションを用意するべきか。</h1><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>削除の対象となる原画のid\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E9.80.A3.E6.90.BA">モデルとの連携</h3><p>削除はモデルの責任で行う。関連データもモデルが削除する。\r
-</p><h4 id="h4-.E6.A4.9C.E8.A8.BC">検証</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>の削除検証を行う。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>値は返さない。\r
-<ul><li>htmlなら、原画一覧ページに遷移する。\r
-</li><li>jsonならステータスコード200 :okを返す。\r
-</li></ul></li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-</li></ul></li><li>他人の原画だった。\r
-<ul><li>htmlなら、forbiddenページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsDestroy">\r
-    <title>ComicsDestroy</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsDestroy</link>\r
-    <dc:identifier>ComicsDestroy</dc:identifier>\r
-    <dc:date>2012-02-12T18:31:27+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= destroy @ ComicsController\r
-削除\r
-=== url\r
- * http://localhost:3000/comics/1\r
- * http://localhost:3000/comics/1.json\r
-=== リクエスト\r
-||権限||作家||\r
-||method||delete||\r
-||urlパラメータ||id||\r
-||POSTデータ||json形式*||\r
-]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-destroy.20.40.20ComicsController">destroy @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a></h1><p>削除\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/comics/1" class="external" rel="nofollow">http://localhost:3000/comics/1</a>\r
-</li><li><a href="http://localhost:3000/comics/1.json" class="external" rel="nofollow">http://localhost:3000/comics/1.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>delete</td></tr><tr><td>urlパラメータ</td><td>id</td></tr><tr><td>POSTデータ</td><td>json形式*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>指定されたidのコミックを削除する。コミックだけでなく、関連するコマ、コマ絵、フキダシ、セリフも同時に削除される。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>指定されたidのコミックを取得する。\r
-</li><li>権限をチェックする。\r
-</li><li>そのコミックを削除する。同時に関連するコマ、コマ絵、フキダシ、セリフも削除する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h3 id="h3-url.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">urlパラメータ</h3><h4 id="h4-id">id</h4><ul><li>削除の対象となるコミックのid\r
-</li></ul><h3 id="h3-POST.E3.83.87.E3.83.BC.E3.82.BF">POSTデータ</h3><h4 id="h4-auth_token">auth_token</h4><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h3 id="h3-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.A8.E3.81.AE.E9.80.A3.E6.90.BA">モデルとの連携</h3><p>削除はモデルの責任で行う。関連データもモデルが削除する。\r
-</p><h4 id="h4-.E6.A4.9C.E8.A8.BC">検証</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>の削除検証を行う。\r
-</li></ul><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>値は返さない。\r
-<ul><li>htmlなら、コミック一覧ページに遷移する。\r
-</li><li>jsonならステータスコード200 :okを返す。\r
-</li></ul></li></ul><h4 id="h4-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h4><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-</li></ul></li><li>他人のコミックだった。\r
-<ul><li>htmlなら、コミック閲覧ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsTop">\r
-    <title>ComicsTop</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsTop</link>\r
-\r
-    <dc:identifier>ComicsTop</dc:identifier>\r
-    <dc:date>2012-02-12T14:39:37+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= top @ ComicsController\r
-総合トップページ。\r
-== url\r
- * http://localhost:3000/\r
-== リクエスト\r
-||権限||作家||\r
-||method||get||\r
-||urlパラメータ||なし||\r
-||html||○||\r
-||json||&times;||\r
-||jsonp||&times;||\r
-== 解説\r
-ぺったんRのロゴがクリッ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-top.20.40.20ComicsController">top @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a></h1><p>総合トップページ。\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/" class="external" rel="nofollow">http://localhost:3000/</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>作家</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>×</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>ぺったんRのロゴがクリックされたときに開くページ。コミュニティ関連の入り口となる。コミックとは関係ないが、他に行き場がない。\r
-</p><p>各コンテンツの最新情報が表示される。雑多な情報を扱うのでjsonには対応しない。\r
-</p>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesControllerCount">\r
-    <title>PanelPicturesControllerCount</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesControllerCount</link>\r
-    <dc:identifier>PanelPicturesControllerCount</dc:identifier>\r
-    <dc:date>2012-02-12T12:51:47+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= count @ PanelPicturesController\r
-投稿されたコマ数\r
-=== url\r
- * http://localhost:3000/panel_pictures/count.json\r
-=== リクエスト\r
-||権限||誰でも||\r
-||method||get||\r
-||urlパラメータ||なし||\r
-||html||&times;||\r
-||json||○||\r
-||j]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-count.20.40.20PanelPicturesController">count @ <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController">PanelPicturesController</a></h1><p>投稿されたコマ数\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/panel_pictures/count.json" class="external" rel="nofollow">http://localhost:3000/panel_pictures/count.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>誰でも</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>html</td><td>×</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>公開されているコミックで使われてるコマ絵の数を返す。この情報だけをページで見ることはないので、jsonだけでの提供となる。クローズドなサイトでもどれだけ活発なサイトかをコマ絵数でアピールすることが想定されるので、誰でも応答することにする。\r
-</p><ul><li>公開コミックに所属するpanelsに所属するコマ絵の行の数を取得する。\r
-</li><li>取得したデータを返す。\r
-<ul><li>json形式で返す。\r
-</li></ul></li></ul><p>※返る値は必ずしも正確ではない。コマ絵数は常に変化するので、この情報を元にループ処理を行う場合は、不足していても問題ないように対処しておくこと。\r
-</p><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>panel_picture.count\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesCount">\r
-    <title>ResourcePicturesCount</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesCount</link>\r
-    <dc:identifier>ResourcePicturesCount</dc:identifier>\r
-    <dc:date>2012-02-12T12:34:07+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= count @ ResourcePicturesController\r
-素材数\r
-=== url\r
- * http://localhost:3000/resource_pictures/count.json\r
-=== リクエスト\r
-||権限||誰でも||\r
-||method||get||\r
-||urlパラメータ||なし||\r
-||html||&times;||\r
-||json||○||\r
-||]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-count.20.40.20ResourcePicturesController">count @ <a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController">ResourcePicturesController</a></h1><p>素材数\r
-</p><h3 id="h3-url">url</h3><ul><li><a href="http://localhost:3000/resource_pictures/count.json" class="external" rel="nofollow">http://localhost:3000/resource_pictures/count.json</a>\r
-</li></ul><h3 id="h3-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h3><table class="wikitable" border="1"><tbody><tr><td>権限</td><td>誰でも</td></tr><tr><td>method</td><td>get</td></tr><tr><td>urlパラメータ</td><td>なし</td></tr><tr><td>html</td><td>×</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>○</td></tr></tbody></table><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>公開されている素材の数を返す。この情報だけをページで見ることはないので、jsonだけでの提供となる。クローズドなサイトでもサインアップで作家がどれだけの素材を使えるかをアピールすることが想定されるので、誰でも応答することにする。\r
-</p><ul><li>resource_picturesの行の数を取得する。\r
-</li><li>取得したデータを返す。\r
-<ul><li>json形式で返す。\r
-</li></ul></li></ul><p>※返る値は必ずしも正確ではない。素材数は常に変化するので、この情報を元にループ処理を行う場合は、不足していても問題ないように対処しておくこと。\r
-</p><h3 id="h3-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><ul><li>resource_picture.count\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController">\r
-    <title>OriginalLicensesController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController</link>\r
-    <dc:identifier>OriginalLicensesController</dc:identifier>\r
-\r
-    <dc:date>2012-02-11T13:31:28+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= オリジナルライセンス  @ RailsControllers\r
-絵師が採用する素材ライセンスがぺったんサーバに存在しない場合は、絵師によるオリジナルなライセンスを登録して選択する。そのためのオリジナルなライセンスを管理する機能。\r
-\r
-素材のライセンスを選択するのは絵師だけなので、機能を操作する権限は絵師だけに与えられる。絵師は自由にオリジナルライセンスを作成できるが、変更・削除はそのライセン]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.AA.E3.83.AA.E3.82.B8.E3.83.8A.E3.83.AB.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.20.20.40.20RailsControllers">オリジナルライセンス  @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>絵師が採用する素材ライセンスがぺったんサーバに存在しない場合は、絵師によるオリジナルなライセンスを登録して選択する。そのためのオリジナルなライセンスを管理する機能。\r
-</p><p>素材のライセンスを選択するのは絵師だけなので、機能を操作する権限は絵師だけに与えられる。絵師は自由にオリジナルライセンスを作成できるが、変更・削除はそのライセンスのオーナーでなければならない。また、オーナーであっても他人が採択しているライセンスは更新できない。\r
-</p><p>なお、データベース上には、<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicense">OriginalLicense</a>とLicenseに二重にデータが存在するが、マスターが<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicense">OriginalLicense</a>であり、Licenseがコピーである。よって、更新系の処理はすべて<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicense">OriginalLicense</a>側が窓口となり、<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicense">OriginalLicense</a>が更新されると同時にLicenseへも反映されるという手順となる。また、みなが使っているライセンスのフラグを途中で変えてしまうと話がまったく変わってしまうので、更新系処理は誰も利用していないライセンスしかできない。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicenseModel">OriginalLicenseModel</a>\r
-</p><h2 id="h2-OriginalLicensesNew"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesNew">OriginalLicensesNew</a></h2><h2 id="h2-OriginalLicensesCreate"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesCreate">OriginalLicensesCreate</a></h2><h2 id="h2-OriginalLicensesEdit"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesEdit">OriginalLicensesEdit</a></h2><h2 id="h2-OriginalLicensesUpdate"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesUpdate">OriginalLicensesUpdate</a></h2><h2 id="h2-OriginalLicensesDestroy"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesDestroy">OriginalLicensesDestroy</a></h2><hr /><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesNew">\r
-    <title>OriginalLicensesNew</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesNew</link>\r
-    <dc:identifier>OriginalLicensesNew</dc:identifier>\r
-    <dc:date>2012-02-11T13:28:13+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= new @ OriginalLicensesController\r
-新規\r
-== url\r
- * http://localhost:3000/original_licenses/new\r
- * http://localhost:3000/original_licenses/new.json\r
- * http://localhost:3000/original_licenses/new.js\r
-]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-new.20.40.20OriginalLicensesController">new @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController">OriginalLicensesController</a></h1><p>新規\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/original_licenses/new" class="external" rel="nofollow">http://localhost:3000/original_licenses/new</a>\r
-</li><li><a href="http://localhost:3000/original_licenses/new.json" class="external" rel="nofollow">http://localhost:3000/original_licenses/new.json</a>\r
-</li><li><a href="http://localhost:3000/original_licenses/new.js" class="external" rel="nofollow">http://localhost:3000/original_licenses/new.js</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>なし</td></tr><tr><td>権限</td><td>絵師</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr><tr><td>method</td><td>GET</td></tr></tbody></table><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>オリジナルライセンスを新規作成するための入力フォームをまっさらなページで表示する。\r
-</p><p>フォームの表示のみなので、これといった処理はない。\r
-</p><ul><li>権限をチェックする。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>入力フォームを返す。\r
-<ul><li>htmlなら、フォームを含んだページ全体を返す。\r
-</li><li>jsなら、フォームだけをajax更新のスタイルで返す。\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>管理者アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>絵師登録してなかった。\r
-<ul><li>htmlなら、絵師登録を促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesDestroy">\r
-    <title>CommonLicensesDestroy</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesDestroy</link>\r
-\r
-    <dc:identifier>CommonLicensesDestroy</dc:identifier>\r
-    <dc:date>2012-02-11T13:19:12+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= destroy @ CommonLicensesController\r
-削除\r
-== url\r
- * http://localhost:3000/common_licenses/1\r
- * http://localhost:3000/common_licenses/1.json\r
-== リクエスト\r
-||パラメータ||id||\r
-||権限||管理者||\r
-||html||○||\r
-||json]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-destroy.20.40.20CommonLicensesController">destroy @ <a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesController">CommonLicensesController</a></h1><p>削除\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/common_licenses/1" class="external" rel="nofollow">http://localhost:3000/common_licenses/1</a>\r
-</li><li><a href="http://localhost:3000/common_licenses/1.json" class="external" rel="nofollow">http://localhost:3000/common_licenses/1.json</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>method</td><td>delete</td></tr></tbody></table><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>指定されたidのコモンライセンスを削除する。コモンライセンスだけでなく、関連するライセンスも同時に削除される。\r
-</p><ul><li>権限をチェックする。\r
-</li><li>指定されたidのコモンライセンスを取得する。\r
-</li><li>そのコモンライセンスを削除する。同時に関連するライセンスも削除する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><ul><li>なし\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>値は返さない。\r
-<ul><li>htmlなら、ライセンス一覧ページに遷移する。\r
-</li><li>jsonならステータスコード200 :okを返す。\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>管理者アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-</li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li><li>利用中のコモンライセンスだった。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesDestroy">\r
-    <title>OriginalLicensesDestroy</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesDestroy</link>\r
-    <dc:identifier>OriginalLicensesDestroy</dc:identifier>\r
-    <dc:date>2012-02-11T13:16:16+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= destroy @ OriginalLicensesController\r
-削除\r
-== url\r
- * http://localhost:3000/original_licenses/1\r
- * http://localhost:3000/original_licenses/1.json\r
-== リクエスト\r
-||パラメータ||id||\r
-||権限||オーナー絵師||\r
-||html||○|]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-destroy.20.40.20OriginalLicensesController">destroy @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController">OriginalLicensesController</a></h1><p>削除\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/original_licenses/1" class="external" rel="nofollow">http://localhost:3000/original_licenses/1</a>\r
-</li><li><a href="http://localhost:3000/original_licenses/1.json" class="external" rel="nofollow">http://localhost:3000/original_licenses/1.json</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>オーナー絵師</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>method</td><td>delete</td></tr></tbody></table><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>指定されたidのオリジナルライセンスを削除する。オリジナルライセンスだけでなく、関連するライセンスも同時に削除される。\r
-</p><ul><li>権限をチェックする。\r
-</li><li>指定されたidのオリジナルライセンスを取得する。\r
-</li><li>そのオリジナルライセンスを削除する。同時に関連するライセンスも削除する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><ul><li>なし\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>値は返さない。\r
-<ul><li>htmlなら、原画一覧ページに遷移する。\r
-</li><li>jsonならステータスコード200 :okを返す。\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-</li></ul></li><li>他人のオリジナルライセンスだった。\r
-<ul><li>htmlなら、forbiddenページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li><li>利用中のオリジナルライセンスだった。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesUpdate">\r
-    <title>OriginalLicensesUpdate</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesUpdate</link>\r
-    <dc:identifier>OriginalLicensesUpdate</dc:identifier>\r
-    <dc:date>2012-02-11T13:09:24+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= update @ OriginalLicensesController\r
-更新\r
-== url\r
- * http://localhost:3000/original_licenses/1\r
- * http://localhost:3000/original_licenses/1.json\r
-== リクエスト\r
-||パラメータ||id+jsonまたはフォーム||\r
-||権限||オーナー絵師||\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-update.20.40.20OriginalLicensesController">update @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController">OriginalLicensesController</a></h1><p>更新\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/original_licenses/1" class="external" rel="nofollow">http://localhost:3000/original_licenses/1</a>\r
-</li><li><a href="http://localhost:3000/original_licenses/1.json" class="external" rel="nofollow">http://localhost:3000/original_licenses/1.json</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id+jsonまたはフォーム</td></tr><tr><td>権限</td><td>オーナー絵師</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>method</td><td>put</td></tr></tbody></table><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><ul><li>オリジナルライセンスのid\r
-</li><li>オリジナルライセンスの情報。<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicenseModel">OriginalLicenseModel</a>を参照。\r
-<ul><li>license_id\r
-</li><li>name\r
-</li><li>url\r
-</li><li>cc_by\r
-</li><li>cc_sa\r
-</li><li>cc_nd\r
-</li><li>cc_nc\r
-</li><li>no_resize\r
-</li><li>no_flip\r
-</li><li>no_convert\r
-</li><li>keep_aspect_ratio\r
-</li></ul></li></ul><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>オリジナルライセンスを修正するための機能。\r
-</p><ul><li>権限をチェックする。\r
-</li><li>指定されたidのオリジナルライセンスを取得する。\r
-</li><li>与えられたパラメータでオリジナルライセンスを更新する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicenseModel">OriginalLicenseModel</a>の検証を行う。\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>更新されたオリジナルライセンスデータを返す。\r
-<ul><li>htmlなら、更新されたオリジナルライセンスから辿ったライセンスの閲覧ページに遷移する。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><p>json時のデータ階層\r
-</p><ul><li>original_license\r
-<ul><li>license\r
-</li><li>artist\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>絵師登録してなかった。\r
-<ul><li>htmlなら、絵師登録を促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>他人のライセンスだった。\r
-<ul><li>htmlなら、forbiddenページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li><li>検証、保存に失敗した\r
-<ul><li>htmlなら、編集ページを描画する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは422 unprocessable_entity\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesUpdate">\r
-    <title>CommonLicensesUpdate</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesUpdate</link>\r
-    <dc:identifier>CommonLicensesUpdate</dc:identifier>\r
-\r
-    <dc:date>2012-02-11T13:07:30+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= update @ CommonLicensesController\r
-更新\r
-== url\r
- * http://localhost:3000/common_licenses/1\r
- * http://localhost:3000/common_licenses/1.json\r
-== リクエスト\r
-||パラメータ||id+jsonまたはフォーム||\r
-||権限||管理者||\r
-||html||]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-update.20.40.20CommonLicensesController">update @ <a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesController">CommonLicensesController</a></h1><p>更新\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/common_licenses/1" class="external" rel="nofollow">http://localhost:3000/common_licenses/1</a>\r
-</li><li><a href="http://localhost:3000/common_licenses/1.json" class="external" rel="nofollow">http://localhost:3000/common_licenses/1.json</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id+jsonまたはフォーム</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>method</td><td>put</td></tr></tbody></table><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><ul><li>コモンライセンスのid\r
-</li><li>コモンライセンスの情報。<a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicenseModel">CommonLicenseModel</a>を参照。\r
-<ul><li>license_id\r
-</li><li>name\r
-</li><li>url\r
-</li><li>cc_by\r
-</li><li>cc_sa\r
-</li><li>cc_nd\r
-</li><li>cc_nc\r
-</li><li>no_resize\r
-</li><li>no_flip\r
-</li><li>no_convert\r
-</li><li>keep_aspect_ratio\r
-</li></ul></li></ul><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>コモンライセンスを修正するための機能。\r
-</p><ul><li>権限をチェックする。\r
-</li><li>指定されたidのコモンライセンスを取得する。\r
-</li><li>与えられたパラメータでコモンライセンスを更新する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicenseModel">CommonLicenseModel</a>の検証を行う。\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>更新されたコモンライセンスデータを返す。\r
-<ul><li>htmlなら、更新されたコモンライセンスから辿ったライセンスの閲覧ページに遷移する。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><p>json時のデータ階層\r
-</p><ul><li>common_license\r
-<ul><li>license\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>管理者でサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li><li>検証、保存に失敗した\r
-<ul><li>htmlなら、編集ページを描画する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは422 unprocessable_entity\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesEdit">\r
-    <title>CommonLicensesEdit</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesEdit</link>\r
-    <dc:identifier>CommonLicensesEdit</dc:identifier>\r
-    <dc:date>2012-02-11T11:52:04+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= edit @ CommonLicensesController\r
-編集\r
-== url\r
- * http://localhost:3000/common_licenses/edit\r
- * http://localhost:3000/common_licenses/edit.js\r
- * http://localhost:3000/common_licenses/edit.json\r
-== リ]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-edit.20.40.20CommonLicensesController">edit @ <a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesController">CommonLicensesController</a></h1><p>編集\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/common_licenses/edit" class="external" rel="nofollow">http://localhost:3000/common_licenses/edit</a>\r
-</li><li><a href="http://localhost:3000/common_licenses/edit.js" class="external" rel="nofollow">http://localhost:3000/common_licenses/edit.js</a>\r
-</li><li><a href="http://localhost:3000/common_licenses/edit.json" class="external" rel="nofollow">http://localhost:3000/common_licenses/edit.json</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr><tr><td>method</td><td>GET</td></tr></tbody></table><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>コモンライセンスを更新するための入力フォームを、指定されたidのデータを埋めたページで表示する。\r
-</p><ul><li>権限をチェックする。\r
-</li><li>指定されたidのコモンライセンスを取得する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>入力フォームを返す。\r
-<ul><li>htmlなら、フォームを含んだページ全体を返す。\r
-</li><li>jsなら、フォームだけをajax更新のスタイルで返す。\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>管理者でサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesEdit">\r
-    <title>OriginalLicensesEdit</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesEdit</link>\r
-\r
-    <dc:identifier>OriginalLicensesEdit</dc:identifier>\r
-    <dc:date>2012-02-11T11:51:12+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= edit @ OriginalLicensesController\r
-編集\r
-== url\r
- * http://localhost:3000/original_licenses/edit\r
- * http://localhost:3000/original_licenses/edit.js\r
- * http://localhost:3000/original_licenses/edit.js]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-edit.20.40.20OriginalLicensesController">edit @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController">OriginalLicensesController</a></h1><p>編集\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/original_licenses/edit" class="external" rel="nofollow">http://localhost:3000/original_licenses/edit</a>\r
-</li><li><a href="http://localhost:3000/original_licenses/edit.js" class="external" rel="nofollow">http://localhost:3000/original_licenses/edit.js</a>\r
-</li><li><a href="http://localhost:3000/original_licenses/edit.json" class="external" rel="nofollow">http://localhost:3000/original_licenses/edit.json</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>オーナー絵師</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr><tr><td>method</td><td>GET</td></tr></tbody></table><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>オリジナルライセンスを更新するための入力フォームを、指定されたidのデータを埋めたページで表示する。\r
-</p><ul><li>権限をチェックする。\r
-</li><li>指定されたidのオリジナルライセンスを取得する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>入力フォームを返す。\r
-<ul><li>htmlなら、フォームを含んだページ全体を返す。\r
-</li><li>jsなら、フォームだけをajax更新のスタイルで返す。\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>絵師登録してなかった。\r
-<ul><li>htmlなら、絵師登録を促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>指定されたidが存在しなかった。\r
-<ul><li>htmlなら、404ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは404 :not_found\r
-</li></ul></li></ul></li><li>他人のライセンスだった。\r
-<ul><li>htmlなら、forbiddenページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesCreate">\r
-    <title>OriginalLicensesCreate</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesCreate</link>\r
-    <dc:identifier>OriginalLicensesCreate</dc:identifier>\r
-    <dc:date>2012-02-11T11:36:49+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= create @ OriginalLicensesController\r
-作成\r
-== url\r
- * http://localhost:3000/original_licenses\r
- * http://localhost:3000/original_licenses.json\r
-== リクエスト\r
-||パラメータ||json形式またはフォームで||\r
-||権限||絵師||\r
-||html|]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-create.20.40.20OriginalLicensesController">create @ <a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController">OriginalLicensesController</a></h1><p>作成\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/original_licenses" class="external" rel="nofollow">http://localhost:3000/original_licenses</a>\r
-</li><li><a href="http://localhost:3000/original_licenses.json" class="external" rel="nofollow">http://localhost:3000/original_licenses.json</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>json形式またはフォームで</td></tr><tr><td>権限</td><td>絵師</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>method</td><td>post</td></tr></tbody></table><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><h3 id="h3-original_license">original_license</h3><ul><li>コモンライセンスの情報。<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicenseModel">OriginalLicenseModel</a>を参照。\r
-<ul><li>name\r
-</li><li>url\r
-</li><li>cc_by\r
-</li><li>cc_sa\r
-</li><li>cc_nd\r
-</li><li>cc_nc\r
-</li><li>no_resize\r
-</li><li>no_flip\r
-</li><li>no_convert\r
-</li><li>keep_aspect_ratio\r
-</li></ul></li></ul><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesNew">OriginalLicensesNew</a>フォームからコモンライセンスを新規作成するための機能。\r
-</p><ul><li>権限をチェックする。\r
-</li><li>パラメータからライセンスデータを起こす。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-<ul><li>original_licenses.artist_idをログイン中の絵師idで補足する。\r
-</li></ul></li><li>データを検証し、dbに保存する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicenseModel">OriginalLicenseModel</a>の検証を行う。\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>作成されたコモンライセンスのデータを返す。\r
-<ul><li>htmlなら、ライセンスの一覧ページに遷移する。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><p>json時のデータ階層\r
-</p><ul><li>original_licenses\r
-<ul><li>licenses\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>管理者アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>検証、保存に失敗した\r
-<ul><li>htmlなら、新規ページを描画する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは422 unprocessable_entity\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesCreate">\r
-    <title>CommonLicensesCreate</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesCreate</link>\r
-    <dc:identifier>CommonLicensesCreate</dc:identifier>\r
-    <dc:date>2012-02-11T11:29:00+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= create @ CommonLicensesController\r
-作成\r
-== url\r
- * http://localhost:3000/common_licenses\r
- * http://localhost:3000/common_licenses.json\r
-== リクエスト\r
-||パラメータ||json形式またはフォームで||\r
-||権限||管理者||\r
-||html||○||\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-create.20.40.20CommonLicensesController">create @ <a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesController">CommonLicensesController</a></h1><p>作成\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/common_licenses" class="external" rel="nofollow">http://localhost:3000/common_licenses</a>\r
-</li><li><a href="http://localhost:3000/common_licenses.json" class="external" rel="nofollow">http://localhost:3000/common_licenses.json</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>json形式またはフォームで</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>method</td><td>post</td></tr></tbody></table><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><h3 id="h3-common_license">common_license</h3><ul><li>コモンライセンスの情報。<a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicenseModel">CommonLicenseModel</a>を参照。\r
-<ul><li>name\r
-</li><li>url\r
-</li><li>cc_by\r
-</li><li>cc_sa\r
-</li><li>cc_nd\r
-</li><li>cc_nc\r
-</li><li>no_resize\r
-</li><li>no_flip\r
-</li><li>no_convert\r
-</li><li>keep_aspect_ratio\r
-</li></ul></li></ul><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesNew">CommonLicensesNew</a>フォームからコモンライセンスを新規作成するための機能。\r
-</p><ul><li>権限をチェックする。\r
-</li><li>パラメータからライセンスデータを起こす。\r
-</li><li>データを検証し、dbに保存する。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicenseModel">CommonLicenseModel</a>の検証を行う。\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>作成されたコモンライセンスのデータを返す。\r
-<ul><li>htmlなら、ライセンスの一覧ページに遷移する。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><p>json時のデータ階層\r
-</p><ul><li>common_licenses\r
-<ul><li>licenses\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>管理者アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li><li>検証、保存に失敗した\r
-<ul><li>htmlなら、新規ページを描画する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは422 unprocessable_entity\r
-</li></ul></li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/LicensesController">\r
-    <title>LicensesController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/LicensesController</link>\r
-    <dc:identifier>LicensesController</dc:identifier>\r
-\r
-    <dc:date>2012-02-11T09:42:11+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ライセンス  @ RailsControllers\r
-素材のライセンスにはコモンライセンスとオリジナルライセンスがあるが、素材を使う側の作家にとってはどちらのライセンスかを意識することはほとんどない。作家を混乱させないために、それら両者を統合して表示するためにある機能。よって、閲覧のみ。操作はできない。変更作業はすべてCommonLicensesControllerとOriginalLicen]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.20.20.40.20RailsControllers">ライセンス  @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>素材のライセンスにはコモンライセンスとオリジナルライセンスがあるが、素材を使う側の作家にとってはどちらのライセンスかを意識することはほとんどない。作家を混乱させないために、それら両者を統合して表示するためにある機能。よって、閲覧のみ。操作はできない。変更作業はすべて<a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesController">CommonLicensesController</a>と<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController">OriginalLicensesController</a>側にある。\r
-</p><p>常識で考えれば、こんな冗長な設計はないはず。しかし、作家機能を切り捨てた「絵師サーバ」なるものを絵師が独自に稼働させる予定なので切り離しておいた。\r
-</p><p>違いのある両者の表示を一つのアクションで処理すると分岐することになるが、大きな違いはオリジナルライセンスの管理者が誰かということくらいなので、分岐して処理してもらうつもり。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/LicenseModel">LicenseModel</a>\r
-</p><h2 id="h2-LicensesIndex"><a href="http://sourceforge.jp/projects/pettanr/wiki/LicensesIndex">LicensesIndex</a></h2><h2 id="h2-LicensesShow"><a href="http://sourceforge.jp/projects/pettanr/wiki/LicensesShow">LicensesShow</a></h2><hr /><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesNew">\r
-    <title>CommonLicensesNew</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesNew</link>\r
-    <dc:identifier>CommonLicensesNew</dc:identifier>\r
-    <dc:date>2012-02-11T09:20:40+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= new @ CommonLicensesController\r
-新規\r
-== url\r
- * http://localhost:3000/common_licenses/new\r
- * http://localhost:3000/common_licenses/new.json\r
- * http://localhost:3000/common_licenses/new.js\r
-== リクエスト]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-new.20.40.20CommonLicensesController">new @ <a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesController">CommonLicensesController</a></h1><p>新規\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/common_licenses/new" class="external" rel="nofollow">http://localhost:3000/common_licenses/new</a>\r
-</li><li><a href="http://localhost:3000/common_licenses/new.json" class="external" rel="nofollow">http://localhost:3000/common_licenses/new.json</a>\r
-</li><li><a href="http://localhost:3000/common_licenses/new.js" class="external" rel="nofollow">http://localhost:3000/common_licenses/new.js</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>なし</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>js</td><td>○</td></tr><tr><td>method</td><td>GET</td></tr></tbody></table><h2 id="h2-.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF">パラメータ</h2><h3 id="h3-auth_token">auth_token</h3><ul><li>外部からjsonで要求する場合、認証処置として認証トークンが必要。\r
-</li></ul><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>コモンライセンスを新規作成するための入力フォームをまっさらなページで表示する。\r
-</p><p>フォームの表示のみなので、これといった処理はない。\r
-</p><ul><li>権限をチェックする。\r
-</li><li>作業結果をクライアントに戻す。\r
-</li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>入力フォームを返す。\r
-<ul><li>htmlなら、フォームを含んだページ全体を返す。\r
-</li><li>jsなら、フォームだけをajax更新のスタイルで返す。\r
-</li></ul></li></ul><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>管理者アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesController">\r
-    <title>CommonLicensesController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesController</link>\r
-\r
-    <dc:identifier>CommonLicensesController</dc:identifier>\r
-    <dc:date>2012-02-11T09:15:39+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= コモンライセンス  @ RailsControllers\r
-普遍性の高いライセンスを管理する機能。安定して信頼感のあるライセンスは、どのサーバにも組み込んでおきたいし、組み込まれていて欲しい。そこで、スタンダードなライセンスをぺったんRに同梱する。公共性の高さから、操作は一般ユーザには開放されず、管理者しか使えない。ほとんどの場合、管理者もメンテナンスする機会はないが、ぺったんR公式がライセン]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.A2.E3.83.B3.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.20.20.40.20RailsControllers">コモンライセンス  @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>普遍性の高いライセンスを管理する機能。安定して信頼感のあるライセンスは、どのサーバにも組み込んでおきたいし、組み込まれていて欲しい。そこで、スタンダードなライセンスをぺったんRに同梱する。公共性の高さから、操作は一般ユーザには開放されず、管理者しか使えない。ほとんどの場合、管理者もメンテナンスする機会はないが、ぺったんR公式がライセンスを追加すると、サイト側も追随する必要に迫られるといったケースもあると考慮して実装しておく。もちろん、サイト内で安定した実績を挙げているオリジナルライセンスを独自にコモンライセンスへと昇格させてもよい。\r
-</p><p>なお、データベース上には、<a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicense">CommonLicense</a>とLicenseに二重にデータが存在するが、マスターが<a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicense">CommonLicense</a>であり、Licenseがコピーである。よって、閲覧はLicense側で対応し、更新系の処理はすべて<a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicense">CommonLicense</a>側が窓口となる。更新は<a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicense">CommonLicense</a>への書き込みと同時にLicenseへも反映されるという手順となる。また、みなが使っているライセンスのフラグを途中で変えてしまうと話がまったく変わってしまうので、更新系処理は誰も利用していないライセンスしかできない。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicenseModel">CommonLicenseModel</a>\r
-</p><h2 id="h2-CommonLicensesNew"><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesNew">CommonLicensesNew</a></h2><h2 id="h2-CommonLicensesCreate"><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesCreate">CommonLicensesCreate</a></h2><h2 id="h2-CommonLicensesEdit"><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesEdit">CommonLicensesEdit</a></h2><h2 id="h2-CommonLicensesUpdate"><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesUpdate">CommonLicensesUpdate</a></h2><h2 id="h2-CommonLicensesDestroy"><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesDestroy">CommonLicensesDestroy</a></h2><hr /><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ForAuthors">\r
-    <title>ForAuthors</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ForAuthors</link>\r
-    <dc:identifier>ForAuthors</dc:identifier>\r
-    <dc:date>2012-02-10T19:06:09+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= 作家向け文書\r
-はじめに GuidanceForAuthor\r
-== 奥行きzと時間軸t\r
-コミックの各コマには奥行きと時間軸があります。\r
-\r
-奥行きとは、キャラクターの重なり順序とも言いかえることができて、CSS上ではzindexと同じ意味です。\r
-\r
-時間軸はストーリー上での時間の流れの順序で、読者がフキダシやキャラクターを目で追う順序とも言えます。コマのデータを時間軸順に並べれば、台本]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E4.BD.9C.E5.AE.B6.E5.90.91.E3.81.91.E6.96.87.E6.9B.B8">作家向け文書</h1><p>はじめに <a href="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForAuthor">GuidanceForAuthor</a>\r
-</p><h2 id="h2-.E5.A5.A5.E8.A1.8C.E3.81.8Dz.E3.81.A8.E6.99.82.E9.96.93.E8.BB.B8t">奥行きzと時間軸t</h2><p>コミックの各コマには奥行きと時間軸があります。\r
-</p><p>奥行きとは、キャラクターの重なり順序とも言いかえることができて、CSS上ではzindexと同じ意味です。\r
-</p><p>時間軸はストーリー上での時間の流れの順序で、読者がフキダシやキャラクターを目で追う順序とも言えます。コマのデータを時間軸順に並べれば、台本を読むのと同じになるイメージです。\r
-</p><p>これらをコミック上で正しく並べるために、奥行きzと時間軸tが用意してあります。奥行きに関してはエディタでビジュアルに操作している限り問題ありません。しかし、コマの外観だけを見て制作すると、時間軸は必ず正しく並ぶというわけではありません。時間軸を意識することで、より違和感のない漫画ができるとぺったんRでは考えています。画像がきれいに表示されない環境や読み上げソフトなどを使った場合は、特に効果があるはずです。\r
-</p><h2 id="h2-.E3.83.A6.E3.83.8B.E3.83.BC.E3.82.AF.E3.81.AA.E5.A5.A5.E8.A1.8C.E3.81.8D.E3.83.87.E3.83.BC.E3.82.BF.E4.BD.9C.E6.88.90">ユニークな奥行きデータ作成</h2><p>ページ内で同じzindexを持っては意味がありません。そこでzが重ならないようにデータをユニークに作成する必要があります。\r
-</p><h2 id="h2-.E3.83.A6.E3.83.8B.E3.83.BC.E3.82.AF.E3.81.AA.E6.99.82.E9.96.93.E8.BB.B8.E3.83.87.E3.83.BC.E3.82.BF.E4.BD.9C.E6.88.90">ユニークな時間軸データ作成</h2><ul><li>コマ単位でtを順序づけ。\r
-<ul><li>コミック表示など複数のコマが表示される場合は、コマ番号tからのオフセット\r
-</li><li>例えば、コマ1にオブジェクトが4つあるとき、コマ2のtは4から始まる。\r
-</li><li>コマ2に6つのオブジェクトがあるなら、コマ3のtは10から始まる。\r
-</li><li>コマ3に添付されたコマ絵のtが2なら、コマ3のt(オフセット)10+2で12\r
-<ul><li>まぁ、ここはクライアントが好きにしていい話か。別に1-2とか2-3で管理してもいいけど。\r
-</li></ul></li></ul></li><li>tは0から始まる\r
-</li><li>コマpanels内でコマ絵panel_picturesとフキダシ枠speach_balloonのtは重なっちゃだめ。両者は同じレベル。\r
-<ul><li>ただし、フキダシ枠speach_balloonの中にあるセリフspeachesは一つレベルが下。セリフspeachesのtは一つのフキダシ枠speach_balloonの中でユニーク。ほとんどのフキダシにはセリフスペースは一個しかないから、多段フキダシを除けばspeaches.tは常に0。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicenseModel">\r
-    <title>OriginalLicenseModel</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalLicenseModel</link>\r
-    <dc:identifier>OriginalLicenseModel</dc:identifier>\r
-    <dc:date>2012-02-10T09:11:17+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= original_licenses オリジナルライセンス @ AboutModels\r
-||name||和名||type||default||null||limit||note||\r
-||artist_id||ライセンス策定者 絵師id||integer|| ||FALSE|| ||||\r
-||license_id||ライセンスid||integer|| ||FALSE|| ||||\r
-||n]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-original_licenses.20.E3.82.AA.E3.83.AA.E3.82.B8.E3.83.8A.E3.83.AB.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.20.40.20AboutModels">original_licenses オリジナルライセンス @ <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a></h1><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>artist_id</td><td>ライセンス策定者 絵師id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>license_id</td><td>ライセンスid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>name</td><td>ライセンス名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>url</td><td>条項ページURL</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_by</td><td>クリエイティブコモンズBYフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_sa</td><td>クリエイティブコモンズSAフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nd</td><td>クリエイティブコモンズNDフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nc</td><td>クリエイティブコモンズNCフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_resize</td><td>サイズ変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_flip</td><td>反転不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>keep_aspect_ratio</td><td>縦横比変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicenseModel">OriginalLicenseModel</a>\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/LicenseModel">\r
-    <title>LicenseModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/LicenseModel</link>\r
-    <dc:identifier>LicenseModel</dc:identifier>\r
-\r
-    <dc:date>2012-02-10T09:10:46+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= licenses ライセンス @ AboutModels\r
-||name||和名||type||default||null||limit||note||\r
-||name||ライセンス名||string|| ||FALSE|| ||||\r
-||url||条項ページURL||string|| ||FALSE|| ||||\r
-||cc_by||クリエイティブコモンズBYフラグ||integer||0]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-licenses.20.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.20.40.20AboutModels">licenses ライセンス @ <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a></h1><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>name</td><td>ライセンス名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>url</td><td>条項ページURL</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_by</td><td>クリエイティブコモンズBYフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_sa</td><td>クリエイティブコモンズSAフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nd</td><td>クリエイティブコモンズNDフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nc</td><td>クリエイティブコモンズNCフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_resize</td><td>サイズ変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_flip</td><td>反転不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>keep_aspect_ratio</td><td>縦横比変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/LicenseModel">LicenseModel</a>\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/CommonLicenseModel">\r
-    <title>CommonLicenseModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/CommonLicenseModel</link>\r
-    <dc:identifier>CommonLicenseModel</dc:identifier>\r
-    <dc:date>2012-02-10T09:10:19+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= common_licenses コモンライセンス @ AboutModels\r
-||name||和名||type||default||null||limit||note||\r
-||license_id||ライセンスid||integer|| ||FALSE|| ||||\r
-||name||ライセンス名||string|| ||FALSE|| ||||\r
-||url||条項ページURL||str]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-common_licenses.20.E3.82.B3.E3.83.A2.E3.83.B3.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.20.40.20AboutModels">common_licenses コモンライセンス @ <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a></h1><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>license_id</td><td>ライセンスid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>name</td><td>ライセンス名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>url</td><td>条項ページURL</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_by</td><td>クリエイティブコモンズBYフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_sa</td><td>クリエイティブコモンズSAフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nd</td><td>クリエイティブコモンズNDフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nc</td><td>クリエイティブコモンズNCフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_resize</td><td>サイズ変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_flip</td><td>反転不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>keep_aspect_ratio</td><td>縦横比変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicenseModel">CommonLicenseModel</a>\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">\r
-    <title>RailsControllers</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/RailsControllers</link>\r
-\r
-    <dc:identifier>RailsControllers</dc:identifier>\r
-    <dc:date>2012-02-10T08:36:57+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= サーバ側の機能\r
-== コミック関係\r
- * ComicsController\r
- * PanelsController\r
- * PanelPicturesController\r
- * BalloonsController\r
- * SpeachsController\r
-== 素材関係\r
- * OriginalPicturesController\r
- * ResourcePicturesCont]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B5.E3.83.BC.E3.83.90.E5.81.B4.E3.81.AE.E6.A9.9F.E8.83.BD">サーバ側の機能</h1><h2 id="h2-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E9.96.A2.E4.BF.82">コミック関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController">PanelPicturesController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BalloonsController">BalloonsController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachsController">SpeachsController</a>\r
-</li></ul><h2 id="h2-.E7.B4.A0.E6.9D.90.E9.96.A2.E4.BF.82">素材関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController">ResourcePicturesController</a>\r
-</li></ul><h2 id="h2-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88.E9.96.A2.E4.BF.82">フキダシテンプレート関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonsController">SpeachBalloonsController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BallonTemplatesController">BallonTemplatesController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachTemplatesController">SpeachTemplatesController</a>\r
-</li></ul><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E9.96.A2.E4.BF.82">ライセンス関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/LicensesController">LicensesController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesController">CommonLicensesController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController">OriginalLicensesController</a>\r
-</li></ul><h2 id="h2-.E5.BD.B9.E5.89.B2.E9.96.A2.E4.BF.82">役割関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsController">AuthorsController</a>\r
-<ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorRegistrationsController">AuthorRegistrationsController</a>\r
-</li></ul></li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsController">ArtistsController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/HelpController">HelpController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/HomeController">HomeController</a>\r
-</li></ul><h2 id="h2-.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E9.96.A2.E4.BF.82">システム関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SystemController">SystemController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SystemPicturesController">SystemPicturesController</a>\r
-</li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/LicensesIndex">\r
-    <title>LicensesIndex</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/LicensesIndex</link>\r
-    <dc:identifier>LicensesIndex</dc:identifier>\r
-    <dc:date>2012-02-10T08:35:24+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= index @ LicensesController\r
-一覧形式\r
-== url\r
- * http://localhost:3000/licenses\r
- * http://localhost:3000/licenses.json\r
-== リクエスト\r
-||パラメータ||なし||\r
-||権限||作家*||\r
-||html||○||\r
-||json||○||\r
-||jsonp||&times;|]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-index.20.40.20LicensesController">index @ <a href="http://sourceforge.jp/projects/pettanr/wiki/LicensesController">LicensesController</a></h1><p>一覧形式\r
-</p><h2 id="h2-url">url</h2><ul><li><a href="http://localhost:3000/licenses" class="external" rel="nofollow">http://localhost:3000/licenses</a>\r
-</li><li><a href="http://localhost:3000/licenses.json" class="external" rel="nofollow">http://localhost:3000/licenses.json</a>\r
-</li></ul><h2 id="h2-.E3.83.AA.E3.82.AF.E3.82.A8.E3.82.B9.E3.83.88">リクエスト</h2><table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>なし</td></tr><tr><td>権限</td><td>作家*</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr><tr><td>method</td><td>get</td></tr></tbody></table><p>*オープンモードのとき、誰でも可 →<a href="http://sourceforge.jp/projects/pettanr/wiki/RunMode">RunMode</a>\r
-</p><h2 id="h2-.E8.A7.A3.E8.AA.AC">解説</h2><p>ライセンス20件を一覧形式で表示する。\r
-</p><ul><li>licenseの行をname順で20件分取得する。\r
-</li><li>取得したデータを返す。\r
-<ul><li>htmlなら整形してページを返す。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><h2 id="h2-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h2><h3 id="h3-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h3><ul><li>comic\r
-<ul><li>author\r
-</li></ul></li></ul><p>jsonでは、comicにauthorを含んだデータを返す。\r
-</p><h3 id="h3-.E4.BE.8B.E5.A4.96.E7.B3.BB">例外系</h3><ul><li>作家アカウントでサインインしてなかった。\r
-<ul><li>htmlなら、サインインを促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li><li>ただし、オープンモードで起動しているなら、サインインの必要はない。\r
-</li></ul></li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA">表示</h2><h3 id="h3-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h3><ul><li>下記のカラムを表示する場合、表示義務が発生する。\r
-<ul><li>name\r
-</li></ul></li><li>ライセンス種を表示しなければならない。\r
-</li><li>artist.nameを表示しなければならない。\r
-</li><li>下記のModelについて、より詳細な情報を閲覧できるページへ遷移する措置を用意しなければならない。\r
-<ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicense">OriginalLicense</a>\r
-<ul><li>artist\r
-</li></ul></li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLicense">CommonLicense</a>\r
-</li></ul></li></ul><h3 id="h3-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h3><ul><li>は表示したほうが良い。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/SpeachsController">\r
-    <title>SpeachsController</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/SpeachsController</link>\r
-    <dc:identifier>SpeachsController</dc:identifier>\r
-    <dc:date>2012-02-09T18:35:15+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= セリフ @ RailsControllers\r
-コマ上に添付されたセリフに関する処理。\r
-\r
-セリフの操作はパネル経由でしか許可されていないので、処理することはない。最新動向を知るための取得系アクションも必要ない。よって、管理者がレコード値を閲覧できるのみである。\r
-\r
-参考:SpeechModel\r
-\r
-== list\r
-管理者のための閲覧リスト。\r
-----\r
-== browse\r
-管理者]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E3.82.BB.E3.83.AA.E3.83.95.20.40.20RailsControllers">セリフ @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>コマ上に添付されたセリフに関する処理。\r
-</p><p>セリフの操作はパネル経由でしか許可されていないので、処理することはない。最新動向を知るための取得系アクションも必要ない。よって、管理者がレコード値を閲覧できるのみである。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/SpeechModel">SpeechModel</a>\r
-</p><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/BalloonsController">\r
-    <title>BalloonsController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/BalloonsController</link>\r
-    <dc:identifier>BalloonsController</dc:identifier>\r
-\r
-    <dc:date>2012-02-09T18:33:13+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= フキダシ @ RailsControllers\r
-コマ上に添付されたフキダシに関する処理。\r
-\r
-フキダシの操作はパネル経由でしか許可されていないので、処理することはない。最新動向を知るための取得系アクションも必要ない。よって、管理者がレコード値を閲覧できるのみである。\r
-\r
-参考:BalloonModel\r
-\r
-== list\r
-管理者のための閲覧リスト。\r
-----\r
-== browse\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.20.40.20RailsControllers">フキダシ @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>コマ上に添付されたフキダシに関する処理。\r
-</p><p>フキダシの操作はパネル経由でしか許可されていないので、処理することはない。最新動向を知るための取得系アクションも必要ない。よって、管理者がレコード値を閲覧できるのみである。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/BalloonModel">BalloonModel</a>\r
-</p><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController">\r
-    <title>PanelPicturesController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController</link>\r
-    <dc:identifier>PanelPicturesController</dc:identifier>\r
-    <dc:date>2012-02-08T18:38:32+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= コマ絵 @ RailsControllers\r
-コマ上に添付された素材に関する処理。\r
-\r
-コマ絵の操作はパネル経由でしか許可されていないので、処理することはない。最新動向を知るための取得系アクションを除けば、かろうじて管理者がレコード値を閲覧できるのみである。\r
-\r
-参考:PanelPictureModel\r
-\r
-== PanelPicturesControllerIndex\r
-== Pan]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9E.E7.B5.B5.20.40.20RailsControllers">コマ絵 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>コマ上に添付された素材に関する処理。\r
-</p><p>コマ絵の操作はパネル経由でしか許可されていないので、処理することはない。最新動向を知るための取得系アクションを除けば、かろうじて管理者がレコード値を閲覧できるのみである。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel">PanelPictureModel</a>\r
-</p><h2 id="h2-PanelPicturesControllerIndex"><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesControllerIndex">PanelPicturesControllerIndex</a></h2><h2 id="h2-PanelPicturesControllerCount"><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesControllerCount">PanelPicturesControllerCount</a></h2><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PrintAttributes">\r
-    <title>PrintAttributes</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PrintAttributes</link>\r
-\r
-    <dc:identifier>PrintAttributes</dc:identifier>\r
-    <dc:date>2012-02-07T18:56:12+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 表示義務と表示推奨\r
-ぺったんRはwebで漫画を作るサイトの規格を策定することを試みているので、ぺったんAPIを開放するとともに、最低限あるべき姿を取り決めようともしている。その一つとして、データの正しい(フェアな)使い方を提示する。ここで書かれる義務はソフトウェアのライセンスとは関係なく、どちらかと言えばサーバ運営者がAPIの利用に際してユーザと交わすAPI規約的な性質のものである。ぺったん]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99.E3.81.A8.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示義務と表示推奨</h1><p>ぺったんRはwebで漫画を作るサイトの規格を策定することを試みているので、ぺったんAPIを開放するとともに、最低限あるべき姿を取り決めようともしている。その一つとして、データの正しい(フェアな)使い方を提示する。ここで書かれる義務はソフトウェアのライセンスとは関係なく、どちらかと言えばサーバ運営者がAPIの利用に際してユーザと交わすAPI規約的な性質のものである。ぺったんRチームでは、ソフトウェアの配布や改変の自由を確保するかわりに、ロゴなどの利用を制限して安心感を維持しようと考えている。\r
-</p><p>具体的な義務内容は各機能(コントローラ<a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a>)に記述する。\r
-</p><h2 id="h2-.E8.A1.A8.E7.A4.BA.E7.BE.A9.E5.8B.99">表示義務</h2><ul><li>データベースから取得した情報を表示するときは、必ず表示義務のあるカラムを表示しなければならない。\r
-</li></ul><h3 id="h3-.E4.BE.8B">例</h3><ul><li>コミックComicを表示するときは、タイトルと作家名を表示しなければならない。\r
-</li><li>作家名を表示するときは、作家の詳細ページへ誘導するリンクを用意しなければならない。\r
-</li></ul><h2 id="h2-.E8.A1.A8.E7.A4.BA.E6.8E.A8.E5.A5.A8">表示推奨</h2><ul><li>データベースから取得した情報を表示するときは、表示推奨のカラムを表示した方が良い。\r
-</li></ul><h3 id="h3-.E4.BE.8B-2">例</h3><ul><li>コミックComicを表示するときは、最新投稿日時を表示した方が良い。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon">\r
-    <title>XbackendSpeachBalloon</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon</link>\r
-    <dc:identifier>XbackendSpeachBalloon</dc:identifier>\r
-    <dc:date>2012-02-07T18:45:59+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= クロスバックエンドな吹きだし表示機能\r
-\r
-ぺったんRの吹きだしは、さまざまな尻尾の向きを持つ吹きだし画像を用意します.[[BR]]\r
-また、吹き出しが巨大になったときに、吹きだしの枠線も太ってしまわないように、枠線のバリエーションも複数用意します.[[BR]]\r
-\r
-== 吹きだし画像の転送量・概算\r
-吹きだし画像は gif で注意深く用意されるため一枚につき、数キロバイトという軽量なもので]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.AF.E3.83.AD.E3.82.B9.E3.83.90.E3.83.83.E3.82.AF.E3.82.A8.E3.83.B3.E3.83.89.E3.81.AA.E5.90.B9.E3.81.8D.E3.81.A0.E3.81.97.E8.A1.A8.E7.A4.BA.E6.A9.9F.E8.83.BD">クロスバックエンドな吹きだし表示機能</h1><p>ぺったんRの吹きだしは、さまざまな尻尾の向きを持つ吹きだし画像を用意します.<br />\r
-また、吹き出しが巨大になったときに、吹きだしの枠線も太ってしまわないように、枠線のバリエーションも複数用意します.<br />\r
-</p><h2 id="h2-.E5.90.B9.E3.81.8D.E3.81.A0.E3.81.97.E7.94.BB.E5.83.8F.E3.81.AE.E8.BB.A2.E9.80.81.E9.87.8F.E3.83.BB.E6.A6.82.E7.AE.97">吹きだし画像の転送量・概算</h2><p>吹きだし画像は gif で注意深く用意されるため一枚につき、数キロバイトという軽量なものです.しかしコマの編集時にはユーザーが操作している間にそのすべてのバリエーションを読み込んでしまう事態になります.<br />\r
-マンガという表現スタイルを考えると、キャラクター画像一枚に対して、ひとつ程度の吹き出しが登場する、と仮定してみます.すると、ぺったんのページ読み込み時の全画像アクセスのうち、半分を吹きだし画像が締めることになる試算です.<br />\r
-(もちろん、キャラクター画像の方がはるかにファイルサイズが大きくなります.注意深く容量を抑えて作られた場合でも 10KB ~ 20KB になり、吹きだし画像の数倍以上のサイズになります.)<br />\r
-</p><p>このような、吹きだし画像へのアクセスを抑止して、サービスの安定を図るためベクター画像をサポートするブラウザについては、ブラウザ側で吹きだし画像を用意します.\r
-</p><h2 id="h2-.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E6.A9.9F.E8.83.BD.E5.AF.BE.E5.BF.9C.E8.A1.A8">ブラウザ機能対応表</h2><table class="wikitable" border="1"><tbody><tr><td>バックエンド</td><td>ie5~8</td><td>ie9+</td><td>FF</td><td>safari</td><td>chrome</td><td>Opera</td></tr><tr><td>VML</td><td>○</td><td>?</td><td>×</td><td>×</td><td>×</td><td>×</td></tr><tr><td>SVG</td><td>×</td><td>○</td><td>1.5+</td><td>3.0+</td><td>1+</td><td>8+</td></tr><tr><td>flash</td><td>△</td><td>△</td><td>△</td><td>△</td><td>△</td><td>△</td></tr><tr><td>Canvas</td><td>×</td><td>○</td><td>?</td><td>?</td><td>1+</td><td>8?</td></tr></tbody></table><h2 id="h2-.E3.82.B5.E3.83.BC.E3.83.90.E5.81.B4.E5.90.B9.E3.81.8D.E3.81.A0.E3.81.97.E7.94.BB.E5.83.8F.EF.BC.88system_pictures.EF.BC.89.E3.82.92.E4.BD.BF.E7.94.A8.E3.81.99.E3.82.8B.E5.A0.B4.E5.90.88.E3.81.AE.E8.A8.88.E7.AE.97.E5.BC.8F">サーバ側吹きだし画像(system_pictures)を使用する場合の計算式</h2><p>以下は common.js の吹きだし画像の決定部分.\r
-</p><ul><li>_a は 吹きだしのしっぽの角度 0 ~ 360 °\r
-</li><li>NUM_BALLOON_IMAGE は サーバ側で用意している吹きだし画像の角度のバリエーション.仮にこれが 36枚だと、一枚の画像が 10°を担当することになる.\r
-</li><li>しっぽは真上をむいているときに、0°とする.これが 最初の画像に相当する.-5°~5°の範囲の場合、この画像の出番となる.\r
-<pre>function balloonUrlBuilder( _a){\r
-       var d = 360 /NUM_BALLOON_IMAGE;\r
-       _a += d /2;\r
-       return [ 'system_pictures\/_w', _a &lt; 360 -d /2 ? floor( _a /d) : 0, '.gif'].join( '');\r
-}\r
-</pre></li></ul><p>基本はこれでいいんですけど、このままじゃ360を割り切れるNUM_BALLOON_IMAGEでなきゃならないので辛いですね。例えば、4の場合は、90置きになって上下左右しか作れず、左上から90置きの四隅配置なんかはできない。オフセット値を用意して、0が上ではなく、起点を変えられるようにしたいところ。 yas 2012/02/07\r
-</p><p>起点が真上って仕様は不利。しっぽはキャラクターの口元に向かう。尻尾真上=フキダシ真下ってこと。キャラクターは大抵コマの中央にあるので、それを潰すようにコマ下部にフキダシを載せることは考えづらい。となると、ユーザは必ず尻尾を調整するハメになる。横書きは左上から右下に向かって読むから、おそらくフキダシは左上が多く、尻尾は右下が多いはず。詳しくはデータを取らないとわからないが、こういうのは頻度が高く、かかる手数が少ない位置をデフォルトにしてやるべき。ってことで、やはりオフセット値は必要。 yas 2012/02/07\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage">\r
-    <title>XbackendReversibleImage</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage</link>\r
-    <dc:identifier>XbackendReversibleImage</dc:identifier>\r
-    <dc:date>2012-02-05T20:29:01+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= クロスバックエンドな反転画像機能\r
-[[Embed(http://static.sourceforge.jp/thumb/g/2/933/640x640_0.png)]]\r
-ぺったん運営時から、画像を反転させて使用したい、という要望はあった.[[BR]]\r
-とくにキャラクター画像を左右に反転させたい、という要望だ.[[BR]]\r
-\r
-ぺったんR では、その反転に取り組む.[[BR]]\r
-サーバ]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E3.82.AF.E3.83.AD.E3.82.B9.E3.83.90.E3.83.83.E3.82.AF.E3.82.A8.E3.83.B3.E3.83.89.E3.81.AA.E5.8F.8D.E8.BB.A2.E7.94.BB.E5.83.8F.E6.A9.9F.E8.83.BD">クロスバックエンドな反転画像機能</h1><img src="http://static.sourceforge.jp/thumb/g/2/933/640x640_0.png" alt="640x640_0.png" id="emb-http:2f2fstatic.sourceforge.jp2fthumb2fg2f22f9332f640x640_0.png-1" title="640x640_0.png" class="embed-image"><p>\r
-ぺったん運営時から、画像を反転させて使用したい、という要望はあった.<br />\r
-とくにキャラクター画像を左右に反転させたい、という要望だ.<br />\r
-</p><p>ぺったんR では、その反転に取り組む.<br />\r
-サーバー側での反転画像の準備と、ブラウザでのクロスバックエンドな対応、という二段構えだ.<br />\r
-</p><h2 id="h2-.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E5.81.B4.E3.81.A7.E3.81.AE.E3.82.AF.E3.83.AD.E3.82.B9.E3.83.90.E3.83.83.E3.82.AF.E3.82.A8.E3.83.B3.E3.83.89.E3.81.AA.E5.8F.8D.E8.BB.A2.E8.A1.A8.E7.A4.BA">ブラウザ側でのクロスバックエンドな反転表示</h2><h3 id="h3-.E3.81.AF.E3.81.98.E3.82.81.E3.81.AB">はじめに</h3><p>ブラウザのネイティブな反転表示機能(css3)および、ブラウザの独自拡張や Flash 等のプラグインを使用する.<br />\r
-これらの機能をサポートしない、または切っているブラウザは、サーバー側で生成した画像を利用することになる.<br />\r
-ブラウザ側でなるべく画像を用意しサーバーへの負荷を極力抑えます.\r
-</p><h3 id="h3-.E4.BD.BF.E7.94.A8.E3.81.99.E3.82.8B.E3.83.90.E3.83.83.E3.82.AF.E3.82.A8.E3.83.B3.E3.83.89">使用するバックエンド</h3><h4 id="h4-css3">css3</h4><p>例\r
-<pre>img.img-flip-v { /* 上下反転 */\r
-       transform:              scale( 1, -1);\r
-       -o-transform:           scale( 1, -1);\r
-       -ms-transform:          scale( 1, -1);\r
-       -moz-transform:         scale( 1, -1);\r
-       -webkit-transform:      scale( 1, -1);\r
-}      \r
-img.img-flip-h { /* 左右反転 */\r
-       transform:              scale( -1, 1);\r
-       -o-transform:           scale( -1, 1);\r
-       -ms-transform:          scale( -1, 1);\r
-       -moz-transform:         scale( -1, 1);\r
-       -webkit-transform:      scale( -1, 1);\r
-}\r
-img.img-flip-vh { /* 上下左右反転 */\r
-       transform:              scale( -1, -1);\r
-       -o-transform:           scale( -1, -1);\r
-       -ms-transform:          scale( -1, -1);\r
-       -moz-transform:         scale( -1, -1);\r
-       -webkit-transform:      scale( -1, -1);\r
-}\r
-</pre></p><h4 id="h4-VML">VML</h4><p>例\r
-<pre>v\:image.img-flip-v {\r
-       flip:                   y; /* vml */\r
-}\r
-v\:image.img-flip-h {\r
-       flip:                   x; /* vml */\r
-}v\:image.img-flip-vh {\r
-       rotation :              180; /* vml */\r
-}\r
-</pre>ie独自拡張の VML が ie6~8 での反転画像の本命となる.上記のように vml 用の css も使える.(ただし js による css の適用にくせがある.)<br />\r
-VML で表示された画像は、ie6 以下にある透過 png の問題も解消される.(但し ie6 のみ.ie5.5 以下では透過表示が不十分)<br />\r
-</p><blockquote class="citation"><p>Windows版 IE 5以降の VMLレンダラで半透明、透過PNGを表示する<br />\r
-<a href="http://www.minc.ne.jp/~konda/new/png/urawaza04.html" class="external" rel="nofollow">http://www.minc.ne.jp/~konda/new/png/urawaza04.html</a><br />\r
-IE 5 及び 5.5 (5.50.4133.200)の vgx.dll(Microsoft Vector Graphics Rendering(VML))は、Beta バージョンですから 半透明系は、以下の画像の様に擬似半透明表示(ディザリング)されます\r
-</p></blockquote><pre>&lt;!--[if !gte vml 1]&gt;&lt;!--&gt;&lt;img src=&quot;*.png&quot; width=&quot;*&quot; height=&quot;*&quot; alt=&quot;*&quot; /&gt;&lt;!--&lt;![endif]--&gt;\r
-&lt;!--[if gte vml 1]&gt;&lt;v:image src=&quot;*.png&quot; style=&quot;width: *px; height: *px; behavior: url(#default#vml)&quot; alt=&quot;*&quot; /&gt;&lt;![endif]--&gt;\r
-</pre><p>さらに、ActiveX よりも動作が速い(らしい).<br />\r
-但し VML は windows の構成によってはインストールされていない場合があり、必ずしも使えるわけではない.<br />\r
-itozyun の環境のひとつでも VML が使えなかった.nlite で削ってしまったためと思われる.\r
-</p><h3 id="h3-SVG">SVG</h3><p>svg な xml を js で作って data スキームで読み込む。Opera8+ でも画像反転できるかも。Opera9.6 で静的に埋め込んだ以上の html では反転表示ができた。ただし Firefox3.6 Chrome8 では表示できない。<br />\r
-dataスキームになった svg に対しては、画像の url を絶対座標で与える。\r
-svg を html に直接埋め込む方式では、なぜか手元で一度も成功していない。\r
-<pre>&lt;?xml version=&quot;1.0&quot;?&gt;\r
-&lt;!DOCTYPE svg PUBLIC &quot;-//W3C//DTD SVG 1.1//EN&quot; &quot;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd&quot;&gt;\r
-&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; version=&quot;1.1&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;\r
-&lt;image x=&quot;0&quot; y=&quot;0&quot; width=&quot;200&quot; height=&quot;200&quot; xlink:href=&quot;1.gif&quot; transform=&quot;scale(-1,1) translate(-200,0)&quot; /&gt;\r
-&lt;/svg&gt;\r
-</pre></p><ul><li><a href="http://software.hixie.ch/utilities/cgi/data/data" class="external" rel="nofollow">http://software.hixie.ch/utilities/cgi/data/data</a>\r
-</li><li>サイトの表示スピードを改善!dataスキームURIを使った画像の埋め込み <a href="http://labs.cybridge.jp/2011/12/data-uri.html" class="external" rel="nofollow">http://labs.cybridge.jp/2011/12/data-uri.html</a>\r
-<ul><li>データスキーム対応ブラウザ \r
-</li><li>Firefox2+\r
-</li><li>Safari\r
-</li><li>Chrome\r
-</li><li>Opera7.2+\r
-</li><li>IE8+\r
-</li></ul></li></ul><p>検証ページ <a href="http://pettanr.sourceforge.jp/test/svg.html" class="external" rel="nofollow">http://pettanr.sourceforge.jp/test/svg.html</a>\r
-<pre>&lt;img src=&quot;data:image/svg+xml;charset=utf-8,%3c%3fxml%20version%3d%221.0%22%3f%3e%3c!DOCTYPE%20svg%20PUBLIC%20%22-%2f%2fW3C%2f%2fDTD%20SVG%201.1%2f%2fEN%22%20%22http%3a%2f%2fwww.w3.org%2fGraphics%2fSVG%2f1.1%2fDTD%2fsvg11.dtd%22%3e%3csvg%20xmlns%3d%22http%3a%2f%2fwww.w3.org%2f2000%2fsvg%22%20version%3d%221.1%22%20xmlns%3axlink%3d%22http%3a%2f%2fwww.w3.org%2f1999%2fxlink%22%20width%3d%22200%22%20height%3d%22200%22%3e%3cimage%20x%3d%220%22%20y%3d%220%22%20width%3d%22200%22%20height%3d%22200%22%20xlink%3ahref%3d%22http%3a%2f%2fstatic.sourceforge.jp%2fthumb%2fg%2f2%2f930%2f640x640_0.png%22%20transform%3d%22scale(-1%2c1)%20translate(-200%2c0)%22%20%2f%3e%3c%2fsvg%3e&quot;&gt;\r
-</pre></p><h4 id="h4-ActiveX">ActiveX</h4><pre>img.img-flip-v { /* 上下反転 */\r
-       filter:                 progid:DXImageTransform.Microsoft.BasicImage( Mirror=1, Rotation=2);\r
-       -ms-filter:             progid:DXImageTransform.Microsoft.BasicImage( Mirror=1, Rotation=2);\r
-}\r
-img.img-flip-h { /* 左右反転 */\r
-       filter:                 progid:DXImageTransform.Microsoft.BasicImage( Mirror=1);\r
-       -ms-filter:             progid:DXImageTransform.Microsoft.BasicImage( Mirror=1);\r
-}\r
-img.img-flip-vh { /* 上下左右反転 */\r
-       filter:                 progid:DXImageTransform.Microsoft.BasicImage( Rotation=2);\r
-       -ms-filter:             progid:DXImageTransform.Microsoft.BasicImage( Rotation=2);\r
-}\r
-</pre><p>ActiveX は、ie6 以下のための pngfix にも使いたいが、反転とAlpha Image Loader を同時に使用することはできない.<br />\r
-ie6では、ActiveX による反転は、png 画像に対しては使用できない.\r
-</p><h4 id="h4-Flash">Flash</h4><p>クロスドメインな画像に対しても、読み込み、反転表示は行える.<br />\r
-なるべく バージョンの古い Flash で用意してサポート範囲を広くしたいが、js と連携する <a href="http://sourceforge.jp/projects/pettanr/wiki/ExternalInterface">ExternalInterface</a> が使えなくなったりと多難かもしれない.\r
-</p><h4 id="h4-Canvas">Canvas</h4><p>同一ドメインの画像のみになるが、画像のピクセルデータを取得し反転しつつ描画することができる.<br />\r
-</p><blockquote class="citation"><p>Canvasによる画像ファイル(img要素)の読み書き<br />\r
-<a href="http://www.programmingmat.jp/webhtml_lab/canvas_image.html" class="external" rel="nofollow">http://www.programmingmat.jp/webhtml_lab/canvas_image.html</a>\r
-</p></blockquote><h4 id="h4-Silverlight">Silverlight</h4><h4 id="h4-.E3.82.B5.E3.83.BC.E3.83.90.E3.83.BC.E3.82.B5.E3.82.A4.E3.83.89.E7.94.BB.E5.83.8F">サーバーサイド画像</h4><p>サーバー側で反転画像を用する.このサーバ画像へのアクセスを極力減らすのが、X Backend Imageの目的のひとつ.\r
-<pre>picture/001.png\r
-picture/v/001.png\r
-picture/h/001.png\r
-picture/vh/001.png\r
-</pre></p><h3 id="h3-.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E6.A9.9F.E8.83.BD.E5.AF.BE.E5.BF.9C.E8.A1.A8">ブラウザ機能対応表</h3><table class="wikitable" border="1"><tbody><tr><td>バックエンド</td><td>ie5+5.5</td><td>ie6</td><td>ie7 &amp; 8</td><td>ie9+</td><td>FF</td><td>Safari</td><td>Chrome</td><td>Opera</td></tr><tr><td>CSS3:transform</td><td>×</td><td>×</td><td>×</td><td>○</td><td>3.5+</td><td>3.1+(?)</td><td>1+</td><td>11.5+</td></tr><tr><td>VML</td><td>▲透過pngの表示が汚い</td><td>△</td><td>△環境による</td><td>?</td><td>×</td><td>×</td><td>×</td><td>×</td></tr><tr><td>Canvas</td><td>×</td><td>×</td><td>×</td><td>○</td><td>1.5+</td><td>1.3+</td><td>1+</td><td>9+</td></tr><tr><td>SVG +DATAスキーム</td><td>×</td><td>×</td><td>×</td><td>?</td><td>?</td><td>?</td><td>?</td><td>8+(?)</td></tr><tr><td>サーバー画像</td><td>△</td><td>△要pngfix</td><td>○</td><td>○</td><td>○</td><td>○</td><td>○</td><td>○</td></tr></tbody></table>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PngFix">\r
-    <title>PngFix</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PngFix</link>\r
-    <dc:identifier>PngFix</dc:identifier>\r
-\r
-    <dc:date>2012-02-04T18:55:27+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= Internet Exproler 6 以下での PNG 画像の表示について\r
-ie6 以下のブラウザでは 透過情報付の png 画像を正しく表示することができない.[[BR]]\r
-このため ぺったん では、png 画像を非推奨としてきた.[[BR]]\r
-しかし、png によるグラデーション透過の表現力が使えないのは辛すぎる.[[BR]]\r
-そこで、ぺったんR では png でのアップロードを]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-Internet.20Exproler.206.20.E4.BB.A5.E4.B8.8B.E3.81.A7.E3.81.AE.20PNG.20.E7.94.BB.E5.83.8F.E3.81.AE.E8.A1.A8.E7.A4.BA.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6">Internet Exproler 6 以下での PNG 画像の表示について</h1><p>ie6 以下のブラウザでは 透過情報付の png 画像を正しく表示することができない.<br />\r
-このため ぺったん では、png 画像を非推奨としてきた.<br />\r
-しかし、png によるグラデーション透過の表現力が使えないのは辛すぎる.<br />\r
-そこで、ぺったんR では png でのアップロードを非推奨しない.さらに、作者の意図したとおりに作品を閲覧してもらうため、クロスバックエンドな png 表示サポートを実施する.<br />\r
-必要なプラグイン等がインストールされていない、機能が無効になっている場合、サーバーサイドでの 透過png -&gt; 透過gif 変換を行う.<br />\r
-javascript が切られている場合は、、、?\r
-</p><h2 id="h2-.E3.81.AF.E3.81.98.E3.82.81.E3.81.AB">はじめに</h2><h2 id="h2-VML">VML</h2><h2 id="h2-ActiveX.20Alpha.20Image.20Loader">ActiveX Alpha Image Loader</h2><h2 id="h2-Flash">Flash</h2>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">\r
-    <title>PanelsController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelsController</link>\r
-    <dc:identifier>PanelsController</dc:identifier>\r
-    <dc:date>2012-02-02T19:05:52+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= コマ @ RailsControllers\r
-\r
-ストーリー上のワンシーンを漫画状に表示するための機能。\r
-\r
-参考:PanelModel\r
-== PanelsControllerIndex\r
-== PanelsControllerShow\r
-== PanelsControllerCount\r
-== PanelsControllerNew\r
-== PanelsControllerCreate\r
-]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9E.20.40.20RailsControllers">コマ @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>ストーリー上のワンシーンを漫画状に表示するための機能。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelModel">PanelModel</a>\r
-</p><h2 id="h2-PanelsControllerIndex"><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerIndex">PanelsControllerIndex</a></h2><h2 id="h2-PanelsControllerShow"><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerShow">PanelsControllerShow</a></h2><h2 id="h2-PanelsControllerCount"><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerCount">PanelsControllerCount</a></h2><h2 id="h2-PanelsControllerNew"><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerNew">PanelsControllerNew</a></h2><h2 id="h2-PanelsControllerCreate"><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerCreate">PanelsControllerCreate</a></h2><h2 id="h2-PanelsControllerEdit"><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerEdit">PanelsControllerEdit</a></h2><h2 id="h2-PanelsControllerUpdate"><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerUpdate">PanelsControllerUpdate</a></h2><h2 id="h2-PanelsControllerDestroy"><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerDestroy">PanelsControllerDestroy</a></h2><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">\r
-    <title>ComicsController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsController</link>\r
-\r
-    <dc:identifier>ComicsController</dc:identifier>\r
-    <dc:date>2012-02-02T18:01:43+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= コミック @ RailsControllers\r
-ストーリー性を持ったコマの集合体に名前をつけるためのデータ。表紙のようなもの。\r
-\r
-参考:ComicModel\r
-== ComicsTop\r
-== ComicsIndex\r
-== ComicsShow\r
-== ComicsCount\r
-== ComicsPlay\r
-== ComicsNew\r
-== ComicsCreate\r
-== Comic]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.20.40.20RailsControllers">コミック @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>ストーリー性を持ったコマの集合体に名前をつけるためのデータ。表紙のようなもの。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>\r
-</p><h2 id="h2-ComicsTop"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsTop">ComicsTop</a></h2><h2 id="h2-ComicsIndex"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsIndex">ComicsIndex</a></h2><h2 id="h2-ComicsShow"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsShow">ComicsShow</a></h2><h2 id="h2-ComicsCount"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsCount">ComicsCount</a></h2><h2 id="h2-ComicsPlay"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlay">ComicsPlay</a></h2><h2 id="h2-ComicsNew"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsNew">ComicsNew</a></h2><h2 id="h2-ComicsCreate"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsCreate">ComicsCreate</a></h2><h2 id="h2-ComicsEdit"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsEdit">ComicsEdit</a></h2><h2 id="h2-ComicsUpdate"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdate">ComicsUpdate</a></h2><h2 id="h2-ComicsDestroy"><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsDestroy">ComicsDestroy</a></h2><hr /><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">\r
-    <title>OriginalPicturesController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController</link>\r
-    <dc:identifier>OriginalPicturesController</dc:identifier>\r
-    <dc:date>2012-02-01T19:02:50+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= 原画 @ RailsControllers\r
-絵師がぺったんRに預けた画像に関するデータを管理するための機能。原画なので、オーナーしか操作できない。\r
-\r
-参考:OriginalPictureModel\r
-== OriginalPicturesIndex\r
-== OriginalPicturesShow\r
-== OriginalPicturesNew\r
-== OriginalPicturesC]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E5.8E.9F.E7.94.BB.20.40.20RailsControllers">原画 @ <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></h1><p>絵師がぺったんRに預けた画像に関するデータを管理するための機能。原画なので、オーナーしか操作できない。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>\r
-</p><h2 id="h2-OriginalPicturesIndex"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndex">OriginalPicturesIndex</a></h2><h2 id="h2-OriginalPicturesShow"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShow">OriginalPicturesShow</a></h2><h2 id="h2-OriginalPicturesNew"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNew">OriginalPicturesNew</a></h2><h2 id="h2-OriginalPicturesCreate"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreate">OriginalPicturesCreate</a></h2><h2 id="h2-OriginalPicturesEdit"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesEdit">OriginalPicturesEdit</a></h2><h2 id="h2-OriginalPicturesUpdate"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdate">OriginalPicturesUpdate</a></h2><h2 id="h2-OriginalPicturesDestroy"><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesDestroy">OriginalPicturesDestroy</a></h2><hr /><h2 id="h2-list">list</h2><p>管理者のための閲覧リスト。\r
-</p><hr /><h2 id="h2-browse">browse</h2><p>管理者のための詳細閲覧。\r
-</p><ul><li>CountAPIは用意してない。なぜなら、ユーザが使える素材の数を正しく反映しないから。原画は置いておくけど、提供は中止ということもある。</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/RunMode">\r
-    <title>RunMode</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/RunMode</link>\r
-    <dc:identifier>RunMode</dc:identifier>\r
-    <dc:date>2012-01-31T17:46:12+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= オープンサイトとクローズドサイト\r
-動作モードにはオープンとクローズの二種類ある。排他なので、どちらかを選ばなければならない。\r
-オープンなサイトは認証の必要なくコミックを読める。ブログっぽい感じ。\r
-クローズドなサイトは認証しないとコミックを読めない。SNSっぽい感じ。\r
-どちらで動かすかは設定で決められる。\r
-== 違い\r
-処理内容はたいして変わらないが、運営面では変わる。閲覧系の機能がア]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E3.82.AA.E3.83.BC.E3.83.97.E3.83.B3.E3.82.B5.E3.82.A4.E3.83.88.E3.81.A8.E3.82.AF.E3.83.AD.E3.83.BC.E3.82.BA.E3.83.89.E3.82.B5.E3.82.A4.E3.83.88">オープンサイトとクローズドサイト</h1><p>動作モードにはオープンとクローズの二種類ある。排他なので、どちらかを選ばなければならない。\r
-オープンなサイトは認証の必要なくコミックを読める。ブログっぽい感じ。\r
-クローズドなサイトは認証しないとコミックを読めない。SNSっぽい感じ。\r
-どちらで動かすかは設定で決められる。\r
-</p><h2 id="h2-.E9.81.95.E3.81.84">違い</h2><p>処理内容はたいして変わらないが、運営面では変わる。閲覧系の機能がアカウントでサインインしなくても使えるなら、より広範囲に情報を伝えられるが、反面情報を制御できなくなる。\r
-</p><h2 id="h2-.E3.83.87.E3.83.A2.E3.82.B5.E3.82.A4.E3.83.88">デモサイト</h2><p>前者は\r
-<a href="http://pettan.heroku.com/" class="external" rel="nofollow">http://pettan.heroku.com/</a>\r
-でテストし、\r
-後者は\r
-<a href="http://pettanr.heroku.com/" class="external" rel="nofollow">http://pettanr.heroku.com/</a>\r
-でテストする(予定)</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/JavascriptEditor">\r
-    <title>JavascriptEditor</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/JavascriptEditor</link>\r
-    <dc:identifier>JavascriptEditor</dc:identifier>\r
-\r
-    <dc:date>2012-01-29T22:00:53+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= Javascript\r
- js は 閲覧時 に使われるもの、ログイン後に使われるもの、その両方で使われるものがある.\r
-[[Embed(http://static.sourceforge.jp/thumb/g/2/990/640x640_0.png)]]\r
-== common.js\r
- * pettnar.\r
- * pettanr.const\r
- * pettanr.ua\r
-   * ブラウザ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-Javascript">Javascript</h1><div class="indent">js は 閲覧時 に使われるもの、ログイン後に使われるもの、その両方で使われるものがある.\r
-</div><img src="http://static.sourceforge.jp/thumb/g/2/990/640x640_0.png" alt="640x640_0.png" id="emb-http:2f2fstatic.sourceforge.jp2fthumb2fg2f22f9902f640x640_0.png-1" title="640x640_0.png" class="embed-image"><p>\r
-</p><h2 id="h2-common.js">common.js</h2><ul><li>pettnar.\r
-</li><li>pettanr.const\r
-</li><li>pettanr.ua\r
-<ul><li>ブラウザの情報、プラグインの情報\r
-</li></ul></li><li>pettnar.util\r
-<ul><li>\r
-</li></ul></li><li>pettnar.overlay\r
-<ul><li>ポップアップオーバーレイを管理する.\r
-</li></ul></li><li>pettnar.key\r
-<ul><li>キーイベントの発行、テキスト入力エリアの管理\r
-</li></ul></li><li>pettnar.view\r
-<ul><li>現在のビューを管理する.Window Resize イベントの監視し、現在のviewに流す.\r
-</li></ul></li><li>pettnar.balloon\r
-<ul><li>クロスバックエンドな吹きだし画像のためのラッパーの発行.<a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon">XbackendSpeachBalloon</a>\r
-</li><li>SVG, VML といったベクター画像で吹きだし(balloon)を描画する(ベクター画像のサポートがない場合は代替画像を表示する)\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon">AboutSpeachBalloon</a>\r
-</li></ul></li><li>pettnar.image\r
-<ul><li>クロスバックエンドな、Reversible Image のためのラッパーを発行.<a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage">XbackendReversibleImage</a>\r
-</li><li>css3, VML, ActiveX, Flash, サーバー側で生成した反転画像 を使用して画像の反転を行う.\r
-</li><li>透過 PNG のサポートが甘い IE6 以下にたいして、VML, Flash, ActiveX+サーバー画像 による描画サポートを行う.<a href="http://sourceforge.jp/projects/pettanr/wiki/PngFix">PngFix</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PictureIo">PictureIo</a>\r
-</li></ul></li><li>pettnar.i18n\r
-<ul><li>マルチ言語情報の保持.言語変更イベントの管理.\r
-</li></ul></li><li>pettnar.io\r
-<ul><li>通信\r
-</li><li>xml としてサーバに置かれた ajax なリソースに対して、ajax feed api を使った json リクエスト(xmlより転送量が少ない)などの 複数経路でリクエストを行うラッパー\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/JsonApi">JsonApi</a>\r
-</li></ul></li><li>pettnar.load\r
-<ul><li>work.js と jQuery のロード.min や debag version の切り替え.jQuery version の切り替え.\r
-</li></ul></li></ul><h2 id="h2-work.js">work.js</h2><p>ログイン後のユーザー(管理者)の操作.コミック・画像の管理やコマの作成.\r
-</p><ul><li>pettnar.editor\r
-<ul><li>コマの編集を行う.\r
-</li></ul></li></ul><h2 id="h2-system.js">system.js</h2><ul><li>pettnar.file\r
-<ul><li>サーバから取得したリソース情報を保持し、データの取得やアクセス権のチェック、データのアップデートをラップする.\r
-</li></ul></li><li>pettnar.finder\r
-<ul><li>ファイル(リソース)エクスプローラー\r
-</li><li>コミック、コマ、画像、吹きだし、画像提供絵師情報</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/HowToInstall">\r
-    <title>HowToInstall</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/HowToInstall</link>\r
-    <dc:identifier>HowToInstall</dc:identifier>\r
-    <dc:date>2012-01-29T18:57:49+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= インストール\r
-== 前提条件\r
- * Ruby1.9系\r
- * git\r
- * ImageMagick\r
-\r
-WindowsならRailsInstaller が楽かも。ただし、この選択はImageMagickを動かせないので、別途Production環境が必要。今のところは本番環境としてherokuを想定している。\r
-\r
-http://railsinstaller.org/\r
-\r
-== ソー]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB">インストール</h1><h2 id="h2-.E5.89.8D.E6.8F.90.E6.9D.A1.E4.BB.B6">前提条件</h2><ul><li>Ruby1.9系\r
-</li><li>git\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ImageMagick">ImageMagick</a>\r
-</li></ul><p>Windowsなら<a href="http://sourceforge.jp/projects/pettanr/wiki/RailsInstaller">RailsInstaller</a> が楽かも。ただし、この選択は<a href="http://sourceforge.jp/projects/pettanr/wiki/ImageMagick">ImageMagick</a>を動かせないので、別途Production環境が必要。今のところは本番環境としてherokuを想定している。\r
-</p><p><a href="http://railsinstaller.org/" class="external" rel="nofollow">http://railsinstaller.org/</a>\r
-</p><h2 id="h2-.E3.82.BD.E3.83.BC.E3.82.B9.E3.82.B3.E3.83.BC.E3.83.89.E3.81.AE.E5.8F.96.E5.BE.97">ソースコードの取得</h2><p>ソースコードの取得はgitを使う。ここでは<a href="http://sourceforge.jp/projects/pettanr/wiki/RailsInstaller">RailsInstaller</a>を使うケースで書く。\r
-</p><p><a href="http://sourceforge.jp/projects/pettanr/wiki/RailsInstaller">RailsInstaller</a>をインストールするとRails用コンソールを開けるようになる。そこからgitも使える。\r
-</p><p>最初に起動するときにメアドとパスフレーズを聞かれるので、\r
-<a href="http://sourceforge.jp/projects/pettanr/cvs/">http://sourceforge.jp/projects/pettanr/cvs/</a>\r
-を参考にしながら\r
-<pre>yasushiito@git.sourceforge.jp\r
-</pre></p><p>のようにメアドにして、さらにパスフレーズも記入。コンソールが開くと、ドバっと暗号が出てくるが、公開鍵のファイル名なんかも含まれてるので目を通しておく。コミッタとしてプロジェクトに参加するなら、この公開鍵をsourceforge.jpに追加しておく。\r
-<pre>ssh:\r
-  public_key_location: C:\Documents and Settings\....\r
-</pre></p><pre>c:\sites&gt;git clone yasushiito@git.sourceforge.jp:/gitroot/pettanr/pettanr.git pettanr\r
-</pre><p>でpettanr以下にダウンロードされる。\r
-</p><p>ユーザとしてダウンロードしたいなら\r
-<pre>c:\sites&gt;git clone git://git.sourceforge.jp/gitroot/pettanr/pettanr.git pettanr\r
-</pre>とする。\r
-</p><h2 id="h2-.E7.A8.BC.E5.83.8D.E5.89.8D.E3.81.AE.E6.BA.96.E5.82.99">稼働前の準備</h2><h3 id="h3-gem.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB">gemのインストール</h3><pre>c:\sites&gt;cd pettanr\r
-c:\sites\pettanr&gt;bundle install --without production\r
-</pre><h3 id="h3-.E3.83.87.E3.83.BC.E3.82.BF.E3.83.99.E3.83.BC.E3.82.B9.E3.81.AE.E5.88.9D.E6.9C.9F.E5.8C.96">データベースの初期化</h3><pre>c:\sites\pettanr&gt;rake db:migrate \r
-</pre><h3 id="h3-.E7.AE.A1.E7.90.86.E8.80.85.E3.81.AE.E4.BD.9C.E6.88.90">管理者の作成</h3><p>管理者を最低一人は用意しないと動かない。\r
-<pre>c:\sites\pettanr&gt;rails r &quot;Admin.start('admin@mail.adr.ess', 'admin_password')&quot; \r
-</pre>もちろんメールアドレスとパスワードは変えること。\r
-</p><h3 id="h3-.E4.BF.9D.E7.AE.A1.E5.BA.AB.E3.81.AE.E4.BD.9C.E6.88.90">保管庫の作成</h3><p>画像の保存パスを作成しておく。\r
-<pre>c:\sites\pettanr&gt;cd ..\r
-c:\sites&gt;mkdir original\r
-c:\sites&gt;mkdir original\pettanr\r
-c:\sites&gt;mkdir resource\r
-c:\sites&gt;mkdir resource\pettanr\r
-c:\sites&gt;mkdir system\r
-c:\sites&gt;mkdir system\pettanr\r
-</pre>保存先を変えたい場合は、<a href="http://sourceforge.jp/projects/pettanr/wiki/PictureIo">PictureIo</a>を参考にする。\r
-</p><h3 id="h3-ImageMagick.E3.81.AE.E8.A8.AD.E5.AE.9A"><a href="http://sourceforge.jp/projects/pettanr/wiki/ImageMagick">ImageMagick</a>の設定</h3><p><a href="http://sourceforge.jp/projects/pettanr/wiki/RailsInstaller">RailsInstaller</a>では<a href="http://sourceforge.jp/projects/pettanr/wiki/ImageMagick">ImageMagick</a>が動かない。そこでDmagickなるものでごまかしてる。詳しくは<a href="http://sourceforge.jp/projects/pettanr/wiki/RmagickAndDmagick">RmagickAndDmagick</a>にあるが、デフォルトでDmagickを使っているため、Rmagickがある環境ではRmagickを使うように編集してやる。\r
-</p><h2 id="h2-.E8.B5.B7.E5.8B.95">起動</h2><pre>c:\sites\pettanr&gt;rails s\r
-=&gt; Booting WEBrick\r
-=&gt; Rails 3.1.1 application starting in development on http://0.0.0.0:3000\r
-=&gt; Call with -d to detach\r
-=&gt; Ctrl-C to shutdown server\r
-[2012-01-29 18:54:58] INFO  WEBrick 1.3.1\r
-[2012-01-29 18:54:58] INFO  ruby 1.9.2 (2011-07-09) [i386-mingw32]\r
-[2012-01-29 18:54:58] INFO  WEBrick::HTTPServer#start: pid=3080 port=3000\r
-</pre><p>起動には数分かかるが、これで<a href="http://localhost:3000/%E3%81%8B%E3%82%89%E9%81%8A%E3%81%B9%E3%82%8B" class="external" rel="nofollow">http://localhost:3000/から遊べる</a>\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/BalloonModel">\r
-    <title>BalloonModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/BalloonModel</link>\r
-\r
-    <dc:identifier>BalloonModel</dc:identifier>\r
-    <dc:date>2012-01-28T11:30:23+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= フキダシ枠 Balloon\r
-\r
-参考:BalloonsController\r
-\r
-== カラム\r
-||name||和名||type||default||null||limit||note||\r
-||panel_id||所属パネルid||integer|| ||FALSE|| ||||\r
-||balloon_template_id||フキダシ枠テンプレート種id||integer|| ||FA]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E6.9E.A0.20Balloon">フキダシ枠 Balloon</h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/BalloonsController">BalloonsController</a>\r
-</p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>panel_id</td><td>所属パネルid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>balloon_template_id</td><td>フキダシ枠テンプレート種id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>system_picture_id</td><td>フキダシ素材id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>tail</td><td>尻尾の向き</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>size</td><td>サイズのバリエーション</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>z</td><td>表示順位</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr><tr><td>width</td><td>表示幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>表示高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><h2 id="h2-.E4.BD.9C.E6.88.90.E6.89.8B.E9.A0.86">作成手順</h2><p>balloonとspeachは一体になっている。balloonが複数のセリフspeachesを持つ形なので、作成・更新・削除時は常に一括で処理しなければならない。よって、パラメータはballoonだけでなく、すべてのspeachも合わせて渡さなければならない。\r
-</p><ul><li>情報のいくらかは自動補充されるので、必要な情報だけ渡せばよい。\r
-</li><li>balloonについて\r
-<ul><li>渡されたballoon_template_idからballoon_templateを読み取ってテンプレートからコピーされる\r
-<ul><li>詳しくは自動補充の項で。\r
-</li></ul></li><li>パラメータが必要なカラムは以下。\r
-<ul><li>x、y、z、t、width、height\r
-</li></ul></li></ul></li><li>speachについて\r
-<ul><li>補充はspeach_template_idを元に起こされる。\r
-</li><li>speach_template_idはballoon_templateから起こさなければならない。\r
-<ul><li>balloon_templateが持つすべてのspeach_templatesを読み取る。\r
-</li><li>speach_templatesと同じ構成で新規なspeachを用意する。\r
-</li><li>x、y、t、width、heightとspeach_template_idをコピーする。\r
-</li></ul></li><li>パラメータが必要なカラムは以下。\r
-<ul><li>content\r
-</li></ul></li></ul></li><li>例えば、こんな感じ。\r
-<ul><li>create(panel_id, x, y, z, t, width, height, [&quot;content1&quot;, &quot;content2&quot;])\r
-</li></ul></li></ul><h2 id="h2-.E8.87.AA.E5.8B.95.E8.A3.9C.E5.85.85">自動補充</h2><p>クライアントは作成・更新時にデータを渡すが、中には自動で値が補充されるカラムもある。\r
-</p><h3 id="h3-panel_id">panel_id</h3><ul><li>新規作成時には値は自動補充される。\r
-</li></ul><h3 id="h3-system_picture_id">system_picture_id</h3><ul><li>新規作成時には値は自動補充される。\r
-<ul><li>balloon_template_idから辿ったballoon_template.system_picture_idが充てられる。\r
-</li></ul></li></ul><h3 id="h3-tail">tail</h3><ul><li>新規作成時には値は自動補充される。\r
-<ul><li>balloon_template_idから辿ったballoon_template.tailが充てられる。\r
-</li></ul></li></ul><h3 id="h3-size">size</h3><ul><li>新規作成時には値は自動補充される。\r
-<ul><li>balloon_template_idから辿ったballoon_template.sizeが充てられる。\r
-</li></ul></li></ul><h3 id="h3-width">width</h3><ul><li>新規作成時には値は自動補充される。\r
-<ul><li>balloon_template_idから辿ったballoon_template.widthが充てられる。\r
-</li></ul></li></ul><h3 id="h3-height">height</h3><ul><li>新規作成時には値は自動補充される。\r
-<ul><li>balloon_template_idから辿ったballoon_template.heightが充てられる。\r
-</li></ul></li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><h3 id="h3-.E3.82.AB.E3.83.A9.E3.83.A0.E5.88.A5">カラム別</h3><h3 id="h3-panel_id-2">panel_id</h3><ul><li>数値であること\r
-</li></ul><h3 id="h3-system_picture_id-2">system_picture_id</h3><ul><li>数値であること\r
-</li><li>idのシステム画像が存在していること。 \r
-</li></ul><h3 id="h3-tail-2">tail</h3><ul><li>数値であること\r
-</li></ul><h3 id="h3-size-2">size</h3><ul><li>数値であること\r
-</li></ul><h3 id="h3-x">x</h3><ul><li>数値であること\r
-</li></ul><h3 id="h3-y">y</h3><ul><li>数値であること\r
-</li></ul><h3 id="h3-z">z</h3><ul><li>数値であること\r
-</li><li>正の整数であること。 \r
-</li></ul><h3 id="h3-t">t</h3><ul><li>数値であること\r
-</li><li>正の整数であること。 \r
-</li></ul><h3 id="h3-width-2">width</h3><ul><li>数値であること\r
-</li><li>0でないこと\r
-</li></ul><h3 id="h3-height-2">height</h3><ul><li>数値であること\r
-</li><li>0でないこと\r
-</li></ul><h3 id="h3-.E5.85.A8.E4.BD.93">全体</h3><ul><li>重複の禁止。\r
-<ul><li>comic_idとtでユニークであること。\r
-</li></ul></li></ul><h2 id="h2-.E6.89.80.E5.B1.9E.E3.83.A2.E3.83.87.E3.83.AB.E3.81.AE.E6.A4.9C.E8.A8.BC">所属モデルの検証</h2><h3 id="h3-speaches">speaches</h3><ul><li>balloon_id\r
-<ul><li>更新時\r
-<ul><li>すべてのspeaches.balloon_idが balloon.idと一致すること。\r
-</li></ul></li><li>新規作成時\r
-<ul><li>すべてのspeaches.balloon_idが nullであること。\r
-</li></ul></li></ul></li><li>speachesの数とballoon_templateが持つspeach_templatesの数が一致すること。\r
-</li><li>t\r
-<ul><li>すべてのspeachesでtがシリアライズされていること。\r
-</li></ul></li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachModel">SpeachModel</a>も検証すること。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/SpeachModel">\r
-    <title>SpeachModel</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/SpeachModel</link>\r
-    <dc:identifier>SpeachModel</dc:identifier>\r
-    <dc:date>2012-01-28T10:22:59+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= セリフ speaches\r
-参考:SpeechesController\r
-\r
-== カラム\r
-||name||和名||type||default||null||limit||note||\r
-||balloon_id||フキダシ枠id||integer|| ||FALSE|| ||||\r
-||speach_template_id||セリフ枠id||integer|| ||FALSE|| ||||]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.BB.E3.83.AA.E3.83.95.20speaches">セリフ speaches</h1><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/SpeechesController">SpeechesController</a>\r
-</p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>balloon_id</td><td>フキダシ枠id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>speach_template_id</td><td>セリフ枠id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>content</td><td>台詞</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr><tr><td>width</td><td>幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><h2 id="h2-.E4.BD.9C.E6.88.90.E6.89.8B.E9.A0.86">作成手順</h2><p>content以外のカラムはすべてspeach_template_idから算出できるので、contentとspeach_template_idだけ入れてやればよい。\r
-</p><h2 id="h2-.E8.87.AA.E5.8B.95.E8.A3.9C.E5.85.85">自動補充</h2><p>クライアントは作成・更新時にデータを渡すが、中には自動で値が補充されるカラムもある。\r
-</p><h3 id="h3-balloon_id">balloon_id</h3><ul><li>新規作成時には値は自動補充される。\r
-</li></ul><h3 id="h3-x">x</h3><ul><li>新規作成時\r
-<ul><li>speach_template_idからspeach_templatesを辿り、xを補充する。\r
-</li></ul></li></ul><h3 id="h3-y">y</h3><ul><li>新規作成時\r
-<ul><li>speach_template_idからspeach_templatesを辿り、yを補充する。\r
-</li></ul></li></ul><h3 id="h3-t">t</h3><ul><li>新規作成時\r
-<ul><li>speach_template_idからspeach_templatesを辿り、tを補充する。\r
-</li></ul></li></ul><h3 id="h3-width">width</h3><ul><li>新規作成時\r
-<ul><li>speach_template_idからspeach_templatesを辿り、widthを補充する。\r
-</li></ul></li></ul><h3 id="h3-height">height</h3><ul><li>新規作成時\r
-<ul><li>speach_template_idからspeach_templatesを辿り、heightを補充する。\r
-</li></ul></li></ul><h3 id="h3-created_at">created_at</h3><ul><li>新規作成時には値は自動補充される。\r
-</li></ul><h3 id="h3-updated_at">updated_at</h3><ul><li>更新時には値は自動補充される。\r
-</li></ul><h2 id="h2-.E6.A4.9C.E8.A8.BC">検証</h2><h3 id="h3-.E3.82.AB.E3.83.A9.E3.83.A0.E5.88.A5">カラム別</h3><h3 id="h3-balloon_id-2">balloon_id</h3><h3 id="h3-content">content</h3><h3 id="h3-x-2">x</h3><ul><li>数値であること\r
-</li></ul><h3 id="h3-y-2">y</h3><ul><li>数値であること\r
-</li></ul><h3 id="h3-t-2">t</h3><ul><li>数値であること\r
-</li><li>正の整数であること。 \r
-</li></ul><h3 id="h3-width-2">width</h3><ul><li>数値であること\r
-</li><li>正の整数であること。 \r
-</li></ul><h3 id="h3-height-2">height</h3><ul><li>数値であること\r
-</li><li>正の整数であること。 \r
-</li></ul><h3 id="h3-.E5.85.A8.E4.BD.93">全体</h3><h3 id="h3-.E6.89.80.E5.B1.9E.E3.83.A2.E3.83.87.E3.83.AB">所属モデル</h3>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ForWebmasters">\r
-    <title>ForWebmasters</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ForWebmasters</link>\r
-    <dc:identifier>ForWebmasters</dc:identifier>\r
-    <dc:date>2012-01-26T18:39:03+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 管理者向け\r
-== 管理者とは\r
-作家が活動できる環境を整備しながらサイト運営する人です。整備のためにはルールやポリシーに違反した事項を裁かなければならないため、特権的な操作能力を与えられています。ぺったんRは最低一人の管理者を必要とし、起動前の初期化処理で管理者アカウントを作成します。また、承認により、複数の管理者を用意して運営することも可能です。\r
-\r
-== フキダシテンプレートのメンテナ]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E7.AE.A1.E7.90.86.E8.80.85.E5.90.91.E3.81.91">管理者向け</h1><h2 id="h2-.E7.AE.A1.E7.90.86.E8.80.85.E3.81.A8.E3.81.AF">管理者とは</h2><p>作家が活動できる環境を整備しながらサイト運営する人です。整備のためにはルールやポリシーに違反した事項を裁かなければならないため、特権的な操作能力を与えられています。ぺったんRは最低一人の管理者を必要とし、起動前の初期化処理で管理者アカウントを作成します。また、承認により、複数の管理者を用意して運営することも可能です。\r
-</p><h2 id="h2-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88.E3.81.AE.E3.83.A1.E3.83.B3.E3.83.86.E3.83.8A.E3.83.B3.E3.82.B9">フキダシテンプレートのメンテナンス</h2><ul><li>フキダシテンプレートについて <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon">AboutSpeachBalloon</a>\r
-</li><li>フキダシテンプレートの追加 <a href="http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon">HowToMakeSpeachBalloon</a>\r
-</li></ul><h2 id="h2-.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E7.94.BB.E5.83.8F.E3.81.AE.E3.83.A1.E3.83.B3.E3.83.86.E3.83.8A.E3.83.B3.E3.82.B9">システム画像のメンテナンス</h2><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.AE.E3.83.A1.E3.83.B3.E3.83.86.E3.83.8A.E3.83.B3.E3.82.B9">ライセンスのメンテナンス</h2><ul><li>ライセンスについて\r
-</li></ul><h2 id="h2-.E7.AE.A1.E7.90.86.E8.80.85.E3.81.AE.E6.89.BF.E8.AA.8D">管理者の承認</h2><p>管理者用サインアップフォームから、管理者アカウントが作成できます。\r
-しかし、このままでは管理者として機能しません。管理者によって承認されることで初めて管理者になれます。管理者は承認待ちページを確認して、管理者候補を裁定してください。\r
-</p><ul><li>管理者用サインアップフォームで管理者登録する。\r
-<ul><li>承認待ちリストのページに表示される。\r
-</li><li>承認か棄却を選ぶ。\r
-</li></ul></li><li>管理者となる。\r
-</li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AccessControl">\r
-    <title>AccessControl</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AccessControl</link>\r
-    <dc:identifier>AccessControl</dc:identifier>\r
-\r
-    <dc:date>2012-01-25T18:57:31+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 権限\r
-== 権限の種類\r
- * 管理者(編集長)\r
- * アカウント取得者(作家)\r
- * ゲスト(訪問者)\r
-== 管理者\r
-なんでも閲覧できる。\r
- * 管理者とはAdminModelを持った人、かつ承認済フラグapprobeがセットされている。\r
- * 閲覧系の処理はすべて実行できる。\r
- * フキダシ、システム画像、コモンライセンスなど、管理者機能は実行できる。\r
- * コミック更新]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E6.A8.A9.E9.99.90">権限</h1><h2 id="h2-.E6.A8.A9.E9.99.90.E3.81.AE.E7.A8.AE.E9.A1.9E">権限の種類</h2><ul><li>管理者(編集長)\r
-</li><li>アカウント取得者(作家)\r
-</li><li>ゲスト(訪問者)\r
-</li></ul><h2 id="h2-.E7.AE.A1.E7.90.86.E8.80.85">管理者</h2><p>なんでも閲覧できる。\r
-</p><ul><li>管理者とは<a href="http://sourceforge.jp/projects/pettanr/wiki/AdminModel">AdminModel</a>を持った人、かつ承認済フラグapprobeがセットされている。\r
-</li><li>閲覧系の処理はすべて実行できる。\r
-</li><li>フキダシ、システム画像、コモンライセンスなど、管理者機能は実行できる。\r
-</li><li>コミック更新系の処理は別途作家Authorアカウントが必要。両者のアカウントで同時にサインインする。\r
-<ul><li>承認済管理者でサインインした作家を<a href="http://sourceforge.jp/projects/pettanr/wiki/SuperAuthor">SuperAuthor</a>とする。\r
-</li></ul></li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SuperAuthor">SuperAuthor</a>はコミック系の処理はオーナーでなくても、すべて実行できる。\r
-</li><li>素材更新系の処理は別途Artist登録済の作家Authorアカウントが必要。両者のアカウントで同時にサインインする。\r
-<ul><li>承認済管理者でサインインした作家を<a href="http://sourceforge.jp/projects/pettanr/wiki/SuperArtist">SuperArtist</a>とする。\r
-</li></ul></li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SuperArtist">SuperArtist</a>は素材系の処理はオーナーでなくても、すべて実行できる。\r
-</li></ul><h2 id="h2-.E3.82.A2.E3.82.AB.E3.82.A6.E3.83.B3.E3.83.88.E5.8F.96.E5.BE.97.E8.80.85.EF.BC.88.E4.BD.9C.E5.AE.B6.EF.BC.89">アカウント取得者(作家)</h2><ul><li>サイトがオープンかクローズドかに関わらずコミック系の閲覧ができる。\r
-</li><li>自分の投稿(オーナー)なら更新系の処理ができる。\r
-</li><li>OSのグループ的なパーミッションがあってもバチは当たらないような?\r
-</li></ul><h2 id="h2-.E3.82.B2.E3.82.B9.E3.83.88.EF.BC.88.E8.A8.AA.E5.95.8F.E8.80.85.EF.BC.89">ゲスト(訪問者)</h2><ul><li>サイトがオープンかクローズドかによって変わる。\r
-</li><li>オープンの場合\r
-<ul><li>コミック系の閲覧ができる。\r
-</li></ul></li><li>クローズドの場合\r
-<ul><li>トップページしか見れない。\r
-</li><li>作家がお試し版として最初の数コマだけ公開してもバチは当たらないような?\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi">\r
-    <title>AboutKinichi</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi</link>\r
-    <dc:identifier>AboutKinichi</dc:identifier>\r
-    <dc:date>2012-01-25T08:34:14+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= キンイチ\r
-[[Embed(http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/1555.gif)]]\r
-[[Embed(http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/bac.png)]]\r
-[[Embed(http://sourcefo]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.AD.E3.83.B3.E3.82.A4.E3.83.81">キンイチ</h1><img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/1555.gif" alt="1555.gif" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2f1555.gif-1" title="1555.gif" class="embed-image"><p>\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/bac.png" alt="bac.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fbac.png-1" title="bac.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/kijck.png" alt="kijck.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fkijck.png-1" title="kijck.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/ccc.png" alt="ccc.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fccc.png-1" title="ccc.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/bee.png" alt="bee.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fbee.png-1" title="bee.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/orz.png" alt="orz.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2forz.png-1" title="orz.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/ohmy.png" alt="ohmy.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fohmy.png-1" title="ohmy.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/smile.png" alt="smile.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fsmile.png-1" title="smile.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/uma.png" alt="uma.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fuma.png-1" title="uma.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/up.png" alt="up.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fup.png-1" title="up.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/walk.png" alt="walk.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fwalk.png-1" title="walk.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/yare.png" alt="yare.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fyare.png-1" title="yare.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi/attach/zzz.png" alt="zzz.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutKinichi2fattach2fzzz.png-1" title="zzz.png" class="embed-image">\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutBackgroundImage">\r
-    <title>AboutBackgroundImage</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AboutBackgroundImage</link>\r
-\r
-    <dc:identifier>AboutBackgroundImage</dc:identifier>\r
-    <dc:date>2012-01-22T20:49:51+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= ぺったんR の背景画像指定について\r
-ぺったんRのコマの背景の指定機能は、css の background 指定を利用した機能です.\r
-\r
-==  参考: background の指定\r
- * background-color・・・・・・・・・・・・背景色を指定する\r
- * background-image・・・・・・・・・・・背景画像を指定する\r
- * background-position]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.20.E3.81.AE.E8.83.8C.E6.99.AF.E7.94.BB.E5.83.8F.E6.8C.87.E5.AE.9A.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6">ぺったんR の背景画像指定について</h1><p>ぺったんRのコマの背景の指定機能は、css の background 指定を利用した機能です.\r
-</p><h2 id="h2-.E5.8F.82.E8.80.83.EF.BC.9A.20background.20.E3.81.AE.E6.8C.87.E5.AE.9A">参考: background の指定</h2><ul><li>background-color・・・・・・・・・・・・背景色を指定する\r
-</li><li>background-image・・・・・・・・・・・背景画像を指定する\r
-</li><li>background-position・・・・・・・・・背景画像の表示開始位置を指定する\r
-</li><li>background-repeat・・・・・・・・・・背景画像のリピートの仕方を指定する\r
-</li></ul><p>スタイルシートリファレンス &gt; background <a href="http://www.htmq.com/style/background.shtml" class="external" rel="nofollow">http://www.htmq.com/style/background.shtml</a>\r
-</p><p>このほかにもまだあるみたいですが、使いどころがなさそうなので省きました.また、css3 になって拡張された機能もあります.\r
-</p><h2 id="h2-.E9.95.B7.E6.89.80">長所</h2><img src="http://sourceforge.jp/projects/pettanr/wiki/AboutBackgroundImage/attach/bg_pattern.gif" alt="bg_pattern.gif" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutBackgroundImage2fattach2fbg_pattern.gif-1" title="bg_pattern.gif" class="embed-image"><p>\r
-パターン用の小ささな画像をリピートさせて使用できます.\r
-心象表現などに使えます.このようなリピート画像の制作には慣れが必要ですが、ホームページ素材としていろいろなものが公開されています.(もちろん、勝手にぺったんR にアップロードしたりしちゃまずいですけど、、、)\r
-</p><h2 id="h2-.E7.9F.AD.E6.89.80">短所</h2><p>風景写真などを背景として張り込みたい場合には適さない.\r
-リサイズや位置の調整のできる パネルピクチャにしましょう.( css3 なら 背景画像でもできるようなことを見たような、、、まぁいいさ)\r
-</p><h2 id="h2-memo">memo</h2><p>背景画像の候補となる、リピート画像(タイル画像)は、ある程度大きい範囲に対して、実際にリピートさせて表示させる.(とすると、一般の素材画像と扱いを変えたほうがいいのかも、、、)</p>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/StatusCode">\r
-    <title>StatusCode</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/StatusCode</link>\r
-    <dc:identifier>StatusCode</dc:identifier>\r
-    <dc:date>2012-01-16T18:21:44+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[ここを参照する\r
-\r
-http://www.func09.com/wordpress/archives/1226\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<p>ここを参照する\r
-</p><p><a href="http://www.func09.com/wordpress/archives/1226" class="external" rel="nofollow">http://www.func09.com/wordpress/archives/1226</a>\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/XmlHttpRequest">\r
-    <title>XmlHttpRequest</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/XmlHttpRequest</link>\r
-    <dc:identifier>XmlHttpRequest</dc:identifier>\r
-    <dc:date>2012-01-16T13:39:48+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= XMLHttpRequest\r
-\r
- * ie 4.0 以降 ie6 以前は ActiveX\r
- * Firefox 1.0 以降\r
- * NN 7 以降\r
- * Opera 7.6 以降\r
- * Safari 1.2 以降\r
- * Konqueror 3 以降\r
-\r
-以上は 入門 ajax 増補改訂版より\r
-]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-XMLHttpRequest">XMLHttpRequest</h1><ul><li>ie 4.0 以降 ie6 以前は ActiveX\r
-</li><li>Firefox 1.0 以降\r
-</li><li>NN 7 以降\r
-</li><li>Opera 7.6 以降\r
-</li><li>Safari 1.2 以降\r
-</li><li>Konqueror 3 以降\r
-</li></ul><p>以上は 入門 ajax 増補改訂版より\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/SystemController">\r
-    <title>SystemController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/SystemController</link>\r
-    <dc:identifier>SystemController</dc:identifier>\r
-\r
-    <dc:date>2012-01-15T18:11:40+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= SystemController\r
-管理者機能。\r
-\r
-== index\r
-管理者機能目次。\r
-== start\r
-管理者を作成するための手順を表示するためのページ。\r
-\r
-== browse\r
-dbを閲覧するためのメニュー。\r
-\r
-== auth_token\r
-認証トークンの表示および管理メニュー。\r
-\r
-=== create_token\r
-認証トークンの作成。\r
-\r
-=== delete_]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-SystemController"><a href="http://sourceforge.jp/projects/pettanr/wiki/SystemController">SystemController</a></h1><p>管理者機能。\r
-</p><h2 id="h2-index">index</h2><p>管理者機能目次。\r
-</p><h2 id="h2-start">start</h2><p>管理者を作成するための手順を表示するためのページ。\r
-</p><h2 id="h2-browse">browse</h2><p>dbを閲覧するためのメニュー。\r
-</p><h2 id="h2-auth_token">auth_token</h2><p>認証トークンの表示および管理メニュー。\r
-</p><h3 id="h3-create_token">create_token</h3><p>認証トークンの作成。\r
-</p><h3 id="h3-delete_token">delete_token</h3><p>認証トークンの削除。\r
-</p><h2 id="h2-waiting_list">waiting_list</h2><p>管理者承認。\r
-</p><h3 id="h3-approve">approve</h3><p>管理者承認。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AuthorRegistrationsController">\r
-    <title>AuthorRegistrationsController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AuthorRegistrationsController</link>\r
-    <dc:identifier>AuthorRegistrationsController</dc:identifier>\r
-    <dc:date>2012-01-15T17:58:47+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= AuthorRegistrationsController\r
-認証エンジンdeviseでサインアップ後のページ遷移をするために必要となった。\r
-\r
-遷移先を定義しただけなので、機能はない。]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-AuthorRegistrationsController"><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorRegistrationsController">AuthorRegistrationsController</a></h1><p>認証エンジンdeviseでサインアップ後のページ遷移をするために必要となった。\r
-</p><p>遷移先を定義しただけなので、機能はない。</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons">\r
-    <title>BundledSpeachBalloons</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons</link>\r
-\r
-    <dc:identifier>BundledSpeachBalloons</dc:identifier>\r
-    <dc:date>2012-01-14T09:23:10+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 標準フキダシ\r
- * ベクターなし\r
-   * ベクター式のプログラムは実装されておらず、テンプレートのみで行う。\r
- * 楕円\r
-[[embed(http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons/attach/fukiMoon1.gif)]]\r
- * 雲\r
-[[embed(http://sourceforge.]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E6.A8.99.E6.BA.96.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7">標準フキダシ</h1><ul><li>ベクターなし\r
-<ul><li>ベクター式のプログラムは実装されておらず、テンプレートのみで行う。\r
-</li></ul></li><li>楕円\r
-</li></ul><img src="http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons/attach/fukiMoon1.gif" alt="fukiMoon1.gif" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fBundledSpeachBalloons2fattach2ffukiMoon1.gif-1" title="fukiMoon1.gif" class="embed-image"><p>\r
-</p><ul><li>雲\r
-</li></ul><img src="http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons/attach/omoiFuki1.gif" alt="omoiFuki1.gif" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fBundledSpeachBalloons2fattach2fomoiFuki1.gif-1" title="omoiFuki1.gif" class="embed-image"><p>\r
-</p><ul><li>角丸\r
-</li></ul><img src="http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons/attach/bln1.png" alt="bln1.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fBundledSpeachBalloons2fattach2fbln1.png-1" title="bln1.png" class="embed-image"><p>\r
-</p><ul><li>カギ\r
-</li></ul><img src="http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons/attach/hook.png" alt="hook.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fBundledSpeachBalloons2fattach2fhook.png-1" title="hook.png" class="embed-image"><p>\r
-</p><ul><li>プレーン\r
-</li><li>ボックス\r
-</li></ul><img src="http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons/attach/square4.gif" alt="square4.gif" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fBundledSpeachBalloons2fattach2fsquare4.gif-1" title="square4.gif" class="embed-image"><p>\r
-</p><ul><li>ギザ細\r
-</li><li>ギザ粗\r
-</li></ul><img src="http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons/attach/togeFuki.gif" alt="togeFuki.gif" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fBundledSpeachBalloons2fattach2ftogeFuki.gif-1" title="togeFuki.gif" class="embed-image"><p>\r
-</p><ul><li>鳥の巣\r
-</li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutPenjiro">\r
-    <title>AboutPenjiro</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AboutPenjiro</link>\r
-    <dc:identifier>AboutPenjiro</dc:identifier>\r
-    <dc:date>2012-01-12T08:35:00+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= ペン次郎\r
-[[Embed(http://sourceforge.jp/projects/pettanr/wiki/AboutPenjiro/attach/129.png)]]\r
-[[Embed(http://sourceforge.jp/projects/pettanr/wiki/AboutPenjiro/attach/ge.png)]]\r
-[[Embed(http://sourceforg]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.83.9A.E3.83.B3.E6.AC.A1.E9.83.8E">ペン次郎</h1><img src="http://sourceforge.jp/projects/pettanr/wiki/AboutPenjiro/attach/129.png" alt="129.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutPenjiro2fattach2f129.png-1" title="129.png" class="embed-image"><p>\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutPenjiro/attach/ge.png" alt="ge.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutPenjiro2fattach2fge.png-1" title="ge.png" class="embed-image">\r
-<img src="http://sourceforge.jp/projects/pettanr/wiki/AboutPenjiro/attach/up.png" alt="up.png" id="emb-http:2f2fsourceforge.jp2fprojects2fpettanr2fwiki2fAboutPenjiro2fattach2fup.png-1" title="up.png" class="embed-image"></p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/DatabaseSchema">\r
-    <title>DatabaseSchema</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/DatabaseSchema</link>\r
-    <dc:identifier>DatabaseSchema</dc:identifier>\r
-    <dc:date>2012-01-04T18:05:04+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 定義\r
-超やっつけだけど、無いよりはマシか。\r
-\r
-{{{\r
-ActiveRecord::Schema.define(:version =&gt; 20120102071851) do\r
-\r
-  create_table &quot;admins&quot;, :force =&gt; true do |t|\r
-    t.string   &quot;email&quot;,        ]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-.E5.AE.9A.E7.BE.A9">定義</h1><p>超やっつけだけど、無いよりはマシか。\r
-</p><pre>ActiveRecord::Schema.define(:version =&gt; 20120102071851) do\r
-\r
-  create_table &quot;admins&quot;, :force =&gt; true do |t|\r
-    t.string   &quot;email&quot;,                                 :default =&gt; &quot;&quot;, :null =&gt; false\r
-    t.string   &quot;encrypted_password&quot;,     :limit =&gt; 128, :default =&gt; &quot;&quot;, :null =&gt; false\r
-    t.string   &quot;reset_password_token&quot;\r
-    t.datetime &quot;reset_password_sent_at&quot;\r
-    t.datetime &quot;remember_created_at&quot;\r
-    t.integer  &quot;sign_in_count&quot;,                         :default =&gt; 0\r
-    t.datetime &quot;current_sign_in_at&quot;\r
-    t.datetime &quot;last_sign_in_at&quot;\r
-    t.string   &quot;current_sign_in_ip&quot;\r
-    t.string   &quot;last_sign_in_ip&quot;\r
-    t.string   &quot;confirmation_token&quot;\r
-    t.datetime &quot;confirmed_at&quot;\r
-    t.datetime &quot;confirmation_sent_at&quot;\r
-    t.string   &quot;authentication_token&quot;\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;admins&quot;, [&quot;authentication_token&quot;], :name =&gt; &quot;index_admins_on_authentication_token&quot;, :unique =&gt; true\r
-  add_index &quot;admins&quot;, [&quot;confirmation_token&quot;], :name =&gt; &quot;index_admins_on_confirmation_token&quot;, :unique =&gt; true\r
-  add_index &quot;admins&quot;, [&quot;email&quot;], :name =&gt; &quot;index_admins_on_email&quot;, :unique =&gt; true\r
-  add_index &quot;admins&quot;, [&quot;reset_password_token&quot;], :name =&gt; &quot;index_admins_on_reset_password_token&quot;, :unique =&gt; true\r
-\r
-  create_table &quot;artists&quot;, :force =&gt; true do |t|\r
-    t.string   &quot;email&quot;\r
-    t.string   &quot;name&quot;\r
-    t.string   &quot;homepage_url&quot;\r
-    t.string   &quot;api_url&quot;\r
-    t.integer  &quot;default_lisence_id&quot;\r
-    t.datetime &quot;crowled_at&quot;\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-    t.integer  &quot;author_id&quot;\r
-  end\r
-\r
-  create_table &quot;authors&quot;, :force =&gt; true do |t|\r
-    t.string   &quot;name&quot;\r
-    t.string   &quot;email&quot;,                                 :default =&gt; &quot;&quot;, :null =&gt; false\r
-    t.string   &quot;encrypted_password&quot;,     :limit =&gt; 128, :default =&gt; &quot;&quot;, :null =&gt; false\r
-    t.string   &quot;reset_password_token&quot;\r
-    t.datetime &quot;reset_password_sent_at&quot;\r
-    t.datetime &quot;remember_created_at&quot;\r
-    t.integer  &quot;sign_in_count&quot;,                         :default =&gt; 0\r
-    t.datetime &quot;current_sign_in_at&quot;\r
-    t.datetime &quot;last_sign_in_at&quot;\r
-    t.string   &quot;current_sign_in_ip&quot;\r
-    t.string   &quot;last_sign_in_ip&quot;\r
-    t.string   &quot;authentication_token&quot;\r
-    t.string   &quot;confirmation_token&quot;\r
-    t.datetime &quot;confirmed_at&quot;\r
-    t.datetime &quot;confirmation_sent_at&quot;\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;authors&quot;, [&quot;authentication_token&quot;], :name =&gt; &quot;index_authors_on_authentication_token&quot;, :unique =&gt; true\r
-  add_index &quot;authors&quot;, [&quot;confirmation_token&quot;], :name =&gt; &quot;index_authors_on_confirmation_token&quot;, :unique =&gt; true\r
-  add_index &quot;authors&quot;, [&quot;email&quot;], :name =&gt; &quot;index_authors_on_email&quot;, :unique =&gt; true\r
-  add_index &quot;authors&quot;, [&quot;reset_password_token&quot;], :name =&gt; &quot;index_authors_on_reset_password_token&quot;, :unique =&gt; true\r
-\r
-  create_table &quot;balloon_templates&quot;, :force =&gt; true do |t|\r
-    t.integer  &quot;speach_balloon_id&quot;,                :null =&gt; false\r
-    t.integer  &quot;system_picture_id&quot;,                :null =&gt; false\r
-    t.integer  &quot;tail&quot;,              :default =&gt; 1, :null =&gt; false\r
-    t.integer  &quot;size&quot;,              :default =&gt; 1, :null =&gt; false\r
-    t.integer  &quot;min_width&quot;,         :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;max_width&quot;,         :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;min_height&quot;,        :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;max_height&quot;,        :default =&gt; 0, :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;balloon_templates&quot;, [&quot;speach_balloon_id&quot;, &quot;tail&quot;, &quot;size&quot;], :name =&gt; &quot;balloon_templates_idts&quot;, :unique =&gt; true\r
-  add_index &quot;balloon_templates&quot;, [&quot;speach_balloon_id&quot;], :name =&gt; &quot;index_balloon_templates_on_speach_balloon_id&quot;\r
-\r
-  create_table &quot;balloons&quot;, :force =&gt; true do |t|\r
-    t.integer  &quot;panel_id&quot;,                           :null =&gt; false\r
-    t.integer  &quot;balloon_template_id&quot;,                :null =&gt; false\r
-    t.integer  &quot;system_picture_id&quot;,                  :null =&gt; false\r
-    t.integer  &quot;tail&quot;,                :default =&gt; 1, :null =&gt; false\r
-    t.integer  &quot;size&quot;,                :default =&gt; 1, :null =&gt; false\r
-    t.integer  &quot;x&quot;,                                  :null =&gt; false\r
-    t.integer  &quot;y&quot;,                                  :null =&gt; false\r
-    t.integer  &quot;z&quot;,                                  :null =&gt; false\r
-    t.integer  &quot;t&quot;,                   :default =&gt; 1, :null =&gt; false\r
-    t.integer  &quot;width&quot;,                              :null =&gt; false\r
-    t.integer  &quot;height&quot;,                             :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;balloons&quot;, [&quot;panel_id&quot;, &quot;t&quot;], :name =&gt; &quot;balloon_idt&quot;, :unique =&gt; true\r
-  add_index &quot;balloons&quot;, [&quot;panel_id&quot;], :name =&gt; &quot;index_balloons_on_panel_id&quot;\r
-\r
-  create_table &quot;comics&quot;, :force =&gt; true do |t|\r
-    t.string   &quot;title&quot;\r
-    t.integer  &quot;width&quot;,      :default =&gt; 200, :null =&gt; false\r
-    t.integer  &quot;height&quot;,     :default =&gt; 80,  :null =&gt; false\r
-    t.integer  &quot;visible&quot;,    :default =&gt; 0,   :null =&gt; false\r
-    t.integer  &quot;editable&quot;,   :default =&gt; 0,   :null =&gt; false\r
-    t.integer  &quot;author_id&quot;\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;comics&quot;, [&quot;author_id&quot;], :name =&gt; &quot;index_comics_on_author_id&quot;\r
-\r
-  create_table &quot;common_lisences&quot;, :force =&gt; true do |t|\r
-    t.integer  &quot;lisence_id&quot;,                       :null =&gt; false\r
-    t.string   &quot;name&quot;,                             :null =&gt; false\r
-    t.string   &quot;url&quot;,                              :null =&gt; false\r
-    t.integer  &quot;cc_by&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;cc_sa&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;cc_nd&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;cc_nc&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;no_resize&quot;,         :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;no_flip&quot;,           :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;no_convert&quot;,        :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;keep_aspect_ratio&quot;, :default =&gt; 0, :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  create_table &quot;lisences&quot;, :force =&gt; true do |t|\r
-    t.string   &quot;name&quot;,                             :null =&gt; false\r
-    t.string   &quot;url&quot;,                              :null =&gt; false\r
-    t.integer  &quot;cc_by&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;cc_sa&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;cc_nd&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;cc_nc&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;no_resize&quot;,         :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;no_flip&quot;,           :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;no_convert&quot;,        :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;keep_aspect_ratio&quot;, :default =&gt; 0, :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;lisences&quot;, [&quot;url&quot;], :name =&gt; &quot;index_lisences_on_url&quot;, :unique =&gt; true\r
-\r
-  create_table &quot;original_lisences&quot;, :force =&gt; true do |t|\r
-    t.integer  &quot;artist_id&quot;,                        :null =&gt; false\r
-    t.integer  &quot;lisence_id&quot;,                       :null =&gt; false\r
-    t.string   &quot;name&quot;,                             :null =&gt; false\r
-    t.string   &quot;url&quot;,                              :null =&gt; false\r
-    t.integer  &quot;cc_by&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;cc_sa&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;cc_nd&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;cc_nc&quot;,             :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;no_resize&quot;,         :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;no_flip&quot;,           :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;no_convert&quot;,        :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;keep_aspect_ratio&quot;, :default =&gt; 0, :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  create_table &quot;original_pictures&quot;, :force =&gt; true do |t|\r
-    t.string   &quot;ext&quot;,        :null =&gt; false\r
-    t.integer  &quot;width&quot;,      :null =&gt; false\r
-    t.integer  &quot;height&quot;,     :null =&gt; false\r
-    t.integer  &quot;filesize&quot;,   :null =&gt; false\r
-    t.integer  &quot;artist_id&quot;\r
-    t.integer  &quot;lisence_id&quot;\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;original_pictures&quot;, [&quot;artist_id&quot;], :name =&gt; &quot;index_original_pictures_on_artist_id&quot;\r
-\r
-  create_table &quot;panel_pictures&quot;, :force =&gt; true do |t|\r
-    t.integer  &quot;panel_id&quot;,                                          :null =&gt; false\r
-    t.integer  &quot;resource_picture_id&quot;,                               :null =&gt; false\r
-    t.string   &quot;url&quot;,                 :limit =&gt; 200\r
-    t.integer  &quot;x&quot;,                                                 :null =&gt; false\r
-    t.integer  &quot;y&quot;,                                                 :null =&gt; false\r
-    t.integer  &quot;z&quot;,                                                 :null =&gt; false\r
-    t.integer  &quot;t&quot;,                                  :default =&gt; 1, :null =&gt; false\r
-    t.integer  &quot;width&quot;,                                             :null =&gt; false\r
-    t.integer  &quot;height&quot;,                                            :null =&gt; false\r
-    t.integer  &quot;flipv&quot;,                              :default =&gt; 0, :null =&gt; false\r
-    t.integer  &quot;fliph&quot;,                              :default =&gt; 0, :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;panel_pictures&quot;, [&quot;panel_id&quot;, &quot;t&quot;], :name =&gt; &quot;panel_pictures_idt&quot;, :unique =&gt; true\r
-\r
-  create_table &quot;panels&quot;, :force =&gt; true do |t|\r
-    t.integer  &quot;comic_id&quot;,                             :null =&gt; false\r
-    t.integer  &quot;resource_picture_id&quot;\r
-    t.integer  &quot;width&quot;,               :default =&gt; 200, :null =&gt; false\r
-    t.integer  &quot;height&quot;,              :default =&gt; 80,  :null =&gt; false\r
-    t.integer  &quot;border&quot;,              :default =&gt; 1,   :null =&gt; false\r
-    t.integer  &quot;x&quot;,                                    :null =&gt; false\r
-    t.integer  &quot;y&quot;,                                    :null =&gt; false\r
-    t.integer  &quot;z&quot;,                                    :null =&gt; false\r
-    t.integer  &quot;t&quot;,                   :default =&gt; 1,   :null =&gt; false\r
-    t.integer  &quot;author_id&quot;\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;panels&quot;, [&quot;author_id&quot;], :name =&gt; &quot;index_panels_on_author_id&quot;\r
-  add_index &quot;panels&quot;, [&quot;comic_id&quot;, &quot;t&quot;], :name =&gt; &quot;panels_idt&quot;, :unique =&gt; true\r
-\r
-  create_table &quot;resource_pictures&quot;, :force =&gt; true do |t|\r
-    t.string   &quot;ext&quot;,                 :null =&gt; false\r
-    t.integer  &quot;width&quot;,               :null =&gt; false\r
-    t.integer  &quot;height&quot;,              :null =&gt; false\r
-    t.integer  &quot;filesize&quot;,            :null =&gt; false\r
-    t.integer  &quot;artist_id&quot;\r
-    t.integer  &quot;lisence_id&quot;\r
-    t.integer  &quot;original_picture_id&quot;, :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  create_table &quot;speach_balloons&quot;, :force =&gt; true do |t|\r
-    t.string   &quot;name&quot;,                      :null =&gt; false\r
-    t.integer  &quot;tail_count&quot;, :default =&gt; 1, :null =&gt; false\r
-    t.integer  &quot;size_count&quot;, :default =&gt; 1, :null =&gt; false\r
-    t.integer  &quot;t&quot;,          :default =&gt; 1, :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;speach_balloons&quot;, [&quot;t&quot;], :name =&gt; &quot;speach_balloons_t&quot;, :unique =&gt; true\r
-\r
-  create_table &quot;speach_templates&quot;, :force =&gt; true do |t|\r
-    t.integer  &quot;balloon_template_id&quot;,                :null =&gt; false\r
-    t.integer  &quot;x&quot;,                                  :null =&gt; false\r
-    t.integer  &quot;y&quot;,                                  :null =&gt; false\r
-    t.integer  &quot;t&quot;,                   :default =&gt; 1, :null =&gt; false\r
-    t.integer  &quot;width&quot;,                              :null =&gt; false\r
-    t.integer  &quot;height&quot;,                             :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;speach_templates&quot;, [&quot;balloon_template_id&quot;, &quot;t&quot;], :name =&gt; &quot;speach_templates_idt&quot;, :unique =&gt; true\r
-\r
-  create_table &quot;speaches&quot;, :force =&gt; true do |t|\r
-    t.integer  &quot;balloon_id&quot;,                :null =&gt; false\r
-    t.string   &quot;content&quot;\r
-    t.integer  &quot;x&quot;,                         :null =&gt; false\r
-    t.integer  &quot;y&quot;,                         :null =&gt; false\r
-    t.integer  &quot;t&quot;,          :default =&gt; 1, :null =&gt; false\r
-    t.integer  &quot;width&quot;,                     :null =&gt; false\r
-    t.integer  &quot;height&quot;,                    :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-\r
-  add_index &quot;speaches&quot;, [&quot;balloon_id&quot;, &quot;t&quot;], :name =&gt; &quot;speaches_bt&quot;, :unique =&gt; true\r
-  add_index &quot;speaches&quot;, [&quot;balloon_id&quot;], :name =&gt; &quot;index_speaches_on_balloon_id&quot;\r
-\r
-  create_table &quot;system_pictures&quot;, :force =&gt; true do |t|\r
-    t.string   &quot;ext&quot;,        :null =&gt; false\r
-    t.integer  &quot;width&quot;,      :null =&gt; false\r
-    t.integer  &quot;height&quot;,     :null =&gt; false\r
-    t.integer  &quot;filesize&quot;,   :null =&gt; false\r
-    t.datetime &quot;created_at&quot;\r
-    t.datetime &quot;updated_at&quot;\r
-  end\r
-end\r
-\r
-</pre>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonsController">\r
-    <title>SpeachBalloonsController</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonsController</link>\r
-    <dc:identifier>SpeachBalloonsController</dc:identifier>\r
-\r
-    <dc:date>2012-01-04T07:58:05+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= フキダシテンプレート\r
-コマ上に添付するためのフキダシ見本と、それを管理する処理。主に二つの使われ方をする。\r
-\r
- * 作家が使うエディタ上のフキダシエクスプローラーで見本として表示するための情報をjsonで返す。\r
- * 管理者がフキダシの基礎情報をメンテナンスする。\r
-\r
-メンテナンスはjson経由で行うことが多い。枠テンプレートとセリフテンプレートのすべての情報を同時に更新する必要があ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">フキダシテンプレート</h1><p>コマ上に添付するためのフキダシ見本と、それを管理する処理。主に二つの使われ方をする。\r
-</p><ul><li>作家が使うエディタ上のフキダシエクスプローラーで見本として表示するための情報をjsonで返す。\r
-</li><li>管理者がフキダシの基礎情報をメンテナンスする。\r
-</li></ul><p>メンテナンスはjson経由で行うことが多い。枠テンプレートとセリフテンプレートのすべての情報を同時に更新する必要があるためである。詳しくは<a href="http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon">AboutSpeachBalloon</a>。\r
-</p><p>参考:<a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonModel">SpeachBalloonModel</a>\r
-</p><h2 id="h2-index">index</h2><p>一覧形式\r
-<table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>なし</td></tr><tr><td>権限</td><td>作家/管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>○</td></tr></tbody></table></p><p>主にクライアントのエディタがフキダシリストを得るために使う。全レコードがt順で返る。\r
-</p><p>html形式では、管理者がメンテナンスのために閲覧する。重要なカラムの情報が一覧で表示されるほか、showへの誘導と、削除のボタンが配置される。\r
-</p><h2 id="h2-show">show</h2><p>単票形式\r
-<table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table></p><p>管理者がメンテナンスのために閲覧する機能。\r
-</p><h2 id="h2-create">create</h2><p>作成\r
-<table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>json形式で</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>×</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table></p><p>管理者がフキダシを追加するための機能。\r
-</p><p>jsonデータを元にフキダシテンプレートを作成する。データ作成方法は<a href="http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon">HowToMakeSpeachBalloon</a>を見る。\r
-</p><h2 id="h2-update">update</h2><p>更新\r
-<table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>×</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table></p><p>管理者がフキダシを修正するための機能。\r
-</p><p>指定されたidのフキダシテンプレートを、jsonデータを元に更新する。データ作成方法は<a href="http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon">HowToMakeSpeachBalloon</a>を見る。\r
-</p><h3 id="h3-.E4.BE.8B.E5.A4.96">例外</h3><p>権限がないアカウントで要求された場合は、処理を中断し、サインインを促すページに遷移する。\r
-指定されたidが存在しない場合は、404エラーコードが返る。\r
-</p><h2 id="h2-destroy">destroy</h2><p>削除\r
-<table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table></p><p>指定されたidのフキダシテンプレートを削除する。フキダシテンプレートだけでなく、枠テンプレートとセリフテンプレートも同時に削除される。\r
-</p><h3 id="h3-.E4.BE.8B.E5.A4.96-2">例外</h3><p>権限がないアカウントで要求された場合は、処理を中断し、サインインを促すページに遷移する。\r
-指定されたidが存在しない場合は、404エラーコードが返る。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon">\r
-    <title>HowToMakeSpeachBalloon</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon</link>\r
-    <dc:identifier>HowToMakeSpeachBalloon</dc:identifier>\r
-    <dc:date>2012-01-01T01:59:53+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[== フキダシテンプレート\r
-[[Embed(http://static.sourceforge.jp/thumb/g/2/949/640x640_0.png)]]\r
-フキダシテンプレートを追加するには尻尾の向きと枠のサイズのバリエーションがいくつになるかを決定しなければなりません。\r
-尻尾のバリエーション数をtail_limit、枠のバリエーション数を_limitとして決定してください。\r
-そし]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h2 id="h2-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">フキダシテンプレート</h2><img src="http://static.sourceforge.jp/thumb/g/2/949/640x640_0.png" alt="640x640_0.png" id="emb-http:2f2fstatic.sourceforge.jp2fthumb2fg2f22f9492f640x640_0.png-1" title="640x640_0.png" class="embed-image"><p>\r
-フキダシテンプレートを追加するには尻尾の向きと枠のサイズのバリエーションがいくつになるかを決定しなければなりません。\r
-尻尾のバリエーション数をtail_limit、枠のバリエーション数を_limitとして決定してください。\r
-そして、それらすべての組み合わせの枠テンプレートとテキストテンプレートを用意してください。一つでも欠けると追加できません。\r
-</p><p>例えば、尻尾が上下左右ならtail_limitが4。サイズが大中小ならで_limitが3で、4*3で合計12の枠テンプレートとテキストテンプレートを用意します。\r
-</p><p>→tail ↓Border\r
-<table class="wikitable" border="1"><tbody><tr><td> </td><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr><td>1</td><td>小-上</td><td>小-右</td><td>小-下</td><td>小-左</td></tr><tr><td>2</td><td>中-上</td><td>中-右</td><td>中-下</td><td>中-左</td></tr><tr><td>3</td><td>大-上</td><td>大-右</td><td>大-下</td><td>大-左</td></tr></tbody></table></p><p>フキダシテンプレートに必要な項目は以下です。\r
-<table class="wikitable" border="1"><tbody><tr><td>項目名</td><td>意味</td><td>備考</td></tr><tr><td>name</td><td>フキダシの名前</td><td> </td></tr><tr><td>tail_limit</td><td>尻尾のバリエーション数</td><td> </td></tr><tr><td>border_limit</td><td>サイズのバリエーション数</td><td> </td></tr></tbody></table></p><h2 id="h2-.E6.9E.A0.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">枠テンプレート</h2><p>枠は画像で用意します。フキダシ用の画像を用意して素材として投稿します。\r
-各種フキダシ素材を投稿したらIDをメモします。\r
-</p><p>枠テンプレートに必要な項目は以下です。\r
-<table class="wikitable" border="1"><tbody><tr><td>項目名</td><td>意味</td><td>備考</td></tr><tr><td>resource_picture_id</td><td>フキダシ素材のID</td><td> </td></tr><tr><td>tail</td><td>尻尾の番号</td><td>1から始まりtail_limit-1で終わること</td></tr><tr><td>border</td><td>サイズの番号</td><td>1から始まり_limit-1で終わること</td></tr><tr><td>min_width</td><td>横方向のサイズが小さい方に切り替わる幅</td><td>0のとき、切り替えは発生しない</td></tr><tr><td>max_width</td><td>横方向のサイズが大きい方に切り替わる幅</td><td>0のとき、切り替えは発生しない</td></tr><tr><td>min_height</td><td>縦方向のサイズが小さい方に切り替わる高さ</td><td>0のとき、切り替えは発生しない</td></tr><tr><td>max_height</td><td>縦方向のサイズが大きい方に切り替わる高さ</td><td>0のとき、切り替えは発生しない</td></tr></tbody></table></p><h2 id="h2-.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">テキストテンプレート</h2><p>枠画像のどの位置にテキストを表示するかを決めて座標をメモします。\r
-</p><table class="wikitable" border="1"><tbody><tr><td>項目名</td><td>意味</td><td>備考</td></tr><tr><td>top_offset</td><td>テキストの表示を開始するx座標</td><td> </td></tr><tr><td>left_offset</td><td>テキストの表示を開始するy座標</td><td> </td></tr><tr><td>width</td><td>テキストの表示幅</td><td> </td></tr><tr><td>height</td><td>テキストの表示高さ</td><td> </td></tr></tbody></table><p>offset と width, height ですが、単位は % になりますか??(itozyun)\r
-</p><h3 id="h3-.E3.83.87.E3.83.BC.E3.82.BF.E4.BD.9C.E6.88.90">データ作成</h3><p>これまでのメモからデータを作成します。データはjsonで作成します。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ClientSide">\r
-    <title>ClientSide</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ClientSide</link>\r
-\r
-    <dc:identifier>ClientSide</dc:identifier>\r
-    <dc:date>2011-12-31T22:34:44+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= クライアント側\r
\r
-ぺったんR におけるユーザーの行動はマンガの閲覧 と マンガの編集に大きく分けられる.[[BR]]\r
-マンガの閲覧がすべてのユーザーに可能であるのに対し、マンガの編集は原則ログインしたユーザーが可能となる。[[BR]]\r
-またログイン以降のユーザーの操作は、javascriptを有効にする必要がある.[[BR]]\r
-\r
-== マンガの閲覧\r
-ぺったんR において、ブラウ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.82.AF.E3.83.A9.E3.82.A4.E3.82.A2.E3.83.B3.E3.83.88.E5.81.B4">クライアント側</h1><div class="indent">\r
-</div><p>ぺったんR におけるユーザーの行動はマンガの閲覧 と マンガの編集に大きく分けられる.<br />\r
-マンガの閲覧がすべてのユーザーに可能であるのに対し、マンガの編集は原則ログインしたユーザーが可能となる。<br />\r
-またログイン以降のユーザーの操作は、javascriptを有効にする必要がある.<br />\r
-</p><h2 id="h2-.E3.83.9E.E3.83.B3.E3.82.AC.E3.81.AE.E9.96.B2.E8.A6.A7">マンガの閲覧</h2><p>ぺったんR において、ブラウザでのマンガ状コンテンツの閲覧のために、ユーザーは Flash も含めて特別なプラグインを必要としない.\r
-</p><h3 id="h3-html.20.2B.20css2.1">html + css2.1</h3><p>ぺったんと、ぺったんを元にする ぺったんRは、マンガ状のコンテンツの表示に css2.1 でレイアウトする.<br />\r
-以上をサポートするブラウザであれば、ぺったん 及び ぺったんR のコンテンツは閲覧ができる.<br />\r
-</p><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2">HtmlAndCss2</a>\r
-</li></ul><h3 id="h3-javascript">javascript</h3><p>ぺったんR で新たに追加された機能や、ぺったんRサーバへの負荷を抑えるため、javascript に加え css3, SVG といった新しいWeb標準が使われる.<br />\r
-これらをサポートしないブラウザも少なくなく、VML, ActiveX, flash といった非Web標準も利用する.<br />\r
-</p><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage">XbackendReversibleImage</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon">XbackendSpeachBalloon</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PngFix">PngFix</a>\r
-</li></ul><h2 id="h2-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E3.81.AE.E7.AE.A1.E7.90.86.E3.83.BB.E7.94.BB.E5.83.8F.E3.81.AE.E7.AE.A1.E7.90.86.E3.83.BB.E3.82.B3.E3.83.9E.E3.81.AE.E7.B7.A8.E9.9B.86.E3.83.BB.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BC.E8.A8.AD.E5.AE.9A">コミックの管理・画像の管理・コマの編集・ユーザー設定</h2><p>これらのログインユーザーのための機能は、javascript が前提となる.<br />\r
-画面は Ajax で用意されるため、サーバ側はユーザのデータの管理とクライアントとの通信に専念できる.<br />\r
-</p><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/JavascriptEditor">JavascriptEditor</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/JsonApi">JsonApi</a>\r
-</li></ul><h2 id="h2-.E5.AF.BE.E5.BF.9C.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6">対応ブラウザ</h2><h3 id="h3-.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.82.B7.E3.82.A7.E3.82.A2">ブラウザシェア</h3><p>IE系では、css3 や SVG をサポートしない IE8 以下がまだまだ多く、IE6 でそのシェアは10%近く.ブラウザシェアは国毎にばらつきがあり、お隣の中国・韓国では IE のシェアが多く、IE6 でも 20~30% になる.<br />\r
-</p><blockquote class="citation"><p>今なおブラウザシェア10.1%もあるIE6とどう向き合えばいいのか<br />\r
-<a href="http://weboook.blog22.fc2.com/blog-entry-248.html" class="external" rel="nofollow">http://weboook.blog22.fc2.com/blog-entry-248.html</a>\r
-</p></blockquote><p>javascript を切っているブラウザは 1% ほどらしい.<br />\r
-</p><blockquote class="citation"><p><a href="http://sourceforge.jp/projects/pettanr/wiki/JavaScript">JavaScript</a>をオフにしているブラウザは1%前後。米ヤフー調べ<br />\r
-<a href="http://www.publickey1.jp/blog/10/javascript1.html" class="external" rel="nofollow">http://www.publickey1.jp/blog/10/javascript1.html</a>\r
-</p></blockquote>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon">\r
-    <title>AboutSpeachBalloon</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon</link>\r
-    <dc:identifier>AboutSpeachBalloon</dc:identifier>\r
-    <dc:date>2011-12-28T08:57:17+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= フキダシテンプレート\r
-フキダシとは、線で囲まれた枠の中に文章が書かれたものです。つまり、枠と文章を合わせたものがフキダシとなるわけです。\r
-\r
-ぺったんでフキダシを作るには、枠の素材をコマに貼り、その上にテキストを貼ります。\r
-\r
-しかし、このような作り方は操作に手数がかかり、扱いも煩雑になります。漫画はフキダシで絵をしゃべらすことで初めて成立するものです。漫画ツールとしては当たり前の機能で]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">フキダシテンプレート</h1><p>フキダシとは、線で囲まれた枠の中に文章が書かれたものです。つまり、枠と文章を合わせたものがフキダシとなるわけです。\r
-</p><p>ぺったんでフキダシを作るには、枠の素材をコマに貼り、その上にテキストを貼ります。\r
-</p><p>しかし、このような作り方は操作に手数がかかり、扱いも煩雑になります。漫画はフキダシで絵をしゃべらすことで初めて成立するものです。漫画ツールとしては当たり前の機能ですから、最小限の操作でフキダシを扱えなければ困ります。そこで、ぺったんはオーソドックスなフキダシをテンプレート化して用意しました。もちろんテンプレートは自由に追加できます。\r
-</p><h1 id="h1-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88.E3.81.AE.E6.A7.8B.E6.88.90">フキダシテンプレートの構成</h1><p>フキダシテンプレートは次の三つの階層で構成されています。\r
-</p><ul><li>フキダシテンプレート <a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloon">SpeachBalloon</a>\r
-</li><li>枠テンプレート <a href="http://sourceforge.jp/projects/pettanr/wiki/BalloonTemplate">BalloonTemplate</a>\r
-</li><li>テキストテンプレート <a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachTemplate">SpeachTemplate</a>\r
-</li></ul><p>フキダシは枠とテキストから構成されます。枠テンプレートとテキストテンプレートがそれです。ただし、フキダシには大抵吹き出し口(ぺったんでは尻尾と言います)が付きますから、同じフキダシでもいくつかのバリエーションができます。それをグループ化するのがフキダシテンプレートです。\r
-</p><h2 id="h2-.E6.83.B3.E5.AE.9A.E3.81.99.E3.82.8B.E3.83.90.E3.83.AA.E3.82.A8.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3">想定するバリエーション</h2><p>ぺったんでは次の二つのバリエーションを想定しています。\r
-</p><ul><li>尻尾の向き\r
-</li><li>枠のサイズ\r
-</li></ul><p>尻尾の向きはフキダシの使われ方によって変わりますが、上下左右や角の四隅などに付くことが多いでしょうか。このバリエーションが多いほど融通が利くフキダシになります。\r
-</p><p>ぺったんはコマに貼ったフキダシを自由にサイズ調整できますが、フキダシを極端に拡大あるいは縮小すると、枠の画像によっては線が太ってしまったり、かすれてしまうことがあります。枠の画像には適正なサイズが要求されますので、より良いテンプレートはいくつかのサイズのバリエーションを用意する必要があります。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/JsonApi">\r
-    <title>JsonApi</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/JsonApi</link>\r
-    <dc:identifier>JsonApi</dc:identifier>\r
-    <dc:date>2011-12-26T19:13:24+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= JsonAPI\r
-ぺったんはjsonを利用したAPIに対応している。というよりRailsの仕様に乗っかっている。Rails知ってる人はよまなくていい。\r
-\r
-JsonAPIを使えば、ブラウザから操作せずとも直接データを操作できる。外部のプログラムからぺったんを楽しめる。\r
-\r
-APIにはCRUD、つまり、create,read,update,deleteがあり、それぞれがHTTPのPOST,G]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-JsonAPI">JsonAPI</h1><p>ぺったんはjsonを利用したAPIに対応している。というよりRailsの仕様に乗っかっている。Rails知ってる人はよまなくていい。\r
-</p><p>JsonAPIを使えば、ブラウザから操作せずとも直接データを操作できる。外部のプログラムからぺったんを楽しめる。\r
-</p><p>APIにはCRUD、つまり、create,read,update,deleteがあり、それぞれがHTTPのPOST,GET,PUT,DELETEに対応しているが、普通のブラウザからはGETしかできないので、手っ取り早くJsonAPIで遊ぶならcurlをインストールすると良い。\r
-</p><p>なお、railsではjsonでのやり取りを次のように規定している。\r
-</p><ul><li>URLの末尾を拡張子のように.jsonする\r
-</li><li>リクエストヘッダはContent-Type: application/jsonとする\r
-</li></ul><h2 id="h2-json.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E5.8F.96.E5.BE.97">jsonデータの取得</h2><p>例えば、ID:2のコマPanelのデータをcurlで取得するには次のようにする。\r
-</p><pre>curl http://hostname/panels/2.json -X GET -H &quot;Content-Type: application/json&quot;\r
-</pre><h2 id="h2-json.E3.81.A7.E3.81.AE.E6.8A.95.E7.A8.BF">jsonでの投稿</h2><p>例えば、コミックをcurlで作成するには次のようにする。このとき、作成するためのjsonデータはcomic_create.jsonファイルに用意されているものとする。\r
-</p><pre>curl http://hostname/comics.json  -X POST -H &quot;Content-Type: application/json&quot; -d @comic_create.json\r
-</pre><h2 id="h2-json.E3.81.A7.E3.81.AE.E6.9B.B4.E6.96.B0">jsonでの更新</h2><p>例えば、コミックをcurlで更新するには次のようにする。このとき、更新するためのjsonデータはcomic_update.jsonファイルに用意されているものとする。\r
-</p><pre>curl http://hostname/comics.json  -X PUT -H &quot;Content-Type: application/json&quot; -d @comic_update.json\r
-</pre><h2 id="h2-json.E3.81.A7.E3.81.AE.E5.89.8A.E9.99.A4">jsonでの削除</h2><p>例えば、コミックをcurlで削除するには次のようにする。このとき、削除するためのjsonデータはcomic_delete.jsonファイルに用意されているものとする。\r
-</p><pre>curl http://hostname/comics.json  -X DELETE -H &quot;Content-Type: application/json&quot; -d @comic_delete.json\r
-</pre><p>※普通に削除するだけならDELETEメソッドだけで削除できる。jsonデータcomic_delete.jsonは必要ないはずだが、誰でも削除できるのはおかしな話なので、大抵の場合は認証がいるだろう。認証に必要なauth_tokenを渡すのだが、auth_tokenについては後述する。\r
-</p><h2 id="h2-json.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E4.BD.9C.E3.82.8A.E6.96.B9">jsonデータの作り方</h2><p>jsonデータがどんなものかはググッてもらうとして、rails風なところを…\r
-</p><p>コミック作成に使ったcomic_create.jsonを例とすると次のようになる。\r
-<pre>{\r
-  &quot;comic&quot;: {\r
-    &quot;title&quot;: &quot;コミック作るテスト&quot;,\r
-    &quot;default_width&quot;: 400,\r
-    &quot;default_height&quot;: 200\r
-  },\r
-  &quot;auth_token&quot;: &quot;XXXXXXXXXXXXXXXX&quot;\r
-}\r
-</pre>comicはコミックのmodel、titleなどはmodelのカラム。モデルの下に必要なカラムをキーにして値を記述する。\r
-</p><p>auth_tokenは認証が必要な操作をする場合に記述する。\r
-</p><h3 id="h3-auth_token">auth_token</h3><p>認証が必要な操作をする場合にはauth_tokenを用意する。auth_tokenはログイン後にプロフィールページを開くと書いてある。今のところは。\r
-</p><h3 id="h3-.E3.83.8D.E3.82.B9.E3.83.88.E3.81.97.E3.81.9F.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E4.BD.9C.E3.82.8A.E6.96.B9">ネストしたデータの作り方</h3><p>コマの投稿など、複数のモデルを一つのトランザクションで更新するような操作はjsonデータも複数のモデルについて記述しなければならない。\r
-</p><p>ネストされている子のデータはモデル名+_attributesをキーとしたハッシュ型の値をペアにして記述する。例えば、コマ絵のモデルpanel_picturesはpanel_pictures_attributesとなる。値側は複数のレコードを含むことが想定されるので、これもハッシュ型とする。こちらのキーは一意であれば何でもよく、値がレコードのデータである。文章じゃよくわからんので、コマ絵panel_pictures一つを含んだコマpanelを作成する場合の実際のデータを示す。\r
-</p><pre>{\r
-  &quot;panel&quot;: {\r
-    &quot;border&quot;: 1,\r
-    &quot;comic_id&quot;: 5,\r
-    &quot;resource_picture_id&quot;: 1,\r
-    &quot;width&quot;: 400,\r
-    &quot;height&quot;: 200,\r
-    &quot;panel_pictures_attributes&quot;: {\r
-      &quot;new1&quot;: {\r
-        &quot;width&quot;: 100,\r
-        &quot;height&quot;: 103,\r
-        &quot;resource_picture_id&quot;: 4,\r
-        &quot;top_offset&quot;: 10,\r
-        &quot;left_offset&quot;: 135,\r
-        &quot;zindex&quot;: 1,\r
-        &quot;v&quot;: 1,\r
-        &quot;h&quot;: 0\r
-      }\r
-    }\r
-  },\r
-  &quot;auth_token&quot;: &quot;XXXXXXXXXXXXXXXX&quot;\r
-}\r
-</pre><p>コマ絵が二枚だと、こんな感じ。\r
-<pre>{\r
-  &quot;panel&quot;: {\r
-    &quot;border&quot;: 1,\r
-    &quot;comic_id&quot;: 5,\r
-    &quot;resource_picture_id&quot;: 1,\r
-    &quot;width&quot;: 400,\r
-    &quot;height&quot;: 200,\r
-    &quot;panel_pictures_attributes&quot;: {\r
-      &quot;new1&quot;: {\r
-        &quot;width&quot;: 100,\r
-        &quot;height&quot;: 103,\r
-        &quot;resource_picture_id&quot;: 4,\r
-        &quot;top_offset&quot;: 10,\r
-        &quot;left_offset&quot;: 135,\r
-        &quot;zindex&quot;: 1,\r
-        &quot;v&quot;: 1,\r
-        &quot;h&quot;: 0\r
-      },\r
-      &quot;new2&quot;: {\r
-        &quot;width&quot;: 50,\r
-        &quot;height&quot;: 75,\r
-        &quot;resource_picture_id&quot;: 1,\r
-        &quot;top_offset&quot;: 30,\r
-        &quot;left_offset&quot;: 14,\r
-        &quot;zindex&quot;: 2,\r
-        &quot;v&quot;: 0,\r
-        &quot;h&quot;: 0\r
-      }\r
-    }\r
-  },\r
-  &quot;auth_token&quot;: &quot;XXXXXXXXXXXXXXXX&quot;\r
-}\r
-</pre></p><p>キーの&quot;new1&quot;と&quot;new2&quot;は適当な命名なんであるが、こんな要領で列挙していけばまとめて作成できる。\r
-</p><p>では、次にコマ絵だけでなくフキダシとセリフも含むデータを作成してみるが、その前に各モデルの関係を整理しておく。\r
-<pre>panel\r
-  panel_pictures\r
-  balloons\r
-    speaches\r
-</pre>だったね。\r
-<pre>{\r
-  &quot;panel&quot;: {\r
-    &quot;border&quot;: 1,\r
-    &quot;comic_id&quot;: 5,\r
-    &quot;resource_picture_id&quot;: 1,\r
-    &quot;width&quot;: 400,\r
-    &quot;height&quot;: 200,\r
-    &quot;panel_pictures_attributes&quot;: {\r
-      &quot;new1&quot;: {\r
-        &quot;width&quot;: 100,\r
-        &quot;height&quot;: 103,\r
-        &quot;resource_picture_id&quot;: 4,\r
-        &quot;top_offset&quot;: 10,\r
-        &quot;left_offset&quot;: 135,\r
-        &quot;zindex&quot;: 3,\r
-        &quot;v&quot;: 1,\r
-        &quot;h&quot;: 0\r
-      }\r
-    },\r
-    &quot;balloons_attributes&quot;: {\r
-      &quot;newf1&quot;: {\r
-        &quot;balloon_template_id&quot;: 1,\r
-        &quot;resource_picture_id&quot;: 2,\r
-        &quot;tail&quot;: 1,\r
-        &quot;border&quot;: 1,\r
-        &quot;zindex&quot;: 5,\r
-        &quot;width&quot;: 81,\r
-        &quot;height&quot;: 63,\r
-        &quot;top_offset&quot;: 120,\r
-        &quot;left_offset&quot;: 35,\r
-        &quot;speaches_attributes&quot;: {\r
-          &quot;newf1s1&quot;: {\r
-            &quot;content&quot;: &quot;test&quot;,\r
-            &quot;width&quot;: 61,\r
-            &quot;height&quot;: 43,\r
-            &quot;top_offset&quot;: 10,\r
-            &quot;left_offset&quot;: 10\r
-          }\r
-        }\r
-      }\r
-    }\r
-  },\r
-  &quot;auth_token&quot;: &quot;XXXXXXXXXXXXXXXX&quot;\r
-}\r
-</pre></p><h3 id="h3-.E3.83.8D.E3.82.B9.E3.83.88.E3.81.97.E3.81.9F.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E6.9B.B4.E6.96.B0">ネストしたデータの更新</h3><p>あるコマのセリフを変更したいとする。セリフはspeachなのでspeaches経由で更新したいところだが、ぺったんの仕様はコマ全体で更新することになっているので、speachesのAPIは用意されていない。コマの変更はpanel経由で行う。このとき、jsonデータでは、どのように変更対象のセリフを指示するのだろうか。\r
-</p><p>結論としてはidをデータに含めて指定する。例えば、セリフのidが3のときは次のようになる。\r
-</p><pre>{\r
-  &quot;panel&quot;: {\r
-    &quot;balloons_attributes&quot;: {\r
-      &quot;b2&quot;: {\r
-        &quot;id&quot;: 2,\r
-        &quot;speaches_attributes&quot;: {\r
-          &quot;s3&quot;: {\r
-            &quot;id&quot;: 3,\r
-            &quot;content&quot;: &quot;modify&quot;\r
-          }\r
-        }\r
-      }\r
-    }\r
-  },\r
-  &quot;auth_token&quot;: &quot;XXXXXXXXXXXXXXXX&quot;\r
-}\r
-</pre><p>idが指定されていないと新規追加となってしまう。\r
-</p><h3 id="h3-.E3.83.8D.E3.82.B9.E3.83.88.E3.81.97.E3.81.9F.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E5.89.8A.E9.99.A4">ネストしたデータの削除</h3><p>削除する場合、更新のときと同じようにidを指定しつつ_destroyにフラグを立てる。例えば、idが2のフキダシをコマから削除する場合、次のようにする。\r
-</p><pre>{\r
-  &quot;panel&quot;: {\r
-    &quot;balloons_attributes&quot;: {\r
-      &quot;b2&quot;: {\r
-        &quot;id&quot;: 2,\r
-        &quot;_destroy&quot;: 1\r
-      }\r
-    }\r
-  },\r
-  &quot;auth_token&quot;: &quot;XXXXXXXXXXXXXXXX&quot;\r
-}\r
-</pre><h2 id="h2-.E7.94.BB.E5.83.8F.E3.81.AE.E6.8A.95.E7.A8.BF">画像の投稿</h2><p>auth_tokenを含みながらのファイル送信がよくわからん。いろんなパターンで試してみたが素直にはいかなかった。苦肉の策が画像データを一度Base64でエンコードしたものをテキストとして送信すること。次の例は当然エンコードテキストは省略されている。\r
-<pre>{\r
-  &quot;original_picture&quot;: {\r
-    &quot;file&quot;: \r
-&quot;iVBORw0KGgoAAAANSUhEUgAAAWIAAAF7CAYAAADohYEpAAAcW0lEQVR4nO3d\r
-  :\r
-  :\r
-ghgAlP0/Bxl7hN5Zu0EAAAAASUVORK5CYII=\r
-&quot;\r
-  },\r
-  &quot;auth_token&quot;: &quot;XXXXXXXXXXXXXXXX&quot;\r
-}\r
-</pre></p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist">\r
-    <title>GuidanceForArtist</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist</link>\r
-    <dc:identifier>GuidanceForArtist</dc:identifier>\r
-\r
-    <dc:date>2011-12-23T17:08:22+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 絵師さん向け文書?\r
-== 絵師の役割\r
-== 絵師になるには\r
-== 絵のライセンス\r
-\r
-== 絵の活用\r
-ぺったんは投稿された画像を次のように扱います\r
- * 画像をサーバ内のディスクスペースに保存します\r
-   * この画像を原画と言います\r
- * 原画を縮小・反転などの加工を施したものをサーバ内のディスクスペースに保存します\r
-   * これらの画像を素材と言います\r
-   * 原画]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E7.B5.B5.E5.B8.AB.E3.81.95.E3.82.93.E5.90.91.E3.81.91.E6.96.87.E6.9B.B8.EF.BC.9F">絵師さん向け文書?</h1><h2 id="h2-.E7.B5.B5.E5.B8.AB.E3.81.AE.E5.BD.B9.E5.89.B2">絵師の役割</h2><h2 id="h2-.E7.B5.B5.E5.B8.AB.E3.81.AB.E3.81.AA.E3.82.8B.E3.81.AB.E3.81.AF">絵師になるには</h2><h2 id="h2-.E7.B5.B5.E3.81.AE.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">絵のライセンス</h2><h2 id="h2-.E7.B5.B5.E3.81.AE.E6.B4.BB.E7.94.A8">絵の活用</h2><p>ぺったんは投稿された画像を次のように扱います\r
-</p><ul><li>画像をサーバ内のディスクスペースに保存します\r
-<ul><li>この画像を原画と言います\r
-</li></ul></li><li>原画を縮小・反転などの加工を施したものをサーバ内のディスクスペースに保存します\r
-<ul><li>これらの画像を素材と言います\r
-</li><li>原画が反転禁止のライセンスを採用しているときは反転画像を保存しません\r
-</li></ul></li><li>素材は作家がコマ上に添付されます\r
-<ul><li>利用するコマエディタの\r
-</li></ul></li></ul><p>コマ上での扱い\r
-</p><ul><li><ul><li>原画が拡縮禁止のライセンスを採用しているときは拡縮画像を保存しません\r
-<ul><li>ただし、サムネイル画像のサイズに収まらない画像については縮小して表示します\r
-</li></ul></li></ul></li></ul><p>素材→コマ絵\r
-</p><h2 id="h2-.E9.85.8D.E5.B8.83.E3.81.AE.E5.81.9C.E6.AD.A2">配布の停止</h2><h2 id="h2-.E7.B4.A0.E6.9D.90.E3.82.B5.E3.83.BC.E3.83.90">素材サーバ</h2>]]>\r
-    </content:encoded>\r
-      </item>\r
-\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForAuthor">\r
-    <title>GuidanceForAuthor</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/GuidanceForAuthor</link>\r
-    <dc:identifier>GuidanceForAuthor</dc:identifier>\r
-    <dc:date>2011-12-23T16:48:50+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 作家さん向け文書?\r
-== 作家とは\r
-ぺったんサーバが提供する素材とフキダシを利用して漫画状のコマを作ることで表現する人を作家と言います。\r
-\r
-作家となるには、サイトへの登録が必要です。\r
-\r
-== 作家ができる表現\r
- * コマを作る\r
- * コミックを作る\r
- * コミックの配布範囲を決める\r
-=== コマを作る\r
-=== コミックを作る\r
-=== コミックの配布範囲を決める\r
-\r
-=]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E4.BD.9C.E5.AE.B6.E3.81.95.E3.82.93.E5.90.91.E3.81.91.E6.96.87.E6.9B.B8.EF.BC.9F">作家さん向け文書?</h1><h2 id="h2-.E4.BD.9C.E5.AE.B6.E3.81.A8.E3.81.AF">作家とは</h2><p>ぺったんサーバが提供する素材とフキダシを利用して漫画状のコマを作ることで表現する人を作家と言います。\r
-</p><p>作家となるには、サイトへの登録が必要です。\r
-</p><h2 id="h2-.E4.BD.9C.E5.AE.B6.E3.81.8C.E3.81.A7.E3.81.8D.E3.82.8B.E8.A1.A8.E7.8F.BE">作家ができる表現</h2><ul><li>コマを作る\r
-</li><li>コミックを作る\r
-</li><li>コミックの配布範囲を決める\r
-</li></ul><h3 id="h3-.E3.82.B3.E3.83.9E.E3.82.92.E4.BD.9C.E3.82.8B">コマを作る</h3><h3 id="h3-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E3.82.92.E4.BD.9C.E3.82.8B">コミックを作る</h3><h3 id="h3-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E3.81.AE.E9.85.8D.E5.B8.83.E7.AF.84.E5.9B.B2.E3.82.92.E6.B1.BA.E3.82.81.E3.82.8B">コミックの配布範囲を決める</h3><h2 id="h2-.E7.B4.A0.E6.9D.90.E3.82.92.E7.94.A8.E6.84.8F.E3.81.99.E3.82.8B">素材を用意する</h2><h3 id="h3-.E7.B4.A0.E6.9D.90.E3.81.AE.E5.89.8D.E3.81.AB.E7.B5.B5.E5.B8.AB.E7.99.BB.E9.8C.B2">素材の前に絵師登録</h3><p>作家は素材を投稿することができません。素材は絵師が投稿することになっています。なぜなら、ぺったんはあなたの素材を容易に他のぺったんサイトに提供できるようになっているからです。少々面倒な構成にはなっていますが、心配には及びません。絵師の登録はワンクリック程度で完了します。\r
-</p><p>登録に必要な情報は下記の項目です。\r
-</p><ul><li>ペンネーム デフォルトで作家名が設定されます\r
-</li><li>デフォルトのライセンス\r
-</li></ul><h3 id="h3-.E7.B4.A0.E6.9D.90.E3.81.AE.E6.8A.95.E7.A8.BF">素材の投稿</h3><p>絵師登録が完了すると、素材エクスプローラーに投稿フォームが現れます。\r
-</p><p>素材を投稿するにあたっての注意事項は<a href="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist">GuidanceForArtist</a>をご覧下さい。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/TranslationComicElements">\r
-    <title>TranslationComicElements</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/TranslationComicElements</link>\r
-\r
-    <dc:identifier>TranslationComicElements</dc:identifier>\r
-    <dc:date>2011-12-23T11:41:06+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= 資料・マンガ要素の日英対訳\r
- * コーディング中の命名や、国際化対応のための資料にする.\r
-\r
-== マンガの部品名の対訳\r
- * コママンガ(jp) - comic strip(en)\r
- * コマ(jp) - panel(en)\r
- * 枠線(jp) -(en)\r
- * 吹き出し(jp) - speach balloon, speach bubble(en)\r
- * ]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-.E8.B3.87.E6.96.99.E3.83.BB.E3.83.9E.E3.83.B3.E3.82.AC.E8.A6.81.E7.B4.A0.E3.81.AE.E6.97.A5.E8.8B.B1.E5.AF.BE.E8.A8.B3">資料・マンガ要素の日英対訳</h1><ul><li>コーディング中の命名や、国際化対応のための資料にする.\r
-</li></ul><h2 id="h2-.E3.83.9E.E3.83.B3.E3.82.AC.E3.81.AE.E9.83.A8.E5.93.81.E5.90.8D.E3.81.AE.E5.AF.BE.E8.A8.B3">マンガの部品名の対訳</h2><ul><li>コママンガ(jp) - comic strip(en)\r
-</li><li>コマ(jp) - panel(en)\r
-</li><li>枠線(jp) -(en)\r
-</li><li>吹き出し(jp) - speach balloon, speach bubble(en)\r
-</li><li></li></ul>]]>\r
-    </content:encoded>\r
-\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PictureIo">\r
-    <title>PictureIo</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PictureIo</link>\r
-    <dc:identifier>PictureIo</dc:identifier>\r
-    <dc:date>2011-12-23T11:28:56+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= PictureIO\r
-== 画像はPictureIOが出し入れする\r
-投稿された素材はデータベースではなく、ファイルに保管される。保管先は大抵の場合ローカルマシンになるが、herokuのようにローカルファイルを触れないホストもあるので、ファイルの入出力は柔軟に切り替わるようにPictureIOとして分離した。\r
-\r
-差し当たってローカルファイル用のLocalPictureIOとAmazonAW]]>\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<h1 id="h1-PictureIO">PictureIO</h1><h2 id="h2-.E7.94.BB.E5.83.8F.E3.81.AFPictureIO.E3.81.8C.E5.87.BA.E3.81.97.E5.85.A5.E3.82.8C.E3.81.99.E3.82.8B">画像はPictureIOが出し入れする</h2><p>投稿された素材はデータベースではなく、ファイルに保管される。保管先は大抵の場合ローカルマシンになるが、herokuのようにローカルファイルを触れないホストもあるので、ファイルの入出力は柔軟に切り替わるようにPictureIOとして分離した。\r
-</p><p>差し当たってローカルファイル用の<a href="http://sourceforge.jp/projects/pettanr/wiki/LocalPicture">LocalPicture</a>IOとAmazonAWS用の<a href="http://sourceforge.jp/projects/pettanr/wiki/S3Picture">S3Picture</a>IOの、二種類を用意した。\r
-</p><p>デフォルトでは、開発・テスト環境では<a href="http://sourceforge.jp/projects/pettanr/wiki/LocalPicture">LocalPicture</a>IOを使い、本番では<a href="http://sourceforge.jp/projects/pettanr/wiki/S3Picture">S3Picture</a>IOを使っている。当然ながら各自の環境に合わせて設定を変える必要がある。設定は下記のファイルを書き換える。\r
-<pre>config/environments/development.rb \r
-config/environments/production.rb\r
-</pre></p><h2 id="h2-LocalPictureIO"><a href="http://sourceforge.jp/projects/pettanr/wiki/LocalPicture">LocalPicture</a>IO</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/LocalPicture">LocalPicture</a>IOを使う場合は、config/environments/development.rb で、以下のように書く。\r
-<pre>require 'local_picture'\r
-PictureIO.setup do |config|\r
-  config.original_picture_io = PictureIO::LocalPicture.new '/pettanr/original/'\r
-  config.resource_picture_io = PictureIO::LocalPicture.new  '/pettanr/resource/'\r
-end\r
-</pre></p><p>これで原画は/pettanr/original/に保管され、素材は/pettanr/resource/に保管される。\r
-</p><p>※パス処理がショボいのでスラッシュの有無に大きな違いがある。あと、ディレクトリ掘ってないとコケる。\r
-</p><h2 id="h2-S3PictureIO"><a href="http://sourceforge.jp/projects/pettanr/wiki/S3Picture">S3Picture</a>IO</h2><p>AmazonAWSを使うなら、当然S3が使えるよう、準備しておく。Amazonからキーがもらえるので設定する。\r
-</p><p>まず、config/aws.yaml.orgをコピーする。\r
-<pre>cp config/aws.yaml.org config/aws.yaml\r
-</pre>コピーしたaws.yamlを編集。\r
-<pre>access_key_id: XXXXXXXXXXXXXXXXXXXX\r
-secret_access_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r
-</pre></p><p><a href="http://sourceforge.jp/projects/pettanr/wiki/S3Picture">S3Picture</a>IOを使う場合は、config/environments/production.rbで、以下のように書く。\r
-<pre>require 'aws/s3'\r
-require 'yaml'\r
-\r
-y = YAML.load(open(Rails.root + 'config/aws.yaml').read)\r
-AWS::S3::Base.establish_connection!(\r
-  :access_key_id =&gt; y[&quot;access_key_id&quot;], \r
-  :secret_access_key =&gt; y[&quot;secret_access_key&quot;]\r
-)\r
-require 's3_picture'\r
-PictureIO.setup do |config|\r
-  config.original_picture_io = PictureIO::S3Picture.new 'pettanr-original'\r
-  config.resource_picture_io = PictureIO::S3Picture.new 'pettanr-stable'\r
-end\r
-</pre>これで原画はpettanr-original/に保管され、素材はpettanr-stable/に保管される。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/RmagickAndDmagick">\r
-    <title>RmagickAndDmagick</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/RmagickAndDmagick</link>\r
-    <dc:identifier>RmagickAndDmagick</dc:identifier>\r
-    <dc:date>2011-12-23T10:53:11+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= RMagickとDMagick\r
-== 画像処理はRMagick\r
-絵師から預かった素材はRMagickで処理される。主にサムネイル画像の生成などで。\r
-\r
-== RMagickは案外地獄\r
-Windows環境では。\r
-\r
-コンパイラを持たずバイナリインストールしていると、大抵RMagickのインストールでコケる。\r
-\r
-= 仕方ないからDMagick\r
-RMagickなしでは丸で動かないので]]>\r
-    </description>\r
-    <content:encoded>\r
-\r
-      <![CDATA[<h1 id="h1-RMagick.E3.81.A8DMagick">RMagickとDMagick</h1><h2 id="h2-.E7.94.BB.E5.83.8F.E5.87.A6.E7.90.86.E3.81.AFRMagick">画像処理はRMagick</h2><p>絵師から預かった素材はRMagickで処理される。主にサムネイル画像の生成などで。\r
-</p><h2 id="h2-RMagick.E3.81.AF.E6.A1.88.E5.A4.96.E5.9C.B0.E7.8D.84">RMagickは案外地獄</h2><p>Windows環境では。\r
-</p><p>コンパイラを持たずバイナリインストールしていると、大抵RMagickのインストールでコケる。\r
-</p><h1 id="h1-.E4.BB.95.E6.96.B9.E3.81.AA.E3.81.84.E3.81.8B.E3.82.89DMagick">仕方ないからDMagick</h1><p>RMagickなしでは丸で動かないので、あたかもRMagickがあるかのように振る舞う空箱を用意した。それがDMagick。\r
-</p><p>デフォルトでは開発環境でDMagickを使うようにしてあるので、RMagickが使えるなら、config/environments/development.rbを書き換える。\r
-</p>]]>\r
-    </content:encoded>\r
-      </item>\r
-    </rdf:RDF>\r
index ffc2abb..8104652 100644 (file)
@@ -32,7 +32,9 @@
                        </title>\r
                        <link rel='index' title='index | pettanR' href='http://pettanr.sourceforge.jp/index.html' />\r
                        <link rel='start' title='pettanR' href='http://pettanr.sourceforge.jp/' />\r
-                       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css" />\r
                </head>\r
                <body>\r
                        <div id="general-content">\r
index fb6f6ef..8ef5ae9 100644 (file)
@@ -32,7 +32,9 @@
                        </title>\r
                        <link rel='index' title='index | pettanR' href='http://pettanr.sourceforge.jp/index.html' />\r
                        <link rel='start' title='pettanR' href='http://pettanr.sourceforge.jp/' />\r
-                       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css" />\r
                </head>\r
                <body>\r
                        <div id="general-content">\r
index a239b7e..6a7be56 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
 <title>pettanR</title>\r
 <!-- InstanceEndEditable -->\r
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" --><!-- InstanceEndEditable -->\r
 </body>\r
 <!-- InstanceEnd --></html>\r
index f8ad2fe..e3f47c2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * pettanR peta.apps.js
- *   version 0.5.5
+ *   version 0.5.8
  *   
  * author:
  *   itozyun
                                        if( l === 0) return;
                                        for( var i=0; i<l; ++i ){
                                                buildFileData( _json[ i], _data);
-                                       }                       
+                                       };
                                } else
                                if( _json.id ){
                                        buildFileData( _json, _data );
-                               }
+                               };
                                _file.dispatchEvent( FileAPI.createFileEvent( Const.FILE.EVENT.GET_SEQENTIAL_FILES, _file, 'children', null) );
-                       }
+                       };
                        function onErrorJson( _file ){ 
                                var _data = FileAPI.getFileData( _file);
                                if( _data !== null){
                                        _data.state = Const.FILE.STATE.ERROR;
-                               }
-                       }
+                               };
+                       };
                        function buildFileData( _data, _parent ){
                                var _array, i, l;
                                // Panel
                                                _rule,
                                                _Math_pow = Math.pow,
                                                _bits = 0;
-                                       if( typeof _license === 'object'){
+                                       if( typeof _license === 'object' ){
                                                for( i=0, l=BASIC_LICENSES.length; i<l; ++i ){
                                                        _rule = _license[ BASIC_LICENSES[ i]];
                                                        if( typeof _rule === 'number' && _rule === 1 ){
                                                                _bits += _Math_pow( 2, i );
-                                                       }
-                                               }
+                                                       };
+                                               };
                                                _data.license = _bits;
-                                       }
+                                       };
                                } else {
                                        alert( 'error' );
-                               }
+                               };
                                
                                _data.driver = Driver;
                                
                                } else
                                // Comic + Panels
                                if( _parent.type === FILE_TYPE.COMIC || _parent === FILE_DATA_COMICS_ROOT ){
-                                       var _panels = _data.panels,
+                                       var _panels = _data.stories,
                                                _panel;
                                        if( _panels && Type.isArray( _panels ) === true ){
                                                
-                                               for( i=0, l=_panels.length; i<l; ++i){
+                                               for( i=0, l=_panels.length; i<l; ++i ){
                                                        _panel = buildFileData( _panels[ i ], FILE_DATA_PANELS_ROOT );
                                                        /*
                                                         * 間違い! t 順に格納
                                                         */
                                                        addChildData( _data, _panel );
                                                };
-                                               delete _data.panels;
+                                               delete _data.stories;
                                        } else {
                                                if( _data.json !== null ){
                                                        _data.json = true;
                                                        if( _elm.resource_picture ){
                                                                _elm.resource_picture = buildFileData( _elm.resource_picture, FILE_DATA_PICTURE_ROOT ); // 上記参照切れに備えてここで上書き
                                                        } else {
-                                                               _elm.resource_picture = getResource( RESOURCE_PICTURE_ARRAY, _elm.resource_picture_id );
+                                                               _elm.resource_picture = getResource( RESOURCE_PICTURE_ARRAY, _elm.picture_id );
                                                        };
                                                };
                                        };
                                        };
                                };
                                return _data;
-                       }
+                       };
                        function addChildData( _parent, _child ){
                                if( Type.isArray( _parent.children ) === false){
                                        _parent.children = [];
                                        if( pettanr.CONST.SERVER_SUPPORT === false ){
                                                _json = [ 'json\/comics_', _data.id, '.json' ].join( '' );
                                        } else {
-                                               _json = [ pettanr.CONST.PETTANR_ROOT_PATH, 'comics\/', _data.id, '.json\/play\/' ].join( '' );
-                                       }
-                               }
+                                               _json = [ pettanr.CONST.PETTANR_ROOT_PATH, 'comics\/', _data.id, '.json' ].join( '' );
+                                       };
+                               };
                                if( typeof _json === 'string' ){
                                        FileAPI.getJson( _file, _json, onLoadJson, onErrorJson );
                                        _data.state = Const.FILE.STATE.LOADING;
                                        _data.json  = null;
                                        return;
-                               }
+                               };
                        };
                        this.getName = function( _file ){
                                var _data = FileAPI.getFileData( _file ),
                                        _type = _data !== null ? _data.type : null;
                                if( _type === FILE_TYPE.PICTURE ){
                                        return { image: [ pettanr.CONST.RESOURCE_PICTURE_PATH, 'thumbnail/', _data.id, '.', _data.ext ].join( '' )};
-                               }
+                               };
                                if( _data === FILE_DATA_COMICS_ROOT ){
                                        return { className: 'file-type-cabinet' };
-                               }
+                               };
                                if( _type === FILE_TYPE.COMIC ){
                                        return { className: 'file-type-comic' };
-                               }
+                               };
                                if( _type === FILE_TYPE.PANEL ){
                                        return { className: 'file-type-panel' };
-                               }
+                               };
                                if( _type === FILE_TYPE.AUTHOR ){
                                        return { className: 'file-type-author' };
-                               }
+                               };
                                if( _type === FILE_TYPE.ARTIST ){
                                        return { className: 'file-type-artist' };
-                               }
+                               };
                                if( _type === FILE_TYPE.FOLDER){
                                        return { className: 'file-type-folder' };
-                               }
+                               };
                                return { className: 'file-type-broken' };
                        };
                        this.getSummary = function( _file ){
                                        _type = _data !== null ? _data.type : null;
                                if( _type === FILE_TYPE.PICTURE ){
                                        return [ _data.width, 'x', _data.height, ', filesize:', _data.filesize, ', lisence:', _data.license ].join( '' );
-                               }
+                               };
                                if( _data === FILE_DATA_COMICS_ROOT ){
                                        return 'cabinet file';
-                               }
+                               };
                                if( _type === FILE_TYPE.COMIC ){
                                        return 'comic file, id:' + _data.id;
-                               }
+                               };
                                if( _type === FILE_TYPE.PANEL ){
                                        return [ _data.width, 'x', _data.height ].join( '' );
-                               }
+                               };
                                if( _type === FILE_TYPE.AUTHOR ){
                                        return 'author file, id:' + _data.id;
-                               }
+                               };
                                if( _type === FILE_TYPE.ARTIST ){
                                        return [ 'id:', _data.id, ' Email:', _data.email || 'empty' , ', HP:', _data.homepage_url || 'empty' ].join( '' );
-                               }
+                               };
                                if( _type === FILE_TYPE.FOLDER ){
                                        return 'pettanR folder';
-                               }
+                               };
                                return 'pettanR unknown file';
                        };
                        this.read = function( _file ){
                                        for( var key in _data ){
                                                ret[ key ] = _data[ key ]
                                        }
-                                       ret.panels = _data.children;
+                                       ret.stories = _data.children;
                                        return ret;
                                }
                                if( _type === FILE_TYPE.PANEL ){
-                               }
+                               };
                                if( _type === FILE_TYPE.PANEL_PICTURE ){
                                        
-                               }
+                               };
                                if( _type === FILE_TYPE.BALLOON ){
-                               }
+                               };
                                if( _type === FILE_TYPE.PICTURE ){
-                               }
+                               };
                        };
                        this.write = function( _file, _newData, _onUpdate ){
                                var _data = FileAPI.getFileData( _file ),
                                        _type = _data !== null ? _data.type : null;
                                if( _type === FILE_TYPE.COMIC ){
-                               }
+                               };
                                if( _type === FILE_TYPE.PANEL ){
-                               }
+                               };
                                if( _type === FILE_TYPE.PANEL_PICTURE ){
                                        
-                               }
+                               };
                                if( _type === FILE_TYPE.BALLOON ){
-                               }
+                               };
                                if( _type === FILE_TYPE.PICTURE ){
-                               }                               
+                               };
                        };
                        this.viewerApplicationList = function( _file ){
                                var _data = FileAPI.getFileData( _file ),
                                        _type = _data !== null ? _data.type : null;
                                if( _type === FILE_TYPE.PANEL ){
                                        return [ Reader ];
-                               }
+                               };
                                if( _type === FILE_TYPE.COMIC ){
                                        return [ Reader ];
-                               }       
+                               };
                                if( _data === FILE_DATA_MY_PICTURES_ROOT ){
                                        return [ PremiumSatge ];
-                               }
+                               };
                                if( _type === FILE_TYPE.ARTIST ){
                                        return [ PremiumSatge ];
-                               }
+                               };
                                return [];
                        };
                        this.editorApplicationList = function( _file ){
@@ -481,7 +481,7 @@ var Cabinet = gOS.registerApplication( function(){
                        '<div id="cabinet-container" class="finder-container"></div>'
                ].join( '' );
                
-               self.fetchCSS( 'stylesheets/peta.apps.css' );
+               self.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
                
                tree   = FileAPI.createTree( FILE_DATA_SERVICE_ROOT );
                
@@ -521,7 +521,7 @@ var Gallery = gOS.registerApplication( function(){
                        '<div id="gallery-container" class="finder-container"></div>'
                ].join( '' );
                
-               self.fetchCSS( 'stylesheets/peta.apps.css' );
+               self.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
                
                tree = FileAPI.createTree( FILE_DATA_PICTURE_ROOT );
                var     _root  = tree.getRootFile(),
@@ -775,7 +775,7 @@ var PremiumSatge = gOS.registerApplication( function(){
                                '<div id="image-group-button" class="button">close</div>'
                        ].join( '' );
                        
-                       self.fetchCSS( 'stylesheets/peta.apps.css' );
+                       self.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
                        
                        tree      = FileAPI.createTree( FILE_DATA_ARTIST_ROOT );
                        rootFile  = tree.getRootFile();
@@ -1034,7 +1034,6 @@ var Reader = gOS.registerApplication( function(){
                } else {
                        
                };
-
                if( comicData !== null ){
                        elmTitle.data  = title;
                        elmAuthor.data = author;
@@ -1070,7 +1069,7 @@ var Reader = gOS.registerApplication( function(){
                        '</div>'
                ].join( '' );
                
-               self.fetchCSS( 'stylesheets/peta.apps.css' );
+               self.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
                
        };
        this.onOpen = function( _w, _h, _file ){
@@ -1521,7 +1520,24 @@ var Editor = gOS.registerApplication( function(){
                
                function quit(){
                        Editor.shutdown();
-               }
+               };
+               function onSave(){
+                       var model = Model.createPanel( {
+                               comicID           : comicID,
+                               panelID           : panelID,
+                               panelTimming      : panelTimming,
+                               panelW            : PANEL_CONTROL.w,
+                               panelH            : PANEL_CONTROL.h,
+                               borderSize        : 2,
+                               panelElementArray : PANEL_ELEMENT_ARRAY
+                       } );
+                       PanelConsole.boot( model.getJsonPostString().replace( /\n/g, '' ) );
+                       model.destroy();
+               };
+               function onSaveQuit(){
+                       // Editor.shutdown();
+                       onSave();
+               };
                function onExport(){
                        OutputConsole.boot(
                                comicID, panelID, panelTimming,
@@ -1529,14 +1545,14 @@ var Editor = gOS.registerApplication( function(){
                                2, // border, BackgroundImage
                                PANEL_ELEMENT_ARRAY
                        );
-               }
+               };
                return {
                        init: function(){
                                delete SAVE_CONTROL.init;
                        },
                        open: function(){
-                               save     = MENU_BAR_CONTROL.QUIT.createOption( 'save', 'ctrl + S', quit, false );
-                               saveQuit = MENU_BAR_CONTROL.QUIT.createOption( 'save & quit', null, quit, false, false, true );
+                               save     = MENU_BAR_CONTROL.QUIT.createOption( 'save', 'ctrl + S', onSave, false );
+                               saveQuit = MENU_BAR_CONTROL.QUIT.createOption( 'save & quit', null, onSaveQuit, false, false, true );
                                eXport   = MENU_BAR_CONTROL.QUIT.createOption( 'export', null, onExport, true, false, true );
                                quit     = MENU_BAR_CONTROL.QUIT.createOption( 'quit', null, quit, true, true );                                
                                
@@ -2029,9 +2045,8 @@ var Editor = gOS.registerApplication( function(){
                                        });
                                },
                                update: function( currentElement ){
-                                       
-                                       if( currentLock === true && currentElement === null) return;
-                                       
+                                       if( currentLock === true && currentElement === null ) return;
+
                                        var _elementType = currentElement === null ? -1 : currentElement.type,
                                                x = currentElement !== null ? currentElement.x : 0,
                                                y = currentElement !== null ? currentElement.y : 0,
@@ -2039,10 +2054,10 @@ var Editor = gOS.registerApplication( function(){
                                                a = _elementType === PANEL_ELEMENT_TYPE_TEXT ? Math.floor( currentElement.angle() ) : 0,
                                                w = currentElement !== null ? currentElement.w : 0,
                                                h = currentElement !== null ? currentElement.h : 0,
-                                               actualW = _elementType === PANEL_ELEMENT_TYPE_IMAGE ? currentElement.actualW() : 1,
-                                               actualH = _elementType === PANEL_ELEMENT_TYPE_IMAGE ? currentElement.actualH() : 1,
-                                               wPercent = _elementType === PANEL_ELEMENT_TYPE_IMAGE ? Math.floor( w / actualW *100 ) : 0,
-                                               hPercent = _elementType === PANEL_ELEMENT_TYPE_IMAGE ? Math.floor( h / actualH *100 ) : 0,
+                                               actualW    = _elementType === PANEL_ELEMENT_TYPE_IMAGE ? currentElement.actualW() : 1,
+                                               actualH    = _elementType === PANEL_ELEMENT_TYPE_IMAGE ? currentElement.actualH() : 1,
+                                               wPercent   = _elementType === PANEL_ELEMENT_TYPE_IMAGE ? Math.floor( w / actualW *100 ) : 0,
+                                               hPercent   = _elementType === PANEL_ELEMENT_TYPE_IMAGE ? Math.floor( h / actualH *100 ) : 0,
                                                keepAspect = currentElement !== null && currentElement.keepAspect === true;
                                        
                                        if( currentElementType !== _elementType ){
@@ -3967,7 +3982,7 @@ var Editor = gOS.registerApplication( function(){
                        '</div>'
                ].join( '' );
                
-               app.fetchCSS( 'stylesheets/peta.apps.css' );
+               app.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
                
                delete app.onInit;
        };
@@ -4115,7 +4130,7 @@ var ComicConsole = gOS.registerApplication( function(){
        var elmHeader, elmProgress,
                winW, winH,
                inputTitle, inputW, inputH,
-               comboboxVisible, comboboxEditable,
+               comboboxVisible, // comboboxEditable,
                buttonSubmit, buttonCancel,
                elmUploader = null,
                elmScript   = null,
@@ -4159,7 +4174,7 @@ var ComicConsole = gOS.registerApplication( function(){
                                        _select.selectedIndex = comboboxVisible.selectIndex();
                                } else
                                if( _name === 'comic[editable]'){
-                                       _select.selectedIndex = comboboxEditable.selectIndex();
+                                       // _select.selectedIndex = comboboxEditable.selectIndex();
                                };
                        };
                        try {
@@ -4189,6 +4204,12 @@ var ComicConsole = gOS.registerApplication( function(){
                        };
                                function onIframeUpdate(){
                                        elmIframe.onload = null;
+                                       try {
+                                               console.log( ( elmIframe.contentWindow || elmIframe.contentDocument.parentWindow ).document.body.innerHTML );
+                                       } catch(e){
+                                               
+                                       }
+                                       
                                        ( elmIframe.contentWindow || elmIframe.contentDocument.parentWindow ).close();
                                        elmIframe = null;
                                        elmProgress.innerHTML = 'success!';
@@ -4216,7 +4237,7 @@ var ComicConsole = gOS.registerApplication( function(){
                                                comboboxVisible.createOption( option.innerHTML, option.value, option.selected );
                                        } else
                                        if( select.name === 'comic[editable]' ){
-                                               comboboxEditable.createOption( option.innerHTML, option.value, option.selected );
+                                               // comboboxEditable.createOption( option.innerHTML, option.value, option.selected );
                                        };
                                };
                        };
@@ -4261,10 +4282,10 @@ var ComicConsole = gOS.registerApplication( function(){
                                        '<span class="field-label">Visible:</span>',
                                        '<span id="comic-console-visible-value" class="comic-console-value combobox"></span>',
                                '</div>',
-                               '<div id="comic-console-editable" class="field">',
-                                       '<span class="field-label">Editable:</span>',
-                                       '<span id="comic-console-editable-value" class="comic-console-value combobox"></span>',
-                               '</div>',
+                               //'<div id="comic-console-editable" class="field">',
+                               //      '<span class="field-label">Editable:</span>',
+                               //      '<span id="comic-console-editable-value" class="comic-console-value combobox"></span>',
+                               //'</div>',
                                '<div class="console-button-container">',
                                        '<div id="comic-console-post-button" class="button console-submit-button">create</div>',
                                        '<div id="comic-console-cancel-button" class="button console-cancel-button">cancel</div>',
@@ -4273,7 +4294,7 @@ var ComicConsole = gOS.registerApplication( function(){
                        '</div>'
                ].join( '' );
                
-               instance.fetchCSS( 'stylesheets/peta.apps.css' );
+               instance.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
                
                delete instance.onInit;
        };
@@ -4284,7 +4305,7 @@ var ComicConsole = gOS.registerApplication( function(){
                inputW           = ui.createInputText( document.getElementById( 'comic-console-width') );
                inputH           = ui.createInputText( document.getElementById( 'comic-console-height') );
                comboboxVisible  = ui.createCombobox( document.getElementById( 'comic-console-visible') );
-               comboboxEditable = ui.createCombobox( document.getElementById( 'comic-console-editable') );
+               // comboboxEditable = ui.createCombobox( document.getElementById( 'comic-console-editable') );
                buttonSubmit     = ui.createButton( document.getElementById( 'comic-console-post-button'), clickOK );
                buttonCancel     = ui.createButton( document.getElementById( 'comic-console-cancel-button'), clickCancel );
                
@@ -4432,7 +4453,7 @@ var UploadConsole = gOS.registerApplication( function(){
                        '</div>'
                ].join( '' );
                
-               instance.fetchCSS( 'stylesheets/peta.apps.css' );
+               instance.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
                
                delete instance.onInit;
        }
@@ -4469,147 +4490,6 @@ var UploadConsole = gOS.registerApplication( function(){
        }
 }, true, true, 'Upload Console', 'uploadConsole', null, '#01A31C' );
 
-var PanelConsole = gOS.registerApplication( function(){
-       var windowW, windowH,
-               TARGET_FRAME_NAME = 'targetFrameCreateNewPanel',
-               elmContainer, elmProgress,
-               elmScript = null,
-               elmForm = null,
-               elmIframe = null,
-               isUploading = false,
-               instance = this;
-       /*
-        * upload ボタンが押されたらまず iframe をつくる.
-        */
-       function clickOK(){
-               if( !elmForm || !elmIframe || isUploading === true ) return false;
-               elmProgress.innerHTML = 'uploading.';
-               isUploading = true;
-               submit();
-               return false;
-       }
-       /*
-        * form の target に iframe を指定したのち submit();
-        */
-               function submit(){
-                       try {
-                               elmForm.submit();
-                       } catch( e ){
-                               elmProgress.innerHTML = 'submit() err..';
-                               isUploading = false;
-                               instance.addTimer( clickCancel , 3000, true );
-                               return;
-                       }
-                       
-                       if( UA.isIE ){
-                               elmIframe.onreadystatechange = detectIframe;
-                       } else {
-                               elmIframe.onload = onLoad;
-                       }
-                       elmProgress.innerHTML = 'uploading..';
-               }
-       /*
-        * ie の 場合、readyState をチェック.
-        */
-                       function detectIframe(){
-                   if ( elmIframe.readyState === 'complete' ){
-                       elmIframe.onreadystatechange = new Function();
-                       elmIframe.onreadystatechange = null;
-                       onLoad();
-                   };
-                       };
-                               function onLoad(){
-                                       elmIframe.onload = null;
-                                       ( elmIframe.contentWindow || elmIframe.contentDocument.parentWindow ).close();
-                                       elmProgress.innerHTML = 'success!';
-                                       instance.addTimer( clickCancel , 1000, true );
-                                       isUploading = false;
-                               };
-       
-       function detectForm(){
-               elmForm = elmContainer.getElementsByTagName( 'form' )[ 0 ];
-               if( elmForm){
-                       var _inputList = elmForm.getElementsByTagName( 'input' ),
-                               _input;
-                       for( var i = _inputList.length; i; ){
-                               _input = _inputList[ --i ];
-                               if( _input.type === 'submit' ){
-                                       _input.style.display = 'none';
-                               };
-                       };
-                       instance.removeTimer( detectForm );
-                       Util.createIframe( TARGET_FRAME_NAME, onCreateIframe );
-                       elmProgress.innerHTML = 'create iframe';
-               };
-       };
-       function onCreateIframe( _iframe ){
-               elmContainer.appendChild( _iframe );
-               elmIframe = _iframe;
-               elmForm.target = _iframe.name;
-               elmProgress.innerHTML = '';
-               instance.onPaneResize( windowW, windowH );
-       };
-       function clickCancel(){
-               if( isUploading === true) return false;
-               PanelConsole.shutdown();
-               return false;
-       };
-
-       /* grobal method */
-       this.MIN_WIDTH   = 320;
-       this.MIN_HEIGHT  = 320;
-       this.onInit = function(){
-               instance.rootElement.id = 'panel-console-wrapper';
-               instance.rootElement.className = 'console-wrapper';
-               instance.rootElement.innerHTML = [
-                       '<div id="panel-console-header" class="console-header">Create New Panel (dev)</div>',
-                       '<div id="panel-console" class="console-inner">',
-                               '<div id="newpanel"></div>',
-                               '<div class="console-button-container">',
-                                       '<div id="panel-console-post-button" class="button console-submit-button">post</div>',
-                                       '<div id="panel-console-cancel-button" class="button console-cancel-button">cancel</div>',
-                               '</div>',
-                               '<div id="panel-console-progress" class="console-progress">&nbsp;</div>',
-                       '</div>'
-               ].join( '' );
-
-               instance.fetchCSS( 'stylesheets/peta.apps.css' );
-
-               delete instance.onInit;
-       }
-       this.onOpen = function( w, h ){
-               elmContainer = document.getElementById( 'newpanel' );
-               elmProgress  = document.getElementById( 'panel-console-progress' );
-               
-               instance.addMouseEventListener( document.getElementById( 'panel-console-post-button' ), 'click', clickOK );
-               instance.addMouseEventListener( document.getElementById( 'panel-console-cancel-button' ), 'click', clickCancel );
-               /*
-                * ie 6, 7 で fadeIn 中の要素に appendChild すると クラッシュするので、document.body に追加.
-                */                             
-               elmScript = document.createElement( 'script' );
-               document.body.appendChild( elmScript );
-               elmScript.type = 'text\/javascript';
-               elmScript.src  = pettanr.CONST.CREATE_PANEL_JS;
-
-               instance.addTimer( detectForm, 250 );
-               instance.onPaneResize( w, h );
-               
-               elmProgress.innerHTML = 'loading form.';
-       };
-       this.onPaneResize = function( _windowW, _windowH ){
-               windowW = _windowW;
-               windowH = _windowH;
-               instance.rootElement.style.cssText = [
-                       'left:', Math.floor( ( _windowW - instance.rootElement.offsetWidth  ) /2 ), 'px;',
-                       'top:',  Math.floor( ( _windowH - instance.rootElement.offsetHeight ) /2 ), 'px;'
-               ].join( '' );
-       };
-       this.onClose = function(){
-               elmHeader = elmProgress = elmForm  = elmUploader = instance = null;
-               isUploading = false;
-       };
-}, true, true, 'Panel Console', 'panelConsole', null, '#603CBA' );
-
 var ArtistConsole = gOS.registerApplication( function(){
        var windowW, windowH,
                TARGET_FRAME_NAME = 'targetFrameRegisterArtist',
@@ -4714,7 +4594,7 @@ var ArtistConsole = gOS.registerApplication( function(){
                        '</div>'
                ].join( '' );
                
-               instance.fetchCSS( 'stylesheets/peta.apps.css' );
+               instance.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
                
                delete instance.onInit;
        };
@@ -4751,63 +4631,33 @@ var ArtistConsole = gOS.registerApplication( function(){
        };
 }, true, true, 'Artist Console', 'artistConsole', null, '#FFC40D' );
 
-var OutputConsole = gOS.registerApplication( function(){
-       var FORMAT_LIST = [ 'json[POST]', 'json[GET]', 'XML', 'HTML', 'XHTML', 'MT export', 'Blogger ATOM' ];
-       var elmOutputArea,
-               comboboxFormat, inputOption,
-               buttonGenerate, buttonClose,
-               windowW, windowH,
-               timing = 0,
-               comicID, panelID, panelTimming, panelW, panelH, borderSize, panelElementArray,
-               instance = this;
-       //pettanr.key.addKeyDownEvent( ID, 69, false, false, clickOK);
-       
-       function clickOK(){
-               OutputConsole.shutdown();
-       };
-
-       function getPanelElementByTiming(){
-               var i, l = panelElementArray.length;
-               while( timing < l * 2){
-                       for( i=0; i<l; ++i ){
-                               if( timing === panelElementArray[ i ].timing ){
-                                       ++timing;
-                                       return panelElementArray[ i ];
-                               }
-                       }
-                       ++timing;
-               }
-               return null;
-       };
-
-       function getAsHtmlString( isAbsoluteUrl, isXHTML ){
-               timing = 0;
-               
-               var HTML_ARRAY = [],
-                       l = panelElementArray.length,
-                       _panelElement;
 
-               while( HTML_ARRAY.length < l ){
-                       _panelElement = getPanelElementByTiming();
-                       if( _panelElement === null) break;
-                       HTML_ARRAY.push( panelElementToHtml( _panelElement, isAbsoluteUrl, isXHTML ));
+var Model = ( function(){
+       
+       var PanelModelClass = function( panel ){
+               var comicID           = panel.comicID,
+                       panelID           = panel.panelID,
+                       panelTimming      = panel.panelTimming,
+                       panelW            = panel.panelW,
+                       panelH            = panel.panelH,
+                       borderSize        = panel.borderSize,
+                       panelElementArray = panel.panelElementArray,
+                       timing            = 0;
+                       
+               function getPanelElementByTiming(){
+                       var i, l = panelElementArray.length;
+                       while( timing < l * 2 ){
+                               for( i=0; i<l; ++i ){
+                                       if( timing === panelElementArray[ i ].timing ){
+                                               // console.log( timing + ' , ' + panelElementArray[ i ].timing );
+                                               ++timing;
+                                               return panelElementArray[ i ];
+                                       };
+                               };
+                               ++timing;
+                       };
+                       return null;
                };
-
-               HTML_ARRAY.unshift(
-                       [
-                               '<div class="panel" ',
-                                       'style="',
-                                               'height:', panelH, 'px;',
-                                               'background-color:', ';',
-                                       '"',
-                               '>'
-                       ].join( '')
-               );              
-               HTML_ARRAY.push( '</div>');
-               
-               return HTML_ARRAY.join( pettanr.LINE_FEED_CODE_TEXTAREA);
-       };
-
                function panelElementToHtml( _panelElement, isAbsoluteUrl, isXHTML ){
                        var url;
                        if( _panelElement.type === 0 ){
@@ -4849,42 +4699,6 @@ var OutputConsole = gOS.registerApplication( function(){
                                ].join( '');                            
                        };
                };
-       
-       function getJsonGetString(){
-               timing = 0;
-               
-               var JSON_STRING_ARRAY = [],
-                       ELEMENT_ARRAY     = [],
-                       l                 = panelElementArray.length,
-                       cr                = pettanr.LINE_FEED_CODE_TEXTAREA,
-                       _panelElement;
-
-               while( ELEMENT_ARRAY.length <= l){
-                       _panelElement = getPanelElementByTiming();
-                       if( _panelElement === null ) break;
-                        
-                       ELEMENT_ARRAY.push( _panelElement.type === 0 ? getImageJsonGET( _panelElement ) : balloonToJson( _panelElement ));
-               };
-               return [
-                       '{', cr,
-                               '"panel": {', cr,
-                                       '"id": ',               panelID, ',', cr,
-                                   '"border": ',           borderSize, ',', cr,
-                                   '"comic_id": ',         comicID, ',', cr,
-                                   '"resource_picture_id": 1,', cr,
-                                       '"x": ',                0, ',', cr,
-                                       '"y": ',                0, ',', cr,
-                                       '"z": ',                0, ',', cr,
-                                       panelTimming !== -1 ? ( '"t": ' + panelTimming + ',' + cr ) : '',
-                                   '"width": ',            panelW, ',', cr,
-                                   '"height": ',           panelH, ',', cr,
-                                   '"panel_elements": [', cr,
-                                       ELEMENT_ARRAY.join( ',' + cr ), cr,
-                                   ']', cr,
-                               '}', cr,
-                       '}'
-               ].join( '' );
-       };
                function getImageJsonGET( _imageElement ){
                        var cr = pettanr.LINE_FEED_CODE_TEXTAREA;
                        return [
@@ -4902,63 +4716,22 @@ var OutputConsole = gOS.registerApplication( function(){
                                '}'
                        ].join( '');
                };
-       
-       function getJsonPostString(){
-               timing = 0;
-               
-               var JSON_STRING_ARRAY = [],
-                       IMAGE_ARRAY = [],
-                       BALLOON_ARRAY = [],
-                       l = panelElementArray.length,
-                       _panelElement,
-                       cr = pettanr.LINE_FEED_CODE_TEXTAREA;
-
-               while( IMAGE_ARRAY.length + BALLOON_ARRAY.length <= l){
-                       _panelElement = getPanelElementByTiming();
-                       if( _panelElement === null) break;
-                       _panelElement.type === 0 ? 
-                               IMAGE_ARRAY.push( [ '"new', timing, '": ', imageToJson( _panelElement ) ].join( '' )) :
-                               BALLOON_ARRAY.push( [ '"new', timing, '": ', balloonToJson( _panelElement ) ].join( '' ) );
-               };
-               return [
-                       '{', cr,
-                               '"panel": {', cr,
-                                       '"id": ',               panelID, ',', cr,
-                                   '"border": ',           borderSize, ',', cr,
-                                   '"comic_id": ',         comicID, ',', cr,
-                                   '"resource_picture_id": 1,', cr,
-                                       '"x": ',                0, ',', cr,
-                                       '"y": ',                0, ',', cr,
-                                       '"z": ',                0, ',', cr,
-                                       '"t": ',                                panelTimming, ',', cr,
-                                   '"width": ',            panelW, ',', cr,
-                                   '"height": ',           panelH, ',', cr,
-                                   '"panel_pictures_attributes": {', cr,
-                                       IMAGE_ARRAY.join( ',' + cr ), cr,
-                                   '},', cr,
-                                   '"balloons_attributes": {', cr,
-                                       BALLOON_ARRAY.join( ',' + cr ), cr,
-                                   '}', cr,
-                               '}', cr,
-                       '}'
-               ].join( '' );
-       };
-               function imageToJson( _imageElement ){
+               function imageToJson( _imageElement, _timing ){
                        var cr = pettanr.LINE_FEED_CODE_TEXTAREA;
                        return [
                                '{', cr,
-                                       '"resource_picture_id": ', _imageElement.resourcePicture().id, ',', cr,
-                                       '"x": ',                   _imageElement.x, ',', cr,
-                                       '"y": ',                   _imageElement.y, ',', cr,
-                                       '"z": ',                   _imageElement.z, ',', cr,
-                                       '"width": ',               _imageElement.flipH() * _imageElement.w, ',', cr,
-                                       '"height": ',              _imageElement.flipV() * _imageElement.h, ',', cr,
-                                       '"t": ',                   timing, cr,
+                                       '"picture_id": ', _imageElement.resourcePicture().id, ',', cr,
+                                       '"x": ',          _imageElement.x, ',', cr,
+                                       '"y": ',          _imageElement.y, ',', cr,
+                                       '"z": ',          _imageElement.z + 1, ',', cr,
+                                       '"t": ',          _timing, ',', cr,
+                                       '"width": ',      _imageElement.flipH() * _imageElement.w, ',', cr,
+                                       '"height": ',     _imageElement.flipV() * _imageElement.h, cr,
                                '}'
                        ].join( '');
                };
 
-               function balloonToJson( _textElement ){
+               function balloonToJson( _textElement, _timing ){
                        var cr = pettanr.LINE_FEED_CODE_TEXTAREA;
                        return [
                                '{', cr,
@@ -4968,8 +4741,8 @@ var OutputConsole = gOS.registerApplication( function(){
                                        '"tail": ',                _textElement.angle(), ',', cr,
                                        '"x": ',                   _textElement.x, ',', cr,
                                        '"y": ',                   _textElement.y, ',', cr,
-                                       '"z": ',                   _textElement.z, ',', cr,
-                                       '"t": ',                   timing, ',', cr,
+                                       '"z": ',                   _textElement.z + 1, ',', cr,
+                                       '"t": ',                   _timing, ',', cr,
                                        '"width": ',               _textElement.w, ',', cr,
                                        '"height": ',              _textElement.h, ',', cr,
                                        '"speeches_attributes": {', cr,
@@ -4985,18 +4758,151 @@ var OutputConsole = gOS.registerApplication( function(){
                                '}'
                        ].join( '');
                };
+                       
+               this.getJsonPostString = function(){
+                       timing = 0;
+                       
+                       var JSON_STRING_ARRAY = [],
+                               IMAGE_ARRAY       = [],
+                               BALLOON_ARRAY     = [],
+                               l = panelElementArray.length,
+                               _panelElement, n,
+                               cr = pettanr.LINE_FEED_CODE_TEXTAREA;
        
-       function clickGenerate(){
+                       while( IMAGE_ARRAY.length + BALLOON_ARRAY.length <= l ){
+                               _panelElement = getPanelElementByTiming();
+                               if( _panelElement === null) break;
+                               n = IMAGE_ARRAY.length + BALLOON_ARRAY.length;
+                               _panelElement.type === 0 ? 
+                                       IMAGE_ARRAY.push( [ '"new', n, '": ', imageToJson( _panelElement, n ) ].join( '' ) ) :
+                                       BALLOON_ARRAY.push( [ '"new', n, '": ', balloonToJson( _panelElement, n ) ].join( '' ) );
+                       };
+                       return [
+                               '{', cr,
+                                       //'"panel": {', cr,
+                                               //'"id": ',               panelID, ',', cr,
+                                           '"width": ',            panelW, ',', cr,
+                                           '"height": ',           panelH, ',', cr,
+                                           '"border": ',           borderSize, ',', cr,
+                                           // '"comic_id": ',         comicID, ',', cr,
+                                           // '"picture_id": 1,', cr,
+                                               '"x": ',                0, ',', cr,
+                                               '"y": ',                0, ',', cr,
+                                               '"z": ',                1, ',', cr,
+                                               // '"t": ',                             panelTimming, ',', cr,
+                                           '"panel_pictures_attributes": {', cr,
+                                               IMAGE_ARRAY.join( ',' + cr ), cr,
+                                           '},', cr,
+                                           '"speech_balloons_attributes": {', cr,
+                                               BALLOON_ARRAY.join( ',' + cr ), cr,
+                                           '}', cr,
+                                       //'}', cr,
+                               '}'
+                       ].join( '' );
+               };
+               this.getJsonGetString = function(){
+                       timing = 0;
+                       
+                       var JSON_STRING_ARRAY = [],
+                               ELEMENT_ARRAY     = [],
+                               l                 = panelElementArray.length,
+                               cr                = pettanr.LINE_FEED_CODE_TEXTAREA,
+                               _panelElement;
+       
+                       while( ELEMENT_ARRAY.length <= l){
+                               _panelElement = getPanelElementByTiming();
+                               if( _panelElement === null ) break;
+                                
+                               ELEMENT_ARRAY.push( _panelElement.type === 0 ? getImageJsonGET( _panelElement ) : balloonToJson( _panelElement ));
+                       };
+                       return [
+                               '{', cr,
+                                       //'"panel": {', cr,
+                                               //'"id": ',               panelID, ',', cr,
+                                           '"border": ',           borderSize, ',', cr,
+                                           // '"comic_id": ',         comicID, ',', cr,
+                                           // '"picture_id": 1,', cr,
+                                               '"x": ',                0, ',', cr,
+                                               '"y": ',                0, ',', cr,
+                                               '"z": ',                1, ',', cr,
+                                               // panelTimming !== -1 ? ( '"t": ' + panelTimming + ',' + cr ) : '',
+                                           '"width": ',            panelW, ',', cr,
+                                           '"height": ',           panelH, ',', cr,
+                                           '"panel_elements": [', cr,
+                                               ELEMENT_ARRAY.join( ',' + cr ), cr,
+                                           ']', cr,
+                                       //'}', cr,
+                               '}'
+                       ].join( '' );
+               };
+               this.getAsHtmlString = function( isAbsoluteUrl, isXHTML ){
+                       timing = 0;
+                       
+                       var HTML_ARRAY = [],
+                               l = panelElementArray.length,
+                               _panelElement;
+       
+                       while( HTML_ARRAY.length < l ){
+                               _panelElement = getPanelElementByTiming();
+                               if( _panelElement === null) break;
+                               HTML_ARRAY.push( panelElementToHtml( _panelElement, isAbsoluteUrl, isXHTML ));
+                       };
+       
+                       HTML_ARRAY.unshift(
+                               [
+                                       '<div class="panel" ',
+                                               'style="',
+                                                       'height:', panelH, 'px;',
+                                                       'background-color:', ';',
+                                               '"',
+                                       '>'
+                               ].join( '')
+                       );              
+                       HTML_ARRAY.push( '</div>');
+                       
+                       return HTML_ARRAY.join( pettanr.LINE_FEED_CODE_TEXTAREA );
+               };
+               this.destroy = function(){
+                       panel = panelElementArray = null;
+               };
+       };
+       
+       return {
+               createPanel: function( panelData ){
+                       return new PanelModelClass( panelData );
+               }
+       };
+} )();
+
+
+var OutputConsole = gOS.registerApplication( function(){
+       var FORMAT_LIST = [ 'json[POST]', 'json[GET]', 'XML', 'HTML', 'XHTML', 'MT export', 'Blogger ATOM' ];
+       var elmOutputArea,
+               comboboxFormat, inputOption,
+               buttonPost, buttonClose,
+               windowW, windowH,
+               timing   = 0,
+               comicID, panelID, panelTimming, panelW, panelH, borderSize, panelElementArray,
+               instance = this,
+               model    = null;
+       
+       function clickOK(){
+               OutputConsole.shutdown();
+       };
+
+       function formatUpdate(){
                var i = comboboxFormat.selectIndex(),
                        text = 'sorry...';
+               // buttonPost.enabled( false );
                if( i === 0 ){
-                       text = getJsonPostString();
+                       text = model.getJsonPostString();
+                       // buttonPost.enabled( true );
                } else
                if( i === 1 ){
-                       text = getJsonGetString();
+                       text = model.getJsonGetString();
                } else
                if( i === 3 ){
-                       text = getAsHtmlString( false, false );
+                       text = model.getAsHtmlString( false, false );
                } else {
                        
                };
@@ -5007,6 +4913,11 @@ var OutputConsole = gOS.registerApplication( function(){
                return false;
        };
        
+       function clickPost(){
+               // PanelConsole.boot( elmOutputArea.value );
+               return false;
+       }
+       
        /* grobal method */
        this.MIN_WIDTH   = 320;
        this.MIN_HEIGHT  = 320;
@@ -5025,14 +4936,14 @@ var OutputConsole = gOS.registerApplication( function(){
                                        '<span id="output-console-option-value" class="output-console-value editable-value">absolute-path</span>',
                                '</div>',
                                '<div id="output-console-button-container" class="clearfix">',
-                                       '<div id="output-console-generate-button" class="button console-submit-button">generate</div>',
+                                       // '<div id="output-console-post-button" class="button console-submit-button">post</div>',
                                        '<div id="output-console-close-button" class="button console-cancel-button">close</div>',
                                '</div>',
                                '<textarea id="output-area" readonly></textarea>',
                        '</div>'
                ].join( '' );
 
-               instance.fetchCSS( 'stylesheets/peta.apps.css' );
+               instance.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
 
                delete instance.onInit;
        };
@@ -5040,25 +4951,27 @@ var OutputConsole = gOS.registerApplication( function(){
                elmOutputArea = document.getElementById( 'output-area' );
                
                var ui = instance.createUIGroup();
-               comboboxFormat = ui.createCombobox( document.getElementById( 'output-console-format' ), clickGenerate );
+               comboboxFormat = ui.createCombobox( document.getElementById( 'output-console-format' ), formatUpdate );
                
                for( var i=0; FORMAT_LIST[ 0 ]; ++i ){
                        comboboxFormat.createOption( FORMAT_LIST.shift(), null, i === 0 );
                };
                inputOption    = ui.createInputText( document.getElementById( 'output-console-option' ), null );
-               buttonGenerate = ui.createButton( document.getElementById( 'output-console-generate-button' ), clickGenerate );
+               // buttonPost     = ui.createButton( document.getElementById( 'output-console-post-button' ), clickPost );
                buttonClose    = ui.createButton( document.getElementById( 'output-console-close-button' ), clickClose );
                instance.onPaneResize( _w, _h );
                
-               comicID           = _comicID;
-               panelID           = _panelID;
-               panelTimming      = _panelTimming;
-               panelW            = _panelW;
-               panelH            = _panelH;
-               borderSize        = _borderSize;
-               panelElementArray = _panelElementArray;
+               model = Model.createPanel( {
+                       comicID           : _comicID,
+                       panelID           : _panelID,
+                       panelTimming      : _panelTimming,
+                       panelW            : _panelW,
+                       panelH            : _panelH,
+                       borderSize        : _borderSize,
+                       panelElementArray : _panelElementArray
+               } );
                
-               clickGenerate();
+               formatUpdate();
        };
        this.onPaneResize = function( _windowW, _windowH ){
                windowW = _windowW;
@@ -5070,8 +4983,163 @@ var OutputConsole = gOS.registerApplication( function(){
        };
        this.onClose = function(){
                elmOutputArea.value = '';
-               elmOutputArea = comboboxFormat = inputOption = buttonGenerate = buttonClose = panelElementArray = instance = null;
+               model.destroy();
+               elmOutputArea = comboboxFormat = inputOption = buttonPost = buttonClose = panelElementArray = instance = model = null;
        };
 }, true, false, 'Output Console', 'outputConsole', null, '#2D89F0' );
 
+
+var PanelConsole = gOS.registerApplication( function(){
+       var windowW, windowH,
+               TARGET_FRAME_NAME = 'targetFrameCreateNewPanel',
+               elmContainer, elmProgress,
+               elmScript = null,
+               elmForm = null,
+               elmIframe = null,
+               isUploading = false,
+               instance = this,
+               json;
+       /*
+        * upload ボタンが押されたらまず iframe をつくる.
+        */
+       function clickOK(){
+               if( !elmForm || !elmIframe || isUploading === true ) return false;
+               elmProgress.innerHTML = 'uploading.';
+               isUploading = true;
+               submit();
+               return false;
+       }
+       /*
+        * form の target に iframe を指定したのち submit();
+        */
+               function submit(){
+                       try {
+                               elmForm.submit();
+                       } catch( e ){
+                               elmProgress.innerHTML = 'submit() err..';
+                               isUploading = false;
+                               instance.addTimer( clickCancel , 3000, true );
+                               return;
+                       }
+                       
+                       if( UA.isIE ){
+                               elmIframe.onreadystatechange = detectIframe;
+                       } else {
+                               elmIframe.onload = onLoad;
+                       }
+                       elmProgress.innerHTML = 'uploading..';
+               }
+       /*
+        * ie の 場合、readyState をチェック.
+        */
+                       function detectIframe(){
+                   if ( elmIframe.readyState === 'complete' ){
+                       elmIframe.onreadystatechange = new Function();
+                       elmIframe.onreadystatechange = null;
+                       onLoad();
+                   };
+                       };
+                               function onLoad(){
+                                       try {
+                                               console.log( ( elmIframe.contentWindow || elmIframe.contentDocument.parentWindow ).document.body.innerHTML );
+                                       } catch(e){
+                                               
+                                       }
+                                       elmIframe.onload = null;
+                                       ( elmIframe.contentWindow || elmIframe.contentDocument.parentWindow ).close();
+                                       elmProgress.innerHTML = 'success!';
+                                       instance.addTimer( clickCancel , 1000, true );
+                                       isUploading = false;
+                               };
+       
+       function detectForm(){
+               elmForm = elmContainer.getElementsByTagName( 'form' )[ 0 ];
+               if( elmForm){
+                       var _inputList = elmForm.getElementsByTagName( 'input' ),
+                               _input;
+                       for( var i = _inputList.length; i; ){
+                               _input = _inputList[ --i ];
+                               if( _input.type === 'submit' ){
+                                       _input.style.display = 'none';
+                               };
+                               if( _input.name === 'json' && Type.isString( json ) === true ){
+                                       _input.value = json;
+                               };
+                       };
+                       instance.removeTimer( detectForm );
+                       Util.createIframe( TARGET_FRAME_NAME, onCreateIframe );
+                       elmProgress.innerHTML = 'create iframe';
+               };
+       };
+       function onCreateIframe( _iframe ){
+               elmContainer.appendChild( _iframe );
+               elmIframe = _iframe;
+               elmForm.target = _iframe.name;
+               elmProgress.innerHTML = '';
+               instance.onPaneResize( windowW, windowH );
+       };
+       function clickCancel(){
+               if( isUploading === true) return false;
+               PanelConsole.shutdown();
+               return false;
+       };
+
+       /* grobal method */
+       this.MIN_WIDTH   = 320;
+       this.MIN_HEIGHT  = 320;
+       this.onInit = function(){
+               instance.rootElement.id = 'panel-console-wrapper';
+               instance.rootElement.className = 'console-wrapper';
+               instance.rootElement.innerHTML = [
+                       '<div id="panel-console-header" class="console-header">Create New Panel (dev)</div>',
+                       '<div id="panel-console" class="console-inner">',
+                               '<div id="newpanel"></div>',
+                               '<div class="console-button-container">',
+                                       '<div id="panel-console-post-button" class="button console-submit-button">post</div>',
+                                       '<div id="panel-console-cancel-button" class="button console-cancel-button">cancel</div>',
+                               '</div>',
+                               '<div id="panel-console-progress" class="console-progress">&nbsp;</div>',
+                       '</div>'
+               ].join( '' );
+
+               instance.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
+
+               delete instance.onInit;
+       }
+       this.onOpen = function( w, h, _json ){
+               elmContainer = document.getElementById( 'newpanel' );
+               elmProgress  = document.getElementById( 'panel-console-progress' );
+               
+               instance.addMouseEventListener( document.getElementById( 'panel-console-post-button' ), 'click', clickOK );
+               instance.addMouseEventListener( document.getElementById( 'panel-console-cancel-button' ), 'click', clickCancel );
+               /*
+                * ie 6, 7 で fadeIn 中の要素に appendChild すると クラッシュするので、document.body に追加.
+                */                             
+               elmScript = document.createElement( 'script' );
+               document.body.appendChild( elmScript );
+               elmScript.type = 'text\/javascript';
+               elmScript.src  = pettanr.CONST.CREATE_PANEL_JS;
+
+               instance.addTimer( detectForm, 250 );
+               instance.onPaneResize( w, h );
+               
+               json = _json;
+               
+               elmProgress.innerHTML = 'loading form.';
+       };
+       this.onPaneResize = function( _windowW, _windowH ){
+               windowW = _windowW;
+               windowH = _windowH;
+               instance.rootElement.style.cssText = [
+                       'left:', Math.floor( ( _windowW - instance.rootElement.offsetWidth  ) /2 ), 'px;',
+                       'top:',  Math.floor( ( _windowH - instance.rootElement.offsetHeight ) /2 ), 'px;'
+               ].join( '' );
+       };
+       this.onClose = function(){
+               elmHeader = elmProgress = elmForm  = elmUploader = instance = null;
+               isUploading = false;
+       };
+}, true, true, 'Panel Console', 'panelConsole', null, '#603CBA' );
+
+
 })( pettanr, gOS, window );
index 9bc5f04..32a922b 100644 (file)
@@ -1,8 +1,11 @@
 /*\r
- * pettanR common.js\r
- *   version 0.4.37\r
+ * pettanR peta.common.js\r
+ *   version 0.5.6\r
  * \r
- * author: itozyun\r
+ *   author:\r
+ *     itozyun\r
+ *   licence:\r
+ *     3-clause BSD\r
  */\r
 \r
 var pettanr = ( function(){\r
@@ -37,7 +40,7 @@ var pettanr = ( function(){
                })(),\r
                IS_DEBUG = Type.isBoolean( URL_PARAMS.debug ) ? URL_PARAMS.debug : IS_LOCAL === true;\r
        return {\r
-               version: '0.5.0',\r
+               version: '0.5.5',\r
                URL_PARAMS: URL_PARAMS,\r
                LOCAL: IS_LOCAL,\r
                DEBUG: IS_DEBUG,\r
@@ -64,7 +67,7 @@ pettanr.CONST = ( function(){
                                        return a ? a.href : '';\r
                                }\r
                                return '';\r
-                       }\r
+                       };\r
                        var loc = document.location;\r
                        return [ loc.protocol, '\/\/', loc.host, '\/' ].join( '' );\r
                })(),\r
@@ -76,7 +79,7 @@ pettanr.CONST = ( function(){
                                l    = path.split( '\/' ).length - PETTANR_ROOT_PATH.split( '\/' ).length;\r
                        for( var i=0; i<l; ++i ){\r
                                ret += '..\/';\r
-                       }\r
+                       };\r
                        return ret;\r
                })();\r
                \r
@@ -93,8 +96,8 @@ pettanr.CONST = ( function(){
                CREATE_PANEL_JS:                        SERVER_SUPPORT === false ? 'js\/create_new_panel.js' : PETTANR_ROOT_PATH + 'panels\/new.js',\r
                UPLOAD_PICTURE_JS:                      SERVER_SUPPORT === false ? 'js\/upload_picture.js' : PETTANR_ROOT_PATH + 'original_pictures\/new.js',\r
                REGISTER_ARTIST_JS:                     SERVER_SUPPORT === false ? 'js\/register_artist.js' : PETTANR_ROOT_PATH + 'artists\/new.js',\r
-               JQUERY_URL:                                     SERVER_SUPPORT === false ? 'javascripts\/jquery-1.6.2.min.js' : PETTANR_ROOT_PATH + 'assets\/jquery-162_min.js',\r
-               SERVER_SUPPORT:                         SERVER_SUPPORT\r
+               SERVER_SUPPORT:                         SERVER_SUPPORT,\r
+               URL_PETA_APPS_CSS:                      ( SERVER_SUPPORT === false ? 'stylesheets' : '\/assets' ) + '\/peta.apps.css'\r
        }\r
 })();\r
 \r
@@ -642,29 +645,29 @@ pettanr.bind = ( function(){
                        _ieroot = _quirks ? "body" : "documentElement";\r
                        _root = opt_elmCheck ? opt_elmCheck : ( _ie ? document[_ieroot] : window);\r
 \r
-               function getInnerSize() {\r
+               function getInnerSize(){\r
                        return {\r
                                w: _root.innerWidth  || _root.clientWidth,\r
                                h: _root.innerHeight || _root.clientHeight\r
                        };\r
-               }\r
+               };\r
 \r
-               function loop() {\r
+               function loop(){\r
                        if (!_globalLock++) {\r
                                var size = getInnerSize();\r
                                if (_size.w !== size.w || _size.h !== size.h) { // resized\r
                                        _size = size; // update\r
                                        onResizeFunction( _size );\r
-                               }\r
+                               };\r
                                setTimeout( unlock, 0); // delay unlock\r
-                       }\r
+                       };\r
                        setTimeout(loop, 500);\r
-               }\r
+               };\r
                function unlock(){\r
                        _globalLock = 0;\r
-               }\r
+               };\r
                loop();\r
-       }\r
+       };\r
        \r
        \r
        var ElementBuilderClass = function( elmTarget, noClassnameMode ){\r
@@ -673,7 +676,7 @@ pettanr.bind = ( function(){
                \r
                function buildComicElement(){\r
                        \r
-               }\r
+               };\r
                \r
                function buildPanelElement( json, zoom ){\r
                        var _elmPanel = document.createElement( 'div' ),\r
@@ -686,6 +689,8 @@ pettanr.bind = ( function(){
                                _comicElements = json.panel_elements || [],\r
                                _comicElement, _elmImg, _rImg, _rPic,\r
                                _balloon, _elmBalloonWrap, _elmText, _text, _speechesAttributes, _key;\r
+                       elmTarget.appendChild( _elmPanel );\r
+                       \r
                        if( noClassnameMode === true ){\r
                                \r
                        } else {\r
@@ -694,8 +699,7 @@ pettanr.bind = ( function(){
                        for( var _key in _style ){\r
                                _cssText.push( _key + ':' + _style[ _key ] );\r
                        }\r
-                       _elmPanel.style.cssText = _cssText.join( ';');\r
-                       elmTarget.appendChild( _elmPanel );\r
+                       _elmPanel.style.cssText = _cssText.join( ';' );\r
                        \r
                        for( var i=0, l=_comicElements.length; i<l; ++i ){\r
                                _comicElement = _comicElements[ i ];\r
@@ -719,7 +723,7 @@ pettanr.bind = ( function(){
                                        } else {\r
                                                _elmImg.style.width  = Math.abs( _comicElement.width ) + 'px';\r
                                                _elmImg.style.height = Math.abs( _comicElement.height ) + 'px';\r
-                                       }\r
+                                       };\r
                                        \r
                                        RIMG_ARRAY.push( _rImg );\r
                                } else {\r
@@ -747,49 +751,49 @@ pettanr.bind = ( function(){
                                        if( _speechesAttributes ){\r
                                                for( _key in _speechesAttributes ){\r
                                                        _text += _speechesAttributes[ _key ] && _speechesAttributes[ _key ].content ? _speechesAttributes[ _key ].content : '';\r
-                                               }\r
-                                       }\r
+                                               };\r
+                                       };\r
                                        _elmText.firstChild.appendChild( document.createTextNode( _text ));\r
                                        BALLOON_ARRAY.push( _balloon );\r
-                               }\r
-                       }\r
-               }\r
+                               };\r
+                       };\r
+               };\r
                \r
                function clean(){\r
                        // clean elmTarget\r
                        while( RIMG_ARRAY.length > 0 ){\r
                                RIMG_ARRAY.shift().destroy();\r
-                       }\r
+                       };\r
                        while( BALLOON_ARRAY.length > 0 ){\r
                                BALLOON_ARRAY.shift().destroy();\r
-                       }\r
+                       };\r
                        Util.removeAllChildren( elmTarget );            \r
-               }\r
+               };\r
                \r
                this.build = function( json, zoom ){\r
                        clean();\r
                        \r
                        // json is Comic ? Panel ?\r
-                       var panels = json.panels;\r
+                       var panels = json.stories;\r
                        if( Type.isArray( panels ) === true ){\r
                                // comic\r
                                for( var i=0, l=panels.length; i<l; ++i ){\r
                                        buildPanelElement( panels[ i ], zoom );\r
-                               }\r
+                               };\r
                        } else\r
                        if( json.panel_elements ){\r
                                // panel\r
                                buildPanelElement( json, zoom );\r
                        } else {\r
                                // invalid json\r
-                       }\r
-               }\r
+                       };\r
+               };\r
                this.zoom = function(){\r
                        \r
-               }\r
+               };\r
                this.destroy = function(){\r
                        clean();\r
-               }\r
+               };\r
        };\r
        \r
        var BindWorkerClass = function( elmTarget, json, zoomSelfEnabled, noClassnameMode ){\r
@@ -797,36 +801,36 @@ pettanr.bind = ( function(){
                var elmDetectW = ELM_DETECT_WIDTH.cloneNode( false );\r
                var resizer    = null;\r
                \r
-               if( zoomSelfEnabled === true){\r
+               if( zoomSelfEnabled === true ){\r
                        elmTarget.parentNode.insertBefore( elmDetectW, elmTarget );\r
                        resizer = new ResizeAgentClass( onResize, elmDetectW );\r
-               }\r
+               };\r
                function onResize(){\r
                        \r
-               }\r
+               };\r
                json && typeof json === 'object' && builder.build( json );\r
                \r
                this.init = function(){\r
                                \r
-               }\r
+               };\r
                this.zoom = function(){\r
                        builder.zoom();\r
-               }\r
+               };\r
                this.json = function( _json ){\r
                        json = _json;\r
                        builder.build( _json );\r
-               }\r
+               };\r
                this.targetElement = function(){\r
                                \r
-               }\r
+               };\r
                this.layout = function(){\r
                                \r
-               }\r
+               };\r
                this.destroy = function(){\r
                        builder.destroy();\r
                        elmTarget = json = builder = null;\r
-               }\r
-       }\r
+               };\r
+       };\r
        \r
        return {\r
                createBindWorker: function( elmTarget, opt_COMICJSONorPANELJSON, opt_zoomSelfEnabled, opt_noClassnameMode ){\r
index 6b9195c..60b4e0b 100644 (file)
@@ -1,4 +1,5 @@
-/*\r
+/* \r
+ * Original:\r
  * http://learning-computer-programming.blogspot.jp/2009/09/simple-pong-game-using-javascript.html
  */\r
 \r
index 9799331..38fbb84 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * pettanR system.js\r
- *   version 0.5.5\r
+ *   version 0.5.8\r
  * \r
  * \r
  * Type\r
                        getChildIndex: function( _parent, _child ){\r
                                var _children = _parent.getElementsByTagName( _child.tagName ),\r
                                        l = _children.length;\r
-                               for(var i=0; i<l; ++i){\r
-                                       if( _children[ i] === _child) return i;\r
-                               }\r
+                               for( var i=0; i<l; ++i ){\r
+                                       if( _children[ i ] === _child ) return i;\r
+                               };\r
                                return -1;\r
                        },\r
-                       hasClassName: function( _elm, _className){\r
-                               var _classes = ( _elm.className || '').split( ' ');\r
-                               for( var i=0, l=_classes.length; i<l; ++i){\r
-                                       if( _classes[ i] === _className) return true;\r
-                               }\r
-                               return false;\r
+                       hasClassName: function( _elm, _className ){\r
+                               return Util.getIndex( ( _elm.className || '' ).split( ' ' ), _className ) !== -1;\r
+                       },\r
+                       addClass: function( _elm, _className ){\r
+                               if( Util.hasClassName( _elm, _className ) === false ){\r
+                                       var sp = ' ';\r
+                                       var _array = ( _elm.className || '' ).replace( /\s+/g, sp ).split( sp );\r
+                                       _array.push( _className );\r
+                                       _elm.className = _array.join( sp );\r
+                               };\r
+                       },\r
+                       removeClass: function( _elm, _className ){\r
+                               var sp     = ' ',\r
+                                       _array = _elm.className.replace( /\s+/g, sp ).split( sp ),\r
+                                       i      = Util.getIndex( _array, _className );\r
+                               if( i !== -1 ){\r
+                                       _array.splice( i, 1 );\r
+                                       _elm.className = _array.join( sp );\r
+                               };\r
+                       },\r
+                       toggleClass: function( _elm, _className ){\r
+                               Util.hasClassName( _elm, _className ) === false ? Util.addClass( _elm, _className ) : Util.removeClass( _elm, _className );\r
                        },\r
                        removeAllChildren: function ( _elm){\r
                                while( _elm.firstChild){\r
                        /*\r
                         * \r
                         */\r
-                       createGlobalFunction: function( _func ){\r
-                               var randomKey = null;\r
-                               while( true) {\r
-                                       randomKey = '_glovalFunction_' + ( '' + Math.random()).replace( /\./,'');\r
-                                       if( eval( 'typeof '+randomKey) === 'undefined') {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               window[ randomKey ] = _func;\r
-                               return randomKey;\r
-                       },\r
-                       createGlobalFunc: function( func){\r
-                               var randomKey = null;\r
-                               while(true) {\r
-                                       randomKey = 'hogeGlovalFunc_'+(''+Math.random()).replace(/\./,'');\r
-                                       if(eval('typeof '+randomKey) == 'undefined') {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               eval(randomKey+'='+((typeof func=='string') ? func : func.toString()));\r
-                               return randomKey;\r
-                       },\r
-                       createGlobalVar: function( obj){\r
-                               var randomKey = null;\r
-                               while(true) {\r
-                                       randomKey = 'hogeGlovalVar_'+(''+Math.random()).replace(/\./,'');\r
-                                       if(eval('typeof '+randomKey+'') == 'undefined') {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               var globalObj = eval(randomKey+'={}');\r
-                               globalObj.value = obj;\r
-                               return randomKey;\r
-                       },\r
                        createGlobalUniqueName: function(){\r
                                var randomKey = null;\r
                                while(true) {\r
@@ -1692,6 +1674,8 @@ var AbstractApplication = function( displayName, appClass, isOverlay ){
                };\r
                \r
                function onOpen(){\r
+                       self.rootElement.style.display = '';\r
+                       \r
                        if( self.MIN_WIDTH > _w || self.MIN_HEIGHT > _h ){\r
                                if( Type.isHTMLElement( self.rootElement ) === true ){\r
                                        // 小さすぎる!、と表示\r
@@ -1881,7 +1865,7 @@ var Application = ( function(){
                        if( currentApplication ){\r
                                if( currentApplication.getUID() === uid ) return null;\r
                                if( isOverlay === false && currentApplication.close() === false ) return null;\r
-                       }\r
+                       };\r
 \r
                        appClass.prototype = new AbstractApplication( displayName, appClass, isOverlay );\r
                        var application = new appClass(); // new は boot で\r
@@ -1894,6 +1878,7 @@ var Application = ( function(){
                                body.style.backgroundColor = application.bgColor;\r
                                \r
                                body.appendChild( application.rootElement );\r
+                               application.rootElement.style.display = 'none';\r
                                application.init();\r
 \r
                                application.addAsyncCall( asyncOpen, arg );\r
@@ -3089,9 +3074,8 @@ var Overlay = ( function(){
                \r
                //body.appendChild( application.rootElement );\r
                elmContainer.insertBefore( application.rootElement, elmCloseButton );\r
+               application.rootElement.style.display = 'none';\r
                application.init();\r
-               \r
-               \r
        };\r
        function asyncOpen( /* arguments */ ){\r
                \r
@@ -3229,12 +3213,13 @@ var UI = ( function(){
                elmValue.appendChild( elmA );\r
                \r
                this.value = function( _value ){\r
-                       if( Type.isString( _value ) === true ){\r
-                               elmA.innerHTML = value = _value;\r
+                       if( Type.isString( _value ) === true || Type.isNumber( _value ) === true ){\r
+                               value = '' + _value;\r
+                               elmA.innerHTML = '' + _value;\r
                                if( focus === true ){\r
-                                       ELM_INPUT_TEXT.value = value;\r
-                               }\r
-                       }\r
+                                       ELM_INPUT_TEXT.value = '' + value;\r
+                               };\r
+                       };\r
                        focus === true && instance.blur();\r
                        return value;\r
                };\r
@@ -3288,11 +3273,10 @@ var UI = ( function(){
        }\r
        \r
        var ButtonClass = function( apiuser, uiGroup, elmWrapper, onUpdate ){\r
-               var className = elmWrapper.className || '',\r
-                       instance = this,\r
-                       focus = false,\r
-                       visible = true,\r
-                       enabled = true;\r
+               var instance  = this,\r
+                       focus     = false,\r
+                       visible   = true,\r
+                       enabled   = true;\r
                MouseEvent.add( apiuser, elmWrapper, 'click', onClick );\r
                \r
                function onClick(){\r
@@ -3302,16 +3286,20 @@ var UI = ( function(){
                };\r
                this.focus = function(){\r
                        focus = true;\r
-                       elmWrapper.className = className + ' button-has-focus';\r
+                       Util.addClass( elmWrapper, 'button-has-focus' );\r
                        start( apiuser, uiGroup, instance );\r
                };\r
                this.blur = function( keyCode ){\r
                        keyCode === 13 && onClick();\r
-                       elmWrapper.className = className;\r
+                       Util.removeClass( elmWrapper, 'button-has-focus' );\r
                        focus = false;\r
                        finish( apiuser, uiGroup, instance );\r
                };\r
-               this.enabled = function(){\r
+               this.enabled = function( _enabled ){\r
+                       if( Type.isBoolean( _enabled ) === true && enabled !== _enabled ){\r
+                               _enabled === true ? Util.removeClass( elmWrapper, 'button-disabled' ) : Util.addClass( elmWrapper, 'button-disabled' );\r
+                               enabled = _enabled;\r
+                       };\r
                        return enabled;\r
                };\r
                this.visible = function( _visible ){\r
index eb5e05f..ee81b10 100644 (file)
                        <title>sitemap | pettanR</title>\r
                        <link rel='index' title='index | pettanR' href='http://pettanr.sourceforge.jp/index.html' />\r
                        <link rel='start' title='pettanR' href='http://pettanr.sourceforge.jp/' />\r
-                       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css" />\r
+                       \r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css" />\r
                </head>\r
                <body>\r
                        <div id="general-content">\r
index 1bd6de7..e637d5c 100644 (file)
        .button-has-focus {\r
                border-color:                   #4D90FE;\r
        }\r
+       .button-disabled {\r
+               background:                             #f6f6f6;\r
+               background:                             -moz-linear-gradient(center top , #fcfcfc, #f0f0f0);\r
+               background:                             -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#f0f0f0));\r
+               border-color:                   #eee #ddd #ccc;\r
+               color:                                  #ccc;\r
+       }\r
 \r
        /*  editable-text\r
        --------------------------------------------------------------------------------------*/\r
index b8a7b0a..536a201 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
        <title>ActiveX | pettanR</title>\r
        <!-- InstanceEndEditable -->\r
@@ -168,11 +170,9 @@ x.style.cssText = 'width:1px;height:1px;<ins>line-height:1px;</ins>filter:progid
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" -->\r
        <script type="text/javascript">\r
                var container = document.getElementById( 'box-container'),\r
index 265e032..e2466b9 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
        <title>マンガ状コンテンツを表示するための html + css の調査 | pettanR</title>\r
        <!-- InstanceEndEditable -->\r
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" -->\r
 <!-- InstanceEndEditable -->\r
 </body>\r
index 0cbd30c..4779623 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
        <title>js によるコミック html の動的書き出しテスト | pettanR</title>\r
        <!-- InstanceEndEditable -->\r
@@ -181,11 +183,9 @@ button.onclick = function(){
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" -->\r
        <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shCore.js"></script>\r
        <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shBrushJScript.js"></script>\r
index 4f0ee83..796f5d5 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
        <title>ぺったんR html 実証サンプル version 0.1 | pettanR</title>\r
        <!-- InstanceEndEditable -->\r
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" -->\r
        <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shCore.js"></script>\r
        <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shBrushJScript.js"></script>\r
index 886187b..5f95398 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
        <title>Test Index | PettanR</title>\r
        <!-- InstanceEndEditable -->\r
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" --><!-- InstanceEndEditable -->\r
 </body>\r
 <!-- InstanceEnd --></html>\r
index b7beb6d..45e1cbf 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
        <title>svg | pettanR</title>\r
        <!-- InstanceEndEditable -->\r
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" -->\r
+               <script type="text/javascript" src="../javascripts/system.js"></script>\r
                <script type="text/javascript">\r
                        function createSVG( _src){\r
                                var charset = ( document.charset || document.characterSet).toLowerCase();\r
                                                        .replace( />/g, '%3e')\r
                                                        .replace( /\?/g, '%3f');\r
                        }\r
-                       var _path = pettanr.util.getAbsolutePath( '1.gif');\r
+                       var _path = Util.getAbsolutePath( '1.gif' );\r
                        createSVG( _path);\r
                </script>\r
 \r
index 09f560f..3dfc012 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
        <title>css3 transform | pettanR</title>\r
        <!-- InstanceEndEditable -->\r
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" --><!-- InstanceEndEditable -->\r
 </body>\r
 <!-- InstanceEnd --></html>\r
index 211b256..10e001d 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
        <title>[js]type | pettanR</title>\r
        <!-- InstanceEndEditable -->\r
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" -->\r
                <script type="text/javascript">\r
 /**\r
index 968d4e6..ae50bf2 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
        <title>User Agetn | pettanR</title>\r
        <!-- InstanceEndEditable -->\r
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" -->\r
                <script type="text/javascript">\r
 \r
index 5a57537..6aeb2f7 100644 (file)
@@ -7,7 +7,9 @@
        <meta http-equiv="Content-Script-Type" content="text/javascript">\r
        <meta http-equiv="Content-Style-Type" content="text/css">\r
        <meta http-equiv="imagetoolbar" content="no">\r
-       <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css">\r
+       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css">\r
        <!-- InstanceBeginEditable name="doctitle" -->\r
        <title>上下中央配置テスト vertical-align:middle</title>\r
        <!-- InstanceEndEditable -->\r
             <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>\r
         </div><!-- #EndLibraryItem -->\r
        </div>\r
-       <script type="text/javascript">\r
-               var has_server_support = false;\r
-       </script>\r
-       <!-- <script type="text/javascript" src="../javascripts/gadgetOS.js"></script>\r
-       <script type="text/javascript" src="../javascripts/common.js"></script> -->\r
+               <script type="text/javascript">\r
+                       var has_server_support = false;\r
+               </script>\r
 <!-- InstanceBeginEditable name="script" --><!-- InstanceEndEditable -->\r
 </body>\r
 <!-- InstanceEnd --></html>\r
index a4b5d20..069326d 100644 (file)
@@ -29,8 +29,9 @@
                                </xsl:attribute>\r
                        </meta>\r
                        <title><xsl:value-of select="rss:channel/rss:title"/></title>\r
-                       \r
-                       <link rel="stylesheet" href="../stylesheets/common.css" type="text/css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/site.css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/peta.common.css" />\r
+                       <link rel="stylesheet" type="text/css" href="../stylesheets/system.css" />\r
                        <link rel="stylesheet" href="wiki.css" type="text/css" />\r
   </head>\r
   <body>\r
                        </div>\r
                        \r
                        <script type="text/javascript" src="wiki.js"></script>\r
-                       <script type="text/javascript" src="../javascripts/common.js"></script>\r
                </body>\r
        </html>\r
 </xsl:template>\r