Cartlanna míosúla: Meitheamh 2009

Foirm Sevices InfoPath, Foirmeacha Fíordheimhniú Bhunaithe (FBA) agus Ainmneacha Comhad uathúil

Tá mé ag obair ar roinnt InfoPath foirmeacha an tseachtain seo i CAONAIGH i dtimpeallacht FBA agus d'fhoghlaim, nuair a chuaigh mé go dtí na foirmeacha a imscaradh chuig dtimpeallacht a tháirgeadh le crios FBA go bhfuil an ainm úsáideora() function function does not work. I was using it to generate unique file names.

Bhuel, nach fheidhm ag obair i dtimpeallacht FBA (ar a laghad, ní as an bhosca). Agus, ar mhachnamh, ag baint úsáide as ainm úsáideora ar an mbealach a bhí beartaithe agam nach mbeadh a ráthú ainm comhaid ar leith i gcás ar bith.

Mo réiteach a bhí a bhaint as an anois() function and a rule that fires on loading of the form. I assign the file name to data element when it’s blank:

image

image

The advantage of this approach is that the file name is set only once. (Ní féidir liom é a thaispeáint ar an scáileán lámhaigh, ach chuir coinníoll maidir leis an riail chun dóiteáin ach amháin nuair a "myFilename" Is folamh). I used to set the file name at the data source level. Typically, Ba mhaith liom rud éigin a dhéanamh (dona) mar seo:

image

Is é an fhadhb atá leis sin go má úsáideora Osclaíonn an bhfoirm ar an Luan agus athraíonn an t-úsáideoir B é ar an Máirt, go mbainfidh tú deireadh suas le dhá chineál éagsúla ó dhá úsáideoirí éagsúla shábháil sé le hainmneacha úsáideora éagsúla.

Mar sin,, mar is féidir annoying mar FBA a bheith i gcoitinne agus le InfoPath go háirithe, rinne sé dom ath-smaoineamh a sonraí teicniúla beag ach tábhachtach i ndáiríre agus chuige sin ní ba mhaith liom a dhéanamh ar shlí eile!

</deireadh>

Liostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin

Clibeanna Technorati:

Daingniú SharePoint Liosta / Doiciméad Leabharlann Tuairimí Dealraíonn (saghas) Is féidir le jQuery

Tá an post seo ceann eile i mo ar siúl go leanúnach sraith ar conas é a úsáid jQuery le SharePoint.
Más mian leat níos mó eolas faoi jQuery fhoghlaim, Molaim go mór: jQuery i nGníomh ag Bear Bibeault agus Yehuda Katz.

Ceann de na rudaí chéad shíl mé, nuair a thosaigh mé a imirt ar fud le jQuery, was whether we could use it to secure a SharePoint view. The answer is “no” (nó ar a laghad, Níl mé ag éileamh tá sé indéanta). Mar sin féin, it is certainly possible to make it difficult for people to see a particular view.

Thosaigh mé le mo thimpeallacht bosca gainimh agus iad ag obair ar an. Scríobh mé faoi sin timpeallacht anseo: Tapaidh agus éasca: Cruthaigh Do Bosca Gainimh jQuery Féin do SharePoint.

Chun a chinntiú "" d'fhonn, Lean na céimeanna seo:

  1. Cruthaigh amharc is mian leat a dhaingniú. Rinne mé sin agus d'iarr sé "Amharc Faighte".

    Tá sé seo cad tá sé cosúil nuair nach bhfuil sé "urraithe":

    image

  2. Cuir ábhar mar chuid gréasáin eagarthóir ar leathanach an amhairc ag baint úsáide as an cleas a thuairiscítear i an t-alt bosca gainimh (i.e. cuir "PageView = Roinnte&ToolPaneView = 2 "chun an URL).
  3. Figiúr amach do _spUserId SharePoint méid seo a leanas na céimeanna dÚsachtach, Creidim nó nach:
    1. Logáil isteach i do timpeallacht SharePoint.
    2. Sa bhrabhsálaí gréasáin seoladh allamuigh, cineál: "Javascript:chur ar an eolas(_spUserId ").
    3. Taifead an toradh (tá sé "13" i mo chás).

      image

  4. Cuir an javascript a leanas le do CEWP i bhfianaise cód:

    <script
        "text/javascript"
        src ="../../jQuery Library/jquery-1.3.2.min.js">
    </script>
    
    <Cineál script ="text/javascript">
      $(fheidhm() {
    
        chur ar an eolas(_spUserId);
    
        Bhí theSecuredView = $('Iframe[FilterLink * = 20View% Faighte]');
    
        más rud é ((theSecuredView.length > 0) && (_spUserId == 13))
          $('Iframe[FilterLink * = 20View% Faighte]').tuismitheoir().tuismitheoir().tuismitheoir().html("<tr bgcolor = dearg><td>Uimh dearcadh ar do shon!</td></tr>");
      });
    
    </script>
    

Tá mé san áireamh go foláirimh(_spUserId) líne in ann a léiriú conas nach bhfuil sé seo i ndáiríre "dhaingniú" d'fhonn, ach go simplí a dhéanamh níos deacra a fheiceáil. Breis faoi sin i láthair.

Go bunúsach, jQuery ag lorg ar iframe ar an leathanach a bhfuil tréith go bhfuil "% 20View Faighte" ina luach. Chomh luath agus a fhaigheann sé é, táimid ag seiceáil a fheiceáil má tá an t-úsáideoir atá ann faoi láthair "13". Má tá sé, muid ag siúl suas an DOM le <TR> tag (a figured mé amach ag breathnú foinse agus a rianú) agus ansin a ionaid chlib TR le mo theachtaireacht. I ndáiríre ní a fhios conas láidir é seo (Tá mé an-amhrasach, i ndáiríre), ach d'oibrigh sé i mo bosca gainimh. If I find a better way, Feicfidh mé blag faoi. Is é seo an toradh:

image

Mé cliceáil ar an cnaipe OK agus tá na sonraí in ionad le teachtaireacht mór dearg:

image

Mar is féidir leat insint, the way I’ve implement this “security” solution is to allow the web part to render itself. After it finishes, I fhorscríobh a ábhar le mo "Níl aon dearcadh ar do shon!"Teachtaireacht.

In ainneoin an bhfíric go bhfuil sé i ndáiríre ar "urraithe" "fhonn, tá sé d'fhéadfadh a bheith úsáideach agus le roinnt oibre cliste, it may eventually be securable in a more formal sense. The fundamental issue is that the client is getting all the data and then, ach amháin tar éis a fhaigheann sé na sonraí, it wipes it out. If the client is getting the data, is féidir le úsáideoir cliste cosc ​​a chur ar an jQuery ó reáchtáil ar chor ar bith agus a fheiceáil cad ba mhaith aige / aici a fheiceáil.

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, ach féach mé roinnt rudaí maith scríofa ar an ábhar seo, mar sin tá mé dóchasach níl freagra maith leis an fhadhb.

An liosta de na tuairimí sin ba cheart iad féin a bhearradh, más féidir. I haven’t tried to figure that out. I assume it’s possible, ach ní réiteach i ndáiríre an cheist slándála bunúsach toisc go bhféadfadh duine éigin fós ach cineál an URL den tuairim mian leo (dá mbeadh a fhios acu é). Mar sin féin, 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, they probably won’t try to use it. Uaireanta, go maith go leor.

Le luck, Beidh mé a bheith níos mó a scríobh ar an ábhar seo le himeacht ama.

</deireadh>

Liostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin

Tapaidh agus éasca: A Way Níos Fearr a Úsáid jQuery chun Folaigh Field Text ar Fhoirm SharePoint

Tá an post seo ceann eile i mo ar siúl go leanúnach sraith ar conas é a úsáid jQuery le SharePoint.
Más mian leat níos mó eolas faoi jQuery fhoghlaim, Molaim go mór: jQuery i nGníomh ag Bear Bibeault agus Yehuda Katz.

Roimhe seo, 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 (Bhí mé shlabhrú tuismitheoirí - sin nach bhfuil ach déanta na laethanta, ar a laghad, i dteaghlaigh de chaighdeán).

Nuair a thosaigh mé an chéad chun smaoineamh air, Bhí a fhios agam gá dom a aimsiú <TR> a raibh mé in ann a agairt hide() modh. My early effort to find the correct <TR> Bhí rud éigin mar seo:

$('Tr:Tá(ionchur[title = Folaigh Me!])');

