June: SharePoint Solutions Design

Expugnaturum “mailto:” Metrics

I’m on a project where we need to collect metrics around a function named "Share a Story." The idea is very simple — Si vestri 'vultus in intranet volo ad minim socium elit quis, click a link labeled "Share this story" is ut vestri email Buddy.

Lusimus circum consuetudo forma ad hoc, sed in finem, iustus utor familiaribus et victor sensus <a href = mailto:…> technique. (<a href mailto:…> corpulentiores MIRUM est aliquantulus frenum of HTML; sicut bonus, paginis quibus pagina introduxit me ad virum meum Unix diebus antiquis; diebus illis erant,!).

Hoc ars praebet users cum magna interface pro fine habent usum nota MS Outlook client (vel quidquid email client sunt installed).

Quod facit res duriores nobis cum clienti typos elit, * et páuperem: * in futurum quod vult currere fama ostendit quod etiam saepe users participent fabulis et fabulis plerumque communia sunt.

We whiteboarded a few potential solutions. My favorite is to carbon copy (CC) a SharePoint list. That way, the end user still gets the outlook client while we get to capture the event because we’ll get a copy of the email ourselves. There are some obvious drawbacks. The main problem is that the user could simply blank out or otherwise mangle the CC address. Et, we need to manage that event library of emails. We have a scheduled job on the white board responsible for that cleanup.

Si hoc problema aditum haberent ingenia, dic placeat facere.

</finem>

Scribet ad mea blog.

Sequi me in Twitter ad http://www.twitter.com/pagalvin

DEFINITIO “Magnus” Requisita SharePoint

Ut postulaverat: et promiserunt, I’ve uploaded my presentation on how to obtain "great" requirements from end users for SharePoint projects and implementations. It’s here: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/Paul 20Galvin%%% 20Great 20Requirements.zip

Ego in hoc sistebat SharePoint Optimus Actiones in conloquium Feb 2009 (www.sharepointbestpractices.com). If you attended the conference, youll 'adepto is in colloquio DVD.

The presentation includes a lot of notes with most slides. It’s not just bullet points.

(Vide hic in aliis meis ad praesentationem causa studio in regimine: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!3099.entry

</finem>

Scribet ad mea blog.

Sequi me in Twitter ad http://www.twitter.com/pagalvin

Sui ministerium Site creatio non prorsus Per Partum Sites

Sicut multa genera SharePoint Consultoris, I’ve been exposed to a lot of SharePoint functionality. ALIQUOTIES, I dive pretty deep. Other times I just notice it as I’m flying by to another set of menu options. One of those is "self-service site creation." I haven’t had a need for it until this week.

Hoc septimana, I need to solve a business problem which I think is going to become more common as companies loosen up and embrace more direct end user control over SharePoint. In hoc, I’ve designed a site template to support a specific end user community. Folks in this community should be able to create their own sites at will using this template whenever the urge strikes them.

I recalled seeing "self-service site creation" before and I’ve always tucked that away in the back of my head thinking that "self service site creation" lingo est sensus SharePoint, satis patet, something like "turn me on if you want end users to be able to create sites when they want to."

Ita, Ego convertam eum, experior is sicco pro me, it’s not creating sites. It’s creating site Collectiones. Pretty big difference. That’s not what I want, Minime.

It is possible to let end users create new sub sites via a custom permission level. This is exactly where I would have gone in the first place except that the label "self-service site creation" label deceived me. Via twitter, I learn that it’s deceived others as well 🙂

Ego tamen paulo plus operatur quam providere de purus turpis pulvinar sit amet commorantem, but there’s a definite path to follow. Just don’t get distracted by that label.

</finem>

Scribet ad mea blog.

Sequi me in Twitter ad http://www.twitter.com/pagalvin

Technorati Tags:

Sursum enim fun et utilitatem suus nere temporaria Rectum WFE

Ego eram unus of 20 aut 30 (vel maybe 100?) panelists last night at the Lugduni SharePoint Users Group meeting. Instead of the usual presentation format, Hoc erat in circuitu Q&A between the audience and the panel members. Early on, Michael Lotter introduced me to a new idea and I wanted to share.

An audience member described how his company had paid a consultant to write an application for his company. The consultant wrote it as a console application using the SharePoint object model. Ut ex, this meant that the program had to be run on a server in the farm. This meant that anyone that wanted to use the app would have to log onto the server, do the work and log off. Primo, this wasn’t a problem, but soon, more and more (non-technical) users needed to use the utility. His question was (paraphrasing):

"What are my options? I don’t want to keep letting users log directly onto the server, but they need that functionality."

Michael Lotter suggested that he configure a new virtual machine, join it to the farm as a WFE and let users run the application from there.

This is a pretty stunning idea for me. Generalizing this solution brings to mind the notion of essentially temporary, almost disposable WFE’s. I think it’s a pretty neat concept. This temporary WFE can run a console application that uses the SharePoint object model. You could also use it to run stsadm commands. It doesn’t have to be part of regular local balancing. If it goes down or gets wrecked, you can just spin up a new one. I repeat myself, but I just have to say that I think it’s a really neat idea.

</finem>

Scribet ad mea blog.

Sequi me in Twitter ad http://www.twitter.com/pagalvin

Technorati Tags:

Vestibulum nec urna magna-scala MUSCUS: 50k diurno, 10 Decies totalis

Praeterita septimana, quis interroganti de creando a pulchellus altum volumen SharePoint environment quod prorsus tractandi novum documenta (10,000 +/- hoc in casu). I don’t know much about this, sed gratias ad hoc chartam albam, Sentio melius informati.

Enim me, haec charta alba fere iustum librum Marcus momento, but I did start reading through it and thought I’d highlight my main take-away. SharePoint can be scaled to handle, minimum, hoc onere:

  • 50k novum documenta diurno.
  • 10 decies totalis documenta.

I write the 50k/10MM figures because they are easy enough to remember. As long as you know they are minimums, you won’t get into trouble. The maximums are at least 10 percent superior quam et summa tuning, nequaquam multus altior.

Gratias, Mike Walsh, iterum eius septimanis WSS FAQ updates et correctionibus stipes. If you’re not subscribed to it, ut serio cogitare de faciendo.

</finem>

Scribet ad mea blog.

Senior MS Officium Lima ut salvares SharePoint Usura WebDAV — Quaestiones et figit

Bis priore septimana, my colleague and I were doing some work for a client in NYC. We were testing a different aspects of a MOSS implementation using their "standard" workstation extructione (ut opponitur ad laptops). While doing that, nos cucurrit in errores, ex his paucis gradibus:

  • Open up an MS word document via windows explorer (which uses WebDAV).
  • Make a change.
  • Save it.

We came to realize that some times (usually the first time) we saved the document, the save didn’t "stick." Save did not save. We would pull that document back up and our changes simply were not there.

We didn’t understand the root issue at this point, but we figured that we should make sure that the latest MS Office service pack had been installed on that work station. The IT folks went and did that. We went through the test again and we discovered a new problem. When we saved it, we now got this error:

imaginem

Hoc tempore, it seemed like every change was, in facto, saved, whether we answered Yes or No to the scripts question.

We finally had a look at the actual version of Office and it turns out that the workstation was running MS Office 2000 with service pack 3 which shows up under Help -> About as "Office 2002".

The moral of the story: I will always use Office 2003 as my minimum baseline office version when using WebDAV and MOSS.

</finem>

Scribet ad mea blog.

Technorati Tags:

(For search engine purposes, this is the error’s text):

Linea: 11807

Char: 2

Errorem: Object doesn’t support this property or method

Code; 0

URL: http://sharepoint01/DocumentReview/_vti_bin/owssvr.dll?location=Documents/1210/testworddocument.doc&dialogview=SaveForm

Do you want to continue running scripts on this page?

Lorem Tip SharePoint: Utor “notitia untagged” Lorem sen incrementales

In one or my very first blog posts, Ego describitur processus altiore secuti sumus migrare a adipiscing a SPS 2003 to MOSS. A reader left a comment asking for more detail and here it is.

Nam fringilla tincidunt ut, nos movet ad bene multum SPS 2003 documents over to MOSS. The initial load was easy enough. Create a new target document library in MOSS and use windows explorer to move the documents.

This is the new document library:

imaginem

Open up two windows explorers. Point the first at SPS 2003 and the second at the new document library in MOSS. The following screen shot shows this. Note that the top browser is actually pointing at my c:\temp drive, but you can imagine it pointing to an SPS 2003 document library:

imaginem

After that drag and drop operation, my target looks like this:

imaginem

Now it’s time to deal with the metadata. Assume we have just one column of metadata for these documents named "location." We can see from the above "all documents" view that the location is blank. It’s easy enough to use a data sheet view to enter the location, or even go into each document’s properties one by one to add a location. Let’s assume that there is no practical way to assign the location column a value automatically and that end users must do this by hand. PRAETEREA, let’s assume there are hundreds of documents (maybe thousands) and that it will take many many days to update the metadata. As we all know, no one is going to sit down and work for four of five days straight updating meta data for documents. Pro, they will break that out over a period of weeks or possibly longer. To facilitate this process, we can create an "untagged data" view as shown:

imaginem

Now, when someone sits down to spend their allocated daily hour or two to tag migrated documents, they can use the "untagged documents" view to focus their effort:

imaginem

As users tag documents, they drop off this list.

This notion of an untagged data view can also help with a class of data validation problem people inquire about on the forums. Ex arca archa, there’s no way to prevent a user from uploading a document to MOSS and then not enter meta data. We can specify that a particular site column is mandatory and the user won’t be allowed to push the save button. Autem, if the user uploads and then closes the browser (or uses windows explorer to upload the document), we can’t force the user to enter meta data (iterum, out of the box).

This approach can be used to help with that situation. We can use a "poorly tagged data" view to easily identify these documents and correct them. Couple this with a KPI and you have good visibility to the data with drill-down to manage these exceptional circumstances.

</finem>

Scribet ad mea blog.

Technorati Tags:

MUSCUS agellus installation et turpis Configuration Bellum

Hoc septimana, I’ve struggled a bit with my team to get MOSS installed in a simple two-server farm. Having gone through it, Habeo enim maius reputabunt problematum genera referre populus forums et alibi in MSDN.

Ultima figuratio firmam:

  • SQL / Index / Intranet WFE intra firewall.
  • WFE in DMZ.
  • Quaedam firewall inter internum et DMZ server.

Ante project started, we let the client know which ports needed to be open. During the give and take, super quod illuc, dixit duo nos nunquam explicite rebus:

  1. Lorem significet vos postulo testimonium.
  2. The DMZ server must be part of a domain.

Die una, we showed up to install MOSS and learned that the domain accounts for database and MOSS hadn’t been created. To move things along, we went ahead and installed everything with a local account on the intranet server.

Ad hoc, invenimus confusione super ipsum et Lorem, miserabile, decided to have our infrastructure guy come back later that week to continue installing the DMZ server. Interea, solutione sumus architecti præmitte movetur negotium effercio.

Et it a volutpat vestibulum certifi client obtinet,.

Infrastructure guy ostendit nostrae et invenit quod DMZ cultor est non adiungi alicui dominico (vel perimeter vel area cum limitata confídunt in dominico intranet). We wasted nearly a 1/2 die illa. If we hadn’t let the missing SSL certificate bog us down, we would have discovered this earlier. Oh well….

Alium diem superat, et diversa securitas Suspendisse, quorum interest, et (non ita) Innocens circumstantium conveniunt omnes OK suus ad coniungere cum servo DMZ intranet dominico (hoc est POC, post omnes, non productio solutionem).

Infrastructure guy comes in to wrap things up. This time we successfully pass through the the modern-day gauntlet affectionately known as the "SharePoint Configuration Wizard." We have a peek in central administration and … EM faciatis! … DMZ server is listed in the farm. We look a little closer and realize we broke open the Champaign a mite bit early. WSS services is stuck in a "starting" status.

Longum brevi, it turns out that we forgot to change the identity of the service account via central administration from the original local account to the new domain account. We did that, Re-cucurrit configuration veneficus voila! We were in business.

</finem>

Scribet ad mea blog.

Technorati Tags:

Addiscens via dura — DMZ WFE erit in domain

Licet non proprie verus, sicut operabilis, an Penitus-telam contra finem in fronte DMZ erit in dominico (i.e. Non quidam server standalone suo paulo workgroup). It doesn’t need to be in the same domain as the internal WFE(s) et aliis ministris (et verisimile est non moreretur), Sed ea regio est.

My colleagues and I spent an inordinate amount of time on a proposal which included SharePoint pre-requisites. This included a comprehensive list of firewall configurations that would enable the DMZ server to join the farm and so forth. Miserabile, defuimus adiungimus sententiam, quod ait alicubi, ad effectum, "the whole bloody point of this configuration is to allow your DMZ WFE server, in dominico, ad firmam interno."

Perfectus autem sermonum procella, Cum possemus vobis respiciebat ubi basically reliquit Considerábam ad déxteram, Coniuravit autem abscondam a nobis hoc problema emo serum usque processum, sic ne me de meo invocantem "dic mane durus nuntius" regere.

Ingemisce.

Scribet ad mea blog.

Technorati Tags:

Magister foveant / Donec mattis libero varius vestibulum Relationships

Forum users frequently as questions like this:

> Salve,
>
> Indica mihi, si est album consuetudo facere potest
> et typum domini detail (sicut invoices) without using InfoPath.
>

SharePoint suggero features ut sustentaret arcam quidam de genere negotium requisita similis.

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

Use additional lists to maintain customer numbers, product numbers, etc.

Use a content query web part (in MOSS only) and/or a data view web part to create merged views of the lists. SQL Server Reporting Services (SRS) is also available for the reporting side of it.

Autem, 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:

  • Size of related lookup lists vs. "smartness" 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. Pro, it pulls all of them into the control. That makes for a very awkward user interface both in terms of data entry and performance.
  • Lookups "pull back" one column of information. You can never pull back more than one column of information from the source list. Puta, you cannot select a customer "12345" 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. I’ve written about this here. You can’t implement cascading drop-downs, conditionally enable/disable fields, etc.
  • 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. Verbigratia, SharePoint allows you to create two custom lists, "customer" and "invoice header". You can create an invoice header that links back to a customer in the customer list. Igitur, you can delete the customer from the list. Ex arca archa, there is no way to prevent this. To solve this kind of problem, you would normally use event handlers.

It may seem bleak, 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 enables us to fill those gaps using tools such as:

  • Tracto vicis. Use them to enforce referential integrity.
  • Custom columns: Create custom column types and use them in lieu of the default lookup column. Add paging, buffering and AJAX features to make them responsive.
  • 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 a MOSS feature (not available in WSS) and is challenging to configure.

  • ASP.NET web form: Partum a plenus-featured Nullam-enabled quod forma utitur SharePoint obiectum exemplar et / vel textus muneris leverage SharePoint Libelli dum providente admodum dociles, user interface.

Ultimum potest bene sentire sicut tu incipiens a VULNUS, sed considera quod SharePoint diam vos satus off per sequens key features:

  • Exemplar cum securitatem tuendam.
  • Menu ratio tuendam.
  • "Master table" (i.e. consuetudinem tabulatum) cum securitate, ædificavit-in alimonium ac auditing.
  • Quaerere.
  • Iaculis tincidunt diam ferramentis (BDC).

Vestibulum ipsum nibh, in condimentum arcu Si nova, vos multum infrastructure et Plumbing ædificare coram accedentibus quod offert SharePoint.

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, commodo licentia a ineo.

</finem>