2009-02-08 12 views
5

Tales como:Con respecto a MOSS o WSS 3.0, ¿qué partes de la API podrían haberse implementado mejor?

  • Métodos selladas que podría haber gustado extender
  • Excepciones lanzadas son más vago que es útil
  • Eliminación de contenido conectado que era una característica importante en MCMS 2002
  • El HTML se elimina de los campos cuando se almacena y se devuelve. No es una opción fácil para evitar este problema
  • La creación de SPWeb lleva una eternidad.
  • ruta de migración brillaba por su ausencia de MCMC 2002
+0

Touche! ¿Cómo te sientes al respecto? –

+0

Estoy de acuerdo con Rex. ;) La API es monstruosa. ¿Alguien más ha visto pérdidas de memoria al iniciar flujos de trabajo en el código? –

+0

Esperemos que la cantidad de ventas ($) generadas por MOSS les permita volver a visitar las partes internas del OM. Aunque me temo que esa razón exacta los evitará, ya que querrán mantener la compatibilidad con versiones anteriores. –

Respuesta

6

Deseo que el modelo de objetos Sharepoint sea un código puramente administrado. Aunque tener contenedores .NET es conveniente, tener que preocuparse por eliminar los muchos objetos que implementan IDisposable es un problema. Es tan fácil encontrarse con problemas de memoria cuando no se llama a dispose en una aplicación de WSS. Y pensé que la razón para pasar a .NET fue a los desarrolladores libres de tener que lidiar con la gestión de memoria ...

+0

+1 debería ver algunos de los patrones que hemos encontrado para asegurarnos de disponer adecuadamente de cada SPWeb en una recursión de ramificación –

+0

Estoy de acuerdo aquí también. SPWeb es un juego de niños para mantener bajo control. –

+0

+1 SPWeb golpea regularmente a mi madre –

2

¿Qué hay de refactorización propiedades que resultan en la base de datos adicional llamadas a métodos en lugar, por ejemplo, la propiedad artículos por SPList.

2

Cualquiera de la API SPList podría utilizar una reescritura completa. Tratar de lidiar con bibliotecas con carpetas anidadas es una pesadilla completa con la lista completamente aplanada sin una estructura jerárquica obvia.

Otra adición maravillosa sería agregar interfaces a SPWeb, SPList y otras clases de Sharepoint para ayudar en las pruebas.

1

Mi favorito personal es el SPField.GetFieldValue Method. No tengo idea de por qué lo diseñaron de la manera en que lo hicieron, pero para mí apenas tiene sentido. Para obtener un objeto fuera de un ListItem que tiene que hacer somethine como:

SPField field = ((SPList)list).Fields.GetField("FieldName"); 
object fieldValue = field.GetFieldValue(((SPListItem)item)[field.Title].ToString()); 

Conseguir un objeto fuera de un ListItem es una operación básica de la OMI, así que esto no debería ser tan complicado.

1

Incoherencias al pasar nombres de campos a métodos o matrices.Por ejemplo:

para poner la guinda del pastel, por lo general hay ninguna documentación acerca de si un método toma el nombre interno y/o la pantalla.

+0

+1 para la observación "sin documentación". Me vuelve loca. –

Cuestiones relacionadas