mesačné archívy: Júna 2009

Formulár programu InfoPath Sevices, Overenie založené na formulároch (FBA) a súbory s jedinečnými názvami

Bol som pracovať na niektoré formuláre programu InfoPath tohto týždňa v MACHU v prostredí FBA a naučil, keď som išiel nasadiť formuláre v produkčnom prostredí s FBA zóny ktoré užívateľské meno() Funkcia nefunguje. Bol som pomocou to generovať súbory s jedinečnými názvami.

Dobre, Táto funkcia nefunguje v prostredí FBA (aspoň, nie von z krabice). A, po odraze, pomocou užívateľské meno spôsobom som mal v pláne by zaručili jedinečný názov súboru v každom prípade.

Moje riešenie bolo použitie teraz() Funkcia a pravidlo, že požiare na načítanie formulára. Priradenie názvu súboru na dátový prvok, keď je prázdny:

image

image

Výhodou tohto prístupu je, že názov súboru je nastavená iba raz. (To najavo na obrazovke výstrel, ale dal podmienku pravidla len oheň pri "myFilename" je prázdne). Použil som nastaviť názov súboru na úrovni zdroj údajov. Typicky, By niečo urobiť (zlý) ako toto:

image

Problém s týmto je, že ak používateľ A otvorí formulár na pondelok a používateľ B to v utorok, skončíte s dva rôzne formy pretože dvaja rôzni používatelia uložili s rôznymi menami používateľov.

Takže, ako nepríjemné, ako FBA možno vo všeobecnosti a s programom InfoPath najmä, to ma re-myslieť na malé, ale naozaj dôležité technické detaily a prístup, ktorý by som urobil inak!

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Technorati Tags:

Zabezpečenie zobrazení knižnice SharePoint zoznam dokladu sa zdá (druh) S jQuery

To je iný post v mojej on-prebiehajúcej série ako používať jQuery so službou SharePoint.
Ak sa chcete dozvedieť viac o jQuery, Vrelo odporúčam: jQuery v akcii Medveď Bibeault a Jehuda Katz.

Jedna z prvých vecí, ktoré som si myslel, Akonáhle som začal hrať asi s jQuery, bolo, či by sme mohli použiť na zabezpečenie zobrazenie lokality SharePoint. Odpoveď je "nie" (alebo aspoň, Netvrdím, že je možné). Avšak, to je určite možné, aby bolo ťažké pre ľudí vidieť konkrétne zobrazenie.

Začal som s mojom pieskovisku prostredie, pri práci na tejto. Písal som o životné prostredie, že tu: Rýchle a jednoduché: Vytvorte si vlastné jQuery Sandbox pre SharePoint.

"Zabezpečiť" zobrazenie, postupujte nasledovne:

  1. Vytvoriť zobrazenie, ktoré chcete zabezpečiť. To urobil, a nazval ho "Zabezpečené View".

    To je, ako to vyzerá, keď to nie je "zabezpečené":

    image

  2. Pridať webovú časť editora obsahu do zobrazenie stránky pomocou trik opísaný v článku pieskovisko (tj. Pridať "zobrazenie stránky = zdieľané&ToolPaneView = 2 URL).
  3. Vymyslieť SharePoint _spUserId šialené nasledovne, Verte alebo nie:
    1. Prihláste sa do prostredia SharePoint.
    2. Vo webovom prehľadávači adresu pole, typ: "javascript:Upozornenie(_spUserId").
    3. Rekordný výsledok (je to "13" v mojom prípade).

      image

  4. Pridajte nasledujúci javascript do vášho CEWP v zobrazení kódu:

    <scenár typu ="textu/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </skript>
    
    <scenár typu ="textu/javascript">
      $(Funkcia() {
    
        Upozornenie(_spUserId);
    
        var theSecuredView = $("iframe[FilterLink * = zabezpečené % 20View]');
    
        Ak ((theSecuredView.length > 0) && (_spUserId == 13))
          $("iframe[FilterLink * = zabezpečené % 20View]').rodič().rodič().rodič().HTML("<TR bgcolor = červená><TD>Žiadne zobrazenie pre vás!</TD></TR>");
      });
    
    </skript>
    

Uviedol som záznam(_spUserId) riadok tam preukázať, ako to nie je naozaj "zabezpečenie" zobrazenie, ale jednoducho robiť to ťažšie vidieť. Viac o ktoré za chvíľu.

V podstate, jQuery hľadá iFrame na stránke, ktorá má atribút obsahujúci "20View % zabezpečené" hodnota. Akonáhle to zistí, že, môžeme skontrolovať, či je aktuálny používateľ je "13". Ak je to, Prejdeme sa DOM na <TR> Tag (ktoré som vymyslel podľa prezeranie zdroj a sledovania) a potom nahradiť túto značku TR moje posolstvo. Naozaj neviem, ako silný to je (Som veľmi podozrivý, v skutočnosti), ale to fungovalo v mojom pieskovisko. Ak som nájsť lepší spôsob, ako, Budem blog o tom. Toto je výsledok:

image

Kliknutím na tlačidlo OK a údajov nahrádza s veľké červené správu:

image

Ako môžete povedať, spôsob, akým som vykonávať tento roztok "bezpečnosť" je umožniť webovú časť k tomu, aby sám. Po jeho skončení, Som prepísať jeho obsah s môj "žiadne zobrazenie pre vás!"správa.

Napriek skutočnosti, že to nie je naozaj "zabezpečený" "pohľad, to je potenciálne užitočná a s niektorými chytrý prácu, Nakoniec možno zabezpečiteľný formálnejšie zmysel. Zásadný problém je, že klient získava všetky údaje a potom, až potom dostane dáta, to vytrie. Ak klient získava údaje, šikovný užívateľ môže zabrániť jQuery vôbec a vidieť to, čo chce vidieť.

Existujú iné nedostatky. Toto "zabezpečenia" prístup vychádza z _spUserId. Chceme by naozaj bezpečný na základe plnej model zabezpečenia služby SharePoint, alebo aspoň podľa mena používateľa. To sa stáva postupne ťažšie, ale vidím niektoré dobré veci napísané na túto tému, tak som si nádeje, je to dobrá odpoveď na tento problém.

Zoznam zobrazení, sami by mali byť pristrihnuté, Ak je to možné. Som sa snažil prísť na to. Predpokladám, že je možné, ale naozaj nerieši zásadný bezpečnostný problém, pretože niekto mohol ešte len zadajte adresu URL zobrazenia chcú (keby vedeli, že). Avšak, orezávanie zmysel. Je to funkcia dobrú použiteľnosť a pomáha popliesť veci. Ak koncový používateľ nevie, či Zobraziť udalosti existuje, Oni pravdepodobne nebude snažiť používať. Niekedy, to je dosť dobré.

S trochou šťastia, Budete mať viac písať na túto tému v priebehu času.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Rýchle a jednoduché: Lepší spôsob, ako používať jQuery skryť textové pole vo formulári SharePoint

To je iný post v mojej on-prebiehajúcej série ako používať jQuery so službou SharePoint.
Ak sa chcete dozvedieť viac o jQuery, Vrelo odporúčam: jQuery v akcii Medveď Bibeault a Jehuda Katz.

Predtým, Som písal o tom, ako používať jQuery nájsť a skryť textové pole na formulári. Nemali starať o špecifický prístup (Bola reťazenie rodičov-to je jednoducho nie je v týchto dňoch, aspoň v rodinách kvality).

Keď som prvýkrát začal premýšľať o tom, Vedel som, že som potreboval nájsť <TR> ktoré by mohli vyvolať skryť() metóda. Moja skoro snaha nájsť správne <TR> bolo niečo takého:

$("tr:má(vstup[hlavy = ma skryť!])');

Problém je, že by sa nájsť každý <TR> značku, ktorá ma všetkých nadradeného vzťahu skryť! pole, aj keď ma skryť! je vnorená mnohých úrovniach hlboko v <TR>je. Ukazuje sa, že v mojom formulári na pieskovisko, zistí, že výraz 9 rôzne TR's, ktorí majú ma skryť! ako dieťa niekde v jeho DOM strom. Uvedomil som si, aby mohol chodiť späť do stromu z poľa Vstupný sám, tak to je, ako som skončil zneužíva rodičov, ale to nesadol dobre so mnou.

Dal som nejaký myslel na to a jedna z vecí, som čítal konečne dávalo zmysel: Mohol použiť nie() metóda výbava <TR>to nechcem, aby v mojom zabalený súbor. To ma viedlo k tomuto:

$("tr:má(vstup[hlavy = ma skryť!])').nie("tr:má(TR)').Skryť();

Prvý bit nájde všetky <TR> Tagy, ktoré skryť ma! kdekoľvek v ich vlastnej hierarchie. To potom odstráni akékoľvek <TR> ktoré majú dieťa <TR>. To ponecháva nás s jedným <TR> ktoré:

1) Nemá žiadne <TR> dieťa záznamov

2) Mať vstupné pole ako dieťa.

Potom môžeme použiť skryť() metóda na výsledný nastaviť a sme hotoví.

Som stále trochu nervózny, ale nie nervózny ako reťazenie rodičov.

Neviem, či je to najlepšie, alebo nie. Tam môže byť vhodnejší spôsob identifikácie len <TR> že sme starostlivosť o vo forme SharePoint. Ak poznáte, Prosím post komentár.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Rýchle a jednoduché: Použitie jQuery na skrytie textového poľa vo formulári SharePoint

To je iný post v mojej on-prebiehajúcej série ako používať jQuery so službou SharePoint.
Ak sa chcete dozvedieť viac o jQuery, Vrelo odporúčam: jQuery v akcii Medveď Bibeault a Jehuda Katz.

AKTUALIZÁCIA (už!): Urobil som myslieť na lepší spôsob, ako nájsť <TR> značka chcem sa skryť a písal o tom tu.. Môžete stále nájsť tento článok zaujímavý rovnako tak som leavnig hore.

Chcem sa skryť textové pole, "Ma skryť!"ako je uvedené:

image

Nasledujúcich jQuery robí trik pre mňa:

<scenár typu ="textu/javascript">

  $(Funkcia() {


    $("vstupné[hlavy = ma skryť!]').rodič().rodič().rodič().Skryť();

  });

</skript>

Kód je samozrejmosťou, "nájdete ma všetky vstupné polia ktorého názov = ma skryť!. Potom, dostať svojich rodičov a potom rodič a * ďalej * rodič (Uf!) a vyvolať skryť() metóda na vec, ako sa to stane sa.

Som prišiel na to že materské štruktúre prezeranie HTML formulár SharePoint vytvoril uvedené:

<TR>
    <TD nowrap= "true" valign= "top" šírka= "190px" trieda= "ms-formlabel">
        <H3 trieda= "ms-standardheader">
            <NOBR>Skryť mi!</NOBR>
        </H3>
    </TD>

    <TD valign= "top" trieda= "ms-formbody" šírka= "400px">
        <!-- NázovPoľa = "skryť mi!"
                 FieldInternalName = "Hide_x0020_Me_x0021_"
                 FieldType = "SPFieldText"
        -->
        <span DIR= "none">
            <vstup
                meno= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ textového poľa"
                typ= "text"
                maxLength= "255"
                Identifikácia= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                názov= "Skryť mi!"
                trieda= "ms-dlhé" />
                <br>
        </span>


    </TD>
</TR>

Tento obrázok ukazuje rovnaké, ale označené s rodičmi:

image

Prvá materská (1) je rozpätia tag. Rozpätie je rodič (2) je značka TD a potom konečne sa dostávame k skutočným materská chcem sa skryť (3) čo je TR značku sám.

Je to docela hrozné prístup, myslím, že preto, že je veľmi závislá na veľmi špecifickú štruktúru tohto formulára. Keď SharePoint 2010 vyjde, Táto celá štruktúra by mohla zmeniť a prelomiť tento prístup. Čo naozaj chcem je remeslo jQuery volič, ktorý je v duchu "mi nájsť všetky TR (a len TR Tagy) ktoré majú niekde v ich podradené prvky vstupné pole ktorého názov = ma skryť!”. Počnúc od spodu a pohybujú sa. Za predpokladu, že som prísť na to, Budem post aktualizovaný "rýchle a ľahké" post.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Rýchle a jednoduché: Vytvorte si vlastné jQuery Sandbox pre SharePoint

To je iný post v mojej on-prebiehajúcej série ako používať jQuery so službou SharePoint.
Ak sa chcete dozvedieť viac o jQuery, Vrelo odporúčam: jQuery v akcii Medveď Bibeault a Jehuda Katz.

Začíname pracovať s jQuery v SharePoint je prekvapivo jednoduché (pre mňa). (Mať závažné otázky o "najlepších zvyklostiach" prístup k nasadenie týchto vecí pre výrobu, ale to je na ďalší deň). Práve som začal hrať s touto technológiou, a na tento účel, Vytvoril som pieskovisku prostredie používať. Ak máte záujem začať s jQuery, vám môžu hodiť tento prístup.

1. Vytvorenie prázdnej lokality

Vytvoriť prázdnu lokalitu niekde na vaše stránky a volať to niečo chytrý ako "jQuery pieskovisko".

2. Stiahnuť jQuery

Tu si môžete stiahnuť jQuery javascript knižnice: http://docs.jquery.com/Downloading_jQuery

Okrem toho, že sa na pracovnú plochu.

Já mať been using "minified" verzie.

3. Vytvorenie knižnice dokumentov na lokalite SharePoint

V lokalite pieskovisko, vytvoriť knižnicu dokumentov.

4. Nahrať jQuery knižnice na lokalite SharePoint

Prístup ku knižnici doc ste práve vytvorili, a odovzdajte jQuery knižnice.

5. Vytvorenie vlastného zoznamu

Som začal s vlastným zoznamom, pretože chcem muck asi s štandardných formulárov SharePoint. Môžete tiež vytvoriť stránky v knižnici stránok alebo stránok webových častí a zrejme veľa ďalších miest.

Pridať stĺpce do vlastného zoznamu tak, že máte niečo na spustenie jQuery proti. Moje pôvodné ciele boli:

  1. Skryť pole.
  2. Priradiť hodnotu poľa.

S tohto cieľa v pamäti, Pridal som dve textové polia. V priebehu času, Budem hrať s odkazmi, obrázky, vyhľadávanie, atď.

6. Upraviť stránku NewForm.aspx webovej časti a pridajte webovú časť Editor obsahu

Je to malá čierna magic-ish , v tom je nový pojem, ktorý mi. Som sa prvýkrát dozvedel o tomto zo Paul Grenier, SharePoint jQuery Superstar, v jeho CodePlex projektovej lokality: http://spff.codeplex.com/.

Postupujte podľa nasledujúcich krokov pridať CEWP na stránke, ktorá zobrazuje NewForm.aspx vlastného zoznamu:

  1. Vlastný zoznam a kliknite na tlačidlo nové.
  2. Pridať nasledujúce URL: Zobrazenie stránky = zdieľané&ToolPaneView = 2

Ktorý bude transformovať vaše nudné vanilkový formulár na zadávanie údajov z niečoho takého:

image

K tomuto:

image

Pridanie webovej časti editor obsahu na stránku.

7. Napísať váš prvý jQuery kód

Otvoriť tento CEWP v zobrazení kód a pridať nasledujúce:

image

Tu je aktuálny kód, ak chcete kopírovať/vložiť:

<scenár typu ="textu/javascript"
    src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
</skript>

<scenár typu ="textu/javascript">
  $(Funkcia() {

    $("#resultsID").HTML("Sú" + $("").veľkosť() + "značky značky na tejto stránke.");

  });
</skript>

Výsledok:
<konto div id ="resultsID"></DIV>
/výsledok

Všimnite si, že prvý <skript> značka je odkazovanie skutočné jQuery knižnice. Pravdepodobne, tieto veci zmenu v priebehu času, Takže budete chcieť, aby sa ubezpečil, ste) Použite správny názov a b) ukážte na správne knižnice dokumentov lokality SharePoint.

Slniť na sláve

Ak ste urobili správne, uvidíte výsledok podobný nasledovnému:

image

Balil

To nie je jediný spôsob, ako začať, ale je to rýchle, jednoduché a izolovane od existujúceho prostredia SharePoint.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Rýchle a jednoduché: Použitie jQuery nastaviť A textové hodnoty poľa vo formulári SharePoint

Začal som hrať s jQuery včera. Bol som chcel urobiť na dlhú dobu, od tej doby Paul Grenier začal písať jeho série o jQuery pre koncových užívateľov na úctyhodný www.endusersharepoint.com webové stránky. Ako môžem použiť, Dúfam, že pridať rad "Rýchla a ľahké" príspevky ako je tento. Tento príspevok Popisuje nastavenie známe textového poľa hodnotu na čokoľvek chcete.

V tomto scenári, Vytvoril som vlastný zoznam, ktorého "novú" podobu vyzerá ako je uvedené:

image

Ide o novú formu vlastného zoznamu s predvolený názov stĺpca a dva stĺpce zoznamu (nie stĺpce lokality; Nemyslím si, že by malo byť žiadny rozdiel).

Cieľom je priradiť na ľubovoľnú hodnotu poľa, "DefaultMeFieldNoSpaces" (môžete povedať, som trochu zbabelec "medzery" vec deje, ale korenie to na konci tohto článku).

Tento bit jQuery pracoval pre mňa:

<scenár typu ="textu/javascript">

  $(Funkcia() {

    $("vstupné[názov = DefaultMeFieldNoSpaces]').attr(
        {hodnota: "Ste v kľukatých bludisko chodieb, Všetci rovnakí. "});

  });

</skript>

Ako som pochopil, že tento bit jQuery hovorí, "nájsť mi žiadne vstupné značku ktorého názov = DefaultMeFieldNoSpaces. Potom, Nastavte všetky ich hodnoty na slávnu vetu z staré počítačové hry."

Vzhľadom k tomu, že tam bude iba jedno pole formulára s názvom rovná "DefaultMeFieldNoSpaces" sme istí preradiť hodnotu do tohto poľa a žiadne iné.

A čo pole, ktorého názov obsahuje medzery? Je to takmer rovnaké:

<scenár typu ="textu/javascript">

  $(Funkcia() {
     $("vstupné[hlavy = priradenie poľa s priestor]').attr(
        {hodnota: "Ste v kľukatých bludisko chodieb, Všetci rovnakí. "});

  });

</skript>

Myslím, že je to pomerne bezpečný prístup, čo znamená, že by sme mali byť schopní nájsť poľom, ktoré chceme a len chceme. Ak sa pozriete na HTML SharePoint nám, je trochu chaotický:

<vstup
meno= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ textového poľa"
typ= "text"
maxLength= "255"
Identifikácia= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
názov= "DefaultMeFieldNoSpaces"
trieda= "ms-dlhé"
/>

"titul" vystupuje ako rozpoznateľné a dúfajme jedinečný atribút nám pomáhajú identifikovať určitý stĺpec, ktorý chceme priradiť naše ľubovoľnú hodnotu.

Je to prazákladní koncept. Nastavenie poľa svojvoľným spôsobom, ako to nie je chcel vyhrať žiadne ceny. Avšak, Ak chceme robiť zaujímavejšie forme úrovni veci (ktorých každý z nás vždy chcel urobiť, samozrejme, hneď potom, čo sme dokončiť, umývanie riadu), ako zmeniť hodnotu "pole b" automaticky na základe hodnoty "pole", sme (SOM) je potrebné sa učiť tieto veci.

Myslím, že naše najlepšie šance získať skutočný úžitková hodnota tu je cez titul, aspoň pre textové polia. Tam môže byť lepšie, spoľahlivejší prístup. Ak sa mi to, Budem aktualizovať tento príspevok. Ak poznáte lepší spôsob, ako, Prosím, zanechajte komentár.</koniec>

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin