Arkivat e Kategorisë: jQuery dhe SharePoint

Tip i shpejtë: Shtimi jQuery për Moss Faqet botuese

Kur rritjen faqet Moss publising duke përdorur jQuery, I goditi përplasem në vijim shpejtësi:

Server Error in ‘/’ Aplikim.


Error Parser

Përshkrim: Një gabim ka ndodhur gjatë parsing e burimeve të kërkuara për shërbim këtë kërkesë. Ju lutemi të shqyrtojë këto detaje specifike Parse error dhe të modifikojë dosjen tuaj burim të përshtatshme.

Error Parser Mesazh: Kontrollet janë të lejuara vetëm përmbajtje direkt në një faqe që përmban përmbajtje kontrollet Content.

Error Burimi:

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

Burimi i dokumentit: /_catalogs / masterpage / KCC_FacultyMember.aspx    Linjë: 12


Informacione version: Microsoft. Version NET Framework:2.0.50727.4927; ASP.NET Version:2.0.50727.4927

Ajo ishte e lehtë të mjaftueshme për të rregulluar (h / t kolegut tim, Uday Ethirajulu).  Jetë i sigurt se kodi jQuery jeton brenda "PlaceHolderAdditionalPageHead", siç tregohet:

<nëpërkë:Content ContentPlaceholderID="PlaceHolderAdditionalPageHead" runat="server">

<dorëshkrim

    type="text/javascript"

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

</dorëshkrim>

<script type="text/javascript">

  $(dokument).gati(funksion() {

   // Sende Brilliant jQuery shkon këtu.

   });

</dorëshkrim>

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Në Falënderimi i jQuery Enhanced search-si-ti-Type (nga Jan Tielens)

Unë jam duke punuar në një demo BPOs (së shpejti të jenë në dispozicion deri në faqen e Microsoft-it) and I wanted to add a little pizzazz. I’ve known about Jan Tielen’s efforts for quite a while and I thought it would be a great technique to add to the demo, so I did. You can read about it here: http://weblogs.asp.net/jan/archive/2009/07/02/sharepoint-search-as-you-type-with-jquery.aspx. It’s so simple to use it should probably be a crime (and maybe is somewhere).

I add just two points to what he already created / wrote about:

  1. This does, në të vërtetë, work in a BPOS (SharePoint online) mjedis.
  2. To make it work without an annoying popup message prefix the reference to the jquery library with https instead of http, si në:
<Lloji script ="text/javascript" src ="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></dorëshkrim>

Jan points out that you should probably move the library itself to your site. Feeling a little lazy today, I decided to blog about it instead 🙂

</fund>

Kjo është një tjetër post në tim në vazhdim seri e se si të përdorin jQuery me SharePoint.
Nëse doni të mësoni më shumë në lidhje me jQuery, I highly recommend: jQuery në Veprim nga Bear Bibeault dhe Yehuda Katz.

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Technorati Tags:

Sigurimi List / Dokumenti Views SharePoint Library Seems (lloj nga) E mundur me jQuery

Kjo është një tjetër post në tim në vazhdim seri e se si të përdorin jQuery me SharePoint.
Nëse doni të mësoni më shumë në lidhje me jQuery, I highly recommend: jQuery në Veprim nga Bear Bibeault dhe Yehuda Katz.

Një nga gjërat e para që kam menduar, dikur kam filluar të luajnë rreth me jQuery, was whether we could use it to secure a SharePoint view. The answer is “no” (ose të paktën, Unë nuk jam duke pretenduar se kjo është e mundur). Megjithatë, it is certainly possible to make it difficult for people to see a particular view.

I started with my sandbox environment when working on this. I wrote about that environment here: Quick dhe Easy: Krijo Own Sandbox juaj jQuery për SharePoint.

Për të "siguruar" një pamje të, ndiqni këto hapa:

  1. Create a view you want to secure. I did that and called it “Secured View”.

    Kjo është ajo që duket si kur ajo nuk është "siguruar":

    image

  2. Shto një editor përmbajtje pjese web faqen pikëpamjes së përdorur hile përshkruar në nenin sandbox (i.e. shtoni "pageview = Shared&ToolPaneView = 2 "tek lidhja).
  3. Figure out your SharePoint _spUserId by following these crazy steps, besoni apo jo:
    1. Hyni në mjedisin tuaj SharePoint.
    2. Në fushën e web browser i adresave, lloj: "Javascript:vigjilent(_spUserId ").
    3. Regjistro rezultatin (kjo është "13" në rastin tim).

      image

  4. Shto javascript mëposhtme për CEWP tuaj në pikëpamje të kodit:

    <dorëshkrim
        "text/javascript"
        src ="../../jQuery%20Library/jquery-1.3.2.min.js">
    </dorëshkrim>
    
    <Lloji script ="text/javascript">
      $(funksion() {
    
        vigjilent(_spUserId);
    
        var theSecuredView = $('Iframe[FilterLink * = 20View Secured%]');
    
        nëse ((theSecuredView.length > 0) && (_spUserId == 13))
          $('Iframe[FilterLink * = 20View Secured%]').prind().prind().prind().html("<tr bgcolor = kuqe><td>Nuk ka pikëpamje për ju!</td></tr>");
      });
    
    </dorëshkrim>
    

Unë e kam përfshirë që vigjilent(_spUserId) linjë në atje për të demonstruar se si kjo nuk është me të vërtetë një "sigurimin" një pamje të, but simply making it more difficult to see. More on that in a moment.

Në parim, jQuery is looking for an iFrame on the page who has an attribute that contains “Secured View” in its value. Once it finds it, we check to see if the current user is “13”. If it is, ne ecim deri DOM për një <TR> etiketë (që unë i realizuar artistikisht nga shikimin burimin dhe gjurmimin atë) dhe pastaj duke e zëvendësuar atë etiketë TR me mesazhin tim. Unë me të vërtetë nuk e di se si kjo është e fuqishme (Unë jam shumë i dyshimtë, në të vërtetë), but it worked in my sandbox. If I find a better way, Unë do të blog në lidhje me atë. Ky është rezultat:

image

Klikoj butonin OK dhe të dhënave është zëvendësuar me një mesazh i madh i kuq:

image

Si ju mund të thoni, the way I’ve implement this “security” solution is to allow the web part to render itself. After it finishes, Unë prishësh përmbajtjen e saj me pamje "No time për ju!"Mesazhi.

Përkundër faktit se ajo nuk është me të vërtetë një "siguruar" Pikëpamja, kjo është potencialisht e dobishme dhe me disa punë zgjuar, it may eventually be securable in a more formal sense. The fundamental issue is that the client is getting all the data and then, vetëm pasi ajo merr të dhënat, it wipes it out. If the client is getting the data, një përdorues i zgjuar mund të parandalojë jQuery nga kandidimi në të gjitha dhe të shohim atë që ai / ajo dëshiron të shohë.

There are other drawbacks. This “security” approach is based off a _spUserId. We’d want to really secure based on the full SharePoint security model, or at least by user name. That becomes progressively harder, por unë shoh disa gjëra të mira shkruar mbi këtë temë, kështu që unë jam optimist se ka një përgjigje e mirë për këtë problem.

Lista e pikëpamjeve të vetë duhet të shkurtohet, nëse është e mundur. I haven’t tried to figure that out. I assume it’s possible, por nuk ka të vërtetë të zgjidhë çështjen fundamentale të sigurisë për shkak se dikush ende mund të shtypni thjesht URL e parë që ata duan (në qoftë se ata e dinin atë). Megjithatë, trimming makes sense. It’s a good usability feature and it helps to obfuscate things. If an end user doesn’t know that the view event exists, ata ndoshta nuk do të përpiqen të përdorin atë. Nganjëherë, kjo është mjaft e mirë.

Me fat, Unë do të ketë më shumë për të shkruar mbi këtë temë me kalimin e kohës.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Quick dhe Easy: Një mënyrë e mirë për të përdorur jQuery për të fshehur një fushë teksti në një formular SharePoint

Kjo është një tjetër post në tim në vazhdim seri e se si të përdorin jQuery me SharePoint.
Nëse doni të mësoni më shumë në lidhje me jQuery, I highly recommend: jQuery në Veprim nga Bear Bibeault dhe Yehuda Katz.

Më parë, I wrote about how to use jQuery to locate and hide a text field on a form. I didn’t care for the specific approach (Unë kam qenë prindërit chaining - që është thjesht nuk është bërë këto ditë, të paktën në familje të cilësisë).

Kur kam filluar të mendoj për këtë, Unë e dinte se unë e nevojshme për të gjetur një <TR> për të cilën unë mund të kërkoj fshehin() metodë. My early effort to find the correct <TR> ishte diçka si kjo:

$('Tr:ka(të dhëna[title = Fshih dhënat!])');

Problemi me këtë është se ajo do të gjeni çdo <TR> tag that had any parent relationship to the Hide Me! fushë, edhe në qoftë se të dhënat Fshih! është mbivendosur nivele shumë të thella në <TR>’s. It turns out that on my sandbox form, se shprehja gjen 9 TR ndryshme të cilët kanë fshihje! as a child somewhere in its DOM tree. I realized that I could walk back up the tree from the input field itself, kështu që kjo është se si unë përfundoi prindërit abuzonin, por ajo nuk rri mirë me mua.

I dha disa menduar për këtë dhe një nga gjërat që kam lexuar kuptim bërë në fund: Unë mund të përdorin jo() Metoda të shkurtojë jashtë <TR>’s I don’t want in my wrapped set. Kjo çoi mua në këtë:

$('Tr:ka(të dhëna[title = Fshih dhënat!])').nuk('Tr:ka(tr)').fsheh();

Bit e parë gjen të gjitha <TR> tags që kanë fshihje! field anywhere in their own hierarchy. It then strips out any <TR> që gjithashtu kanë një fëmijë <TR>. This leaves us with a single <TR> që:

1) Nuk ka <TR> të dhënat fëmijë

2) Does have the input field as child.

Ne pastaj mund të aplikojnë fshihej() metodë për të vendosur rezulton dhe ne jemi duke bërë.

Unë jam ende pak nervoz në lidhje me këtë, por jo aq nervoz si prindër chaining.

I don’t know if this is a best practice or not. There may be a more appropriate way of identifying just the <TR> that we care about in a SharePoint form. If you know, ju lutem postoni një koment.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Quick dhe Easy: Përdorimi jQuery për të fshehur një fushë teksti në një formular SharePoint

Kjo është një tjetër post në tim në vazhdim seri e se si të përdorin jQuery me SharePoint.
Nëse doni të mësoni më shumë në lidhje me jQuery, I highly recommend: jQuery në Veprim nga Bear Bibeault dhe Yehuda Katz.

UPDATE (tashmë!): Unë mendoj se ka një mënyrë më të mirë për të gjetur <TR> tag Unë dua të fshehur dhe shkroi për këtë këtu. You may still find this article interesting anyway so I’m leavnig it up.

Unë dua për të fshehur një fushë teksti, "Mbulo!"Siç tregohet:

image'

JQuery vijim e bën mashtrim për mua:

<Lloji script ="text/javascript">

  $(funksion() {


    $('Input[title = Fshih dhënat!]').prind().prind().prind().fsheh();

  });

</dorëshkrim>

Kodi është duke thënë, "Më gjeni të gjitha input fields cilëve title = fshihje!. Pastaj, merrni prindin e saj dhe pastaj prind të ardhshëm dhe * tjetër * prind (uh!) dhe kërkoj fshehin() Metoda në atë gjë, çfarëdo qoftë ajo ndodh të jetë.

I realizuar artistikisht se struktura prind me shikimin HTML për formën që SharePoint krijuar siç tregohet:

<TR>
    <TD nowrap="true" valign="top" gjerësi="190px" klasë="ms-formlabel">
        <H3 klasë="ms-standardheader">
            <nobr>Fshih Mua!</nobr>
        </H3>
    </TD>

    <TD valign="top" klasë="ms-formbody" gjerësi="400px">
        <!-- FieldName="Hide Me!"
                 FieldInternalName="Hide_x0020_Me_x0021_"
                 FieldType="SPFieldText"
        -->
        <hapësirë dir="none">
            <të dhëna
                emër="ctl00$m$g_bdb23c2c_fde7_495f_8676_69714a308d8e$ctl00$ctl04$ctl02$ctl00$ctl00$ctl04$ctl00$ctl00$TextField"
                lloj="text"
                maxlength="255"
                id="ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                titull="Hide Me!"
                klasë="ms-long" />
                <br>
        </hapësirë>


    </TD>
</TR>

Kjo foto tregon njëjtë, por deri shënuar me prindërit:

image

Cilësues parë (1) is a span tag. Span’s parent (2) është një tag TD dhe pastaj në fund ne të merrni për prind të vërtetë unë dua të fsheh (3) Cila është tag TR vetë.

This is a pretty terrible approach I think because it’s extremely dependent on the very specific structure of this form. When SharePoint 2010 del, this whole structure could change and break this approach. What I really want to do is craft a jQuery selector that is along the lines of “find me all the TR’s (Dhe vetëm etiketa Tr) që kanë diku në elementet e tyre fëmijëve një fushë input cilit title = fshihje!". I starting from the bottom and moving up. Assuming I figure this out, Unë do të postoj një përditësuar "të shpejtë dhe të lehtë postim '.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Quick dhe Easy: Krijo Own Sandbox juaj jQuery për SharePoint

Kjo është një tjetër post në tim në vazhdim seri e se si të përdorin jQuery me SharePoint.
Nëse doni të mësoni më shumë në lidhje me jQuery, I highly recommend: jQuery në Veprim nga Bear Bibeault dhe Yehuda Katz.

Getting filloi me jQuery në SharePoint është çuditërisht e lehtë (mua). (Unë kam pyetje serioze në lidhje me një qasje të "praktikave më të mira" për vendosjen këto gjëra për të prodhimit, por kjo është për një ditë tjetër). I’ve just started playing with this technology and to that end, I created a sandbox environment to use. If you’re looking to get started with jQuery, ju mund të gjeni këtë qasje e dobishme.

1. Krijo një Site Blank

Krijo një faqe bosh diku në faqen tuaj dhe e quajti atë si diçka e zgjuar "Sandbox jQuery".

2. Shkarko jQuery

Ju mund të shkarkoni bibliotekën jQuery javascript nga këtu: http://docs.jquery.com/Downloading_jQuery

Save se për të desktop tuaj.

Unë kam qenë duke përdorur "" versionin minified.

3. Krijo një SharePoint Library Document

Në faqen tuaj sandbox, create a document library.

4. Ngarko Bibliotekën jQuery për SharePoint

Qasja bibliotekën doc keni krijuar vetëm dhe ngarkoni bibliotekën jQuery.

5. Krijo një listë me porosi SharePoint

I’ve started with a custom list because I want to muck about with standard SharePoint forms. You could also create a page in a pages library or web part pages and probably a lot of other places.

Add some columns to the custom list so that you have something to run jQuery against. My initial objectives were to:

  1. Fshih një fushë.
  2. Cakto një vlerë në një fushë.

Me këtë objektiv në mendje, I added two text fields. Over time, Unë do të luajnë me lidhje, images, Lookups, etj.

6. Ndrysho NewForm.aspx Part Web page and Shto një redaktor Content Pjesa Web

Kjo është një magji pak të zi-ish , in that it’s a new concept to me. I first learned about this from Paul Grenier, SharePoint jQuery Superstar, CodePlex në faqen e tij të projektit: http://spff.codeplex.com/.

Ndiqni këto hapa për të shtuar një CEWP të njëjtën faqe që tregon NewForm.aspx për ndonjë listë me porosi:

  1. Qasja listë me porosi dhe klikoni New.
  2. Append e mëposhtme për URL: Pageview = Shared&ToolPaneView = 2

Kjo do të transformojë mërzitshëm tuaj të të dhënave vanilje formularin e hyrjes nga diçka si kjo:

image

Për këtë:

image

Shto editor përmbajtje pjesën web tek faqja.

7. Shkruani Kodi juaj e parë jQuery

Open up se CEWP në pamje të kodit dhe të shtoni në vijim:

image

Këtu është kodi aktual në qoftë se ju doni të kopje / paste:

<dorëshkrim
    "text/javascript"
    src ="../../jQuery%20Library/jquery-1.3.2.min.js">
</dorëshkrim>

<Lloji script ="text/javascript">
  $(funksion() {

    $('ResultsID #').html('Ka' + $('A').madhësi() + 'A tags tags në këtë faqe.');

  });
</dorëshkrim>

Pasojë:
<div id ='ResultsID'></div>
/pasojë

Re se pare <dorëshkrim> tag is referencing the actual jQuery library. Presumably, këto gjëra ndryshojnë me kalimin e kohës, kështu që ju do të dëshironi të bëni të sigurt që një) përdorin emrin e duhur dhe b) pikë atë në bibliotekë dokument SharePoint saktë.

Bask në lavdinë

Nëse ju e bëri atë të saktë, ju do të shihni një rezultat të ngjashëm në vijim:

image

Duke Up

Kjo nuk është e vetmja mënyrë për të marrë filluar, por është e shpejtë, easy and isolated from your existing SharePoint environment.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Quick dhe Easy: Përdorimi jQuery që të përcaktojë vlerën e një fushë të tekstit në një formular SharePoint

Unë fillova duke luajtur rreth me jQuery yesterday. I’ve been wanting to do this for a long time, qëkur Paul Grenier Shkrim filluar seri tij Rreth jQuery për përdoruesit përfundimtarë në nderuari www.endusersharepoint.com web site. As I use it, I hope to add a series of “Quick and Easy” posts like this one. This post describes how to set a known text field’s value to anything you want.

Në këtë skenar, Unë kam krijuar një listë me porosi të cilit "i ri" formë duket siç tregohet:

image

Kjo është forma e re për një listë me porosi me kolonën Titulli i paracaktuar dhe dy kolona lista (jo kolona faqe; Unë nuk mendoj se ajo duhet të bëjë ndonjë ndryshim).

Objektivi është që të caktojë një vlerë arbitrare në fushë, "DefaultMeFieldNoSpaces" (ju mund të thoni që unë jam pak e një frikacak me "nuk ka hapësira" gjë ndodh, por bëj erëz atë deri në fund të këtij neni,).

Kjo pak e jQuery ka punuar për mua:

<Lloji script ="text/javascript">

  $(funksion() {

    $('Input[title = DefaultMeFieldNoSpaces]').attr(
        {vlerë: 'Ju jeni në një labirint twisty e pasazheve, të gjithë njësoj. '});

  });

</dorëshkrim>

Me sa kuptoj unë kjo pak jQuery është duke thënë, “find me any input tag whose title = DefaultMeFieldNoSpaces. Pastaj, të vendosur të gjithë nga vlerat e tyre në një frazë e famshme nga një lojë kompjuterike të vjetër. "

Që nuk do të jetë vetëm një fushë në formë me një titull të barabartë me "DefaultMeFieldNoSpaces" Ne jemi të sigurt për caktimin e një vlerë në atë fushë dhe asnjë tjetër.

Po në lidhje me një fushë emri i të cilit ka hapësira në të? It’s nearly the same:

<Lloji script ="text/javascript">

  $(funksion() {
     $('Input[title = Fusha Cakto me hapësirë]').attr(
        {vlerë: 'Ju jeni në një labirint twisty e pasazheve, të gjithë njësoj. '});

  });

</dorëshkrim>

Unë mendoj se kjo është një qasje mjaft të sigurt, meaning that we should be able to find the field that we want and only the field we want. If you look at the HTML SharePoint is giving us, kjo është lloj i çrregullt:

<të dhëna
emër="ctl00$m$g_bdb23c2c_fde7_495f_8676_69714a308d8e$ctl00$ctl04$ctl02$ctl00$ctl00$ctl04$ctl00$ctl00$TextField"
lloj="text"
maxlength="255"
id="ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
titull="DefaultMeFieldNoSpaces"
klasë="ms-long"
/>

"Title" qëndron si një atribut të njohur dhe shpresojmë unike për të na ndihmuar të identifikuar kolonë të veçantë në të cilën ne duam të caktojë vlerën tonë arbitrar.

This is a foundational concept. Setting a field in an arbitrary way like this isn’t going to win any awards. Megjithatë, në qoftë se ne duam të bëjmë gjëra më interesante të nivelit formë (të cilat të gjithë ne gjithmonë duan të bëjnë, sigurisht, drejtë, pasi ne fund larë enët), pëlqen të ndryshojë vlerën e "fushë b" automatikisht bazuar në vlerën e një "fushë", ne (Unë) nevojë për të mësuar këto gjëra.

Unë mendoj se shansi ynë i mirë për të marrë një vlerë reale të dobishëm këtu është me anë të titullit, at least for text fields. There may be a better, more reliable approach. If I find it, Unë do update këtë post. If you know a better way, ju lutem të lënë një koment.</fund>

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin