miesięczne archiwum: Listopada 2007

Nie możesz pokonać SharePoint w Reach

W ciągu ostatnich dwóch dni, Brałem udział w dwóch spotkaniach, podczas których zaprezentowaliśmy wyniki projektu programu SharePoint. CIO i jego zespół dołączył do pierwszego spotkania. To jest standardowa i nie szczególnie godne uwagi. Dział IT jest oczywiście zaangażowanych w przedsiębiorstwo wdrażania każdego projektu technologii. Drugie spotkanie poszerzona V.P. z marketingu, kilku dyrektorów reprezentujących HR, Logistyka, Produkcji, Projektów inwestycyjnych, Jakości, Zakup, Rozwój firmy oraz innych służb (Niektóre z nich nie były nawet bezpośrednio zaangażowane w obecnej fazie). To potężny szerokiej publiczności.

W życiu przed, Przede wszystkim pracował nad projektami ERP i CRM. Obaj mają dość szeroki rozwiązanie domeny, ale nie tak szeroki, jak SharePoint. Aby być w pełni zrealizowane, SharePoint projekty zgodnie z prawem i musi dotrzeć w każdy zakamarek organizacji. Jak wiele innych rozwiązań enterprise ma tego rodzaju dotrzeć? Nie wiele.

SharePoint wyraźnie stanowi ogromną szansę dla tych z nas szczęście być w tym miejscu. To daje wielkie możliwości techniczne (który jakoś jest postawiona na głowie tutaj pod "Technologii musisz opanować"). Ale jeszcze lepiej, SharePoint naraża nas na rozległe i szeroki wachlarz procesów biznesowych poprzez te zobowiązania. Jak wielu specjalistów CRM praca z boku produkcji firmy? Jak wiele ERP konsultantów pracy z zasobów ludzkich na nabycie talentów? SharePoint przekracza ich obu.

Jak nic, to nie jest doskonały, ale to jest cholernie dobre miejsce, aby być.

Z miłości do [Wypełnij najbardziej lubi się osoby/wyższe], nie zmieniaj "tytuł’ umiejscowienie kolumna.

Na Forum programu SharePoint, ktoś czasami pyta o "zmianę oznakowania tytuł" lub o "usunięcie tytuł z listy".

Motto: Nie rób tego!

Niestety, Interfejs użytkownika umożliwia jednokierunkową zmiana że etykieta kolumna, jak pokazano:

obraz

Tytuł jest kolumna skojarzony element"" typ zawartości. Wielu, wielu, wiele CT używać tej kolumny i jeśli zmienisz go tutaj, wsady się wszędzie. Istnieje duża szansa, że nie zamierzasz tak się stało. Prawdopodobnie były myśli do siebie, "Mam listy niestandardowe wyszukiwania i ' tytuł’ po prostu nie ma sensu jako nazwa kolumna, więc mam zamiar zmienić go na "kod stanu’ i dodać kolumna Opis." Ale jeśli po drodze w tej myśli i Zmień nazwę ' tytuł’ do "Kod stanu", Każda lista tytuł (łącznie z bibliotek dokumentów) zmiany w "kod stanu" i pewnie nie zamierza tak się stało.

Prawdziwym problemem jest to, że jest to zmiana jednokierunkowego. UI "wie" tytuł"" jest słowem zarezerwowanym. Tak, Jeśli spróbujesz i zmienić kod stanu"" Wróć do "Tytuł", To zapobiega i teraz masz malował się w rogu using paint that never dries 🙂

Więc co się dzieje, jeśli już to zmienić? Nie widziałem odpowiedzi, którą chcemy, który jest prosta i łatwa metoda aby zmienić etykietę "Tytuł". Teraz, najlepszą radą jest aby go zmienić na coś w stylu "Doc/element tytuł". To tyle ogólny etykietę, która nie może być zbyt drażniące dla użytkowników.

Mam kilka pomysłów, które są na mojej liście rzeczy do zrobienia, rzeczy do badań:

  • Kontakt z firmą Microsoft.
  • Czy coś z modelu, może w połączeniu z funkcją.
  • Dowiedzieć się schemat bazy danych i ręcznie zaktualizować SQL. (Należy skontaktować się z Microsoft przed robienie ten jednak; prawdopodobnie będzie nieważne Twojej umowie serwisowej).

Jeśli ktoś wie jak to rozwiązać, prosimy zamieścić komentarz.

Aktualizacja późnym popołudniem, 11/15: Znalazłem ten link, który opisuje sposób tworzenia typu Lista, która nie ma tytułu kolumny: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF i twój przyjaciel, CDATA

Zauważyłem pewne niewygodne i niepotrzebne strony kodowanie RdbCommandText w niektórych przykładach (tym dokumentacji MSDN).

Chciałem zwrócić uwagę na nowo przybyłych do BDC, że polecenia można zawinąć wewnątrz znacznika CDATA w ich naturalnym"" formularz. Tak, tej nietypowej konstrukcji:

<Właściwość Nazwa="RdbCommandText" Typ="System.String">
Wybierz dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement z dbo.MCRS_SETTLEMENT
JEŻELI (Identyfikator &gt;= @MinId) I (Identyfikator &lt;= @MaxId)
</Właściwość>

może lepiej być reprezentowany w ten sposób:

<Właściwość Nazwa="RdbCommandText" Typ="System.String">
<![CDATA[
Wybierz dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement z dbo.MCRS_SETTLEMENT
JEŻELI (Identyfikator >= @MinId) I (Identyfikator <= @MaxId)
]]>
</Właściwość>

</koniec>

Podkład BDC

Wprowadzenie do usługi łączności danych biznesowych

Przykład funkcjonalne: ADF BDC, który łączy się z bazy danych SQL z osadzonych użytkownika identyfikator i hasło

Potrzebne do drutu się mech do bazy danych SQL za pomocą usługi BDC. Do celów badania PKOL, Chciałem umieścić SQL konta identyfikator użytkownika i hasło w automatycznym podajniku dokumentów. Począwszy od Ten szablon (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), I stworzył ADF, który łączy się z konkretnego wystąpienie serwera SQL i loguje się za pomocą określonego identyfikatora użytkownika i hasła i się w tym fragmencie:

  <Wystąpieniami>
    <LobSystemInstance Nazwa="ClaimsInstance">
      <Właściwości>
        <Właściwość Nazwa="AuthenticationMode" Typ="System.String">Przekazywanie</Właściwość>
        <Właściwość Nazwa="DatabaseAccessProvider" Typ="System.String">SqlServer</Właściwość>
        <Właściwość Nazwa="Źródło danych RdbConnection" Typ="System.String">serveractual rzeczywiste wystąpienie</Właściwość>
        <Właściwość Nazwa="Katalog RdbConnection wstępne" Typ="System.String">rzeczywisty katalog początkowy</Właściwość>
        <Właściwość Nazwa="RdbConnection zintegrowanych zabezpieczeń" Typ="System.String">SSPI</Właściwość>
        <Właściwość Nazwa="Łączenie RdbConnection" Typ="System.String">FAŁSZ</Właściwość>

        <!-- Są to wartości klucz: -->
        <Właściwość Nazwa="Nazwa użytkownika RdbConnection" Typ="System.String">aRzeczywiste ID użytkownika</Właściwość>
        <Właściwość Nazwa="Hasło RdbConnection" Typ="System.String">rzeczywisty hasło</Właściwość>
        <Właściwość Nazwa="RdbConnection Trusted_Connection" Typ="System.String">FAŁSZ</Właściwość>

      </Właściwości>
    </LobSystemInstance>
  </Wystąpieniami>

To nie jest najlepszym rozwiązaniem, ale jest on przydatny dla szybka i prosta konfiguracja do testowania. To był zaskakująco trudny wobec obliczaæ na zewn¹trz. Nigdy nie znaleziono funkcjonalne przykład z słów kluczowych:

  • ADF osadzony login i hasło
  • umieścić identyfikator użytkownika i hasło w adf
  • umieścić identyfikator użytkownika i hasło w adf bdc
  • SharePoint usługi bdc podkład
  • SharePoint umieścić identyfikator użytkownika i hasło w adf

</koniec>

Subskrybowanie mój blog.

Akcji niestandardowych przepływu pracy SPD — ciąg manipulacji ulepszenia

Około tydzień temu, Rozpoczął się projekt codeplex, który zapewnia prosty i stosunkowo ogólna Metoda Dodawanie akcji niestandardowej funkcji do pracy projektanta SharePoit. Jest to opisane tutaj: http://www.codeplex.com/spdwfextensions. Poza zwykłe stworzenie ram, to również ma na celu zapewnienie zestaw przydatnych funkcji, które sprawią, że SPD bardziej przydatne/elastyczny/mocny.

Oto obecne funkcje planowane dla wersji 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Jeśli ktoś ma jakiekolwiek zainteresowanie tym projektem, Proszę zostawić komentarz lub rozpoczęcia/Dodaj do dyskusji tutaj: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Oto bieżący zestaw funkcji, które zostały zakodowane (choć nie w pełni przetestowane w 11/08/07):

Funkcja Opis (Czy nie tak samo jak funkcja .net)
NUM wpisy() Zwraca numer pozycji"" w ciąg na określony ogranicznik.

Na przykład: NUM wpisy w ciąg ",b,c" z ogranicznikiem"," = 3.

