Что касается MOSS или WSS 3.0, какие части API могли бы быть реализованы лучше? - PullRequest
5 голосов
/ 08 февраля 2009

Например:

  • Запечатанные методы, которые вы, возможно, хотели бы расширить
  • Исключения более расплывчаты, чем полезны
  • Исключение Подключенного контента , который был основной функцией в MCMS 2002
  • HTML удаляется из полей при сохранении и возвращении. Нет простого способа обойти эту проблему
  • Создание SPWeb занимает вечность.
  • Несуществующий путь миграции из MCMC 2002

Ответы [ 6 ]

6 голосов
/ 08 февраля 2009

Хотелось бы, чтобы объектная модель Sharepoint была чисто управляемым кодом. Несмотря на то, что иметь .NET-оболочки удобно, приходится беспокоиться об удалении множества объектов, реализующих IDisposable. Это так легко столкнуться с проблемами памяти, когда утилита не вызывается в приложении WSS. И я подумал, что причиной перехода на .NET было освобождение разработчиков от необходимости заниматься управлением памятью ...

2 голосов
/ 09 февраля 2009

Любой из API SPList может использовать полное переписывание. Попытка разобраться с библиотеками с вложенными папками - полный кошмар, когда список полностью сплющен без очевидной иерархической структуры.

Еще одним замечательным дополнением было бы добавление интерфейсов в SPWeb, SPList и другие классы Sharepoint для облегчения тестирования.

2 голосов
/ 08 февраля 2009

Как насчет рефакторинга свойств, которые вместо этого приводят к дополнительным вызовам базы данных для методов, например, свойство Items в SPList.

1 голос
/ 24 февраля 2009

Несоответствия при передаче имен полей в методы или массивы. Например:

Чтобы положить глазурь на торт, обычно нет документации о том, принимает ли метод внутреннее и / или отображаемое имя.

1 голос
/ 09 февраля 2009

Мой личный фаворит - метод SPField.GetFieldValue . Я понятия не имею, почему они разработали это так, как они, но для меня это вряд ли имеет смысл. Чтобы получить объект из ListItem, вы должны сделать что-то вроде:

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

Вывод объекта из ListItem является IMO базовой операцией, поэтому это не должно быть таким сложным.

1 голос
/ 09 февраля 2009

Кто-нибудь видел этот метод: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx Этот метод показывает невероятную глупость, которую Sharepoint предоставляет разработчикам.

...