Kuu arhiivid: Juuni 2009

InfoPathi vormi ripplae, Vormide põhinev autentimine (FBA) ja kordumatu failinimed

Ma olen olnud mõned InfoPathi vorme sel nädalal MOSS FBA keskkonnas töötavad ja õpitud, kui ma läksin kasutada tootmise keskkond, kus on FBA vormid tsooni et kasutajanimi() funktsiooni funktsioon ei tööta. Olin seda kasutada luua unikaalne failinimed.

Hästi, See funktsioon ei tööta FBA keskkonnas (vähemalt, ole karbist). Ja, pärast järelemõtlemisaega, kasutades kasutajanimi oli kavas viis ei oleks taganud kordumatut failinime või mingil.

Minu lahendus oli nüüd kasutada() funktsiooni ja reegel, mis tulekahjud vormi laadimine. Ma määrata failinime andmeelemendi kui on tühi:

image

image

Selle lähenemise eeliseks on, et failinime paneks ainult üks kord. (Ära kuva ekraanipilt, Aga pane tingimus reegel ainult tulekahju, kui "myFilename" on tühi). Ma kasutasin määrata failinime tasandil andmete allikas. Tavaliselt, Ma teeksin midagi (Paha) Nagu see:

image

Mis probleem on, et kui kasutaja A vormi avab esmaspäeval ja kasutaja B muudab teisipäeval, te saate lõpuks koos kahel erineval kujul pärast kahe eri kasutaja salvestamist koos erinevate kasutajanimede.

Nii, nagu tüütu nagu FBA võib üldiselt ja InfoPath eelkõige, See pani mind ümber mõtlema, väike, kuid väga olulisi tehnilisi üksikasju ja lähenemine, mis ei oleks teinud teisiti!

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Technorati Tags:

Tagamise SharePointi loendi või dokumendi Raamatukogu vaatamist tundub (omamoodi) Võimalik koos jQuery

See on teisele ametikohale minu pideva seeria Kuidas kasutada jQuery SharePointiga.
Kui soovite lisateavet jQuery, Ma väga soovitada: jQuery huviorbiidis Karu Bibeault ja Yehuda Katz.

Üks esimesi asju, mida ma arvasin, et, kui ma hakkasin mängima koos jQuery, oli, kas me võiks seda kasutada turvalise SharePointi vaade. Vastus on "ei" (või vähemalt, Ma olen väites, on võimalik). Aga, kindlasti saab olla raske inimesi näha eriti silmas.

Hakkasin minu Liivakasti keskkonnas töötamisel see. Ma kirjutasin siin keskkonnas: Kiire ja lihtne: Loo oma jQuery Liivakasti SharePointi jaoks.