Wpis() Zwraca n-ty token w ciąg na określony ogranicznik.
Długość String.Length
Zamień() String.Replace()
Zawiera() String.Contains()
Zwraca słowo "prawda" Czy słowo "FAŁSZ".
Podciąg(Start) String.Substring(Start)
Podciąg(Start,koniec) String.Substring(Start,koniec)
ToUpper() String.ToUpper()
String.tolower() String.ToLower()
StartsWith() String.StartsWith()
Zwraca słowo "prawda" Czy słowo "FAŁSZ".
EndsWith() String.EndsWith()
Zwraca słowo "prawda" Czy słowo "FAŁSZ".

Szybkie & łatwe adres url kodowanie narzędzia pulpitu

Zostały I wymagające do adresu url-kodować niektóre ciągi w tym tygodniu i uderza razem narzędziem trochę myślę, I będzie put on SkyDrive dla Wspólnoty.

Pobierz tutaj binarne: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Tutaj rozwiązanie programu visual studio: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Oto zrzut ekranu:

obraz

Szybkie i łatwe: Osadzić hiperłącze w składnik web part XSLT widoku danych

AKTUALIZACJA (01/17/08): Ten wpis w blogu opowiada hiperłącze więcej dobroci XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Przegląd i cel: I stworzył prosty wykres słupkowy służyć jako składnik na desce rozdzielczej. Będziesz zapisać szczegóły na budynku wykresy na inny post, ale nie wymyśliłem, że technika (ani znak zapytania, o to chodzi). Okazało się, że wystąpił błąd, na wykresie, a jednocześnie ustala, że, Skorzystali z okazji, aby przekształcić niektóre etykiety hiperłącza, które wskazał na liście podstawowej za wykres. Na przykład, tam jest etykieta z wartości "Hold". Chciałem włączyć etykiety na hiperłącze, tak, że użytkownik może kliknij na to i przechodzić do konkretnych wpisów na liście, którego wartość stanu jest "Trzymać".

Kroki:

  1. Wykorzystanie programu visual studio SharePoint obsługującej technologię intellisense.
  2. Skopiuj DVWP XSLT do programu visual studio (Tworzenie pustego projektu, Dodaj plik XSL do projektu).
  3. Skopiuj link, który chcesz użyć do schowka.
  4. Wklej go w prawo lokalizacji w XSL.
  5. Konwersja adresu URL argumentu separatory na ciąg kwerendy z"&" do"&wzmacniacz;"
  6. URL kodowania poszczególnych argumentów.
  7. Że zawijany <href…> </a>

Przykład:

Mam adres URL:

http://[serwer]/[witryny]/Lists/Open Positions/AllItems.aspx?Zobacz ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = rekrutację&FilterValue1 = zawieszone

Przekonwertować go do:

     <a href="Lists/Open Positions/AllItems.aspx?Widok = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&wzmacniacz;FilterField1 = rekrutację&wzmacniacz;FilterValue1 = zawieszone"> Przytrzymaj: </a>

Mam ręcznie przekształcił pierwszy argument z:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

do:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d

(W tym, Transformacje otwarty nawias klamrowy do % 7b i zamknięcia przytwierdza transformacje do %7 d)

Drugi i trzeci argumenty’ parametry ("FilterField1 =Rekrutację" i "FilterValue1 =Przytrzymaj" odpowiednio) nie trzeba być zakodowanych w adresach url, ponieważ nie zawierają one żadnych znaków bezpieczne.

Notatki:

Technika ta ogólnie powinien praca gdziekolwiek chcesz osadzić hiperłącza w XSLT, gdzie hiperłącza zawiera parametry na adres URL, takie jak:

http://[serwer]/[witryny]/Lists/Open Positions/AllItems.aspx?Zobacz ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = rekrutację&FilterValue1 = zawieszone

Mam sam adres URL dostępu do listy niestandardowych i ręczne filtrowanie w kolumnie Stan (oznaczone "naganiacz" powyżej).

Szybkie i proste: Umożliwienia przepływu pracy programu SharePoint Designer do aktualizacji formularza programu InfoPath

Scenariusz: Mam formularza programu InfoPath, że przód kończy proces przepływu pracy realizowane za pomocą SharePoint Designer. W pewnym momencie, kierownik musi zatwierdzić formularz. Od tego czasu nie można liczyć na historii przepływu pracy spełnia moje wymagania inspekcji, Zdecydować, do przechowywania moich własnych inspekcji wiadomość bezpośrednio na formularzu.

Przegląd:

Zaprojektuj formularz i opublikować go jako typ zawartości i formularz do biblioteki dokumentów. Mark pożądane pól formularza jako można aktualizować z MOSS. Formularz jest powiązany Typ zawartości i typu zawartości jest "dołączone" w bibliotece formularzy (lub wielu, Jeśli chcesz). Napisz przepływu pracy, który aktualizuje to pole.

Konkretne kroki:

  1. Tworzenie biblioteki dokumentów. To odbędzie szablonu programu InfoPath.
  2. Tworzenie biblioteki formularzy.
  3. Tworzenie formularza programu InfoPath. To pole tekstowe, "Inspekcja wiadomość".
  4. Publikuj formularz jako typ zawartości (NIE dokument).
  5. Podczas wypełniania publikacji dialogi:
    a) Zapisz plik XSN do biblioteki dokumentów (krok #1).
    b) Publikować wiadomości inspekcji"" w polu i znak prawdziwego: "Zezwalaj użytkownikom na edytowanie danych w tej dziedzinie za pomocą arkusza danych lub właściwości strony".
    c) Utwórz nowy typ zawartości i nadać mu odpowiednią nazwę.
  6. Dostęp do biblioteki formularzy.
    a) Przejdź do zaawansowane ustawienia i włączyć bibliotekę formularzy do zarządzania typami zawartości.
    b) Wybierz nowo utworzony typ zawartości (5c powyżej). To będą zgrupowane w "Microsoft InfoPath" (lub podobne).
    c) Usunąć domyślny formularz"" Typ zawartości z biblioteki.
    d) Zaznacz "Pokaż jako strony sieci web w bibliotece" tak, że postaci rozpocznie się z SharePoint i nie klient stacja robocza programu InfoPath.
  7. Wróć do biblioteki formularzy właściwego i kliknij przycisk "nowy" po prostu sprawdzić, że formularz jest poprawnie wysłany i działających jak chcesz.
  8. Odpal SharePoint Designer i przejdź do witryny, która obsługuje twój biblioteka formularzy (od kroku 2).
  9. Tworzenie nowego przepływu pracy dołączone do biblioteki formularzy.
  10. Dodać jedną akcję "Ustawić pola w bieżącym elemencie". SharePoint Designer należy spodziewać się lista masz swoje pole, "Inspekcja wiadomość". Przypisać mu wartość.
  11. Kliknij przycisk Zakończ i wrócić do biblioteki formularzy.
  12. Utwórz nowy formularz i umieścić jakąś wartość testu do kontroli wiadomości"" pole.
  13. Zapisz go i wrócić do biblioteki formularzy.
  14. Kliknij prawym przyciskiem myszy, Wybierz "przepływu pracy" i uruchomić przepływ pracy.
  15. Ono powinien biegaæ prawie natychmiast. Podciągnąć postaci (od kroku 12) i jeśli wszystko poszło do planu, "Wiadomość inspekcji" przypisano niezależnie od wartości określonych w kroku 10.

Notatki:

Nie wszystkie formanty mogą skonfigurowany dla tego komunikacja dwukierunkowa. Na przykład, to nie wydaje się wdrożenie przepływ SPD, który modyfikuje pola tekstowe wlana sekcje powtarzane.

Jednym z kluczowych wziąć daleko w tutaj jest naprawdę stworzyliśmy typu zawartości z skojarzony szablon. To również pozwala nam na przechowywanie wielu szablonów formularzy programu InfoPath w samej bibliotece formularzy.

Wymaga to serwer formularzy. To z pewnością nie będzie działać w WSS 3.0 środowiska i chyba nawet wymaga środowiska Enterprise SharePoint.

Beagle wylądował (Października 2007 problem)

(To jest rzeczywiście trochę starych wiadomości, ale jak głosi motto ulubionych straży pożarnej, "Lepiej późno niż wcale").

To sprawdzić tutaj: http://www.sharepointbeagle.com/

Jeśli nie możesz się już, Upewnij się Zarejestruj się.

Oczywiście, koniecznie przeczytaj mój artykuł o świecie rzeczywistym SharePoint projektu (tym definicja wymagań, KPI, typy zawartości, Panele i więcej) jak również mój kolega artykuł na temat składnika web part kwerendy zawartości.

Istnieje wiele innych dobrych rzeczy.

Jak usunąć “Zobacz całą zawartość witryny” link

Jestem I zadał to pytanie prawie co tydzień, zwykle w kontekście zabezpieczeń dyskusja. Twórca administratora/strony ma przygotowana Strona, skonfigurowany zabezpieczeń, ułożone web części i dostosować szybkie rozpoczęcie zapewnienie że oh tak idealny zestaw opcji użytkownikowi końcowemu. Ale, po wyjęciu z pudełka, nie można usunąć "Wyświetl całą zawartość witryny" link.

Mark Wagner udziela odpowiedzi tutaj (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Jego recenzja jest świetny na dwóch poziomach. Daje odpowiedź na pytanie, "Jak usunąć Wyświetl całą zawartość witryny" link? Następnie, to odpowiedzi na bezpośrednie pytanie preparatów: Jak łatwo włączyć widok wszystkich treści witryny link na zasadzie terenu?

Jako bonus: Jego podejście działa dla WSS, nie tylko mech.

</koniec>

Subskrybowanie mój blog!