Rychlé a jednoduché: Webový server pomocí služby SharePoint objektového modelu v jazyce C#

Snažila jsem se hledat malý fragment kódu, který by Ukázat, jak lze vytvořit novou SPWeb v kolekci webů. Nenašel jsem ji jako rychle a snadno jak jsem očekával, tak jsem si myslel, že ti naplácám dohromady malý vstup na téma.

Tento kód vytvoří nový web Wiki:

 SPSite siteCollection;

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

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy titul",
        xyzzy popis"", 1033, SPWebTemplate.WebTemplateWIKI, NEPRAVDA, NEPRAVDA);

Moje první hledání se nezdařila, protože jsem hledal fráze jako "vytvořit web pomocí objektového modelu služby sharepoint" a podobně.

Pokud jste Hledat pro "Webs.Add()", najdete řadu velmi užitečné blogu, MSDN články a dokumentaci SDK, které jdou do hloubky na toto téma. Rozhodně doporučuji Tento web.

</Konec>

Přihlásit se na mém blogu.

Doplněk Technorati značky:

Integrovat pracovní postupy služby SharePoint Designer s webovými službami

Obehrával jsem s vlastními akcemi pro aplikaci SharePoint Designer pro nějaký čas (naleznete zde pro některé detailní věci, Pokud vás to zajímá).

V aktuálním projektu, Musíme udělat nějaké poměrně těžkou práci a chceme použít deklarativní SPD pracovního postupu ke správě procesu spojených obchodních.

Dlouhý příběh krátký, To je zcela možné. Jsem prodloužil Codeplex projektu k vyvolání Pomocná služba"" a nyní můžeme volat webové služby přímo z pracovního postupu pro SPD.

Tady je podpis:

 veřejné řetězec Dispečer(
        Identifikátor GUID WebID, // Předaný běhové prostředí
        Identifikátor GUID ID sítě, // Předaný běhové prostředí
        řetězec ListID, // Předán RTE (Nevím, proč je to řetězec, není identifikátor GUID)
        int ListItemID, // Předán RTE.
        řetězec XmlMessage) // Předaných uživatelem udaným v SPD.

To využívá skutečnosti, že můžeme dostat na důležité pracovní informace, jako místo, ID seznamu, atd. To je dobře dokumentováno v několika místech pro ty z vás zájem o vytvoření vlastní akce. Myšlenka je extrahovat řetězec XML, jak je uživatel odesláním vhodný postup. Zábavné věci!

Bohužel, To je očividně jednosměrný lístek na "Loosey husí" Anti-vzorek půdy, but it’s better than hitting a brick wall 🙂

Je to anti-vzor, pokud to uděláte, i když víte, že je to proti vzor?

Doufám, že to v blízké budoucnosti obtékání textu uvnitř Codeplex. Pokud máte zájem o mě tak, Dej mi hrabat (e-mail nebo zanechat komentář) and I’ll be that more enthusiastic about doing it 🙂

</Konec>

Přihlásit se na mém blogu.

Doplněk Technorati značky: ,

Neděle legrační: “Zajímalo by mě, jestli je vaše heslo …”

Nedávno jsem si koupil oběd pro mého bratra (jako obvykle) a my jsme skončili o vtipné věci, které jsme dělali na naše příslušné školy. Na mé alma mater, Lafayette College, akademické podpory oddělení IT měl velmi včetně způsob, jak o tom. Dostali jsme spoustu provazu a využil jsem to občas.

Dvě mé oblíbené vzpomínky souvisí mého dobrého přítele, Gabe. On udělal hroznou chybu, říkat lidem jeho prvního ročníku, "Já jsem v prváku, Ale já jsem druhák stojící" vzhledem k různé pokročilé umístění tříd, kterou vzal, atd. Mnozí z nás byli v podobné situaci, ale nemluvili jsme o tom tolik. Posledního ročníku, Když jsme ho představil lidi, řeklo by se "Toto je Gabe. Je starší, Ale on má druháku stojící ".

Škole měl nějaké Sun stanice/servery se systémem X Window. Oni měli obrovské monitory a technici využívali pro CAD a další nudné věci inženýr. Jsme CS lidé zvyklí učit programování a, Samozřejmě, Chcete-li hrát hry.

Ne jako počítač bezmocný inženýři proto jeden z našich oblíbených věcí dělat by telnet do pole se byli na a spusťte X-oko na ně. To by vyskočí pár očí, které následovaly myši na obrazovce. Můžete pop ještě více a mají doslova tucet nebo více X-oko aplikací spuštěných. 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 🙂

Také jsme hráli na X-trek těchto krabic. K tomu, že, jste museli stáhnout zdroj, Získejte různé závislosti, všude tam, kde byste mohli najít a postavit. Nebyl jsem sofistikované programátor C, ale mohl číst soubory hlaviček. Díval se skrz ně a našel směrnic jako "#DEFINE MAX_TORPEDO_DISTANCE 10". Hrál jsem si s to zvýšit rozsah a moc pro torpéda a fáze, znovu postavil a pak zničil Gabe příště jsme hráli.

Gabe byl také obrovský fanda televizní show s názvem Blake 7. Nikdy jsem to neviděl, ale to nebyl zabránit mi trvá na tom, že Dr. Kdo je lepší show. The arguments would get heated at times 🙂

Jeden den, Napadlo mě, že jsem mohl pravděpodobně uhodnout jeho heslo v systému UNIX. Sedl si vedle něj jednoho dne a oznámil v hlasité tón, "Budu teď uhodnout vaše heslo, Gabe." "Ano, doprava" byla jeho odpověď. Pak jsem přihlášen, do jeho id uživatele, otočil se k němu, napsal a řekl nahlas, "Jsem zvědavý, jestli to je B-L-A-K-E-7" ? Psaní na stroji se nikdy tak náramně vyplácí stejně jako ten den.

Příští týden (nebo brzy): Další počítač dovádění College.

Máte nějaké podělit? Zanechat komentář, nebo e-mailem mě a já budu publikovat zde.

</Konec>

Přihlásit se na mém blogu.

Doplněk Technorati značky:

Menší veřejné oznámení: Windows Live bezpečnostní nastavení a kontaktování prostor vlastníci

Zobrazí několik zpráv od jednotlivců prostřednictvím vestavěné "poslat zprávu" funkce Microsoft poskytuje s live spaces (což také hostí můj blog) každý měsíc.

Zhruba jedna třetina času, Tito uživatelé si zajistili jejich účet live spaces, tak, že nemůže odpovědět. To je nějaký druh funkce ochrany proti nevyžádané poště, kterou předpokládám.

</Konec>

Jednoduché vysvětlení: “Hodnota nespadá do očekávaného rozsahu.”

AKTUALIZOVAT: Anonymní plakát odešel skvělý komentář o interní názvy. Přečtěte si ji.

Při práci s přijímačů událostí a další kód, který odkazuje na položky seznamu SharePoint prostřednictvím objektového modelu, Často dělají chyby, které generují tuto chybu za běhu:

Chyba při načítání a spouštění událostí přijímač Conchango.xyzzyEventReceiver v xyzzy, Verze = 1.0.0.0, Kultura = neutral, PublicKeyToken = 0dc50a750396c3ac. Další informace jsou nižší než. : Hodnota nespadá do očekávaného rozsahu.

Myslím, že to je poměrně obecná chyba, která je potenciálně způsobené mnoha různými způsoby. Avšak, jedno jednoduché vysvětlení je, že já jsem odkazující pole nesprávně. Je-li název pole "Datum splatnosti", Musí odkazovat takhle v příjemce události:

vlastnosti.ListItem["Termín"]

Když chybně nebo špatný případ použití při odkazování na pole, SharePoint generuje výše uvedená Chyba runtime. Například, To je špatně:

vlastnosti.ListItem["termín"]

</Konec>

Přihlásit se na mém blogu.

Doplněk Technorati značky:

Rychlý Tip koncového uživatele: Seřadit zobrazení v knihovně dokumentů, Seznam, atd.

Můžeme, by a vytvářet mnoho názorů v seznamech služby SharePoint (knihovny dokumentů, vlastní seznamy, atd). Seznamy služby SharePoint, vždy k dispozici názory v abecedním pořadí. Nemůžeme to změnit pomocí mimo box funkčnost. Je-li to lze provést prostřednictvím přizpůsobení (a nejsem si jistý, že může), je to daleko k technické pro váš typický koncového uživatele.

Jestliže chcete řídit pořadí, ve kterém SharePoint seznamy dostupných pohledů, Jednoduše připojte číslo nebo písmeno názvu zobrazení, stejně jako v:

1 – Podle druhu materiálu
2 – Všechny dokumenty
3 – Datum splatnosti

-nebo-

A – Podle druhu materiálu
B – Všechny dokumenty
C – Datum splatnosti

Vytvořil jsem také názory, jejichž účelem je přísně krmit KUV. Byl jsem po této konvence:

Z_KPI_[Popis]

To způsobí, že moje "KUV" zobrazení se objeví v dolní části seznamu.

</Konec>

Přihlásit se na mém blogu.

Doplněk Technorati značky: ,

Neděle legrační: “Když jsem byl malý chlapec”

Jako rodič, Někde podél trati jsem zjistil, "když jsem byl malý kluk" trik.

Můj syn, asi čtyři nebo pět v době, hraje bublina a jako většina malých chlapců, které hrají s balónky, vyndal ji. Byl velmi rozčilený. Svět přišla na konec. Řekl jsem mu, "když jsem byl malý chlapec, Měl jsem balón a odebere a nakonec, Mám nový balón." Zdálo se, že mu pomohla vyrovnat se s jeho ztrátou, a vedly k zábavné mluvit o jaké to bylo, když jsem byl malý kluk.

To fungovalo dobře, jako útěcha techniku a to již několikrát pro příští období. Já jsem nedostal do potíží jednou když jeho Monster Rancher 3 bytost zemřela. Mluvil jsem o tom, jak můj pes, Princ, zemřel při dopravní nehodě. Tentokrát, jeho odpověď byla, "Teď se cítím špatně o dvě věci!" Jsem vystříhala použití "když jsem byl malý kluk" technika pro útěchu po tom.

Před incidentem mrtvého psa, Avšak, Také jsem začal používat techniku přesvědčit ho, aby se práce. "Když jsem byl malý chlapec, Musel jsem jít ven a dostat noviny", "čisté pokoje", "si maminka její šálek kávy", atd.

To také byl docela úspěšný za chvíli, ale začal se stále více bouří proti tyranii mého dětství. Jedna událost, zejména, znamenala konec. Řekl jsem mu, aby popelnice z chodníku zpět do garáže. On tvrdil, a já odpověděl, "Když jsem byl malý chlapec, Musel jsem vzít odpadky zpět do garáže." On odpověděl, "Oh Ano! No, když jsi byl malý chlapec, to bylo HLOUPÉ!".

</Konec>

Přihlásit se na mém blogu.

Doplněk Technorati značky:

Zobrazení a sloupce v seznamech a knihovnách dokumentů nelze zabezpečit

AKTUALIZOVAT (02/29/08): Zdá se, že tento nový projekt codeplex poskytuje metodu pro zabezpečení jednotlivých sloupců: http://www.codeplex.com/SPListDisplaySetting. Pokud máte nějaké zkušenosti s prací, Prosím, zanechte komentář.

Fórum plakáty často položit otázku jako je tento: "Mám Správce zobrazení a a personál zobrazení seznamu. Jak zajistit zobrazení správce, aby zaměstnanci nemůže použít?"

Také často ptají související otázku: "Chci zajistit konkrétní metadata sloupec tak, že pouze správci mohou tento sloupec upravovat, zatímco jiní nemusí ani vidět."

Tyto odpovědi platí pro obě WSS 3.0 a mech.:

  • SharePoint neposkytuje podporu out-of-the-box pro zajištění zobrazení.
  • SharePoint neposkytuje podporu out-of-the-box pro bezpečnostní sloupce.

Existuje několik technik jednoho může následovat splnit tyto druhy bezpečnostních požadavků. Zde je to, co mě napadá:

  • Použít zabezpečení na úrovni položky out-of-the-box. Zobrazení vždy dodržet konfigurace zabezpečení na úrovni položky. Přijímačů událostí nebo pracovní postup můžete automatizovat přiřazení zabezpečení.
  • Používat osobní zobrazení pro "privilegované" pohledy. Jsou to dost snadné nastavení. Avšak, z důvodu jejich osobní"" Příroda, Tyto musí být nakonfigurován pro každého uživatele. Použít nastavení Standardní zabezpečení zabránit ostatním uživatelům ve vytvoření osobního zobrazení.
  • Pomocí webové části zobrazení dat a implementovat nějaký druh AJAXy bezpečnostní úprava řešení.
  • Roll vlastní funkčnost zobrazení seznamu a začlenit oříznutí zabezpečení na úrovni sloupců.
  • Změna formuláře pro zadávání dat a použít JavaScript ve spojení s modelem zabezpečení k implementaci oříznutí zabezpečení úroveň sloupců.
  • Formulář aplikace InfoPath pro zadávání dat. Provést oříznutí sloupec úroveň zabezpečení prostřednictvím volání webové služby SharePoint a podmíněně skrýt pole podle potřeby.
  • Zahrnout vlastní funkci vstupního dat ASP.NET implementuje oříznutí zabezpečení na úrovni sloupce.

Žádná z těchto možností není skutečně tak velký, ale je tu alespoň cestu následovat, pokud potřebujete, i když je to těžké.

POZNÁMKA:: Pokud půjdete dolů některou z těchto cest, Nezapomeňte o "akce-> Otevřít pomocí Průzkumníka Windows". Chcete mít jistotu že testovat s funkce ujistěte se, že to nefunguje jako "zadní vrátka" a porazit váš bezpečnostní systém.

Pokud máte jiné nápady, nebo zkušenosti se zajištěním sloupce nebo zobrazení, Prosím napište mi nebo zanechte komentář a já budu aktualizovat tento účtování podle potřeby.