"Tagada" vaade, Tehke:

  1. Soovite turvalist vaate loomine. Ma tegin seda ja nimetas seda "Kaitstud vaade".

    See on, mida ta näeb välja nagu kui see ei ole"":

    image

  2. Sisuredaktori veebiosa lisamine ning Vaata page kasutavad Liivakasti artiklis kirjeldatud trikk (St. Lisage "kuvamise = jagatud&ToolPaneView = 2 "URL).
  3. Aru saada teie SharePointi _spUserId hull toimides, Uskuge või mitte:
    1. Logige oma SharePoint keskkond.
    2. Brauseri aadressi väljale, tüüp: "javascript:märguanne(_spUserId").
    3. Tulemus (See on minu puhul "13").

      image

  4. Lisada järgmine javascript kood vaadata oma CEWP:

    <script tüüp ="teksti/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </skripti>
    
    <script tüüp ="teksti/javascript">
      $(funktsioon() {
    
        märguanne(_spUserId);
    
        var theSecuredView = $("iframe[FilterLink * = turvatud % 20View]');
    
        Kui ((theSecuredView.length > 0) && (_spUserId == 13))
          $("iframe[FilterLink * = turvatud % 20View]').vanem().vanem().vanem().HTML("<TR bgcolor = punane><TD>Vaadet pole teie jaoks!</TD></TR>");
      });
    
    </skripti>
    

Olen lisanud selle hoiatusteate(_spUserId) line seal näidata, kuidas see ei ole tõesti mõne "tagamise" vaade, aga lihtsalt muutes raskemaks näha. Rohkem sellest hetkel.

Põhimõtteliselt, jQuery otsib IFRAME'i lehel, kes on atribuut, mis sisaldab "Kinnine % 20View" oma väärtuses. Kui ta peab, kontrollime, kas praegune kasutaja on "13". Kui see on, Meil kυndida kuni DOM-a <TR> Tag (mida ma arvasin lähtekoodi ja jälgida selle) ja siis asendades TR sildiga minu sõnum. Ma tõesti ei tea, kuidas tugev see on (Ma olen väga kahtlane, Tegelikult), Aga see töötas minu liivakast. Kui ma leida parem viis, Ma võtan blogi. See on tingitud:

image

Klõpsake nuppu OK ja andmed on asendatud suur punane kiri:

image

Kui saan öelda, Ma olen rakendada viis "Turvalisus" lahendus on lubada veebiosa renderdamiseks ise. Pärast töö, Selle sisu saalefailiga minu "vaadet pole teie jaoks!teade".

Vaatamata sellele, et see ei ole tõesti on "turvaline" "vaade, See on potentsiaalselt kasulik ja mõned targad tööd, Lõpuks võib turvatavale ametlikuma mõttes. Põhiküsimus on, et klient on saada kõik andmed ja seejärel, ainult siis, kui see muutub andmete, See purgis läbi. Kui klient on andmete toomine, nutikas kasutaja saab vältida jQuery käivitamist üldse ja näha, mida ta soovib, et.

On muud puudused. "Turvalisus" lähenemine põhineb off on _spUserId. Me tahaks et põhineb väga turvaline täis SharePointi julgeolekumudeli, või vähemalt kasutajanime järgi. Mis muutub järk raskem, kuid ma ei näe mõned head kraami kirjutada sel teemal, nii et ma olen lootusrikas on hea vastus sellele probleemile.

Tahutud enda vaadete loend, võimaluse korral. Ma ei ole püüdnud aru saada. Eeldan, et on võimalik, aga tõesti ei lahenda põhiõiguste julgeoleku küsimus, sest keegi ikka lihtsalt tippige URL, nad tahavad vaadata (kui nad teadsid seda). Aga, korrastamine mõtet. See on hea ligipääsetavuse ja aitab hägustab asju. Kui lõppkasutaja ei tea olemas view event, nad ilmselt ei proovi seda kasutada. Mõnikord, See on piisavalt hea.

Luck, Ma pean veel kirjutada sel teemal ajas.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Kiire ja lihtne: Parem viis kasutada jQuery tekst SharePoint vormi välja peitmine

See on teisele ametikohale minu pideva seeria Kuidas kasutada jQuery SharePointiga.
Kui soovite lisateavet jQuery, Ma väga soovitada: jQuery huviorbiidis Karu Bibeault ja Yehuda Katz.

Varem, Kirjutasin, kuidas kasutada jQuery Leidke ja peitmine teksti väli vormil. Ma ei hoolinud konkreetset lähenemist (Mul oli Aheldamise vanemad – see on lihtsalt ei tehta tänapäeval, vähemalt kvaliteedi peredes).

Kui ma kõigepealt alustas mõelda, Ma teadsin, et mul on vaja leida a <TR> millele võiks tugineda nahk() meetod. Minu varajase jõupingutusi, et leida õige <TR> oli midagi sellist:

$("tr:on(sisend[pealkiri = Peida mind!])');

Mis probleem on, et ta leiaks iga <TR> silt oli et nahk suhted vanematega mulle! väli, isegi kui ära peita! on pesastatud mitmel tasandil sügaval <TR>'s. Tuleb välja, et minu Liivakasti vormi, väljendi leiab 9 erinevad TR's kes on ära peita! lapsena kuskil DOM puu. Mõistsin, et ma võiks kõndida tagasi üles puu ise välja:, nii see on, kuidas päädyin kuritarvitab vanemad, kuid see ei istu hästi minuga.

Andsin sellele mõtlema ja üks asi, ma lugesin lõpuks tehtud tunne: Ma kasutan ei ole() meetodi välja lõigata <TR>Ma ei taha minu pakendatud komplekt 's. Mis sundis mind seda:

$("tr:on(sisend[pealkiri = Peida mind!])').ei("tr:on(TR)').Peida();

Esimene bit leiab kõik selle <TR> Sildid, mis on Peida mind! välja kõikjal, kus oma hierarhia. Ta seejärel ribadeks igasuguse <TR> mis on ka lapse <TR>. See jätab meile ühe <TR> mis:

1) Ei ole <TR> tütarkirjed

2) Kui laps on sisestusväljas.

Me siis kohaldatakse nahk() meetodi tulemuseks määra ja me oleme valmis.

Ma olen ikka natuke närvis, kuid mitte nii närvis nagu Aheldamise vanemad.

Ma ei tea, kas see on hea tava või mitte. Võib esineda tõhusamalt teha kindlaks just selle <TR> et me hoolime SharePointi kujul. Kui sa tead, Palun postitage kommentaar.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Kiire ja lihtne: Kasutada jQuery tekst SharePoint vormi välja peitmine

See on teisele ametikohale minu pideva seeria Kuidas kasutada jQuery SharePointiga.
Kui soovite lisateavet jQuery, Ma väga soovitada: jQuery huviorbiidis Karu Bibeault ja Yehuda Katz.

VÄRSKENDUS (juba!): Ma ei mõtle parem viis leida ning <TR> Ma tahan Peida tag ja kirjutasin sellest siin. Veel leiate käesoleva artikli huvitav Igatahes nii ma olen leavnig see üles.

Ma tahan Peida tekstiväli, "Peida mind!"nagu näidatud:

image

Järgmised jQuery ei petta mind:

<script tüüp ="teksti/javascript">

  $(funktsioon() {


    $("sisend[pealkiri = Peida mind!]').vanem().vanem().vanem().Peida();

  });

</skripti>

Kood ütleb, "Otsi mulle kõik sisendi väljade mille pealkiri = Peida mind!. Seejärel, saa oma vanema ja seejärel next emaettevõte ja selle * edasi * vanem (Phew!) ja tugineda nahk() meetodiga, et asi, mis iganes see juhtub olema.

Ma arvasin et vanem struktuuri vaadates HTML SharePointi loodud esitatud vormi:

<TR>
    <TD nowrap= "true" valign= "populaarseimate" laius= "190px" klass= "ms-formlabel">
        <H3 klass= "ms-standardheader">
            <NOBR siduda>Peida mind!</NOBR siduda>
        </H3>
    </TD>

    <TD valign= "populaarseimate" klass= "ms-formbody" laius= "400px">
        <!-- Väljanimi = "Peida mind!"
                 FieldInternalName = "Hide_x0020_Me_x0021_"
                 FieldType = "SPFieldText"
        -->
        <span dir= "puudub">
            <sisend
                Nimi= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
                tüüp= "tekst"
                maxlength= "255"
                ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                pealkiri= "Peida mind!"
                klass= "ms-pikk" />
                <br>
        </span>


    </TD>
</TR>

See pilt näitab sama, kuid märgitakse vanemad:

image

Esimesele ema (1) on span tag. Span's vanem (2) on TD tag ja siis lõpuks saame tõeline ema ma tahan Peida (3) mis on TR tag.

See on päris kohutav lähenemine, ma arvan, sest see on äärmiselt sõltuv selle vormi väga spetsiifilist struktuuri. Kui SharePointi 2010 välja tuleb, kogu struktuur võiks muuta ja murda see lähenemine. Mida ma tõesti tahan teha on käsitöö jQuery valijat, mis on sarnaselt "Leia mind kõik TR (ainult TR Sildid) mis on kusagil nende tütarelemendid sisendi välja mille pealkiri = Peida mind!”. Alustades alt ja liikumisel. Eeldades, et ma aru saada,, Ma pärast ajakohastatud "Kiire ja lihtne" post.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Kiire ja lihtne: Loo oma jQuery Liivakasti SharePointi jaoks

See on teisele ametikohale minu pideva seeria Kuidas kasutada jQuery SharePointiga.
Kui soovite lisateavet jQuery, Ma väga soovitada: jQuery huviorbiidis Karu Bibeault ja Yehuda Katz.

Alustamine: jQuery SharePoint on üllatavalt lihtne (Mulle). (Mul on tõsiseid küsimusi "heade tavade" lähenemisviisi rakendades neid asju tootmine, kuid see on teisele päevale). Olen lihtsalt hakanud mängima selle tehnoloogia ja selleks, Olen loonud Liivakasti keskkonna kasutamiseks. Kui otsite alustada koos jQuery, võite leida seda lähenemist kasulik.

1. Saate luua tühja saidi

Luua tühja saidi kusagil saidile ja nimetada seda midagi nagu "jQuery Liivakasti" targad.

2. Lae jQuery

JQuery javascript Raamatukogu saab alla laadida siit: http://docs.jquery.com/Downloading_jQuery

Salvesta see töölauale.

Ma olen kasutanud "minified" versioon.

3. SharePointi dokumenditeegi loomine

Saidi liivakast, Saate luua dokumenditeegi.

4. JQuery Raamatukogu üleslaadimine SharePointi

Juurdepääs äsjaloodud doc raamatukogu ja jQuery Raamatukogu.

5. Kohandatud SharePointi loendi loomine

Olen hakanud uue kohandatud loendi sest ma tahan muckida SharePoint standardvormid. Saate ka luua lehe lehtede teegis või veebiosalehti ja ilmselt palju teisi kohti.

Kohandatud loendi veerge lisada, nii et on midagi käivitada jQuery vastu. Minu esialgne eesmärk oli:

  1. Peida väli.
  2. Välja väärtuse määramine.

Seda eesmärki silmas, Lisasin kaks tekstiväljad. Aja jooksul, Ma mängida koos linkidega, pildid, otsingud, jne.

6. Saate muuta NewForm.aspx veebiosaleht ja sisuredaktori veebiosa lisamine

See on väike must magic-ish , selles on mulle uus kontseptsioon. Esmalt õppisin sellest alates Paul Grenier, SharePointi jQuery superstaar, tema CodePlex projekt veebilehekülg: http://spff.codeplex.com/.

Järgmiste juhiste abil lisada ka CEWP samal lehel, mis kuvab NewForm.aspx kohandatud loend:

  1. Kohandatud loend ning klõpsake suvandil Uus.
  2. Lisab URL: Kuvamise = jagatud&ToolPaneView = 2

Mis muudab teie igav vanilje andmesisestusvormi midagi taolist:

image

Sellele:

image

Lehele sisuredaktori veebiosa lisamine.

7. Kirjutage teie esimene jQuery kood

Avavad selle CEWP kood vaadata ja lisada järgmise:

image

Siin on tegelik koodi, kui soovite kopeeri/kleebi:

<script tüüp ="teksti/javascript"
    src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
</skripti>

<script tüüp ="teksti/javascript">
  $(funktsioon() {

    $('#resultsID').HTML('On' + $("a").suurus() + "a siltide sildid sellel lehel.");

  });
</skripti>

Tulemus:
<div id ='resultsID'></DIV>
/tulemus

Pange tähele, et esimene <skripti> Tag on viitamine tegelik jQuery Raamatukogu. Arvatavasti, need asjad muutuvad aja jooksul, nii et sa tahad veenduge, et teil on) Kasutage õige nimi ja b) punkt see õige SharePointi dokumenditeek.

Peesitama hiilgus

Kui sa seda õigesti, näete järgmisele sarnast tulemust:

image

Kokkuvõtteks

See ei ole ainus viis alustada, Aga see on kiire, lihtne ja isoleeritud hinne olemasolevaid SharePointi keskkond.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Kiire ja lihtne: Kasutage jQuery seatud A tekst välja väärtuse SharePointi vormi

Hakkasin mängides jQuery Eilsed. Olen olnud tahavad teha pikka aega, sellest ajast Paul Grenier hakkasin kirjalikult tema seeria umbes kell on auväärne lõppkasutajate jaoks jQuery www.endusersharepoint.com veebisaidi. Kui ma kasutan seda, Loodan, et lisada rida "Kiire ja lihtne" postitusi nagu see üks. See postitus kirjeldab, kuidas seatud teadaolevate teksti välja väärtuse ükskõik mida tahad.

Selle stsenaariumi, Olen loonud kohandatud loendi, kelle "uus" vorm tundub, nagu näidatud:

image

See on uus vorm kohandatud loendi vaikimisi valitav veerg ja kaks loendi veerud (saidi veerud; Ma ei usu, see tuleks teha vahet).

Eesmärk on määrata suvalise väärtusega väli, "DefaultMeFieldNoSpaces" (võite öelda, ma olen natuke argpüks "tühikuid" asi toimub, kuid ma vürtsi see välja käesoleva artikli lõpus).

See töötas minu jaoks jQuery natuke:

<script tüüp ="teksti/javascript">

  $(funktsioon() {

    $("sisend[pealkiri = DefaultMeFieldNoSpaces]').attr(
        {väärtus: "Sa oled kurviline Maze lõigud, kõik samasugused. "});

  });

</skripti>

Nagu ma aru saan see natuke jQuery ütleb, "Leia mind sisend tag mille pealkiri = DefaultMeFieldNoSpaces. Seejärel, seatud kõigi nende väärtuste kuulsa fraasi: vana arvuti mäng."

Kuna seal on ainult võrdne üks väli vormi pealkiri "DefaultMeFieldNoSpaces" oleme paigutada väärtuse väljalt kindlustatud ja ükski teine.

Kuidas on lood välja, mille nimi on tühikuid? See on peaaegu sama:

<script tüüp ="teksti/javascript">

  $(funktsioon() {
     $("sisend[pealkiri = määrata välja koos ruumi]').attr(
        {väärtus: "Sa oled kurviline Maze lõigud, kõik samasugused. "});

  });

</skripti>

Ma arvan, et see on üsna ohutu lähenemine, tähendab, et me peaks olema võimalik leida väljade, mida tahame ja ainult soovime. Kui te vaatate HTML SharePointi annab meile, See on omamoodi räpane:

<sisend
Nimi= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
tüüp= "tekst"
maxlength= "255"
ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
pealkiri= "DefaultMeFieldNoSpaces"
klass= "ms-pikk"
/>

"pealkiri" paistab silma kui äratuntav ja loodetavasti unikaalne atribuut aitavad meil kindlaks määrata meie Suvaline väärtus soovime kindlas veerus.

See on foundational kontseptsioon. Välja seadmine meelevaldne nii, nagu see ei kavatse võita kõik auhinnad. Aga, Kui me tahame teha huvitavamaks vormi tasemel kraami (kõik meist on alati mõttekas teha, Muidugi, kohe pärast seda, kui me lõpetame selle nõusid), nagu "välja b" põhjal automaatselt väärtus väärtust muuta "välja ka", Me (MA) on vaja teada neid asju.

Arvan, et meie parim võimalus saada tegelik kasulik väärtus on tiitel teel, vähemalt teksti väljade. Võib olla parem, usaldusväärsema lähenemisviisi. Kui mulle on, Ma ajakohastavad seda postitust. Kui tead paremini, palun jäta kommentaar.</lõpp>

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin