Foros del Web » Programación para mayores de 30 ;) » Programación General »

webs modulares

Estas en el tema de webs modulares en el foro de Programación General en Foros del Web. bueno, aca estoy de nuevo, luego de largas deliberaciones y lecturas sin fin, hemos decidido no hacer nuestro proyecto usando analisis y diseño OO, digamos ...
  #1 (permalink)  
Antiguo 19/03/2003, 01:16
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
webs modulares

bueno, aca estoy de nuevo, luego de largas deliberaciones y lecturas sin fin, hemos decidido no hacer nuestro proyecto usando analisis y diseño OO, digamos no por un asunto de que no podamos, de hecho teniamos muchas ganas de acerlo asi, sino por un a cuestion de tiempo y acomodo en un proyecto en el ke estamos comprometidos tanto con el cliente y con la universidad, y ya que esto por nuestra parte amerita investigacion, demostraciones por parte del cliente y correcciones por parte de la universidad, etc etc se nos hace dificil poder llevarlo... lamentable. Pero pensando optimistamente, hemos aprendido harto y creemos que si esta vez no utilizamos la OO como alternativa, de seguro la usaremos en otro proyecto en el que tengamos condiciones mas "flexibles".

eso es, ahora como ya se habran dado cuenta en el topic, hemos discutido ya sobre una estructura para nuestro portal. nuestro PERO es entonces, encontrar un poco mas de material "oficial" sobre desarrollo de webs modulares, me refiero a descripciones y definiciones, por ejemplo de diagramas de navegacion, estructuras, seguridad, parametrizacion, todo lo respectivo a el analisis y el diseño de aplicaciones web.

ahora les decribo lo que queremos hacer:
la aplicacion web se trata de un sistema de administracion de contenido (CMS por sus siglas en ingles), similares a los famosos *nuke, para aplicarlo en una municipalidad.

el sistema pricipalmente manejara pricipalmente secciones y articulos dentro de estas, manejara tambien noticias y otras funciones.

Las secciones serian los departamentos dentro del municipio, los articulos, seran por ejemplo informacion extendida sobre un tema, en donde caben las descripciones de los deptos, ordenanzas municipales, proyectos, reportajes, etc.

Las noticias, en cambio, seran notas cortas, que contaran con un cuerpo y un resumen y que seran mostradas en la pagina pricipal del portal, siendo tambien relacionables a una seccion opcionalmente (con lo que al entrar a la seccion ademas de desplegar los articulos, desplegara las noticias relacionadas a ella).

Ahora las "otras funciones" sera justamente lo que queremos poner como modulos, antes habiamos pensado en poner estas funciones en pagnas por separado, obedeciendo a una estructura similar a la de directorio, estas paginas eran el las noticias (que desplegaba todas o las ultimas noticias), el buscador, y la pagina de usuarios. pero pensamos : "por que no poner mejor una pagina encargada de cargar estas funciones parametricamente"... okay, sé que suena un poco a *nuke jejeje, y lo comprendo, pero ellos mismos no inventaron ello, esta forma de acerlo es mucho mas antigua de lo que muchos piensan, por lo demas la programacion sera diferente. entonces tenemos otra "pagina", un handler las funciones las llamaremos plugins, el handler se encargara entonces de validad y cargar los plugins (por ejemplo el buscador, y la seccion de usuario).

en este lado (el lado del usuario comun) el usuario podra registrarse como usuario "ciudadano", que a diferencia del usuario anonimo que visita la pagina podra acceder a contenido especial, como descargas de e-papeles, etc

eso sera por el lado del usuario, por el lado administracion se hara totalmente aparte, y es la parte que manejara el personal de la municipalidad, por lo tanto la administracion de contenidos deberia ser "facil" para que una persona con pocos o nulos conocimientos de codigo pueda darle formato a una noticia o una pagina, por ejemplo. y poder manejar por ejemplo el alta de usuarios ciudaddanos previa validadacion de que residen en la comunca or ejemplo

el lado administracion contara con 2 niveles pricipales de acceso, que sera editor y admin, el editor sera por ejemplo el encargado del depto de obras que agregara contenido solo a su seccion, no podra crear usuarios, solo editar contenidos y recursos a la web. por otro lado el admin podra crear usuarios editores y dar de alta a usuarios ciudadanos, editar contenidos y recursos, cambiar aspectos graficos etc.

el esquema que seguiremos sera el de la separacion multicapa de la aplicacion, la presentacion la haremos utilizando templates y themes (aki si que usamos algo *nuke ;D ), los templates para dar forma a las secciones y articulos (por ser mas faciles de editar y aprender para una persona) y los themes para manejar el aspecto general de l portal... en cuanto a la logica, y la capa de abstraccion de bd, lo tenemos claro, y veremos las dudas a medida que avancemos.

mas o menos es eso, pero creo que ya esta clara la idea cierto? (asi me la plagean jaja :S )

mmm bueno eso, necesitamos obtener mas info sobre este tipo de esquemas, me refiero a los material relacionado con la confeccion de sitios con "handlers" y esas cosas, y algo importante, que aun es nebuloso para nosotros y solo tenemos vagas ideas, es sobre los diagramas de navegacion... necesitamos saber de que manera podemos hacer los nuestros en base a lo que hemos explicado.

esperamos sus opiniones, consultas, criticas, y ayudas. seran bien recibidas.

gracias de antemano.
__________________
=PoWeReD By MySeLf!=
  #2 (permalink)  
Antiguo 21/03/2003, 14:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Bueno .. "diagramas de navegación" no he visto yo (no quiere decir q no existan ..)

Pero si tuviera que hacerlo en "papel" como ha de funcionar el sitio segun parametros como "es usario registrado?" .. entonces ---> tal tal tal -> "es administrador?" --> "algun nivel de acceso?"

Esto yo lo haría con los tradicionales "diagramas de flujo":

Un ejemplo (por si no lo conoces ..y un software de diseño):
http://www.smartdraw.com/resources/e...flowchart5.htm

Por lo demas .. la idea la tienes bastante clara .. salvo como en todo proyecto suele pasar que hay q pulir algunas cosas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 21/03/2003, 16:35
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

Para web "modulares" estilo nuke quizas te sirva la "arquitectura" fusebox http://www.phpbuilder.com/columns/bill19990831.php3 . Es un articulo viejo y la arquitectura estaba originalmente pensada para ColdFusion, pero leerlo no creo que te haga ningun mal.

Y yo tampoco he oido lo de diagramas de navegacion (quizas los he usado sin saberlo). Si sabes el "concepto", dilo. Quizas lo conozco con otro nombre.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 21/03/2003, 17:30
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
con respecto a la respuesta de cluster, la idea es que la parte de la administracion este totalmente separada, en cuanto a usuarios, por ejemplo la parte de administracion deberia tener solo 2 niveles de acceso, o mejor dicho "tipo de administrador" que serian el editor de seccion y el administrator propiamente tal... separado de esto, el lado publico tendria solo dos niveles, el nivel anonimo donde puedes normalmente navegar por el sitio, el otro nivel es digamos un "ciudadano" el que ademas de navegar libremente podria tambien acceder a por ejemplo, a descargas o recursos al que una persona que es un "turista " en la pagina no tendria porque necesitar.

bueno, con respecto a lo de los diagramas de navegacion , me refiero a unos diagramas que describen la navegacion, osea todos los posibles caminos que podria tomar un usuario al hacer uso del sitio, pero llevado a un plano mas textual, es similar a un mapa de navegacion de sitios grandes, pero no tan grafico... pero bueno eso creo que lo veremos mas a delante porque pertenece a la etapa de diseño.

lo otro me puedes explicar un poco mas acerca de fusebox?

gracias de antemano, voy a tratar de poner algunos graficos que he hecho con smartdraw(una herramienta muy buena para hacer graficos, diagramas y mchas coosas mas) para que me entiendan mejor
__________________
=PoWeReD By MySeLf!=
  #5 (permalink)  
Antiguo 21/03/2003, 17:35
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 10 meses
Puntos: 17
Cita:
me puedes explicar un poco mas acerca de fusebox?
http://www.fusebox.org

Fusebox es, simplemente, dividir el código en microunidades que se cargan según sean o no necesarias. Todo va unido por un archivo matriz que utiliza un arbol condicional (switch) y Server Side Includes para ensamblar las microunidades.

La idea es separar la parte estética de la web de la parte funcional y, dentro de la parte funcional, separar lo que ataca base de datos, lo que define funciones, lo que define variables, etc. etc.
__________________
M a l d i t o F r i k i
  #6 (permalink)  
Antiguo 21/03/2003, 17:59
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
Cita:
La idea es separar la parte estética de la web de la parte funcional y, dentro de la parte funcional, separar lo que ataca base de datos, lo que define funciones, lo que define variables, etc. etc.
me suena como a aplicaciones multicapa, vamos bien?
__________________
=PoWeReD By MySeLf!=
  #7 (permalink)  
Antiguo 21/03/2003, 19:05
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
un esquema algo tosco es este
__________________
=PoWeReD By MySeLf!=
  #8 (permalink)  
Antiguo 23/03/2003, 11:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
La "tabla" usuarios y adminstradores la puedes separar si lo deseas (con su propia entrada de "login" separada")

Las aplicaciones que administren el sitio tambien lo puedes separar .. Pero si te fijas por ejemplo en aplicaciones como este mismo foro .. Si entras como usuario "normal" .. se te presentan unas acciones .. y si entras como usuario "administrador/moderador" se te presentan otras alternativas de acciones posibles. En este caso se hace via nivel de acceso diferente segun su "status" o gerarquia de usuarios segun sus posibles acciones a realizar ..

Es momento ya tal vez que decidas si el modelo del sitio va a ser com el que te propongo (tal cual estos foros y muchas aplicaciones "portales" .. CMS, etc .) O vas a hacerlo completamente diferente ..

Yo para un CMS .. prefiero un sistema de niveles y posibilidad de segun el usuario y su nivel correspondiente tenga que la aplicación me presente una u otras alternativas .. Esto sería algo mas de lógica en la presentación de esos datos de tu BD pero no tendriamos que "duplicar" casi lo mismo para la parte administración y para del "usuario"...

Bajo esta forma de trabajar el "CMS" el diagrama de "navegación" debería ser al estilo "diagrama de flujo" .. pues hay q identificar condiciones: " Si es adminstrador" .. se le presenta las opcinoes X, Y, Z .. "si es usuario" se le presentan solo las opciones X, Z ...

No se si conoceras los diagramas de flujo .. pero es un standar de "simbologia" para expresar estos estados y acciones de la programación.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 23/03/2003, 21:35
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
okay, bueno, en realidad parece que no me explique bien.

por un lado tenemos el lado publico, que representa la parte donde cualquier persona puede recorrer la pagina y todo, con la posibilidad de registrarse como usuario "ciudadano", lo que justamente, daria la posibilidad de presentar mas informacion al usuario que cumpla con esta condicion, ya habiamos pensado en eso...

con respecto a la parte de la administracion, esta tendra una suerte de "intranet", pues los funcionarios aliemntaran la pagina desde las misma dependencias del municipio, y no desde otra parte (idealmente), el tratamiento de las opciones de administracion tambien seguiria el mismo esquema por "niveles" (aunque solo tenga dos, editor de seccion y admin).

La razon principal de porqué queremos separar esto es por una asunto de separacion total de todo lo que es administracion, con lo que es el sitio publico, y tambien por un asunto de seguridad tecnica, por ejemplo: que pasaria si un usuario puede tener uno de los cuatro estados (anonimo, ciudadano, editor o admin), y este estado ser manejado con sessiones, las sesion podria llegar a ser manipulada (poniendose en el peor de los casos), entonces no queremos que la informacion pueda ser manipulada por usuarios "ciudadanos" "inteligentes"... bueno pricipalmente por estas cosas, nosotros lo vamos a hacer asi.

con respecto a los diagramas de navegacion, si existen, busquen en google, sirven para dentro de una aplicacion cualquiera se puedan graficar todos los posibles caminos que se pueden tomar al hacer uso de las estas, ya tegno mas o menos clara la idea...
aqui tiene algunos ejemplos
http://www.intraconnect.com/resume/w...navigation.htm
http://www.dyabola.de/manuals/user/en/user_51.htm

con respecto al ultimo comentario:
Cita:
No se si conoceras los diagramas de flujo .. pero es un standar de "simbologia" para expresar estos estados y acciones de la programación
solo puedo decir... ¬¬

jejeje, saludos.
__________________
=PoWeReD By MySeLf!=
  #10 (permalink)  
Antiguo 25/03/2003, 10:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Los diagramas de flujo me refería al "standar" .. El "rombo" para bifurcación .. el rectangulo para definir estado variable .. el de "base de dtos" (el grafico q está delante del PC ese ..) .. etc .. etc ..

Osese .. no tanto colorido y "monitos" de PowerPoint .. sino a lo que es estrictamente el "standar" .. Supongo que ya lo conoces (pero como no lo sé .. preguntaba ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 27/03/2003, 22:33
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
bueno con lo que he presentado creo qu es mas que suficiente para entenderlo, no hace falta proporcionar tanto diagrama. lo hice con "monitos" porque es mas ameno de leer (y el programa no es PowerPoint, es Smartdraw[especial para hacer cosas de este tipo]... ;D )

El sistema no es complejo, pero el diagrama de flujo que describe el sistema por la parte publica es extenso y ocupa demasiado espacio para ponerlo aca, sin embargo el de la administracion en forma simplificada queda asi:



... lo que busco son guias de metodologias para desarrollo de este tipo de aplicaciones, o quizas algunas que otras relacionadas, pero que ojala no impliquen orientacion a objetos, en la parte de analisis y diseño, ni en la implementacion idealmente. Es bueno que personas como josemi me hayan captado la idea de de inmediato, justamente, fusebox es una metodologia, que aunke es antigua no es mala, y tiene varias caracteristicas que podriamos utilizar.

Por ultimo vuelvo a repetir que nosotros no estamos buscando la tecnologia, sino la metodologia que luego derivará a la tecnologia, por eso que ojala puedan ayudar personas que tengan concimiento en el analisis y diseño de aplicaciones, no solo en la "programacion", que aun falta camino antes de programar (como puede ver el diagrama no tiene nada que ver con un lenguaje o una tecnologia especifica, describe la funcionalidad y no los detalles de contruccion como las conexiones a las bases de datos. Es una abstraccion)

eso pues, alguien sabe de alguna otra metodologia relacionada para desarrollar portales, o si necesita info extra, o tiene alguna consulta, duda, sugerencia...sera muy bien recibida..

de antemano muchas gracias ;D
__________________
=PoWeReD By MySeLf!=
  #12 (permalink)  
Antiguo 25/04/2003, 11:19
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 23 años
Puntos: 69
Nosotros en ZonaPHP estamos en la etapa de diseño de un FrameWork que sirva para el posterior desarollo de aplicaciones web ( que pueden ser un CMS; un Foro, un Blog, lo que sea ) y pensamos hacerlo completamente OO. No porque seamos fánaticos o nada por el estilo, sino que por suerte nuestros requerimientos de tiempo no son ajustados y podemos darnos el lujo de tomarnos el tiempo de investigar y aplicar.

Y en POO existen lo que se llaman Design Patterns, ( Patrones de Diseño ), y uno de los que más se acercan a una buena metodología para web, es el modelo MVC (Model - View - Controller) más conocido como MV2.
Este modelo hace más que nada en la separación de capas ( que no implica que tengan que ser 3, pueden ser muchas más, y seguir utilizando el mismo modelo) así que si después te decides por un modelo más OO, te recomiendo ese.

La web está PLAGADA de info sobre este modelo, sobre todo en sitios sobre Java, aunque no es propio de un lenguaje (aunque se incluyó por primera vez en SmallTalk-80).

Para el tema de los "módulos" que quieres implementar, también existen ya patrones definidos, como lo pueden ser el Observer/Observable o alguno de Filtros. El módulo tan solo se "autoregistra" con la aplicación mandante, y al provocarse cierto evento, si al modulo le compete hacer algo, entonces se le avisa y el mḋoulo se activa y funciona. También hay mucha información sobre estos Patrones.

FuseBox lo utilicé hace unos años, y si bien me pareció interesante en su momento, en realidad no provee buena separación de las capas. Recordar que esta separación debes tener más que nada en cuenta, pensando en que hoy utilizarás una capa para cierta cosa, y si mañana tienes que utilizar otra, que el cambio sea lo más inmediato posible.

Bueno, estas son mis impresiones en el tema, espero que se desarrolle tranquilamente y que sea lo más interesante para todos.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:14.