Is é an fhadhb atá leis sin go mbeadh sé teacht ar gach <TR> tag that had any parent relationship to the Hide Me! réimse, fiú amháin más rud Folaigh Me! Tá go leor leibhéal neadaithe go domhain i <TR>’s. It turns out that on my sandbox form, fhaigheann an abairt sin 9 TR éagsúla ar a bhfuil Folaigh Me! as a child somewhere in its DOM tree. I realized that I could walk back up the tree from the input field itself, mar sin tá go conas a chríochnaigh mé suas tuismitheoirí abusing, ach ní raibh sé suí go maith le liom.

Thug mé roinnt machnaimh seo agus ar cheann de na rudaí a léigh mé ciall ar deireadh rinne: Raibh mé in ann úsáid a bhaint as an ní() modh go Baile Átha Troim amach <TR>’s I don’t want in my wrapped set. A thug mé chun an:

$('Tr:Tá(ionchur[title = Folaigh Me!])').Ní('Tr:Tá(tr)').hide();

An chéad giotán fhaigheann gach <TR> clibeanna go bhfuil an Folaigh Me! field anywhere in their own hierarchy. It then strips out any <TR> go bhfuil chomh maith le leanbh <TR>. This leaves us with a single <TR> go:

1) Níl aon <TR> taifid leanbh

2) Does have the input field as child.

Is féidir linn iarratas a dhéanamh ansin an craiceann() modh leis an tsraith mar thoradh air agus táimid ag déanamh.

Tá mé fós le beagán neirbhíseach faoi seo, ach ní neirbhíseach chomh shlabhrú thuismitheoirí.

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, le do thoil post a comment.

</deireadh>

Liostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin

Clibeanna Technorati: ,

Tapaidh agus éasca: Bain úsáid jQuery chun Folaigh Field Text ar Fhoirm SharePoint

Tá an post seo ceann eile i mo ar siúl go leanúnach sraith ar conas é a úsáid jQuery le SharePoint.
Más mian leat níos mó eolas faoi jQuery fhoghlaim, Molaim go mór: jQuery i nGníomh ag Bear Bibeault agus Yehuda Katz.

Suas chun dáta (cheana féin!): Raibh mé ag smaoineamh ar bhealach níos fearr a lonnú ar an <TR> tag Ba mhaith liom a cheilt agus Scríobh mar gheall air anseo. You may still find this article interesting anyway so I’m leavnig it up.

Ba mhaith liom a cheilt réimse téacs, "Folaigh Me!"Mar a thaispeántar:

image'

Dhéanann an jQuery seo a leanas an cleas dom:

<Cineál script ="text/javascript">

  $(fheidhm() {


    $('Ionchur[title = Folaigh Me!]').tuismitheoir().tuismitheoir().tuismitheoir().hide();

  });

</script>

Tá an cód rá, "Fháil dom réimsí uile an ionchur a bhfuil a theideal = Folaigh Me!. Ansin,, a fháil ar a máthair agus ansin tuismitheoir eile agus an * chéad suı eile * tuismitheoir (Phew!) agus agairt hide() modh ar an rud, is cuma cad a tharlaíonn sé a bheith.

Figured mé amach go bhfuil struchtúr tuismitheoir ag breathnú ar an HTML le haghaidh an fhoirm a chruthaigh SharePoint mar a thaispeántar:

<TR>
    <TD nowrap="true" valign="top" leithead="190px" ranga="ms-formlabel">
        <H3 ranga="ms-standardheader">
            <nobr>Folaigh Me!</nobr>
        </H3>
    </TD>

    <TD valign="top" ranga="ms-formbody" leithead="400px">
        <!-- FieldName="Hide Me!"
                 FieldInternalName="Hide_x0020_Me_x0021_"
                 FieldType="SPFieldText"
        -->
        <réise ="none">
            <ionchur
                ainm="ctl00$m$g_bdb23c2c_fde7_495f_8676_69714a308d8e$ctl00$ctl04$ctl02$ctl00$ctl00$ctl04$ctl00$ctl00$TextField"
                cineál="text"
                maxlength="255"
                id="ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                teideal="Hide Me!"
                ranga="ms-long" />
                <br>
        </réise>


    </TD>
</TR>

Taispeánann an pictiúr seo mar an gcéanna, ach marcáilte suas leis na tuismitheoirí:

image

An chéad tuismitheoir (1) is a span tag. Span’s parent (2) Tá tag TD agus ansin ar deireadh a fháil againn leis an tuismitheoir fíor mhaith liom a chur i bhfolach (3) a bhfuil an chlib TR féin.

This is a pretty terrible approach I think because it’s extremely dependent on the very specific structure of this form. When SharePoint 2010 thagann amach, 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 (agus ní raibh ach clibeanna TR) go bhfuil áit éigin i n-eilimintí leanbh réimse ionchuir a bhfuil a theideal = Folaigh Me!". I starting from the bottom and moving up. Assuming I figure this out, Feicfidh mé post ar "tapaidh agus éasca post cothrom le dáta '.

</deireadh>

Liostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin

del.icio.us Clibeanna: ,

Clibeanna Technorati: ,

Tapaidh agus éasca: Cruthaigh Do Bosca Gainimh jQuery Féin do SharePoint

Tá an post seo ceann eile i mo ar siúl go leanúnach sraith ar conas é a úsáid jQuery le SharePoint.
Más mian leat níos mó eolas faoi jQuery fhoghlaim, Molaim go mór: jQuery i nGníomh ag Bear Bibeault agus Yehuda Katz.

Dul tús le jQuery i SharePoint is ionadh éasca (dom). (Agam an bhfuil ceisteanna tromchúiseacha faoi "dea-chleachtais" cur chuige chun imscaradh na rudaí seo a tháirgeadh, ach sin do lá eile). 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, Is féidir leat teacht ar an gcur chuige seo úsáideach.

1. Cruthaigh Láithreán Blank

Cruthaigh láithreán bán áit éigin i do shuíomh agus a ghlaoch air rud éigin cliste cosúil le "Bosca Gainimh jQuery".

2. Íosluchtaigh jQuery

Is féidir leat íoslódáil an leabharlann javascript jQuery ó anseo: http://docs.jquery.com/Downloading_jQuery

Sábháil go dtí do dheasc.

Bhí mé ag baint úsáide as an "minified" leagan.

3. Cruthaigh Leabharlann Doiciméad SharePoint

I do láithreán bosca gainimh, create a document library.

4. Leabharlann jQuery uaslódáil chuig SharePoint

Rochtain ar an leabharlann doc chruthaigh tú díreach agus uaslódáil an leabharlann jQuery.

5. Cruthaigh Liosta SharePoint Chustaim

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. Folaigh réimse.
  2. Shannadh luach le réimse.

Le cuspóir sin san áireamh, I added two text fields. Le himeacht ama, Beidh mé ag imirt le naisc, íomhánna, lookups, etc.

6. Athraigh an Chuid Gréasáin NewForm.aspx Page agus Cuir Ábhar Eagarthóir Gréasáin Cuid

Is é seo an dubh beag draíochta-ish , in that it’s a new concept to me. I first learned about this from Paul Grenier, SharePoint jQuery Superstar, ar a suíomh tionscadal CodePlex: http://spff.codeplex.com/.

Lean na céimeanna seo a CEWP a chur leis an leathanach céanna go léiríonn NewForm.aspx le haghaidh aon liosta saincheaptha:

  1. Rochtain ar an liosta saincheaptha agus cliceáil Nua.
  2. Seo a leanas i gceangal leis an URL: PageView = Roinnte&ToolPaneView = 2

Beidh an athrú d'fhoirm iontrála sonraí fanaile leadránach ó rud éigin mar seo:

image

Chun é seo a:

image

Cuir an t-ábhar mar chuid gréasáin eagarthóir ar an leathanach.

7. Scríobh Do Cód jQuery Chéad

Oscail suas go CEWP san amharc cód agus cuir an méid seo a leanas:

image

Seo an cód iarbhír más mian leat a chóipeáil / greamaigh:

<script
    "text/javascript"
    src ="../../jQuery Library/jquery-1.3.2.min.js">
</script>

<Cineál script ="text/javascript">
  $(fheidhm() {

    $('# ResultsID').html('Tá' + $('A').méid() + 'A clibeanna clibeanna ar an leathanach seo.');

  });
</script>

Toradh:
<div id ='ResultsID'></div>
/mar thoradh ar

Tabhair faoi deara go bhfuil an chéad <script> tag is referencing the actual jQuery library. Presumably, athrú ar na rudaí seo le himeacht ama, ionas go mbainfidh tú ag iarraidh a dhéanamh cinnte go bhfuil tú a) úsáid a bhaint as an t-ainm ceart agus b) sé pointe go dtí an leabharlann doiciméad ceart SharePoint.

Bask in glory

Má rinne tú é i gceart, Feicfidh tú a fheiceáil toradh cosúil leis an méid seo a leanas:

image

Timfhilleadh Suas

Ní hé seo an bealach amháin chun tús a chur, ach tá sé tapa, easy and isolated from your existing SharePoint environment.

</deireadh>

Liostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin

Clibeanna Technorati: ,

del.icio.us Clibeanna: ,

Tapaidh agus éasca: Bain úsáid jQuery a Socraigh A Field Text Luach ar ar Fhoirm SharePoint

Thosaigh mé ag imirt ar fud leis jQuery yesterday. I’ve been wanting to do this for a long time, ó shin i leith Paul Grenier scríbhinn a thosaigh a shraith faoi ​​jQuery do Úsáideoirí Deiridh ag an venerable 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.

Sa chás seo, Chruthaigh mé liosta saincheaptha a Breathnaíonn mar a thaispeántar "nua" fhoirm:

image

Is é seo an bhfoirm nua do liosta saincheaptha leis an gcolún Teideal réamhshocraithe agus dhá cholún liosta (Ní colúin láithreán; Ní dóigh liom gur chóir é a dhéanamh ar aon difríocht).

Is é an cuspóir luach treallach leis an réimse a shannadh, "DefaultMeFieldNoSpaces" (Is féidir leat insint Tá mé beagán de Coward leis an rogha "gan spásanna" rud ag dul ar, ach is féidir liom spice sé suas ag an deireadh an Airteagail seo).

An beagán de jQuery obair dom:

<Cineál script ="text/javascript">

  $(fheidhm() {

    $('Ionchur[title = DefaultMeFieldNoSpaces]').attr(
        {luach: 'Tá tú i lúbra twisty na pasáistí, gach araon. '});

  });

</script>

Mar a thuigim é seo beagán de jQuery ag rá, “find me any input tag whose title = DefaultMeFieldNoSpaces. Ansin,, go léir a gcuid luachanna a shocraítear le frása cáiliúil ó cluiche ríomhaire d'aois. "

Ós rud é a bheidh ann ach réimse amháin ar an bhfoirm le teideal cothrom le "DefaultMeFieldNoSpaces" tá muid cinnte de luach leis an réimse sin a shannadh agus aon eile.

Cad mar gheall ar réimse a bhfuil a ainm tá spásanna ann? It’s nearly the same:

<Cineál script ="text/javascript">

  $(fheidhm() {
     $('Ionchur[title = Réimse Sann Le Spás]').attr(
        {luach: 'Tá tú i lúbra twisty na pasáistí, gach araon. '});

  });

</script>

I mo thuairimse, tá sé seo le cur chuige cothrom sábháilte, 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, tá sé saghas messy:

<ionchur
ainm="ctl00$m$g_bdb23c2c_fde7_495f_8676_69714a308d8e$ctl00$ctl04$ctl02$ctl00$ctl00$ctl04$ctl00$ctl00$TextField"
cineál="text"
maxlength="255"
id="ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
teideal="DefaultMeFieldNoSpaces"
ranga="ms-long"
/>

"Title" sheasann amach mar tréith inaitheanta agus tá súil againn go leith chun cabhrú linn a aithint ar an gcolún ar leith a ba mhaith linn a shannadh ár n-luach treallach.

This is a foundational concept. Setting a field in an arbitrary way like this isn’t going to win any awards. Mar sin féin, más mian linn a dhéanamh stuif leibhéal foirm níos suimiúla (a bhfuil gach duine againn ag iarraidh i gcónaí a dhéanamh, ar ndóigh, ceart tar éis a chríochnaíonn muid ag níochán na miasa), Is maith athrú ar an luach de "réimse b" go huathoibríoch bunaithe ar an luach "réimse a", muid (Mé) gá a fhoghlaim na rudaí seo.

Sílim go bhfuil ár n-deis is fearr a fháil ar luach úsáideach fíor anseo tríd an teideal, at least for text fields. There may be a better, more reliable approach. If I find it, Feicfidh mé an post seo cothrom le dáta. If you know a better way, fág tagairt le do thoil.</deireadh>

</deireadh>

Liostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin

Clibeanna Technorati: ,