Erwin.Ried.cl / Desarrollos / Desarrollo Web /
El nuevo código completo del sitio

Nuevamente publico el código completo del sitio. Modifícalo, analízalo y úsalo como desees, al no estar basado en ninguna plantilla es muy fácil comprender su funcionamiento, ahora con un rendimiento increíble, privilegios por grupos, administrador de usuarios, administrador de encuestas y muchas mejoras más (02/12/2007 01:57 PM)


Hace muchos meses publiqué el código del sitio, ahora y por cuarta vez haré lo mismo. Esta vez es diferente pues ya el sitio lleva muchos meses de trabajo y ya no es un pequeño código con mínimas funcionalidades.

Claramente aún falta mucho trabajo como para afirmar que se alcanzó un punto cúlmine de su desarrollo.


0. Preliminares

¿Qué incluye?
· Código PHP/HTML completo. (sitio principal, buscador de documentos, panel de administración, editor bbcode en el panel de administración, código Javascript (js) completo, sección para dispositivos móviles, generación de RSS)
· Archivos fuente de CorelDraw 12 y Photoshop CS de todas las imágenes y gráficos.
· Código SQL para configurar la base de datos instantáneamente.


¿Qué no incluye?
· Actualizaciones
· Hosting u otro servicio similar.


¿Qué pido a cambio?
En realidad nada, pero si encuentras un error o algún detalle me encantaría escucharlo



1. Puesta en marcha

Con la última versión del sitio, el procedimiento de puesta en marcha tiene un asistente. Esto significa que el proceso es tan simple como:

A) Primero se copian los archivos del sitio al directorio correspondiente (Vista previa)

B) Luego se abre el directorio predeterminado del servidor (Vista previa)

C) El asistente ahora preguntará un par de datos, si utiliza EasyPHP, puede presionar "Siguiente" sin escribir nada para establecer la configuración predeterminada (Vista previa)

D) Listo, en menos de un minuto el sitio está funcionando (Vista previa)

Para más información, lea el archivo de instrucciones incluído en el paquete descargable del código del sitio.



2. Manejo de funciones básicas y avanzadas

En la última versión disponible (v1.5) se incluyen diversas mejoras y novedades:

* Desde el asistente de configuración puede seleccionarse un modo de "plantillas" que ayudan a la personalización del sitio

* El visor de eventos ahora puede crear un mapa básico de equipos que se conectaron al sitio (se mejorará en versiones posteriores):



* El visor de eventos ahora puede realizar filtros por direcciones de usuario (IP):



* Mejoras en el modo de vista simple de los documentos

* Nuevos parámetros para la etiqueta IMG, para añadir imágenes a los documentos:

Código:
Formato tradicional (el sitio analiza el tamaño y formato, por ejemplo 
para adecuar el ancho máximo o alto de la misma):
[img]<ruta relativa o absoluta de la imagen>[/img]

Omitir el recuadro de copyright personalizable:
[img=nocopyright]<ruta relativa o absoluta de la imagen>[/img]

Quitar el borde de la imagen:
[img=noborder]<ruta relativa o absoluta de la imagen>[/img]

De igual forma pueden combinarse parámetros:
[img=nocopyright,noborder]<ruta relativa o absoluta de la imagen>[/img]

Adicionalmente puede evitarse que el sitio inspeccione el formato y tamaño 
(para incluir animaciones, imágenes transparentes o con formato especial):
[img=noanalyze]<ruta relativa o absoluta de la imagen>[/img]

Aún más, puede adjuntarse parámetros HTML a la imagen:
[img=noanalyze,<parámetros>]<ruta relativa o absoluta de la imagen>[/img]

Como por ejemplo, para añadir un texto alternativo, borde y título:
[img=noanalyze,'border=1, alt="Imagen especial", 
title="Otra imagen más"']<ruta relativa o absoluta de la imagen>[/img]


F) Mejoras en la administración de réplicas de comentarios nuevos filtros:



* Otras novedades varias: el asistente ahora detecta advertencias en el proceso, el código del sitio tiene licencia GPL ahora, se puede reactivar un sitio en mantención por medio de servicios (ver más abajo), hay secciones como el "acerca de" totalmente configurables por parámetros de comportamientos (desde la sesión de administración), entre otros.

Estas propiedades se añaden a las ya tradicionales del sitio:

* Formato de edición basado en código similar al de foros y otros portales para añadir compatibilidad:



* Categorías y organización de artículos automática:



* Explorador de archivos:



* Asistente de mantenimiento:



* Comportamiento del sitio basado en variables:



* Administrador de comentarios y réplicas:



* Asistentes para subir contenidos:



* Administrador de enlaces y noticias:



* Capacidades básicas de estadística:



* Soporte para usuarios, grupos y privilegios:

Esta función fue mejorada en la versión actual del código








* Administrador de encuestas y visor de resultados:

Esta función es nueva en esta versión del código






* Caché de imágenes y documentos:

Esta función es nueva en esta versión del código




* Historial de eventos por usuario:



* Directorio, buscador, sindicación RSS, acceso WAP, historial de cambios de versión, usuarios en línea, entre otros





3. Advertencias, recomendaciones y detalles

-Para administrar el sitio se recomienda utilizar Internet Explorer debido a ciertas incompatibilidades con otros navegadores de los editores internos (por ejemplo el editor de documentos)

-Antes de publicar un sitio basado en partes o modificaciones de este código verifique los siguientes elementos:

Código:
 - El archivo "inc/sessioncookie.php", para que el nombre 
   de la cookie esté en relación con su sitio (opcional)

 - El archivo "index.php", para que el nombre 
   de la cookie esté en relación con su sitio (opcional)

 - El archivo "register.php", para que la contraseña que 
   reciben los nuevos usuarios concuerde con su sitio (opcional)

 - El archivo "find.php", para personalizar el buscador externo incrustado (opcional)

 - Los siguientes comportamientos (desde el panel de
   administración del sitio):

  - Ruta del servidor
    session.browser.server.path 
  - Código del recuadro de publicidad
    website.ads.banner.code
  - Código de enlaces de publicidad
    website.ads.links.code
  - Código de seguimiento del sitio
    website.ads.stats.code


Otro punto importante es la configuración de los mensajes de aviso. El servidor debe tener configurado correctamente el envío de correo electrónico y se deben configurar (por defecto viene en su forma más simple posible) los siguientes comportamientos desde la sesión de administración:

El formato de correo HTML básico debe utilizar la siguiente estructura:

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD>
<BODY></BODY></HTML>


El mensaje dentro de la etiqueta "BODY" puede estar conformado por variables que son automáticamente administradas por el sitio:

Código:
%user_name%
Nombre de usuario, por ejemplo el seudónimo del autor del comentario

%user_mail%
Dirección de correo del autor del usuario

%user_comment%
Cuerpo del comentario

%comment_id%
Identificador interno del comentario (id de la base de datos)

%comment_doc%
Identificador interno del documento al que hace referencia el comentario 
(id de la base de datos, del documento)

%document_title%
Título del documento relacionado con el identificador del mismo

%website_owner%
Nombre del dueño del sitio, configurado en el parámetro 'website.owner'

%website_name%
Nombre del sitio, configurado en el parámetro 'website.name'

%website_self%
Dirección de la portada del sitio, definido inicialmente como localhost,
configurado en el parámetro 'website.url.index'

%website_comments%
Dirección del administrador de comentarios del sitio, en la sesión de 
administración (puede requerir el inicio de sesión del administrador)

%website_panel%
Dirección del panel de administración del sitio (puede requerir el inicio 
de sesión del administrador)


Por ejemplo en el cuerpo del mensaje se podría utilizar:

Código:
<DIV>El usuario %user_name% (<EM><A 
href="mailto:%user_mail%?subject=Respuesta a tu comentario en 
%website_name%">%user_mail%</A></EM>) escribió un nuevo comentario en 
la página <A href="%website_self%">%website_self%</A>, en el
artículo 
"<A
href="%website_self%/?modo=visor&elemento=%comment_doc%">%document_title%</A>".</DIV>
<DIV></DIV>
<DIV>Para administrar los comentarios, <A href="%website_comments%">haga clic

aquí</A>.</DIV><BR /><BR />
<DIV>Los detalles del comentario son:</DIV>
<DIV><EM>%user_comment%</EM></DIV><BR /><BR />
<DIV>Puede deshabilitar estos avisos en las configuraciones del sitio, desde el 
<A href="%website_panel%">panel de administración</A>.</DIV>



4. Expandir el funcionamiento del sitio

¿Cómo utilizar los usuarios del sitio en otros servicios?

Esto es relativamente simple, desde el servicio adicional debemos realizar una llamada a:

Código:
* Invocación: 
<servicio>?clase=usuario&modo=credencial&parametro1=<usuario>&parametro2=<clave>
         
* Retorno:
Caracter cero (0) o uno (1) representando estado de la comprobación


Por ejemplo, para comprobar al usuario "erwin" con contraseña "1234" desde una aplicación de Visual Studio, hacemos una llamada y leemos los datos del siguiente URL:

Código:
http://erwin.ried.cl/inc/services.php?clase=usuarios&modo=credencial&parametro1=erwin&parametro2=1234


En el caso de tener instalado el sitio localmente con EasyPHP la llamada sería así:

Código:
http://127.0.0.1/inc/services.php?clase=usuarios&modo=credencial&parametro1=erwin&parametro2=1234


Hay que tener en cuenta que los datos no viajan encriptados, por lo que si se utilizará con propósitos serios debería recibir modificaciones para añadir seguridad. En próximas versiones se añadirá seguridad adicional y nuevas funciones a estos procedimientos.

Adicionalmente hay otras funcionalidades disponibles por defecto utilizando este mismo mecanismo:

Código:
<servicio>?clase=usuario&modo=(des)activar&parametro1=<usuario>&parametro2=<clave>


En donde el modo puede ser "activar" o "desactivar", realiza esas operaciones en el sitio. Es útil para hacer mantención general del sitio o de su base de datos, aunque el sitio puede desactivarse desde la sesión (con el registro: "website.status"), la activación debe ser por medio de este método (no se puede accesader a la sesión de un sitio desactivado)


5. Cosas que aún faltan

-Mejorar el primitivo buscador y los resultados que proporciona

-Mejorar las consultas a la base de dato

-Permitir a los usuarios adicionales administrar los comentarios escritos en sus documentos personales

-Añadir configuraciones adicionales para elementos que aún deben ser modificados desde archivos, como los especificados en el punto tres de este documento (con las últimas versiones este trabajo es mucho menor, pues el asistente ajusta la mayoría de los requerimientos)

-Implementar soporte para páginas en varias secciones como comentarios, noticias, documentos


6. Descarga

Actualizado el 2/12/2007 (Versión 1.6.11)
Código fuente:
ried_public_code-2007-12-02.zip

Dentro del sitio se pueden ver los cambios por versión accediendo por medio de ?modo=cambios, por ejemplo http://127.0.0.1/?modo=cambios


Archivos fuentes de los gráficos (opcional):
ried_public_sources_2006-11-27.zip

Haga clic sobre una de las estrellas para calificar este artículo.

Opiniones y comentarios (Escribir un nuevo comentario)
Hola sabes estaba buscando como construir un nuevo CMS y me encontré este sabes mis respetos por el nivel de programación a partir de este construiré el mío y espero aportar a vuestro trabajo y tal vez poder desarrollar un nuevo proyecto open source, mi consulta es por error que me vota 1 …… main}( ) ..\index.php:0 2 ….. include( …\eried_website\inc\template.php' ) ..\index.php:206 3 …... include( '….\eried_website\view.php' ) ..\template.php:30 Se necesita de un template ?????
Escrito por Cat (24/04/2011 02:41 AM)
Claro, pero el template va incluído. En realidad ese código es bastante antiguo y no recuerdo muchos detalles del mismo
Escrito por Erwin Ried (24/04/2011 01:22 PM)
Hola, encuentro muy bueno tu sitio, te cuento que bajé tu código fuente y a primera impresión me dí cuenta que las consultas en su mayoría no se realizan por procedimientos almacenados, tal vez esa es la única crítica constructiva que tiene el código, muy buen trabajo y mejor la actitud para a compartirlo. atte. Karim.
Escrito por Karim A. (04/12/2009 09:37 AM)
Erwin envíamelo a mi también por favor a mi tampoco me funciona.
Escrito por Mimi (25/03/2009 09:17 PM)
Lo reparé, ahora estoy seguro
Escrito por Erwin Ried (28/03/2009 12:17 AM)
Hola Erwin estoy seguro, no descarga el enlace esta roto me tira la venta de error de descarga. -- El recurso remoto no es accesible, haga clic aquí para intentar una conexión directa. Este incidente ha sido reportado automáticamente y será solucionado a la brevedad. -- Haber si lo solucionas. Saludos Carlos
Escrito por Carlos (21/03/2009 02:46 PM)
Te lo enviaré al correo, lo pruebo y sigue funcionándome
Escrito por Erwin Ried (22/03/2009 05:22 PM)
ried_public_sources_2006-11-27.zip no descarga :(
Escrito por Carlos (17/03/2009 07:57 PM)
¿Estás seguro?, lo acabo de revisar y funciona
Escrito por Erwin Ried (19/03/2009 03:31 AM)
Hombre, no es necesario usar EasyPHP. Lo instalé en Apache y funcionó como se deseaba.
Escrito por Kevin López (17/01/2009 03:35 AM)
Claro, EasyPHP es Apache "standalone". En efecto, yo lo tengo corriendo en Apache actualmente (en el archivo indica como hacerlo funcionar en Apache directamente en un servidor o instalado con EasyPHP)
Escrito por Erwin Ried (17/01/2009 07:45 PM)
en realidad eres un genial programador... te felicito por liberar el codigo.. de esta forma aportas mas al desarrollo web e incentivas a la creatividad y el analisis de codigo con lo que se aprende mucho mas que si se tuvieran que crear las cosa de cero.. felicidades y que bueno que seas chilenillo.. yo soy de conce ^^. saludos cibernetiko
Escrito por cibernetiko (01/02/2008 11:46 AM)
Acabo de descarar el codigo de tu sitio e isntalarlo, la verdad me encanta, es muy intuitivo de usar y administrar. Me suluciona un gran problema que tenía.... Mil gracias...
Escrito por Lucho (19/11/2007 03:24 PM)
excelente trabajo! lo estoi analizando y modificando.. voy en el wizard.php y estoi impresionado con el nivel de depuracion... eso si, encontre un detalle que pulir: cuando el usuario ingresa en el formulario una base de datos existente incluso con las tablas (presumiblemente una 'reinstalacion') y queremos ver las consultas SQL, aparece un mensaje advirtiendonos acerca de que posiblemente el sitio no vaya del todo bien y bla bla bla... el problema tadica en que cuando no queremos ver las consultas SQL, el mensaje final es que todo ha ido perfectamente. cuando esperamos la advertencia anterior. este detalle se debe a que $with_warnings puede ser true solamente cuando $with_debug sea 0 y que strlen($mysql_error != 0), cuando realmente solo se necesitaria la ultima condición. hice un arreglo, aunque es poco eficiente debido a la repeticion de código que hay... si tienes una mejor solucion por favor hazmela saber..:P lo copie del dreamweaver..ojala quede bien formateado... empieza de la linea nº269 if(strlen($sql_split)!=0) { // Consulta $test_query = db_realizarConsulta($sql_split,$db,$test_connection); $error_mysql = mysql_error(); if(strlen($error_mysql)!=0) { $with_warnings = true; } if($with_debug == 0) { echo '<br /><strong>Consulta SQL:</strong> ' . $sql_split . '<br /><br />'; echo '<strong>Resultado: </strong> '; if(strlen($error_mysql)==0) { ?><span class="Estilo10">Correcto</span><?php } else { ?><span class="Estilo12"><?php echo $error_mysql ?></span><?php } echo '<br />'; } entonces con esa pequeña modificacion... se arregla..testeado por mi.. :P
Escrito por micho (03/08/2007 06:47 PM)
Muchas gracias, te agradecería si puedes mandarme el código al correo para analizarlo con más detalle ya que los comentarios no mantienen el formato
Escrito por Erwin Ried (16/08/2007 07:17 PM)
Tu trabajo con PHP podría ser un proyecto de código abierto (open source). De forma que podamos experimentar con él Saludos desde argentina. - Andy
Escrito por Andy (23/05/2007 04:04 PM)
Es buena idea, aunque actualmente cualquiera puede experimentar con el como guste
Escrito por Erwin Ried (23/05/2007 04:34 PM)
Que buen articulo y gracias por facilitar los codigos, es interesante estudiar como has hecho y resuelto problemas en tu sitio. Felicitaciones y espero lo sigas actualizando constantemente con nuevos articulos
Escrito por Diego-Cba-Arg (21/05/2007 11:58 PM)
ok erwin te envie un correo a erwin@ried.cl con todo espero te llegue
Escrito por MasterX (15/05/2007 03:25 PM)
Hola erwin pues saludandote y creo que te molestare mucho en esta seccion, porque vi el video de administrar comentarios sin embargo me he mandado dos comentarios igual como aqui lo hago pero cuando entro a la session de administrador no me aparece que yo tenga un nuevo comentario ke podria ser ? por supuesto ejecuto desde EasyPHP por otro lado ke posibilidad tengo de ke me envies el video ke esta aki para yo poder revisar en casa todo sin tener ke accedera a la red ESTOY MUY CONENTO CON ESTA WEB TODO EMEPEZO CON MI HP50 y ahora he aprendido mucho de otras cosas FELICIDADES
Escrito por MasterX (15/05/2007 02:41 PM)
Mándame algunas capturas del problema a mi correo para ayudarte, en realidad es bien difícil diagnosticar algo así con tan poca información
Escrito por Erwin Ried (15/05/2007 02:53 PM)
Hola Erwin bueno tengo problemas con el sitio al estar ya configurando en el archivo wizard.php pues le doy continuar para tener la configuracion por default y me dice ke no puede establecer conexion con la base de datos no se ke pasa talvez es por el error de la linea 321 al agregar las comillas donde segun yo krei ke iban tal vez modifique algo...ojala puedasayudarme pronto GRACIAS
Escrito por MasterX (14/05/2007 01:08 PM)
Primero debes crear una base de datos sin tablas (desde "Administrar" de EasyPHP), busca las instrucciones dentro del archivo comprimido. Esa misma base de datos debes proporcionársela al asistente de instalación del sitio
Escrito por Erwin Ried (14/05/2007 01:33 PM)
Hola Erwin tengo problemas para configurar el sitio web una vez ya en el formulario de wizard.php pues me pide datos ok no lleno nada para ke entre con la configuracion predeterminada y use EasyPHP 1.8 bien le doy continuar y me sale que no se pudo establecer conexion con la base de datos... bueno no se que hacer primero use Appserv para simular la web pero me paso lo mismo y ya luego use Easyphp y pues necesito ayuda GRACIAS
Escrito por MasterX (14/05/2007 01:01 PM)
hOLA ME ECONTRE CON ESTE ERROR AL INICIAR LA CONFIGURACION Parse error: parse error, unexpected ';' in C:\AppServ\www\Erwin WEB\www\setup\wizard.php on line 321 simple de corregir par alos ke medio sabemos pero los que no pues creo es comveniente hacer la correccion
Escrito por MasterX (02/05/2007 04:51 PM)
Gracias intentaré actualizar el código en las próximas semanas
Escrito por Erwin Ried (02/05/2007 08:29 PM)
Perdoname, tal vez no me supe explicar, ya cree la base de datos nuevamente, pero al configurarla me dice "La conexión con la base de datos fue correcta. Sin embargo, hay un problema con el nombre de la base de datos. Verifique que la base de datos exista y sea accesible e intente nuevamente." y no he podido pasar de ahi, ya revise el codigo pero no me la reconoce. Gracias...
Escrito por Freddy Duarte (29/03/2007 07:21 PM)
¿Me puedes enviar más detalles a mi correo por favor?, ojalá incluyendo la depuración que puede generar el asistente de configuración
Escrito por Erwin Ried (30/03/2007 02:53 PM)
hola!! Primero que todo, te agradezco por tu contribución, me parece excelente aunque no encuentro la base de datos "erwin_ried_db", me colaboras diciendome donde esta o como la consigo? nuevamente gracias!
Escrito por Freddy Duarte (29/03/2007 03:13 PM)
Tienes que crearla manualmente primero, dentro del archivo van las instrucciones para hacerlo en EasyPHP. La idea es que tienes que crear una nueva base de datos sin datos para las tablas del sitio, luego el asistente se encargará de prepararla. No necesariamente debe tener ese nombre la base de datos, puede tener cualquiera
Escrito por Erwin Ried (29/03/2007 03:56 PM)
Hola. Creo que deberias agregar un readme para la instalacion de tu plantilla, porque lo que es yo no puedo ver los videos que hiciste por tener mala conexion, ademas la carga de ambos videos es simultanea. Tambien creo que si quieres hacer popular tu plantilla, deberias ponerle un setup para los que entienden menos, algo que pregunte el pass para el admin, configure la ip local, configure la base de datos, etc. Digo esto por que el exito de plantillas mas populares creo que se basa por lo amistoso para el usuario. Pero en fin, yo me conformo con un read me que sea claro.
Escrito por SirMauricius (22/01/2007 02:07 PM)
La versión de hace algunas semanas ya viene con un asistente de instalación automático y un archivo de instrucciones (ahora demora medio minuto tener el sitio funcionando, incluso desde EasyPHP sólo debes apretar "Siguiente" unas tres veces sin escribir nada)
Escrito por Erwin Ried (23/01/2007 12:36 AM)
Gracias erwin. Al igual que los demás, gracias por compartir aquello en lo que trabajas. Creo que es lo que tiene más valor.
Escrito por NEO_RIC (28/11/2006 09:45 AM)
Falta un tipo de licencia asociado al software :p GPL estaria muy bien ;)
Escrito por Francisco Rojas (28/11/2006 03:39 AM)
Tienes razón, estoy pensando en cambiar la licencia del sitio y también aplicarsela a los programas y herramientas que genero, aunque aún no lo decido bien
Escrito por Erwin Ried (29/11/2006 12:28 PM)
Hola. Excelente tu pagina y tu mentilada de software libre, deberias acoger alguna licencia, por ejemplo la de GNU para asi fortalecer esta filosofia. Por otro lado te doy las gracias, e intentare ponerla a funcionar en freebsd que es el sistema operativo q uso para mi pagina personal, que no es mas que un Joomla, pero la tuya me parece mas sencilla y bonita.
Escrito por HPSATURN (avp98) (05/10/2006 03:41 AM)
Hola, primero que todo, te quiero felicitar y agradecer esa mentalidad de compartir tus codigos y programas con nosotros... y lo otro es que descargue el codigo fuente de tu pagina, pero no puedo entrar a la parte de administracion no se si faltara alguna funcion, o tal vez hago algo mal yo... a todo esto me conectopor http://localhost/admin.php en lo demas niun problem, veo todo... eso pues, espero tu respuesta.. muchas gracias.....
Escrito por FrIjOl (18/05/2006 04:07 PM)
Muchas gracias por tu comentario, la verdad es que no te falta nada simplemente debes acceder a la sección de administración por medio de http://localhost/?modo=administrar o también desde la parte inferior de la pantalla de acerca de, adicionalmente puedes investigar la administración de este sitio. Debes tener en cuenta que la versión del código fuente corresponde a una versión anterior del sitio que no dispone de varias de las funciones actuales, la idea es proporcionar un punto de partida inicial
Escrito por Erwin Ried (18/05/2006 06:03 PM)
buena esta viejo, ta bien wena la pagina ahora vamo a ver el codigo para ver como la hiciste saludos
Escrito por JuanshoX (04/05/2006 09:10 PM)
Aún más valioso que el código fuente es tu generosidad para compartir tu creación. Saludos. Katy.
Escrito por Katy (24/10/2005 04:30 PM)

Copyright © 2013 por Erwin Ried.