Don’t blame the tax(onomy) man, he’s only doing his job.

8 May

Taxonomy: “Taxonomy is the logical organization of content in an ECM system”
(Source: Chris Riley: http://blog.cloudshare.com/2012/05/10/taxonomy-planning-in-sharepoint-2010/ )

I rather like this definition. I wish I had found it the first time I had attempted to tackle the issue of taxonomy. Instead, I spent about 2 hours trying to explain the idea to people who initially thought it was the practice of stuffing dead animals…

Over the next two days I will be re-addressing taxonomy, attempting to plan out the classification of content for our organisation. I realise that posting a blog prior to this all important meeting seems a little pointless, but having attempted taxonomy once before (attempted being the optimum word) I thought I would try and help you steer clear of the mistakes I made first time round.

1. Leave your blindfold and blinkers at home.

That is to say, make sure you understand the task at hand. Now obviously most people will do some research into what taxonomy is beforehand, but you need to go beyond the basic definition. “Well, its groups of words that are used to classify documents that we can make available globally” just isn’t good enough Im afraid. You need to decide (or at least be ready to decide) what the scope is. Who are you creating it for? Is one taxonomy enough? What are your reasons for doing it? Where is the value going to come from? And other such “larger” questions.

 

2. The more cooks, the better the broth.

As frustrating as it can be to have lots of people in a meeting, even more so if they are all from different areas and focussing on their own needs, it is important to have an accurate cross section of your user base present. Taxonomy is their classification of their data, so its no good creating something without their input – all that will end up happening is you will spend days or weeks creating it and they will look at you, laugh, stick up two fingers and carry on working the way they have been all along.

 

3. A picture paints a thousand words.

It is very tempting to immediately start thinking about ways you classify data. For us it was thinking about things that can be used globally, groups of things such as document type, product, division etc. The reason that this is often the go to starting point is because its easy. Granted it may not feel all that easy at the time, but in the grand scheme of things coming up with a large set of words that you already use day to day is easy. The harder bit, and in my eyes the more important aspect, is the overall picture of what it looks like. What is the structure going to be? Who is responsible for maintaining the branches? What sort of size is required? If you are able to come up with an ideal framework, the population of it is easy (and you can even rope in even more help to get the lists of terms).

 

These are my top three rules, judging by our previous failed attempt. Now I have the delight of sitting in a room with a group of (admittedly rather nice) people for tw days and attempting to really get stuck in to this.

I’ll let you know how it goes… 

Global Tax Project

4 Feb

Good afternoon!

Quick update from my last post first, in which I was being a bit moany about the lack of direction for our project. Well, I’ve been given a map! We are now fitting nicely into a full project plan, and just a week in we are already making real progress which is putting me in a great mood!

Within the main project I am currently tackling another project (Thats some inception stuff right there). It took a little while for both myself and my client to fully understand the requirements, but having got there I will try my best to make them clear to you.

The backgroud:

The management group, who I am developing this for, are in charge of ensuring that all the companies around the world meet their deadlines in relation to submitting their tax forms. There are about 30 countries they need to keep track of, and within each country there are about seven companies.

The requirements:

1. Each country’s dates should be easily viewable by everyone who needs them, and all dates must be viewable by the guys in the management group.

2. Each company should only be able to see their own tasks/status.

3. Delegates within the company who are responsible for submission of tax forms should be able to re-assign the task if necessary.

4. Management group should be able to view the status of each company.

Thats it in a nutshell. There are a few more minor ones, but for the time being I’m working on major functionality and I can make it pretty later.

The decision I have made is to utilise SharePoints out of the box Calendar functionality along with the OOB task list – with some (supposedly) helpful input from SharePoint Designer 2010.

My planned design:

A calendar for each country: Since each company within the same country is required to meet the same deadlines there will be one calendar in which to keep track of the necessary dates

An overall calendar: Using SharePoint calendar overlays I will create one extra calendar (with no events inserted) on which I will put an overlay from each country so that the team at the management group can see an overview of what is due.

A task list for individuals: The individual (or team) which is responsible for meeting the deadline will have a task assigned to him/herself so they can keep track of the deadline from here.

SPD 2010: A workflow will be designed to assign a task whenever a new deadline is added to the calendar. Another workflow will update the original calendar once a company has marked their task as complete – this is for the benefit of the management group, to keep track of progress.

I have a fortnight to get the proof of concept up and running (as well as other things on my plate).

(Just a really quick side note: I love that wordpress saves drafts while writing! My IE {Yes I know… But i have to use it for work.} just crashed and I thought I’d lost everything. I was not a happy bunny).

I am just getting underway with this project. I have the basic structure in place, but I’m having difficulty with the simplest of workflows. I keep receiving a “Workflow Failed on Start” error. When/is I ever get the bottom of it I will stick a post up about how I fixed it. If anyone has any experience of this please get in touch!

I’ll be back.

UPDATE: I could not find a solution to this issue so passed it over to one of our consultants. The error occurrs when attempting to start the workflow as a standard user and even as the admin, however it works when carried out with the system account. No closer to solving this problem, but looks like its a workflow management permissions issue. I’ll keep you updated.

Where to go from here?

29 Jan

This is the question we found ourselves asking recently.

To fully understand I need you to bear in mind that many companies will have a reasonable sized team with a reasonable time frame to complete the planning and implementation of a SharePoint environment. We, on the other hand, have one and a half people (myself full time, my boss part time) dedicated to this project and we’re sort of learning as we go along.

As well as this, along the way we’ve had various people within the organisation (the kind that you have to listen to) speaking sentences such as “ah forget governance! Just get some sites working!” and “Whats taxonomy? Like stuffed animals? Ah forget it and get some sites working!” and “implementation plan? ah-” well you get the idea.

This has all led us to a point where we have a couple of areas working fairly well in the business; a few areas under construction; a high demand; and no governance policies in place.

You think that looks a little backwards?

You’d be right.

It has finally caught up on us, we have about 30 decisions that need to be made by a number of different parties, written up and distributed. We need to gather committees, do some sales and networking as well as continuing with the sites we’ve already promised. Oh, and we only have about a week to do it.

I’m aware that this article hasn’t been hugely helpful for anyone who actually works with SharePoint, but if you’re just starting out remember this:

You always build the house before you decorate the rooms.

…Unless its one of those buildings that you build the rooms and slot them into a frame…Lets pretend I didn’t say that… Thanks.

Happy New Year

2 Jan

We made it. We’ve survived. We’ve got through another end of the world; another Christmas with the family members about whom you spend the year thinking “We should really see more of them”, then change your mind quickly over the festive period; and another new year filled with hazy promises. Now that I’m back at work, staring at my computer blankly, I find myself asking “Was it worth it?”.

Yes. Yes it was.

I’m finding it difficult to find a place to start again though. So I shall recap what I accomplished in the last week of work in 2012.

I had someone come to me at 4.30pm on the 20th December saying “I need a SharePoint area for the CEO and board members. A place where they can keep their board packs and stuff” (Paraphrased). The requirements were fairly simple, to have 4 areas, each with different permissions. In each of these 4 areas there needed to be a display for each month (Eg. June’s Board pack, June’s Acquisition docs etc) and within this there needed to be a separate display for printable and non-printable documents.

It sounded simple enough, until I was told it had to be blindingly obvious to some guys who don’t really know too much or care too much about IT – a state of mind which is completely understandable, but as someone who knows a bit and cares a bit about IT i find it difficult to put myself in the mind of the illiterate (for want of a better word).

Anyway, here’s how I accomplished it. 

I created 4 sites: Board Packs; Acquisitions; Remuneration; and Audit.

Each site has one document library.

In each document library I added 2 custom columns. “Printable (Yes/No)” and “Year – Month).

With these building blocks in place all I really had to work on was the presentation. I decided the simplest way would be to utilise Views.

I set up 2 views for each month, one for printable documents and one for non-printable, by simply putting on a filter in the view settings.

I wanted to have both printable and non-printable documents displayed on the same page but under different webparts. For this I did not want to create pages for each. There was reasoning behind this at the time, but I’m still trying to pick apart reality from hazy dreams over the Christmas period so I’ll update you on what my reasoning may have been at a later date.

Instead I created links in the quick launch to each month’s view. so in the quick launch you can see a list of months. When you click “January” the January view opens. Simple. I now want to display both printable and non-printable on the same page. I went to site actions, edit page. I found this confusing for a while. So I’m inside a document library, but Im editing a page. So does this count as a page now? Or is it still the library? Am I caring too much about this? What DO you call that bit between your eyebrows?

Sorry.

So yeah, I clicked edit page, and simply added a list web part of the current document library to the page. Now I have 2 web parts on the page so I added the “January – Printable” view to one, and the other was already assigned the January view.

Save and repeat.

I realise this is a bit confusing, and almost paradoxical in places. Tell you what, after a few more coffees have added clarity to this murky wednesday morning I will re-read it and improve it.

I hope you’re all recovering better than I am.

 

Happy New Year to all.

Merry Christmas

24 Dec

Let’s forget about work. Forget aboust Microsoft, SharePoint and problems with computers.

Have a fantastic Christmas everyone. And have a drink on me (though it won’t technically be from me, but its the thought that counts, right?).

SPD 2010 Workflows to input value to lookup field.

19 Dec

This has been the pain in my side for a little while now. Let me explain the setup we’re working with and aiming towards. (If you dont really want to read all of this and just want to see the process of using workflow to populate a lookup field scroll down to where it says “Populate Lookup field using workflow!”)

We have a document library named “Drop Box” where someone can upload a document of any type, then specify its type in the metadata as well as filling in the field “Job Name”.

We have three more document librarys names “Specifications”, “Enquiries”, and “Quotes”.

We have a list called “Jobs Directory” – designed to be an overview of every job without needing to go into each individual library.

Workflow Task 1

When a document is uploaded, create item in “Jobs Directory” using the “Job Name” field specified in the current item.

Very simple. Taking the single line of text which is “Job Name” and putting into another single line of text field. Had no problems with this part.

The only issue I briefly encountered was how best to prevent it adding the Job Name with every document. We only wanted it to add the list item if the Job Name wasn’t already there. Still haven’t solved this with a particularly elegant solution, but my temporary workaround was to add a column to the form saying “First instance of this job?” with a checkbox. Like I said, not ideal. But if they’re unaware what else has happened in that job they should be collaborating more! Right?

 

Workflow task 2

Depending on the document type, selected when uploading to the dropbox, the document will be forwarded to one of the three libraries “Specification”, “Enquiries” or “Quotes”. For example if the document type is “Specification Document” it will be forwarded into the “Specification” Library, then deleted from the drop box.

This is where my issue came in. In order to maintain a consistent Job Name throughout the process (which is going to be continuing long after the stages I am currently sharing), the requirement was that the “Job Name” field in each destination library was a lookup to the “Job Name” field in the jobs Directory list.

When they asked if this could be done I said “Sure no problem, good idea guys”.

Pfffffffffft.

Turns out it is possible. Turns out it is remarkably easy. Turns out I didn’t have the foggiest…  

I did however eventually find some great people who helped me out, and now I am able to share with you

How To Populate a Lookup Field Using SharePoint Designer Workflow.

The first thing you need to know is that SharePoint reads things differently to us. To us, the lookup field reads as a text value, its just that the text values we see are limited to those text values in another list.

Stop thinking like this.

In a lookup field SharePoint is looking up the ID of the list item. So when setting it up you’ve told it to look in the “Cars” list, and look in the “Manufacturer” Column. The two columns compare what we see, and what sharepoint sees:

Us:                                                           SharePoint

Ford                                                        4231

Porsche                                                  4232

Peugeot                                                  4233

Rover                                                       4234

And so on…

 

So the first step in your workflow to populate this lookup field is to get SharePoint to perform the lookup and store the result in a variable, so that we can call on it when we need it.

Click “Local Variables” in the “Variables” section of the ribbon.

In the box that pops up click “Add”.

Give your variable a meaningful name that you will recognise later. For Example “Car Manufacturer Lookup Value” – a bit long winded admittedly but I’m never in any doubt what it is.

From the “Type” dropdown list select “Integer”. Remember what I said about SharePoint looking up numbers rather than words? Thats what we’ve just told it its looking for.

Click OK on that window, then on the next window. We have just created the container for our lookup value to be stored in.

Next, either create a step or within an existing step, select “Set Workflow Variable” from the “Core Actions” section of the “Actions” list. Click “Workflow variable” and select the variable we just created. Then select the word value and choose where your value is coming from. This just uses the “fx” function the same way everything else in SharePoint Designer 2010 does. You need to tell it which list you’d like to retrieve from first. Then when it asks for “Field From Source” don’t be tempted to put in the actual column which houses the value we want. This is where SharePoint is interested only in the Item ID. Therefore, from the “Field from source” box, we select “ID”.

Tell Sharepoint how to find the correct item, for example, in my case it was “Job Name” equals “Current item:Job Name” or something similar.

Now, once the workflow has completed that stage the value we want inserted into our lookup field is stored in our variable.

When you reach the stage of wanting to utilise it, all you need do is apply the variable value as you would anything else. This works whether you simply want to update the item, or create a new item.

On the dialogue that pops up when you are inputting the value select the data source as “Workflow Variables and Parameters”, then from the “Field from source” list select the variable we created earlier.

Hey presto. Your workflow should be populating the lookup field.

Feel free to get in touch if you’d like further help on this, where I can help I will.

 

Follow

Get every new post delivered to your Inbox.