вторник, ноября 29, 2005

WSS & SPS Administrator

Утилита для курочить Шарепойнт - копирование, редактирование, добавление всяких разных элементов.

Более подробно - здесь

пятница, ноября 18, 2005

Microsoft.SharePoint.WebPartPages.XmlWebPart

Ну и штуковина! Долго пытался выяснить, что же и как она делает - полный облом. Похоже, и никто не ухитрился её в деле использовать :-(.

А всего-то и надо было - прочитать из файла xml, преобразовать его через xsl и выдать юзеру. В итоге пришлось изобретать свой аналог, который даже и работает.


четверг, ноября 17, 2005

Sharepoint Portal & .NET 2.0 continued

История не заканчивается.

Установил релиз FW .NET 2.0 (описанное ранее было с beta2) - приключения с атрибутом enableEventValidation закончились.
Обнаружилась бяка хуже - перестала работать как следует функция создания узла в портале. Сам узел создаётся, но до формирования по шаблону дело не доходит - заедает на второй странице " Добавление ссылки на узел".
В итоге в области "Узлы" ссылки на новый узел нет, при первом обращении к узлу по адресу сначала выползает форма выбора шаблонов узла.
Попробовал варианты переключения версии .net на установленном узле портала и установки на сервер с включённым вторым дотнетом - один фиг. Мелочь, но противно.

Правда, у некоторых гладко проходит - Matthew Cosier's Blog: WSS and SPS on .NET 2.0

Но у некоторых - тоже не проходит: Steven Van de Craen's Blog

суббота, ноября 05, 2005

Sharepoint notes 4.

Очередной капкан.
 
При добавлении SPFieldLookup-полей к списку list в примерах рекомендуют нечто вроде:
 
list.Fields.AddLookup(fieldName, lookupListID, fieldRequired);
SPFieldLookup newfield = list.Fields[fieldName] as SPFieldLookup
;
newfield.LookupField = lookupFieldName;
 
Всё это проходит на примерах, где поле называется Title.
 
На самом деле, приходится использовать такой код:

AddLookup(list, fieldName, lookupListID, fieldRequired, lookupFieldName);
SPFieldLookup newfield = list.Fields[fieldName] as SPFieldLookup;
 
...
 
string AddLookup(SPList list, string FieldName, Guid LookupListID, bool FieldRequired, string LookupFieldName) {
XmlDocument fxml = new XmlDocument
();
XmlElement xf = fxml.CreateElement("Field"
);
xf.SetAttribute(
"DisplayName"
, FieldName);
xf.SetAttribute(
"Type", "Lookup"
);
xf.SetAttribute(
"Required"
, FieldRequired.ToString ());
xf.SetAttribute(
"List", LookupListID.ToString("B"
));
xf.SetAttribute(
"ColName", "int1"
);
xf.SetAttribute(
"ShowField"
, LookupFieldName);

return  list.Fields.AddFieldAsXml(xf.OuterXml);

}

Sharepoint notes 3.

Опять обманули...

The Delete method of the SPFieldCollection class deletes the field with the specified display name from the collection.

public void Delete(
   string strName
);

Parameters
strName   A string that specifies the display name of the field
 
На самом деле
strName   must be InnerName.

Sharepoint notes 3.

Опять обманули...

The Delete method of the SPFieldCollection class deletes the field with the specified display name from the collection.

public void Delete(
string strName
);

Parameters
strName A string that specifies the display name of the field
На самом деле
strName must be InnerName.

пятница, ноября 04, 2005

Sharepoint notes 2.

Опять обманули...

The Add method of the SPFieldCollection class creates a field in the collection.

public string Add(
   string strDisplayName,
   Microsoft.SharePoint.SPFieldType type,
   bool bRequired
);

Return Value
A string that contains the display name of the new field.
 
На самом деле
возвращает InnerName для нового поля.

вторник, ноября 01, 2005

Sharepoint notes 1.

При добавлении пользователя в роль пытался сделать так:

role.AddUser(user);

В SDK никаких оговорок по поводу этой конструкции не видно. Исполняется молча, но ничего не добавляет :-( Работает только такая конструкция:

role.AddUser( user.LoginName, user.Email, user.Name, user.Notes + "(added by Wss Admin)");

Мелочь, но время потрачено приличное.

.NET 2.0 release

Начал какие-то исследования по использованию релиза.

Установил на втором компьютере релиз и SDK.
Попробовал собрать на нём при помощи MsBuild проект от 2005-й Студии beta 2. Собирается, и даже работает.

Скомпилил своего Wss Admin'а На 2005-й Студии. Работает как под второй бетой, так и под релизом на "сервере".
Осталось уговорить заказчика перейти на вторую версию (пусть и без Sharepoint'а пока).