it-swarm-es.com

¿Cómo puedo decidir si debo rodar mi propio software o usar un CMS empaquetado (y los complementos apropiados)?

Soy un ingeniero de software con poca experiencia web actualmente en el proceso de querer usar mi host web y mi nombre de dominio para algo que no sea un vertedero de archivos a los que necesito dar acceso a otras personas. Mi plan es implementar de alguna manera un sitio web/blog personal/profesional, ya sea utilizando productos estándar de FOSS, software personalizado o componentes estándar con módulos/complementos personalizados.

Mis requisitos son:

  1. HTML semántico (bien formado, uso adecuado de atributos, microformatos cuando sea apropiado, uso de CSS para estilo y HTML para marcado)
  2. Validación de HTML y CSS (XHTML, HTML4, HTML5, todos aceptables, siempre que se valide de fábrica)
  3. Soporte para un blog.
  4. Soporte para editar y administrar mi currículum en formato HTML, así como administrar archivos cargados en PDF, ODT y DOC formatos que pongo a disposición para descargar
  5. Escrito en un idioma que conozco y que mi Host admite: PHP preferido ya que es más fácil para mi Host y también estoy familiarizado con él
  6. Fácil de obtener o escribir un tema para
  7. Soporte para páginas estáticas que cambian con poca frecuencia (sobre mí), páginas estáticas que cambian a veces (listas de proyectos), páginas dinámicas (blog, comentarios) y formularios (contácteme)
  8. Juega muy bien con otras herramientas en el mismo entorno: uso Trac en el mismo host para la gestión de proyectos y podría implementar otro software, como una implementación personal de MediaWiki
  9. Fácil de integrar con otras redes sociales (Twitter? Facebook? Pandora?): No es obligatorio, pero sería bueno
  10. Generación y mantenimiento del mapa del sitio y/o robots.txt

Mis preguntas:

  • ¿Qué solución FOSS, si la hubiera, sería apropiada para mí? He jugado con Drupal y WordPress en el pasado - WordPress me pareció una herramienta sólida, pero en ese momento estaba muy centrada en el blog (yo entiendo que ha cambiado más recientemente para ser más parecido a CMS).
  • ¿Qué soluciones gratuitas (pero no de código abierto) podrían ser apropiadas para mí? Preferiría tener acceso completo a la fuente, pero no es un requisito.
  • Si voy a rodar el mío, ¿por dónde debo comenzar? Preferiría no usar la mía propia: mi experiencia en ingeniería de software me dice que mis requisitos deberían ser comunes y debería poder encontrar algunas soluciones existentes que pueda combinar para que esto funcione.

Gracias.

11
Thomas Owens

La pregunta de comprar contra construir es eterna. Yo diría que WordPress y Drupal ambos cumplen con sus criterios. Tengo más experiencia con WordPress, así que lo haría en WordPress. Para abordar sus requisitos:

  1. HTML semántico (bien formado, uso apropiado de atributos, microformatos cuando sea apropiado, uso de CSS para estilo y HTML para marcado)

    , la mayoría temas para WordPress usa xhtml por defecto sin problemas. Marcado relacionado con los microformatos que probablemente tendrá que hacer a mano en una vista html, aunque puede haber complementos que lo faciliten.

  2. Validación de HTML y CSS (XHTML, HTML4, HTML5, todos aceptables, siempre que se valide de fábrica)

    , la mayoría de los temas para WordPress validan o están muy cerca de validar sin muchos problemas. Hay una gran documentación para temas.

  3. Soporte para un blog

    , absolutamente.

  4. Soporte para editar y administrar mi currículum en formato HTML, así como administrar archivos cargados en PDF, ODT y DOC formatos que pongo a disposición para descargar

    , solo haga que el currículum sea una página estática y administre los archivos cargados usando la herramienta de administración de medios nativa en WordPress.

  5. Escrito en un idioma que conozco y que mi Host admite - PHP preferido ya que es más fácil para mi Host y también estoy familiarizado con él

    , WordPress = PHP + MySQL + Apache funciona mejor para mod_rewrite

  6. Fácil de obtener o escribir un tema para

    , ver Desarrollo del tema

  7. Soporte para páginas estáticas que cambian con poca frecuencia (sobre mí), páginas estáticas que cambian a veces (listas de proyectos), páginas dinámicas (blog, comentarios) y formularios (contácteme)

    las páginas se administran en WordPress debajo de la parte Páginas de la interfaz. Los formularios de contacto funcionan bien con complementos como Formulario de contacto 7

  8. Juega muy bien con otras herramientas en el mismo entorno: uso Trac en el mismo host para la gestión de proyectos y podría implementar otro software como una implementación personal de MediaWiki

    , aunque es posible que deba agregar algunas reglas de reescritura para que no todo apunte a WordPress. Ejecuto WordPress en un subdirectorio y lo dejo manejar todo normalmente. Es posible que deba agregar un especificador para que WordPress ignore un vástago de directorio MediaWiki.

  9. Fácil de integrar con otras redes sociales (¿Twitter? ¿Facebook? ¿Pandora?): No es obligatorio, pero sería bueno

    , a través de complementos. De manera predeterminada, también puede insertar fuentes RSS en WordPress barras laterales.

  10. Generación y mantenimiento del mapa del sitio y/o robots.txt

    , Google Sitemap Generator .

6
artlung

He utilizado Wordpress para configurar una serie de sitios, cada uno con diferentes necesidades, y creo que Wordpress también satisfaría sus necesidades:

  • http://chaos.trader.name/ - Principalmente un sitio de información orientado a la página, con algunos blogs.
  • http://ludus.unicornsrest.org/ - Principalmente un blog, pero con una estructura de página profundamente anidada. Escribí un complemento para crear enlaces a páginas dentro de las publicaciones mientras me permitía reorganizar las páginas.
  • http://driia.com/ - El sitio de negocios de mi esposa, tanto el blog como el sitio de ventas. Escribí complementos que permiten agrupar automáticamente las publicaciones en páginas basadas en categorías y etiquetas, y reconocer que las publicaciones con una etiqueta específica representan joyas o piezas de arte que están a la venta. Los precios de venta se almacenan como metadatos en las publicaciones.
  • http://barkingmad.org/ - Sitio de publicidad para un grupo de entretenimiento sin fines de lucro.

La cantidad y calidad de los temas y complementos disponibles para Wordpress es asombrosa, pero la licencia GPL significa que cualquier cosa que no satisfaga completamente sus necesidades puede mejorarse como mejor le parezca.

2
Craig Trader

No creo que encuentres ningún proyecto de FOSS que haga lo que quieres que haga OTB. WordPress es sólido pero tendrías que trabajar un poco para generar lo que quieres. Drupal podría ser más dolor de cabeza de lo que parece al principio. Sé que a la gente le encanta, y sé que lo he intentado, pero prefiero no preocuparme por tener que mantener tantos trucos entre actualizaciones de versiones.

Francamente, iría con WordPress si estuviera en su lugar, y complementos de compilación personalizados para lo que necesita, si aún no encuentra algunos de FOSS.

La advertencia es que desde que Matt Mullenweg (CEO de Automattic, la compañía detrás de WordPress) comenzó a atraer a Richard Stallman a todos, él cree y defiende que todos los temas (código de tema, no imágenes/CSS) y complementos (código de complemento) es GPL en virtud de ser un trabajo derivado de WordPress en su vista (lo que personalmente encuentro distorsionado). Así que eres bueno si lo haces por ti mismo, pero si tienes "distribución", como dar los complementos a 2 personas, puedes estar legalmente obligado a OS tú mismo, que es algo que puedes o no querer hacer .

1
intlect

Depende de lo que quieras hacer y sal de él:

  1. Aprenda una pila de tecnología
    Escribí la mayor parte del código que impulsa mi sitio personal como un ejercicio de aprendizaje para ponerme al día con los últimos cambios en la tecnología en la que estaba trabajando, y lo he cambiado a medida que cambiaba mi enfoque, originalmente un clásico ASP sitio, luego se trasladó a ASP.NET 1.1, luego a 2.0, y ahora se ejecuta en ASP.NET MVC 2.0 después de una actualización reciente de ASP.NET MVC 1.0
  2. Simplemente ejecute su sitio
    Tanto en el trabajo como en un par de sitios de la iglesia que ejecuto en mi tiempo libre, he usado software empaquetado, en el trabajo estamos hablando de CMS "empresariales" (MOSS, Tridion), para los sitios de la iglesia es FOSS ( N2 CMS ), porque ofrecían características superiores a las que estaba preparado para escribir.

Si su profesión es crear sitios web, entonces hay un argumento para usar la tecnología que está "vendiendo", si es algo más, le recomendaría que dedique su tiempo al contenido en lugar de a la tecnología.


Respondiendo al comentario

Entonces recomendaría elegir uno del estante; no puedo ofrecer una gran recomendación en la esfera PHP ya que esa no es mi especialidad, me temo. Si puede hacer frente a algunos C # N2 CMS es muy flexible, pero no tiene la gran base de complementos/temas de algo como WordPress, que por lo que parece probablemente se adaptará bastante a sus necesidades bien...

1
Zhaph - Ben Duguid

Construyo CMS de nivel empresarial para vivir ... y personalmente ODIO los sistemas estándar como Joomla, Wordpress y Drupal. Aquí están mis razones:

1) Los lugares en los que he trabajado han tenido estos (tipos de) paquetes explotados varias veces porque no fuimos lo suficientemente rápidos para actualizarlos ... y en algunos casos, las actualizaciones pueden ser semanales. Una vez que te hackeen, te preguntarás seriamente por qué alguna vez fuiste esa ruta ... apesta.

2) Las plantillas de Wordpress son enloquecedoras. Uno tendrá un área de administración con todas las funciones, mientras que el siguiente no tiene ninguno y espera que hackees el código. ¿Dónde buscar? AHHHHH !!! He desplegado muchos de ellos, pero siempre me duele. En mi opinión, Wordpress es un sistema de blog ... úsalo para lo que está destinado a hacer.

3) Puse cientos de sitios de Joomla (y Mambo) en un trabajo anterior. Incluso cuando llegas a saber lo que estás haciendo, buena suerte tratando de salir de ese tipo de "diseño de Joomla" ... especialmente si el tiempo no está de tu lado. Lo mismo ocurre con Wordpress ... puedes decir cuando estás en un sitio Wordpress. No, gracias ... me pagan para obtener el trabajo original.

4) Entrenamiento. Intente explicar Joomla o la administración de Drupal a alguien en 5 minutos o menos. El CMS que construí se puede enseñar a alguien con un párrafo de instrucciones escritas (o menos) porque lo construí para incluir solo las herramientas que necesita cada sitio web específico ... de lo contrario, el botón desaparece. Te reto a que intentes entrenar a alguien con menos de una guía telefónica, especialmente si no son técnicamente inteligentes.

5) Cumplimiento de normas ... es algo en lo que personalmente no voy a comprometerme. Controlo todo lo que produce mi CMS, y lo he construido de tal manera que se puede insertar una docena de líneas de código en cualquier plantilla compatible con HTML en cuestión de minutos para producir código compatible cada vez. Wordpress está bien en esto, Joomla y Drupal no siempre tanto.

6) Comercialización. Todos los CMS hacen lo mismo. Pero intente dirigirse a un cliente potencial y decir "Me gustaría cobrarle mucho para personalizar un producto comercial gratuito" frente a "Aquí hay un sistema que se creó específicamente para sus necesidades" Si es un buen producto, ganará ese negocio casi siempre. En su caso, esto no importa ... pero quién sabe, tal vez podría aprovechar la funcionalidad para proyectos futuros ... proyectos de pago ...

Por supuesto, hay inconvenientes. Construyes todo tú mismo, lo que lleva tiempo. Si lo está haciendo para múltiples sitios, la economía de escala reduce el impacto. No tiene un ejército de personas que encuentren vulnerabilidades ... nuevamente, tener implementaciones múltiples puede ayudar a que el código evolucione. Pero, si tiene el conocimiento para escribir código de calidad, es una gran solución.

Buena suerte.

1
bpeterson76

Parece que, para su caso de uso, un CMS empaquetado es probablemente la mejor manera de hacerlo.

Han pasado algunos años desde la última vez que evalué PHP CMS, y en ese momento mi requisito principal era la extensibilidad limpia. En ese momento, Joomla era un fuerte contendiente, y Xaraya parecía intelectualmente interesante, aunque el ciclo de desarrollo parecía lento.

Si está interesado en probar algunas, sitio opensourceCMS le permite probar sin tener que instalarlo usted mismo. La última vez que lo intenté parecía mucho menos publicitado, pero supongo que tienes que pagar las cuentas. Muchos de los CMS también tienen sus propios sitios de demostración (por ejemplo, Demo de Joomla , Demo de Xaraya )

0
JasonBirch

Si tienes mucho tiempo y una picazón que no desaparece, sí, enrolla la tuya. De lo contrario, instala WordPress (" instalación famosa de 5 minutos ") y date 2 horas ... eso es todo lo que necesitas para tener una muy buena idea.

Quería publicar un par de comentarios en respuesta a respuestas anteriores: definitivamente puede crear sitios web que son "páginas" con WP no solo blogs (y es muy bueno para crear sitios web con blogs integrados), y estar de acuerdo Comentario de @intlect sobre temas. Puede haber una gran diferencia en la calidad de algunos temas (también es un buen lugar para aprender/ver cómo funciona WP). Me han mordido un par de veces y también actualizo WP para encontrar el tema no es compatible con la versión más nueva (y luego descubres qué tan bueno es el soporte del desarrollador).

0
Dan

Por supuesto, hay una tercera opción, podría usar un CMS menos "pesado" como MODX esto le permitiría la opción de no tener que reinventar la rueda de todas las cosas de cms estándar ( gestión de usuarios, gestión de documentos, etc.) a la vez que le brinda un entorno flexible y fácil para crear su propio código. He usado varios CMS y todos tienen su nicho, pero si quieres algo que sea fácil de desarrollar y lo suficientemente ligero como para que puedas entenderlo sin semanas de excavación (algunos de los sistemas CMS son bestias realmente poderosas ... algo que probablemente no necesite para un sitio web personal). Básicamente, MODX está diseñado específicamente para el tipo de cosas que desea hacer, le brinda un núcleo de características y luego agrega las suyas. Además, las personas comparten su código, por lo que encontrará fragmentos, módulos, etc. que otros han usado.

0
Astaldaran