Blog Educativo Plan del Proyecto
Lugar para el plan del proyecto con horario y enlaces
Page for the project plan including schedule and key links
Requisitos - Requirements
Original requirements definition
http://wiki.laptop.org/go/Blogs_Knight_Challenge
Second version
http://wiki.laptop.org/go/Blog_Educativo
Current version below
El Desafio - The Goal
Mas blogs de los estudiantes de Uruguay!
More blog posts from the students in Uruguay!
Requisitos y Propuesta de Diseño Actual
Estos requisitos no están ordenados por prioridad. Dentro del listado de requisitos, los importantes para el éxito del proyecto comienzan con "Debe", y aquellos requisitos que no son del todo cruciales comienzan con "Debería".
1 - Debe ser fácil para que los alumnos y los profesores escriban entradas en Blogs en Internet. Debería permitir escribir entradas en blogs de múltiples plataformas de Blogs.(e.g Drupal, de Wordpress, Blogger, otros?).
2 - Debe ser fácil para que los alumnos y los profesores escriban entradas en Blogs alojados en el Servidor de la escuela sin acceder a Internet. Debe trabajar con Moodle y Mediawiki.
3 - Debe tener una opción para que el profesor pueda repasar la entrada antes de que se publique en Internet (ver 1) o en el servidor (ver 2). Debería permitir al profesor optar por aprobar previamente las entradas o permitir que se publiquen directamente sin su aprobación previa.
4 - Debe permitir la vista previa de las entradas y la opción de ser corregidas por el autor antes de ser publicadas.
5 - Debe tener una página en la que el administrador (por ejemplo el profesor), mediante una contraseña, pueda controlar lo que los profesores y alumnos pueden ver. En esta página el administrador podrá escribir todos los registros extra, como nombre de usuario y contraseña para el blog, y las opciones marcar qué blogs están disponibles.
6 - Debería permitir la vista previa y edición de las entradas por varios alumnos o profesores antes de la publicación.
7 - Debería permitir borrar entradas del blog ( y el blog completo) tras la publicación de entradas y permitir añadir comentarios a las entradas.
8 - Debe permitir que toda una clase pueda publicar entradas en un único blog o en varios ya sea en Internet o en el Servidor (e.g. un sitio de blogger.com como http://classAAA.blogspot.com/ para toda una clase o varios blogs para varios grupos de una misma clase).
9 - Debe ser instalable e incluirse en la actualización futura del Servidor de Escuela; School Server.
10 - Debería ser fácilmente instalable en XO o aún mejor que no requiriera nuevo software en XO.
11 - Debería permitir sincronizar/copiar las entradas del blog a más de un servidor desde una escuela a otra (e.g. copiar todas las entradas desde la escuela en Soriano a la escuela en Colonia.)
12 - Debe permitir publicar entradas sin necesidad de nombre del usuario o contraseña. Debería conocer automáticamente la identidad del usuario si este está registrado Servidor de la Escuela /XO.
13 - Debe permitir publicar texto, imágenes de XO y el vídeo de XO. Debería permitir cambiar el formato del texto en la entrada.
Diseño funcional y Flujo de Trabajo
(nota: esto se escribe generalmente por el ingeniero pero he anotado mis últimas ideas y propuestas sobre el flujo de trabajo. Menciono Apache pero estoy abierto a cualquier software que siga este Flujo de trabajo básico y que permita que el alumno publicar entradas rápidamente)
Estudiante 1 - El Alumno abre el Navegador (browser) y va a la página web alojada en el Servidor de la Escuela (XS) (Apache o quizá los wordpress?). Aún mejor será que abra un marcador grabado previamente para evitar tener que escribir una dirección URL larga.
2 - El Alumno edita una entrada donde puede incorporar el texto y editar su formato. También podría tener la opción de pulsar botón para añadir foto o vídeo desde el XO (o la opción de tomar la foto o el vídeo en ese momento). El alumno puede añadir su firma si quiere porque para acceder no ha tenido que teclear usuario y contraseña.
3 - Durante la edición de la entrada podrá previsualizarla en forma HTML. La página de previsualización tiene un botón que permite seguir editando la entrada.
4 - Durante la edición de la entrada podrá (al pinchar en uno u otro botón) hacer lo siguiente (dependiendo de las opciones que permita el profesor); enviar al profesor para revisión, publicar en el blog de la escuela, publicar en el blog de Internet.
5 - Tras enviar la entrada al profesor, el alumno recibe un mensaje en HTML con la confirmación y un botón con la opción para crear otra entrada. La entrada pasaría a la lista de entradas pendientes de revisar del profesor (véase la sección del profesor abajo).
6 - Tras marcar la entrada para que se publique, el alumno recibe un mensaje en HTML con la confirmación y un botón con la opción para crear otra entrada y también con la opción de ir al blog para ver el blog con la nueva entrada publicada.
7 - La página de edición de entradas del alumno tiene una lista de las entradas anteriores ya publicadas y las entradas en borrador (aún en estado de edición y sin publicar) (en la parte baja de la página) que se graban localmente en el XO del alumno. El alumno puede volver a editar las entradas anteriores y volverlas a publicar. El blog podría contar con la opción de fecha y hora en la que la entrada es publicada o "actualizada"
Profesor
1 - El profesor abre el navegador y va a la página del profesor en XS (Apache?). Puede ser la contraseña protegida o apenas un URL del de los alumnos (los comentarios?)
2 - El profesor verá una lista de entradas de los alumnos pendientes de su aprobación o revisión y puede pulsar para ver cualesquiera para revisarla. Las entradas ya publicadas también aparecerán en esta página (¿es necesario?)
3 - Al lado de cada entrada tiene estas opciones: "Enviar al blog de la escuela", "Enviar al blog del Internet", "Editar" o "Rechazar".
4 - Si pulsa sobre "rechazar" se borrará de su página esa entradas (podría enviarlo de nuevo al XO del alumno para que lo corrija pero XS/Apache ahora sabrá de qué XO vino!) Puede tener que comenzar con rechazo y suprimir solamente y entonces el profesor tiene que encontrar al cabrito para decirles intentar otra vez.
5 - Si pulsa sobre "Enviar al blog de la escuela" o "Enviar al blog de Internet" las entradas aparecerán en la parte superior del blog. Para cada opción puede haber varios botones, leer el interfaz del Administrador para ver cómo se definirá esto.
6 - Si pulsa sobre "Editar" se abre la entrada donde podrá editar el texto y el formato. El botón "guardar" volverá a la página de "lista de entradas por revisar" del profesor.
Administrador
1 - El interfaz del Administrador es un Web page en XS/apache. Incluye un formulario para activar el blog (URL, nombre y contraseña, nombre de la escuela (el texto que utilizó al registrarse al URL), cualquier dato que sea necesario para activar el blog). Cada blog se señala por medio de una etiqueta (bandera) como escuela interna (moodle, mediawiki, drupal?) o Internet (blogger.com etc.).
Esta etiqueta se utiliza para categorizar el sitio cuando es visto por los alumnos.
2 - Cada vez que se agrega un blog, cada uno tiene el botón de radio Activado/Desactivado. Los blogs activos se mostraran arriba en las páginas de
3 - Habría sitio para más de 20 blogs (¿el numero de blogs sería como el doble al del número de clases en una escuela?).
4 - La página del Administrador tiene una opción para permitir la publicación de entradas sin la revisión del profesor. Uno para interno y uno para los sitios externos.
Requirements English ("must" means its critical to success, "should" means it very valuable but can be deferred):
Not in priority order. 1 - Must make it easy for kids and teachers to post to Blogs on the internet. Should allow posting to multiple blog sites.
2 - Must make it easy for kids and teachers to post to blogs visible only in the school. Must work with Moodle and Mediawiki. Should allow easy inclusion of other blog sites (e.g drupal, wordpress, others?). Must work with School Server.
3 - Must have an option for teacher to review post before its sent to 1 or 2 above. Should also have option to post directly without teacher approval.
4 - Must allow preview and editing of posts by author before being posted.
5 - Must have GUI for teacher or admin management of the options.
6 - Should allow editing and review by multiple students and teachers before posting.
7 - Should allow removing the blog after its posted and adding comments to blogs.
8 - Must allow posting to multiple blogs in school or on internet at same site (e.g. a blogger.com site for each class).
9 - Must be installable and included in future build of School Server.
10 - Should be easily installable on XO or even better not require any new software on XO
11 - Should allow synchronizing of blog posts to more than one server within school network. e.g. move all posts from school in Soriano to the school in Colonia.
12 - Must not require user name or password entry to post blogs. Should allow addition of user name and password or better automatic tracking of user identity when identity management is available on school server/XO.
13 - Must allow posting of text, images from XO and video from XO. Should allow formatting of blog post text.
Functional Design and Work Flow
(note: this is usually written by the engineer but I folded in a lot of work flow and give my latest ideas. I mention apache but I'm open to any software that follows this basic workflow and let's kids post quickly)
- Student
1 - Kid opens browser and goes to web page hosted on School server (XS)(Apache or maybe wordpress?). Better to push a bookmark to the browser and they can just click on it instead of typing in long URL.
2 - Edit Web page has a form where can kid can enter text. Also has an option (button? can someone tell me how you upload a picture or video from XO camera to web site?) to upload image or video. No user name tracking here so kids need to sign their posts in text if they want to have their name on them.
3 - Edit Web page has button to preview. When clicked it shows the post in HTML form. Preview page has a button to edit again.
4 - Edit and Preview pages have one or more of the following buttons depending on management setup (see below): send to teacher, post to school blog, post to internet blog.
5 - Send to teacher button returns sent message on HTML page and button to create another post. Once clicked the post goes to the teacher queue (see teacher section below).
6 - Send to school blog or internet posts the blog, returns sent message and redirects the kids browser to the blog.
7 - Edit web page has a list of previous posts at the bottom which are saved locally on kids XO. Kid can click on any and go to the preview page for that post (can they edit and then repost to the same place?).
- Teacher
1 - Teacher opens browser and goes to teacher page on XS (Apache?). Can be password protected or just a different URL (comments?)
2 - Teacher see a list of posts from students and can click on any to look at them. Previously posted items are also saved on a link from this page (needed?)
3 - Next to each post are options to: send to school blog, send to internet blog, edit or reject.
4 - Reject deletes it. (could send it back to students XO and goes on students edit page but XS/Apache will now know which XO it came from!) May have to start with reject and delete only and then the teacher has to find the kid to tell them to try again.
5 - Send to school or send to internet posts the blog to the relevant place at the top of the blog. There can be more than one of each of these buttons, see management interface below for how its determined which will appear.
6 - Edit button opens in edit page view. Save button return on edit page returns to teacher home.
- Management
1 - Management interface is a web page on XS/apache. Includes a form to enter the blog (URL, user name and password, school name (the text used when linking to URL), anything else needed to post). Each blog is flagged as school internal (moodle, mediawiki, drupal?) or Internet (blogger.com etc.). This flag is used to categorize the site when seen by the kids.
2 - Once the list of blogs is added, each has a "enable/disable" radio button. If enabled it shows up on the list of sites used in teacher (and student?) pages above.
3 - There is room for up to 20 blogs (number of blogs should be number of classes in a school x2?).
4 - Management page has an option to allow post without teacher review. One for internal and one for external sites.
Diseno del Software - Software Specification
Horario - Schedule
May 15 - Finalize suggestions for Ceibal Jam coding days (see below) May 16, 17 Ceibal Jam happens in Montevideo (http://wiki.laptop.org/go/Ceibal_Jam)
May 30 - Development server available on the internet.
May 30 - Work plan defined, infrastructure for where code gets checked in and how its shared defined
May 30 - Key volunteers identified, deadline for initial feedback from users on requirements and functional specification June 2 - Tarun finishes exams and starts work ~ full time June 15 - Functional specification final and coding work clearly defined.
June 30 - First look at some design elements and first rough code checked in
July 15 - First look at code shared with end users. Deadline for comments and changes.
July 30 - Beta test starts. New blog posts generated out of Uruguay.
August 15 - Finalize presentation for OLPC (worst case the interface, best case show new blog posts by kids)
August 30 - Code included in School server build (and XO build if necessary) and start deployment of version 1.0.
September 1 - Day off before building maintenance plan and thinking about version 2.0.