пятница, 31 октября 2008 г.

Отличные ресурсы для внедренцев MOSS

http://www.microsoft.com/rus/web/

Собственно и все, крайне советую обратить внимание на раздел Решения для бизнеса

Планирование проектов и затраты времени

 

Начать эту статью меня подвигло одно наблюдение, постоянно происходящее с моим другом, он не может остановиться. Проект, не предвещающий ничего плохого, вдруг к своему концу перестает его удовлетворять, и начинаются переделки вновь и вновь.

Что же это такое? Стремление к совершенству или просто боязнь «обосраться»? Думаю второе. Все  мы боимся неудач, но зачастую эта боязнь становиться непреодолимым препятствием на нашем пути. Поэтому первый постулат «Забей на неудачи», в конце концов тот не ошибается кто ничего не делает.

Вторая проблема в проекте недооценка себя и своих трудозатрат, именно своих!!! Заказчик свои оценит очень четко, он не первый день живет. Поэтому второй постулат «Цена это только повод поторговаться»

Рассмотрим проблему ценообразования подробней. Главное в этой ситуации не «прогибаться» под менеджера, у него работа такая минимизировать затраты, и главное ваше оружие в борьбе за свои деньги это четкое понимание что вы делаете и сколько времени у вас это займет.  В случае если попадается откровенный жлоб, не слушающий доводов, единственный выход сказать до свиданья, ваше время дороже.

Третий постулат «К черту сложность». Поясню поподробней следуйте по пути наименьшего сопротивления, да некрасиво, да плеваться хочется, НО!!!!!!!!! деньги уплочены, все работает, клиент доволен так что не думайте как сделать лучше помните : - Лучшее враг хорошего

 

Четвертый постулат «Не оптимизируй без надобности» типичный пример данного действия делать страницу для 20 браузеров, если смотреть их будут только в 2

 

Пятый постулат «Кто первый тот и прав» покупателю безразличен продукт если опоздал на рынок, так что сделайте его как можно быстрее и запускайте, если мне не верите посмотрите в каком браузере вы сейчас смотрите эту страницу :) MS наше фсе!!! 

 

 

Итак, подведу итоги, начиная проект, следуйте следующим правилам:

 

  1. Забей на неудачи
  2. Цена только повод поторговаться
  3. К черту сложность
  4. Не оптимизируй без надобности
  5. Кто первый тот и прав

среда, 22 октября 2008 г.

Microsoft снова отожгли

Задача вроде простейшая "Обеспечить 2х стороннюю синхронизация Excel и SharePoint List" однако оказалось что этого уже нет. Решение как всегда нашлось на просторах интернета, даже несколько.

На официальном сайте предлагаются решения использовать либо Access либо программировать скрипты на VBA немного ниже я цитирую эту страницу, однако на блоге Roberda'a приведено решение позволяющее малой кровью вновь добавить данный функционал, вкратце необходимо скачать расширение для Excel c официального сайта Microsoft

Excel add-in, подробные инструкции тут

Улыбнуло официальное обьяснение на сайте Microsoft,

What happened to SharePoint list synchronization?
 

Symptoms

After you export data from a Microsoft Office Excel table to a Windows SharePoint Services list, you cannot update the SharePoint list with changes that you make to the table data in Excel.

Cause

Two-way synchronization between an Excel table and a SharePoint list is no longer supported in Office Excel 2007. You can create only a one-way connection to the data in the SharePoint list, which lets you update the table data with changes that are made to the SharePoint list.

Resolution

You can use Office Access 2007 (if it is installed on your computer) or Visual Basic for Applications (VBA) code to update data on a SharePoint list so that the changes that you make to table data are reflected on the SharePoint site.

For information about how to use Office Access 2007, see Import or link to data in an Excel workbook and Import from or link to a SharePoint list. To learn more about using VBA, visit the Microsoft Office Developer Center.

вторник, 21 октября 2008 г.

Отличное руководство по использованию программной модели развертывания http://msdn.microsoft.com/ru-ru/magazine/cc507633.aspx

пятница, 17 октября 2008 г.

Сопоставление данных из AD и профиля пользователя в SharePoint

Открываем сайт администрирования SharePoint и переходим на страницу Администрирование общих службprop1

propadd

Переходим по ссылке Профиль пользователя и свойства и выбираем ссылку Добавить свойство профиля  выбираем нужное вам свойство для сопоставления.prop

После этого производим импорт командой Начать полный импорт 

Далее мы можем добавить новый список типа Контакты и после этого перейдите к странице настроек списка и добавляем столбец из списка существующих на сайте

addColl 

 

Для добавления аттрибутов в тип пользователи при создании нового столбца вам необходимо перейти к списку пользователи узла и довавить аттрибут который вы создали.

users

 

Вызовите свойства списка

userlist

 

и добавьте нужный столбец

addcoooo

После этого вы можете увидеть этот новый столбец в поле подстановки

fg

понедельник, 13 октября 2008 г.

SharePoint Solutions Blog: How do I make our SharePoint site stop asking me to login? – Part I

Понравилось сообщение о том как избавиться от ввода пароля. SharePoint Solutions Blog: How do I make our SharePoint site stop asking me to login? – Part I: "# e enhanced configuration in step 3, so that this policy would apply to normal workstations. Click Continue. # Close all open windows."

вторник, 7 октября 2008 г.

Publish in LAYOUTS Folder in MOSS

Публикация страницы в папке LAYOUTS

Для публикации страницы ASPX в папке LAYOUTS мы создадим новый проект на основе шаблона SharePoint, если в вашей системе не установлен данный тип шаблона загрузите его с сайта компании Microsoft

http://www.microsoft.com/downloads/details.aspx?FamilyID=7bf65b28-06e2-4e87-9bad-086e32185e68&displaylang=en

CreateProject 

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

References

Создайте файл который будет обрабатывать логику вашей страницы

GetData.aspx.cs

using System;

using Microsoft.SharePoint;

 

namespace OpenTech.SIMR.GetData

{

public partial class GetData : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

 

string url = "http://localhost";

string name = "dbrn";

string listName = "Хранилище документов";

string query = @"<Where>

<Eq>

<FieldRef Name='Created' />

<Value Type='DateTime'>2008-10-06T00:00:00Z</Value>

</Eq>

</Where>";

if (Request.Params.Get("query") != null)

{

query = Request.Params.Get("query");

}

if (Request.Params.Get("name") != null)

{

name = Request.Params.Get("name");

}

if (Request.Params.Get("urlHome") != null)

{

url = Request.Params.Get("urlHome");

}

if (Request.Params.Get("listName") != null)

{

listName = Request.Params.Get("listName");

}

//Response.Charset = "UTF-8";

Response.ContentType = "application/xml";

Response.Write(GetList(url, name, listName, query));

}

/// <summary>

/// Получение списка в виде датасета.

/// </summary>

/// <param name="url">Адрес сайта</param>

/// <param name="name">имя сайта</param>

/// <param name="listName">Имя списка</param>

/// <param name="camlString">Запрос в виде стороки CAML запроса</param>

/// <returns></returns>

public static string GetList(string url, string name, string listName, string camlString)

{

string ret = "";

using (SPWeb webSite = new SPSite(url).AllWebs[name])

{

SPList list = webSite.Lists[listName];

SPQuery query = new SPQuery();

query.Query = camlString;

SPListItemCollection items = list.GetItems(query);

ret = items.Xml;

}

return ret;

}

}

}

 

 

Создайте папку TEMPLATE и в ней папку LAYOUTS

 NewFolder

Далее добавьте новый предмет в проект

addNew

template

И добавьте в него следующий код:

<%@ Page Language="C#" AutoEventWireup="true" Inherits="OpenTech.SIMR.GetData.GetData, OpenTech.SIMR.GetData, Version=1.0.0.0, Culture=neutral, PublicKeyToken=022aa651ef18dc3c" ValidateRequest="false" %>

 

Произведите развертывание решения(правый шелчок мыши по проекту пункт Deploy) и узнайте значение PublicKeyToken, на рисунке ниже он обведен линией

 key

После этого вы можете добавлять и улучшать код в вашу страницу…

пятница, 3 октября 2008 г.

Траблешутинг в MOSS 2007

 

Руководства по установке moss 2007 отличаются своей полнотой и обьемностью и в какие то моменты просто тонешь в море информации по этому продукту поэтому я решил написать краткое руководство по решению проблем в системе MOSS 2007.

Как это ни странно для решения проблем необходимо использовать стандартные средства операционной системы Windows разнообразнейшие журналы.

Главный источник это журналы событий для нас представляют интерес журналы:

  • Приложение – здесь мы видим ошибки приложения и зачастую их расшифровку или ссылку на Knowledge Base
  • Безопасность - главный источник информации о доступе пользователей
  • Система – общая информация о сервисах и системных приложениях

Кроме этого необходимо понимать, что MOSS это сложная система, работающая на стыке множества технологий:

  • Internet Information Server – веб сервер, сервер приложений
  • Microsoft Sql Server –хранилище данных
  • Microsoft SMTP Server / Exchange – почтовый сервер и транспорт для почты
  • .NET Framework – Среда исполнения

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

IIS

c:\WINDOWS\system32\Logfiles\ - в данной папке находятся логи доступа к веб страницам, собственно тут можно увидеть как работает ваше приложение

строки выглядят примерно так 14:12:31 127.0.0.1 GET /WebResource.axd 200 последнее число означает что все нормально так – же статус 302 означает что все в порядке.

На следующие статусы следует обратить внимание:

  • 401 – отказ авторизации (неправильный пароль или сбой в авторизации)
  • 404 – отсутствует файл
  • 500 – ошибка, подробности смотрите в журнале приложений

WSS

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS

Примерное содержание файла такое:

10/02/2008 19:02:27.12     w3wp.exe (0x1F78)     0x26C4    SharePoint Portal Server     Runtime     8gp7    Medium     Topology cache updated. (AppDomain: /LM/W3SVC/99283664/Root-1-128674169931000678)    

10/02/2008 19:02:28.49     w3wp.exe (0x243C)     0x20E4    SharePoint Portal Server     Runtime     8gp7    Medium     Topology cache updated. (AppDomain: /LM/W3SVC/170751077/Root-1-128674297614020577)    

10/02/2008 19:02:47.29     w3wp.exe (0x243C)     0x2CB4    Windows SharePoint Services     General     0    Medium     Entering MRU trim routine.    

10/02/2008 19:02:47.29     w3wp.exe (0x243C)     0x2CB4    Windows SharePoint Services     General     0    Medium     Initial table size: 143343069 in 437 entries    

10/02/2008 19:02:47.29     w3wp.exe (0x243C)     0x2CB4    Windows SharePoint Services     General     0    Medium     Final table size: 143343069 in 437 entries    

10/02/2008 19:02:47.29     w3wp.exe (0x243C)     0x2CB4    Windows SharePoint Services     General     0    Medium     Exiting MRU trim routine.    

10/02/2008 19:03:19.68     OWSTIMER.EXE (0x070C)     0x0A90    SharePoint Portal Server     Business Data     79bv    High     Initiating BDC Cache Invalidation Check in AppDomain 'DefaultDomain'     

 

Вам необходимо просто просмотреть необходимый файл и узнать что за сообщения есть.

Exchange \ Microsoft SMTP Server

Exchange создает свой журнал в котором и отображается все события имеющие к нему отношение. Smtp сервер записывает сообщения в журнал «Приложения»

 

Данные сведения помогут вам быстро локализовать источник проблемы или собрать сведения для анализа сторонними специалистами. Приятной охоты за ошибками J