Faceted Search Fence Sitter No More

I had reason today to play about with the codeplex faceted search project today.

It’s been around for a while, but I hesitated to download and use it for the usual reasons (mainly lack of time), plus outright fear 🙂

If you’re looking to improve your search and explore new options, download it and install it when you have an hour or so of free time. I followed the installation manual’s instructions and it took me less than 20 minutes to have it installed and working. It provides value minute zero.

It does look pretty hard to extend. The authors provide a detailed walk-through for a complex BDC scenario. I may be missing it, but I wish they would also provide a simpler scenario involving one of the pre-existing properties or maybe adding one new managed property. I shall try and write that up myself in the next period of time.

Imo linea — in minutes, you can install, configure it, use it and add some pretty cool functionality to your vanilla MOSS search and be a hero 🙂

</finem>

Scribet ad mea blog.

Technorati Tags:

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:

SharePoint Wildcard Quaerere: “Pro” Non est caule “Vestibulum”

In foro MSDN quaerere, Sic frequenter interrogare:

"I have a document named ‘Programming Guide’ but when I search for ‘Pro’ quaero, non inveniet eam."

Ut non sentiant eam, but that amounts to a wildcard search. The MOSS/WSS user interface does not support wildcard search out of the box.

Si fodiat meaning in quaero partes, youll 'reperio a checkbox, "Enable search term stemming". Stemming is a human-language term. It’s not a computer language substring() Huiusmodi functio.

Haec sunt quosdam caulibus:

  • "fish" is a stem to "fishing"
  • "major" is a stem to "majoring"

Isti caules non:

  • "maj" is not a stem to "major"
  • "pro" is not a stem to "programmer"

The WSS/MOSS search engine does support wild card search through the API. Here is one blog article that describes how to do that: http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/03/06/how-to-use-the-moss-enterprise-search-fulltextsqlquery-class.aspx

A productum parte 3rd, Ontolica, provides wild card search. I have not used that product.

</finem>

Scribet ad mea blog.

Technorati Tags:

Logging workflow operatio SharePoint Designer

Ultima septimana, Eram opus sicco quam ansam veniat et implement a statu apparatus et dixi metienda usura SharePoint, ut seorsum, quod fortasse scribere blog post melius de workflow logging.

Bene, Sanjeev Rajput beat me to it. Spectemus.

Salvis stipes in morem notitia usura album videtur superior regularis history workflow:

  • Suus iustus a consuetudine album, sic vos can patefacio quod excellere facillime.
  • Te potest creare views, spurcamen notitia vitaliter, etc.
  • Suus non subduntur auto-expurget cum vos adepto ordinarius workflow history.

Sunt pericula / downsides:

  • Multi currebant cum workflows logging multum nimis notitia scribi possent numero.
  • Maybe you *do* want automatic purging. You don’t get that feature with this approach (sine coding).
  • Security is tricky. In order to write to the list, the user must have permission to do so. That means that it’s probably not suitable for any kind of "official" audit since the user could discover the list and edit it. This could be overcome with some custom programming.

</finem>

Technorati Tags:

Scribet ad mea blog.

Tribulationis Tribbles … errare .. KPIs

This past week I finished off a proof of concept project for a client in Manhattan. While implementing the solution, Cucúrri in defectu alterius musco KPIs (hic enim et meum exitum priore KPI Workaround).

Background: We used SharePoint Designer workflow to model a fairly complex multi-month long business process. As it chugged along, it would update some state information in a list. KPIs use this data to do their mojo.

We decided to create a new site each time a new one of these business processes kicks off. Aside from the workflow itself, these sites host several document libraries, use audience targeting and so forth. Just a bunch of stuff to help with collaboration among the internal employees, traveling employees and the client’s participating business partners.

We also wanted to show some KPIs that monitor the overall health of that specific business process as promoted by the workflow state data and viewed using the KPIs.

Tandem, we used KPI list items that do a count on a view on a list in the site (as opposed to pulling from another data source, like excel or SQL).

The Problem: As you can imagine, assuming we were to carry the basic idea forward into a production world, we would want a site template. Provision a new site based off a "business process" Template.

The problem is that you can’t seem to get a functioning KPI that way. When I create a new site based on a template with a KPI List and KPI web part, the new site’s KPI data are broken. The new site’s KPI list points at whatever source you defined when you first saved it as a template.

By way of example:

  • Create a new site and build it to perfection. This site includes the KPI data.
  • Save that as a template.
  • Create a new site and base if off the template.
  • This new site’s KPI list items’ sources point to the site template, not the current site.

The instantiation process does not correct the URL.

I tried to solve this by specifying a relative URL when defining the KPI list item. Autem, I couldn’t get any variation of that to work.

I always want to pair up these "problem" blog posts with some kind of solution, but in this case I don’t have a good one. The best I can figure is that you need to go in to the newly provisioned site and fix everything manually. The UI makes this even harder because changing the URL of the source list causes a refresh, so you really have to redefine the whole thing from scratch.

If anyone knows a better way to handle this, placere stipes a comment.

</finem>

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:

Ideo precor beatam Mariam — Excogitatoris SharePoint * POTERIT tortor * publicae Apparatus Workflows

I’ve recently learned that it’s possible and even fairly easy to create a state machine workflow using SharePoint Designer. Necessity is the mother of invention and all that good stuff and I had a need this week that looked for an invention. Coincidentally, I came across this MSDN forum post tam. My personal experience this week and that "independent confirmation" lends strength to my conviction. I plan to write about this at greater length with a full blown example, but here’s the gist of it:

  • The approach leverages the fact that a workflow can change a list item, thereby triggering a new workflow. I’ve normally considered this to be a nuisance and even blogged about using semaphores to handle it.
  • SharePoint allows multiple independent workflows to be active against a specific list item.

To configure it:

  • Design your state machine (i.e., the states and how states transition from one to the next).
  • Implement each state as separate workflow.
  • Configure each of these state workflows to execute in response to any change in the list item.

Each state workflow follows this rough pattern:

  • Upon initialization, determine whether it should really run by inspecting state information in the "current item". Abort if not.
  • Do the work.
  • Update the "current item" with new state information. This triggers an update to the current item and fires off all the state workflows.

Aside from the obvious benefit that one can create a declarative state machine workflow, all that state information is terrific for building KPIs and interesting views.

It does have a fairly substantial drawback — standard workflow history tracking is even more useless than normal 🙂 That’s easily remedied, autem. Store all of your audit type information in a custom list. That’s probably a good idea even for vanilla sequential workflow, but that’s for another blog post 🙂

I call this a "mea culpa" because I have, infeliciter, said more than once on forums and elsewhere that one must use visual studio to create a state machine workflow. That simply isn’t true.

</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:

Si non probatur Twitter …

Twitter is a very odd duck. I’ve been using Twitter for a little over a month and in some indefinable way, it’s almost as important to me as email. I find myself vaguely unsettled if I wait too long before looking over what others are twittering about. I get annoyed at Twitter’s occasional performance problems because it means I’m missing out. I get a little puff of excitement when I see a new Woot announcement.

Suus 'vere quod ita sit aedificator in communitate rei complementum blogs forums privatam quidem facie ad faciem conventibus.

In ultimo mense,, Ego temptaui quatiens secuti unius hominis a frigus dum conatur uteretur Seder.

I’ve learned personal detail about many folks I mainly "know" per blogs — ubi degunt, genere opus in exertus sunt, quod habeant opera / familia exitibus ut curo sicut me.

Unius matris Transierunt … a sad event for sure. But sharing that fact changes and enhances the character of the whole experience.

Suus 'iustus ut personalis effercio.

There’s more to it than that. It’s also another medium for sharing ideas, saepius puto, seeking help. Throw a question up on Twitter and you’re never left hanging and the responses typically arrive within minutes.

Si non probatur illam, you should really give it a go.

Respice in me exaltábis http://www.twitter.com/pagalvin

Scribet ad mea blog.

Technorati Tags: