OSDN Git Service

pettanR version0.4.12
authoritozyun <itozyun@gmail.com>
Sun, 1 Apr 2012 11:50:24 +0000 (20:50 +0900)
committeritozyun <itozyun@gmail.com>
Sun, 1 Apr 2012 11:50:24 +0000 (20:50 +0900)
0.4.x/javascripts/common.js
0.4.x/javascripts/system.js
0.4.x/javascripts/work.js
0.4.x/stylesheets/work.css
0.4.x/wiki/wiki_120401.xml [moved from 0.4.x/wiki/wiki_120325.xml with 86% similarity]

index 086afb0..13120a3 100644 (file)
@@ -1,10 +1,71 @@
 /*\r
  * pettanR common.js\r
- *   version 0.4.5\r
+ *   version 0.4.12\r
  * \r
  * author: itozyun\r
  */\r
 \r
+/*\r
+ * http://pettanr.sourceforge.jp/test/type.html
+ */\r
+       var Type = {\r
+               isObject : function(v) {\r
+                       return typeof v === 'object';\r
+               },\r
+               isFunction : function(v) {\r
+                       return typeof v === 'function';\r
+               },\r
+               isArray : function(v) {\r
+                       return Object.prototype.toString.call(v) === "[object Array]";\r
+               },\r
+               isBoolean : function(v) {\r
+                       return typeof v === 'boolean';\r
+               },\r
+               isString : function(v) {\r
+                       return typeof v === 'string';\r
+               },\r
+               isNumber : function(v) {\r
+                       return typeof v === 'number';\r
+               },\r
+               isHTMLElement : ( 'HTMLElement' in window ?\r
+                       function(v){\r
+                               return v instanceof HTMLElement\r
+                       } :\r
+                       function(v) {\r
+                               if( Type.isObject(v) === false ){\r
+                                       return false;\r
+                               }\r
+                               var r;\r
+                               if(v && v.nodeType === 1){\r
+                                       try{\r
+                                               r = v.cloneNode(false);\r
+                                       } catch(n) {\r
+                                               return false;\r
+                                       }\r
+                                       if(r === v) return false;\r
+                                       try{\r
+                                               r.nodeType = 9;\r
+                                               return r.nodeType === 1;\r
+                                       } catch(n) {}\r
+                                       return true;\r
+                               }\r
+                               return false;\r
+                       }\r
+               ),\r
+               /*\r
+               isElementCollection : function(v) {\r
+                       return (Object.prototype.toString.call(v) === "[object HTMLCollection]");\r
+               },\r
+               */\r
+               isNull : function(v) {\r
+                       return v === null;\r
+               },\r
+               isUndefined : function(v) {\r
+                       return typeof v === 'undefined';\r
+               }\r
+       };\r
+\r
+\r
 var pettanr = ( function(){\r
        var     FUNCTION_ARRAY = [],\r
                URL = document.location.href.split( '#')[ 0],\r
@@ -40,7 +101,7 @@ var pettanr = ( function(){
                IS_DEBUG = typeof URL_PARAMS.debug === 'boolean' ? URL_PARAMS.debug : IS_LOCAL === true,\r
                jqWindow , jqDocument , jqBody;\r
        return {\r
-               version: '0.4.5',\r
+               version: '0.4.11',\r
                init: function(){\r
                        jqWindow = $( window);\r
                        jqDocument = $( document);\r
@@ -533,7 +594,15 @@ pettanr.util = ( function(){
                createIframe: function( id, callback){\r
                        var ua = pettanr.ua;\r
             var el = document.createElement( ua.isIE ? '<iframe name="' + id + '" frameborder="0" scrolling="no">' : 'iframe');\r
-            \r
+\r
+            if( ua.isIE){\r
+                               el.onreadystatechange = detect;\r
+            } else {\r
+               // iron(chrome) の場合、append の前に onload を指定しないと onload が呼ばれない\r
+               el.onload = onLoad;\r
+               //setTimeout( asynkCallback, 0 );\r
+                       }\r
+\r
                        document.body.appendChild( el);\r
             el.id = el.name = id;\r
             el.setAttribute( 'name', id);\r
@@ -544,20 +613,19 @@ pettanr.util = ( function(){
             \r
             window[id] = el;\r
 \r
-            if( ua.isIE){\r
-                               el.onreadystatechange = detect;\r
-            } else {\r
-               setTimeout( onLoad, 0);\r
-                       }\r
             function detect(){\r
-                if ( this.readyState == "complete") {\r
+                if ( this.readyState === "complete") {\r
                     this.onreadystatechange = new Function();\r
                     this.onreadystatechange = null;\r
-                    onLoad();\r
+                    setTimeout( asynkCallback, 0 );\r
                 }\r
-            }                  \r
+            }\r
                        function onLoad(){\r
-                               callback( el);\r
+                               el.onload = null;\r
+                               setTimeout( asynkCallback, 0 );\r
+                       }\r
+                       function asynkCallback(){\r
+                               callback( el );\r
                        }\r
                }\r
        }\r
@@ -695,16 +763,19 @@ pettanr.CONST = ( function(){
        return {\r
                PETTANR_ROOT_PATH:                      PETTANR_ROOT_PATH,\r
                URL_ORIGINAL_PICTURES_JSON: ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'original_pictures.json',\r
+               URL_RESOURCE_PICTURES_JSON: ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'resource_pictures.json',\r
+               URL_COMICS_JSON:                        ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'comics.json',\r
                URL_PANELS_JSON:                        ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'panels.json',\r
                NS_PETTANR_COMIC:                       'pettanr-comic',\r
                RESOURCE_PICTURE_PATH:          ( isLocal === true ? pettanr.ROOT_PATH : PETTANR_ROOT_PATH) + 'resource_pictures\/',\r
-               CREATE_COMIC_JS:                        ( isLocal === true ? 'js\/' : PETTANR_ROOT_PATH) + 'comics_new.js',\r
+               CREATE_COMIC_JS:                        isLocal === true ? 'js\/create_new_comic.js' : PETTANR_ROOT_PATH + 'comics\/new.js',\r
+               CREATE_PANEL_JS:                        isLocal === true ? 'js\/create_new_panel.js' : PETTANR_ROOT_PATH + 'panels\/new.js',\r
                UPLOAD_PICTURE_JS:                      isLocal === true ? 'js\/upload_picture.js' : PETTANR_ROOT_PATH + 'original_pictures\/new.js',\r
+               RESISTER_ARTIST_JS:                     isLocal === true ? 'js\/register_artist.js' : PETTANR_ROOT_PATH + 'artists\/new.js',\r
                JQUERY_URL:                                     isLocal === true ? 'javascripts\/jquery-1.6.2.min.js' : PETTANR_ROOT_PATH + 'assets\/jquery-162_min.js'\r
        }\r
 })();\r
 \r
-\r
 pettanr.view = ( function(){\r
        /* create iframe overlay for user console */\r
        var location = document.location.pathname,\r
@@ -1235,7 +1306,7 @@ pettanr.form = ( function(){
                                instance = this;\r
                                delete this.init;\r
                        },\r
-                       update: function( _value){\r
+                       value: function( _value){\r
                                if( _value !== undefined){\r
                                        elmA.innerHTML = _value;\r
                                        value = _value;\r
@@ -1245,6 +1316,7 @@ pettanr.form = ( function(){
                                        }\r
                                }\r
                                currentItem === instance && this.finish();\r
+                               return value;\r
                        },\r
                        start: function(){\r
                                onClick();\r
@@ -1261,7 +1333,7 @@ pettanr.form = ( function(){
                                \r
                                ON_UPDATE_FUNCTION && _newValue !== value && ON_UPDATE_FUNCTION( _newValue, value);\r
                                finish( instance);\r
-                               \r
+                               value = _newValue;\r
                                focus = false;\r
                        },\r
                        enabled: function(){\r
index 05df86c..bb45944 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * pettanR system.js
- *   version 0.4.5
+ *   version 0.4.11
  *   
  * author:
  *   itozyun
@@ -101,14 +101,6 @@ pettanr.file = ( function(){
                        TREE_ARRAY.push( _tree);
                        return _tree;
                },
-               getFileData: function( UIDorFILEorFILEDATA){
-                       var _access = FILE_CONTROLER.getFileDataAccess( UIDorFILEorFILEDATA);
-                       return _access !== null ? _access.DATA : null;
-               },
-               getChildren: function( UIDorFILEorFILEDATA){
-                       var _data = FILE_CONTROLER.getFileData( UIDorFILEorFILEDATA);
-                       return _data !== null ? _data.children || null : null;
-               },
                getFileDataAccess: function( UIDorFILEorFILEDATA){
                        var _uid, _data, _access;
                        
@@ -128,13 +120,21 @@ pettanr.file = ( function(){
                                if( _access.DATA === _data) return _access;
                        }
                        return null;
+               },              
+               getFileData: function( UIDorFILEorFILEDATA){
+                       var _access = FILE_CONTROLER.getFileDataAccess( UIDorFILEorFILEDATA);
+                       return _access !== null ? _access.DATA : null;
+               },
+               getChildren: function( UIDorFILEorFILEDATA){
+                       var _data = FILE_CONTROLER.getFileData( UIDorFILEorFILEDATA);
+                       return _data !== null ? _data.children || null : null;
                },
                getDriver: function( _file){
                        var _data = FILE_CONTROLER.getFileData( _file);
                        return _data !== null && _data.driver ? _data.driver : FileDriverBase;
                },
                getUpdateFlag: function( _file, _bit){
-                       var _driver = FILE_CONTROLER.getFileData( _file),
+                       var _driver = FILE_CONTROLER.getDriver( _file ),
                                _policy;
                        if( typeof _driver.getUpdatePolicy === 'function'){
                                _policy = _driver.getUpdatePolicy( _file );
@@ -145,28 +145,6 @@ pettanr.file = ( function(){
                        }
                        return _policy % ( _bit * 2) >= _bit;
                },
-               getUID: function ( _filedata){
-                       var l = FILEDATA_RESITER.length;
-                       for( var i=0; i<l; ++i){
-                               if( FILEDATA_RESITER[ i] === _filedata) return i;
-                       }
-                       return -1;
-               },
-               getSeqentialFiles: function( _file){
-                       var _driver = FILE_CONTROLER.getDriver( _file);
-                       if( _driver !== null && typeof _driver.getSeqentialFiles === 'function'){
-                               _driver.getSeqentialFiles( _file);
-                       }
-               },
-               updateFileAttribute: function( _uid, key, _value, _opt_callback){
-                       var _data = FILE_CONTROLER.getFileDataAccess( _uid),
-                               _type = _data.TYPE;
-                       
-               },                      
-               getFileAttribute: function( _uid, KEYorKEYARRAY){
-                       var _fileData = FILE_CONTROLER.getFileDataAccess( _uid),
-                               _type = _fileData.TYPE;
-               },
                move: function( _prentUID, _targetfile, _newFolder, _newIndex, _opt_callback){
                        var _parentData = FILE_CONTROLER.getFileDataAccess( _prentUID),
                                _parentType = _parentData.TYPE,
@@ -193,16 +171,16 @@ pettanr.file = ( function(){
                },
                fileEventRellay: function( _targetFile, _targetTree, _event){
                        var _uid = _targetTree.getUID(),
-                               _access = TREE_ACCESS_ARRAY[ _uid],
-                               l = TREE_ARRAY.length,
-                               _tree, _currentFile;
-                       _access !== undefined && _access.dispatchFileEvent( _event);
-                       for(var i=0; i<l; ++i){
+                               _access = TREE_ACCESS_ARRAY[ _uid ],
+                               _data = FILE_CONTROLER.getFileData( _targetFile ),
+                               _tree;
+                       _access && _access.dispatchFileEvent( _event );
+                       for( var i=0, l = TREE_ARRAY.length; i<l; ++i){
                                if( i !== _uid){
-                                       _tree = TREE_ARRAY[i];
-                                       _currentFile = _tree.getCurrentFile();
-                                       if( FILE_CONTROLER.getFileData( _currentFile) === _access.DATA){
-                                               TREE_ACCESS_ARRAY[ _tree.getUID()].dispatchFileEvent( _event);
+                                       _tree = TREE_ARRAY[ i ];
+                                       if( FILE_CONTROLER.getFileData( _tree.getCurrentFile() ) === _data ){
+                                               _access = TREE_ACCESS_ARRAY[ _tree.getUID() ];
+                                               _access && _access.dispatchFileEvent( _event);
                                        }
                                }
                        }
@@ -251,8 +229,8 @@ pettanr.file = ( function(){
                        init: function(){
                                instance = this;
                                currentFile = rootFile = new FileClass( this, null, ROOTFILE_DATA);
-                               rootFile.init();
-                               FILE_CONTROLER.getSeqentialFiles( currentFile);
+                               // rootFile.init();
+                               currentFile.getSeqentialFiles();
                                delete this.init;
                        },
                        getUID: function(){ return UID},
@@ -274,7 +252,7 @@ pettanr.file = ( function(){
                                if( typeof _index !== 'number' || _index < 0 || _index >= currentFile.getChildFileLength()) return;
                                PARENT_FILE_RESITER.unshift( currentFile);
                                currentFile = currentFile.getChildFileByIndex( _index);
-                               FILE_CONTROLER.getSeqentialFiles( currentFile);
+                               currentFile.getSeqentialFiles();
                                return currentFile;
                        },
                        up: function( _index){
@@ -287,7 +265,7 @@ pettanr.file = ( function(){
                                } else {
                                        currentFile = PARENT_FILE_RESITER.shift();
                                }
-                               FILE_CONTROLER.getSeqentialFiles( currentFile);
+                               currentFile.getSeqentialFiles();
                                return currentFile;     
                        },
                        addTreeEventListener: function( _eventType, _callback){
@@ -327,15 +305,12 @@ pettanr.file = ( function(){
  */
        
        var FileClass = function( TREE, parentFile, data){
-               if( !data.children){
-                       data.children = [];
-               }
-               var uid = FILE_CONTROLER.getUID( data),
+               var uid = pettanr.util.getIndex( FILEDATA_RESITER, data ),
                        instance = this;
                
                if( uid === -1){
                        uid = FILEDATA_RESITER.length;
-                       FILEDATA_RESITER.push( data);
+                       FILEDATA_RESITER.push( data );
                }
                
                FILEDATA_ACCESS.push(
@@ -354,20 +329,19 @@ pettanr.file = ( function(){
                }
                
                /* grobal Methods */
-               this.init = function(){
-                       delete this.init;
-               }
+
                this.getUID = function(){
                        return uid;
                }
                /*
-                * ファイル構造は TRON のような ハイパーリンク方式 だが、文脈上の 親ファイルが存在する場合がある.
+                * ファイル構造は TRON のような ハイパーリンク方式 だが、文脈上の 親ファイルが存在する.その親ファイルを使う操作は.prototype に置く事ができない.
+                * 同様に TREE を使う操作も .prototype に置く事ができない.
                 */
                this.getChildFileByIndex = function( _index){
                        var _children = FILE_CONTROLER.getChildren( instance );
                        if( typeof _index !== 'number' || _index < 0 || typeof _children.length !== 'number' || _index >= _children.length) return null;
                        var _file = new FileClass( TREE, this, _children[ _index]);
-                       _file.init();
+                       // _file.init();
                        return _file;
                }
                this.move = function( _newFolder, _newIndex, opt_callback){
@@ -385,12 +359,16 @@ pettanr.file = ( function(){
                        delete _access.DATA, _access.updateParent, _access.dispatchFileEvent;
                }
        };
+       
        FileClass.prototype = {
                isChildFile: function( _FILEorFILEDATA){
                        return this.getChildFileIndex( _FILEorFILEDATA) !== -1;
                },
                getSeqentialFiles: function(){
-                       FILE_CONTROLER.getSeqentialFiles( this);
+                       var _driver = FILE_CONTROLER.getDriver( this );
+                       if( _driver !== null && typeof _driver.getSeqentialFiles === 'function'){
+                               _driver.getSeqentialFiles( this );
+                       }
                },
                addEventListener: function( _eventType, _callback){
                        FILE_CONTROLER.addEventListener( this, _eventType, _callback);
@@ -400,12 +378,11 @@ pettanr.file = ( function(){
                },
                getChildFileLength: function(){
                        var children = FILE_CONTROLER.getChildren( this);
-                       return children !== null && typeof children.length === 'number' ? children.length : 0;
+                       return Type.isArray( children ) === true ? children.length : -1;
                },
                getChildFileIndex: function( _FILEorFILEDATA){
                        var children = FILE_CONTROLER.getChildren( this);
-                       
-                       if( children === null || typeof children.length !== 'number') return -1;
+                       if( Type.isArray( children.length ) === false ) return -1;
                        var l = children.length,
                                _fileData = FILE_CONTROLER.getFileData( _FILEorFILEDATA);
                        if( _fileData === null) return -1;
@@ -455,6 +432,12 @@ pettanr.file = ( function(){
                write: function( _newName, _newData){
                        return false;
                },
+               viwerApps: function(){
+                       
+               },
+               editorApps: function(){
+                       
+               },
                create: function(){
                        
                },
@@ -533,12 +516,6 @@ pettanr.file = ( function(){
                }
        }
 
-       function getFileObject( TREE, parentFile, data){
-               var _file = FILE_OBJECT_POOL.length > 0 ? FILE_OBJECT_POOL.shift() : new FileClass();
-               _file.init( TREE, parentFile, data);
-               return _file;
-       }
-
        var ROOT_FILEDATA = {
                        name:           'system root',
                        type:           FILE_TYPE_IS_FOLDER,
@@ -635,7 +612,7 @@ pettanr.file = ( function(){
                        GET_SEQENTIAL_FILES:'gotSeqentilFiles'
                },
                FILE_DATA_PROPERTY_RESERVED: [
-                       'children', 'driver', 'state', 'type', 'name'
+                       'children', 'driver', 'state', 'type'
                ]
        }
 })();
@@ -842,7 +819,7 @@ pettanr.finder = ( function(){
                        var l = ICON_ARRAY.length;
                        if( i < l){
                                var _file = tree.getCurrentFile().getChildFileByIndex( i);
-                               if( _file !== null && ( _file.getChildFileLength() > 0 || _file.getType() === pettanr.file.FILE_TYPE.FOLDER)){
+                               if( _file !== null && ( _file.getChildFileLength() !== -1 || _file.getType() === pettanr.file.FILE_TYPE.FOLDER)){
                                        tree.down( i);
                                        draw();
                                }
@@ -921,28 +898,35 @@ pettanr.driver = ( function(){
                        getSeqentialFiles: function( _file){
                                var _data = FileAPI.getFileData( _file),
                                        _json = _data !== null ? _data.json : null;
+                               if( _json === true && _data.type === pettanr.driver.FILE_TYPE.COMIC ){
+                                       _json = [ pettanr.CONST.PETTANR_ROOT_PATH, 'comics\/', _data.id, '.json\/play\/' ].join( '' );
+                               }
                                if( typeof _json === 'string'){
                                        FileAPI.getJson( _file, _json, onLoadJson, onErrorJson);
                                        _data.state = pettanr.file.FILE_STATE.LOADING;
-                                       delete _data.json;
+                                       _data.json = null;
+                                       return;
                                }
                        },
                        getName: function( _file){
                                var _data = FileAPI.getFileData( _file),
                                        _type = _data !== null ? _data.type : null;
-                               if( _type === pettanr.driver.FILE_TYPE.PICTURE){
+                               if( _type === pettanr.driver.FILE_TYPE.PICTURE ){
                                        return [ _data.id, _data.ext ].join( '.');
                                } else
-                               if( _type === pettanr.driver.FILE_TYPE.PANEL){
-                                       return [ _data.t, ':', _data.comic.name || _data.comic.title ].join( '');
+                               if( _type === pettanr.driver.FILE_TYPE.PANEL ){
+                                       return [ _data.t, ':', _data.comic.title ].join( '');
                                } else
-                               if( _type === pettanr.driver.FILE_TYPE.ARTIST){
+                               if( _type === pettanr.driver.FILE_TYPE.COMIC ){
+                                       return _data.title;
+                               } else
+                               if( _type === pettanr.driver.FILE_TYPE.ARTIST ){
                                        return [ _data.id , ':', _data.name, '画伯' ].join( '');
                                } else
-                               if( _type === pettanr.driver.FILE_TYPE.AUTHOR){
+                               if( _type === pettanr.driver.FILE_TYPE.AUTHOR ){
                                        return [ _data.id , ':', _data.name, '先生' ].join( '');
                                }
-                               return _data.name || _data.title;
+                               return _data.name;
                        },
                        getThumbnail: function( _file){
                                var _data = FileAPI.getFileData( _file);
@@ -950,7 +934,7 @@ pettanr.driver = ( function(){
                                if( _type === pettanr.driver.FILE_TYPE.PICTURE){
                                        return { image: [ pettanr.CONST.RESOURCE_PICTURE_PATH, 'thumbnail/', _data.id, '.', _data.ext ].join( '')};
                                }
-                               if( _data === FILE_DATA_COMIC_ROOT){
+                               if( _data === FILE_DATA_COMICS_ROOT){
                                        return { className: 'file-type-cabinet'};
                                }
                                if( _type === pettanr.driver.FILE_TYPE.COMIC){
@@ -977,11 +961,18 @@ pettanr.driver = ( function(){
                        type:           pettanr.file.FILE_TYPE.FOLDER,
                        children:       []
                },
-               FILE_DATA_COMIC_ROOT = {
+               FILE_DATA_COMICS_ROOT = {
                        name:           'Comics',
                        type:           pettanr.file.FILE_TYPE.FOLDER,
                        children:       [],
                        driver:         Driver,
+                       json:           pettanr.CONST.URL_COMICS_JSON
+               },
+               FILE_DATA_PANELS_ROOT = {
+                       name:           'Panels',
+                       type:           pettanr.file.FILE_TYPE.FOLDER,
+                       children:       [],
+                       driver:         Driver,
                        json:           pettanr.CONST.URL_PANELS_JSON
                },
                FILE_DATA_PICTURE_ROOT = {
@@ -989,17 +980,20 @@ pettanr.driver = ( function(){
                        type:           pettanr.file.FILE_TYPE.FOLDER,
                        children:       [],
                        driver:         Driver,
-                       json:           pettanr.CONST.URL_ORIGINAL_PICTURES_JSON
+                       json:           pettanr.CONST.URL_RESOURCE_PICTURES_JSON
                },
                FILE_DATA_MY_COMICS_ROOT = {
                        name:           'My Comics',
-                       type:           pettanr.file.FILE_TYPE.FOLDER,
-                       children:       []
+                       type:           pettanr.file.FILE_TYPE.AUTHOR,
+                       children:       [],
+                       driver:         Driver
                },
                FILE_DATA_MY_PICTURES_ROOT = {
                        name:           'My Pictures',
-                       type:           pettanr.file.FILE_TYPE.FOLDER,
-                       children:       []
+                       type:           pettanr.file.FILE_TYPE.ARTIST,
+                       children:       [],
+                       driver:         Driver,
+                       json:           pettanr.CONST.URL_ORIGINAL_PICTURES_JSON
                },
                FILE_DATA_AUTHOR_ROOT = {
                        name:           'Authors',
@@ -1011,8 +1005,8 @@ pettanr.driver = ( function(){
                        type:           pettanr.file.FILE_TYPE.FOLDER,
                        children:       []
                },
-               FILE_DATA_LICENSE_ROOT = {
-                       name:           'Original Licenses',
+               FILE_DATA_LISENCE_ROOT = {
+                       name:           'Original Lisences',
                        type:           pettanr.file.FILE_TYPE.FOLDER,
                        children:       []
                },
@@ -1029,47 +1023,76 @@ pettanr.driver = ( function(){
                BALLOON_TEMPLETE_ARRAY = [],
                ORIGINAL_LICENSE_ARRAY = [],
                BASIC_LICENSES = 'cc_by,cc_nc,cc_nd,cc_sa,keep_aspect_ratio,no_convert,no_flip,no_resize'.split( ',');
-       FILE_DATA_SERVICE_ROOT.children.push( FILE_DATA_COMIC_ROOT, FILE_DATA_PICTURE_ROOT, FILE_DATA_LICENSE_ROOT, FILE_DATA_BALLOON_ROOT);
-       FILE_DATA_COMIC_ROOT.children.push( FILE_DATA_MY_COMICS_ROOT, FILE_DATA_AUTHOR_ROOT);
+       FILE_DATA_SERVICE_ROOT.children.push( FILE_DATA_COMICS_ROOT, FILE_DATA_PICTURE_ROOT, FILE_DATA_PANELS_ROOT, FILE_DATA_LISENCE_ROOT, FILE_DATA_BALLOON_ROOT);
+       FILE_DATA_COMICS_ROOT.children.push( FILE_DATA_MY_COMICS_ROOT, FILE_DATA_AUTHOR_ROOT);
        FILE_DATA_PICTURE_ROOT.children.push( FILE_DATA_MY_PICTURES_ROOT, FILE_DATA_ARTIST_ROOT);
        
        FileAPI.createFolderUnderRoot( FILE_DATA_SERVICE_ROOT);
-       
+
        function onLoadJson( _file, _json){
                var _access = FileAPI.getFileDataAccess( _file),
                        _data = _access !== null ? _access.DATA : null,
-                       l = _json.length;
+                       l;
                if( _data === null){
                        onErrorJson( _file);
                        return;
                }
                _data.state = pettanr.file.FILE_STATE.OK;
-               if( l === 0) return;
-               for(var i=0; i<l; ++i){
-                       buildFileData( _json[ i], _data);
+               
+               if( Type.isArray( _json ) === true ){
+                       var l = _json.length;
+                       if( l === 0) return;
+                       for( var i=0; i<l; ++i ){
+                               buildFileData( _json[ i], _data);
+                       }                       
+               } else
+               if( _json.id ){
+                       buildFileData( _json, _data );
                }
                _access.dispatchFileEvent( FileAPI.createFileEvent( pettanr.file.FILE_EVENT.GET_SEQENTIAL_FILES, _file, 'children', null));
        }
-       function onErrorJson( _file){ 
+       function onErrorJson( _file ){ 
                var _data = FileAPI.getFileData( _file);
                if( _data !== null){
                        _data.state = pettanr.file.FILE_STATE.ERROR;
                }
        }
-       function buildFileData( _data, _parent){
-               var _type, _array,
-                       _id = _data.id,
-                       i, l;
-               if( _parent === FILE_DATA_COMIC_ROOT){
+       function buildFileData( _data, _parent ){
+               var _array, i, l;
+               // Panel
+               if( _parent === FILE_DATA_PANELS_ROOT ){
                        _data.type = pettanr.driver.FILE_TYPE.PANEL;
                        _array = PANEL_ARRAY;
                } else
-               if( _parent === FILE_DATA_PICTURE_ROOT){
+               // Comic
+               if( _parent === FILE_DATA_COMICS_ROOT ){
+                       _data.type = pettanr.driver.FILE_TYPE.COMIC;
+                       _array = COMIC_ARRAY;
+               } else
+               if( _parent.type === pettanr.driver.FILE_TYPE.COMIC ){
+                       _array = COMIC_ARRAY;
+               } else
+               // Lisence
+               if( _parent === FILE_DATA_LISENCE_ROOT ){
+                       _data.type = pettanr.driver.FILE_TYPE.LICENSE;
+                       _array = ORIGINAL_LICENSE_ARRAY;
+               } else
+               // Author
+               if( _parent === FILE_DATA_AUTHOR_ROOT ){
+                       _data.type = pettanr.driver.FILE_TYPE.AUTHOR;
+                       _array = AUTHOR_ARRAY;
+               } else
+               // Artist
+               if( _parent === FILE_DATA_ARTIST_ROOT ){
+                       _data.type = pettanr.driver.FILE_TYPE.ARTIST;
+                       _array = ARTIST_ARRAY;
+               } else          
+               // Picture
+               if( _parent === FILE_DATA_PICTURE_ROOT || _parent === FILE_DATA_MY_PICTURES_ROOT ){
                        _data.type = pettanr.driver.FILE_TYPE.PICTURE;
                        _array = RESOURCE_PICTURE_ARRAY;
-                       
                        // original_license を含まなければ、license object を削除して ビットデータ で保持
-                       // original_license なら ファイルを作る buildFileData( _license, FILE_DATA_LICENSE_ROOT)
+                       // original_license なら ファイルを作る buildFileData( _license, FILE_DATA_LISENCE_ROOT)
                        var _license = _data.license,
                                _Math_pow = Math.pow,
                                _bits = 0;
@@ -1081,109 +1104,113 @@ pettanr.driver = ( function(){
                                }
                                _data.license = _bits;
                        }
-               } else
-               if( _parent === FILE_DATA_LICENSE_ROOT){
-                       _data.type = pettanr.driver.FILE_TYPE.LICENSE;
-                       _array = ORIGINAL_LICENSE_ARRAY;
+               } else {
+                       alert( 'error' );
                }
                
                _data.driver = Driver;
                
                // _array に _data を格納 または 上書き
-               if( typeof _id === 'number'){
-                       var __data = _array[ _id];
-                       if( __data){
+               if( typeof _data.id === 'number' && _data.id > 0 ){
+                       var _id = _data.id - 1,
+                               __data = _array[ _id ],
+                               _reserved = pettanr.file.FILE_DATA_PROPERTY_RESERVED.join( ', ' );
+                       if( __data ){
                                for( var key in _data){
-                                       __data[ key ] = _data[ key ];
+                                       if( _reserved.indexOf( key ) === -1 ){
+                                               __data[ key ] = _data[ key ];
+                                       }
                                }
                                _data = __data; // このタイミングで参照が切れるので注意!!
                        } else {
-                               _array[ _id] = _data;
+                               _array[ _id ] = _data;
                        }
+               } else {
+                       alert( 'error' );
                }
-               
-               if( _parent === FILE_DATA_COMIC_ROOT){
-                       if( _data.comic && _data.author){
-                               var _comic = getFolderData( _data, 'comic', FILE_DATA_COMIC_ROOT),
-                                       _comicList = getFolderData( _data, 'author', FILE_DATA_AUTHOR_ROOT);
-                               _comic.children.push( _data);
-                               pettanr.util.getIndex( _comicList.children, _comic) === -1 && _comicList.children.push( _comic);
-                               _comicList.id === MyAuthorID && pettanr.util.getIndex( FILE_DATA_MY_COMICS_ROOT.children, _comic) === -1 && FILE_DATA_MY_COMICS_ROOT.children.push( _comic);
-                       }
-                       // picture data をファイルに取り出し
-                       var _elements = _data.panel_elements || [],
-                               _elm;
-                       for(var i=0, l=_elements.length; i<l; ++i){
-                               _elm = _elements[ i];
-                               if( _elm.resource_picture){
-                                       _elm.resource_picture = buildFileData( _elm.resource_picture, FILE_DATA_PICTURE_ROOT); // 上記参照切れに備えてここで上書き
+
+               // Author
+               // Artist
+               if( _parent === FILE_DATA_AUTHOR_ROOT || _parent === FILE_DATA_ARTIST_ROOT ){
+                       addChildData( _parent, _data );
+               } else
+               // Comic + Panels
+               if( _parent.type === pettanr.driver.FILE_TYPE.COMIC || _parent === FILE_DATA_COMICS_ROOT ){
+                       var _panels = _data.panels,
+                               _panel;
+                       if( _panels && Type.isArray( _panels ) === true ){
+                               
+                               for( i=0, l=_panels.length; i<l; ++i){
+                                       _panel = buildFileData( _panels[ i ], FILE_DATA_PANELS_ROOT );
+                                       /*
+                                        * 間違い! t 順に格納
+                                        */
+                                       addChildData( _data, _panel );
                                }
-                               if( _elm.resource_picture_id && RESOURCE_PICTURE_ARRAY[ _elm.resource_picture_id]){
-                                       _elm.resource_picture = RESOURCE_PICTURE_ARRAY[ _elm.resource_picture_id];
+                               delete _data.panels;
+                       } else {
+                               if( _data.json !== null ){
+                                       _data.json = true;
                                }
+                               if( Type.isArray( _data.children ) === false ){
+                                       _data.children = [];
+                               }                               
+                       }
+                       var _author = _data.author || getResource( AUTHOR_ARRAY, _data.author_id );
+                       if( _author ){
+                               _data.author = _author = buildFileData( _author, FILE_DATA_AUTHOR_ROOT );
+                               addChildData( _author, _data );
+                               _author.id === MyAuthorID && addChildData( FILE_DATA_MY_COMICS_ROOT, _data );
                        }
                } else
-               if( _parent === FILE_DATA_PICTURE_ROOT){
-                       if( _data.artist){
-                               var _pictureList = getFolderData( _data, 'artist', FILE_DATA_ARTIST_ROOT);
-                               pettanr.util.getIndex( _pictureList.children, _data) === -1 && _pictureList.children.push( _data);
-                               _pictureList.id === MyArtistID && pettanr.util.getIndex( FILE_DATA_MY_PICTURES_ROOT.children, _data) === -1 && FILE_DATA_MY_PICTURES_ROOT.children.push( _data);
+               // Panel
+               if( _parent === FILE_DATA_PANELS_ROOT ){
+                       _data.comic = getResource( COMIC_ARRAY, _data.comic_id ),
+                       _data.author = getResource( AUTHOR_ARRAY, _data.author_id );
+
+                       // picture data をファイルに取り出し
+                       if( Type.isArray( _data.panel_elements ) === true ){
+                               var _elements,
+                                       _elm, _rpic;
+                               for( i=0, l=_elements.length; i<l; ++i){
+                                       _elm = _elements[ i];
+                                       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 );
+                                       }
+                               }                               
+                       }
+               } else
+               // Picture
+               if( _data.type = pettanr.driver.FILE_TYPE.PICTURE ){
+                       var _artist = _data.artist || getResource( ARTIST_ARRAY, _data.artist_id );
+                       if( _artist){
+                               _data.artist = _artist = buildFileData( _artist, FILE_DATA_ARTIST_ROOT );
+                               addChildData( _artist, _data );
+                               _artist.id === MyArtistID && addChildData( FILE_DATA_MY_PICTURES_ROOT, _data );
                        }
                }
-               
                return _data;
        }
-       /**
-        * folder には Artist, Author, Comic, 
-        */
-       function getFolderData( _data, _key, _parentData){
-               if( typeof _data[ _key ] !== 'object') return {children:[]};
-               var _ret,
-                       _id = _data[ _key ].id,
-                       _array;
-               if( typeof _id !== 'number') return {children:[]};
-               
-               _array =        _parentData === FILE_DATA_ARTIST_ROOT ? ARTIST_ARRAY :
-                                       _parentData === FILE_DATA_AUTHOR_ROOT ? AUTHOR_ARRAY :
-                                       _parentData === FILE_DATA_COMIC_ROOT ? COMIC_ARRAY : []
-
-               if( typeof _array[ _id] === 'object'){
-                       var __data = _array[ _id];
-                       for( var i in _data[ _key ]){
-                               __data[ i ] = _data[ _key ][ i ];
-                       }
-                       return _data[ _key ] = __data;// このタイミングで参照が切れるので注意!!
+       function addChildData( _parent, _child ){
+               if( Type.isArray( _parent.children ) === false){
+                       _parent.children = [];
                }
-               // 以下は folder がなく 新規に作られる場合.
-               _ret = _array[ _id ] = _data[ _key ];
-               if( _ret.title){
-                       _ret.name = _ret.title;
-                       delete _ret.title;
-               }
-               _ret.children = [];
-               _ret.driver = Driver;
-               
-               if( _parentData === FILE_DATA_AUTHOR_ROOT){
-                       _ret.type = pettanr.driver.FILE_TYPE.AUTHOR;
-               } else
-               if( _parentData === FILE_DATA_ARTIST_ROOT){
-                       _ret.type = pettanr.driver.FILE_TYPE.ARTIST;
-               } else
-               if( _parentData === FILE_DATA_COMIC_ROOT){
-                       _ret.type = pettanr.driver.FILE_TYPE.COMIC;
-                       return _ret;
-               } else {
-                       _ret.type = pettanr.file.FILE_TYPE.FOLDER;
+               pettanr.util.getIndex( _parent.children, _child ) === -1 && _parent.children.push( _child );
+       }
+       function getResource( _array, _id ){
+               if( Type.isArray( _array ) === false || Type.isNumber( _id ) === false || _id < 1 ) return null;
+               var _data = _array[ _id - 1 ];
+               if( !_data ){
+                       _data = _array[ _id - 1 ] = {};
                }
-               
-               _parentData.children.push( _ret);
-               
-               return _ret;
+               return _data;
        }
 
        return {
                createComicTree: function(){
-                       return pettanr.file.createTree( FILE_DATA_SERVICE_ROOT); //FILE_DATA_COMIC_ROOT);
+                       return pettanr.file.createTree( FILE_DATA_SERVICE_ROOT); //FILE_DATA_COMICS_ROOT);
                },
                createPictureTree: function(){
                        return pettanr.file.createTree( FILE_DATA_PICTURE_ROOT);
@@ -1280,6 +1307,8 @@ pettanr.fn( pettanr.balloon);
 pettanr.fn( pettanr.editor);
 pettanr.fn( pettanr.comicConsole);
 pettanr.fn( pettanr.uploadConsole);
+pettanr.fn( pettanr.panelConsole);
+pettanr.fn( pettanr.artistConsole);
 
 pettanr.fn( pettanr.file);
 pettanr.fn( pettanr.finder);
index 91fa9ee..25d3256 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * pettanR work.js\r
- *   version 0.4.5\r
+ *   version 0.4.12\r
  *   \r
  * author:\r
  *   itozyun\r
@@ -1497,14 +1497,14 @@ pettanr.editor = ( function(){
                                                currentElementType = _elementType;\r
                                        }\r
                                        if( currentElementType !== -1){\r
-                                               inputX.update( x);\r
-                                               inputY.update( y);\r
-                                               inputZ.update( z);\r
-                                               _elementType === 1 && inputA.update( a);\r
-                                               inputW.update( w);\r
-                                               inputH.update( h);\r
-                                               _elementType === 0 && inputPercentW.update( wPercent);\r
-                                               _elementType === 0 && inputPercentH.update( hPercent);                                  \r
+                                               inputX.value( x);\r
+                                               inputY.value( y);\r
+                                               inputZ.value( z);\r
+                                               _elementType === 1 && inputA.value( a);\r
+                                               inputW.value( w);\r
+                                               inputH.value( h);\r
+                                               _elementType === 0 && inputPercentW.value( wPercent);\r
+                                               _elementType === 0 && inputPercentH.value( hPercent);                                   \r
                                        } else {\r
                                                \r
                                        }\r
@@ -3530,38 +3530,109 @@ pettanr.comicConsole = ( function(){
        var COMIC_CONSOLE = ( function(){\r
                var jqWrap,\r
                        ID = 'comicConsole',\r
-                       elmProgress = document.getElementById( 'comic-console-progress'),\r
+                       elmWrap = document.getElementById( 'comic-console-wrapper' ),\r
+                       elmHeader = document.getElementById( 'comic-console-header' ),\r
+                       elmProgress = document.getElementById( 'comic-console-progress' ),\r
                        inputTitle, inputW, inputH, inputVisible, inputEditable,\r
-                       elmUploader = null;\r
+                       elmUploader = null,\r
+                       elmScript = null\r
+                       elmIframe = null,\r
+                       elmForm = null,\r
+                       timer = null,\r
+                       isUploading = false;\r
                //pettanr.key.addKeyDownEvent( ID, 69, false, false, clickOK);\r
                \r
                function clickOK(){\r
-                       // clickCancel();\r
-                       // pettanr.proxy.createFormProxy( pettanr.CONST.UPLOAD_PICTURE_JS, onCreateForm);\r
+                       if( !elmForm || !elmIframe || isUploading === true ) return false;\r
+                       // validate\r
+                       isUploading = true;\r
                        elmProgress.innerHTML = '■';\r
-                       // set values\r
-                       // submit\r
+                       copyAndSubmit();\r
                }\r
-               function onCreateForm( iDocument){\r
-                       var div = iDocument.createElement( 'div');\r
-                       div.id = "uploader";\r
-                       iDocument.body.appendChild( div);\r
-                       \r
-                       var script = iDocument.createElement( 'script');\r
-                       script.type = 'text\/javascript';\r
-                       script.src = pettanr.CONST.UPLOAD_PICTURE_JS;\r
-                       iDocument.body.appendChild( script);\r
-                       \r
-                       elmProgress.innerHTML = '■■';\r
-                       \r
-                       var form = iDocument.forms[ 0 ];\r
-                       \r
-               }\r
-               \r
+\r
+                       function copyAndSubmit(){\r
+                               var _inputList = elmForm.getElementsByTagName( 'input' ),\r
+                                       _input, _name;\r
+                               for( var i=0, l= _inputList.length; i<l; ++i){\r
+                                       _input = _inputList[ i ];\r
+                                       _name = _input.name;\r
+                                       if( _name === 'comic[title]'){\r
+                                               _input.value = inputTitle.value();\r
+                                       } else\r
+                                       if( _name === 'comic[width]'){\r
+                                               _input.value = inputW.value();\r
+                                       } else\r
+                                       if( _name === 'comic[height]'){\r
+                                               _input.value = inputH.value();\r
+                                       }\r
+                               }\r
+                               var _selectList = elmForm.getElementsByTagName( 'select' ),\r
+                                       _select, _name, _optionList;\r
+                               for( i=0, l= _selectList.length; i<l; ++i){\r
+                                       _select = _selectList[ i ];\r
+                                       _name = _select.name;\r
+                                       _optionList = _select.getElementsByTagName( 'option' )\r
+                                       if( _name === 'comic[visible]'){\r
+                                               _select.selectedIndex = 1;\r
+                                       } else\r
+                                       if( _name === 'comic[editable]'){\r
+                                               _select.selectedIndex = 0;\r
+                                       }\r
+                               }\r
+                               try {\r
+                                       elmForm.submit();\r
+                               } catch( e){\r
+                                       elmProgress.innerHTML = 'submit() err..';\r
+                                       isUploading = false;\r
+                                       setTimeout( clickCancel , 3000);\r
+                                       return;\r
+                               }\r
+                               if( pettanr.ua.isIE){\r
+                                       elmIframe.onreadystatechange = detectIframe;\r
+                               } else {\r
+                                       elmIframe.onload = onIframeUpdate;\r
+                               }\r
+                               elmProgress.innerHTML = 'uploading..';\r
+                       }\r
+               /*\r
+                * ie の 場合、readyState をチェック.\r
+                */\r
+                               function detectIframe(){\r
+                           if ( elmIframe.readyState === 'complete') {\r
+                               elmIframe.onreadystatechange = new Function();\r
+                               elmIframe.onreadystatechange = null;\r
+                               onIframeUpdate();\r
+                           }\r
+                               }\r
+                                       function onIframeUpdate(){\r
+                                               elmIframe.onload = null;\r
+                                               ( elmIframe.contentWindow || elmIframe.contentDocument.parentWindow ).close();\r
+                                               elmIframe = null;\r
+                                               elmProgress.innerHTML = 'success!';\r
+                                               setTimeout( clickCancel , 1000);\r
+                                               isUploading = false;\r
+                                       }\r
+                               \r
                function clickCancel(){\r
+                       if( isUploading === true) return false;\r
                        pettanr.overlay.hide();\r
                        COMIC_CONSOLE.onClose();\r
                }\r
+               function detectForm(){\r
+                       elmForm = elmUploader.getElementsByTagName( 'form' )[ 0 ];\r
+                       if( elmForm){\r
+                               window.clearInterval( timer);\r
+                               timer = null;\r
+                               pettanr.util.createIframe( 'targetFrameCreateComic', onCreateIframe );\r
+                               elmProgress.innerHTML = 'create iframe';\r
+                       }\r
+               }\r
+               function onCreateIframe( _iframe ){\r
+                       elmUploader.appendChild( _iframe );\r
+                       elmIframe = _iframe;\r
+                       elmForm.target = _iframe.name;\r
+                       elmProgress.innerHTML = '';\r
+               }\r
                \r
                return {\r
                        init: function(){\r
@@ -3585,6 +3656,23 @@ pettanr.comicConsole = ( function(){
                                pettanr.overlay.show( COMIC_CONSOLE );\r
                                \r
                                inputTitle.start();\r
+                               \r
+                               elmUploader = document.createElement( 'div');\r
+                               elmUploader.id = "newcomic";\r
+                               elmUploader.style.cssText = 'height:1px;line-height:1px;visibility:hidden;overflow:hidden;';\r
+                               elmWrap.appendChild( elmUploader);\r
+                               \r
+                               var elmScript = document.createElement( 'script');\r
+                               elmScript.type = 'text\/javascript';\r
+                               elmScript.src = pettanr.CONST.CREATE_COMIC_JS;\r
+                               elmWrap.appendChild( elmScript);\r
+                               \r
+                               elmProgress.innerHTML = 'loading form.';\r
+                               \r
+                               if( timer === null){\r
+                                       timer = window.setInterval( detectForm, 250);\r
+                               }\r
+                               \r
                                COMIC_CONSOLE.onWindowResize( w, h);\r
                        },\r
                        onWindowResize: function( _windowW, _windowH){\r
@@ -3596,6 +3684,19 @@ pettanr.comicConsole = ( function(){
                                );\r
                        },\r
                        onClose: function(){\r
+                               elmForm !== null && $( elmUploader ).remove();\r
+                               elmForm  = null;\r
+                               isUploading = false;\r
+                               \r
+                               if( elmScript !== null ){\r
+                                       document.body.removeChild( elmScript);\r
+                                       elmScript = null;                                       \r
+                               }\r
+                               if( timer !== null){\r
+                                       window.clearInterval( timer);\r
+                                       timer = null;\r
+                               }\r
+                               \r
                                jqWrap.hide();\r
                        },\r
                        ID: ID\r
@@ -3643,19 +3744,17 @@ pettanr.uploadConsole = ( function(){
                 * upload ボタンが押されたらまず iframe をつくる.
                 */\r
                function clickOK(){\r
-                       if( !elmForm || elmFile.value.length === 0) return false;\r
-                       pettanr.util.createIframe( TARGET_FRAME_NAME, onCreateIframe);\r
+                       if( !elmForm || !elmIframe || isUploading === true ) return false;\r
+                       if( elmFile.value.length === 0) return false;\r
                        elmProgress.innerHTML = 'uploading.';\r
                        isUploading = true;\r
+                       submit();\r
                        return false;\r
                }\r
                /*\r
                 * form の target に iframe を指定したのち submit();
                 */\r
-                       function onCreateIframe( iframe ){\r
-                               elmContainer.appendChild( iframe );\r
-                               elmForm.target = iframe.name;\r
-                               \r
+                       function submit(){\r
                                try {\r
                                        elmForm.submit();\r
                                } catch( e){\r
@@ -3666,11 +3765,10 @@ pettanr.uploadConsole = ( function(){
                                }\r
                                \r
                                if( pettanr.ua.isIE){\r
-                                       iframe.onreadystatechange = detectIframe;\r
+                                       elmIframe.onreadystatechange = detectIframe;\r
                                } else {\r
-                                       iframe.onload = onIframeUpdate;\r
+                                       elmIframe.onload = onLoad;\r
                                }\r
-                               elmIframe = iframe;\r
                                elmProgress.innerHTML = 'uploading..';\r
                        }\r
                /*\r
@@ -3680,22 +3778,21 @@ pettanr.uploadConsole = ( function(){
                            if ( elmIframe.readyState === 'complete') {\r
                                elmIframe.onreadystatechange = new Function();\r
                                elmIframe.onreadystatechange = null;\r
-                               onIframeUpdate();\r
+                               onLoad();\r
                            }\r
                                }\r
-                                       function onIframeUpdate(){\r
+                                       function onLoad(){\r
                                                elmIframe.onload = null;\r
                                                ( elmIframe.contentWindow || elmIframe.contentDocument.parentWindow ).close();\r
-                                               elmIframe = null;\r
                                                elmProgress.innerHTML = 'success!';\r
                                                setTimeout( clickCancel , 1000);\r
                                                isUploading = false;\r
                                        }\r
                \r
                function detectForm(){\r
-                       elmForm = elmContainer.getElementsByTagName( 'form')[ 0 ];\r
+                       elmForm = elmContainer.getElementsByTagName( 'form' )[ 0 ];\r
                        if( elmForm){\r
-                               var _inputList = elmForm.getElementsByTagName( 'input'),\r
+                               var _inputList = elmForm.getElementsByTagName( 'input' ),\r
                                        _input;\r
                                for( var i=0, l= _inputList.length; i<l; ++i){\r
                                        _input = _inputList[ i ];\r
@@ -3708,8 +3805,16 @@ pettanr.uploadConsole = ( function(){
                                }\r
                                window.clearInterval( timer);\r
                                timer = null;\r
+                               pettanr.util.createIframe( TARGET_FRAME_NAME, onCreateIframe);\r
+                               elmProgress.innerHTML = 'create iframe';\r
                        }\r
                }\r
+               function onCreateIframe( _iframe ){\r
+                       elmContainer.appendChild( _iframe );\r
+                       elmIframe = _iframe;\r
+                       elmForm.target = _iframe.name;\r
+                       elmProgress.innerHTML = '';\r
+               }\r
                /*\r
                 * 
                 */\r
@@ -3745,7 +3850,7 @@ pettanr.uploadConsole = ( function(){
                                        timer = window.setInterval( detectForm, 250);\r
                                }\r
                                \r
-                               elmProgress.innerHTML = '';\r
+                               elmProgress.innerHTML = 'loading form.';\r
                                \r
                                UPLOAD_CONSOLE.onWindowResize( w, h);\r
                        },\r
@@ -3759,12 +3864,13 @@ pettanr.uploadConsole = ( function(){
                        },\r
                        onClose: function(){\r
                                elmForm !== null && $( elmContainer.children ).remove();\r
-                               elmForm = elmFile = null;\r
+                               elmForm = elmFile = elmIframe = null;\r
                                isUploading = false;\r
                                \r
-                               document.body.removeChild( elmScript);\r
-                               elmScript = null;\r
-                               \r
+                               if( elmScript !== null ){\r
+                                       document.body.removeChild( elmScript);\r
+                                       elmScript = null;                                       \r
+                               }\r
                                if( timer !== null){\r
                                        window.clearInterval( timer);\r
                                        timer = null;\r
@@ -3797,4 +3903,346 @@ pettanr.uploadConsole = ( function(){
                        UPLOAD_CONSOLE.show( w, h);\r
                }\r
        }\r
+})();\r
+\r
+pettanr.panelConsole = ( function(){\r
+       var PANEL_CONSOLE = ( function(){\r
+               var jqWrap,\r
+                       ID = 'panelConsole',\r
+                       TARGET_FRAME_NAME = 'targetFrameCreateNewPanel',\r
+                       elmContainer = document.getElementById( 'newpanel'),\r
+                       elmProgress = document.getElementById( 'panel-console-progress'),\r
+                       timer = null,\r
+                       elmScript = null,\r
+                       elmForm = null,\r
+                       elmIframe = null,\r
+                       isUploading = false;\r
+               /*\r
+                * upload ボタンが押されたらまず iframe をつくる.\r
+                */\r
+               function clickOK(){\r
+                       if( !elmForm || !elmIframe || isUploading === true ) return false;\r
+                       elmProgress.innerHTML = 'uploading.';\r
+                       isUploading = true;\r
+                       submit();\r
+                       return false;\r
+               }\r
+               /*\r
+                * form の target に iframe を指定したのち submit();\r
+                */\r
+                       function submit(){\r
+                               try {\r
+                                       elmForm.submit();\r
+                               } catch( e){\r
+                                       elmProgress.innerHTML = 'submit() err..';\r
+                                       isUploading = false;\r
+                                       setTimeout( clickCancel , 3000);\r
+                                       return;\r
+                               }\r
+                               \r
+                               if( pettanr.ua.isIE){\r
+                                       elmIframe.onreadystatechange = detectIframe;\r
+                               } else {\r
+                                       elmIframe.onload = onLoad;\r
+                               }\r
+                               elmProgress.innerHTML = 'uploading..';\r
+                       }\r
+               /*\r
+                * ie の 場合、readyState をチェック.\r
+                */\r
+                               function detectIframe(){\r
+                           if ( elmIframe.readyState === 'complete') {\r
+                               elmIframe.onreadystatechange = new Function();\r
+                               elmIframe.onreadystatechange = null;\r
+                               onLoad();\r
+                           }\r
+                               }\r
+                                       function onLoad(){\r
+                                               elmIframe.onload = null;\r
+                                               ( elmIframe.contentWindow || elmIframe.contentDocument.parentWindow ).close();\r
+                                               elmProgress.innerHTML = 'success!';\r
+                                               setTimeout( clickCancel , 1000);\r
+                                               isUploading = false;\r
+                                       }\r
+               \r
+               function detectForm(){\r
+                       elmForm = elmContainer.getElementsByTagName( 'form' )[ 0 ];\r
+                       if( elmForm){\r
+                               var _inputList = elmForm.getElementsByTagName( 'input' ),\r
+                                       _input;\r
+                               for( var i=0, l= _inputList.length; i<l; ++i){\r
+                                       _input = _inputList[ i ];\r
+                                       if( _input.type === 'submit'){\r
+                                               _input.style.display = 'none';\r
+                                       }\r
+                               }\r
+                               window.clearInterval( timer);\r
+                               timer = null;\r
+                               pettanr.util.createIframe( TARGET_FRAME_NAME, onCreateIframe);\r
+                               elmProgress.innerHTML = 'create iframe';\r
+                       }\r
+               }\r
+               function onCreateIframe( _iframe ){\r
+                       elmContainer.appendChild( _iframe );\r
+                       elmIframe = _iframe;\r
+                       elmForm.target = _iframe.name;\r
+                       elmProgress.innerHTML = '';\r
+               }\r
+               /*\r
+                * \r
+                */\r
+               function clickCancel(){\r
+                       if( isUploading === true) return false;\r
+                       pettanr.overlay.hide();\r
+                       PANEL_CONSOLE.onClose();\r
+                       return false;\r
+               }\r
+               \r
+               return {\r
+                       init: function(){\r
+                               this.jqWrap = jqWrap = $( '#panel-console-wrapper').hide();\r
+                               $( '#panel-console-post-button').click( clickOK );\r
+                               $( '#panel-console-cancel-button').click( clickCancel );\r
+\r
+                               delete PANEL_CONSOLE.init;\r
+                       },\r
+                       jqWrap: null,\r
+                       show: function( w, h){\r
+                               /*\r
+                                * ie 6, 7 で fadeIn 中の要素に appendChild すると クラッシュするので、document.body に追加.\r
+                                */                             \r
+                               elmScript = document.createElement( 'script');\r
+                               elmScript.type = 'text\/javascript';\r
+                               elmScript.src = pettanr.CONST.CREATE_PANEL_JS;\r
+                               document.body.appendChild( elmScript);\r
+                               \r
+                               jqWrap.show();\r
+                               pettanr.overlay.show( PANEL_CONSOLE );\r
+\r
+                               if( timer === null){\r
+                                       timer = window.setInterval( detectForm, 250 );\r
+                               }\r
+                               \r
+                               elmProgress.innerHTML = 'loading form.';\r
+                               \r
+                               PANEL_CONSOLE.onWindowResize( w, h );\r
+                       },\r
+                       onWindowResize: function( _windowW, _windowH){\r
+                               jqWrap.css(\r
+                                       {\r
+                                               left:   Math.floor( ( _windowW -jqWrap.width()) /2),\r
+                                               top:    Math.floor( ( _windowH -jqWrap.height()) /2)\r
+                                       }\r
+                               );\r
+                       },\r
+                       onClose: function(){\r
+                               elmForm !== null && $( elmContainer.children ).remove();\r
+                               elmForm = elmIframe = null;\r
+                               isUploading = false;\r
+                               \r
+                               if( elmScript !== null ){\r
+                                       document.body.removeChild( elmScript);\r
+                                       elmScript = null;                                       \r
+                               }\r
+                               if( timer !== null){\r
+                                       window.clearInterval( timer);\r
+                                       timer = null;\r
+                               }\r
+                               jqWrap.hide();\r
+                       },\r
+                       ID: ID\r
+               }\r
+       })();\r
+       \r
+       return {\r
+               init: function(){\r
+                       PANEL_CONSOLE.init();\r
+                       delete pettanr.comicConsole.init;\r
+               },\r
+               onOpen: function(){\r
+                       \r
+               },\r
+               onClose: function(){\r
+                       \r
+               },\r
+               onWindowResize: function( _windowW, _windowH){\r
+               },\r
+               _quickAccessShow: function(){\r
+                       jqWindow = pettanr.jqWindow();\r
+                       var w = jqWindow.width(),\r
+                               h = jqWindow.height();\r
+                       PANEL_CONSOLE.show( w, h);\r
+               }\r
+       }\r
+})();\r
+\r
+pettanr.artistConsole = ( function(){\r
+       var ARTIST_CONSOLE = ( function(){\r
+               var jqWrap,\r
+                       ID = 'artistConsole',\r
+                       TARGET_FRAME_NAME = 'targetFrameResisterArtist',\r
+                       elmContainer = document.getElementById( 'register'),\r
+                       elmProgress = document.getElementById( 'artist-console-progress'),\r
+                       timer = null,\r
+                       elmScript = null,\r
+                       elmForm = null,\r
+                       elmIframe = null,\r
+                       isUploading = false;\r
+               /*\r
+                * upload ボタンが押されたらまず iframe をつくる.\r
+                */\r
+               function clickOK(){\r
+                       if( !elmForm || !elmIframe || isUploading === true ) return false;\r
+                       elmProgress.innerHTML = 'uploading.';\r
+                       isUploading = true;\r
+                       submit();\r
+                       return false;\r
+               }\r
+               /*\r
+                * form の target に iframe を指定したのち submit();\r
+                */\r
+                       function submit(){\r
+                               try {\r
+                                       elmForm.submit();\r
+                               } catch( e){\r
+                                       elmProgress.innerHTML = 'submit() err..';\r
+                                       isUploading = false;\r
+                                       setTimeout( clickCancel , 3000);\r
+                                       return;\r
+                               }\r
+                               \r
+                               if( pettanr.ua.isIE){\r
+                                       elmIframe.onreadystatechange = detectIframe;\r
+                               } else {\r
+                                       elmIframe.onload = onLoad;\r
+                               }\r
+                               elmProgress.innerHTML = 'uploading..';\r
+                       }\r
+               /*\r
+                * ie の 場合、readyState をチェック.\r
+                */\r
+                               function detectIframe(){\r
+                           if ( elmIframe.readyState === 'complete') {\r
+                               elmIframe.onreadystatechange = new Function();\r
+                               elmIframe.onreadystatechange = null;\r
+                               onLoad();\r
+                           }\r
+                               }\r
+                                       function onLoad(){\r
+                                               elmIframe.onload = null;\r
+                                               ( elmIframe.contentWindow || elmIframe.contentDocument.parentWindow ).close();\r
+                                               elmProgress.innerHTML = 'success!';\r
+                                               setTimeout( clickCancel , 1000);\r
+                                               isUploading = false;\r
+                                       }\r
+               \r
+               function detectForm(){\r
+                       elmForm = elmContainer.getElementsByTagName( 'form' )[ 0 ];\r
+                       if( elmForm){\r
+                               var _inputList = elmForm.getElementsByTagName( 'input' ),\r
+                                       _input;\r
+                               for( var i=0, l= _inputList.length; i<l; ++i){\r
+                                       _input = _inputList[ i ];\r
+                                       if( _input.type === 'submit'){\r
+                                               _input.style.display = 'none';\r
+                                       }\r
+                               }\r
+                               window.clearInterval( timer);\r
+                               timer = null;\r
+                               pettanr.util.createIframe( TARGET_FRAME_NAME, onCreateIframe);\r
+                               elmProgress.innerHTML = 'create iframe';\r
+                       }\r
+               }\r
+               function onCreateIframe( _iframe ){\r
+                       elmContainer.appendChild( _iframe );\r
+                       elmIframe = _iframe;\r
+                       elmForm.target = _iframe.name;\r
+                       elmProgress.innerHTML = '';\r
+               }\r
+               /*\r
+                * \r
+                */\r
+               function clickCancel(){\r
+                       if( isUploading === true) return false;\r
+                       pettanr.overlay.hide();\r
+                       ARTIST_CONSOLE.onClose();\r
+                       return false;\r
+               }\r
+               \r
+               return {\r
+                       init: function(){\r
+                               this.jqWrap = jqWrap = $( '#artist-console-wrapper').hide();\r
+                               $( '#artist-console-post-button').click( clickOK );\r
+                               $( '#artist-console-cancel-button').click( clickCancel );\r
+\r
+                               delete ARTIST_CONSOLE.init;\r
+                       },\r
+                       jqWrap: null,\r
+                       show: function( w, h){\r
+                               /*\r
+                                * ie 6, 7 で fadeIn 中の要素に appendChild すると クラッシュするので、document.body に追加.\r
+                                */                             \r
+                               elmScript = document.createElement( 'script');\r
+                               elmScript.type = 'text\/javascript';\r
+                               elmScript.src = pettanr.CONST.RESISTER_ARTIST_JS;\r
+                               document.body.appendChild( elmScript);\r
+                               \r
+                               jqWrap.show();\r
+                               pettanr.overlay.show( ARTIST_CONSOLE );\r
+\r
+                               if( timer === null){\r
+                                       timer = window.setInterval( detectForm, 250 );\r
+                               }\r
+                               \r
+                               elmProgress.innerHTML = 'loading form.';\r
+                               \r
+                               ARTIST_CONSOLE.onWindowResize( w, h );\r
+                       },\r
+                       onWindowResize: function( _windowW, _windowH){\r
+                               jqWrap.css(\r
+                                       {\r
+                                               left:   Math.floor( ( _windowW -jqWrap.width()) /2),\r
+                                               top:    Math.floor( ( _windowH -jqWrap.height()) /2)\r
+                                       }\r
+                               );\r
+                       },\r
+                       onClose: function(){\r
+                               elmForm !== null && $( elmContainer.children ).remove();\r
+                               elmForm = elmIframe = null;\r
+                               isUploading = false;\r
+                               \r
+                               if( elmScript !== null ){\r
+                                       document.body.removeChild( elmScript);\r
+                                       elmScript = null;                                       \r
+                               }\r
+                               if( timer !== null){\r
+                                       window.clearInterval( timer);\r
+                                       timer = null;\r
+                               }\r
+                               jqWrap.hide();\r
+                       },\r
+                       ID: ID\r
+               }\r
+       })();\r
+       \r
+       return {\r
+               init: function(){\r
+                       ARTIST_CONSOLE.init();\r
+                       delete pettanr.comicConsole.init;\r
+               },\r
+               onOpen: function(){\r
+                       \r
+               },\r
+               onClose: function(){\r
+                       \r
+               },\r
+               onWindowResize: function( _windowW, _windowH){\r
+               },\r
+               _quickAccessShow: function(){\r
+                       jqWindow = pettanr.jqWindow();\r
+                       var w = jqWindow.width(),\r
+                               h = jqWindow.height();\r
+                       ARTIST_CONSOLE.show( w, h);\r
+               }\r
+       }\r
 })();
\ No newline at end of file
index 632c698..b14d594 100644 (file)
                                        border:                 1px outset #ccc;\r
                                        outline:                1px;\r
                                }\r
-               /*  Comic Console\r
+               \r
+               /*  Console Common\r
                --------------------------------------------------------------------------------------*/\r
-                       #comic-console-wrapper {\r
-                               position:                               absolute;\r
-                               width:                                  320px;\r
-                               height:                                 300px;\r
-                               background-color:               #fff;\r
+                       .console-wrapper {\r
+                               position:                       absolute;\r
+                               width:                          320px;\r
+                               padding:                        20px 20px 0;\r
+                               background-color:       #fff;\r
                        }\r
+                               .console-header {\r
+                                       border-bottom:  2px solid #666;\r
+                                       color:                  #666;\r
+                                       text-align:             center;\r
+                                       font-size:              12px;\r
+                                       line-height:    12px;\r
+                                       padding-bottom: 8px;\r
+                                       margin-bottom:  10px;\r
+                               }\r
+                               .console-inner {\r
+                                       \r
+                               }\r
+                                       .console-button-container {\r
+                                               margin-top:                     20px;\r
+                                               border-top:                     2px solid #666;\r
+                                               padding-top:            10px;\r
+                                               overflow:                       auto;\r
+                                       }\r
+                                               .console-submit-button {\r
+                                                       display:                        block;\r
+                                                       width:                          100px;\r
+                                                       float:                          left;\r
+                                                       margin-left:            30px;\r
+                                               }\r
+                                               .console-cancel-button {\r
+                                                       display:                        block;\r
+                                                       width:                          100px;\r
+                                                       float:                          right;\r
+                                                       margin-right:           30px;\r
+                                               }\r
+                               .console-progress {\r
+                                       clear:                  both;\r
+                                       text-align:             center;\r
+                                       height:                 12px;\r
+                                       font-size:              12px;\r
+                                       line-height:    12px;\r
+                                       margin-top:             15px;\r
+                                       color:                  #666;\r
+                               }\r
+                                       \r
+               /*  Comic Console\r
+               --------------------------------------------------------------------------------------*/\r
                                #comic-console {\r
-                                       padding:                        20px;\r
+                                       \r
                                }\r
                                        .comic-console-label {\r
                                                display:                        inline-block;\r
                                        #comic-console-width,\r
                                        #comic-console-editable,\r
                                        #comic-console-visible {}\r
-                                               #comic-console-title-value { width: 140px; text-align:left;}\r
+                                               #comic-console-title-value { width: 180px; text-align:left;}\r
                                                #comic-console-height-value {}\r
                                                #comic-console-width-value {}\r
                                                #comic-console-editable-value {}\r
                                                position:                       relative;\r
                                        }\r
                                        \r
-                                       #comic-console-post-button {\r
-                                               width:                          100px;\r
-                                               position:                       absolute;\r
-                                               left:                           20px;\r
-                                               top:                            0;\r
-                                       }\r
-                                       #comic-console-cancel-button {\r
-                                               width:                          100px;\r
-                                               position:                       absolute;\r
-                                               left:                           160px;\r
-                                               top:                            0;\r
-                                       }\r
+\r
                                        \r
                /*  Upload Console\r
                --------------------------------------------------------------------------------------*/\r
-                       #upload-console-wrapper {\r
-                               position:                               absolute;\r
-                               width:                                  320px;\r
-                               height:                                 300px;\r
-                               background-color:               #fff;\r
-                       }\r
                                #upload-console {\r
-                                       padding:                        20px;\r
                                }\r
-                                       .upload-console-label {\r
-                                               display:                        inline-block;\r
-                                               width:                          120px;\r
-                                               line-height:            22px;\r
-                                               color:                          #666;\r
-                                               cursor:                         pointer;\r
-                                       }\r
-                                       .upload-console-value {\r
-                                               width:                          40px;\r
-                                               text-align:                     right;\r
-                                       }\r
-                                       .upload-console-line {\r
-                                               margin:                         10px 0;\r
-                                               padding-bottom:         5px;\r
-                                               border-bottom:          1px solid #ccc;\r
-                                       }\r
-                                       #upload-console-button-container {\r
-                                               margin-top:                     20px;\r
-                                               position:                       relative;\r
-                                               height:                         40px;\r
-                                       }\r
-                                       \r
-                                       #upload-console-post-button {\r
-                                               width:                          100px;\r
-                                               position:                       absolute;\r
-                                               left:                           20px;\r
-                                               top:                            0;\r
-                                       }\r
-                                       #upload-console-cancel-button {\r
-                                               width:                          100px;\r
-                                               position:                       absolute;\r
-                                               left:                           160px;\r
-                                               top:                            0;\r
-                                       }\r
+\r
 /*--------------------------------------------------------------------------------------\r
  * \r
  *  home\r
similarity index 86%
rename from 0.4.x/wiki/wiki_120325.xml
rename to 0.4.x/wiki/wiki_120401.xml
index 7e54ff1..7a6ac60 100644 (file)
     <link>http://sourceforge.jp/projects/pettanr/wiki/!feeds/list</link>\r
     <description>\r
       ぺったんR プロジェクト Wiki ページ一覧    </description>\r
-        <dc:date>2012-03-25T06:42:06+09:00</dc:date>\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/ComicModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/RoadMap" />\r
                 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ComicsPlay" />\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
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/WhatsPettan" />\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/ComicsCreate" />\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/ComicsIndex" />\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
-\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ArtistsController" />\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/OriginalPictureModel" />\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
-\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/OriginalPicturesEdit" />\r
                 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerShow" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesNew" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesShow" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesIndex" />\r
                 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesUpdate" />\r
-\r
                 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/LicensesShow" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesCreate" />\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
-\r
                 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/HistoryOfPettan" />\r
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/YasushiIto" />\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/ApiIndex" />\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
-\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/PanelsControllerCreate" />\r
-\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/ComicsCount" />\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
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/OriginalLicensesController" />\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/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
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/CommonLicensesCreate" />\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/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
-                <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/LicensesIndex" />\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/ForDevelopers" />\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
     </items>\r
   </channel>\r
 \r
-      <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost">\r
-    <title>TestLocalhost</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost</link>\r
-\r
-    <dc:identifier>TestLocalhost</dc:identifier>\r
-    <dc:date>2012-03-25T06:42:06+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[= Localhost でのテストについて\r
-ローカルPCに用意された ぺったんR サーバで サーバ・クライアントの結合テストを行います.\r
-\r
-ローカルへの ぺったんR サーバのインストールについては次のページを参照しましょう.HowToInstall\r
-== 12/03/25\r
- * ブランチ v03_marge_js\r
- * pettanR サーバ version 0.3\r
- * petta]]>\r
-    </description>\r
-    <content:encoded>\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.2F25">12/03/25</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_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
-<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 で チェック、動作を確認しました.それと localhost では問題ないのに、ローカルの work.html から画像のアップロードを開くと IETester の ie6, 7 がクラッシュしてしまうんですが、、、\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 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
-      </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-24T19:15:40+09:00</dc:date>\r
+    <dc:identifier>OriginalPictureModel</dc:identifier>\r
+    <dc:date>2012-04-01T19:09:00+09:00</dc:date>\r
         <description>\r
-\r
-      <![CDATA[= コミック comic @ AboutModels\r
-参考:ComicsController\r
+      <![CDATA[== 原画 original_pictures @ AboutModels\r
+参考:OriginalPicturesController\r
 \r
 == カラム\r
 ||name||和名||type||default||null||limit||note||\r
-||title||作品名||string||||FALSE||100||||\r
-||width||コマの幅デフォルト値||integer||||FALSE|| ||||\r
-||heigh]]>\r
+||ext||画像フォーマット||string|| ||FALSE|| ||||\r
+||width||幅ピクセル数||integer|| ||F]]>\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><h2 id="h2-.E6.89.80.E6.8C.81.E5.88.A4.E5.AE.9A">所持判定</h2><ul><li>コミックの持ち主かどうかをTrue/Falseで返す\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>パラメータのidがコミックの作者idと一致するならTrue、しないならFalse\r
-</li></ul><h2 id="h2-.E9.96.B2.E8.A6.A7.E8.A8.B1.E5.8F.AF">閲覧許可</h2><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>パラメータが絵師登録してなかったなら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
@@ -261,602 +241,1773 @@ Firefox3.6, ie6,7,8 で チェック、動作を確認しました.それと l
 </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></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></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
+</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-.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><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
-      </item>\r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/RoadMap">\r
-    <title>RoadMap</title>\r
 \r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/RoadMap</link>\r
-    <dc:identifier>RoadMap</dc:identifier>\r
-    <dc:date>2012-03-20T17:17:30+09:00</dc:date>\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
-      <![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
+      <![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
-\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
+      <![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/ComicsPlay">\r
-    <title>ComicsPlay</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsPlay</link>\r
-    <dc:identifier>ComicsPlay</dc:identifier>\r
+        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ArtistsNew">\r
+    <title>ArtistsNew</title>\r
 \r
-    <dc:date>2012-03-20T11:20:44+09:00</dc:date>\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[= play @ ComicsController\r
-コミック閲覧。コミックを読むための機能\r
+      <![CDATA[= new @ ArtistsController\r
+新規作成フォームの表示\r
 === url\r
- * http://localhost:3000/comics/1/play\r
- * http://localhost:3000/comics/1.json/play\r
+ * http://localhost:3000/artists/new\r
+ * http://localhost:3000/artists/new.json\r
+ * http://localhost:3000/artists/new.js\r
 === リクエスト\r
-||権限||作家*||\r
-||method||get||\r
-||urlパラメータ||id{,]]>\r
+||権限||作家||\r
+||met]]>\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
+\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>要求されたidのcomicと関連データを取得する。\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-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></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-.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">コマの部品の扱い方</h4><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><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><p>htmlのとき、以下の構造のデータを見やすく構造化したページを返す。\r
-</p><ul><li>comic\r
-<ul><li>author\r
-</li></ul></li></ul><p>jsonのとき、comicのコマ取得結果をjsonで返す機能を利用して、以下の構造のデータを返す。\r
-</p><ul><li>comic (*)\r
-<ul><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></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><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
+</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
-        <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
+    <dc:date>2012-04-01T17:14:52+09:00</dc:date>\r
         <description>\r
-      <![CDATA[== javascript のクリーンアップ、圧縮\r
-=== クリーンアップ\r
-javascript は、変数宣言時の区切り文字や、行の終わりのセミコロンなどを間違えていても、予期したとおりに動作したりして潜在的な問題を抱えることになる.[[BR]]\r
-以上のものは、Aptana で警告されないものも結構ある.[[BR]]\r
-jsDo.it にアップロードすると、Webコンソールで javascr]]>\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[<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
+      <![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
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/FrontPage">\r
-    <title>FrontPage</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/FrontPage</link>\r
 \r
-    <dc:identifier>FrontPage</dc:identifier>\r
-    <dc:date>2012-03-18T16:02:46+09:00</dc:date>\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[= ぺったんRのWiki =\r
-== 賀正\r
-みなさまよろしくお願いいたします.辰年にあやかっていい感じにいきたいなぁ~、と.\r
-\r
-[[Thumb(dragon.jpg, size=large, caption=辰年!)]]\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
-original:[[BR]]\r
-http://sourceforge.jp/projects/pettanr/wiki/FrontPage/attach/drago]]>\r
     </description>\r
     <content:encoded>\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=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><tr class="row-odd"><td><a href="/ticket/browse.php?group_id=6674&amp;tid=27178">Wikiの間違い</a></td><td class="date">2012-02-25 22:12</td></tr><tr class="row-odd"><td class="extrainfo">パネルの戻り値でコマ絵とフキダシがtのHash配列となっているが、Hashはソートできないので、Arrayとする。</td><td class="userinfo">(未割り当て)</td></tr><tr class="row-even"><td><a href="/ticket/browse.php?group_id=6674&amp;tid=27153">コマ背景の仕様が稚拙</a></td><td class="date">2012-01-18 09:13</td></tr><tr class="row-even"><td class="extrainfo">コマに背景が設定できる。\r
-panel.resource_picture_idで素材を使うが、素材を指定するしかできない。これでは反転などができ...</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></table><div class="list_link"><a href="/projects/pettanr/ticket/">チケット一覧を確認</a></div></div></div>\r
-]]>\r
-    </content:encoded>\r
-\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
-    <dc:date>2012-03-18T15:57:53+09:00</dc:date>\r
-        <description>\r
-\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
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdate">\r
-    <title>ComicsUpdate</title>\r
-\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdate</link>\r
-    <dc:identifier>ComicsUpdate</dc:identifier>\r
-    <dc:date>2012-03-15T18:36:59+09:00</dc:date>\r
-        <description>\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
-\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>指定されたidのコミックを取得する。\r
-</li><li>権限をチェックする。\r
-</li><li>コミックデータを与えられたPOSTデータで置き換える。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-</li><li>データを検証し、dbを更新する。\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><p>htmlのとき、更新されたコミックの閲覧ページに遷移する。\r
-</p><p>jsonのとき、comicの単体出力オプションを利用して、以下の構造のデータを返す。\r
-</p><ul><li>comic (*)\r
-<ul><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></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><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/ComicsCreate">\r
-    <title>ComicsCreate</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsCreate</link>\r
-    <dc:identifier>ComicsCreate</dc:identifier>\r
-\r
-    <dc:date>2012-03-15T18:30:04+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
-    </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>権限をチェックする。\r
-</li><li>POSTデータからcomicデータを起こす。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-</li><li>comicデータを検証し、dbに保存する。\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><p>htmlのとき、作成されたコミックの閲覧ページに遷移する。\r
-</p><p>jsonのとき、comicの単体出力オプションを利用して、以下の構造のデータを返す。\r
-</p><ul><li>comic (*)\r
-<ul><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></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
+      <![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
-        <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
-    <dc:date>2012-03-15T18:18:15+09:00</dc:date>\r
+    <dc:identifier>ApiIndex</dc:identifier>\r
+    <dc:date>2012-04-01T17:13:37+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
+      <![CDATA[= クライアントが必要としそうなAPI\r
+何がどんな機能を実行するために、どんなデータが必要かを挙げていってください。体裁はどうでもいいです。\r
 \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>指定された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>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><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なら、コミック閲覧ページへ遷移する。\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/ComicsNew">\r
-    <title>ComicsNew</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsNew</link>\r
+== ぺったんサーバーの情報\r
+ * API の url\r
+   * 最終的にはここに掲載 RailsControllers\r
 \r
-    <dc:identifier>ComicsNew</dc:identifier>\r
-    <dc:date>2012-03-15T18:16:40+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.js\r
-=== リクエスト\r
-||権限||作家||\r
-||method||GET||\r
-||urlパラメータ||なし||\r
-||POSTデータ||json形]]>\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
+</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>権限をチェックする。\r
-</li><li>空のcomicを用意し、デフォルト値を補充する。\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-.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0">フォーム</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
@@ -864,142 +2015,533 @@ panel.resource_picture_idで素材を使うが、素材を指定するしかで
 </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><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></ul>]]>\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/ComicsIndex">\r
-    <title>ComicsIndex</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsIndex</link>\r
-    <dc:identifier>ComicsIndex</dc:identifier>\r
-    <dc:date>2012-03-15T17:25:35+09:00</dc:date>\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[= 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
+      <![CDATA[== javascript のクリーンアップ、圧縮\r
+=== クリーンアップ\r
+javascript は、変数宣言時の区切り文字や、行の終わりのセミコロンなどを間違えていても、予期したとおりに動作したりして潜在的な問題を抱えることになる.[[BR]]\r
+以上のものは、Aptana で警告されないものも結構ある.[[BR]]\r
+jsDo.it にアップロードすると、Webコンソールで javascr]]>\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>新着コミックpage_size件を一覧形式で表示する。ただし、作者によって非公開にされたコミックは含まない。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>権限をチェックする。\r
-</li><li>comicの一覧取得でコミックリストを取得する。\r
-<ul><li>pageとpage_sizeを渡す。\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>省略時、不正な値が渡された時は定数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><p>htmlのとき、以下の構造のデータを見やすく列挙したページを返す。\r
-</p><ul><li>comic (*)\r
-<ul><li>author (*)\r
-</li></ul></li></ul><p>jsonのとき、comicの単体出力オプションを利用して、以下の構造のデータを列挙して返す。\r
-</p><ul><li>comic (*)\r
-<ul><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><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
+      <![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/ComicsShow">\r
-    <title>ComicsShow</title>\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
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsShow</link>\r
-    <dc:identifier>ComicsShow</dc:identifier>\r
-    <dc:date>2012-03-15T17:25:16+09:00</dc:date>\r
+    <dc:date>2012-03-18T15:57:53+09:00</dc:date>\r
         <description>\r
-      <![CDATA[= show @ ComicsController\r
-単票形式\r
-=== url\r
- * http://localhost:3000/comics/1.json\r
-=== リクエスト\r
-||権限||作家*||\r
-||method||get||\r
-||urlパラメータ||id||\r
-||POSTデータ||json形式*||\r
-||html||○||\r
-||json||○||\r
-||jsonp||&t]]>\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
-\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.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の単体取得で、要求されたidのコミックを取得する。\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-.E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h3><h4 id="h4-.E6.AD.A3.E5.B8.B8.E7.B3.BB">正常系</h4><p>htmlのとき、以下の構造のデータを見やすく構造化したページを返す。\r
-</p><ul><li>comic\r
-<ul><li>author\r
-</li></ul></li></ul><p>jsonのとき、comicの単体出力オプションを利用して、以下の構造のデータを返す。\r
-</p><ul><li>comic (*)\r
-<ul><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><li>他人の非公開コミックだった。\r
-<ul><li>htmlなら、コミック閲覧ページへ遷移する。\r
-</li><li>jsonなら、エラーメッセージを返す。\r
-<ul><li>ステータスコードは403 :forbidden\r
-</li></ul></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
+      <![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
-\r
     <dc:date>2012-03-11T10:19:16+09:00</dc:date>\r
         <description>\r
       <![CDATA[= ER図\r
@@ -1011,6 +2553,7 @@ panel.resource_picture_idで素材を使うが、素材を指定するしかで
 出力される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
@@ -1041,10 +2584,10 @@ G]]>
 </li></ul>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -1052,7 +2595,6 @@ G]]>
 関節ごとに部品になっているので、手離れが良い。表情は一切なく、アングルもせいぜい十種程度に限定。下の絵は使いやすいように、あらかじめ組み合わせてある。\r
 [[Embed(http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou/attach/of.png)]]\r
 [[Embed(http://sourceforge.jp/pro]]>\r
-\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
@@ -1067,14 +2609,15 @@ G]]>
 <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
-\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
@@ -1088,36 +2631,36 @@ G]]>
   * [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-03-25">2012-03-25</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/TestLocalhost">TestLocalhost</a>\r
-</li></ul><h4 id="h4-2012-03-24">2012-03-24</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>\r
-</li></ul><h4 id="h4-2012-03-20">2012-03-20</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/RoadMap">RoadMap</a>\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></ul><h4 id="h4-2012-03-19">2012-03-19</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ItoZyun">ItoZyun</a>\r
-</li></ul><h4 id="h4-2012-03-18">2012-03-18</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/FrontPage">FrontPage</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/WhatsPettan">WhatsPettan</a>\r
-</li></ul><h4 id="h4-2012-03-15">2012-03-15</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsUpdate">ComicsUpdate</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/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/ComicsIndex">ComicsIndex</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></ul><h4 id="h4-2012-03-11">2012-03-11</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a>\r
-</li></ul><h4 id="h4-2012-03-10">2012-03-10</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutEbizou">AboutEbizou</a>\r
-</li></ul><h4 id="h4-2012-03-07">2012-03-07</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SideBar">SideBar</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/AuthorsController">AuthorsController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController">ResourcePicturesController</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorModel">AuthorModel</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel">PanelPictureModel</a>\r
-</li></ul><h4 id="h4-2012-03-06">2012-03-06</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesControllerIndex">PanelPicturesControllerIndex</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BundledLicenses">BundledLicenses</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AppendixList">AppendixList</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutLicense">AboutLicense</a>\r
-</li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForArtists">ForArtists</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/PanelsControllerShow">PanelsControllerShow</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
@@ -1129,38 +2672,6 @@ G]]>
 </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
-\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
-    <dc:date>2012-03-07T09:01:58+09:00</dc:date>\r
-        <description>\r
-\r
-      <![CDATA[= 絵師 @ RailsControllers\r
-絵師陣のデータ。作品を探したり。\r
-\r
-参考:ArtistModel\r
-== ArtistsIndex\r
-== ArtistsShow\r
-== ArtistsCount\r
-== ArtistPictures\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-ArtistPictures"><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistPictures">ArtistPictures</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/AuthorsController">\r
     <title>AuthorsController</title>\r
@@ -1242,74 +2753,13 @@ G]]>
 </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/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-03-07T08:17:10+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-.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>画像データ file\r
-</li><li>ライセンスid license_id\r
-</li><li>絵師id artist_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><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>削除検証\r
-</p><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-.E7.B5.B5.E5.B8.AB.20ArtistModel">絵師 <a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistModel">ArtistModel</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-.E7.B5.B5.E5.B8.AB.20ArtistModel-2">絵師 <a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistModel">ArtistModel</a></h4><ul><li>素材更新日時を現在時刻にする。\r
-</li></ul><h3 id="h3-.E5.89.8A.E9.99.A4.E6.99.82">削除時</h3><h4 id="h4-.E7.B5.B5.E5.B8.AB.20ArtistModel-3">絵師 <a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistModel">ArtistModel</a></h4><ul><li>素材数を-1する。\r
-</li><li>素材更新日時を現在時刻にする。\r
-</li></ul><p>resource_picture_idをメモする\r
-</p>]]>\r
-    </content:encoded>\r
-\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
-\r
       <![CDATA[= コマ絵 panel_pictures\r
 コマ上に添付された素材に関するデータ。\r
 \r
@@ -1349,14 +2799,15 @@ G]]>
 <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
-\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
@@ -1368,7 +2819,6 @@ G]]>
 ||urlパラメータ||{page=1,pa]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -1401,9 +2851,9 @@ G]]>
       </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
-\r
     <dc:date>2012-03-06T18:38:54+09:00</dc:date>\r
         <description>\r
       <![CDATA[= ライセンス\r
@@ -1415,17 +2865,18 @@ G]]>
 ]]>\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
-\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
@@ -1434,7 +2885,6 @@ G]]>
  * BundledLicenses\r
 \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
@@ -1443,10 +2893,10 @@ G]]>
 </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
-\r
     <dc:identifier>AboutLicense</dc:identifier>\r
     <dc:date>2012-03-06T18:35:22+09:00</dc:date>\r
         <description>\r
@@ -1461,6 +2911,7 @@ G]]>
 == 用意されたライセンス\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
@@ -1514,15 +2965,14 @@ G]]>
 </p><p>作者の表示については必ず同一ページ内に表示します。ただし、ぺったんRはオープンソースライセンスですから、ソースコードが改変された場合は、その限りではありません。\r
 </p>]]>\r
     </content:encoded>\r
-\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
-\r
       <![CDATA[= 絵師向け文書\r
 はじめに GuidanceForArtist\r
 == ライセンス\r
@@ -1545,75 +2995,20 @@ AboutLicense
 <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
-      </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-06T18:28:45+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>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/OriginalPicturesUpdate">OriginalPicturesUpdate</a>が起動され、指定の行が更新される。だから、フォームの表示のみの処理だけで、これといったdb処理はない。\r
-</p><ul><li>セッションまたは認証トークンから作家アカウントを特定する。\r
-</li><li>作家アカウントから絵師データを取得する。\r
-</li><li>指定されたidの原画を取得する。\r
-</li><li>権限をチェックする。\r
-</li><li>フォームの表示に必要な選択リストを取得する。\r
-<ul><li>licensesのidとnameをname順に取得する。\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-.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0">フォーム</h3><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><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なら、絵師登録を促すページへ遷移する。\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
+</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
-\r
     <dc:date>2012-03-06T18:28:20+09:00</dc:date>\r
         <description>\r
+\r
       <![CDATA[= show @ PanelsController\r
 コマ表示。ぺったんの超本丸。\r
 === url\r
@@ -1665,138 +3060,6 @@ AboutLicense
 </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
-\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-06T18:27:22+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
-<ul><li>licensesのidとnameをname順に取得する。\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><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>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><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なら、絵師登録を促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\r
-</li></ul></li></ul>]]>\r
-    </content:encoded>\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
-\r
-    <dc:identifier>OriginalPicturesShow</dc:identifier>\r
-    <dc:date>2012-03-06T18:26:44+09:00</dc:date>\r
-        <description>\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>要求されたidのoriginal_picturesを取得する。\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-.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>original_pictures\r
-<ul><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></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></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
-\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
-    <dc:identifier>OriginalPicturesIndex</dc:identifier>\r
-    <dc:date>2012-03-06T18:26:09+09:00</dc:date>\r
-        <description>\r
-\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}</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
-</li><li>原画データの中から対象絵師がオーナーの行を新着順で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>original_pictures\r
-<ul><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></ul></li><li>絵師登録してなかった。\r
-<ul><li>htmlなら、絵師登録を促すページへ遷移する。\r
-</li><li>jsonならエラーメッセージを返す。\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/ResourcePictureModel">\r
     <title>ResourcePictureModel</title>\r
 \r
@@ -1861,82 +3124,11 @@ AboutLicense
 </li></ul>]]>\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
-    <dc:identifier>OriginalPicturesUpdate</dc:identifier>\r
-\r
-    <dc:date>2012-03-06T18:23:17+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>指定されたidの原画を取得する。\r
-</li><li>権限をチェックする。\r
-</li><li>原画データを与えられたPOSTデータで置き換える。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-</li><li>データを検証し、dbを更新する。\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>更新された原画データを返す。\r
-<ul><li>htmlなら、更新された原画の閲覧ページに遷移する。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><p>json時のデータ階層\r
-</p><ul><li>original_pictures\r
-<ul><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></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><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/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
@@ -1950,7 +3142,6 @@ AboutLicense
 ||html||○||\r
 ||json||○||\r
 ||jsonp||&time]]>\r
-\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
@@ -1962,88 +3153,26 @@ AboutLicense
 </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
-        <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
-\r
-    <dc:identifier>OriginalPicturesCreate</dc:identifier>\r
-    <dc:date>2012-03-06T18:20:19+09:00</dc:date>\r
-        <description>\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>権限をチェックする。\r
-</li><li>POSTデータから原画データを起こす。\r
-</li><li>起こしたデータの足りない部分を補正する。\r
-</li><li>データを検証し、dbに保存する。\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></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>操作中の絵師の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><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>作成された原画データを返す。\r
-<ul><li>htmlなら、原画の一覧ページに遷移する。\r
-</li><li>jsonならjson形式で返す。\r
-</li></ul></li></ul><p>json時のデータ階層\r
-</p><ul><li>original_pictures\r
-<ul><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>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><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
+</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
-\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
-\r
       <![CDATA[= index @ ResourcePicturesController\r
 一覧形式\r
 === url\r
@@ -2053,6 +3182,7 @@ AboutLicense
 ||権限||作家*||\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
@@ -2088,8 +3218,8 @@ AboutLicense
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesShow">\r
     <title>ResourcePicturesShow</title>\r
-\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
@@ -2102,7 +3232,6 @@ AboutLicense
 =]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -2143,14 +3272,15 @@ AboutLicense
 </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
-\r
     <dc:date>2012-03-06T17:36:08+09:00</dc:date>\r
         <description>\r
+\r
       <![CDATA[= チームぺったんR\r
 == 役割\r
 チームぺったんRは、ぺったんRの決まりに沿った組織運営をしていく役割を担う。\r
@@ -2216,9 +3346,9 @@ AboutLicense
 </li></ul>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -2238,9 +3368,9 @@ AboutLicense
  * oss化して分散する\r
    * ソースコードの分散\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
@@ -2267,8 +3397,8 @@ AboutLicense
         <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
-\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
@@ -2313,21 +3443,21 @@ AboutLicense
 </li><li>安定して優れた成果を挙げれば採り込む\r
 </li></ul></li></ul>]]>\r
     </content:encoded>\r
-\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
-\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
@@ -2338,8 +3468,8 @@ AboutLicense
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/VerticalWriting">\r
     <title>VerticalWriting</title>\r
-\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
@@ -2353,7 +3483,6 @@ AboutLicense
  * 仮に 横書きでも縦書きでも表示できる、とした場合、]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -2366,14 +3495,15 @@ AboutLicense
 </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
-\r
     <dc:date>2012-02-29T18:39:09+09:00</dc:date>\r
         <description>\r
+\r
       <![CDATA[= ぺったんの歴史\r
 \r
 参考\r
@@ -2389,489 +3519,128 @@ AboutLicense
 </li></ul>]]>\r
     </content:encoded>\r
       </item>\r
+        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/LocalWiki">\r
+    <title>LocalWiki</title>\r
 \r
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/YasushiIto">\r
-    <title>YasushiIto</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/YasushiIto</link>\r
-    <dc:identifier>YasushiIto</dc:identifier>\r
-    <dc:date>2012-02-29T09:19:14+09:00</dc:date>\r
-        <description>\r
-      <![CDATA[Panelのインターフェイスが技術的にあやふや。ネスト構造をフォームで渡せるのか。\r
- * フォームのネストはできるがrailsっぽすぎてクライアントから見て素直じゃない\r
- * たぶん、サーバが自前でjsonパースした方が良い\r
-コモンライセンスの初期化。パブリックドメインだけは追加。\r
-\r
-フキダシは名前の末尾を@ドメインにする慣習\r
-\r
-クリコモは転載自由なのか?\r
-\r
-jpgは反転できなく]]>\r
-\r
-    </description>\r
-    <content:encoded>\r
-      <![CDATA[<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>SNS・ブログ\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/LocalWiki">\r
-    <title>LocalWiki</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/LocalWiki</link>\r
-\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
-      <![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
-\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
-    <dc:date>2012-02-26T00:27:49+09:00</dc:date>\r
-        <description>\r
-\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
-        <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ChangeDoc">\r
-    <title>ChangeDoc</title>\r
-\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
-    </description>\r
-    <content:encoded>\r
-\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
-    <dc:identifier>UserModel</dc:identifier>\r
-\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
-      </item>\r
-\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
-    <dc:identifier>ApiIndex</dc:identifier>\r
-    <dc:date>2012-02-19T19:16:18+09:00</dc:date>\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[= ã\82¯ã\83©ã\82¤ã\82¢ã\83³ã\83\88ã\81\8cå¿\85è¦\81ã\81¨ã\81\97ã\81\9dã\81\86ã\81ªAPI\r
-何がどんな機能を実行するために、どんなデータが必要かを挙げていってください。体裁はどうでもいいです。\r
+      <![CDATA[= ã\83­ã\83¼ã\82«ã\83«ã\81§ã\81® wiki ã\81®é\96²è¦§ ã\81¨ Wiki ã\81®ã\83\90ã\83\83ã\82¯ã\82¢ã\83\83ã\83\97\r
+[[Embed(http://static.sourceforge.jp/thumb/g/2/980/640x640_0.png)]]\r
 \r
-== ぺったんサーバーの情報\r
- * API の url\r
-   * 最終的にはここに掲載 RailsControllers\r
+== ネットが無い環境でも wiki を見る\r
 \r
-== 一覧系ページをまとめる\r
- * 自分のことを知りたい/home/index\r
-   * 作家としての自分\r
-  ]]>\r
+=== 動作確認ブラウザ\r
+ie6~8, firefox3.6\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>]]>\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
-\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
@@ -2886,15 +3655,14 @@ Userモデル
       <![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
-\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
-\r
       <![CDATA[= ぺったんR劇場\r
  * いい感じにオチた過去の話題を収集していく.\r
 == ApiIndex より\r
@@ -2906,6 +3674,7 @@ Userモデル
      * べらぼうに多い画像から探す、という経験は、僕は フリーアイコン 素材の一覧サイトでします.だいたい納得しなが]]>\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
@@ -2997,9 +3766,9 @@ Userモデル
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2">\r
     <title>HtmlAndCss2</title>\r
-\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
@@ -3011,7 +3780,6 @@ Userモデル
    * コマ]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -3063,11 +3831,11 @@ Win98 を買ってずっとそのまま、ということだって月収数万
 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
-\r
     <dc:date>2012-02-14T18:42:53+09:00</dc:date>\r
         <description>\r
       <![CDATA[= コマ panel @ AboutModels\r
@@ -3078,6 +3846,7 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||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
@@ -3133,10 +3902,10 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </li></ul>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -3150,7 +3919,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||method||get||\r
 ||urlパラメータ||{page=1,page_size=25}||\r
 ||POSTデー]]>\r
-\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
@@ -3182,14 +3950,15 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </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
-\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
@@ -3209,15 +3978,14 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </li></ul><h4 id="h4-panel_max_page_size">panel_max_page_size</h4><ul><li>コマを一覧形式で表示する機能で、一ページに表示できる(APIが返す)データの最大行数。\r
 </li></ul>]]>\r
     </content:encoded>\r
-\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
-\r
       <![CDATA[= ホーム @ RailsControllers\r
 作家の作業場。自分が持ってるデータを操作するための機能。\r
 \r
@@ -3228,15 +3996,16 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ]]>\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
-\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
@@ -3252,7 +4021,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -3286,11 +4054,11 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </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
-\r
     <dc:date>2012-02-13T17:47:36+09:00</dc:date>\r
         <description>\r
       <![CDATA[= update @ PanelsController\r
@@ -3303,6 +4071,7 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||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
@@ -3358,10 +4127,10 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </li></ul></li></ul></li></ul>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -3374,7 +4143,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 === リクエスト\r
 ||権限||作家||\r
 ||method|]]>\r
-\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
@@ -3416,79 +4184,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 <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/PanelsControllerCreate">\r
-    <title>PanelsControllerCreate</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerCreate</link>\r
-\r
-    <dc:identifier>PanelsControllerCreate</dc:identifier>\r
-    <dc:date>2012-02-13T17:15:47+09:00</dc:date>\r
-        <description>\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><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-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
 \r
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelsControllerNew">\r
@@ -3651,77 +4346,43 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 \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/ComicsCount">\r
-    <title>ComicsCount</title>\r
-    <link>http://sourceforge.jp/projects/pettanr/wiki/ComicsCount</link>\r
-\r
-    <dc:identifier>ComicsCount</dc:identifier>\r
-    <dc:date>2012-02-12T14:54:30+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
-    </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のvisible=1な行の数を取得する。\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>comic.count\r
-</li></ul>]]>\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
-\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
-\r
       <![CDATA[= top @ ComicsController\r
 総合トップページ。\r
 == url\r
@@ -3743,14 +4404,15 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </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
-\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
@@ -3764,7 +4426,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||j]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -3778,9 +4439,9 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
       </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
-\r
     <dc:date>2012-02-12T12:34:07+09:00</dc:date>\r
         <description>\r
       <![CDATA[= count @ ResourcePicturesController\r
@@ -3796,6 +4457,7 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||]]>\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
@@ -3807,18 +4469,17 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </li></ul>]]>\r
     </content:encoded>\r
       </item>\r
-\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
-\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
@@ -3830,10 +4491,10 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </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
-\r
     <dc:identifier>OriginalLicensesNew</dc:identifier>\r
     <dc:date>2012-02-11T13:28:13+09:00</dc:date>\r
         <description>\r
@@ -3844,6 +4505,7 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
  * 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
@@ -3866,15 +4528,14 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </li><li>jsonならエラーメッセージを返す。\r
 </li></ul></li></ul>]]>\r
     </content:encoded>\r
-\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
-\r
       <![CDATA[= destroy @ CommonLicensesController\r
 削除\r
 == url\r
@@ -3910,14 +4571,15 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </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
-\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
@@ -3929,7 +4591,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||html||○|]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -3960,9 +4621,9 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
       </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
-\r
     <dc:date>2012-02-11T13:09:24+09:00</dc:date>\r
         <description>\r
       <![CDATA[= update @ OriginalLicensesController\r
@@ -3976,6 +4637,7 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ]]>\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
@@ -4027,11 +4689,11 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </li></ul></li></ul></li></ul>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -4043,7 +4705,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||パラメータ||id+jsonまたはフォーム||\r
 ||権限||管理者||\r
 ||html||]]>\r
-\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
@@ -4089,10 +4750,10 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </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
-\r
     <dc:identifier>CommonLicensesEdit</dc:identifier>\r
     <dc:date>2012-02-11T11:52:04+09:00</dc:date>\r
         <description>\r
@@ -4103,6 +4764,7 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
  * 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
@@ -4126,15 +4788,14 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 <ul><li>ステータスコードは404 :not_found\r
 </li></ul></li></ul></li></ul>]]>\r
     </content:encoded>\r
-\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
-\r
       <![CDATA[= edit @ OriginalLicensesController\r
 編集\r
 == url\r
@@ -4171,14 +4832,15 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 <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
-\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
@@ -4190,7 +4852,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||html|]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -4232,9 +4893,9 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
       </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
-\r
     <dc:date>2012-02-11T11:29:00+09:00</dc:date>\r
         <description>\r
       <![CDATA[= create @ CommonLicensesController\r
@@ -4249,6 +4910,7 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ]]>\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
@@ -4286,16 +4948,15 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </li></ul></li></ul></li></ul>]]>\r
     </content:encoded>\r
       </item>\r
-\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
-\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
@@ -4307,10 +4968,10 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </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
-\r
     <dc:identifier>CommonLicensesNew</dc:identifier>\r
     <dc:date>2012-02-11T09:20:40+09:00</dc:date>\r
         <description>\r
@@ -4321,6 +4982,7 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
  * 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
@@ -4340,15 +5002,14 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </li><li>jsonならエラーメッセージを返す。\r
 </li></ul></li></ul>]]>\r
     </content:encoded>\r
-\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
-\r
       <![CDATA[= コモンライセンス  @ RailsControllers\r
 普遍性の高いライセンスを管理する機能。安定して信頼感のあるライセンスは、どのサーバにも組み込んでおきたいし、組み込まれていて欲しい。そこで、スタンダードなライセンスをぺったんRに同梱する。公共性の高さから、操作は一般ユーザには開放されず、管理者しか使えない。ほとんどの場合、管理者もメンテナンスする機会はないが、ぺったんR公式がライセン]]>\r
     </description>\r
@@ -4360,14 +5021,15 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </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
-\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
@@ -4378,7 +5040,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 時間軸はストーリー上での時間の流れの順序で、読者がフキダシやキャラクターを目で追う順序とも言えます。コマのデータを時間軸順に並べれば、台本]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -4399,9 +5060,9 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
       </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
-\r
     <dc:date>2012-02-10T09:11:17+09:00</dc:date>\r
         <description>\r
       <![CDATA[= original_licenses オリジナルライセンス @ AboutModels\r
@@ -4411,15 +5072,16 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||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
-\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
@@ -4427,17 +5089,16 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||name||ライセンス名||string|| ||FALSE|| ||||\r
 ||url||条項ページURL||string|| ||FALSE|| ||||\r
 ||cc_by||クリエイティブコモンズBYフラグ||integer||0]]>\r
-\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
-\r
     <dc:identifier>CommonLicenseModel</dc:identifier>\r
     <dc:date>2012-02-10T09:10:19+09:00</dc:date>\r
         <description>\r
@@ -4446,20 +5107,20 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||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
-\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
-\r
       <![CDATA[= サーバ側の機能\r
 == コミック関係\r
  * ComicsController\r
@@ -4494,14 +5155,15 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </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
-\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
@@ -4515,7 +5177,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ||jsonp||&times;|]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -4546,9 +5207,9 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
       </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
-\r
     <dc:date>2012-02-09T18:35:15+09:00</dc:date>\r
         <description>\r
       <![CDATA[= セリフ @ RailsControllers\r
@@ -4565,6 +5226,7 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 管理者]]>\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
@@ -4573,11 +5235,11 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </p>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -4592,7 +5254,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ----\r
 == browse\r
 ]]>\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
@@ -4603,60 +5264,13 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </p>]]>\r
     </content:encoded>\r
       </item>\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
-\r
-    <dc:identifier>ForDevelopers</dc:identifier>\r
-    <dc:date>2012-02-08T19:56:35+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
-    </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>サーバ側の機能 <a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a>\r
-</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
 \r
-      </item>\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
-\r
       <![CDATA[= コマ絵 @ RailsControllers\r
 コマ上に添付された素材に関する処理。\r
 \r
@@ -4666,6 +5280,7 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 \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
@@ -4678,8 +5293,8 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PrintAttributes">\r
     <title>PrintAttributes</title>\r
-\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
@@ -4687,7 +5302,6 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 ぺったんRはwebで漫画を作るサイトの規格を策定することを試みているので、ぺったんAPIを開放するとともに、最低限あるべき姿を取り決めようともしている。その一つとして、データの正しい(フェアな)使い方を提示する。ここで書かれる義務はソフトウェアのライセンスとは関係なく、どちらかと言えばサーバ運営者がAPIの利用に際してユーザと交わすAPI規約的な性質のものである。ぺったん]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -4697,14 +5311,15 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </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
-\r
     <dc:date>2012-02-07T18:45:59+09:00</dc:date>\r
         <description>\r
+\r
       <![CDATA[= クロスバックエンドな吹きだし表示機能\r
 \r
 ぺったんRの吹きだしは、さまざまな尻尾の向きを持つ吹きだし画像を用意します.[[BR]]\r
@@ -4734,9 +5349,9 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 </p>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -4748,9 +5363,9 @@ Opera にこだわったのは、古いPCにもやさしい(らしい)から
 \r
 ぺったんR では、その反転に取り組む.[[BR]]\r
 サーバ]]>\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
@@ -4848,8 +5463,8 @@ picture/vh/001.png
         <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
-\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
@@ -4867,15 +5482,14 @@ ie6 以下のブラウザでは 透過情報付の png 画像を正しく表示
 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
-\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
-\r
       <![CDATA[= コマ @ RailsControllers\r
 \r
 ストーリー上のワンシーンを漫画状に表示するための機能。\r
@@ -4887,6 +5501,7 @@ javascript が切られている場合は、、、?
 == 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
@@ -4898,8 +5513,8 @@ javascript が切られている場合は、、、?
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">\r
     <title>ComicsController</title>\r
-\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
@@ -4917,21 +5532,21 @@ javascript が切られている場合は、、、?
 == Comic]]>\r
     </description>\r
     <content:encoded>\r
-\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
-\r
     <dc:date>2012-02-01T19:02:50+09:00</dc:date>\r
         <description>\r
+\r
       <![CDATA[= 原画 @ RailsControllers\r
 絵師がぺったんRに預けた画像に関するデータを管理するための機能。原画なので、オーナーしか操作できない。\r
 \r
@@ -4949,9 +5564,9 @@ javascript が切られている場合は、、、?
 </p><ul><li>CountAPIは用意してない。なぜなら、ユーザが使える素材の数を正しく反映しないから。原画は置いておくけど、提供は中止ということもある。</li></ul>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -4963,9 +5578,9 @@ javascript が切られている場合は、、、?
 どちらで動かすかは設定で決められる。\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
@@ -4982,8 +5597,8 @@ javascript が切られている場合は、、、?
         <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
-\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
@@ -5036,15 +5651,14 @@ javascript が切られている場合は、、、?
 <ul><li>ファイル(リソース)エクスプローラー\r
 </li><li>コミック、コマ、画像、吹きだし、画像提供絵師情報</li></ul></li></ul>]]>\r
     </content:encoded>\r
-\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
-\r
       <![CDATA[= インストール\r
 == 前提条件\r
  * Ruby1.9系\r
@@ -5056,6 +5670,7 @@ WindowsならRailsInstaller が楽かも。ただし、この選択はImageMagic
 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
@@ -5107,8 +5722,8 @@ c:\sites&gt;mkdir system\pettanr
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/BalloonModel">\r
     <title>BalloonModel</title>\r
-\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
@@ -5122,7 +5737,6 @@ c:\sites&gt;mkdir system\pettanr
 ||balloon_template_id||フキダシ枠テンプレート種id||integer|| ||FA]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -5181,14 +5795,15 @@ c:\sites&gt;mkdir system\pettanr
 </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
-\r
     <dc:date>2012-01-28T10:22:59+09:00</dc:date>\r
         <description>\r
+\r
       <![CDATA[= セリフ speaches\r
 参考:SpeechesController\r
 \r
@@ -5225,9 +5840,9 @@ c:\sites&gt;mkdir system\pettanr
 </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
-\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
@@ -5237,9 +5852,9 @@ c:\sites&gt;mkdir system\pettanr
 作家が活動できる環境を整備しながらサイト運営する人です。整備のためにはルールやポリシーに違反した事項を裁かなければならないため、特権的な操作能力を与えられています。ぺったん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
@@ -5256,8 +5871,8 @@ c:\sites&gt;mkdir system\pettanr
         <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
-\r
     <dc:identifier>AccessControl</dc:identifier>\r
+\r
     <dc:date>2012-01-25T18:57:31+09:00</dc:date>\r
         <description>\r
       <![CDATA[= 権限\r
@@ -5297,19 +5912,19 @@ c:\sites&gt;mkdir system\pettanr
 </li><li>作家がお試し版として最初の数コマだけ公開してもバチは当たらないような?\r
 </li></ul></li></ul>]]>\r
     </content:encoded>\r
-\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
-\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
@@ -5330,8 +5945,8 @@ c:\sites&gt;mkdir system\pettanr
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutBackgroundImage">\r
     <title>AboutBackgroundImage</title>\r
-\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
@@ -5344,7 +5959,6 @@ c:\sites&gt;mkdir system\pettanr
  * background-position]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -5359,14 +5973,15 @@ c:\sites&gt;mkdir system\pettanr
 リサイズや位置の調整のできる パネルピクチャにしましょう.( 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
-\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
@@ -5378,9 +5993,9 @@ http://www.func09.com/wordpress/archives/1226
 </p>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -5396,9 +6011,9 @@ http://www.func09.com/wordpress/archives/1226
 \r
 以上は 入門 ajax 増補改訂版より\r
 ]]>\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
@@ -5412,8 +6027,8 @@ http://www.func09.com/wordpress/archives/1226
         <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
-\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
@@ -5447,19 +6062,19 @@ dbを閲覧するためのメニュー。
 </p><h3 id="h3-approve">approve</h3><p>管理者承認。\r
 </p>]]>\r
     </content:encoded>\r
-\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
-\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
@@ -5468,8 +6083,8 @@ dbを閲覧するためのメニュー。
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/BundledSpeachBalloons">\r
     <title>BundledSpeachBalloons</title>\r
-\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
@@ -5482,7 +6097,6 @@ dbを閲覧するためのメニュー。
 [[embed(http://sourceforge.]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -5502,14 +6116,15 @@ dbを閲覧するためのメニュー。
 </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
-\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
@@ -5521,9 +6136,9 @@ dbを閲覧するためのメニュー。
 <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
-\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
@@ -5536,9 +6151,9 @@ ActiveRecord::Schema.define(:version =&gt; 20120102071851) do
 \r
   create_table &quot;admins&quot;, :force =&gt; true do |t|\r
     t.string   &quot;email&quot;,        ]]>\r
-\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
@@ -5817,8 +6432,8 @@ end
         <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
-\r
     <dc:identifier>SpeachBalloonsController</dc:identifier>\r
+\r
     <dc:date>2012-01-04T07:58:05+09:00</dc:date>\r
         <description>\r
       <![CDATA[= フキダシテンプレート\r
@@ -5854,20 +6469,20 @@ end
 指定されたidが存在しない場合は、404エラーコードが返る。\r
 </p>]]>\r
     </content:encoded>\r
-\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
-\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
@@ -5888,8 +6503,8 @@ end
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ClientSide">\r
     <title>ClientSide</title>\r
-\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
@@ -5903,7 +6518,6 @@ end
 ぺったんR において、ブラウ]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -5929,14 +6543,15 @@ end
 <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
-\r
     <dc:date>2011-12-28T08:57:17+09:00</dc:date>\r
         <description>\r
+\r
       <![CDATA[= フキダシテンプレート\r
 フキダシとは、線で囲まれた枠の中に文章が書かれたものです。つまり、枠と文章を合わせたものがフキダシとなるわけです。\r
 \r
@@ -5961,9 +6576,9 @@ end
 </p>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -5974,9 +6589,9 @@ end
 JsonAPIを使えば、ブラウザから操作せずとも直接データを操作できる。外部のプログラムからぺったんを楽しめる。\r
 \r
 APIにはCRUD、つまり、create,read,update,deleteがあり、それぞれがHTTPのPOST,G]]>\r
-\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
@@ -6162,8 +6777,8 @@ ghgAlP0/Bxl7hN5Zu0EAAAAASUVORK5CYII=
         <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
-\r
     <dc:identifier>GuidanceForArtist</dc:identifier>\r
+\r
     <dc:date>2011-12-23T17:08:22+09:00</dc:date>\r
         <description>\r
       <![CDATA[= 絵師さん向け文書?\r
@@ -6194,15 +6809,14 @@ ghgAlP0/Bxl7hN5Zu0EAAAAASUVORK5CYII=
 </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
-\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
-\r
       <![CDATA[= 作家さん向け文書?\r
 == 作家とは\r
 ぺったんサーバが提供する素材とフキダシを利用して漫画状のコマを作ることで表現する人を作家と言います。\r
@@ -6218,6 +6832,7 @@ ghgAlP0/Bxl7hN5Zu0EAAAAASUVORK5CYII=
 === コミックの配布範囲を決める\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
@@ -6236,8 +6851,8 @@ ghgAlP0/Bxl7hN5Zu0EAAAAASUVORK5CYII=
       </item>\r
         <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/TranslationComicElements">\r
     <title>TranslationComicElements</title>\r
-\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
@@ -6252,7 +6867,6 @@ ghgAlP0/Bxl7hN5Zu0EAAAAASUVORK5CYII=
  * ]]>\r
     </description>\r
     <content:encoded>\r
-\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
@@ -6260,14 +6874,15 @@ ghgAlP0/Bxl7hN5Zu0EAAAAASUVORK5CYII=
 </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
-\r
     <dc:date>2011-12-23T11:28:56+09:00</dc:date>\r
         <description>\r
+\r
       <![CDATA[= PictureIO\r
 == 画像はPictureIOが出し入れする\r
 投稿された素材はデータベースではなく、ファイルに保管される。保管先は大抵の場合ローカルマシンになるが、herokuのようにローカルファイルを触れないホストもあるので、ファイルの入出力は柔軟に切り替わるようにPictureIOとして分離した。\r
@@ -6312,9 +6927,9 @@ end
 </p>]]>\r
     </content:encoded>\r
       </item>\r
-\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
@@ -6330,9 +6945,9 @@ Windows環境では。
 \r
 = 仕方ないからDMagick\r
 RMagickなしでは丸で動かないので]]>\r
-\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