Kategorija Arhiv: jQuery in SharePoint

Nagel odlagališče: Dodajanje jQuery na strani MOSS za objavljanje

Ko povečanje MOSS publising strani z uporabo jQuery, Zadel sem naslednje hitrosti Čvoruga:

Pomočnik zmota v ' /’ Uporaba.


Napaka razčlenjevalnika

Opis: Napaka pri razčlenjevanju sredstvo, ki bi oskrboval to zahtevo. Prosimo, preglejte naslednje posebne Razčlenitvena napaka podrobnosti in spremenite izvorno datoteko ustrezno.

Razčleniti zmota vest: So dovoljena le kontrolnike vsebine neposredno na strani z vsebino, ki vsebuje kontrolnike vsebine.

Izvor napake:

 
Line 10: 
Line 11: 
Line 12: <script 
Line 13:     type="text/javascript" 
Line 14:     src="/jQuery/jquery-1.4.min.js"> 

Izvorne datoteke: /_catalogs/masterpage/KCC_FacultyMember.aspx    Line: 12


Informacije o različici: Microsoft .NET Framework, različica:2.0.50727.4927; ASP.NET različica:2.0.50727.4927

To je enostavno dovolj, da se določi (h/t do kolega, Uday Ethirajulu).  Bodite prepričani, da jQuery koda živi znotraj "PlaceHolderAdditionalPageHead", kot je prikazano:

<ASP:Vsebine ContentPlaceholderID = "PlaceHolderAdditionalPageHead" runat = "strežnik">

<skript

    Type = text/javascript""

    src="/jQuery/jQuery-1.4.min.js">

</skript>

<skript type = "text/javascript">

  $(dokument).pripravljena(Funkcija() {

   // Briljantno jQuery stvari gre tukaj.

   });

</skript>

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

V hvalo jQuery izboljšano iskanje-kot-vi-stavek (z Jan Tielens)

Delam na BPOS demo (kmalu na voljo gor na Microsoft's site) in sem hotel malo elegantnejše. Poznam že o Jan Tielen prizadevanja za precej časa in mislil, bi bilo super tehniko za dodajanje demo, tako sem. Si lahko preberete o tem tukaj: http://weblogs.asp.net/jan/archive/2009/07/02/sharepoint-search-as-you-type-with-jquery.aspx. To je tako preprost za uporabo je treba verjetno kaznivo dejanje (in morda je nekje).

Dodam samo dve točki, da je že ustvaril / pisal o:

  1. To does, v bistvu, delo v a BPOS (SharePoint online) okolje.
  2. Da bi bilo delo brez siten ljudstvo sporočilo predpono sklicevanje na jquery knjižnico s https namesto http, kot v:
<skript tipa ="text/javascript" src ="https://Ajax.googleapis.com/Ajax/libs/jQuery/1.3.2/jQuery.min.js"></skript>

Jan opozarja, da ste verjetno preselila knjižnica na vašo spletno stran. Občutek malo leni danes, I decided to blog about it instead 🙂

</namen>

To je še en post v mojem tekoče series kako uporabljati jQuery s SharePointom.
Če želite izvedeti več o jQuery, Toplo priporočam: jQuery v akciji Bibeault medved in Yehuda Katz.

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Technorati Tags:

Zavarovanje SharePointovega seznama/dokumenta knjižnice poglede se zdi (neke vrste) Mogoče z jQuery

To je še en post v mojem tekoče series kako uporabljati jQuery s SharePointom.
Če želite izvedeti več o jQuery, Toplo priporočam: jQuery v akciji Bibeault medved in Yehuda Katz.

Ena od prvih stvari, ki sem mislil, ko sem začel igrati z jQuery, je bil ali bi lahko uporabili za zavarovanje v SharePointov pogled. Je odgovor "ne" (ali vsaj, Ne sem trdila, da je mogoče). Vendar, To je zagotovo mogoče, da bi bilo težko za ljudi, da vidijo zlasti.

Sem začel z mojo sandbox okolju, ko delajo na tem. Sem pisal o tem okolju tukaj: Hitro in enostavno: Ustvarite svojo lastno jQuery Sandbox za SharePoint.

"Zavarovati" pogled, sledite tem korakom:

  1. Ustvarite pogled, ki ga želite varno. Sem storil in pozval, da "Zavarovane pogled".

    To je, kako izgleda ko to ni "zavarovana":

    image

  2. Dodajte spletni gradnik urejevalnika vsebine v pogledu strani using ukana, opisano v članku prodajelec peska (i.e. Dodaj "ogleda = v skupni rabi&ToolPaneView = 2" v URL).
  3. Razbrati SharePoint _spUserId z naslednjim korakom nor, verjeti ali ne:
    1. Prijavite v vašem okolju SharePoint.
    2. V polje naslov spletnega brskalnika, vrsta: "javascript:Opozorilo(_spUserId").
    3. Zapis rezultat (To je "13", v mojem primeru).

      image

  4. Sledeč javascript dodati vaš CEWP v pogled kode:

    <scenarij vrsta ="text/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </skript>
    
    <skript tipa ="text/javascript">
      $(Funkcija() {
    
        Opozorilo(_spUserId);
    
        var theSecuredView = $("iframe[FilterLink * = zavarovane % 20View]');
    
        Če ((theSecuredView.length > 0) && (_spUserId == 13))
          $("iframe[FilterLink * = zavarovane % 20View]').staršev().staršev().staršev().HTML("<tr bgcolor = rdeča><TD>Noben pogled za vas!</TD></tr>");
      });
    
    </skript>
    

Sem vključen to opozorilo(_spUserId) vrisati tam dokazati, kako to ni res a "zavarovanje" pogled, ampak preprosto zaradi česar je težje videti. Več o tem v trenutku.

V bistvu, jQuery išče iFrame na strani, ki ima atribut, ki vsebuje "Secured % 20View" v njegovo vrednost. Ko ga najde, preverimo, ali je trenutni uporabnik "13". Če je, hodimo od DOM v a <TR> Tag (ki sem pogruntal z ogledom vir in sledenje je) in nato zamenjavo to oznako TR z moje sporočilo. Res ne vem, kako močna je (Jaz sem zelo sumljivo, v bistvu), šele to obdelan v svoj peskovnik. Če se mi zdi boljši način, Bom blog o tem. To je rezultat:

image

I kliknite na gumb OK in podatki nadomesti s velik rdeče vest:

image

Kot veste, način, ki sem izvajati ta "varnost" rešitev je omogočiti spletnemu gradniku, da postane sam. Ko se konča, Sem prepisal njeno vsebino z moje "ne Poglej zate!"sporočilo.

Kljub dejstvu, da to ni res a "zavarovane" "pogled, je potencialno koristnih in z nekaj pameten dela, Sčasoma je mogoče zaščititi v bolj formalnem pomenu. Temeljno vprašanje je, da je stranka dobili vse podatke in nato, šele, ko dobi podatke, to obrisati to jasno. Če odjemalec je pridobivanje podatkov, pameten uporabnik lahko jQuery preprečiti izvajanje sploh in videti, kaj on/ona želi, da.

Obstajajo druge pomanjkljivosti. Ta "varnost" pristop temelji off a _spUserId. Mi bi rad zares varno na podlagi polno SharePoint varnostni model, ali vsaj uporabniško ime. Da postane postopoma težje, ampak vidim nekaj dobrih stvari, napisal na to temo, tako sem upa, je dober odgovor na ta problem.

Seznam pogledov, sami se obrezuje, Če je mogoče. Nisem poskušal ugotoviti. Predvidevam, da je mogoče, ampak res ne rešuje temeljnih varnostno vprašanje, ker nekdo lahko vedno samo vnesite URL pogleda hočejo (Če bi vedeli). Vendar, obrezovanje je smiselno. To je a dober uporabnost zunanja oblika in pripomore k Pomutiti stvari. Če končni uporabnik ne ve, da obstaja pogled dogodek, verjetno ne bo začeti rabiti to. Včasih, To je dovolj dober.

Z malo sreče, Bomo imeli več pisati o tej temi skozi čas.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Hitro in enostavno: Boljši način za uporabo jQuery skriti polje z besedilom na obrazcu SharePoint

To je še en post v mojem tekoče series kako uporabljati jQuery s SharePointom.
Če želite izvedeti več o jQuery, Toplo priporočam: jQuery v akciji Bibeault medved in Yehuda Katz.

Prej, Sem pisal o tem, kako uporabljati jQuery in najti skriti polje z besedilom v obrazcu. Jaz ne skrbi za poseben pristop (Bil verižni starši-to je preprosto ni naredil te dni, vsaj v družinah kakovosti).

Ko sem prvič začel razmišljati o tem, Sem vedel, sem rabil najti a <TR> ki lahko uveljavlja skriti() metoda. Moje zgodnje prizadevanja poiskati pravilno <TR> je bilo kaj takega:

$("tr:je(vnos[naslov = Skrij Me!])');

Problem s tem je, da bi našli vsak <TR> oznako, da je vsak odnos staršev da Skrij Me! polje, tudi če Skrij Me! je ugnezden več ravneh globoko v <TR>je. Izkazalo se je, da v sandbox obrazcu, ugotovi, da izraz 9 različnih TR osebe ki imajo Skrij Me! kot otrok nekje v svoj DOM drevo. Sem spoznal, da lahko hodim nazaj gor drevo iz vnosnega polja, sama, tako to je, kako sem končal zlorablja starši, ampak to ni sedel, tudi z mano.

Sem dal nekaj misli na to in ena od stvari sem prebral končno občutka: Lahko uporabite ne() metoda za trim <TR>je ne želim po mojem zaviti, ki. Ki me je pripeljala do to:

$("tr:je(vnos[naslov = Skrij Me!])').ne("tr:je(tr)').Skrij();

Prvi bit najde vse v <TR> oznake, ki so skriti Me! področju kjerkoli v svojo lastno hierarhijo. Potem trakov iz katerega koli <TR> ki imajo tudi otroka <TR>. Ta pušča nas z eno <TR> ki:

1) Nima <TR> podrejeni zapisi

2) So vnosno polje kot otrok.

Nato nanesemo Skrij() metoda, ki izhajajo iz in smo končali.

Jaz sem še vedno malo živčen, to, vendar ni nervozen kot verižni starši.

Ne vem, če je to priporočljivo ali ne. Morda bolj primeren način za ugotavljanje le na <TR> da skrbimo v obliki SharePoint. Če veste, prosim pokomentirajte.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Hitro in enostavno: Uporabo jQuery skriti polje z besedilom na obrazcu SharePoint

To je še en post v mojem tekoče series kako uporabljati jQuery s SharePointom.
Če želite izvedeti več o jQuery, Toplo priporočam: jQuery v akciji Bibeault medved in Yehuda Katz.

POSODOBITEV (že!): Jaz mislim boljši način poiskati v <TR> Tag želim skrivati in pisal o tem tukaj. Lahko še vedno najdete članek zanimiv nekako tako sem leavnig to ki gre gor.

Želim, da se skriti polje z besedilom, "«Skrij Me!"kot je prikazano:

image

Naslednje jQuery does ukana navzlic:

<skript tipa ="text/javascript">

  $(Funkcija() {


    $("vhodni[naslov = Skrij Me!]').staršev().staršev().staršev().Skrij();

  });

</skript>

Šifra rek, "Najdi me vse input polja čigar naslov = Skrij Me!. Nato, dobili svoje nadrejene in nato next staršev in na * naslednji * staršev (Fuj!) in priklicati Skrij() metoda na to stvar, karkoli se zgodi, da.

Sem pogruntal, da matično strukture z ogledom HTML obrazec, ki je ustvaril SharePoint, kot je prikazano:

<TR>
    <TD nowrap= "true" vAlign= "top" širina= "190px" razred= "ms-formlabel">
        <H3 razred= "ms-standardheader">
            <NOBR>Skrij Me!</NOBR>
        </H3>
    </TD>

    <TD vAlign= "top" razred= "ms-formbody" širina= "400px">
        <!-- Imepolja = "Skrij Me!"
                 FieldInternalName = "Hide_x0020_Me_x0021_"
                 FieldType = "SPFieldText"
        -->
        <razpon dir= "nič">
            <vnos
                ime= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
                vrsta= "besedilo"
                MaxLength= "255"
                ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                naslov= "Skrij Me!"
                razred= "ms-dolgo" />
                <br>
        </razpon>


    </TD>
</TR>

Ta slika prikazuje isto, ampak označeni z starši:

image

Prvi nadrejeni (1) je span tag. Razpon je matično (2) TD oznaka in potem, končno smo prišli do realnega staršev želim skrivati (3) ki je TR oznako sama.

To je precej grozno pristop, mislim, da zato, ker je zelo odvisna od zelo posebno sestavo tega obrazca. Ko SharePoint 2010 pride ven, to celotno strukturo lahko spremenite in prekinil ta pristop. Kaj sem res hotel narediti je plovilo jQuery Selektor, ki je po vzoru "Poišči mi vseh TR (in samo TR tags) ki so nekje v svojih podrejenih elementov vnosno polje katerih naslov = Skrij Me!”. Od spodaj in se gibljejo. Ob predpostavki, da številke to jasno, Bom post modernizirati "quick in enostaven" post.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Hitro in enostavno: Ustvarite svojo lastno jQuery Sandbox za SharePoint

To je še en post v mojem tekoče series kako uporabljati jQuery s SharePointom.
Če želite izvedeti več o jQuery, Toplo priporočam: jQuery v akciji Bibeault medved in Yehuda Katz.

Uvod v jQuery v SharePoint je presenetljivo enostaven (meni). (So resna vprašanja o "najboljše prakse" pristop k uvajanju teh stvari za proizvodnjo, ampak to je za en dan). Pravkar sem začel igrati s to tehnologijo in v ta namen, Sem ustvaril sandbox okolju za uporabo. Če iščete, da bi začeli z jQuery, morda uporabni ta pristop.

1. Ustvarite prazno mesto

Ustvarite prazno mesto nekje v vašem mestu in rečejo nekaj pameten kot "jQuery Sandbox".

2. Download jQuery

JQuery javascript knjižnico lahko prenesete od tukaj: http://docs.jquery.com/Downloading_jQuery

Da, da shranite na namizje.

Imam been using "minified" različica.

3. Ustvarite knjižnico dokumentov SharePoint

V spletnem mestu sandbox, ustvarite knjižnico dokumentov.

4. Upload jQuery knjižnico SharePoint

Dostop do doc knjižnice, ki ste jo pravkar ustvarili in upload jQuery knjižnico.

5. Ustvarite seznam po meri SharePoint

Sem začel s seznamom po meri, ker želim postopati z standardnih obrazcev SharePoint. Ustvarite lahko tudi stran v knjižnici strani ali strani spletnih gradnikov in verjetno veliko drugih mestih.

Nekatere stolpce dodate seznam po meri, tako da imate nekaj teči jQuery proti. Moj prvotni cilji so bili:

  1. Skrili polje.
  2. Dodeliti vrednosti poljem.

S tem ciljem v mislih, Dodal sem dva polja z besedilom. Sčasoma, Bom igral s povezavami, slike, poizvedbe, itd.

6. Spreminjanje del NewForm.aspx spletne strani in dodajte spletni gradnik urejevalnika vsebine

To je malo črno magic-ish , je nov koncept za mene. Sem prvič izvedela o tem iz Paul Grenier, SharePoint jQuery Superstar, na njegovo mesto projekta CodePlex: http://spff.codeplex.com/.

Sledite korakom dodajanja a CEWP na isto stran, ki prikazuje NewForm.aspx za vsak seznam po meri:

  1. Dostop do seznam po meri in še Nova.
  2. Privesiti sledeč URL: Ogleda = skupni&ToolPaneView = 2

Ki bo preoblikovati svoje dolgočasno vanilije podatki prijavnico iz kaj takega:

image

Za to:

image

Strani dodajte spletni gradnik urejevalnika vsebine.

7. Napisati vaš prvi jQuery kodo

Odpri ta CEWP v pogled kode in dodajte naslednje:

image

Tukaj je dejanska koda, če želite, da copy/paste:

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

<skript tipa ="text/javascript">
  $(Funkcija() {

    $("#resultsID").HTML("Obstajajo" + $("a").velikost() + 'tags oznake na tej strani.');

  });
</skript>

Rezultat:
<div id ="resultsID"></div>
/rezultat

Upoštevajte, da prvi <skript> oznaka je navajanje dejanske jQuery knjižnico. Verjetno, te stvari se spreminjajo skozi čas, tako boste želeli, da poskrbite, da boste na) Uporabite pravo ime in b) pokažite na pravilen knjižnice dokumentov SharePoint.

Uživati v slavo

Če ti je pravilno, boste videli rezultat, ki je podobno naslednjemu:

image

Zavijanje

To ni edini način, da bi začeli, vendar je hitro, enostaven in izolirani iz vaše obstoječe okolje SharePoint.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Hitro in enostavno: Uporabo jQuery nastavite A besedilo vrednost polja v obrazcu SharePoint

Sem začel igrati okrog z jQuery včeraj. Sem želela narediti to za dolgo časa, odkar Paul Grenier začel pisati njegove serije o jQuery končnim uporabnikom na v častitljivi www.endusersharepoint.com spletno mesto. Kot jaz raba to, Upam, da dodate vrsto "Hitro in enostavno" delovnih mest, kot je ta. Ta post opisuje, kako nastaviti vrednost polja znano besedilo za kar hočeš.

V tem scenariju, Jaz sem ustvaril seznam po meri, katerih "nov" obrazec izgleda, kot je prikazano:

image

To je nov obrazec za seznam po meri s privzeti naslov stolpca in dve seznam stolpcev (ne stolpce mesta; Ne verjamem, da bi morala biti kakršna koli razlika).

Cilj je, da dodelite poljubno vrednost polja, "DefaultMeFieldNoSpaces" (lahko vam povem, sem malo strahopetec z "brez presledkov" stvar dogaja, vendar Obogatimo jo gor v prenehati od to člen).

Ta bit jQuery obdelan navzlic:

<skript tipa ="text/javascript">

  $(Funkcija() {

    $("vhodni[naslov = DefaultMeFieldNoSpaces]').ATTR(
        {vrednost: "Ste v twisty labirint prehodi, vsi enaki. "});

  });

</skript>

Kot razumem to bit jQuery je rekel, "mi odkriti poljuben vložek tag katerih naslov = DefaultMeFieldNoSpaces. Nato, nastavite vse njihove vrednosti na znameniti stavek iz stare računalniške igre."

Saj je obstajalo bo le eno polje na obrazcu z naslovom enaka "DefaultMeFieldNoSpaces" smo zagotovljeno dodeljevanja vrednost v tem polju in nobenih drugih.

Kaj pa polje, čigar ime ima prostore v njem? To je skoraj isto:

<skript tipa ="text/javascript">

  $(Funkcija() {
     $("vhodni[naslov = dodelite področju in prostor]').ATTR(
        {vrednost: "Ste v twisty labirint prehodi, vsi enaki. "});

  });

</skript>

Mislim, to je dokaj varen pristop, kar pomeni, da moramo biti sposobni najti na področju, ki želimo in samo na področju želimo. Če pogledaš na HTML SharePoint je giving nas, To je nekako grdo:

<vnos
ime= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
vrsta= "besedilo"
MaxLength= "255"
ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
naslov= "DefaultMeFieldNoSpaces"
razred= "ms-dolgo"
/>

"naslov" izstopa kot prepoznaven in upajmo edinstveno atribut, ki nam pomagajo ugotoviti določen stolpec, ki smo želite dodeliti naše poljubno vrednost.

To je temeljni koncept. Nastavitev polja samovoljno način, kot to ne bo zmagal koli nagrade. Vendar, Če želimo narediti bolj zanimiv obrazec ravni stvari (kateri so vsi od nas vedno želeli narediti, seveda, takoj po končamo, pranje posode), kot sprememba vrednost od "polje b" samodejno glede na vrednost "polje a", smo (I) se morajo naučiti teh stvari.

Mislim, da naša najboljša priložnost, da bi dobili resnično uporabno vrednost tukaj je preko naslov, vsaj za polja z besedilom. Lahko bolje, bolj zanesljiv pristop. Če se mi zdi, Bom posodobiti to post. Če veš boljši način, prosim, pustite komentar.</namen>

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin