Měsíční archivy: Červen 2009

Formuláře aplikace InfoPath drátovny, Ověřování na základě formulářů (FBA) a jedinečné názvy souborů

Byl jsem pracující na některých formulářů aplikace InfoPath tento týden v MECHU v prostředí FBA a učených, Když jsem šel nasadit formuláře k provozním prostředí se FBA zóna že uživatelské jméno() funkce funkce nefunguje. Byl jsem pomocí generování jedinečných názvů souborů.

No., Tato funkce nefunguje v prostředí FBA (nejméně, Ne z krabice). A, po zralé úvaze, použití uživatelského jména tak, jak jsem měl v plánu by měl zaručit jedinečný název souboru v každém případě.

Moje řešení bylo použití nyní() funkce a pravidlo, které požáry na načtení formuláře. Přiřadit název souboru datový prvek, když je prázdná:

image

image

Výhodou tohoto přístupu je, že název souboru je jen jednou. (Já nezobrazovat v snímku obrazovky, ale podmínku na pravidlo, které jen oheň, když "méskvìlévyspekulovanéjménosouboru" je prázdné). Použil jsem k nastavení názvu souboru na úrovni zdroje dat.. Obvykle, Já bych něco (Špatné) Nějak tak:

image

Problém s tímto je, že pokud uživatel A otevře formulář v pondělí a uživatel B se změní v úterý, skončíš s dvěma různými formami vzhledem k tomu, že dva různí uživatelé uložili ji s různými uživatelskými jmény.

Tak, jako otravné jako FBA lze obecně a s aplikací InfoPath zejména, To se mi znovu malé, ale důležité technické detaily a přístup, který by udělal jinak!

</Konec>

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

Za mnou na Twitter na http://www.twitter.com/pagalvin

Doplněk Technorati značky:

Zajištění zobrazení knihoven dokumentů/seznam služby SharePoint se zdá (druh) Možné s jQuery

To je další post v mé probíhající série Jak používat jQuery s SharePoint.
Pokud se chcete dozvědět více o jQuery, Důrazně doporučujeme: jQuery v akci Medvěd Bibeault a Jehuda Katz.

Jedna z prvních věcí, kterou jsem myslel, že, Jakmile jsem začal hrát si s jQuery, byl, zda bychom mohli použít k zajištění zobrazení služby SharePoint. Odpověď je "ne" (nebo alespoň, Já netvrdím, že je to možné). Avšak, To je jistě možné, aby bylo obtížné pro lidi vidět konkrétní zobrazení.

Začal jsem s mého prostředí sandbox, při práci na tomto. Psal jsem o tomto prostředí: Rychlé a snadné: Vytvořit svůj vlastní jQuery izolovaného prostoru pro SharePoint.

"Bezpečné" pohled, postupujte podle těchto kroků:

  1. Vytvoření zobrazení, které chcete zabezpečit. Udělal to a nazval jej "Zajištěné View".

    To je, jak to vypadá, když to není "zabezpečená":

    image

  2. Přidat webovou část editor obsahu do stránky v zobrazení pomocí trik popsaný v článku pískoviště (tj. Přidat "zobrazení = Shared&ToolPaneView = 2 "na adresu URL).
  3. Zjistit SharePoint _spUserId pomocí následujících kroků crazy, Věřte nebo ne:
    1. Přihlaste se do prostředí aplikace SharePoint.
    2. Do pole Adresa webového prohlížeče, Typ: "javascript:Výstraha(_spUserId").
    3. Záznam výsledku (je to v mém případě "13").

      image

  4. Přidat člen určitý následující javascript do CEWP v zobrazení kódu:

    <skript typ ="text/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </skript>
    
    <skript typ ="text/javascript">
      $(funkce() {
    
        Výstraha(_spUserId);
    
        var theSecuredView = $(' iframe[FilterLink * = zabezpečené % 20View]');
    
        Pokud ((theSecuredView.length > 0) && (_spUserId == 13))
          $(' iframe[FilterLink * = zabezpečené % 20View]').Nadřazený().Nadřazený().Nadřazený().HTML("<TR bgcolor = červená><TD>Žádný výhled pro vás!</TD></TR>");
      });
    
    </skript>
    

Uvedl jsem oznámení(_spUserId) linka tam prokázat, jak to není opravdu na "zajištění" pohled, ale prostě dělat to více obtížný vidět. Více o tom v okamžiku.

V podstatě, jQuery hledá iFrame na stránce, který má atribut, který obsahuje "Secured % 20View" v jeho hodnotu. Jakmile zjistí, že, Musíme zkontrolovat a zjistit, zda je aktuální uživatel "13". Je-li, Projdeme se DOM k <TR> Značka (což jsem přišel do zobrazení zdroj a trasování to) a že značka TR nahrazení zprávy. Opravdu nevím, jak robustní je (Já jsem velice podezřelé, Vlastně), ale funguje to v mém pískovišti. Pokud najdu lepší způsob, jak, Budu o tom blogu. To je výsledek:

image

Klepnutí na tlačítko OK a data se nahrazuje s velkým červeným poselstvím:

image

Jak můžete říct, Jak mám provést toto řešení "bezpečnost" je umožnit webové části pro vykreslení sama. Po dokončení, Přepsat jeho obsah se mi "žádný výhled pro vás!"zpráva.

Navzdory tomu, že to není opravdu na "zabezpečené '" pohled, To je potenciálně užitečným a někteří dříči, To může být nakonec zabezpečený v jistém smyslu více formální. Základní otázkou je, že klient je získání všech dat a pak, až poté, co získá data, to zničí. Je-li klient dostává data, chytrý uživatel může zabránit spuštění vůbec jQuery a vidět, co chce vidět.

Existují jiné nevýhody. Tento přístup "bezpečnost" je založená _spUserId. Rádi bychom si opravdu bezpečné založené na plné modelu zabezpečení služby SharePoint, nebo alespoň podle uživatelského jména. To se stává postupně těžší, ale vidím, že některé dobré věci, napsal na toto téma, Tak já doufám, že je dobrá odpověď na tento problém.

Seznam pohledů, sami by měly být zbaveny, Pokud je to možné. Jsem se snažil na to přijít. Předpokládám, že je to možné, ale neřeší opravdu zásadní bezpečnostní problém, protože někdo stále jen zadat URL zobrazení, co chtějí (Kdyby věděli, že to). Avšak, oříznutí má smysl. To je dobré použitelnosti funkcí a umožňuje zamlžovat věci. Je-li koncový uživatel neví, že existuje zobrazit událost, pravděpodobně nebudete snažit ji použít. Někdy, To je dost dobrá.

S trochou štěstí, Budu mít více psát na toto téma v průběhu času.

</Konec>

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

Za mnou na Twitter na http://www.twitter.com/pagalvin

Doplněk Technorati značky: ,,

Rychlé a snadné: Lepší způsob, jak používat jQuery skrýt textové pole na formuláři SharePoint

To je další post v mé probíhající série Jak používat jQuery s SharePoint.
Pokud se chcete dozvědět více o jQuery, Důrazně doporučujeme: jQuery v akci Medvěd Bibeault a Jehuda Katz.

Dříve, Jsem psal o tom, jak najít a skrýt textové pole na formuláři, pomocí jQuery. Já jsem se nestaral o specifický přístup (Byl řetězení rodiče – to je prostě nedělá v těchto dnech, alespoň v rodinách kvality).

Když jsem poprvé začal přemýšlet o tom, Věděl jsem, že jsem potřeboval najít <TR> na který by mohl vyvolat kůže() Metoda. Moje rané snaha najít správné <TR> bylo něco podobného:

$(' tr:má(vstup[titul = skrýt!])');

Problém s tímto je, že ji najde každý <TR> značka, která žádné nadřazené vztah k kůže mě! pole, i když mě skrýt! je vnořena hluboko v mnoha úrovních <TR>je. Ukazuje se, že na formuláři pískoviště, Tento výraz vyhledá 9 různé TR, které mají skrýt! jako dítě někde v jeho stromu DOM. Uvědomil jsem si, že bych mohla odejít zpět do stromu od samotné vstupní pole, tak to je, jak jsem skončil zneužívání rodiče, ale nesedl dobře se mnou.

Dal jsem to někteří mysleli a jedna z věcí, které jsem četl konečně dává smysl: Mohl bych použít not() Metoda Trim <TR>je, že nechci, aby v mém zabalená sada. To mě vedlo k tomuto:

$(' tr:má(vstup[titul = skrýt!])').Ne(' tr:má(TR)').Skrýt();

První bit najde všechny <TR> značky, které mají skrýt mě! pole kdekoli v jejich vlastní hierarchie. Pak to nudličky jakékoli <TR> to také mít dítě <TR>. To nás staví s jedním <TR> to:

1) Nemá žádné <TR> podřízené záznamy

2) Má vstupní pole jako dítě.

Pak můžeme použít skrýt() Metoda do výsledné sady a skončili jsme.

Já jsem ještě trochu nervózní, ale ne tak, jako řetězení rodiče.

Já nevím, jestli je to nejvhodnější, nebo ne. Může být vhodnější způsob identifikace jen na <TR> že nám záleží v podobě služby SharePoint. Pokud znáte, Prosím, psát komentáře.

</Konec>

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

Za mnou na Twitter na http://www.twitter.com/pagalvin

Doplněk Technorati značky: ,

Rychlé a snadné: Pomocí jQuery je možné skrýt textové pole na formuláři SharePoint

To je další post v mé probíhající série Jak používat jQuery s SharePoint.
Pokud se chcete dozvědět více o jQuery, Důrazně doporučujeme: jQuery v akci Medvěd Bibeault a Jehuda Katz.

AKTUALIZOVAT (již!): Myslela jsem si na lepší způsob, jak najít <TR> Chci skrýt značky a napsal o tom zde. Můžete stále najít tento článek zajímavý stejně tak jsem leavnig to.

Chci skrýt textové pole, "Skrýt!"jak je uvedeno:

image

Následující jQuery to trik pro mě:

<skript typ ="text/javascript">

  $(funkce() {


    $("vstupní[titul = skrýt!]').Nadřazený().Nadřazený().Nadřazený().Skrýt();

  });

</skript>

Kód říká, "find mě všechny vstupní pole, jehož název = skrýt!. Pak, její mateřské a poté další mateřské a | další | mateřské (Fuj!) a vyvolat kůže() Metoda na té věci, Ať se stane se.

Jsem zjistili že rodičovské struktury zobrazením HTML pro formulář, který SharePoint vytvořené podle:

<TR>
    <TD nowrap= true" valign= "nahoru" Šířka= "190px" Třída= "ms-formlabel">
        <H3 Třída= "ms-standardheader">
            <NOBR>Skrýt!</NOBR>
        </H3>
    </TD>

    <TD valign= "nahoru" Třída= "ms-formbody" Šířka= "400px">
        <!-- Názevpole = "Skrýt!"
                 FieldInternalName = "Hide_x0020_Me_x0021_"
                 FieldType = "SPFieldText"
        -->
        <rozpětí adresář= "žádné">
            <vstup
                Jméno= "m$ ctl00$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
                Typ= "text"
                Hodnota MaxLength= "255"
                ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                titul= "Skrýt!"
                Třída= "ms dlouhá" />
                <BR>
        </rozpětí>


    </TD>
</TR>

Tento obrázek ukazuje totéž, Ale označkovaný s rodiči:

image

První mateřské (1) je kalibrační značka. Span se rodič (2) je TD tag a pak konečně dostaneme k skutečné nadřazený chci skrýt (3) která je samotná značka TR.

To je hrozný přístup, si myslím, protože to je extrémně závislý na velmi specifickou strukturu tohoto formuláře. Když aplikace SharePoint 2010 vyjde, Tato celá struktura může změnit a zlomit tento přístup. Co opravdu chci dělat je řemeslo jQuery volič, který je v duchu "mě najít všechny TR (a pouze značky TR) to mají někde v jejich podřízené elementy vstupní pole jehož název = skrýt!”. Od spodní části a pohybuje. Za předpokladu, že zjistím, to, Vyvěsím aktualizované "snadno a rychle ' Zaúčtovat.

</Konec>

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

Za mnou na Twitter na http://www.twitter.com/pagalvin

del.icio.us značky: ,

Doplněk Technorati značky: ,

Rychlé a snadné: Vytvořit svůj vlastní jQuery izolovaného prostoru pro SharePoint

To je další post v mé probíhající série Jak používat jQuery s SharePoint.
Pokud se chcete dozvědět více o jQuery, Důrazně doporučujeme: jQuery v akci Medvěd Bibeault a Jehuda Katz.

Začínáme s jQuery v SharePoint je překvapivě snadné (Pro mě). (Mít vážné otázky ohledně "osvědčených postupů" přístup k nasazení tyto věci do výroby, Ale to je na další den). Právě jsem začal hrát s touto technologií a za tímto účelem, Vytvořil jsem uzavřeném prostředí používat. Máte-li zájem začít s jQuery, užitečné tento přístup.

1. Vytvořit prázdný web

Vytvořit prázdný web někde na webu a Nazvěme to něco chytrého jako "jQuery izolovaného prostoru".

2. Stáhnout jQuery

Javascript knihovnu jQuery můžete stáhnout zde: http://docs.jquery.com/Downloading_jQuery

Že se uložit na plochu.

Používám "minified" verze.

3. Vytvořit knihovnu dokumentů služby SharePoint

V karanténě zabezpečení webu, vytvoření knihovny dokumentů.

4. Nahrát knihovnu jQuery na serveru SharePoint

Přístup ke knihovně dokumentu, který jste právě vytvořili a uložit knihovnu jQuery.

5. Vytvořit vlastní seznam SharePoint

Jsem začal s vlastní seznam, protože chci muck o standardních formulářů služby SharePoint. Můžete také vytvořit stránku v knihovně stránky nebo stránky webových částí a pravděpodobně mnoho dalších míst.

Přidejte některé sloupce do seznamu vlastní, abyste měli něco do začátku jQuery proti. Můj původní cíle byly k:

  1. Skrýt pole.
  2. Přiřaďte hodnotu do pole.

S tímto cílem na mysli, Přidala jsem dvě textová pole. V průběhu času, Já budu hrát s odkazy, obrázky, vyhledávání, atd.

6. Upravte stránku NewForm.aspx webových částí a přidejte webovou část Editor obsahu

Je to malý černý magic-ish , v tom je nový koncept pro mě. Jsem se poprvé dozvěděl o tomto od Paul Grenier, SharePoint jQuery Superstar, na jeho místě projektu Revision: http://spff.codeplex.com/.

Pomocí následujícího postupu přidejte CEWP na stejnou stránku, která zobrazuje NewForm.aspx (NovýFormulář.aspx) pro vlastní seznam:

  1. Přístup k vlastní seznam a klepněte na tlačítko Nový.
  2. Připojte následující URL: Pozoruji = sdílené&ToolPaneView = 2

To bude transformovat nudné vanilkové dat přihláška od něčeho takového:

image

K tomuto:

image

Přidat webovou část editor obsahu na stránku.

7. Napsat svůj první jQuery kód

Otevři tu CEWP v zobrazení kódu a přidejte následující:

image

Tady je skutečný kód, pokud chcete kopírovat/vložit:

<skript typ ="text/javascript"
    src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
</skript>

<skript typ ="text/javascript">
  $(funkce() {

    $("#resultsID").HTML("Jsou" + $("a").velikost() + "značky značky na této stránce.");

  });
</skript>

Výsledek:
<div id ="resultsID"></div>
/výsledek

Všimněte si, že první <skript> Značka se odkazuje aktuální jQuery knihovnu. Podle všeho, tyto věci se mění v průběhu času, Takže budete chtít ujistěte se, že) Použijte správné jméno a b) Přejděte na správné knihovny dokumentů služby SharePoint.

Dopřejte si slávu

Pokud jste to správně, zobrazí následující výsledek:

image

Se

Není to jediný způsob, jak začít, Ale je to rychlé, snadné a izolované od svého stávajícího prostředí SharePoint.

</Konec>

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

Za mnou na Twitter na http://www.twitter.com/pagalvin

Doplněk Technorati značky: ,

del.icio.us značky: ,

Rychlé a snadné: Pomocí jQuery Set A textové hodnoty pole na formuláři SharePoint

Začal jsem hrát s jQuery včera. Chtěl jsem udělat to po dlouhou dobu, od té doby Paul Grenier začal psát jeho série o jQuery pro koncové uživatele na úctyhodné www.endusersharepoint.com webové stránky. Jak mohu použít, Doufám, že přidání řady "Rychlé a snadné" příspěvky jako je tento. Tento příspěvek popisuje, jak nastavit hodnotu známé textové pole na co chcete.

V tomto scénáři, Vytvořili vlastní seznam loupežníka "nové" Vypadá jak ukazuje:

image

To je nový formulář pro vlastní seznam se sloupci Výchozí titul a dva seznam sloupců (Ne sloupců webu; Nemyslím si, že by žádný rozdíl).

Cílem je přiřadit libovolnou hodnotu pole, "DefaultMeFieldNoSpaces" (Řekni, že jsem trochu zbabělec s "mezery" něco děje, Ale to okořenit na konci tohoto článku).

Tento bit jQuery pracoval pro mě:

<skript typ ="text/javascript">

  $(funkce() {

    $("vstupní[titul = DefaultMeFieldNoSpaces]').attr(
        {hodnota: "Jste v proplétá spirálovitým bludištěm chodeb, všichni stejní. "});

  });

</skript>

Jak já to chápu tento bit jQuery říká, "mě najít žádné vstupní značka jehož název = DefaultMeFieldNoSpaces. Pak, Nastavit všechny jejich hodnoty na slavnou větu ze staré počítačové hry."

Vzhledem k tomu, že bude existovat pouze jedno pole na formuláři s názvem rovna "DefaultMeFieldNoSpaces" jsme zajištěné přiřadit hodnotu do tohoto pole a ne jiné.

Co třeba pole, jehož název obsahuje mezery? Je to téměř totéž:

<skript typ ="text/javascript">

  $(funkce() {
     $("vstupní[titul = přiřadit pole s prostor]').attr(
        {hodnota: "Jste v proplétá spirálovitým bludištěm chodeb, všichni stejní. "});

  });

</skript>

Myslím, že je to poměrně bezpečný přístup, což znamená, že bychom měli být schopni najít pole, které chceme a pouze chceme. Pokud se podíváte na HTML SharePoint nám dává, je to trochu komplikované:

<vstup
Jméno= "m$ ctl00$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
Typ= "text"
Hodnota MaxLength= "255"
ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
titul= "DefaultMeFieldNoSpaces"
Třída= "ms dlouhá"
/>

"titul" vyčnívá jako rozpoznatelné a doufejme, že jedinečná atribut pomoci nám identifikovat konkrétní sloupec, na který chceme přiřadit naši libovolnou hodnotu.

Jedná se o základní koncept. Nastavení pole v libovolné způsobem jako to nebude získat žádné ocenění. Avšak, Pokud chceme udělat mnohem zajímavější podobě úrovni (Každý z nás má vždy dělat, Samozřejmě, Hned jak skončíme, mytí nádobí), Jak změnit hodnotu "pole b" automaticky v závislosti na hodnotě "pole", jsme (JÁ) Potřebujete se naučit tyhle věci.

Myslím, že je naše nejlepší šance získat opravdu užitečné hodnotu pomocí názvu, alespoň pro textová pole. Může být lepší, spolehlivější přístup. Když ho najdu, Budu aktualizovat tento post. Pokud znáte lepší způsob, jak, Prosím, zanechte komentář.</Konec>

</Konec>

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

Za mnou na Twitter na http://www.twitter.com/pagalvin

Doplněk Technorati značky: ,