Minimum vereiste sekerheid Path Vorms

I needed to meet a security requirement for an InfoPath form today. In this business situation, a relatively small number of individuals are allowed to create a new InfoPath form and a much wider audience are allowed to edit it. (Dit is 'n nuwe-huur op-koshuis te gebruik wat deur menslike hulpbronne wat begin met 'n workflow).

Daardie doel te voldoen, Ek het geskep twee nuwe toestemming vlakke ("create and update" and "update only"), broke inheritance for the form library and assigned permissions to a "create, werk" user and a separate "update only" gebruiker. The mechanics all worked, but it turned out to be a little more involving than I expected. (As jy voel 'n bietjie wankelrig op SharePoint regte, check hierdie blog post). The required security configuration for the permission level was not the obvious set of granular permissions. To create an update-only permission level for an InfoPath form, Ek het die volgende:

  1. Skep 'n nuwe toestemming vlak.
  2. Duidelik weg alle opsies.
  3. Selected only the following from "List permissions":
    • Wysig Items
    • View Items
    • Sien Aansoek Pages

Kies hierdie opsies kan 'n gebruiker 'n vorm by te werk, maar nie skep dit.

The trick was to enable the "View Application Pages". There isn’t any verbage on the permission level that indicates that’s required for update-only InfoPath forms, maar blyk dit.

Create-and-Update was even stranger. I followed the same steps, 1 deur 3 bo. I had to specifically add a "Site Permission" opsie: "Use client integration features". Weer, Die beskrywing is daar nie maak dit lyk soos dit behoort te wees wat nodig is vir 'n Path vorm, maar daar is dit.

</einde>

Technorati Tags: ,

Dit “In-Between” Voel; Waarnemings op SharePoint Consulting

Ongelukkig, phase one of my last project has come to a close and the client has opted to move ahead by themselves on phase two. We did our job too well, as usual 🙂 I’m now between projects, 'n spesiale tyd vir personeel konsultante soos myself (as opposed to independents who must normally live in perpetual fear of in-between time 🙂 ). We staff consultants fill this time in various ways: Werk met verkope folk voorstelle te skryf; vul in vir iemand of back-up van 'n persoon op hierdie of wat vreemd werk; studying; Blogging :). It’s hard to plan more than a few days in advance. At times like this, terwyl ek 'n bietjie van die tyd op my hande, I like to reflect.

I’m almost always sad to leave a client’s campus for the last time. We consultants form a peculiar kind of relationship with our clients, unlike your typical co-worker relationship. There’s the money angle — everyone knows the consultant’s rate is double/triple or even more than the client staff. You’re a known temporary person. As a consultant, you’re a permanent outsider with a more or less known departure date. Tog, jy eet middagete saam met die kliënt, neem hulle uit vir ete en / of vir drankies, koop koekies vir die span, gaan op koffie lopies, gee / ontvang vakansie kaarte — all the kinds of things that co-workers do. On one hand, you’re the adult in the room. You’re an expert in the technology which puts you in a superior position. Aan die ander kant, you’re a baby. On day zero, konsultante ken nie die name, the places or the client’s lingo. Most times, konsultante nooit leer om dit alles.

Wanneer dinge goed gaan, you become very well integrated with the client’s project team. They treat you like a co-worker in one sense, and confidant in another. Since we don’t have a manager-style reporting relationship with the client, the project team often feels a little free to air their dirty laundry. They let their barriers down and can put the consultant into an awkward position, nooit besef dat hulle dit doen.

Consultants often don’t get to implement phase two and that never gets easy for me. I think this is especially hard with SharePoint. Phase one of of your typical SharePoint project covers setup/configuration, bestuur, taksonomie, basiese inhoud tipes, ens.. en in baie opsigte, neerkom op 'n lang, extremely detailed discovery. That’s how I view my last project. We did all the basic stuff as well as execute some nice mini-POC’s by extending CQWP, implementering van BDC verbindings te PeopleSoft, het 'n redelik komplekse workflow met SharePoint Designer, touched on basic KPI’s and more. A proper phase two would extend all of that with extensive, byna deurdringende BDC, baie mooi workflow, verfyn en beter soek, rekords sentrum, blink dienste en waarskynlik die belangrikste, reaching out to other business units. Maar, dit is nie vir my, and that’s sad.

Op grond van hierdie onlangse ondervinding, I think it’s fair to say that a proper enterprise SharePoint implementation is a one year process. It could probably legitimately run two years before reaching a point of diminishing returns. Details matter, natuurlik.

That’s the consultant’s life and all of these little complaints are even worse in a SharePoint engagement. Soos ek geskryf het voordat, SharePoint’s horizontal nature brings you into contact with a wide array of people and business units. When you’re working with so many people, kan jy sien so baie maniere wat SharePoint kan help om die maatskappy meer doeltreffend, tyd bespaar, dinge beter te doen… but you don’t always get to do them.

Ek het dikwels kyk terug na my eerste werk van die kollege, before starting a consulting career 1995. We did get to do a phase two and even a phase three. Those were nice times. On the downside, egter, that means that that would mean a lot of routine stuff too. Managing site security. Tweaking content types. Creating views and changing views. Dealing with IE security settings. Restoring lost documents. Blech! 🙂

Ten spyte van my melancholie stemming, Ek kan nie dink aan 'n plek waar ek wil eerder (behalwe op 'n warm strand met 'n mooi aanbod van geeste).

Ek kan nie wag om te begin geïmplementeer om die volgende onderneming SharePoint projek.

(Na aanleiding van niks, Ek het die meeste van hierdie blog inskrywing op 'n NJ Transit bus. I don’t think I made any friends, but one CAN blog on the bus 🙂 )

</einde>

Technorati Tags:

Sondag Funny: “Hulle is nie so sleg nie”

Terug naby 1999, Ek het spandeer baie weke in Santa Barbara, CA, werk vir 'n kliënt, leaving my poor wife back here in New Jersey alone. I dearly love my wife. I love her just as much today as I did when she foolishly married me 1,000 years or so ago. Iewers langs die lyn, Ek geskep om 'n frase, "special fear", as in "Samantha has special fears." She as a special fear of "bugs", wat aan haar is nie vlieë of ladybugs, but rather microbes. She’s afraid of this or that virus or unusual bacteria afflicting our son, of my, but never really herself. (Sy is ook spesiaal bang vampiere, miniatuur bose poppe (veral narre) en ondersese ongelukke; Sy het uit-gegroei haar spesiale vrees vir mense geklee in Santa Claus uitrustings).

Een dag, my co-worker and I decided to drive up into the nearby mountains near Ohai. At one point, we got out of the car to take in the scene. When we got back into the car, I noticed that a tick was on my shoulder. I flicked out the window and that was it.

Daardie aand, I told her about our drive and mentioned the tick. The conversation went something like this:

S: "Oooo! Those are bad. They carry diseases."

P: "Well, Ek gewip dit by die venster uit."

S: "They are really bad though. They can get under your skin and suck blood and transfer bugs. You better check your hair and make sure there aren’t any in your head!"

P: In 'n groot stem: "My God! CAN THEY TAKE OVER YOUR MIND???"

S: Letterlik my gerus te stel: "No, hulle is nie so sleg nie."

</einde>

Technorati Tags:

Vinnige en maklike: Outomaties oopmaak Path Vorm Van SharePoint Designer E-pos

UPDATE: Madjur ahuja punte uit hierdie skakel vanaf 'n nuusgroep bespreking: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. It’s pretty definitive.

===

We often want to embed hyperlinks to InfoPath forms in emails sent from SharePoint Designer workflows. When users receive these emails, hulle kan op die skakel van die e-pos en gaan direk na die Path vorm.

Hierdie monster URL konstruksie werk vir my:

http://server/sites/departments/Technical Services/InformationTechnology/HelpDesk/_layouts/FormServer.aspx?XmlLocation=/sites/departments/Technical Services/InformationTechnology/HelpDesk/REC REM RED Forms/REC2007-12-18T11_33_48.xml&Source=http://server.corp.domain.com/sites/departments/Technical%20Services/InformationTechnology/HelpDesk/REC%20REM%20RED%20Forms/Forms/AllItems.aspx&DefaultItemOpen = 1

Vervang die vetgedrukt rooi teks met die naam van die vorm, soos in die volgende kiekie:

beeld

Let daarop dat daar is 'n baie harde-gekodeerde pad in die URL, as well as a URL-encoded component. If this is too hard to translate to your specific situation, try turning on alerts for the form library. Post a form and when you get the email, sien die bron van die e-pos en jy alles wat jy nodig het om te sluit sien.

Astute readers may notice that the above email body also shows a link that directly accesses the task via a filtered view. I plan to explain that in greater detail in a future post.

</einde>

Technorati Tags:

Dink oor kommersiële produkte

Ek het 'n SharePoint Designer uitbreidings projek tot by CodePlex vroeër vanjaar en selfs al is dit is nogal regtig beperk in omvang, Ek skat dat dit afgelaai deur 40 aan 60 (moontlik selfs 100) companies in just about two months. That indicates to me that there’s a market for that solution and if I were to successfully commercialize it, that could translate into a goodly amount of beer 🙂

My agtergrond is eintlik baie meer in die produk-ontwikkeling, en ek weet wat nodig is om 'n top-notch produk te bring, in teenstelling met 'n CodePlex stokperdjie projek, to market. In my verlede lewe, Ek was verantwoordelik vir die produk R&D for all software products. The difference between then and now is that I’m a consultant now working for an (uitstekende) raadgewende firma (Conchango). Voorheen, Ek het 'n hele maatskappy agter my en voor my, selling and supporting the products we brought to market. Vandag, Ek wil alleen wees.

Ek het 'n paar produk idees in gedagte, but I think the easiest would be to create a commercial version of the above-mentioned CodePlex project that uses that as a starting point and extends it further. My fuzzy off-the-cuff thinking is to charge something like $100 vir 'n onbeperkte ontwikkelaar lisensie en $500 per production web front end. I think I would also give away the source code.

As jy gedagtes of ervarings wat jy bereid om te deel, los 'n kommentaar of e-pos my direk. I’d like to hear opinions like:

  • Is dit alles die moeite werd?
  • Praktiese voorstelle vir bemarking, samel geld in, verspreiding van.
  • Pryse.
  • Ondersteun.
  • Enige ander kommentaar wat jy wil laat.

Dit is maklik" vorendag te kom met die produk idees en om hulle te implementeer, though many dozens of hours of work are required. The other stuff is not as easy for me.

</einde>

Technorati Tags:

Sondagoggend Funny: “Jesus moet sterf”

Wat ons gekoop het ons eerste (en slegs) "Luukse" car back when hurricane Floyd nailed the east coast of the U.S. We got a LOT of rain here in New Jersey and n paar dae geslaag before life returned to normal. Just before Floyd struck, ons het 'n aanbod vir 'n gebruikte Volvo 850 GL en na Floyd getref, gery het dit in die huis.

It was our first car with a CD player. Like most new car owners, ons het 'n bietjie CD crazy, revived our dormant CD collection and went on long drives just to listen to CD’s in the car. Like all fads, this passed for us and we ended listening to the same CD over and over again. In ons geval, dit was Jesus Christ Superstar.

Een van die (baie) briljante stukke in daardie rock opera gesing deur die vestiging godsdienstige tipes, gelei deur Kajafas, the "High Priest". They sing their way into deciding how to handle the "Jesus problem" and Caiaphas directs them to the conclusion that "Jesus must die". The refrain on the song is "Just must die, Moet sterf, Moet sterf, this Jesus must die". You hear that refrain a lot in that piece.

Op die oomblik, my son was about three years old. You can probably see where this is going.

I came home from work one day and my son is in the living room playing with toys and humming to himself. I’m taking off my jacket, soek deur die pos en al my gewone loop-in-die-deur goed en het ek skielik besef dat hy net sê, nie regtig sing: "Jesus moet sterf, Moet sterf, must die." I was mortified. I could just see him doing that while on one of his baby play dates at a friend’s house — waarskynlik die laaste toneelstuk datum met wat baba vriend.

We pulled that CD out of the Volvo after that 🙂

</einde>

Technorati Tags: ,

Google My Live Spaces Blog aanvaar het in die AdSense-program

UPDATE: Soos van 03/09, I have found no way to integrate my live spaces account with Google Adsense. Microsoft’s system here seems to prevent all of the technical mechanisms that Google provides would-be adsense hosters. I tend to believe this is mainly a side effect of the security they’ve built into live spaces, not a direct effort to disable Adsense.

Dit is nie 'n SharePoint post, maar dalk van belang om te bloggers die algemeen.

Someone commented on their Windows Live Spaces blog that Google affirmatively denied their application to participate in AdSense. She theorized that Google denied her because Windows Live Spaces hosts her blog. Egter, Ek was onlangs in die program aanvaar vir my lewe ruimtes blog, sodat die beleid het nie verander of Google ontken haar vir 'n ander rede.

Natuurlik, Ek sien nie enige ooglopende manier om Google AdSense te integreer in my lewe ruimte, but it’s a start 🙂

</einde>

Technorati Tags: ,

Implementering van Meester / Die Detail Verhoudings Gebruik Custom Lyste

Forum gebruikers dikwels as vrae soos hierdie:

> Hallo,
>
> Sê asseblief vir my as daar enige moontlikhede om 'n persoonlike lys op te bou met
> meester en detail tipe (soos fakture) sonder die gebruik van Path.
>

SharePoint bied 'n paar uit die boks funksies wat ondersteun soorte van die maatskappy se behoeftes soos wat.

In die algemeen, one links two lists together using a lookup column. List A contains the invoice header information and list B contains invoice details.

Gebruik die addisionele lyste kliënt getalle te handhaaf, produk getalle, ens..

Gebruik 'n inhoud navraag web deel (slegs in Moss) and/or a data view web part to create merged views of the lists. SQL Server Reporting Services (SRS) is ook beskikbaar vir die aanmelding kant van.

Egter, there are some important limitations that will make it difficult to use pure out-of-the-box features for anything that is even moderately complex. These include:

  • Grootte van verwante lookup lyste vs. "Intelligensie" of the lookup column type. A lookup column type presents itself on the UI differently depending on whether you’ve enabled multi-select or not. In either case, the out-of-the-box control shows all available items from the source list. If the source list has 1,000 items, that’s going to be a problem. The lookup control does not page through those items. In plaas daarvan, it pulls all of them into the control. That makes for a very awkward user interface both in terms of data entry and performance.
  • Soektogte "terug te trek" one column of information. You can never pull back more than one column of information from the source list. Byvoorbeeld, jy kan nie 'n kliënt kies "12.345" and display the number as well as the customer’s name and address at the same time. The lookup only shows the customer number and nothing else. This makes for an awkward and difficult user interface.
  • No intra-form communication. Ek het geskryf oor hierdie hier. You can’t implement cascading drop-downs, voorwaardelik in staat gestel / afskakel velde, ens..
  • No cascading deletes or built-in referential integrity. SharePoint treats custom lists as independent entities and does not allow you to link them to each other in a traditional ERD sense. Byvoorbeeld, SharePoint kan jy twee persoonlike lyste te skep, "Kliënt" and "invoice header". You can create an invoice header that links back to a customer in the customer list. Toe, you can delete the customer from the list. Uit die boks, there is no way to prevent this. To solve this kind of problem, jy nie normaalweg sou geval hanteerders gebruik.

Dit mag lyk donker, but I would still use SharePoint as a starting point for building this kind of functionality. Though there are gaps between what you need in a solution, SharePoint ons in staat stel om daardie gapings te vul wat die gebruik van gereedskap soos:

  • Event hanteerders. Use them to enforce referential integrity.
  • Custom kolomme: Create custom column types and use them in lieu of the default lookup column. Add paging, buffer en om AJAX funksies te maak hulle ontvanklik.
  • BDC. This MOSS-only feature enables us to query other SharePoint lists with a superior user interface to the usual lookup column. BDC can also reach out to a back end server application. Use BDC to avoid replication. Rather than replicating customer information from a back end ERP system, use BDC instead. BDC features provide a nice user interface to pull that information directly from the ERP system where it belongs and avoids the hassle of maintaining a replication solution.

    BDC is 'n MOSS funksie (nie beskikbaar in WSS) and is challenging to configure.

  • ASP.NET web vorm: Skep 'n volle funksionaliteit AJAX-enabled vorm wat gebruik die SharePoint voorwerp model en / of web dienste te hefboom SharePoint lyste, terwyl die verskaffing van 'n baie ontvanklik gebruikerskoppelvlak.

Die laaste opsie kan voel soos jy begin van nuuts af, maar kyk na die feit dat die SharePoint platform begin jy met die volgende belangrike funksies:

  • Sekuriteit model met onderhoud.
  • Menu met onderhoud.
  • "Meester tafel" (d.w.z. persoonlike lyste) met sekerheid, gebou-instandhouding en ouditering.
  • Soek.
  • Terug einde integrasie gereedskap (BDC).

As jy begin met 'n nuwe leë projek in Visual Studio, jy het 'n baie infrastruktuur en loodgieterswerk te bou voor jy naby wat SharePoint bied,.

I do believe that Microsoft intends to extend SharePoint in this direction of application development. It seems like a natural extension to the existing SharePoint base. Microsoft’s CRM application provides a great deal of extensibility of the types needed to support header/detail application development. Although those features are in CRM, the technology is obviously available to the SharePoint development team and I expect that it will make its way into the SharePoint product by end of 2008. If anyone has an knowledge or insight into this, los 'n comment.

</einde>

Vinnige Wenk: Inhoud Query Web Deel, Soek Kolom Waarde en XSL

Ek het 'n kolom naam in 'n inhoud-tipe, genaamd "Real Estate Plek".

Hierdie kolom is van die tipe "lookup".

Ek het verander <CommonViewFields> en ItemStyle.xsl die kolom om aan te toon.

'N eenvoudige <xsl:waarde van kies =…> . Retour terug 'n interne waarde wat ordinale posisie data, soos:

1;#Miami

Die mens-waarde te kry, Gebruik xsl substring-na, soos aangedui:

<xsl:, (@ Real_x005F_x0020_Estate_x005F_x0020_Location, '#') "> (@ Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></xsl:waarde van>

Gebruik hierdie tegniek wanneer jy besig is met die opsoektabel waardes in XSL-transforms en nodig het om die mens-waarde te kry.

<einde />

Technorati Tags: , ,

SharePoint Beagle Desember-uitgawe & Leef

Baie van julle weet dat dit reeds, maar die Desember-uitgawe van SharePoint Beagle is live.

Elke artikel is die moeite werd lesing in my mening.

Ek wil 'n bietjie ekstra stamp te gee aan my kollega se artikel (Natalya Voskrensenskya). She provides a screen-shot extravaganza while describing how she used custom lists, workflow, SharePoint Designer, data views and other elements to implement a self-service training feature in MOSS. She describes techniques that can be applied in many different business scenarios. Check out haar blog terwyl jy.

Moenie vergeet om te kyk na my artikel as well 🙂 I wrote about using MOSS to help an HR department manage open positions.

</einde>