miesięczne archiwum: Lutego 2008

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:

Szybkie & Łatwe: Utwórz Folder i przypisać typ zawartości (Lub, Mają kluczowe wskaźniki wydajności i gotował je zbyt)

Aby obejść KPI problem Pisałem o tutaj, Zrobiłem kilka testów i odkrył, że KWW pracy przeciwko foldery z meta-danych w taki sam sposób, że działają przeciwko dokumentów lub elementów. I okazało się to poprzez stworzenie nowego typu treści oparte na typie zawartości folderu i dodałam kilka pól. Stworzył kilka wskaźników i okazały się do siebie, że KWW działa zgodnie z oczekiwaniami. Dobrą wiadomością jest to. Nie jest doskonały, ponieważ drążenia niedziałający otrzymasz od KPI z folderów nie jest dokładnie to, co chcesz. To nie jest zbyt dużo to wada w moim przypadku bo 1) Użytkownicy nie wiedzą lepiej i 2) drążenie w dół idzie do folderu. One kliknij nazwę folderu i one są w pozycji. To dwa kliknięcia zamiast jednego, co nie jest koniec świata.

To ładnie płynęła z pracy, I robi. Jestem utworzenie folderu dla każdego dokumentu, który dostaje przesłane. To odbywa się za pomocą odbiornika wydarzenie. W rezultacie, jest to bułka z masłem do utrzymania folder nadrzędny meta-danych w synchronizacji z KWW napędzany meta danych z pliku, sam od kanalizacji jest już na miejscu. This allows me to have my KPI’s and eat them too 🙂

Ja zmodyfikowany odbiornika wydarzenie Dodaj folder, a następnie ustawić typ zawartości to nowy folder do mojego niestandardowego typu zawartości przyjaznych dla KPI. Ten kawałek kodu zrobi³ ten podstêp:

 SPFolderCollection srcFolders = targetWeb.GetFolder("Dokumenty").Podfoldery;
  SPFolder addedFolder = srcFolders.Add(Właściwości.ListItem.ID.ToString());
  SPContentTypeId kpiCT = Nowy SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item["Zawartość typu ID"] = kpiCT;
  addedFolder.Item.Update();

Aby zlokalizować rzeczywisty identyfikator typu zawartości, Dostęp do tego typu zawartości za pomocą ustawienia witryny i kopiowanie i wklejenie go z URL, jak pokazano:

obraz

</koniec>

Subskrybowanie mój blog!

Technorati znaczniki: ,

Szybkie i łatwe: Pobierz SPFolder SPListItem w odbiornik zdarzeń

I hate o przyjęciu, ale walczyłem z tym jednym wszystkie dni. Moim przypadku odbiornika należy zaktualizować pole jego folderu nadrzędnego. To trochę pokazuje jak to zrobić:

prywatne nieważne UpdateParentFolder(SPItemEventProperties właściwości)
{

SPFolder thisItemFolder = właściwości.ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ stan zatwierdzenia"] = "Good news, Wszyscy!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

W tym przypadku, Pracuję z biblioteki dokumentów i właściwości są pochodzących z zdarzenie ItemAdded.

Lewę jest, że nie można uzyskać SPFolder element bezpośrednio z samego przedmiotu (tj.. właściwości.ListItem.Folder ma wartość null). Zamiast tego, Przejdź do elementu listy skojarzony plik i uzyskać folderu pliku.

</koniec>

Subskrybowanie mój blog!

Technorati znaczniki:

Jeszcze inny odbiornik zdarzeń debugowania Trick

Jestem pewien, że nie jestem pierwszą osobą, która to wymyślić. Jednakże, Nie zauważyłem ktoś publikuje pewien podstęp tak odkąd zacząłem zwracając szczególną uwagę na Wspólnotę w lipcu. Tak, Myślałem, że post to ten koniuszek szybkie i łatwe debugowanie.

Jestem w pracy odbiornika wydarzenie, które zaczęły wytwarzać ten błąd w 12 Ula:

Błąd ładowania i uruchomiony odbiornik przypadku Conchango.xyzzyEventReceiver w xyzzy, Wersja = 1.0.0.0, Kultura = neutral, PublicKeyToken = blahbalhbalh. Dodatkowe informacje są poniżej. : Odwołanie do obiektu nie ustawiono instancji obiektu.

Nie wiem, gdzie miał wprowadzony ten błąd, bo miał zrobić zbyt wiele rzeczy w jednym z moich cykli kod/wdrażanie/badania.

Próbowałem to rozwiązanie Aby uzyskać mój WPB tam z nadzieją, że SharePoint 12 Ula pokaże ślad stosu, ale nie ma szczęścia. Nie wiem, jeśli to możliwe, a jeśli ktoś nie, daj mi znaæ 🙂

Wiem, że to możliwe pisać wiadomości dziennika do 12 Ula. Szczerze mówiąc, Chciałem coś trochę mniej straszny i szybciej realizować.

To przyszło mi do głowy, że przynajmniej można dostać kilka podstawowych śledzenia informacji przez łapanie i rzucanie ponownie ogólne wyjątki jak to:

  Spróbuj {
    UpdateEditionDate(właściwości);
  }
  połów (Wyjątek e)
  {
    rzut Nowy Wyjątek("Dyspozytor, UpdateEditionDate(): Wyjątek: [" + e.ToString() + "].");
  }

Ten pojawił się w 12 Ula wygląda następująco:

Błąd ładowania i uruchomiony odbiornik przypadku Conchango.xyzzyEventReceiver w xyzzy, Wersja = 1.0.0.0, Kultura = neutral, TokenKluczaPublicznego = blahblahblah. Dodatkowe informacje są poniżej. : Dyspozytor, UpdateEditionDate(): Wyjątek: [NullReferenceException systemu.: Odwołanie do obiektu nie ustawiono instancji obiektu. w Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(Właściwości SPItemEventProperties) w Conchango.xyzzyManagementEventReceiver.Dispatcher(Właściwości SPItemEventProperties, Ciąg eventDescription)].

To dało mi wszystkie szczegóły potrzebne do wytropienia tego konkretnego problemu i oczekiwać używać go dużo posuwają się do przodu.

</koniec>

Subskrybowanie mój blog!