¿Qué conceptos de desarrollo de SharePoint son los más difíciles de entender para los desarrolladores de ASP.Net?

StackOverflow https://stackoverflow.com/questions/1424643

Pregunta

Estoy tratando de reunir materiales de capacitación de SharePoint 2007 (y, eventualmente, 2010) para desarrolladores experimentados de ASP.Net, y después de haber hecho SharePoint durante años, realmente no recuerdo dónde estaban los peores puntos de partida al principio - sin mencionar que la cantidad de contenido de Google Googlable es mayor en un orden de magnitud que hace dos años.

Dicho esto, ¿qué conceptos de SharePoint son los más difíciles de comprender, y / o qué partes de SharePoint son lo suficientemente esotéricas como para no ser obvias para un desarrollador novato de SharePoint que simplemente se sumerge?

¿Fue útil?

Solución

Greg,

En mi experiencia, la emisión relacionada con la eliminación adecuada de objetos ( SPWeb y SPSite objetos que, a su vez, hacen referencia a SPRequest envoltorios alrededor de COM no administrados objetos) son un problema común y la fuente de muchos problemas de escalabilidad, rendimiento y otros problemas de codificación. Una vez que Microsoft se dio cuenta de la magnitud del problema y el grado de confusión del desarrollador en esta área, escribieron un gran artículo de orientación ( http://msdn.microsoft.com/en-us/library/aa973248.aspx ) y desarrolló la herramienta SPDisposeCheck ( http://code.msdn.microsoft.com/SPDisposeCheck ).

Ese es mi voto para '' no obvio para un desarrollador novato de SharePoint que solo se sumerge en '' :-)

¡Por lo que vale!

Otros consejos

Mi lista de cosas más difíciles de comprender son:

  • Código de seguridad de acceso y todos los otras características de seguridad
  • Diferencia entre sitio / aplicación páginas y personalizadas / no personalizadas páginas
  • CAML en ambas consultas y todas las definiciones
  • ¿Qué hay en SharePoint? no reinventes la rueda
  • Renunciar al control.

    Usted no controla qué elementos web son en una página y cómo están conectados. Deberías hacerlos posibles reutilizar

    Usted no controla qué lista están en un sitio o qué campos contienen

  • Falta de soporte para múltiples idiomas
  • No deseche SPWeb y SPSite si obténgalos de SPContext.Current
  • delegar controles

Otras cosas que son nuevas pero que parecen ser más fáciles de entender son:

  • Soluciones / características
  • Todos los marcadores de posición en páginas maestras

* Falta de control *

Este es el tema clave como Por Jakobsen menciona . Avanzando ...

  1. No es posible simplemente entrar y editar archivos .aspx y .master donde quieras. Hay consecuencias como la falta de apoyo, el apoyo, y que a menudo simplemente no funciona como se esperaría. Una buena comprensión de cómo SharePoint compone páginas es fundamental.

  2. No hay forma (compatible y confiable) de consultar la base de datos directamente. Esto es extremadamente frustrante para los desarrolladores de ASP.NET que están acostumbrados a diseñar / trabajar con bases de datos diseñadas y diseñadas específicamente. Las consultas CAML no sustituyen el poder de las consultas SQL bien optimizadas.

  3. (Más de un 2b): Soporte pobre para datos relacionales entre listas. Extraño para una aplicación empresarial.

  4. Un poco fuera de tema, pero el marcado HTML y CSS fue una pesadilla en 2003 y no mucho mejor en 2007. Es doloroso trabajar con él y tampoco es bonito. Debe hacer todo lo posible para crear un sitio que cumpla con los estándares web y las mejores prácticas.

Para resumir, las cosas generalmente deben hacerse "a la manera de SharePoint". Esto a menudo no es la forma más eficiente o elegante que prefiere un desarrollador ASP.NET directo. A los desarrolladores les gusta la elegancia y a ellos no les gusta ceder el control.

También hay problemas en todo el producto ( Sean mencionó una clave ) acechando como pequeños cables trampa para los desprevenidos. La única forma de conocerlos y comprenderlos es conocer SharePoint, y es un producto grande .

Vea más discusión sobre esto en ¿Por qué los desarrolladores de ASP.NET no usan WSS? en SharePointDevWiki.

Lo que ya está en SharePoint para que no reinventes la rueda. Yo voto por esto.

Per ha cubierto ha cubierto la mayoría de los puntos para mí, sin embargo, agregaré un par más:

  1. SPContext - El concepto de ejecución de código coneptual SPContext.Current o el objeto Properties en un receptor de eventos.

  2. Siguiendo desde el contexto, también es importante entender quién se está ejecutando el código y, por lo tanto, qué acciones puede completar: elevar (elevar privilegios), suplantar (tokens) y ejecución (servicios web / receptores de eventos) .

  3. Manejo de errores: todos gritan cuando el único error que aparece es "un error ha ocurrido", por lo que es fundamental comprender los registros de SP y los códigos de error. Esto es importante para reducir el tiempo perdido persiguiendo un error XML exasperante.

  4. Visual Studio Tools: WSPBuilder, VS Tools para Sharepoint, etc. Reduzca el dolor de la implementación y la depuración acortando el ciclo de integración.

Cree un informe / panel utilizando los servicios de informes de SQL Server para problemas del mundo real y muéstrelo en el sitio sharepoint. Número de ejemplos / tutoriales encontrados en línea, sin embargo, este asunto sigue siendo insuficiente (supongo).

Todo lo relacionado con la arquitectura e implementaciones del mundo real. Soy desarrollador, pero tengo que ensuciarme las manos si quiero tener el entorno de cliente más cercano posible en mis entornos virtuales sin esperar un soporte de TI oficial. Intente crear una pequeña granja con una intranet, internet, extranet, mecanismo de autenticación mixto, asignaciones de acceso alternativas, configuración de encabezado de host, etc. Ese es un trabajo completamente dedicado pero en el que tendrá que sumergirse si desea desarrollar algunas implementaciones de mediana a gran escala.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top