Бърз и прост: Предоставяне на уеб сайт с помощта на SharePoint обектния модел в C#

Аз tried търся за малко фрагмент код, който показва как да създадете нов SPWeb в колекция от сайтове. Не го намери като бързо или лесно, както и очаквах, така си мислех, че ще шамар заедно малко запис по темата.

Този код се създава нов сайт уики:

 SPSite siteCollection;

    siteCollection = нов SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy заглавие",
        "xyzzy описание", 1033, SPWebTemplate.WebTemplateWIKI, фалшиви, фалшиви);

Моята първоначална търсения е неуспешно, защото е търсил за фрази като: "предоставяне на уеб сайт с помощта на модел на обекта на sharepoint" и други подобни.

Ако ви Търсене за "Webs.Add()", Вие ще намерите много полезни блог записи, MSDN статии и SDK документация, които отиват в дълбочина на тази тема. Определено препоръчвам този сайт.

</край>

Абонирайте се за моя блог.

Technorati тагове:

Интегриране на SharePoint Designer работни потоци с уеб услуги

Аз бях играя наоколо с потребителски действия за SharePoint Designer за известно време (Вижте тук за някои подробни неща, Ако това ви интересува).

В сегашния си проект, Ние трябва да направим някои доста тежки повдигане и ние искаме да използвате декларативно ЕДП поток за управление на свързаните с тях бизнес процеса.

Дълга история кратко, Това е напълно възможно. Аз разширена ми Codeplex проект да се позове на "помощник услуга" и сега ние може да се позове на уеб услуга директно от работен поток на ЕПД.

Тук е подпис:

 обществени низ Експедитор(
        GUID WebID, // Приет от runtime environment
        GUID SiteID, // Приет от runtime environment
        низ ListID, // Приет от RTE (не знам защо това е низ, не е GUID)
        INT ListItemID, // Приет от RTE.
        низ XmlMessage) // Преминали от страна на потребителя, както са декларирани в ЕПД.

Това подсилва факта, че можем да вземем най-важна поток информация, Подобно на сайта, ИД на списък, н. Това е добре документирано в няколко места, за тези от вас се интересуват от създаването на собствен потребителски действия. Идеята е да извлечете XML низ, както е предвидено от страна на потребителя да изпраща подходяща процедура. Забавни неща!

За съжаление, Това очевидно е еднопосочен билет до "Loosey Goosey" Анти-модел земя, but it’s better than hitting a brick wall 🙂

Е това анти-модел, ако го направя, въпреки че знаете, че това е анти-модел?

Надявам се да наслагвате това вътре Codeplex в близко бъдеще. Ако сте заинтересувани от мен по този начин, Дайте ми мушкам (имейл или оставете коментар) and I’ll be that more enthusiastic about doing it 🙂

</край>

Абонирайте се за моя блог.

Technorati тагове: ,

Неделя забавни: “Аз се чудя, ако вашата парола е …”

Аз наскоро купи обяд за брат ми (както обикновено) и ние озовал говорим за забавни неща, които направихме в нашата съответните колежи. В моята Алма матер, Лафайет колеж, академична подкрепа ИТ отдел имаше много всеобхватен начин за него. Ние получихме много на въже и аз се възползва от това в пъти.

Две любимите ми спомени са свързани с моя добър приятел, Габе. Той е направил ужасна грешка на казвам на хората си първокурсник година, че "Аз съм първокурсник, но имам второкурсник постоянни" поради различните класове Разширено разположение той е взела, н. Много от нас по същия начин са били разположени, но ние не говорим за това толкова много. Си година, когато ние го запознал с хора, Ние ще кажем "това е Габе. Той е старши, но той е второкурсник стои ".

Колеж имаше някои слънцето работна станция/сървъри, работещи на X-Window. Те са гигантски монитори и инженери са ги използвали за CAD и други скучни неща, инженер. Ние CS хора ги използват за да научите за програмиране and, Разбира се, да играете игри.

Ние не като компютър безпомощни инженери да много, така един от нашите любими неща да направя ще бъде да telnet към полето, те са били на и тичам X-око върху тях. Това ще изскочи един чифт очи, които последваха мишката на екрана. Може да изскочи още повече и има буквално десетки или повече от X-око приложения. Try not to laugh out loud when a hapless engineer is trying to close X-eye after X-eye and muttering under his breath about it 🙂

Ние също играе X-Трек на тези кутии. За да направите това, Вие трябва да изтеглите източник, получите различни зависимости, където и да може да ги намерите и да го изгради. Не съм програмист на сложни C, но мога да прочета заглавната файлове. Аз бях търсите чрез тези и основавам директиви като "#DEFINE MAX_TORPEDO_DISTANCE 10". Играх с които увеличават обхват и мощност за фази и торпеда, построен отново го и след това унищожени Габе следващия път, когато играхме.

Габе също е голям фен на Телевизионно шоу наречена Блейк 7. Никога не бях го виждал, но това не ми пречи да настоява, че д-р. Кой е превъзходно шоуто. The arguments would get heated at times 🙂

Един ден, Това ми хрумна, че вероятно може да предполагам си UNIX парола. Седнах до него един ден и обяви в силен тон, "Аз отивам да познае паролата ви, точно сега, Габе." "да, десен" е неговият отговор. Аз тогава logged, вписва неговия потребителски идентификатор, се обърна към лицето му, въвели и каза на глас, "Чудя се дали това е B-L-A-K-E-7" ? Машинопис никога не изплати, щедро, както го направи този ден.

Следващата седмица (или скоро): Още компютърна стая лудории колеж.

Имате ли някоя да сподели? Оставете коментар или имейл мен и аз ще ги публикувам тук.

</край>

Абонирайте се за моя блог.

Technorati тагове:

Малки публичното обявяване: Windows живо сигурност настройки и контактуване пространство собственици

Аз получавам шепа на съобщения от лица чрез вградения "Изпращане на съобщение" функцията Microsoft предоставя живи пространства (което също е домакин моя блог) всеки месец.

Около една трета от времето, тези потребители са си осигурили сметката си живи пространства са такива, че не може да отговори. Това е някакъв вид анти-спам функция, предполагам.

</край>

Просто обяснение: “Стойността не попада в очаквания диапазон.”

АКТУАЛИЗИРАНЕ: Един анонимен плакат оставил голям коментар за вътрешните имена. Не забравяйте да го прочетете.

Когато работите със събитие приемници и други код, който адресира елементи чрез обектния модел на SharePoint списък, Аз често правят грешки, които генерира тази грешка по време на изпълнение:

Грешка при зареждане и събитие получател Conchango.xyzzyEventReceiver в xyzzy, Версия = 1.0.0.0, Култура = неутрална, PublicKeyToken = 0dc50a750396c3ac. Допълнителна информация е по-долу. : Стойността не попада в очаквания диапазон.

Мисля, че това е доста обща грешка, която потенциално е причинена много различни начини. Въпреки това, един прост обяснение е, че аз съм съотнасяне поле неправилно. Ако името на полето "Дата на падеж", Аз трябва да го позоваване като тази в събитие получател:

свойства.Елемент от списък["Дата на падеж"]

Когато грешите или да използвате грешен случая, когато се обръщате към полето, SharePoint генерира по-горе споменати runtime грешка. За пример, Това е грешно:

свойства.Елемент от списък["дата на падеж"]

</край>

Абонирайте се за моя блог.

Technorati тагове:

Краен потребител бързо съвет: Сортирай изгледи в библиотеката с документи, Списък, н.

Ние можем да, трябва да и създавате много изгледи в списъци на SharePoint (библиотеки с документи, потребителски списъци, н). SharePoint винаги изброява наличните изгледи по азбучен ред. Ние не може да промени това с помощта на функционалност кутия. Ако може да се направи чрез персонализиране (и аз не съм сигурен, че може да), Това е много технически за си Типичният крайния потребител.

Ако искате да контролирате реда, в който SharePoint списък на наличните изгледи, Просто сложете число или писмо до името на изгледа, както и в:

1 – От материала
2 – Всички документи
3 – Дата на падеж

-или-

А – От материала
Б – Всички документи
C – Дата на падеж

I също е създаден изгледи, чиято цел е строго да се хранят на KPI. Съм бил след тази конвенция за именуване:

Z_KPI_[описание]

Това причинява ми "KPI" изгледи да се появи в дъното на списъка.

</край>

Абонирайте се за моя блог.

Неделя забавни: “Когато бях малко момче”

Като родител, някъде по линията открих "когато бях малко момче" трик.

Моят син, вероятно четири или пет по време, играе балон и като най-малко момчета, които играят с балони, Той го показа. Той е бил много разстроен. Светът е дошъл да се сложи край. Аз му казах, "когато бях малко момче, Имах един балон и го показа и в крайна сметка, Аз имам нов балон." Тя изглеждаше да му се справят със загубата си помогне и да доведе до забавен говоря за какво е искал, когато бях малко момче.

Това работи добре като утеха техника и аз го използва няколко пъти през следващия период от време. Аз did добивам в беда веднъж когато му ранчо чудовище 3 създание умира. Аз говорихме за това как кучето ми, Принц, загинал в автомобилна катастрофа. Този път, Неговият отговор беше, "Сега се чувствам зле за две неща!" Аз стояла настрана от помощта "когато бях малко момче" техника за утеха след това.

Преди инцидента умряло куче, Въпреки това, Аз също започнаха да се използва техника за да го убеди да направи домакинска работа. "Когато бях малко момче, Аз трябваше да изляза и да получите вестника", "чисти стаята ми", "Вземи мама си чаша кафе", н.

Това също е доста успешна за известно време, но той започва да се все повече се разбунтува срещу тиранията на моето детство. Едно събитие, по-специално, отбелязва края. Казах му за кофи за боклук от собственото обратно към гаража. Той твърди, и аз отговорили, "Когато бях малко момче, Аз трябваше да вземе отпадъците обратно в гаража." Той отговори:, "О да! Ами когато беше малко момче, Това е ГЛУПАВО!".

</край>

Абонирайте се за моя блог.

Technorati тагове:

Мнения и колоните на списъци и библиотеки с документи не може да бъде защитено

АКТУАЛИЗИРАНЕ (02/29/08): Този нов codeplex проект изглежда да се осигури метод за осигуряване на отделни колони: http://www.codeplex.com/SPListDisplaySetting. Ако имате опит работа с него, Моля, оставете коментар.

Форум плакати често задават въпрос като този: "Имам мениджър изглед and и персонала изглед на списък. Как правя сигурен изгледа на мениджър, така че персоналът не може да го използвате?"

Те също така често питат свързан въпрос: "Искам да се осигури на метаданни, специфични колона, така че само администратори могат да редактирате тази колона, докато други може да не дори виждате я."

Тези отговори се прилагат за двете WSS 3.0 и Мос:

  • SharePoint не предоставя вън на на кутия поддръжка за осигуряване на изгледи.
  • SharePoint не предоставя вън на на кутия поддръжка за сигурност колони.

Има няколко техники за един може да следва да отговарят на тези видове на изискванията за сигурност. Тук е това, което мога да мисля за:

  • Използвате елемент от вън на на кутия ниво на сигурност. Изглед винаги чест елемент ниво на сигурност конфигурация. Събитие получател и/или работен поток може да автоматизирате сигурност назначение.
  • Използвайте лични изгледи за "привилегировани" пъти видяна. Това са достатъчно лесен, за да настроите. Въпреки това, поради своите "лични" природата, те трябва да се конфигурират за всеки потребител. Използвайте стандартните сигурността конфигурация за предотвратяване на някой друг от създаване на личен изглед.
  • Използване на уеб компонента за изглед на данни и прилагат някакво решение за орязване на AJAXy сигурност.
  • Roll своя собствена списък излагам на показ функционален и включват орязване на защитата на ниво на колона.
  • Модифициране на данни запис форми и използват JavaScript във връзка с модел на сигурност за изпълнение на орязване на защитата на ниво на колона.
  • Използване на формуляр на InfoPath за въвеждане на данни. Прилагане на орязване на защитата на ниво на колона чрез уеб услуга повиквания към SharePoint и условно скриване на полета, ако е необходимо.
  • Roll своя собствена ASP.NET данни влизане функция, която изпълнява колоната ниво на сигурност подстригване.

Нито една от тези опции са наистина, че много, но има поне един път да следват, ако трябва да, дори ако това е трудно.

ЗАБЕЛЕЖКА: Ако отидете по някоя от тези пътеки, не забравяйте за "действия-> Отваряне с Windows Explorer". Искате да се уверите, че ви тест с тази функция, за да се уверите, че тя не работи като "задната врата" и победи вашата схема.

Ако имате други идеи за или опит с осигуряване колони или изгледи, Моля пишете ми или оставете коментар и аз ще актуализира този текст според случая.

</край>

Абонирайте се за моя блог.

Technorati тагове:

Бързо съвет: BDC ADF версия номера са си приятел

Ако вие сте ръчно кодиране ADF файлове и прави много от код/внос/изпитвателни цикли, Използвайте номера на версията, за да улесни живота ви.

Аз мразя да го призная, но докато тази седмица, Винаги бях изтриването на ADF и повторно импортиране на го. Това ще прекъсне ми колони за бизнес данни и правя me ре-тел ги. Всички ненужни.

Файл това под "това е очевидно, след като го виждате".

Пример:

<LobSystem
xmlns:XSi="HTTP://www.w3.org/2001/XMLSchema-instance" XSi:schemaLocation="HTTP://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Тип="Уеб услугата" Версия="1.2.0.0" Име="xyzzyDocumentReview" xmlns="HTTP://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Промяна на тази версия и повторен внос и съществуваща колона с бизнес данни използва актуализираната версия автоматично с не изисква допълнителна конфигурация.

</край>

Абонирайте се за моя блог.

Technorati тагове:

Разтвор: Избор на BDC показва само една колона с резултати

В моите Текущи опити за осигуряване на по-полезна справочна колона с помощта на BDC, Аз удари стената с избора на BDC. Ако не сте го видите, избора на BDC е подобен на избор на хората освен, че се работи с колони от тип "бизнес данни".

Имате достъп избор, като щракнете върху иконата на отворена книга на колона за бизнес данни както е показано:

Изображение

Горната снимка показва колона за бизнес данни, наречена "Master документ Id". Тази колона е свързана, чрез BDC, към уеб услуга. Уеб услугата връща две колони с информация: ИД на документ и заглавие. Бизнес цел тук е да се осигури "този документ се основава на" функция. Потребителите избират "магистър" документ и когато те спаси, получателят на събитието копира полетата за мета данни от посочения образец.

По подразбиране, избора на BDC изглежда като това, когато се търси за документ, чиито ID = "38":

clip_image002

Това е полезно, но не е достатъчно добър. Хората не мислят от гледна точка на идентификатори, те мислят заглавия и/или други мета данни. Избор ви позволява да търсите в други колони (e.g. Заглавие) но няма да се покаже действителния списък от заглавия, установено, просто си Идентификаторът е както е показано тук:

clip_image002[1]

(На екрана изстрел не е толкова голяма, защото аз не изберете търсене, която връща всички валидни резултати, но можете да видите, че ако е установил някои резултати, това само би показало Идентификаторът на, не заглавия).

Търсили висок и нисък за отговор на това и не е. Моят колега, преподобният Jonathan Брадшоу, са изправени и решават този проблем. Когато аз протегна ръка към него за помощ, Той ми посочи в правилната посока.

Конфигуриране на изписващия да покаже няколко колони чрез "ShowInPicker" имот в АПУ:

<Имоти Име="ShowInPicker" Тип="System.Boolean">вярно</Имоти>

По-подробно:

  <!-- Заглавие -->
  <TypeDescriptor TypeName="System.String" Име="Заглавие" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Заглавие</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Имоти>
      <Имоти Име="DisplayByDefault" Тип="System.Boolean">вярно</Имоти>
      <Имоти Име="ShowInPicker" Тип="System.Boolean">вярно</Имоти>
    </Имоти>
  </TypeDescriptor>

Задаването на това свойство въведе дребен проблем. Веднага след като сте го задали веднъж, трябва да го настроите за всяка колона, която искате да покажете. В моя случай, BDC picker показа Идентификаторът по подразбиране. Въпреки това, след като добавих "ShowInPicker" Заглавие, Идентификаторът не се показва. Аз решавам че чрез изрично установяване на свойството ShowInPicker за ИД на документ.

Тук е резултат:

Изображение

(Аз ще обясня странно изглеждащи "168 – CamlSchema.xsd" строителството в бъдеща блог пост. В кратко, Това е свръхдълги низ, който позволява за по малко по-добър потребителски опит).

Разбира се, като писмено този блог влизане, Аз просто Направих търсене за "ShowInPicker" и намерени множество хитове, включително този един: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Това обяснява смисъла на това свойство, както и някои други добри неща на BDC.

</край>

Абонирайте се за моя блог!

Technorati тагове: