Szybkie i proste: Witrynę sieci Web przy użyciu modelu obiektowego programu SharePoint W języku C#

Ja wypróbowany szukając mały fragment kodu, który pokaże jak można utworzyć nowe SPWeb w zbiorze witryn. Nie znalazłem to jak szybko i łatwo, jak się spodziewałem, więc myślałem, że mogę chcieliby slap razem mały wpis na temat.

Kod ten tworzy nową stronę Wiki:

 SPSite siteCollection;

    siteCollection = Nowy SPSite("http://conchang-o9l8qi");

    Sieci Web programu SharePoint w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy tytuł",
        "opis xyzzy", 1033, SPWebTemplate.WebTemplateWIKI, FAŁSZ, FAŁSZ);

Moje początkowe wyszukiwania nie powiodło się, ponieważ ja był patrząc pod kątem zwroty jak "przepisy witryny sieci web za pomocą modelu obiektów programu sharepoint" i tym podobne.

Jeśli możesz Szukaj dla "Webs.Add()", znajdziesz szereg bardzo przydatnych wpisów, Artykuły MSDN i dokumentację zestawu SDK, że go w głębi na ten temat. Zdecydowanie polecam Ta strona.

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki:

Włączenie przepływów pracy programu SharePoint Designer z usług sieci Web

I zabawy z niestandardowych działań dla SharePoint Designer, za jakiś czas (patrz: tu niektóre szczegółowe rzeczy, Jeśli to Cię interesuje).

W bieżącym projekcie, musimy zrobić kilka dość podnoszenia ciężkich i chcemy używać deklaracyjne SPD przepływu pracy do zarządzania procesem związane biznesu.

Długa historia krótkiego, jest to całkowicie możliwe. Przedłużyłem mój projekt Codeplex do wywołania usługi pomocnicze"" i teraz możemy wywołać usługę sieci web bezpośrednio z SPD przepływu pracy.

Oto podpis:

 publiczne ciąg Dyspozytor(
        Identyfikator GUID WebID, // Przeszedł przez środowisko uruchomieniowe
        Identyfikator GUID SiteID, // Przeszedł przez środowisko uruchomieniowe
        ciąg ListID, // Przeszedł przez RTE (nie wiem, dlaczego jest to ciąg, nie identyfikator GUID)
        int ListItemID, // Przeszedł przez RTE.
        ciąg XmlMessage) // Przekazane przez użytkownika deklarowane w SPD.

To wykorzystuje fakt, że możemy uzyskać w pracy ważne informacje, jak witryny, Identyfikator listy, itp. Jest to dobrze udokumentowane w kilku miejscach, dla tych z was, które są zainteresowane w tworzeniu własnych akcji niestandardowych. Chodzi o to, aby wyodrębnić ciąg XML, jak przez użytkownika do wysłania odpowiedniej procedury. Zabawne rzeczy!

Niestety, Oczywiście jest to bilet w jedną stronę w dół do "Loosey Goosey" anty-wzór ziemia, but it’s better than hitting a brick wall 🙂

Jest to anty-wzór jeśli zrobisz to, nawet jeśli wiesz, że jest anty-wzór?

Mam nadzieję, że do zawijania to wewnątrz witrynie Codeplex w najbliższej przyszłości. Jeśli jesteś zainteresowany w mnie w ten sposób, daj mi grzebać (Adres e-mail lub Zostaw komentarz) and I’ll be that more enthusiastic about doing it 🙂

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki: ,

Sunday Funny: “Zastanawiam się, jeśli hasło jest …”

Niedawno kupiłem obiad dla mojego brata (jak zwykle) i skończyło się mówić o śmieszne rzeczy, które zrobiliśmy na naszych uczelniach odpowiednich. W mojej alma mater, Lafayette College, akademickich wsparcie działu IT miał niezwykle angażujący sposób o tym. Dostaliśmy mnóstwo liny i wziąłem z tego korzystać w czasie.

Dwa moje ulubione wspomnienia odnoszą się do mojego dobrego przyjaciela, Gabe. Uczynił straszny błąd, mówiąc ludziom że "Jestem studentem pierwszego roku studiów, ale mam Sophomore stojący" ze względu na różne klasy lokowania zaawansowane wziął, itp. Wielu z nas mieściły się podobnie, ale nie mówimy o tym tak dużo. Jego starszy rok, Kiedy wprowadziliśmy go do ludzi, możemy powiedzieć "to jest Gabe. On jest starszy, ale on ma Sophomore stały ".

Kolega miał jakieś słońce stacji roboczej/serwery z systemem X-Window. Mieli olbrzymie monitory i inżynierowie wykorzystali je do CAD i innych nudne rzeczy, inżynier. My CS ludzie korzystali z nich do nauki programowania i, Oczywiście, do gry.

Nie jak komputer bezradny inżynierów za dużo, więc jeden z naszych ulubionych rzeczy do zrobienia byłoby programu Telnet w celu pole one były i uruchomić X-oko na nich. Ten by³by trzaskaæ w górze parę oczu, które następnie myszy na ekranie. Może pojawiają się nawet więcej i mieć dosłownie kilkanaście lub więcej aplikacje X-oko. 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 🙂

Graliśmy również X-trek na tych polach. Do tego, trzeba pobrać źródła, uzyskać różne zależności, wszędzie tam, gdzie można je znaleźć i budować. Nie jestem zaawansowany programista C, ale może odczytać pliki nagłówkowe. Szukałem przez te i znalazłem dyrektyw jak "#DEFINE MAX_TORPEDO_DISTANCE 10". I bawił że zwiększenie zasięgu i mocy dla fazy i torpedy, ponownie zbudował go, a następnie niszczone Gabe następnym razem graliśmy.

Gabe również został fanem serialu telewizyjnego o nazwie Blake 7. Nigdy nie widział, ale to nie przeszkodziło mi z podkreślając, że Dr. Kto jest lepszy show. The arguments would get heated at times 🙂

Pewnego dnia, to przyszło mi do głowy, że może domyślić jego hasło UNIX. Usiadłam obok niego jeden dzień i ogłosił donośnym, "I 'm going do odgadnięcia hasło już teraz, Gabe." "tak, prawo" jego odpowiedź była. Następnie rejestrowane, wpisuje jego id użytkownika, zwrócił się do twarzy mu, wpisane i głośno powiedział, "Zastanawiam się czy to jest B-L-A-K-E-7" ? Szybkiego pisania na klawiaturze nigdy nie opłacił się tak pięknie, tak jak tego dnia.

W przyszłym tygodniu (lub wkrótce): Więcej wybryki pokój komputer z kolegium.

Czy masz jakieś do akcji? Zostaw komentarz lub poczta elektroniczna mi i opublikujemy je tutaj.

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki:

Publiczne ogłoszenie drobne: Ustawienia żywo zabezpieczeń systemu Windows i kontakt z właścicielami miejsca

Otrzymałem kilka wiadomości od osoby za pośrednictwem wbudowanego "Wyślij wiadomość" Funkcja Microsoft zapewnia żyć przestrzenie (który również obsługuje mój blog) co miesiąc.

O jedną trzecią czasu, tych użytkowników zabezpieczyli ich konta live spaces, takie, że nie może odpowiedzieć. Jest to pewnego rodzaju funkcję antyspamową, zakładam.

</koniec>

Proste wyjaśnienie: “Wartość nie mieszczą się w zakresie oczekiwanych.”

AKTUALIZACJA: Anonimowy plakat zostawił wielki komentarz o wewnętrznej nazwy. Koniecznie przeczytaj to.

Podczas pracy z odbiorników wydarzenie i inny kod, który odwołuje się do elementów listy programu SharePoint za pośrednictwem modelu obiektu, Ja często popełniają błędy, które generują ten błąd w czasie wykonywania:

Błąd ładowania i uruchomiony odbiornik przypadku Conchango.xyzzyEventReceiver w xyzzy, Wersja = 1.0.0.0, Kultura = neutral, PublicKeyToken = 0dc50a750396c3ac. Dodatkowe informacje są poniżej. : Wartość nie mieszczą się w zakresie oczekiwanych.

Myślę, że jest to dość ogólny błąd, który jest potencjalnie spowodował wiele różnych sposobów. Jednakże, jednym prostym wyjaśnieniem jest to, że jestem odniesienie pole niepoprawnie. Jeśli nazwa pola jest "Termin", Musi odwołać to jak to w przypadku odbiornika:

właściwości.ListItem["Termin"]

Kiedy błędnie lub korzystać w przypadku źle podczas odwoływania się do pola, SharePoint generuje wyżej wymieniony błąd runtime. Na przykład, to jest złe:

właściwości.ListItem["termin"]

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki:

Szybki Koniuszek użytkownik końcowy: Widok sortowania w bibliotece dokumentów, Lista, itp.

Możemy, powinien i tworzenia wielu widoków list programu SharePoint (biblioteki dokumentów, listy niestandardowe, itp). Listy programu SharePoint zawsze dostępne widoki w kolejności alfabetycznej. Nie zmienimy tego, korzystanie z funkcji pole. Jeśli można to zrobić poprzez dostosowywanie (i nie jestem pewien, że to może), to jest zbyt techniczne dla typowego użytkownika koniec.

Jeśli chcesz kontrolować kolejność, w którym programu SharePoint listy dostępne widoki, po prostu dołączana numer lub litery nazwy widoku, jak w:

1 – Według rodzaju materiału
2 – Wszystkie dokumenty
3 – Termin

-lub-

A – Według rodzaju materiału
B – Wszystkie dokumenty
C – Termin

Również stworzyli widoki, których celem jest ściśle do paszy KPI. Śledziłem tę konwencję nazewnictwa:

Z_KPI_[opis]

To powoduje, że mój "KPI" widoki są wyświetlane u dołu listy.

</koniec>

Subskrybowanie mój blog.

Sunday Funny: “Kiedy byłem małym chłopcem”

Jako rodzic, gdzieś wzdłuż linii odkryłem "Kiedy byłem małym chłopcem" Podstęp.

Mój syn, prawdopodobnie cztery lub pięć w czasie, grał balon i jak większość chłopców, które odgrywają z balonów, On wpadł to. Był bardzo zdenerwowany. Świat miał się zakończyć. Powiedziałem mu, "Kiedy byłem małym chłopcem, Miałem balon i to pojawiło i ostatecznie, Mam nowy balon." To wydawało się pomóc mu poradzić sobie z jego utraty i doprowadziły do zabawy mówić jak to było kiedy byłem małym chłopcem.

Że pracował, a także techniką pocieszenia i używał go kilka razy w kolejnym okresie czasu. Dostać się w kłopoty raz podczas swojego Monster Rancher 3 istota zmarła. Rozmawiałem o tym, jak mój pies, Książę, zmarł w wypadku samochodowym. Tym razem, jego odpowiedź była, "Teraz czuję złych rzeczy o dwóch!" I wstydził się za pomocą "Kiedy byłem małym chłopcem" Technika dla pocieszenia po tym.

Przed wypadkiem martwy pies, Jednakże, Miał też zaczął używać techniki przekonać go do prac domowych. "Kiedy byłem małym chłopcem, Musiałem wyjść i się gazety", "czysty pokój", "dostać mama jej filiżanka kawy", itp.

To też był bardzo udany na chwilę, ale on zaczął coraz częściej buntują się przeciwko tyranii mojego dzieciństwa. Jedno zdarzenie, w szczególności, oznaczony koniec. Ja powiedziałem jemu by śmietniki od krawężnika do garażu. On twierdził, i odpowiedział, "Kiedy byłem małym chłopcem, Miałem do odbioru śmieci do garażu." On odpowiedział, "Oh tak! Dobrze, kiedy byłeś małym chłopcem, to był głupi!".

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki:

Widoki i kolumny na listy i biblioteki dokumentów nie mogą być zabezpieczone

AKTUALIZACJA (02/29/08): Ten nowy projekt codeplex wydaje się zapewnienie Metoda zabezpieczenia poszczególnych kolumn: http://www.codeplex.com/SPListDisplaySetting. Jeśli masz jakiekolwiek doświadczenie w pracy z nim, Proszę zostawić komentarz.

Forumowiczów często pytanie jak to: "Mam widok menedżera i pracowników widok listy. Jak zabezpieczyć widoku kierownika, że personel nie można go używać?"

One również często zadać pytanie dotyczące: "Chcę zabezpieczyć określonych metadane kolumna, tak że tylko menedżerowie mogą edytować kolumna, podczas gdy inni nie mogą nawet zobaczyć go."

Odpowiedzi na te pytania dotyczą zarówno WSS 3.0 i mech:

  • SharePoint nie przewidują wsparcie out-of--box zabezpieczanie odsłon.
  • SharePoint nie zapewniają wsparcie out-of--box dla bezpieczeństwa kolumn.

Istnieje kilka technik jeden można wykonać, aby spełnić tego rodzaju wymogów bezpieczeństwa. Oto co myślę:

  • Użyj zabezpieczenia na poziomie elementu out-of--box. Widok na zawsze cześć konfiguracji zabezpieczeń na poziomie elementu. Odbiorniki zdarzenia i/lub przepływu pracy można zautomatyzować bezpieczeństwa przydziału.
  • Użyj widoki osobiste "uprzywilejowane" Widoki. Są dość łatwo umieszczać w górze. Jednakże, ze względu na ich osobiste"" natura, te muszą być skonfigurowane dla każdego użytkownika. Wykorzystanie standardowych zabezpieczeń konfiguracji aby zapobiec ktoś Tworzenie widoku osobistym.
  • Za pomocą składnika web part widok danych i wykonania pewnego rodzaju AJAXy rozwiązanie przycinanie.
  • Roll własne funkcje wyświetlania listy i włączenie przycinania zabezpieczeń na poziomie kolumny.
  • Modyfikowanie formularze wprowadzania danych i JavaScript jest używany w połączeniu z modelu zabezpieczeń do wykonania kolumna poziom bezpieczeństwa przycinanie.
  • Użyj formularza programu InfoPath do wprowadzania danych. Wdrożenia przycinania kolumna poziom bezpieczeństwa za pomocą wywołania usługa sieci web programu SharePoint i warunkowo ukryć pola potrzebne.
  • Toczyć własne ASP.NET dane wejścia funkcja, która implementuje kolumna poziom bezpieczeństwa przycinanie.

Żadna z tych opcji są naprawdę wielkie, że, ale ma co najmniej ścieżkę do naśladowania, jeśli trzeba, nawet jeśli trudno.

UWAGA: Jeśli możesz zejść z tych ścieżek, nie zapomnij o "akcji-> Otwórz w Eksploratorze systemu Windows". Chcesz aby upewnić się, że test z tej funkcji, aby upewnić się, że to nie działa jako "tylne drzwi" i pokonać swój system bezpieczeństwa.

Jeśli masz inne pomysły lub doświadczenia z zapewnieniem kolumn lub widoki, Proszę e-mail ja lub zostawić komentarz i zaktualizuję wpis odpowiednio.

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki:

Drobna porada: Numery wersji BDC ADF są Twoim przyjacielem

Jeśli masz strony kodowanie ADF plików i robi sporo kodu, przywóz/badanie cykli, używać ten wersja liczba wobec zrobić twój życie łatwiejszy.

I hate o przyjęciu, ale aż do tego tygodnia, Zawsze było usunięcie automatycznego podajnika dokumentów i ponowne importowanie to. To złamać moje kolumny danych biznesowych i mnie ponownie je drutu. Wszystkie zbędne.

Plik ten w "to oczywiste, gdy widzisz, że".

Przykład:

<LobSystem
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Typ="Usługi WebService" Wersja="1.2.0.0" Nazwa="xyzzyDocumentReview" xmlns="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Zmiany w tej wersji i ponownie zaimportować i istniejącej kolumna danych biznesowych używa zaktualizowaną wersję automatycznie z żadna dodatkowa konfiguracja wymagane.

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki:

Roztwór: BDC próbnik pokazuje tylko jedną kolumnę wyników

W moich prób w toku świadczenia bardziej przydatne kolumny odnośnika za pomocą usługi łączności danych biznesowych, Uderzył w ścianę z próbnika BDC. Jeśli nie masz go zobaczyć, próbnika BDC jest podobny do wyboru osób, z wyjątkiem, że działa z kolumn typu "danych biznesowych".

Możesz uzyskać dostęp do próbnika klikając na ikonę otwarta Księga kolumna danych biznesowych, jak pokazano:

obraz

Powyższy obraz pokazuje biznes dane kolumna o nazwie "Główny identyfikator dokumentu". To kolumna jest podłączony, za pośrednictwem usługi łączności danych biznesowych, do usługi sieci web. Usługa sieci web zwraca dwie kolumny informacji: Identyfikator dokumentu i tytuł. Tutaj celem firmy jest zapewnienie "Niniejszy dokument opiera się na" Funkcja. Użytkownicy wybierają mistrza"" dokument i kiedy one zaoszczędzić, odbiornik przypadku kopiuje meta danych pól odwołanie mistrza.

Domyślnie, próbnika BDC wygląda to podczas wyszukiwania dokumentu którego ID = "38":

clip_image002

To jest pomocne, ale nie wystarczająco dobry. Ludzie nie myśleć w kategoriach identyfikatory, ich zdaniem pod względem tytułów i/lub innych danych meta. Próbnika umożliwia wyszukiwanie na innych kolumnach (np.. Tytuł) ale nie pokazuje rzeczywiste listę tytułów, które okazało się, tylko ich DocId, jak pokazano poniżej:

clip_image002[1]

(Zrzut ekranu nie jest tak wielki, ponieważ nie mogę wybrać zwraca prawidłowe wyniki wyszukiwania, ale widać że jeśli znalazł jakieś wyniki, to tylko pokazuje DocId w, nie tytuły).

Szukałem wysokie i niskie dla odpowiedzi na to i nie powiodło się. Mój kolega, czcigodny Jonathan Bradshaw, miałem do czynienia i rozwiązać ten problem. Kiedy dotarłem do niego o pomoc, wskazał mi w dobrym kierunku.

Konfigurowanie próbnika aby pokazać wiele kolumn za pomocą "ShowInPicker" Właściwość w automatycznym podajniku dokumentów:

<Właściwość Nazwa="ShowInPicker" Typ="Typu System.Boolean">PRAWDA</Właściwość>

Bardziej szczegółowo:

  <!-- Tytuł -->
  <TypeDescriptor Atrybut TypeName="System.String" Nazwa="Tytuł" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName IDENTYFIKATOR LCID="1033">Tytuł</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Właściwości>
      <Właściwość Nazwa="DisplayByDefault" Typ="Typu System.Boolean">PRAWDA</Właściwość>
      <Właściwość Nazwa="ShowInPicker" Typ="Typu System.Boolean">PRAWDA</Właściwość>
    </Właściwości>
  </TypeDescriptor>

Ustawienie tej właściwość wprowadzić drobne problem. Tak szybko, jak możesz ustawić go po raz, należy zestaw dla każdej kolumna, którą chcesz pokazać. W moim przypadku, Próbnik BDC pokazał DocId domyślnie. Jednakże, kiedyś dodałem "ShowInPicker" Tytuł, DocId już wyświetlane. Rozwiązałem to jawnie ustawiając właściwość ShowInPicker Doc ID.

Tutaj jest wynikiem:

obraz

(Postaram się wyjaśnić pasujących 168" – CamlSchema.xsd" budowlanych w przyszłości blogu. W skrócie, to jest uzyskiwanej ciąg, który pozwala na nieco lepsze doświadczenie użytkownika).

Oczywiście, o napisane ten wpis w blogu, Ja po prostu nie Szukaj "ShowInPicker" i znaleźć wiele hitów, w tym ten jeden: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Wyjaśnia znaczenie tej nieruchomości oraz niektóre inne dobre rzeczy BDC.

</koniec>

Subskrybowanie mój blog!

Technorati znaczniki: