viewcomponent taghelper tag net mvc asp asp.net architecture dotnetnuke

asp.net - taghelper - ¿Deberíamos construir nuestra aplicación web de próxima generación en la plataforma DotNetNuke?



tag helpers asp net core (6)

No tengo experiencia con Dot Net Nuke, pero miré el código fuente y consideré usar una cantidad de "sistemas de administración de contenido" como base de una aplicación web.

El problema con este enfoque es que tales sistemas casi siempre tienen una arquitectura que hace que hacer exactamente lo que quieres sea bastante doloroso. Las bibliotecas de clases comerciales están diseñadas principalmente para ser reutilizadas (por profesionales en empresas) y pueden tener sus problemas. El sistema de administración de contenido ni siquiera está diseñado para reutilizar su código, incluso si las personas a veces intentan hacerlo. Es fácil encontrar un elemento aparentemente simple (como un ejemplo inventado, por ejemplo, una cadena que muestra el recuento de la cantidad de archivos) definido y colocado en la página de una manera muy sorprendente. Esto hace que sea difícil modificar o eliminar elementos simples, ¡si es que puede descubrir cómo se colocan los elementos en la página! Recuerde, también, con estas aplicaciones, usted también es algo dependiente de la actualización y la corrección de errores del colectivo que lo armó. Uh, y también porque estas cosas son comunes, es más probable que estén sujetas a un exploit común (como phpBB a menudo lo es ).

No he mirado a Drupal . Es más moderno y se usa con más frecuencia como la base de un portal web genérico. Pero aún sería escéptico acerca de usarlo como la base de algo que estaba muy personalizado.

A menos que espere no hacer muchas modificaciones en la arquitectura inicial de DNN, evitaría hacer las cosas de la manera que usted propone.

Actualmente estamos considerando utilizar DotNetNuke como base para nuestra futura aplicación web basada en portal y personalizable por el cliente que se hospedará centralmente. La idea es hacer que las partes dinámicas sean módulos DNN que, a su vez, se comuniquen con los servicios WCF de respaldo, que se encargan del procesamiento comercial y el almacenamiento de datos.

¿Cuáles son sus buenas / malas experiencias con tal modelo?

¿Alguna cosa que advierta o recomiende?

Cualquier consejo sería apreciado, gracias...


eee, DNN? De Verdad?

Me estoy abriendo para las llamas aquí, pero es un producto que fue construido para una era diferente, menos civilizada (VB.NET, soporte pobre de I18N, no msterpages). Mejores marcos existen incluso de forma nativa en ASP.NET ahora, y mejores CMS en cosas como Drupal. Creo que fue muy bueno para superar el dolor de ASP.NET 1.1, pero creo que la respuesta a su pregunta es "No" en estos días.


DotNetNuke puede ser una plataforma poderosa. La mayoría de las personas que lo critican no lo han usado para nada, pero solo deben saber que fue creado hace mucho tiempo.

Puedo darte un par de ventajas y desventajas para mirar. La principal ventaja de usarlo sobre otras plataformas CMS es que es una plataforma muy madura con una comunidad bastante grande (Snowcovered, por ejemplo). Para la mayoría de las tareas, ya está integrado o ya hay alguien allí que ha creado un módulo para hacerlo. Su arquitectura ya está construida para admitir el almacenamiento en caché y una configuración de granja de servidores para aplicaciones de alta disponibilidad, lo que eliminaría un gran dolor de cabeza si observa un gran volumen de solicitudes.

Sin embargo, el lugar donde DotNetNuke podría decepcionar es cuando necesitas hacer procesos de varios pasos en tus módulos. Esto es probablemente cierto para cualquier CMS, pero sentirás que estás saltando a través de aros para tratar de obtener módulos múltiples y separados para brindar una experiencia de usuario "ajustada". Realmente no tengo un ejemplo concreto para esto, es solo la sensación que se obtiene de la experiencia en la que todo está en su propio "contenedor". La otra cosa es que, de fábrica, simplemente no tiene un aspecto de Web 2.0. Puedes personalizar máscaras y hojas de estilo para hacer casi lo que quieras, pero por alguna razón esto no ha sido una gran prioridad para el campamento de DNN en general, tanto como lo ha hecho para Drupal y otros.

Así que supongo que si tuviera que hacer un resumen, diría que si está buscando una manera rápida de obtener un CMS personalizable, y que se sienta cómodo con las limitaciones de las plataformas CMS en general, entonces hágalo. Sin embargo, si su IU es lo más importante para usted y está dispuesto a gastar MUCHO esfuerzo para que sea exactamente lo que desea, entonces cree su propia aplicación utilizando páginas maestras ASP.NET y similares.


He trabajado en varios proyectos de DNN. Hay algunas cosas en las que siempre parezco atorado.

Lo primero y quizás lo más importante son los menús. El menú integrado y los módulos de menú adquiridos eran muy limitados y difíciles de usar. Usamos la transformación xml para presentar crear el html para los menús. Sin embargo, el xml que obtuvimos nos devolvió era un archivo xml plano. Lo que significa que no se usan las jerarquías, lo que limita algunas de las cosas del submenú que puede hacer. Así que los elementos del menú del Nivel 0 al Nivel 4 eran hermanos el uno del otro.

En segundo lugar, hay muchos módulos disponibles para elegir. Si el DNN estándar no hace algo, lo más probable es que sea un módulo para él. Sin embargo, la calidad de estos módulos varió enormemente de módulo a módulo.

Por último, en el caso de que necesite un módulo para hacer algo específico y necesite construir uno usted mismo. No es tan intuitivo sobre cómo hacerlo, y el proceso cambió entre la versión de DNN que usamos para dos proyectos diferentes.

Diría que si estás dispuesto a aprender realmente DNN, puede ser una herramienta realmente útil. Pero si se trata de un proyecto único, creo que es mejor dejarlo en paz.


He estado trabajando en mi puesto actual durante 6 meses y desarrollo casi exclusivamente en DNN. Antes de este concierto, no tenía experiencia DNN. Entonces, esto te dará una idea de dónde vengo.

Ventajas

DNN fue realmente fácil de aprender. La interfaz de administración es bastante intuitiva y la base de código es extremadamente consistente. Rara vez tuve que referirme al libro de DNN en mi escritorio (generalmente solo por los detalles esotéricos).

El patrón de hidratador que DNN utiliza para la creación de objetos fuera de la base de datos es bastante hábil y funciona bien. También lo obliga a mantener sus propiedades de objeto concisas con sus sprocs / consultas, por lo que la confusión se mantiene al mínimo.

Hay muchos desarrolladores de Módulos de terceros. Y los módulos suelen ser bastante baratos. Para que pueda ahorrar dinero utilizando estos. ( SnowCovered y DNN Market Place )

Desventajas

Una cosa que he notado y que no hemos sido capaces de descubrir por qué, pero DNN simplemente dejará caer su máscara de vez en cuando. No hay errores o razones aparentes. Simplemente no los aplica y no lo hará hasta que se reinicie el servidor.

La documentación es brutal. Si va a utilizar DNN, obtenga un libro sobre él. Es bastante fácil sin el libro, pero cuando necesita material de referencia, NINGUNO se encuentra que es útil.


He trabajado en varios proyectos de dotnetnuke que van desde blogs sencillos hasta creadores de sitios web completos (creando sub portales personalizados).

Dotnetnuke es genial, una vez que sabes cómo funciona. La documentación falta, pero está mejorando.

mi queja con dotnetnuke es su prueba difícil de una unidad.