http://www.microsoft.com/rus/web/
Собственно и все, крайне советую обратить внимание на раздел Решения для бизнеса
http://www.microsoft.com/rus/web/
Собственно и все, крайне советую обратить внимание на раздел Решения для бизнеса
Начать эту статью меня подвигло одно наблюдение, постоянно происходящее с моим другом, он не может остановиться. Проект, не предвещающий ничего плохого, вдруг к своему концу перестает его удовлетворять, и начинаются переделки вновь и вновь.
Что же это такое? Стремление к совершенству или просто боязнь «обосраться»? Думаю второе. Все мы боимся неудач, но зачастую эта боязнь становиться непреодолимым препятствием на нашем пути. Поэтому первый постулат «Забей на неудачи», в конце концов тот не ошибается кто ничего не делает.
Вторая проблема в проекте недооценка себя и своих трудозатрат, именно своих!!! Заказчик свои оценит очень четко, он не первый день живет. Поэтому второй постулат «Цена это только повод поторговаться»
Рассмотрим проблему ценообразования подробней. Главное в этой ситуации не «прогибаться» под менеджера, у него работа такая минимизировать затраты, и главное ваше оружие в борьбе за свои деньги это четкое понимание что вы делаете и сколько времени у вас это займет. В случае если попадается откровенный жлоб, не слушающий доводов, единственный выход сказать до свиданья, ваше время дороже.
Третий постулат «К черту сложность». Поясню поподробней следуйте по пути наименьшего сопротивления, да некрасиво, да плеваться хочется, НО!!!!!!!!! деньги уплочены, все работает, клиент доволен так что не думайте как сделать лучше помните : - Лучшее враг хорошего
Четвертый постулат «Не оптимизируй без надобности» типичный пример данного действия делать страницу для 20 браузеров, если смотреть их будут только в 2
Пятый постулат «Кто первый тот и прав» покупателю безразличен продукт если опоздал на рынок, так что сделайте его как можно быстрее и запускайте, если мне не верите посмотрите в каком браузере вы сейчас смотрите эту страницу :) MS наше фсе!!!
Итак, подведу итоги, начиная проект, следуйте следующим правилам:
Задача вроде простейшая "Обеспечить 2х стороннюю синхронизация Excel и SharePoint List" однако оказалось что этого уже нет. Решение как всегда нашлось на просторах интернета, даже несколько.
На официальном сайте предлагаются решения использовать либо Access либо программировать скрипты на VBA немного ниже я цитирую эту страницу, однако на блоге Roberda'a приведено решение позволяющее малой кровью вновь добавить данный функционал, вкратце необходимо скачать расширение для Excel c официального сайта Microsoft
Excel add-in, подробные инструкции тут
Улыбнуло официальное обьяснение на сайте Microsoft,
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.
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.
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.
Открываем сайт администрирования SharePoint и переходим на страницу Администрирование общих служб
Переходим по ссылке Профиль пользователя и свойства и выбираем ссылку Добавить свойство профиля выбираем нужное вам свойство для сопоставления.
После этого производим импорт командой Начать полный импорт
Далее мы можем добавить новый список типа Контакты и после этого перейдите к странице настроек списка и добавляем столбец из списка существующих на сайте
Для добавления аттрибутов в тип пользователи при создании нового столбца вам необходимо перейти к списку пользователи узла и довавить аттрибут который вы создали.
Вызовите свойства списка
и добавьте нужный столбец
После этого вы можете увидеть этот новый столбец в поле подстановки
Для публикации страницы ASPX в папке LAYOUTS мы создадим новый проект на основе шаблона SharePoint, если в вашей системе не установлен данный тип шаблона загрузите его с сайта компании Microsoft
После создания проекта добавьте необходимые сборки для построения библиотеки.
Создайте файл который будет обрабатывать логику вашей страницы
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
Далее добавьте новый предмет в проект
И добавьте в него следующий код:
<%@ 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, на рисунке ниже он обведен линией
После этого вы можете добавлять и улучшать код в вашу страницу…
Руководства по установке moss 2007 отличаются своей полнотой и обьемностью и в какие то моменты просто тонешь в море информации по этому продукту поэтому я решил написать краткое руководство по решению проблем в системе MOSS 2007.
Как это ни странно для решения проблем необходимо использовать стандартные средства операционной системы Windows разнообразнейшие журналы.
Главный источник это журналы событий для нас представляют интерес журналы:
Кроме этого необходимо понимать, что MOSS это сложная система, работающая на стыке множества технологий:
Каждый из этих компонентов имеет свои механизмы для регистрации событий и ошибок, ниже я опишу где можно найти эти файлы и как анализировать эти сообщения и как правильно составлять отчет для передачи специалистам.
IIS
c:\WINDOWS\system32\Logfiles\ - в данной папке находятся логи доступа к веб страницам, собственно тут можно увидеть как работает ваше приложение
строки выглядят примерно так 14:12:31 127.0.0.1 GET /WebResource.axd 200 последнее число означает что все нормально так – же статус 302 означает что все в порядке.
На следующие статусы следует обратить внимание:
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