[PLN] Proceso alta nuevo usuario y nivel de automatismo
David Rubert
david.rubert en gmail.com
Lun Sep 3 22:47:00 CEST 2012
Ok, totalmente de acuerdo con lo que contáis, tenía en la cabeza la web
central porque se me había metido en la cabezota que los usuarios debían
autenticarse y validarse, pero no, es cierto, la unión de nodos a la red no
requiere un sistema de registro/validación de usuario con su dirección de
correo y con contraseñas, etc. etc, una simple validación de que la
direccion de correo es correcta, o que el teléfono es correcto, y a rular.
Me gusta!
Según ese esquema la web central es únicamente informativa y no necesaria
para el funcionamiento de la red.
Muy bien, pues yo he continuado con el proceso de arquitecturar la web de
un nodo, de momento mi roadmap, basado en vuestros datos es el siguiente:
* Conseguir que cualquier nodo de la red pueda clonar un repositorio y
tener funcionando la web del nodo inmediatamente.
* La mayor parte de la web no requerirá server-side-scripting, se compone
totalmente en la capa de cliente (gracias a angularJS).
* La parte de Server-Side-Scripting se realizará mediante una API REST, el
lenguaje de programación que yo eligiría salvo que no penséis como yo sería
NodeJS/express. Es fácil de instalar en cualquier distribución moderna,
prácticamente igual de fácil que Ruby/Python, y un poco más complicado (no
mucho) que PHP, pero con grandes ventajas respecto a este.
Bueno, he hecho el esqueleto de la web con angularJS, echadle un vistazo si
queréis, y si tenéis un momento probadlo en vuestro nodo. Os cuento.
* Podéis ver la demo de la versión actual con las secciones funcionando
aquí: http://loom.gotdns.org/pln/app/<http://loom.gotdns.org/pln/app/#/main>
* Podéis poner en marcha esta versión en vuestro nodo clonando el
repositorio GIT:
https://github.com/PhoneLiberationNet/pln-node-webapp
* El archivo que almacena la información de un nodo es el node.json[0].
¿Podéis confirmar que toda la información que he incluido en ese archivo es
pública? ¿O hay información que debería ser privada? Si modificáis ese
archivo con vuestros datos, la web que habéis clonado se adecuará a esa
nueva información.
[0]
https://github.com/PhoneLiberationNet/pln-node-webapp/blob/master/node.json
Podríamos tener un directorio con todos los JSON de los nodos, al estilo:
$ ls -l nodes/
nodes/patiomaravillas.json
nodes/loom.json
nodes/plnmataro.json
...
De manera que para poner en marcha la web de un nodo sólo habría que linkar
el json a la raiz, al estilo:
$ ln -s nodes/loom.json node.json
Bueno ya me diréis qué os parece, no me enrollo mucho más. Sólo una cosa,
si queréis ir completando las secciones de la web, está todo dividido por
plantillas, por lo que ya se podría añadir información a la sección de
documentación, por ejemplo, editando la plantilla que encontraréis en
app/templates/documentacion.html. Lo mismo con el resto.
Venga un saludo
El 2 de septiembre de 2012 23:54, Santiago Crespo <
pln-lists.marsupi.org en flanera.net> escribió:
> Hola,
>
> Para mi, idealmente los pasos serían:
>
> 1. Usuario llega a **cualquier web de cualquier nodo** que tenga IP
> pública. Por ejemplo al nodo "aaa".
>
>
> 2. Lee la descripción del proyecto, le gusta, quiere darse de alta en la
> red.
>
> 3. Pulsa el botón de unirse a la red:
> - rellena los datos,
> - ** elige otros 2 o 3 o x nodos a los que conectarse: "abc" y "zxy"**
> - **demuestra que es humano**
> - **La web comprueba automáticamente la validez y disponibilidad de los
> datos introducidos (números PLN solicitados, los otros nodos a los que
> conectarse responden y realmente admiten más conexiones, etc)**
> - Almacena sus datos en **unos ficheros de texto** y le manda un e-mail de
> confirmación.
> - Se valida el correo mediante un enlace por ejemplo. También se podría
> validar el teléfono de contacto mediante una llamada automática que lea
> unos números.
>
> 5. **El sistema autoconfigura el DUNDi del nodo local ("aaa") para admitir
> al nuevo miembro**
>
> 6. **El nodo "aaa" envía la solicitud automáticamente a los nodos "abc" y
> "zxy" con los datos ya revisados del nuevo nodo.**. Esta solicitud se
> realiza dentro de la VPN. Sólo se admiten éstas peticiones desde la red
> 1.x.x.x
>
> 7. **Los nodos "abc" y "zxy" se autoconfiguran el DUNDi para admitir al
> nuevo nodo.**
>
> 8. **La web le envía al admin del nuevo nodo los ficheros necesarios (de
> configuración, listados, etc)**
>
> 9. El usuario configura su nodo, crea sus claves públicas/privada tinc y
> DUNDi, abriendo puertos y ubicando las claves en **el servidor web de su
> nodo**.
>
> 10. Todo automágico: Los nodos "aaa", "abc" y "zxy" prueban cada X horas a
> descargarse las claves públicas (DUNDi y tinc) del nuevo nodo. Cuando lo
> consiguen, hacen un reload del asterisk y del tinc para que carguen las
> claves. Una vez responda a ping, prueba a resolver los números PLN del
> nuevo nodo vía DUNDi cada X horas. Cuando funcione, se envía un mail a los
> admins implicados informando del suceso y dando la bienvenida al nuevo nodo
> :)
>
> Respondo debajo a las preguntas..
>
>
> On 02/09/12 18:14, David Rubert wrote:
>
> Wenas de nuevo!
>
> Estaba yo cavilando a ver cómo darle forma a la parte de la web, y a la
> manera de darse de alta un admin de asterisk recien llegado, nuevo de
> trinca ,sin ningún padrino que ya le haya informado sobre cómo funciona el
> proyecto.
>
> Voy a intentar enumerar los pasos, sin detallar mucho la parte técnica,
> a ver si os parecen correctos.
>
> 1. El usuario llega a la web principal (http://phoneliberation.net).
> 2. Lee la descripción del proyecto, le gusta, quiere darse de alta en la
> red.
> 3. Pulsa el botón de unirse a la red, rellena los datos, y la web almacena
> sus datos en alguna DB y le manda un e-mail de confirmación (validación de
> e-mail?).
> 4. El usuario configura su nodo, creando la pareja de clave
> pública/privada TINC, abriendo puertos y ubicando las claves en un servidor
> web público.
> 5. Examina el listado de nodos ya enlazado y elige 2 nodos: "abc" y "zxy".
> 6. Visita la página del nodo "abc" y hace una solicitud para establecer un
> enlace con ese nodo.
> 7. El formulario le confirma la recepción, le informa de que le ha enviado
> la información al administrador para que, cuando pueda, configure el nuevo
> enlace.
> 8. Cuando el admin del nodo configura tinc y dundi con la información del
> nodo recien-llegado, le confirma vía correo.
> 9. El nuevo usuario termina de configurar su enlace tinc/dundi.
> 10. Conseguido.
>
> ¿Qué os parece este proceso (a groso modo)? Lo describo yo que soy un
> recién llegado y no tengo claras las partes, por eso me gustaría que
> corrigierais lo que no es correcto. Este proceso que he descrito implicaría:
>
> * Comunicar adecuadamente/sincronizar información entre una web central (
> phoneliberation.net) y las webs distribuidas en la red (las de los
> nodos). Vía repositorio GIT privado o similar.
>
>
> No hace falta una web central, podemos hacerlo todo distribuido. "Sólo"
> tenemos que hacer y ponernos de acuerdo en usar la futura versión 1.0 del
> acuerdo, documentación, código fuente de la web, scripts, etc.
>
>
> * Decidir el nivel de validación de los usuarios en todo el proceso. Es
> decir, decidir si dejamos que las solicitudes sean anónimas, o vamos a
> realizar un proceso de registro/validación de usuarios pertenecientes a la
> red (vía usuario/contraseña).
>
>
> De los datos del admin, yo validaría únicamente el email y el número de
> teléfono de contacto (PSTN).
>
> A los admins no les hace falta usuario/contraseña. Los usuarios (abonados)
> sí que tendrán su usuario/contraseña en la web de su nodo, para cambiar sus
> datos y preferencias.
>
>
> * Decidir el nivel de automatismo del proceso. ¿Qué interacción por
> parte de los administradores queremos que sea necesaria?
>
> El trabajo de máquinas, para las máquinas. Que los scripts comprueben y
> configuren lo que haga falta. El tiempo del admin (y de cualquier persona)
> es lo más valioso, por lo que pondría ninguna, o la mínima posible. Si
> cumple las normas y funciona, bienvenido. Esto se puede hacer automático.
>
> Excepto cuando llegue el caso de que alguien quiera un número geográfico
> de una zona (país) que todavía no está consensuada, deberá traer una
> propuesta para ser revisada públicamente. Esta revisión deberán hacerla
> manualmente entre varios admins que ya estén en la red.
>
> El admin del nuevo nodo siempre tendrá que hacer algo manualmente para
> unirse. Como mínimo tendrá que rellenar el formulario, demostrar que es
> humano y configurarse su nodo.
>
>
> ¿Se podría dar de alta un nodo sin ningún tipo de interacción por parte
> de los administradores de los nodos ya enlazados?
>
> Si. Por ejemplo con los pasos que propongo.
>
> ¿Cómo lo véis?
>
> Bien, vamos concretando cosas :)
>
>
> _______________________________________________
> PLN mailing list
> PLN en marsupi.org
> https://lists.marsupi.org/listinfo/pln
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.marsupi.org/pipermail/pln/attachments/20120903/4def4b68/attachment-0001.htm>
More information about the PLN
mailing list