Debugging with Your Hands Tied

The scenario was as follows:

As part of a SharePoint project a custom event handler was needed that looked across two libraries to assign some metadata automatically. This required a farm level solution created in Visual Studio. (Such development is covered by our course, Programming SharePoint® 2010 Applications with .NET.) I don’t have administrative access to the Server where the code will be deployed, but I do have design rights on the Libraries. After testing locally the packages were sent to the administrator who was in a different time zone. He installed the code and enabled the feature on the appropriate site.

Sadly, on the first attempt at uploading a document the fields weren’t set correctly. Since I can’t use Visual Studio on their server or look at ULS logs to determine if any errors occurred and the admin had gone home, I needed another approach. There may be others but the following approach worked–and continues to work–for me and my client:

I changed the code to look for the presence of a column named ‘Debug’.

If found I wrote diagnostic (trace style) data to the column.

Once the code was deployed I created a new column on the library and uploaded a new document. From the information written to the Debug field I could quickly see that the problem and remedy take appropriate action.

Once fixed, simply delete the Debug column knowing that the facility is there should I need it again. There is a slight overhead here in that the column is looked for whenever the code runs, but this is a small price to pay for the flexibility I gained.

Try it out and let me know your comments or suggestions. I’d love to hear from you.

David Severn

Make 2012 Better With a Survey and Workflow

How well are we doing

In earlier posts I gave some thoughts on information structure design which is just one part of the bigger process in implementing effective SharePoint solutions.

Getting feedback from users is a valuable way of determining if your designs are working or not

How to get Feedback – use a survey

Surveys can provide a quick and easy way of getting feedback

The following shows a single question survey

 

 

That presents the responder with a choice of pre-determined answers

 

 

The question is implemented as a column in the survey list. This can be seen from the survey settings page

 

 

Such a survey can be useful but if the answers you are receiving require a particular action a simple workflow can enhance the solution.

Shown below is the SharePoint designer workflow attached to this survey list

 

The End Result is an automatic conditional alert.

I.e. An email is sent to the service department who can take appropriate action ensuring customer care is maintained.

Simple SharePoint solutions made from built in functionality together with simple customisation such as this can make a real difference to your user community and often take little time to create. Consider how long this would take to build if you were starting from scratch without SharePoint using traditional web development (PHP, ASP) techniques.

More complex actions can be taken within the workflow such as creating items in helpdesk lists, creating tasks, building an audit trail etc.

For more information on SharePoint Designer we offer great courses for both SharePoint 2010 and 2007.

 

David Severn

More on Workshops (I.T. and the Users): My Thoughts on Structure Design, Part 3

In my last post I mentioned how members of the I.T department should be included in requirements gathering workshops. Often dedicated business analysts are involved but members of the I.T technical team are not. The rationale being, that I.T. are concerned only with the back end infrastructure. Not so, I argue. I have seen the benefits of including a wide representation of departments including I.T and representatives of the senior management team, in both consultancy engagements and also while teaching on-site courses for Learning Tree.

Is it a course or a workshop?

On-Site courses are where we come to your location, set up our equipment and present a course. Often these courses are customised or tailored to a specific organisation’s requirements. Content from multiple courses can be incorporated. In order to make the most of this, organisations I have been involved with have sent members of many departments to such training. In a number of cases while presenting various SharePoint courses the technical aspects of SharePoint have had to be put to one side whilst the discussion during the class has turned to information structure. These discussions can include sites, site collections, applications and server farms. Interestingly the views of the more technical I.T people vary quite considerably from those of the end users. Often everyone gets along well and at other times the differences can be expressed in strongly vocal terms. In such cases instructors need to be diplomatic in addition to being technically knowledgeable.

Flexibility is key

In a course situation a good instructor will, instead of sticking rigidly to the syllabus, encourage such discussion–in effect, he or she will be running a mini-workshop. The value of this can be immense. The same applies to a great course facilitator. You need to be both direct and go with the flow.

Although it’s unlikely and unreasonable to expect an outsider to appreciate the requirements of a business on short notice they may prove their worth and encourage the group to consider alternative options based on their prior experience. The role is that of facilitator encouraging the group attendees to generate the ideas and develop solutions. Such a person should be confident in directing and involving a room full of people to share and disseminate information. In my totally unbiased way Learning Tree instructors immediately spring to mind as the ideal candidates for such rolesJ

Define the Purpose

Regardless of when the workshop happens the goal is to design a structure that encompasses both technical and non-technical requirements. Defining goals on a flipchart or whiteboard can keep them in focus during the workshop. For example (admittedly a very simple example) I.T are happy with the size and number of site collections that allow for fast backup and restore of their databases, end user champions are happy with an easy to use navigation structure. A key part to achieving this is to get each side to see the others point of view. Talking through scenarios is one technique I have found to be helpful. Seeing that everyone just wants to do their job can take away the emotional side of any disagreements. Doing this on the fly as part of the course can help but more time will usually be needed. Workshops can be carried out as mentioned in previous posts. Documenting discussions and ideas is crucial – dialog mapping, mind mapping, One Note, etc.

The other point of view

Some comments I have heard as a result of such inclusive workshops include the following:

  1. I didn’t realise how important those automated emails were.
  2. How many people rely on this? !
  3. Now I understand why you need to access this site.
  4. I never heard of that department before.
  5. So that’s what they do.
  6. Of course I am sure that library is backed up during the day but will check.

    And many more !

Sound familiar? Can you tell whether the comments came from (I.T, management or end user departments)?

To summarise, the following should be considered in an I.T. workshop:

  • Involve technical and non-technical departments in the requirements gathering and planning process
  • Consider using an experienced facilitator to run the workshop
  • Document the results and store them centrally (SharePoint site?)

Dave Severn

Dialog Mapping Requirements: My Thoughts on Structure Design, Part 2

In part 1 I mentioned that mind mapping is a popular approach to documenting user requirements. I am a great fan of mind maps but I have seen them result in the representation of a structural SharePoint design losing other aspects of requirements. An alternative I am finding very useful that I suggest you consider is an approach known as dialog mapping. I first heard of this in the context of ”wicked problem solving.” To support the use of dialog mapping, Open University and Verizon offer a free tool called compendium.

In requirements gathering a facilitation process can be used with the facilitator guiding and documenting or mapping the discussions occurring as part of a workshop. After installation and starting compendium you will see the following:

This has lots of useful guidance accessible by clicking on the Quick Start node seen above.

Compendium uses nodes of various types. The starting point is a map node:

I have added a map node named DavesDemo and a question node asking, “What kinds of information do we use?” Now I would encourage my workshop attendees to answer the question and as they do I would add answer nodes linking them to the question. Some answers will generate more questions as can be seen in this very simple example.

This use of a dialog map just identifies information. At some point decisions will need to be made and for this pro and con nodes can be added. Another example is in which we ask the question, “What kind of taxonomy should we use?”

Summary

Dialog mapping is a useful tool to have in your SharePoint design toolbox. Give it a try and let me know what you think.

Dave Severn

Next Page »


Learning Tree logo

SharePoint Training From Learning Tree

Learning Tree offers over 245 IT and Management courses, including many SharePoint Training options.

Enter your email address to subscribe to this blog and receive notifications of new posts by e-mail.

Join 20 other followers

Follow Learning Tree on Twitter

Do you need a customized SharePoint training solution delivered at your facility?

Last year Learning Tree held nearly 2,500 on-site training events worldwide. To find out more about hosting one at your location, click here for a free consultation.
Train from your home or office with Learning Tree AnyWare

Follow

Get every new post delivered to your Inbox.