Permalink
Browse files

merged documentation translations.

  • Loading branch information...
1 parent a418b97 commit 26bdbe3b7c36bf164c343aa139ba2d3cde1d8baf qiang.xue committed Jan 1, 2012
Showing with 12,512 additions and 1,301 deletions.
  1. +68 −0 docs/blog/es/prototype.database.txt
  2. +50 −0 docs/blog/es/start.design.txt
  3. +26 −0 docs/blog/es/start.requirements.txt
  4. +11 −10 docs/blog/es/start.testdrive.txt
  5. +7 −5 docs/blog/es/toc.txt
  6. +60 −0 docs/blog/ja/comment.admin.txt
  7. +164 −0 docs/blog/ja/comment.create.txt
  8. +71 −0 docs/blog/ja/comment.model.txt
  9. +3 −3 docs/blog/ja/portlet.menu.txt
  10. +19 −45 docs/blog/ja/post.admin.txt
  11. +96 −0 docs/blog/ja/post.create.txt
  12. +108 −0 docs/blog/ja/post.display.txt
  13. +41 −33 docs/blog/ja/post.model.txt
  14. +2 −2 docs/blog/ja/prototype.scaffold.txt
  15. +3 −1 docs/blog/ja/start.overview.txt
  16. +1 −1 docs/blog/ja/toc.txt
  17. +31 −3 docs/blog/pl/comment.admin.txt
  18. +21 −6 docs/blog/pl/comment.create.txt
  19. +15 −2 docs/blog/pl/post.model.txt
  20. +2 −2 docs/blog/pl/prototype.scaffold.txt
  21. +4 −4 docs/blog/pl/start.design.txt
  22. +3 −1 docs/blog/pl/start.overview.txt
  23. +34 −4 docs/blog/ru/comment.admin.txt
  24. +28 −11 docs/blog/ru/comment.create.txt
  25. +1 −1 docs/blog/ru/post.admin.txt
  26. +2 −2 docs/blog/ru/post.create.txt
  27. +17 −4 docs/blog/ru/post.model.txt
  28. +2 −2 docs/blog/ru/prototype.scaffold.txt
  29. +1 −1 docs/blog/ru/prototype.summary.txt
  30. +3 −3 docs/blog/ru/start.design.txt
  31. +4 −1 docs/blog/ru/start.overview.txt
  32. +6 −6 docs/blog/ru/start.testdrive.txt
  33. +1 −1 docs/guide/de/basics.mvc.txt
  34. +5 −6 docs/guide/de/database.ar.txt
  35. +31 −20 docs/guide/de/database.arr.txt
  36. +6 −3 docs/guide/de/database.migration.txt
  37. +2 −2 docs/guide/de/database.query-builder.txt
  38. +25 −1 docs/guide/de/extension.integration.txt
  39. +3 −3 docs/guide/de/form.model.txt
  40. +88 −0 docs/guide/de/quickstart.apache-nginx-config.txt
  41. +8 −7 docs/guide/de/toc.txt
  42. +6 −5 docs/guide/de/topics.error.txt
  43. +1 −1 docs/guide/de/topics.performance.txt
  44. +3 −3 docs/guide/de/topics.url.txt
  45. +1 −1 docs/guide/id/basics.mvc.txt
  46. +6 −1 docs/guide/id/caching.fragment.txt
  47. +5 −6 docs/guide/id/database.ar.txt
  48. +28 −20 docs/guide/id/database.arr.txt
  49. +3 −1 docs/guide/id/database.migration.txt
  50. +5 −4 docs/guide/id/database.query-builder.txt
  51. +23 −1 docs/guide/id/extension.integration.txt
  52. +3 −3 docs/guide/id/form.model.txt
  53. +78 −0 docs/guide/id/quickstart.apache-nginx-config.txt
  54. +2 −1 docs/guide/id/toc.txt
  55. +10 −9 docs/guide/id/topics.error.txt
  56. +3 −4 docs/guide/id/topics.url.txt
  57. +202 −0 docs/guide/it/basics.application.txt
  58. +172 −0 docs/guide/it/basics.best-practices.txt
  59. +188 −0 docs/guide/it/basics.component.txt
  60. +340 −0 docs/guide/it/basics.controller.txt
  61. +161 −0 docs/guide/it/basics.convention.txt
  62. +38 −0 docs/guide/it/basics.entry.txt
  63. +28 −0 docs/guide/it/basics.model.txt
  64. +132 −0 docs/guide/it/basics.module.txt
  65. +58 −0 docs/guide/it/basics.mvc.txt
  66. +130 −0 docs/guide/it/basics.namespace.txt
  67. +145 −0 docs/guide/it/basics.view.txt
  68. +51 −0 docs/guide/it/basics.workflow.txt
  69. +27 −0 docs/guide/it/database.overview.txt
  70. +238 −0 docs/guide/it/extension.create.txt
  71. +29 −0 docs/guide/it/extension.overview.txt
  72. +12 −0 docs/guide/it/index.txt
  73. +84 −0 docs/guide/it/quickstart.apache-nginx-config.txt
  74. +100 −0 docs/guide/it/quickstart.first-app-yiic.txt
  75. +256 −0 docs/guide/it/quickstart.first-app.txt
  76. +31 −0 docs/guide/it/quickstart.installation.txt
  77. +50 −0 docs/guide/it/quickstart.what-is-yii.txt
  78. +1 −1 docs/guide/ja/basics.best-practices.txt
  79. +1 −1 docs/guide/ja/basics.mvc.txt
  80. +15 −15 docs/guide/ja/database.ar.txt
  81. +22 −15 docs/guide/ja/database.arr.txt
  82. +5 −2 docs/guide/ja/database.migration.txt
  83. +2 −2 docs/guide/ja/database.query-builder.txt
  84. +23 −1 docs/guide/ja/extension.integration.txt
  85. +3 −3 docs/guide/ja/form.model.txt
  86. +2 −1 docs/guide/ja/index.txt
  87. +80 −0 docs/guide/ja/quickstart.apache-nginx-config.txt
  88. +1 −1 docs/guide/ja/test.unit.txt
  89. +2 −1 docs/guide/ja/toc.txt
  90. +8 −8 docs/guide/ja/topics.error.txt
  91. +5 −5 docs/guide/ja/topics.url.txt
  92. +1 −1 docs/guide/ja/topics.webservice.txt
  93. +4 −4 docs/guide/pl/basics.application.txt
  94. +2 −2 docs/guide/pl/basics.best-practices.txt
  95. +2 −2 docs/guide/pl/basics.component.txt
  96. +3 −3 docs/guide/pl/basics.controller.txt
  97. +1 −1 docs/guide/pl/basics.convention.txt
  98. +1 −1 docs/guide/pl/basics.model.txt
  99. +4 −4 docs/guide/pl/basics.module.txt
  100. +3 −3 docs/guide/pl/basics.namespace.txt
  101. +3 −3 docs/guide/pl/basics.workflow.txt
  102. +63 −56 docs/guide/pl/database.arr.txt
  103. +11 −9 docs/guide/pl/database.migration.txt
  104. +2 −2 docs/guide/pl/database.query-builder.txt
  105. +23 −1 docs/guide/pl/extension.integration.txt
  106. +6 −6 docs/guide/pl/form.model.txt
  107. +78 −0 docs/guide/pl/quickstart.apache-nginx-config.txt
  108. +2 −1 docs/guide/pl/toc.txt
  109. +5 −4 docs/guide/pl/topics.error.txt
  110. +3 −3 docs/guide/pl/topics.url.txt
  111. +86 −0 docs/guide/pt_br/changes.txt
  112. +14 −14 docs/guide/pt_br/topics.auth.txt
  113. +11 −11 docs/guide/ru/basics.best-practices.txt
  114. +10 −11 docs/guide/ru/basics.component.txt
  115. +1 −1 docs/guide/ru/basics.convention.txt
  116. +1 −1 docs/guide/ru/basics.mvc.txt
  117. +1 −1 docs/guide/ru/database.ar.txt
  118. +35 −26 docs/guide/ru/database.arr.txt
  119. +1 −1 docs/guide/ru/database.dao.txt
  120. +5 −4 docs/guide/ru/database.migration.txt
  121. +4 −4 docs/guide/ru/database.query-builder.txt
  122. +24 −1 docs/guide/ru/extension.integration.txt
  123. +1 −1 docs/guide/ru/extension.use.txt
  124. +4 −4 docs/guide/ru/form.model.txt
  125. +86 −0 docs/guide/ru/quickstart.apache-nginx-config.txt
  126. +2 −2 docs/guide/ru/quickstart.what-is-yii.txt
  127. +2 −1 docs/guide/ru/toc.txt
  128. +1 −1 docs/guide/ru/topics.auth.txt
  129. +1 −1 docs/guide/ru/topics.console.txt
  130. +8 −6 docs/guide/ru/topics.error.txt
  131. +5 −6 docs/guide/ru/topics.i18n.txt
  132. +1 −1 docs/guide/ru/topics.performance.txt
  133. +4 −4 docs/guide/ru/topics.url.txt
  134. +1 −1 docs/guide/sv/basics.mvc.txt
  135. +26 −18 docs/guide/sv/database.arr.txt
  136. +3 −1 docs/guide/sv/database.migration.txt
  137. +2 −2 docs/guide/sv/database.query-builder.txt
  138. +23 −1 docs/guide/sv/extension.integration.txt
  139. +3 −3 docs/guide/sv/form.model.txt
  140. +84 −0 docs/guide/sv/quickstart.apache-nginx-config.txt
  141. +2 −1 docs/guide/sv/toc.txt
  142. +8 −7 docs/guide/sv/topics.error.txt
  143. +1 −1 docs/guide/sv/topics.i18n.txt
  144. +3 −3 docs/guide/sv/topics.url.txt
  145. +65 −66 docs/guide/uk/basics.application.txt
  146. +137 −0 docs/guide/uk/basics.best-practices.txt
  147. +44 −45 docs/guide/uk/basics.component.txt
  148. +157 −57 docs/guide/uk/basics.controller.txt
  149. +58 −51 docs/guide/uk/basics.convention.txt
  150. +7 −12 docs/guide/uk/basics.entry.txt
  151. +28 −0 docs/guide/uk/basics.model.txt
  152. +123 −0 docs/guide/uk/basics.module.txt
  153. +47 −0 docs/guide/uk/basics.mvc.txt
  154. +127 −0 docs/guide/uk/basics.namespace.txt
  155. +145 −0 docs/guide/uk/basics.view.txt
  156. +42 −0 docs/guide/uk/basics.workflow.txt
  157. +187 −0 docs/guide/uk/caching.data.txt
  158. +25 −0 docs/guide/uk/caching.dynamic.txt
  159. +105 −0 docs/guide/uk/caching.fragment.txt
  160. +53 −0 docs/guide/uk/caching.overview.txt
  161. +28 −0 docs/guide/uk/caching.page.txt
  162. +86 −0 docs/guide/uk/changes.txt
  163. +494 −0 docs/guide/uk/database.ar.txt
  164. +559 −0 docs/guide/uk/database.arr.txt
  165. +206 −0 docs/guide/uk/database.dao.txt
  166. +297 −0 docs/guide/uk/database.migration.txt
  167. +17 −0 docs/guide/uk/database.overview.txt
  168. +747 −0 docs/guide/uk/database.query-builder.txt
  169. +174 −0 docs/guide/uk/extension.create.txt
  170. +62 −0 docs/guide/uk/extension.integration.txt
  171. +21 −0 docs/guide/uk/extension.overview.txt
  172. +260 −0 docs/guide/uk/extension.use.txt
  173. +58 −0 docs/guide/uk/form.action.txt
  174. +417 −0 docs/guide/uk/form.builder.txt
  175. +344 −0 docs/guide/uk/form.model.txt
  176. +19 −0 docs/guide/uk/form.overview.txt
  177. +59 −0 docs/guide/uk/form.table.txt
  178. +96 −0 docs/guide/uk/form.view.txt
  179. +15 −0 docs/guide/uk/index.txt
  180. +86 −0 docs/guide/uk/quickstart.apache-nginx-config.txt
  181. +242 −0 docs/guide/uk/quickstart.first-app.txt
  182. +29 −0 docs/guide/uk/quickstart.installation.txt
  183. +41 −0 docs/guide/uk/quickstart.what-is-yii.txt
  184. +60 −0 docs/guide/uk/test.fixture.txt
  185. +67 −0 docs/guide/uk/test.functional.txt
  186. +97 −0 docs/guide/uk/test.overview.txt
  187. +79 −0 docs/guide/uk/test.unit.txt
  188. +74 −0 docs/guide/uk/toc.txt
  189. +68 −0 docs/guide/uk/upgrade.txt
  190. +12 −15 docs/guide/zh_cn/database.ar.txt
  191. +1 −0 docs/guide/zh_cn/index.txt
  192. +279 −0 docs/guide/zh_cn/topics.gii.txt
  193. +4 −4 framework/messages/de/yii.php
  194. +10 −10 framework/messages/el/yii.php
  195. +5 −0 framework/messages/es/yii.php
  196. +1 −1 framework/messages/fr/yii.php
  197. +19 −20 framework/messages/id/yii.php
  198. +109 −109 framework/messages/it/yii.php
  199. +38 −37 framework/messages/it/zii.php
  200. +256 −0 framework/messages/kk/yii.php
  201. +38 −0 framework/messages/kk/zii.php
  202. +12 −13 framework/messages/nl/yii.php
  203. +5 −6 framework/messages/pl/yii.php
  204. +2 −2 framework/messages/pt_br/yii.php
  205. +8 −8 framework/messages/sk/yii.php
  206. +19 −20 framework/messages/sv/yii.php
  207. +221 −213 framework/messages/uk/yii.php
  208. +14 −12 framework/messages/uk/zii.php
  209. +1 −1 framework/views/it/error.php
  210. +1 −1 framework/views/it/error400.php
  211. +1 −1 framework/views/it/error403.php
  212. +1 −1 framework/views/it/error404.php
  213. +1 −1 framework/views/it/log.php
  214. +2 −2 framework/views/it/profile-callstack.php
  215. +2 −2 framework/views/it/profile-summary.php
  216. +37 −0 framework/views/ko/error.php
  217. +32 −0 framework/views/ko/error400.php
  218. +32 −0 framework/views/ko/error403.php
  219. +33 −0 framework/views/ko/error404.php
  220. +35 −0 framework/views/ko/error500.php
  221. +31 −0 framework/views/ko/error503.php
  222. +242 −0 framework/views/ko/exception.php
  223. +23 −0 framework/views/ko/log-firebug.php
  224. +40 −0 framework/views/ko/log.php
  225. +19 −0 framework/views/ko/profile-callstack-firebug.php
  226. +30 −0 framework/views/ko/profile-callstack.php
  227. +22 −0 framework/views/ko/profile-summary-firebug.php
  228. +41 −0 framework/views/ko/profile-summary.php
  229. +1 −1 framework/views/pl/error400.php
  230. +2 −2 framework/views/pl/profile-summary-firebug.php
  231. +1 −1 framework/views/pl/profile-summary.php
  232. +1 −1 framework/views/sv/exception.php
  233. +25 −25 requirements/messages/it/yii.php
  234. +2 −2 requirements/views/el/index.php
  235. +75 −0 requirements/views/it/index.php
  236. +1 −1 requirements/views/pl/index.php
@@ -0,0 +1,68 @@
+Configurando la Base de Datos
+=============================
+
+Habiendo creado un esqueleto para la aplicación y terminado el diseño de la base de datos, en esta sección vamos a crear la base de datos del blog y establecer una conexión en el esqueleto de la aplicación
+
+
+Creando la Base de Datos
+------------------------
+
+Elegimos crear una base de datos SQLite. Como el soporte de bases de datos en Yii está hecho por encima de [PDO](http://www.php.net/manual/en/book.pdo.php), podemos facilmente cambiar entre diferentes tipos de SGBD (e.g. MySQL, PostgreSQL) sin la necesidad de cambiar código en nuestra aplicación.
+
+Creamos el archivo de base de datos `blog.db` en el directorio `/wwwroot/blog/protected/data`. Notar que tanto el directorio y el archivo de la base de datos deben tener permisos de escritura por el Servidor Web, como lo requiere SQLite. Podemos simplemente copiar el archivo de base de datos desde el demo de blog en nuestra instalación de Yii que se encuentra en `/wwwroot/yii/demos/blog/protected/data/blog.db`. También podemos generar la base de datos ejecutando las sentencias SQL del archivo `/wwwroot/yii/demos/blog/protected/data/schema.sqlite.sql`.
+
+> Tip: Para ejecutar sentencias SQL, podemos usar la herramienta de línea de comando `sqlite3` que se encuentra en [Sitio Oficial de SQLite](http://www.sqlite.org/download.html).
+
+Estableciendo Conexión
+----------------------
+
+Para usar la base de datos del blog en el esqueleto de la aplicación que creamos, necesitamos modificar su [configuración de aplicación](http://www.yiiframework.com/doc/guide/basics.application#application-configuration) que se encuentra en el script PHP `/wwwroot/blog/protected/config/main.php`. El script retorna un array asociativo consitiendo de pares nombre-valor, cada uno de los cuales es usado para inicializar una propiedad con permisos de escritura de la [instancia de la aplicación](http://www.yiiframework.com/doc/guide/basics.application).
+
+Configuramos el componente `db` como sigue,
+
+~~~
+[php]
+return array(
+ ......
+ 'components'=>array(
+ ......
+ 'db'=>array(
+ 'connectionString'=>'sqlite:/wwwroot/blog/protected/data/blog.db',
+ 'tablePrefix'=>'tbl_',
+ ),
+ ),
+ ......
+);
+~~~
+
+La configuración anterior dice que tenemos un [componente de aplicación](http://www.yiiframework.com/doc/guide/basics.application#application-component) `db` donde la propiedad `connectionString` debe ser inicializada como `sqlite:/wwwroot/blog/protected/data/blog.db` y la propiedad `tablePrefix` debe ser `tbl_`.
+
+Con esta configuración, podemos acceder al objeto de conexión de la BD usando `Yii::app()->db` en cualquier lugar de nuestro código. Notar que `Yii::app()`retorna una instancia de la aplicación que creamos en el script de entrada. Si se está interesado en los posibles métodos y propiedad que una conexión a BD tiene, hay que fijarse en su [Referencia de Clase|CDbConnection]. De todas formas, en la mayoría de los casos no vamos a usar el objeto de conexión a BD directamente. En vez de eso, vamos a utilizar [ActiveRecord](http://www.yiiframework.com/doc/guide/database.ar) para acceder a la base de datos.
+
+Nos gustaría explicar un poco más acerca de la propiedad `tablePrefix` que seteamos en la configuración. Esto indica que la conexión `db` debe respetar el hecho que estamos usando `tbl_` como el prefijo de los nombres de las tablas de base de datos. En particular, si en una sentencia SQL hay un token entre llaves dobles (e.g. `{{post}}`), entonces la conexión `db` debe traducirlo al nombre de la tabla con el prefijo (e.g. `tbl_post`) antes de enviarlo al SGBD para ejecución. Esta característica es útil especialmente si en un futuro necesitamos modificar el prefijo de los nombres de las tablas sin tocas el código fuente. Por ejemplo, si estamos desarrollando un Gestor de Contenido (CMS), podemos explotar esta característica para que cuando sea instalado en un nuevo entorno, los usuarios puedan elegir el prefijo de tabla que deseen.
+
+> Tip: Si se quiere usar MySQL en vez de SQLite para almacenar los datos,
+> se puede crear una base de datos MySQL llamada `blog` usando las sentencias
+> SQL que se encuentran en `/wwwroot/yii/demos/blog/protected/data/schema.mysql.sql`.
+> Luego, modificar la configuración de la aplicación de la siguiente forma,
+>
+> ~~~
+> [php]
+> return array(
+> ......
+> 'components'=>array(
+> ......
+> 'db'=>array(
+> 'connectionString' => 'mysql:host=localhost;dbname=blog',
+> 'emulatePrepare' => true,
+> 'username' => 'root',
+> 'password' => '',
+> 'charset' => 'utf8',
+> 'tablePrefix' => 'tbl_',
+> ),
+> ),
+> ......
+> );
+> ~~~
+
+<div class="revision">$Id: prototype.database.txt 2332 2010-08-24 20:55:36Z mdomba $</div>
@@ -0,0 +1,50 @@
+Diseño General
+==============
+
+Basado en el análisis de requerimientos, decidimos usar las siguientes tablas en la base de datos para guardar los datos persistentes de nuestro blog:
+
+ * `tbl_user` guarda la información del usuario, incluyendo el nombre de usuario y password.
+ * `tbl_post` guarda la información del post. Consiste principalmente de las siguientes columnas:
+ - `title`: requerido, titulo del post;
+ - `content`: requerido, contenido del post, el cual usa: [formato Markdown](http://daringfireball.net/projects/markdown/syntax);
+ - `status`: requerido, estado del post, puede contener uno de los siguientes valores:
+ * 1, significa que el post es un borrador y no es visible al público;
+ * 2, significa que el post está disponible al público;
+ * 3, significa que el post está desactualizado y no es visible en la lista de posts (aunque sí se puede acceder individualmente)
+ - `tags`: opcional, una lista de palabras separadas por comas, que categorizan al post.
+ * `tbl_comment`guarda la información del comentario del post. Cada comentario está asociado con un post y principalmente consiste en las siguientes columnas:
+ - `name`: requerido, el nombre del autor;
+ - `email`: requerido, el email del autor;
+ - `website`: opcional, la URL del sitio web del autor;
+ - `content`: requerido, el contenido del comentario en formato de texto plano.
+ - `status`: requerido, estado del comentario, indica si el comentario está aprobado (valor 2) o no (valor 1).
+ * `tbl_tag` guarda información sobre la frecuencia de la etiqueta del post, necesario para implementar la nube de etiquetas. La tabla contiene principalmente las siguientes columnas:
+ - `name`: requerido, el nombre único de la etiqueta;
+ - `frequency`: requerido, la cantidad de veces que la etiqueta aparece en los posts.
+ * `tbl_lookup`guarda información genérica para la localizar información. Es esencialmente un mapeo entre valores enteros y cadenas de texto. El primero se refiere a la representación en nuestro código, mientras el segundo se corresponde con la presentación a los usuarios finales. Por ejemplo, usamos el entero 1 para representar el estado de un post en borrador y una cadena `Draft` mostrar éste estado a los ususarios finales. Esta tabla consiste principalmente de las siguientes columnas:
+ - `name`: la representación textual del item de datos que va a ser desplegada al usuario final;
+ - `code`: la representación numérica del item de datos;
+ - `type`: el tipo del item de datos;
+ - `position`: el orden relativo en el que se muestran los items de datos entre los demás items del mismo tipo.
+
+El siguiente diagrama de Entidad-Relación (ER) muestra la estructura de la tablas y las relaciones entre ellas.
+
+![Entity-Relation Diagram of the Blog Database](schema.png)
+
+Sentencias SQL completas correspondientes al diagrama pueden ser encontradas en [el blog demo](http://www.yiiframework.com/demos/blog/). En nuestra instalación de Yii, se encuentran en el archivo `/wwwroot/yii/demos/blog/protected/data/schema.sqlite.sql`.
+
+
+
+> Info: Nombramos todos los nombres de tablas y columnas en minúscula. Esto se debe a que diferentes Gestores de Bases de Datos, cuentan con diferentes criterios para el trato de mayúsculas y minúsculas, por lo que evitamos este tipo de problemas.
+>
+> También agregamos un prefijo `tbl_` a todas nuestras tablas. Esto se hace con dos propósitos. Primero, el prefijo introduce un Espacio de Nombres (namespace) a las tablas en caso de que necesiten coexistir con otras tablas en la misma base de datos, lo cual sucede seguido en entornos compartidos donde una base de datos es usada por múltiples aplicaciones. Segundo, usando prefijos en las tablas reducimos la posibilidad de tener algunos nombres de tablas que sean palabras reservadas en el Gestor de Base de Datos que utilicemos.
+
+Dividimos el desarrollo de nuestra aplicación de blog en los siguientes hitos.
+
+ * Hito 1: crear un prototipo del sistema de blog. Debe consistir de las funcionalidades más requeridas.
+ * Hito 2: completar el gestor de posts. Esto incluye, listar, mostrar, actualizar y borrar posts.
+ * Hito 3: completar el gestor de comentarios. Esto incluye crear, listar, aprobar, actualizar y borrar comentarios de posts.
+ * Hito 4: implementar portlets. Esto incluye a los portlets de menú, login, nube de etiquetas y de comentarios recientes
+ * Hito 5: Ajustes finales y puesta en producción.
+
+<div class="revision">$Id: start.design.txt 1677 2010-01-07 20:29:26Z qiang.xue $</div>
@@ -0,0 +1,26 @@
+Análisis de Requerimientos
+=====================
+
+La Aplicación de Blog que desarrollaremos cuenta con un usuario. El propietario del sistema va a ser capaz de ejecutar las siguientes acciones:
+
+ * Login y logout
+ * Crear, actualizar y borrar posts
+ * Publicar, despublicar y archivar posts
+ * Aprobar y borrar comentarios
+
+El resto de los usuarios son "invitados" que van a poder ejecutar las siguientes acciones:
+
+ * Leer posts
+ * Crear comentarios
+
+Se incluyen los siguientes requerimientos adicionales para este sistema:
+
+ * La página inicial del sistema debe mostrar una lista de los posts más recientes.
+ * Si una página contiene más de 10 posts, deben ser desplegados en páginas.
+ * El sistema debe ser capaz de listar posts con determinada etiqueta.
+ * El sistema debe mostrar una nube de tags indicando su frecuencia de uso.
+ * El sistema debe mostrar una lista de los comentarios más recientes.
+ * El sistema debe ser capaz de poder verse con varios temas.
+ * El sistema debe contar con URLs amigables para los buscadores.
+
+<div class="revision">$Id: start.requirements.txt 683 2009-02-16 05:20:17Z qiang.xue $</div>
@@ -6,11 +6,11 @@ En ésta sección, se describe como crear el esqueleto de una aplicación que no
Instalando Yii
--------------
-Inicialmente instalamos el framework de Yii. Obtenga una copia del archivo (versión 1.0.3 o superior) en [www.yiiframework.com](http://www.yiiframework.com/download) y descomprimala al directorio `/wwwroot/Yii`. Asegúrese que el directorio `/wwwroot/Yii/framework` haya sido creado.
+Inicialmente instalamos el framework de Yii. Obtenga una copia del archivo (versión 1.1.1 o superior) en [www.yiiframework.com](http://www.yiiframework.com/download) y descomprimála al directorio `/wwwroot/yii`. Asegúrese que el directorio `/wwwroot/yii/framework` haya sido creado.
> Tip: El framework de Yii puede instalarse en cualquier lugar del sistema de directorios. El directorio `framework` contiene todo el código estructural y es el único directorio necesario para desplegar una aplicación. Una única instalación de Yii puede ser utilizada para múltiples aplicaciones Yii.
-Luego de haber instalado Yii, abra una ventana nueva en su explorador y accese al URL `http://www.example.com/yii/requirements/index.php`. Este muestra la revisión de requerimientos provistos en la versión descargada. Asegúrese de que su Servidor y la instalación de PHP cumpla con los requerimientos mínimos para Yii. En particular, deberíamos habilitar las dos extensiones PHP `pdo` y `pdo_sqlite` las cuales son requeridas por nuestra aplicación blog para acceder a la base de datos SQLite.
+Luego de haber instalado Yii, abra una ventana nueva en su explorador y acceda a la URL `http://www.example.com/yii/requirements/index.php`. Este muestra la revisión de requerimientos provistos en la versión de Yii descargada. Para la aplicación de blog, al margen de los requisitos mínimos de Yii, se necesitan habilitar las extensiones PHP `pdo` y `pdo_sqlite` para acceder a las bases de datos SQLite.
Creando el Esqueleto de la Aplicación
@@ -39,7 +39,7 @@ A continuación, describimos brevemente lo que tenemos en la aplicación esquele
###Script de Entrada
-Tenemos un archivo llamado [script de entrada](http://www.yiiframework.com/doc/guide/basics.entry) `/wwwroot/blog/index.php` que tiene el siguiente contenido:
+Tenemos un archivo llamado [script de entrada](http://www.yiiframework.com/doc/guide/es/basics.entry) `/wwwroot/blog/index.php` que tiene el siguiente contenido:
~~~
[php]
@@ -54,12 +54,12 @@ require_once($yii);
Yii::createWebApplication($config)->run();
~~~
-Este es el único script al que los usuarios Web tienen acceso directo. El script primero incluye el archivo bootsrap de Yii `yii.php`. Luego crea una instancia de la [aplicación](http://www.yiiframework.com/doc/guide/basics.application) con la configuración especificada y luego ejecuta la aplicación.
+Este es el único script al que los usuarios Web tienen acceso directo. El script primero incluye el archivo bootsrap de Yii `yii.php`. Luego crea una instancia de la [aplicación](http://www.yiiframework.com/doc/guide/es/basics.application) con la configuración especificada y luego ejecuta la aplicación.
###Directorio Base de la Aplicación
-También tenemos un [directorio base de la aplicación](http://www.yiiframework.com/doc/guide/basics.application#application-base-directory) `/wwwroot/blog/protected`. La mayoría de nuestro código y datos estarán ubicados bajo este directorio, y debería estar protegido del accesos de usuarios Web. Para el uso en [Apache httpd Web Server], bajo este directorio creamos un archivo `.htaccess` con el siguiente contenido:
+También tenemos un [directorio base de la aplicación](http://www.yiiframework.com/doc/guide/es/basics.application#application-base-directory) `/wwwroot/blog/protected`. La mayoría de nuestro código y datos estarán ubicados bajo este directorio, y debería estar protegido del accesos de usuarios Web. Para el uso en [Apache httpd Web Server], bajo este directorio creamos un archivo `.htaccess` con el siguiente contenido:
~~~
deny from all
@@ -73,12 +73,13 @@ Flujo de la Aplicación
Para facilitar la comprensión del funcionamiento de Yii, describimos el flujo en nuestra aplicación esqueleto cuando un usuario accesa a la página de contacto:
- 1. El [script de entrada](http://www.yiiframework.com/doc/guide/basics.entry) es ejecutado por el Servidor para procesar la solicitud;
- 2. Una instancia de la [aplicación](http://www.yiiframework.com/doc/guide/basics.application) es creada y configurada con los valores iniciales especificados en el archivo de configuración de la aplicación `/wwwroot/blog/protected/config/main.php`;
- 3. La aplicación resuelve la solicitud en un [controlador](http://www.yiiframework.com/doc/guide/basics.controller) y una [acción de controlador](http://www.yiiframework.com/doc/guide/basics.controller#action). Para la solicitud de la página de contacto, esta se resuelve como el controlador de `sitio` (`site`) y la acción de `contacto` (`contact`).
+ 0. El usuario hace una solicitud a la URL `http://www.example.com/blog/index.php?r=site/contact`;
+ 1. El [script de entrada](http://www.yiiframework.com/doc/guide/es/basics.entry) es ejecutado por el Servidor para procesar la solicitud;
+ 2. Una instancia de la [aplicación](http://www.yiiframework.com/doc/guide/es/basics.application) es creada y configurada con los valores iniciales especificados en el archivo de configuración de la aplicación `/wwwroot/blog/protected/config/main.php`;
+ 3. La aplicación resuelve la solicitud en un [controlador](http://www.yiiframework.com/doc/guide/es/basics.controller) y una [acción de controlador](http://www.yiiframework.com/doc/guide/es/basics.controller#action). Para la solicitud de la página de contacto, esta se resuelve como el controlador de `sitio` (`site`) y la acción de `contacto` (`contact`).
4. La aplicación crea el controlador `site` en términos de una instancia `SiteController` y luego la ejecuta;
5. La instancia `SiteController` ejecuta la acción `contact` al llamar a su método `actionContact()`;
- 6. El método `actionContact` genera una [vista(view)](http://www.yiiframework.com/doc/guide/basics.view) llamada `contact` al usuario Web. Internamente, esto se logra al incluir el archivo de vista `/wwwroot/blog/protected/views/site/contact.php` e incluyendo el resultado en el archivo de [layout](http://www.yiiframework.com/doc/guide/basics.view#layout) `/wwwroot/blog/protected/views/layouts/main.php`.
+ 6. El método `actionContact` genera una [vista(view)](http://www.yiiframework.com/doc/guide/es/basics.view) llamada `contact` al usuario Web. Internamente, esto se logra al incluir el archivo de vista `/wwwroot/blog/protected/views/site/contact.php` e incluyendo el resultado en el archivo de [layout](http://www.yiiframework.com/doc/guide/es/basics.view#layout) `/wwwroot/blog/protected/views/layouts/column1.php`.
-<div class="revision">$Id: start.testdrive.txt 681 2009-02-16 04:57:01Z buritica $</div>
+<div class="revision">$Id: start.testdrive.txt 1734 2010-01-21 18:41:17Z qiang.xue $</div>
View
@@ -6,22 +6,22 @@
* Prototipo Inicial
- [Configurando la Base de Datos](prototype.database)
- - ["Andamiaje" (Scaffolding)](prototype.scaffold)
+ - [Andamiaje (Scaffolding)](prototype.scaffold)
- [Autenticación de Usuario](prototype.auth)
- [Resumen](prototype.summary)
* Administración de Posts
- [Personalizando el Modelo Post](post.model)
- [Crear y Actualizar Posts](post.create)
- - [Mostrando Posts](post.display)
+ - [Mostrar Posts](post.display)
- [Administración de Posts](post.admin)
* Administración de Comentarios
- - [Personalizando el Modelo Comment](comment.model)
+ - [Personalizando el Modelo de Comentarios](comment.model)
- [Crear y Actualizar Comentarios](comment.create)
- [Administración de Comentarios](comment.admin)
-* "Portlets"
+* Portlets
- [Estableciendo Arquitectura de "Portlets"](portlet.base)
- [Creación de Portlet Menú de Usuarios](portlet.menu)
- [Creación de Portlet de Inicio de Sesión](portlet.login)
@@ -32,5 +32,7 @@
- [Embellecimiento de URLs](final.url)
- [Registro de Errores](final.logging)
- [Personalización de Vista de Errores](final.error)
- - [Configuración Final y Despliegue](final.deployment)
+ - [Configuración Final y Puesta en Producción](final.deployment)
- [Mejoras Futuras](final.future)
+
+<div class="revision">$Id: toc.txt 1734 2010-01-21 18:41:17Z qiang.xue $</div>
Oops, something went wrong.

0 comments on commit 26bdbe3

Please sign in to comment.