Gran parte de mi investigación en las próximas semanas se centrará en diferentes CMS. Ya he echado un vistazo al episerver y al umbraco. Al leer estos sistemas, no puedo evitar pensar que es posible proporcionar funciones de administración de contenido sin conocer los detalles y la estructura de muchas de estas plataformas CMS (bastante grandes).
En el pasado, me han dado proyectos por los cuales mi papel 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 implementando 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), grabar este nuevo contenido en la base de datos y luego por diseño, el código subyacente leería todo esto desde 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 del costo, ¿por qué?
Respuestas:
Utiliza un CMS existente para deshacerse del peso de las características que probablemente son importantes para los usuarios de las que no desea tener un seguimiento.
EPiServer, Umbraco, Orchard, etc., han incorporado opciones para realizar un seguimiento de cosas como versiones, a qué contenido está vinculado otro contenido, cómo crear formularios, etc. Y más allá de eso, tienen eventos que puede conectar para modificarlos como te parece bien.
Por lo general, ya tienen miles de horas de solució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 aprender sus API, que casi puedo garantizar es menos tiempo del que dedicaría a recrear esa funcionalidad.
Entonces, a menos que no necesite reconstruir la funcionalidad que proporcionan, ¿por qué no usar algo que ya sabe que funciona bien?
Aquí hay una breve lista de características existentes que no tendría que implementar por su cuenta:
fuente
Hay NO respuesta definitiva en cuanto a cuáles mejor. Depende de sus necesidades, estructura, costo, mano de obra y cualquier otro número de factores.
CMS prefabricados / establecidos
Pros
Contras
CMS casero / personalizado
Pros
Contras
Si tiene el tiempo y ninguno de los sistemas prefabricados cumple con los requisitos o es demasiado complejo, no veo ninguna razón para no construir el suyo, aparte del factor que consume mucho tiempo, por supuesto.
fuente
Es posible que también desee agregar seguridad web a la discusión. Si crea un CMS desde cero, es probable que tenga vulnerabilidades a varios ataques (consulte, por ejemplo, https://www.owasp.org/index.php/Top_10_2010-Main ). Si, por otro lado, usa 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 un compromiso de seguridad, pero diría que un CMS "estándar" bien actualizado es más seguro que uno hecho en casa, pero en cierta medida depende de cuál sea el estándar que 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.
fuente
Una cosa que debe tenerse en cuenta es que su CMS puede quedar obsoleto, no necesariamente en el lenguaje, sino más bien en la funcionalidad y el diseño. ¡Es posible que el siguiente grupo de programadores no quiera trabajar con esas limitaciones en la 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!
fuente
La razón número uno para crear su propio CMS es poder agregarle su propia funcionalidad con el tiempo. Con un CMS estándar, está vinculado a la arquitectura y la tecnología del tercero que lo creó.
Ejemplos:
Umbraco - dependencia de XSLT para el diseño - #fail
Orchard: curva de ingeniería y aprendizaje excesivo para desarrolladores de formularios web
... etc.
fuente
Seguir con el negocio principal es un argumento bastante bueno, también diría. El hecho de que esté construyendo un automóvil no significa que también deba crear su propio combustible. Es un producto completamente diferente y es muy probable que alguien más lo haga mucho mejor ya que su enfoque estará en otro lado. Los errores en los sistemas desarrollados recientemente tampoco deberían subestimarse. Un cms que ha existido por un tiempo tendrá algunos errores, sí, pero no cerca del número que tendrá el nuevo. Millones de usuarios han probado un cms existente a través de los años.
fuente