</Konec>

Přihlásit se na mém blogu.

Doplněk Technorati značky:

Rychlá nápověda: Váš přítel jsou čísla verzí BDC ADF

Pokud jste si ručně kódování ADF soubory a hodně kódu/import/testovacích cyklů, Používejte číslo verze, aby váš život jednodušší.

Nerad to přiznávám, ale až do tohoto týdne, Byl jsem vždy odstranit ADF a opětovným importem. To by rozbít můj sloupců obchodních dat a já Re-drát je. Všechny nepotřebné.

Tento soubor pod "to je zřejmá, Jakmile uvidíte, že to".

Příklad:

<LobSystem.
xmlns.:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Typ="WebService" Verze="1.2.0.0" Jméno="xyzzyDocumentReview" xmlns.="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Změnit, že verze a znovu importovat a stávající sloupce obchodních dat používá aktualizovanou verzi automaticky s nebyla nutná žádná další konfigurace..

</Konec>

Přihlásit se na mém blogu.

Doplněk Technorati značky:

Řešení: Výběr záložní řadič domény se zobrazí pouze jeden sloupec výsledky

V mé on probíhající pokusy o zajištění Další užitečné vyhledávací sloupec pomocí záložního řadiče domény, Jsem narazil do zdi s výběr záložní řadič domény. Nemáte-li to vidět, výběr záložní řadič domény se podobá výběr osob, s výjimkou, že to funguje s sloupce typu "obchodní údaje".

Přístup výběr klepnutím na ikonu otevřené knihy sloupce obchodních dat jak je uvedeno:

obrázek

Výše uvedený obrázek ukazuje obchodních dat sloupec s názvem "Master dokument Id". Tento sloupec je připojeno, přes záložní řadič domény, k webové službě. Webová služba vrátí dva sloupce informací: ID dokumentu a titul. Obchodní účel zde je poskytnout "Tento dokument je založen na" funkce. Uživatelé vyberou "master" dokument a kdy se uložit, příjemce události kopíruje meta datových polí z odkazované předlohy.

Ve výchozím nastavení, výběr záložní řadič domény vypadá takhle, když jsem se hledat pro dokument, jehož ID = "38":

clip_image002

To je užitečné, ale ne dost dobré. Lidé nemají myslet ID, myslí, že tituly a/nebo jiných metadat. Výběr vám umožní vyhledávat v jiných sloupcích (např.. Titul) ale nebude zobrazovat aktuální seznam titulů, nalezených, právě jejich DocId je, jak je znázorněno zde:

clip_image002[1]

(Snímek obrazovky není tak velký, protože jsem si nevybral hledání vrátí žádné platné výsledky, ale můžete vidět, že pokud si našla nějaké výsledky, To by jen ukázal si DocId, Ne tituly).

Jsem hledal vysoké a nízké pro odpověď na tuto otázku a selhala. Můj kolega, úctyhodný Jonathan Bradshaw, už řešili a vyřešili tento problém. Když jsem natáhl ho o pomoc, ukázal mě správným směrem.

Konfigurace pro výběr zobrazení více sloupců přes "ShowInPicker" vlastnost v ADF:

<Vlastnost Jméno="ShowInPicker" Typ="System.Boolean">pravda</Vlastnost>

Podrobněji:

  <!-- Titul -->
  <TypeDescriptor TypeName="System.String" Jméno="Titul" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Titul</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Vlastnosti>
      <Vlastnost Jméno="DisplayByDefault" Typ="System.Boolean">pravda</Vlastnost>
      <Vlastnost Jméno="ShowInPicker" Typ="System.Boolean">pravda</Vlastnost>
    </Vlastnosti>
  </TypeDescriptor>

Nastavení této vlastnosti způsobuje menší problém. Jakmile ji jednou nastavíte, musíte nastavit pro každý sloupec, který chcete zobrazit. V mém případě, BDC výběr ukázal DocId ve výchozím nastavení. Avšak, Jakmile jsem přidal "ShowInPicker" na titul, DocId již zobrazen. Vyřešil jsem to explicitně nastavením vlastnosti ShowInPicker pro ID dokladu.

Zde je výsledek:

obrázek

(Vysvětlím ti to divné "168 – CamlSchema.xsd" Výstavba v budoucí blogu. V krátkém, To je spojený řetězec, který umožňuje pro mírně lepší uživatelské zkušenosti).

Samozřejmě, napsal tuto položku blogu, Udělal jsem vyhledávání pro "ShowInPicker" a našel mnoho hitů, včetně této: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Vysvětluje význam této vlastnosti spolu s dobrým BDC něco jiné.

</Konec>

Přihlásit se na mém blogu!

Doplněk Technorati značky: