¿Por qué elegir un CMS establecido en lugar de crear uno desde cero?

13

Gran parte de mi investigación en las próximas semanas será sobre diferentes CMS. Ya he echado un breve vistazo a episerver y a umbraco. Mientras leo estos sistemas, no puedo dejar de pensar que es posible obtener funciones de administración de contenido sin conocer los detalles y la estructura de muchas de estas plataformas (bastante grandes) de CMS.

En el pasado, se me han dado proyectos por los cuales mi rol como desarrollador debe mantenerse separado del de un editor (tiene sentido). es decir, era mi tarea desarrollar el diseño y la funcionalidad del sitio y el trabajo de mis clientes para actualizar el contenido. Logré esto al implementar también una especie de 'portal' en el que había un par de páginas que aceptaban la entrada de texto y la carga de imágenes, etc. (básicamente, cualquier contenido que quisieran), registré este nuevo contenido en la base de datos y luego por diseño, el código subyacente leería todo esto de la base de datos en los controles relevantes (por ejemplo, repetidores).

Para mí, esta ha sido una manera suficientemente efectiva de que mis clientes administren el contenido para implementarlo con mis soluciones. Sé que estoy equivocado, y que los CMS son preferibles a los que se construyen desde cero, pero aparte de la cuestión del costo, ¿por qué?

    
pregunta SkonJeet 13.03.2012 - 16:18

6 respuestas

9

Utiliza un CMS existente para deshacerse del peso de las funciones que probablemente son importantes para los usuarios de los que no quiere estar al tanto.

EPiServer, Umbraco, Orchard, etc. tienen opciones integradas para realizar un seguimiento de cosas como las versiones, a qué contenido está vinculado por otro contenido, cómo crear formularios, etc. Además, tienen eventos a los que puedes conectar. modifíquelos como mejor le parezca.

Por lo general, ya tienen miles de horas de resolución de problemas, así que, ¿por qué no aprovecharlas? Especialmente en las versiones gratuitas o de código abierto, donde literalmente no le cuesta nada más que el tiempo de aprendizaje de sus API, que casi puedo garantizar es menos tiempo del que pasaría recreando esa funcionalidad.

Entonces, a menos que no necesite reconstruir la funcionalidad que proporcionan, ¿por qué no usa algo que ya sabe que funciona bien?

Aquí hay solo una breve lista de las características existentes que no tendría que implementar por su cuenta:

  • control de versiones
  • flujo de trabajo
  • informes de estado del enlace de la página
  • personalización del editor wysiwyg
  • modelado de contenido (tipos de páginas / tipos de documentos)
  • API de recuperación de contenido
  • documentación / capacitación para editores y desarrolladores
  • estrategias de almacenamiento en caché de objetos
  • sistemas de consulta de contenido para búsqueda
  • estructuras de jerarquía de contenido (en CMS, donde el contenido está en forma de árbol)
  • vistas del editor
  • vistas de administrador
  • control de acceso
respondido por el sclarson 13.03.2012 - 16:25
4

Hay NO respuesta definitiva en cuanto a cuáles son mejores. Depende de sus necesidades, estructura, costo, personal y cualquier otro factor.

CMS prefabricado / establecido

Pros

  1. Guarda MUCHO de tiempo. Algunos de los CMS que han existido durante años tienen muchas horas de trabajo. Es posible que no necesite el 10% de las funciones en un CMS prefabricado, pero independientemente de que ahorre tiempo, ¡no es gratis!
  2. Guarda MUCHO de dinero.
  3. Generalmente, tiene una GRAN cantidad de funciones que probablemente funcionarán para tus necesidades.

Cons

  1. Licencia . Debe cumplir con la licencia del CMS prefabricado que utiliza. Puede que esto no sea un gran problema, pero tal vez desee cambiar algo prohibido por la licencia, o tal vez tenga prohibido usarlo en un entorno de producción.
  2. pesado . Dado que es muy probable que el CMS se adapte para llegar al mayor número de audiencias posible. Tal vez tenga una limitación de servidor o no desee cargar scripts en exceso para la administración básica de contenido.
  3. Posiblemente escrito de una manera no modular . Digamos que usted implementó un CMS pre-hecho y el sitio web está listo para que el cliente se desconecte y diga ¡implementemos! Luego, se lo envía a su cliente y le dicen "¡Oh, quiero agregar esta función al CMS!" Luego, si elige un CMS que es muy complejo o no muy modular, puede tener problemas para implementar su solicitud de funciones o puede llevarle demasiado tiempo.
  4. Heredar sus errores . Heredará todos los errores existentes en el CMS. No es un problema, ya que generalmente son fáciles de actualizar, pero ¿qué sucede si modificas en gran medida algunas partes para agregar una función?

CMS casero / personalizado

Pros

  1. Adaptado a sus necesidades . Podrá integrar SOLAMENTE lo que necesita y conservar una alta portabilidad.
  2. Escrito en su idioma . Tal vez usted tiene un sitio web ASP.net MVC y todos los CMS están escritos en PHP, pero quiere uno que esté escrito en C # usando MVC y el motor de visualización de cuchillas de afeitar (ejemplo aleatorio idk). Es mucho más fácil mantener una página web que es uniforme y no tiene un gran PHP / JS / etc. CMS en medio de todo el código C #.
  3. Tuyo usted / su compañía lo posee al 100%, puede usarlo en tantas aplicaciones como desee sin comprar licencias adicionales, etc.

Cons

  1. Lleva mucho tiempo , por lo tanto es costoso . Podría pasar cualquier cantidad de tiempo 1-docenas de días trabajando en un CMS dependiendo de las horas de instalación, experiencia, etc., etc.

Si tiene tiempo y ninguno de los sistemas prefabricados cumple con los requisitos o es demasiado complejo, no veo ninguna razón para no crear el suyo propio, excepto el factor que consume mucho tiempo, por supuesto.     

respondido por el bbedward 13.03.2012 - 16:37
2

Es posible que también desee agregar seguridad web a la discusión. Si crea un CMS desde cero, es probable que tenga vulnerabilidades frente a varios ataques (consulte, por ejemplo, enlace ). Si, por otro lado, utiliza un CMS existente, generalmente será más seguro, pero, por otro lado, sus vulnerabilidades estarán más extendidas.

Por lo tanto, es un poco una desventaja de seguridad, pero diría que un CMS "estándar" bien actualizado es más seguro que uno de fabricación casera, pero hasta cierto punto depende de cuál de los estándares elija.

Sin embargo, si usa un CMS "estándar" y realiza muchas modificaciones, puede romper la ruta de actualización y terminar sin poder actualizar su CMS y, por lo tanto, es vulnerable.

    
respondido por el Magnus H 15.03.2012 - 14:06
1

Una cosa que se debe tener en cuenta es que su CMS puede volverse obsoleto, no necesariamente en el lenguaje, sino en la funcionalidad y el diseño. Es posible que el siguiente grupo de programadores no quiera trabajar con esas limitaciones de funcionalidad y, en cuanto al diseño, puede arruinar su imagen.

Si es un sitio web simple, o no tienes mucho tiempo para dedicar, ¡CMS suena genial!

    
respondido por el HarHaHu 13.03.2012 - 16:23
1

La razón número uno para crear tu propio CMS es poder agregar tu propia funcionalidad a lo largo del tiempo. Con un CMS listo para usar, usted está vinculado a la arquitectura y tecnología del tercero que lo creó.

Ejemplos:

  • Umbraco - depende de XSLT para el diseño - #fail

  • Orchard: ingeniería excesiva y curva de aprendizaje para los desarrolladores de formularios web

... etc.

    
respondido por el IrishChieftain 13.03.2012 - 16:29
1

Dirigirse al negocio central es un argumento bastante bueno, diría yo también. El hecho de que esté construyendo un automóvil no significa que también debe crear su propio combustible. Ese es un producto completamente diferente y es muy probable que alguien lo haga mucho mejor ya que su enfoque estará en otra parte. Los errores en los sistemas recientemente desarrollados tampoco deben ser subestimados. Los cms que han existido durante un tiempo tendrán algunos errores, sí, pero no el número que tendrá el nuevo. Unos cms existentes han sido probados por millones de usuarios a través de los años.

    
respondido por el Daniel Ovaska 23.03.2012 - 10:57

Lea otras preguntas en las etiquetas