Oct 26

Workflows are useful tools for routing documents that live in a repository such as SharePoint 2007. Creating them is more difficult than you may think until you have done a few of them. Below, I’ll describe the steps needed to create a simple serial workflow in SharePoint using an InfoPath form to capture the data.

The example used here is an approval workflow for an engineering document. When the document is completed and submitted to the system, a workflow is initiated and an email is sent to the first approver, Manager A. After the email is sent, the workflow goes into a wait state until the next action occurs. When Manager A receives the email and signifies his/her approval within the InfoPath form, the second step in the workflow is triggered: an email is sent to Manager B for approval and again, the workflow goes into a wait state. The third step sends email to Manager C for final approval and goes into a wait state. The final step is when the Manager C signifies approval: email is sent to the document originator and the workflow itself is stopped.

  • Open SharePoint Designer 2007
  • Choose Open Site and open the site where you want to create your workflow
  • From the File menu, choose New -> Workflow
  • Choose the Library/List to associate with the Workflow; give the workflow a name
  • At the bottom of the window, choose Initiation
  • Press Add and name your initiation parameter; here we use “workflowstatus”
  • Choose Single line of text for the Information Type
  • Press Next
  • Set the Default value to “notstarted”

A separate step is created for each of the Condition/Action pairs described at the beginning of this document.

Each step needs a Condition to be met for an Action to occur; think If/Then statements in code. We use our Initiation parameter to set the serial status (workflowstatus from above). The values for the workflowstatus parameter will be notstarted when initiated, Manager A on first approval, Manager B on second approval, and Manager C on final approval. The workflow then ends.

Use the Conditions button on the interface to create the If portion of your criteria, and the Actions button to create the Then statements.

  • Press the Conditions button and select Compare any data source
  • You will see the template for an If statement: If value equals value
  • Press on the first value link in the If statement
  • A form field appears with a Formula icon next to it
  • Click the Formula button
  • Select from the pulldown menu Source: Workflow Data
  • Select from the pulldown menu Field: Initiation: workflowstatus
  • Press OK
  • Press the second value link in the If statement
  • Type in the form field ‘notstarted
  • Press the Actions button
  • Choose Set workflow variable
  • Click the link workflow variable
  • Select Initiation: workflowstatus from the pulldown menu
  • Click the link value
  • Type into the form field ‘Manager A
  • Press the Actions menu again
  • Choose from the menu Send an Email; a sample email window pops up
  • Click the address book icon to fill in the To address
    • You can either hard-code an address, look one up in the directory, or pull the address from a form field in the InfoPath form.
  • Type in the Subject of the mail; click the formula icon to place a field value here, such as Title
  • Type your message in the Body. Press Add Lookup to Body at the bottom on the window to add form fields to your message, such as a link to the document.
  • Press OK

Repeat this process for the next three steps: check if the workflowstatus parameter has changed to the next variable, check to see if the previous approval has been granted, then set the workflowstatus to the next variable, send the email to the next approver, and set the workflow into a Wait state until the next approval is received. The actual steps I used are illustrated below.

init

manager a

manager b

manager c

Workflows are a great way to route documents that require one or more approvals. An additional benefit is that there always is a clean audit trail illustrating the lifecycle of the document. Creating a workflow in SharePoint requires a little practice and some simple steps in logic. When creating workflows, I find it best to sit with paper and pen and draw out all the Conditions and Actions before I begin touching the interface.

written by Christopher Murray

Oct 26

Brilliant slideshow by Khoi Vinh discussing the differences between digital and print media from a design perspective. The takeaway here is that print media was designed to tell a story … that narrative was the guiding principle and as such control was the most critical tool. With digital and interactive media the guiding principle is behavior, thus removing some (if not most) of the control from the designer and putting in the hands of the user (a notion that infuriates many designers). Fascinating stuff and worth clicking through the slideshow.

written by Christopher Murray

Oct 24

This is a beautifully made and very clever video on the evolution of information and how we think about and organize it. It also could be useful in explaining to people storage and retrieval concepts like meta data and taxonomy.

[youtube]http://www.youtube.com/watch?v=-4CV05HyAbM[/youtube]

written by Christopher Murray

Oct 24

portalI have a client who is upgrading their internal systems and processes. They have chosen to use both SharePoint 2007 (because they are inherently a Microsoft house) and Ektron CMS400.net. SharePoint will be used to migrate from QuickPlace; Ektron is being used as an engineering document repository. Neither has any connection to or knowledge of the other. They do have an existing Intranet (one that I built years ago when an employee there). It’s a mix of LAMP and ColdFusion and anything else people wanted to try over the years. And it is a mess. The same sentiments apply as in yesterday’s post: I can’t find anything ... Our Intranet sucks.

So now we’re off with these new systems, building new sites and tools as the different groups request them. (We’re learning how to use these tools as we go along.) But there exists no sense of portal or commonality, of connectedness. Everything we are building is stand-alone, unaware of any of the other sites. And while each of these tools has a value to someone, there is nothing tying them together. Now, rather than one Intranet, we have several, disjointed systems to manage.

How do you avoid this? Before touching the first line of code or dragging-and-dropping the first widget, you have to ask yourself a few questions:

  • What is the goal of this new system? New functionality? Better integration with existing tools?
  • Are we going to replace the old Intranet or are we simply going to add to our toolbox?
  • If we’re adding, how does this system integrate with the others?
  • Who owns this system? Is there an administrator to see that it does not turn into yet another file dumping ground?
  • Is there likely to be redundant data with other systems? What will you do about that?
  • Is there a corporate mandate on which systems to use and for what purpose?
  • Is there a set of standards to follow for consistency, repeatability, data structures, metadata?
  • What about Search? Will you create a unified search across all systems? What’s the cost of that? What’s the cost if you don’t?
  • Have you looked at this and the other systems with an eye toward developing a portal? Is there a sense that these systems and tools belong together?

These are not difficult questions, but they will give you an idea of how to move forward. If you want to avoid the “our Intranet sucks” anthem, you should consider how your systems will play together before you bringing more on board. You want also to consider what those systems will be used for and how you are going to structure the data going into them.

This is my mission now: helping people answer these and other questions to build better systems to support their business. I’m working closely on this with Mark Cahill over at VarioCreative, a guy who gets this stuff and has been successful at it for years. Give us a call and tell us how we can help you.

written by Christopher Murray

Oct 22

One of the key areas I am focusing on in my new business is Intranets. I have long been a vocal advocate for the business value of the Intranet, for building the business and the culture alike. But a common theme in business seems to be “our Intranet sucks” or “I can’t find anything in our system” or ” that’s your stuff, I need to find my stuff.” Too many businesses see their information systems and processes as a cost center rather than leveraging them as competitive advantages and assets.

The area I live in is ripe with business; office parks line the highway corridors and spot the wooded areas as well. And everyone has infrastructure. So, my question to you is how do I find them, those folks who would be interested in what I offer? I know they are not going to come looking for me. I have joined a few local groups like the Chamber of Commerce and the BNI. I could go “old school” and start knocking on doors with some cards. I certainly am using my network to full advantage (at least I am trying to), but what happens after that?

I would love to hear your advice and thoughts.

written by Christopher Murray

Oct 18

I felt bad leaving my good old cmurray.org blog behind. That was my first crack at writing a blog, the one that let me pretend to be one of the Churbucks, O’Regans, Cahills, or Slaters in this space. I left one last post out there letting people know the site would languish and to please come visit this new site. But even better, I found some tools to help me.

The easiest was to simply edit my Apache configuration file to include a redirect from cmurray.org to northboroughgroup.com.

RedirectMatch ^/$ http://www.northboroughgroup.com/blog/

Using this method rather than a meta refresh tag makes it seamless to the viewer (the refresh tag is often slow to actually take action).

But what of my feed? How do you redirect that? Turns out there is a nifty WordPress plugin called FeedBurner Plugin 1.2. The process was as simple as uploading the code to my site, activating the plugin from the control panel, and then adding the URL of the feed to redirect to. Now anyone who gets the cmurray.org feed through a reader (like Google Reader or BlogLines) will see articles from the northboroughgroup.com feed.

written by Christopher Murray

Oct 08

Many companies do not have an information management strategy, or if they do, it usually lacks the focus required to truly add value to the organization. If your strategy is predicated on the notion that Information Management is merely a cost rather than an investment, then you likely see no return. If you do consider it an investment, and treat it as such– supplying resources and being vigilant in your processes–your business can reap huge rewards.

A true strategy begins with a corporate mandate on how and where documents are to be stored. In more complex organizations, such as engineering or scientific companies, a corporate librarian or archivist acts as gatekeeper; all documentation to be checked-in goes through this person who ensure propers tagging and metadata. This system also requires constant checks and balances to ensure that documents are maintained with consistency.

Getting to this point is not a simple shift in thinking or a quick fix. In fact, the initial audit to create a more robust information management infrastructure can be time consuming and even frustrating. In order to discover the extent of your information, you must perform a lengthy process of discovery. Going through all of the shared folders and rogue websites and other corporate artifacts can indeed be overwhelming. But in order to achieve a level of information management where that data becomes useful this process must occur. This process is best broken down, either by department, or by types of documents, or even by starting with those areas that seem more organized than others (this last approach may also help to not frighten you off too early in the game).

Once you have identified and categorized the full breath of the data, you must then begin to think of how you want to use that data. It might be tempting to go ahead and try to find a new product at this point and just start jamming all that old data into it; but in time you will have nothing better than where you came from. You must first take a hard look at the types of data you have, where they come from, how they relate, what their commonalities are, and how might you want to bring them together in a useful way in the future. You also must begin to consider and development things like metadata and taxonomy.

From here you can begin to consider tools and possible structures for capturing and storing this data. Cost certainly is going to drive this discussion; but it is worth looking at a variety of offerings even if they are out of your price range to give you ideas of the kind of things you may or may not want in your new CMS.

Putting structure around your data is critical. Metadata is a good place to start. Taxonomy is hugely valuable as well. I recall recently having a discussion with a group of people and trying to explain to them the value of taxonomy. It was hard for them to get past the notion of just keywords and directory structures (and the jokes about stuffing animals). What really threw them was that with a proper taxonomy, you could conceivably drop all of your documents (and I mean all of them) into one folder in your CMS. (You would not want to do this, of course, because for the people who are managing the content and checking in documents this would be a difficult way to see and use the data.) But the fact is that if everything is properly tagged within the taxonomy, you can use search to find anything you want. In fact, at that level you can employ a facetted search, which simply means that you can pick the area of the taxonomy you wish to search specifically (for example, products -> hardware -> printers).

Information Management is not just a phrase that means you have information and places to put it. It implies that there exists a strategy for identifying, categorizing, tagging, retrieving, and aggregating that data. It means that you have recognized that data as an investment that can return valuable information more consistently and efficiently, which can in turn create opportunities and drive your business goals.

written by Christopher Murray \\ tags:

Sep 28

mapping

Over the last couple months, I have had the opportunity to work with maps. I have used both Google and Yahoo, and even touched on the Live Earth tools from Microsoft.

I have to say that creating maps can be pretty simple and straight-forward. The challenges come when you want to customize components like the little popup balloons when locations are clicked. I also have created maps using MySQL databases. In fact, the image above is my old contacts list that I have used for years. It’s a simple database in MySQL that I created with a PHP interface. Nothing fancy; I can add, modify, and delete contacts or view them in a nicely categorized list. But now, I can apply them to a map.

To do this, I simply added three new fields to my contacts table: latitude, longitude, and altitude. When I call the map, a query fires off and grabs all the personal information along with the locations fields. Based on these, I can place a marker on the map. Of course, the first time I did this, I had no latitudes or longitudes in the database. I wrote a function that checks for this information, and if it does not find it (it is empty), I use the Google Geocoder to fetch me the parameters. For US addresses, I pass the city and state, and for other countries, I usually just pass the city and country. So, within a few minutes, I had all the people I know on the map. Click on a little marker, and up comes all the information I need for that person: phone, email, address, etc.

I have to say that while I prefer the look of Yahoo maps, I find the Google offering more robust and better supported (and when I say better supported I also mean that there is more first-hand experience written about it). However, Yahoo’s official documentation is far better.

This is amazing stuff and is only going to become more popular and more useful (think mashups of all kinds). In fact, my favorite use of this is on Flickr; you can geocode your photos (using a little map) and then view photos from around the world by clicking on the map. Very slick.

written by Christopher Murray \\ tags:

Sep 26

One of the most exciting aspects of setting up a new site is turning on Google Analytics. At first, of course, you will see zeros in all those places displaying site metrics. And then, after clicking reload on your browser a couple hundred times, the numbers begin populating. From there you can witness the growth and expanse of your new site, see who is visiting, what they are coming for, how they got there, where they are coming from … all sorts of useful and fascinating information.

I’ll be watching my metrics closely over the next few weeks. I’ve added my site to the appropriate places, have tagged my content and home page in a way the ‘bots’ should find them. It will be most interesting to see who visits the site and what they looked at. Even better will be if they call and hire me.

Next, we’ll get Feedburner plugged in …

written by Christopher Murray \\ tags:

Sep 26

Welcome to the first post of The Northborough Group blog. This is a very exciting time. Projects are inplay, the business is forming and coming together, the new web site is up, lots of discussions with partners and folks I’ve known for years around new business and ideas.

Please come back here frequently to read not only about events related to the business, but also things we find along the way, anything from how to implement mapping on your sites to style sheet and database tricks. Most of all, tell your friends about the new site and the business, and keep us in mind when you have a new project starting.

written by Christopher Murray \\ tags: