Die SharePoint shop talk Open Q&A sessie Donderdag 08/13 @ 12:30 PM EDT

Arcovis bied ons tweede "SharePoint shop talk"-sessie hierdie Donderdag om 12:30 PM EDT. Show up with your SharePoint questions and we’ll do our best to entertain you with banjo jokes, smart but harmless put-downs of our fellow panelists and maybe even answer a question or two. This week’s “official” panel includes yours truly, my Arcovis-vennote (Natalya Voskresenskaya en Harry Jones) en Laura Rodgers (van Twitter & EndUserSharePoint roem). Bob fox threatened to join too, but I don’t take that too seriously. Last time, ons het 'n groot vlak van die gehoor deelname wat vervaag die lyn tussen die paneellede en deelnemers, en ek verwag dat dieselfde sal gebeur Donderdag.

Hierdie gebeurtenis is mede-geborg deur geïntegreerde stelsels en Services Group (www.issgroup.net).

Teken hier aan: https://www323.livemeeting.com/lrs/8000043750/Registration.aspx?pageName=9xrzxfs9x34sb0sm

As jy vrae het wat jy wil om ons te neem, just dial into the call and ask it. If you want us to think about it first, stuur 'n e-pos of los 'n kommentaar hier.

Sien jy dan!

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Voorafbestaande toestande: SharePoint Alert Templates tot die redding (?)

One of my clients worked with a previous contractor to build out a small but useful HR application for the enterprise. That contractor used SharePoint Designer to implement the workflow portion of the solution. It’s a bit of a mess. Byvoorbeeld, there are nine SPD workflows in support of a single logical workflow process and up to five of them may fire simultaneously at any given time given the right conditions. It’s not easy to debug 🙂

My kliënt het 'n aantal steeds uitstaande vereistes, one of which is to generally provide more context when the system sends out email alerts – both in the email itself as well as associated task forms. As SPD workflow implementers know, the “collect data from user” SPD action actually creates a task with a custom content type. When we use that action, we don’t get to specify much. We can prompt for some values (bijv. "Goedgekeur" of "ontken") and we can specify a hard coded value in the title and description. That’s about it.

My kliënt se behoefte is tweeledig:

  1. Wanneer SharePoint stuur 'n e-pos oor 'n taak te voltooi, 'n baie inligting oor die taak in die e-liggaam.
  2. Meer belangrik, by verre – Wanneer die gebruiker op die taak skakel in die e-pos, the task form should have all the information the approver needs in order to make his/her approve or deny decision. Right now, the manager needs to click on the item link itself to drill down into the underlying details and no one likes that. You have to click in the email. Then you need to click a sort of obscure link on the task item. Then you can look at the underlying data (n Path vorm in hierdie geval). Then you click back/back, ens.. Everyone hates it.

Ek het hierdie ietwat slordig tegniese oplossing geërf, en ek wil die veranderinge in die minste indringende manier moontlik te maak.

The approach I’m taking right now is to create a custom alert template. Jy kan lees oor wat hier. The flow works like this:

  • SPD workflow lopies.
  • Op 'n sekere punt, dit ken 'n taak om 'n bestuurder.
  • SharePoint system automatically sends out an alert to that manager. This is not part of the SPD workflow but rather “what SharePoint does.” (Die SharePoint timer, Ek glo).
  • 'N persoonlike waarskuwing hanteerder wat opgeroep word ten gunste van die standaard wakker proses (volgende magie reëls soos beskryf in die hierbo vermelde artikel).
  • Wanneer my persoonlike wakker hanteerder loop, it generates a beautiful email. Meer belangrik, aangesien dit die taak in die hand, versier dit ook die taak met al die konteks inligting wat nodig is om die vereistes te voldoen.
  • Die gebruiker kry die e-pos en dit is vol nuttige inligting oor konteks..
  • Gebruiker op die taak skakel en die taak self is vol nuttige inligting oor konteks.
  • Almal gaan huis waatlemoen en roomys te hê.

I did a quick POC and it works well in a lab environment. I get my custom email alert as expected. I also get to update the task description and title itself.

Die enigste moeilike bietjie, so ver, is 'n situasie te vermy waar die waarskuwing updates die item, triggering another alert. This doesn’t worry me.

Lyk belowend so ver ...

The great thing about this is that I don’t need to muck about with any of the existing SPD workflows. They are blissfully unaware that an alert handler is “IIZ hardloop in da BAKGROUND, DECORATIN TEH Takenlijst WIF MOAR konteks".

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Live SharePoint Q&A sessie Donderdag 07/30/09 @ 12:30 PM EDT eindig 1:30PM EDT

Werk: The format for this is basically a conference call with a couple of PPT slides to set the stage. We have a SharePoint environment on stand by to fire up in case it helps out, but this is mainly people talking out loud. There will be opportunities for follow up by email.

Terug te gaan na my eerste ooit SharePoint konferensie, net meer as 'n jaar gelede, Ek het getref deur hoe geweldige 'n lewendige Q&A session can be. The conference organizers had put together a sort of ad hoc group of “experts” (d.w.z. mense wat rond te hang en was nie bang vir die soek dom op die verhoog) to answer any questions that came from the audience in the room. It was in my head back then, en van tyd tot tyd sedertdien, to host a similar session but do it on line and the phone. I don’t think it can be as good as an in-person Q&'N sessie, maar ek dink dit kan wees pretty cool.

Ek het uiteindelik het om aan en volgende Donderdag, 07/30, my maatskappy (Arcovis) en sakevennoot, Geïntegreerde stelsels en dienste-groep, word die aanbieding van 'n Q&A like that. I’m hoping to do these regularly, as often as weekly.

Hierdie eerste sessie sal waarskynlik 'n bietjie bumpy, maar die konsep is dit:

  • As jy vrae het wat jy wil beantwoord het tydens die sessie, net opdaag en vra.
  • As jy wil, kan jy die vraag e-pos.

Ons beplan om die eerste helfte van die Q te spandeer&A per e-pos vrae en dan maak dit tot iets wat niemand vra na daardie.

Die vergadering vind plaas op Donderdag, 07/30 vanaf 12:30 en eindig by 1:30 PM EDT.

As jy belangstel, vriendelik hier te registreer: https://www323.livemeeting.com/lrs/8000043750/Registration.aspx?pageName=pxlsd9fpsm2md7h9

The panel will include me and other SharePoint luminaries. You’ll have to sign up to find out who they are 🙂

As jy wil om te wees een van daardie ligte vir 'n toekomstige Q&'N sessie, laat my weet.

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Technorati Tags:

Embed Ontwikkelaar Notes binne-in jou Path Vorms

Ek nog in die lewe in Path Vorms wêreld, en ek moes een van daardie "klein" veranderinge te maak aan 'n vorm wat, ongelukkig, breaks a naming convention I adopted with it two weeks ago. Ek het gedink, "Iemand gaan om te kyk na hierdie ding 'n jaar van nou af en sê:, "Wat was Paulus dink? By Jove, sy Naming Convention maak nie sin nie!"

Ek het besef dat ek kon 'n oog op die vorm te skep vir hierdie en dan, weer, realized that I could have been doing something like this all along. I added a “Developer Notes” view to the InfoPath form as such:

image

Ek het ingestel om die vorm sodat gebruikers dit kan nie aan daardie siening en dus, it’s only visible with the InfoPath client in design view. Now I feel a little inoculated against some future unknown developer looking at my form and thinking bad thoughts about me. Phew!

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Technorati Tags:

Die bestuur van Path Views

Dit lyk asof ek deur Path fases waar om te gaan, uit die bloute, I’m crafting a bunch of forms. My fingers learn how to use the tool well and then I go through nine month drought and have to learn it all over again.

Ek is in die middel van 'n Path-fase en ek skep die Path vorms met 'n baie wisseling. Een ding wat jy moontlik agterkom, is dat die Path 2007 client shows views in alphabetical order. This is a real nuisance some times. My best technique these days is to prepend a number to the view name so that they always show in the order I want, soos geïllustreer hier:

image

I wish I had been doing this all along.

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Technorati Tags:

Path Vorm dienste te lewer, Vorm verifikasie (FBA) en Unieke lêername

Ek werk op sommige Path vorm in MOSS hierdie week in 'n FBA omgewing en geleer, toe ek die vorms in te sit om 'n produksie-omgewing met 'n FBA sone dat die gebruikersnaam() function function does not work. I was using it to generate unique file names.

Wel, dat die funksie nie werk in 'n FBA-omgewing (ten minste, nie uit die boks). En, op weerspieëling, die gebruik van gebruikersnaam in die manier wat ek beplan het nie gewaarborg nie 'n unieke naam vir die lêer in elk geval.

My oplossing was om die nou te gebruik() 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. (Ek wys dit nie in die kiekie, maar sit 'n toestand op die reël slegs brand wanneer "myFilename" is leeg). I used to set the file name at the data source level. Typically, Ek wil iets doen (slegte) soos hierdie:

image

Die probleem met dit is dat as gebruiker 'n open die vorm op Maandag en die gebruiker B verander op Dinsdag, jy eindig met twee verskillende vorme omdat twee verskillende gebruikers gered word met ander gebruikers name.

So, irriterende as FBA kan wees in die algemeen en met Path in die besonder, dit het my weer dink 'n klein maar baie belangrike tegniese detail en benadering dat ek nie anders sou gedoen het!

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Technorati Tags:

Om SharePoint Lys / Document Library Views te Lyk (soort) Moontlik met jQuery

Dit is nog 'n post in my aan die gang reeks oor hoe om te gebruik jQuery met SharePoint.
As jy wil meer oor jQuery te leer, Ek raai: jQuery in Aksie deur die Bear Bibeault en Yehuda Katz.

Een van die eerste dinge wat ek gedink het, toe ek begin om te speel met die jQuery, was whether we could use it to secure a SharePoint view. The answer is “no” (of ten minste, Ek nie beweer dat dit is moontlik). Egter, 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: Vinnige en maklike: Skep Jou Eie jQuery Sandbox vir SharePoint.

"Veilige" 'n oog, Volg hierdie stappe:

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

    Dit is hoe dit lyk soos wanneer dit is nie "beskerm":

    image

  2. Voeg 'n redakteur web deel van die oog se bladsy met die truuk in die sandbox artikel beskryf (d.w.z. voeg "Pageview = Gedeelde&ToolPaneView = 2 "na die URL).
  3. Figure out your SharePoint _spUserId by following these crazy steps, glo of nie:
    1. Teken in jou SharePoint omgewing.
    2. In die blaaier se adres veld, tipe: "Javascript:waarsku(_spUserId ").
    3. Teken die resultaat (dit is "13" in my geval).

      image

  4. Voeg die volgende javascript te jou CEWP in die kode oog:

    <script
        "Teks / javascript"
        src ="../../jQuery Library/jquery-1.3.2.min.js">
    </script>
    
    <script type ="Teks / javascript">
      $(funksie() {
    
        waarsku(_spUserId);
    
        was theSecuredView = $("Iframe[FilterLink * = veilige% 20View]");
    
        indien ((theSecuredView.length > 0) && (_spUserId == 13))
          $("Iframe[FilterLink * = veilige% 20View]").ouer().ouer().ouer().html("<tr bgcolor = rooi><td>Geen oog vir jou!</td></tr>");
      });
    
    </script>
    

Ek het ingesluit dat die waarskuwing(_spUserId) lyn in daar is om aan te toon hoe dit is nie regtig 'n "beveiliging" 'n oog, but simply making it more difficult to see. More on that in a moment.

Basies, 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, Ons loop die DOM aan 'n <TR> dag (wat ek uitgepluis het deur die lees van die bron en die opsporing) en dan dat die TR tag vervang met my boodskap. Ek weet nie regtig hoe sterk dit is nie (Ek is baie verdagte, in werklikheid), but it worked in my sandbox. If I find a better way, Ek sal daaroor blog. Dit is die resultaat:

image

Ek kliek op die OK knoppie en die data is vervang met 'n groot rooi boodskap:

image

Soos jy kan vertel, the way I’ve implement this “security” solution is to allow the web part to render itself. After it finishes, Ek Oorskryf die inhoud daarvan met my "Geen uitsig vir jou!"Boodskap.

Ten spyte van die feit dat dit nie regtig 'n "veilige" oog, dit is moontlik nuttig en met 'n paar slim werk, it may eventually be securable in a more formal sense. The fundamental issue is that the client is getting all the data and then, net nadat dit kry die data, it wipes it out. If the client is getting the data, 'n slim gebruiker kan die jQuery verhoed loop op almal en sien wat hy / sy wil om te sien.

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, maar ek sien 'n paar goeie dinge wat geskryf is oor hierdie onderwerp, so ek hoop daar is 'n goeie antwoord vir die probleem.

Die lys van die standpunte wat hulle moet geknip word, indien moontlik. I haven’t tried to figure that out. I assume it’s possible, maar nie regtig die fundamentele sekuriteit probleem op te los omdat iemand kon nog net die URL van die oog wat hulle wil tik (as hulle dit geweet het). Egter, 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. Soms, dit is goed genoeg.

Met geluk, Ek sal meer oor hierdie onderwerp te skryf oor 'n tydperk.

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Vinnige en maklike: 'N beter manier die jQuery te gebruik om 'n teks veld weg te steek op 'n SharePoint

Dit is nog 'n post in my aan die gang reeks oor hoe om te gebruik jQuery met SharePoint.
As jy wil meer oor jQuery te leer, Ek raai: jQuery in Aksie deur die Bear Bibeault en Yehuda Katz.

Voorheen, 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 (Ek was aaneenskakeling ouers - dit is eenvoudig nie gedoen word nie hierdie dae, ten minste in die families van gehalte).

Toe ek die eerste keer begin om te dink oor dit, Ek het geweet ek nodig het om te vind 'n <TR> wat ek kon die vel opper() metode. My early effort to find the correct <TR> was iets soos hierdie:

$("Tr:het(insette[title = Steek my!])");

Die probleem met dit is dat dit elke sou vind <TR> tag that had any parent relationship to the Hide Me! veld, selfs al Steek my! berus op baie vlakke diep in <TR>’s. It turns out that on my sandbox form, dat uitdrukking vind 9 verskillende TR se wat Steek my! as a child somewhere in its DOM tree. I realized that I could walk back up the tree from the input field itself, so dit is hoe ek geëindig het die misbruik van ouers, maar dit het nie goed sit met my.

Ek het 'n paar gedagte en een van die dinge wat ek gelees het uiteindelik sin gemaak: Ek kon die nie() metode te knip uit <TR>’s I don’t want in my wrapped set. Dit het my gelei tot hierdie:

$("Tr:het(insette[title = Steek my!])").nie("Tr:het(tr)").verberg();

Die eerste bietjie vind al die <TR> tags wat Steek die my! field anywhere in their own hierarchy. It then strips out any <TR> wat ook 'n kind <TR>. This leaves us with a single <TR> wat:

1) Het geen <TR> kind rekords

2) Does have the input field as child.

Ons kan dan aansoek doen om die vel() metode om die gevolglike stel en wat ons gedoen het.

Ek is nog steeds 'n bietjie senuweeagtig oor hierdie, maar nie so senuweeagtig soos aaneenskakeling ouers.

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

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Vinnige en maklike: Gebruik jQuery 'n teks veld weg te steek op 'n SharePoint vorm

Dit is nog 'n post in my aan die gang reeks oor hoe om te gebruik jQuery met SharePoint.
As jy wil meer oor jQuery te leer, Ek raai: jQuery in Aksie deur die Bear Bibeault en Yehuda Katz.

UPDATE (reeds!): Ek het dink van 'n beter manier om op te spoor <TR> kan ek wil hê om weg te steek en skryf oor dit hier. You may still find this article interesting anyway so I’m leavnig it up.

Ek wil 'n teks veld weg te steek, "Steek my!"Soos:

image'

Die volgende jQuery nie die truuk vir my:

<script type ="Teks / javascript">

  $(funksie() {


    $(Se insette[title = Steek my!]").ouer().ouer().ouer().verberg();

  });

</script>

Die kode sê, "My vind al die velde wie se title = verberg my!. Toe, kry sy ouer, en dan volgende ouer en die * volgende * ouer (Sjoe!) en roep die vel() metode op daardie ding, wat dit gebeur om te wees.

Ek het gedink dat ouer struktuur deur die lees van die HTML vir die vorm wat SharePoint geskep soos:

<TR>
    <TD sukses van hul loopbaan="true" deel van die oplossing="top" wydte="190px" klas="ms-formlabel">
        <H3 klas="ms-standardheader">
            <nobr>Steek my!</nobr>
        </H3>
    </TD>

    <TD deel van die oplossing="top" klas="ms-formbody" wydte="400px">
        <!-- FieldName="Hide Me!"
                 FieldInternalName="Hide_x0020_Me_x0021_"
                 FieldType="SPFieldText"
        -->
        <span jy="none">
            <insette
                naam="ctl00$m$g_bdb23c2c_fde7_495f_8676_69714a308d8e$ctl00$ctl04$ctl02$ctl00$ctl00$ctl04$ctl00$ctl00$TextField"
                tipe="text"
                MaxLengte="255"
                ID="ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                titel="Hide Me!"
                klas="ms-long" />
                <br>
        </span>


    </TD>
</TR>

Hierdie foto toon dieselfde, maar gemerk met die ouers:

image

Die eerste ouer (1) is a span tag. Span’s parent (2) is 'n TD tag en dan uiteindelik ons ​​by die werklike ouer ek wil om weg te steek (3) wat is die TR tag self.

This is a pretty terrible approach I think because it’s extremely dependent on the very specific structure of this form. When SharePoint 2010 kom uit, 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 (en net TR tags) wat iewers in hul kind elemente 'n invoer veld wie title = verberg my!". I starting from the bottom and moving up. Assuming I figure this out, Ek sal na 'n updated "vinnig en maklik 'post.

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Vinnige en maklike: Skep Jou Eie jQuery Sandbox vir SharePoint

Dit is nog 'n post in my aan die gang reeks oor hoe om te gebruik jQuery met SharePoint.
As jy wil meer oor jQuery te leer, Ek raai: jQuery in Aksie deur die Bear Bibeault en Yehuda Katz.

Kom ons begin met jQuery in SharePoint is verbasend maklik (vir my). (Ek het ernstige vrae oor 'n "beste praktyke" benadering tot die implementering van hierdie dinge aan die produksie, Maar dit is vir 'n ander dag). 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, jy kan vind hierdie benadering nuttig.

1. Skep 'n leë webwerf

Skep 'n leë plek iewers in jou werf in en noem dit iets slim soos "jQuery Sandbox".

2. Aflaai jQuery

Jy kan die jQuery JavaScript-biblioteek van hier aflaai: http://docs.jquery.com/Downloading_jQuery

Behalwe dat jou rekenaar.

Ek het al met behulp van die "minified" weergawe.

3. Skep 'n SharePoint Document Library

In jou sandput werf, create a document library.

4. Laai die jQuery Biblioteek SharePoint

Toegang tot die doc biblioteek jy net gemaak het en laai die jQuery biblioteek.

5. Skep 'n Custom SharePoint Lys

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. Steek 'n veld.
  2. Ken 'n waarde aan 'n veld.

Met dié doel voor oë, I added two text fields. Over time, Ek sal speel met skakels, beelde, soektogte, ens..

6. Verander die NewForm.aspx Web Deel Page en voeg 'n redakteur Web Deel

Dit is 'n klein swart magie-ish , in that it’s a new concept to me. I first learned about this from Paul Grenier, SharePoint jQuery Superstar, by sy CodePlex projek site: http://spff.codeplex.com/.

Volg hierdie stappe om om 'n CEWP te voeg by die dieselfde bladsy wat toon NewForm.aspx, vir 'n persoonlike lys:

  1. Toegang tot die persoonlike lys en klik op nuwe.
  2. Voeg die volgende by die URL: Pageview = Gedeelde&ToolPaneView = 2

Dit sal jou vervelige vanielje data inskrywingsvorm transformeer van iets soos hierdie:

image

Om hierdie:

image

Voeg die inhoud redakteur web deel na die bladsy.

7. Skryf jou eerste jQuery Kode

Maak dat CEWP in die kode oog en voeg die volgende:

image

Hier is die kode as jy wil kopieer / plak:

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

<script type ="Teks / javascript">
  $(funksie() {

    $("# ResultsID").html("Daar is ' + $("A").grootte() + 'N tags tags op hierdie bladsy. ");

  });
</script>

Uitslag:
<div id ='ResultsID "></Div>
/lei

Let daarop dat die eerste <script> tag is referencing the actual jQuery library. Presumably, hierdie dinge verander met verloop van tyd, sodat jy wil maak seker dat jy 'n) gebruik die regte naam en b) wys dit na die korrekte SharePoint dokument biblioteek.

Koester in die heerlikheid

As jy het dit reg, sien jy 'n resultaat soortgelyk aan die volgende:

image

Wikkel

Dit is nie die enigste manier om te begin, maar dit is vinnig, easy and isolated from your existing SharePoint environment.

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin