2010-08-30 16 views
8

Tengo una dificultad con a statement on the DotNetNuke pages about the documentation que solo está disponible cuando paga $ 2000 o más por una licencia profesional o superior. Los foros están llenos de preguntas, muchas de ellas duplicadas, many unanswered, a pesar del arduo trabajo de la comunidad DNN para mantenerse al día con la demanda.¿La documentación de DotNetNuke es realmente nula o solo está disponible en las ediciones comerciales?

He intentado con los libros, pero tampoco dieron las respuestas que buscaba y aunque el entusiasmo de los escritores es claro, la impresión detallada de ejemplos de placas de calderas grandes y la falta de información o cobertura de las palabras clave introducidas no me dieron la comprensión más profunda que anhelaba como desarrollador de módulos.

Por un lado, me siento sobre DotNetNuke como un gran lugar para estar, pero, por otro lado, cada vez que necesito esa línea de información sobre un método, termino buscándolo durante años, y recorrer el código y la ingeniería inversa es entonces mi mejor amigo.

Tengo curiosidad, ¿por qué es un producto que ha existido durante tanto tiempo, tan mal documentado en la cuenta de la API? Después de todo, hay una empresa comercial bastante grande detrás y prospera por la capacidad de expansión del producto. ¿Estoy en lo cierto al entender que solo obtienes esta documentación si pagas caro? ¿O las empresas de desarrollo de módulos tienen acceso especial?

+0

@closers: bien, entiendo que uso algunas palabras subjetivas, pero la pregunta: * "¿puedo ver la documentación cuando tengo una edición profesional, o dónde debo buscar para empezar?" *, Es una pregunta válida , ¿no lo es? Por supuesto, yo, y muchos de mis compañeros de trabajo, a menudo estamos frustrados por la falta de documentación actualizada de DNN. – Abel

+0

La falta de documentación suele ser un problema con los proyectos de código abierto. Es divertido escribir código, menos gente piensa que es divertido escribir documentación para él. – driis

+0

Libros: http://www.dotnetnuke.com/Support/Documentation/DotNetNukeBooks/tabid/1334/Default.aspx –

Respuesta

5

Estoy publicando una segunda respuesta aquí ya que con la pregunta revisada hay una manera completamente diferente de ver las cosas.

Con respecto al manual de usuario de la edición profesional DotNetNuke, creo que es muy importante que comprenda exactamente qué es el manual. NO es una guía para desarrolladores o documentación API, es documentación de la interfaz de usuario. Cómo agregar una página, cómo agregar un módulo a una página, cómo instalar una máscara, cosas de esa naturaleza. Sí, ese libro es una "Característica PE", correcto o indiferente, sin embargo, no ayudará a un desarrollador con la comprensión de la plataforma DotNetNuke.

Creo que esta es una distinción importante ya que realmente el conjunto de características de PE se dirige hacia implementaciones comerciales, no necesariamente a la implementación del desarrollador. Todo el movimiento para mejorar la documentación del desarrollador y la funcionalidad del desarrollador está siendo impulsado por la comunidad y no necesariamente por los clientes de PE.

Hay otras razones para esto también, PE viene con algunos módulos que fueron adquiridos recientemente por DotNetNuke corporation, esos módulos también deben tener documentación, que supongo que es otra parte del documento de UI al que se hace referencia por su enlace dentro de la publicación.

En cuanto a los foros, sí, estoy de acuerdo en que pueden ser frustrantes. Es una de las razones por las que los foros en mi sitio (http://www.mitchelsellers.com) son frecuentados ya que obtienen una mejor exposición. Otro artículo que podría ser bueno para la comunidad es mi recientemente propuesta DotNetNuke StackExchange site. Si aún no lo has hecho, ¡saldré y mostraré tu apoyo!

Aunque en general siento su dolor, he sido un miembro activo en la comunidad DotNetNuke durante más de 4 años, y puede ser difícil a veces, pero al final, siempre lo vale.

+0

+1 una vez más, esto hace las cosas un poco más comprensibles y no estaba al tanto de los otros foros, seguro que lo echaré un vistazo. (Cambiaré las respuestas aceptadas, creo que esta responde mejor a mi intención original, aunque mi q original fue pobre y engañosamente redactada). – Abel

0

Creo que no documentan públicamente el código central a propósito, porque solo quieren que trabaje dentro de las limitaciones del sistema que proporcionan para crear módulos, como documentan en la guía de creación de módulos. Por lo tanto, lo alientan a considerar el código central como privado. He visto esto con otro software CMS en el pasado.

+0

Las clases de consideración como 'PortalSettings' forman parte del núcleo, pero no están documentadas. Por supuesto, las restricciones del marco deben ser obedecidas, buen punto, pero los métodos públicos están ahí para ser utilizados por los desarrolladores de módulos. ¿De qué otro modo podría, por ejemplo, obtener el proveedor de inicio de sesión actual? Pero el 'PortalModuleBase' (utilizado para todos los módulos) está igualmente mal documentado ..., diablos, ni siquiera puedo encontrar una documentación del esquema XML para los archivos xml '* .dnn' ... – Abel

3

Por el momento, evitaré el tono argumentativo que probablemente se dirija hacia el estilo de escritura de mi libro y le daré algunos consejos sobre esto.

  1. La documentación de la API está disponible, aunque desde una verdadera perspectiva de API la documentación aún no es del 100%. El equipo de referencia de DotNetNuke está trabajando para mejorar la calidad de esta documentación, pero como se puede imaginar, va a llevar mucho tiempo obtener algo que no tenga mucha, si es que hay alguna, documentación de la API que se documente por completo, pero esa es la objetivo final.

  2. Los libros que están disponibles en este momento son algunos de los mejores documentos generales sobre el desarrollo de DNN, PERO solo cubren una cierta parte del proceso. Por ejemplo, mi libro tiene uno de los únicos elementos que documentan el nuevo formato manifiesto de DNN 5.x, pero como el libro lleva más de un año fuera, se han agregado elementos al manifiesto que no están cubiertos en el libro.

  3. DotNetNuke corporation está tratando de mejorar la calidad y la disponibilidad de la documentación creando el nuevo proyecto Wiki y completando la documentación de la API, pero es un proceso paso a paso.

Pero para terminar esto, te voy a dar unas palabras de consejo, hay muchos de nosotros en la comunidad DotNetNuke que revienta el culo para ayudar a otros a obtener una comprensión de DNN y pasar todo el tiempo que lo hacemos aquí en StackOverflow, DotNetNuke.com, e incluso nuestros propios foros personales. Si toma un enfoque menos argumentativo, puede obtener algunas respuestas mejores, y como mínimo no correrá el riesgo de irritar a las personas que realmente pueden responder sus preguntas por usted.

+0

Hola @Mitchell: gracias por tomarte el tiempo para responder. Mis disculpas sobre el enfoque argumentativo: el sitio declara que si pagas obtienes la documentación completa, eso es lo que frustra. He dejado varias veces varias preguntas (totalmente neutrales) en los foros de DNN y en algunos casos recibí respuestas. Por lo general, termino allí después de que se agotaron todos los demás recursos y se siente como golpear un muro blanco (amigable). Me alegro de que el trabajo en la documentación de la API esté en proceso, de hecho: ¡lo valoro mucho! Tal vez pueda ayudar, voy a echar un vistazo. – Abel

+0

Una pequeña nota en su libro, pero tal vez esa discusión sea más adecuada en otros lugares. Lo compré para ayudar con el desarrollo del módulo, pero desafortunadamente, y lamento decirlo, no respondió las preguntas que tenía y los ejemplos proporcionados carecen de una cobertura profunda. Un ejemplo de mi pequeño resentimiento con el índice: simplemente intente encontrar una palabra clave manifiesta, como 'supportsPartialRendering'. No está ahí. Al revisar el libro página por página lo encontré. Pruebe * roles *: no apunta a las páginas en RoleProvider y este tampoco está allí. Pero con toda honestidad, su libro también me salvó en algunas ocasiones;) – Abel

+0

@abel - Confíe en mí, lo entiendo! Yo era de la misma manera hace unos 4 años cuando comencé con DNN, y había mucha menos documentación entonces. La cuestión del índice es algo en lo que estoy muy interesado, ya que en realidad no creé el índice, y usted no es la primera persona en quejarse. También creo que se necesita un libro de inmersiones mucho más "profundo" sobre el desarrollo del módulo DotNetNuke, pero no estoy seguro de si contará con el apoyo suficiente para seguir adelante. –

1

Si bien hay una falta de documentación fácilmente obtenible que explique la API en detalles que pueden satisfacer sus necesidades inmediatas o estándares, como Mitchel afirma DNN tiene una de las mejores "comunidades" de diseñadores y desarrolladores que salen de su forma de ayudarse unos a otros.

Hay muchos libros que se crean con el objetivo de conseguir que un programador o una persona con mentalidad informática vaya con DNN, aunque es posible que no le proporcionen los detalles que está buscando en un área en particular, estoy seguro de que no un autor que no haría todo lo posible para responder una pregunta que no fue respondida después de leer el libro si se contactó con ellos. Existen numerosos blogs y sitios web que están llenos de información y foros con personas que voluntariamente comparten sus conocimientos con aquellos que intentan aprender. He ido a la raíz de contratar a algunos de los que han estado trabajando con DNN desde el comienzo cada hora para la capacitación personalizada (como cuando les hago las preguntas y no responden a una clase con un curso "prediseñado"). La mayoría de los sitios que venden módulos también tienen foros y esos desarrolladores también harán todo lo posible para ayudar a otros a aprender.

En poco tiempo y la persistencia dará sus frutos como con cualquier otro marco o idioma. Y como Mitchel notó "Puedes atrapar más moscas con miel que con vinagre"

Por cierto, ¿había algo en particular que estabas buscando?

+0

usted plantea un buen punto. Normalmente dudaría en contactar autores o desarrolladores de productos de código abierto, ya que tienen mejores cosas que hacer con su tiempo. Por otro lado, si no pregunto, nunca sabrán que hay una pregunta. Quité el vinagre, pero todavía no es bueno;) – Abel

+0

http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryId/2758/Help-How-do-I-do-THIS-in -the-DNN-API-Part-3-of-3.aspx –

1

Los manuales de usuario de DotNetNuke ya están disponibles en línea here. Creo que una actualización para 5.5.0 llegará pronto.

Como el miembro más reciente del equipo de desarrollo de DotNetNuke Corp. (hace aproximadamente 2 meses), puedo asegurarle que no hay documentación secreta de la API. Tengo una copia de los mismos documentos API que están en Codeplex.No es sorprendente que la documentación de la API sea limitada, la gran mayoría de DNN fue escrita por desarrolladores voluntarios que prefirieron codificar y no escribir comentarios, este problema no es raro entre los proyectos de código abierto. Mi única ventaja sobre el resto de la comunidad de desarrolladores de DNN es el fácil acceso a algunos de los antiguos miembros del equipo central que saben cómo funcionan las cosas.

Existe un proyecto para ampliar la documentación de la API en curso, DNN corp participa y, como siempre, se recomienda la contribución de la comunidad. Ernst Peter Tamminga ha estado blogueando al respecto recientemente here.

+0

+1, esta es una buena adición a esta discusión, y me complace saber que la referencia recibe cada vez más atención. – Abel

0

Cuando estoy buscando llamadas API públicas dentro de DotNetNuke, uso .NET Reflector. Si no lo ha usado antes, creo que podría ser exactamente lo que está buscando (o más). Le permite buscar clases, métodos y propiedades. Puede iniciar la búsqueda con DotNetNuke para filtrar cosas que no son DNN. Cuando encuentras algo que se ve bien, te permite ver el código exacto. Es gratis y nunca tendrá que preocuparse por que no esté actualizado, ya que siempre puede hacer referencia a la última dll de DNN.

+0

Reflector le permite realizar ingeniería inversa en un ensamblaje compilado. Si bien es extremadamente útil (y la versión registrada le permite depurar a través del ensamblado decompilado) y aunque me ahorró muchas horas, incluso con ensamblajes BCL, no es un sustituto de una buena documentación. – Abel

1

Lo noté hace un año (como probablemente lo demuestra mi historial SO).

En parte para llenar este vacío, leí los grandes libros rojos y vi muchos, muchos videos de entrenamiento. Ahora estoy en el año 2 de un proyecto bastante grande; ~ 50 módulos DNN personalizados y dos cambios DNN Core: sistema Speedy URL Rewriting (más allá de la capacidad de URLMaster) y controlador personalizado 404/301.

En mi opinión, lea los libros, encuentre algunos videos de entrenamiento que le gusten y estará en camino rápidamente. Tomó unos meses sentirse cómodo arrancando DNN Modules (dirigido a un cliente) y modificando el núcleo de DNN. Dicho esto, tuve algunos módulos ásperos funcionando después de unas semanas.

Si nada de eso suena bien, solo haga sus preguntas aquí en SO - hay suficiente comunidad por aquí que es un recurso bastante bueno.

Cuestiones relacionadas