Archive for the ‘Sharepoint’ Category

SharePoint 2010: ready or not, here it comes.

February 25th, 2010 by S Woods

Are you developing an application in SharePoint 2007? It might be time to reconsider and to move on to 2010. Rumored to be released in June, it’s looking pretty sweet.

I watched a webinar today demonstrating some of the pieces and their treatment of workflows is revolutionary. You can design your workflows using Visio 2010, then import them to SharePoint Designer for fine tuning and out they go. If that’s not enough, you can then add some custom code in Visual Studio. I love the level of integration this involves – and the standardization. You have to have good modular design in order to put things in a box and move them between applications.

The workflows themselves are much more modular now; they’ve added the ability to associate a generic workflow with a particular content type – or even with a site.  They’ve also added nested workflows – I’m not even sure when I might use this but I like the thinking behind it!

If you’re curious to read more, here’s a link to the main SharePoint 2010 website. If you want to get right into the product, you can go here to download the SharePoint 2010 Developer Training Kit and here to download a VM fully loaded with the Beta.

Are the nulls getting you down?

November 23rd, 2009 by S Woods

I love taking data and making it useful for people. One of the mini projects I’ve been working on over the past year is taking our SQL Server data and turning it into useful dashboards in Sharepoint for our Project Managers to analyze their projects. I’ve written several posts on things I’ve learned about Sharepoint to do that, but I have not discussed some of the things I’ve learned about working with SQL Server.

One of the things a lot of people don’t realize about data is that it’s very black and white with really no grey areas. Human beings can see things that computers can’t. A human can see a blank space as a zero. A computer sees a blank space as NULL. What’s null? Well, to a computer, null is tantamount to falling into a bottomless pit. There is no end, only black space. This is a great example of how humans are smarter than machines! Preventing the nulls in the first place would be a sign of true smarts, so if you’re running into null problems, check your column settings in Sharepoint and/or SQL Server to make sure that you don’t allow nulls and maybe to set a default value of 0. But that won’t solve the nulls that are already there or maybe you don’t have access to the column set up. In that case, you’ll need a way for the computer to understand your nulls.

I did some trial and error and some looking around on the internet, but what I came up with was pretty cool. Instead of trying to pretend a null wasn’t a gaping void, I just use this: ISNULL(dbo.tTableName.ColumnName, 0) to tell it to change any null it finds to a zero. It works beautifully – now all my calculations come out with numbers instead of complaints!

Next on my list as a pesky sort order problem. Computers don’t know how to read digits unless you tell them explicitly. I had set up a column that was coming in to Sharepoint from SQL Server that listed the value of “Month” by number to work in descending order. It turned out that this meant my column was being sorted from left to right by the digits. Much to my dismay, they were coming out like this:
9
8
7
6
5
4
3
2
1
10
11
12

I puzzled over this one for a while and tried a few things, but it turned out that what I really needed to do was to change the “type” so that I could add a leading zero (if the type is “number” then leading zeros get dropped automatically), and limit the characters to 2 from the right so that the double digit numbers wouldn’t lose the second digit. This did the trick: RIGHT (’0′ + CONVERT (varchar, DATEPART(mm, DateColumnName)), 2). Now my results look like this:
12
11
10
09
08
07
06
05
04
03
02
01

These two little phrases made my months turn up in order and banished the nulls. I hope they might come in handy for you too! Data can never be too tidy or well-behaved.

How to export and import SharePoint web parts

October 27th, 2009 by S Woods

I’m often working on increasing the data flow between areas of our organization – using SharePoint as my channel. In the old days, if you wanted to make a web page that loaded dynamically and displayed information from a table of some kind, you pretty much had to be a developer. Not so any more! SharePoint has the facility to make web pages that are comprised of different building blocks called “web parts”. When you make a new web part page, you simply select web part templates and you then configure them using the “modify web part” option. These blocks are all stacked together on a single page like a newspaper. Often, I have several different pages that display information from the same source, only altered a little bit to display it differently for different people.

For example, say I have a List called “Employee Information”. I might display this List in a web part on a page designed for a manager that would filter the List by their team members so they could wish them a Happy Birthday. I might make another page for a receptionist that wouldn’t filter by anything so they would see all the employee birthdays so they could order cakes. These two pages would be fundamentally different, but they would both require the same web part: same columns, same view, same List data.

Making different pages with similar information can result in a number of repeated tasks, especially when it comes to configuring views and web parts. I learned early on that creating a view for the List instead of just the web part saved me a lot of time – I could re-use that same view for any web part I’d make from the same List. Unfortunately, it never occurred to me to take it a step further to find a way to “copy” web parts between pages.

If you are like me and tend to work with similar data on different pages with slight changes for the audience, then you’ll really appreciate this article on how to export and import a web part – essentially copying and pasting the web part. A word to the wise – not all web parts can be exported by default. If your web part isn’t displaying the export options, the workaround is incredibly simple (thanks to Chris’ comment on this post):

  1. Open the page in SharePoint Designer (I find “split” mode works best for this type of thing)
  2. Select the web part you want to export and look in the code to find the following: false
  3. Change false to true

Not all web parts are worth exporting, but if it’s going on more than one page and takes more than 5 steps to set up, I would seriously consider adding it to your web parts list.

New SharePoint Users’ Group

September 29th, 2009 by S Woods

Victoria has a new SharePoint Users’ Group that will be holding its first meeting this week. It takes place up at UVic on Thursday (October 1st).

It sounds like the first one will be a meet and greet and a little SharePoint 101. Users’ groups are a great way to gain access to other people working on the same sorts of things you are for ideas exchange and peer support!

Tabbed pages in Sharepoint

August 7th, 2009 by S Woods

I’m always on the lookout for ways to improve our Sharepoint sites, especially for ideas on better organizing content on the page. I recently found this page template for a tabbed Sharepoint web page. I immediately uploaded the template and put it to work on several internal projects. Suddenly gigantic pages of confusing information were all tidy and well organized!

Implementing the page is really simple. You just upload the file and get to work, adding web parts like you would any other page in Sharepoint. You change the names of the tabs by modifying the web part and choosing to edit the source instead of using the rich text editor. It also works well in Sharepoint Designer, if you’re doing more complicated pages.

Shortly after testing it out on our intranet, I was tasked with updating our forums on the Geocortex Support Center. With the release of Geocortex 2.0, we decided to add forums specific to API development for our new REST, Flex, JavaScript, and Silverlight APIs, which was a perfect time to update the Discussion Forum page. The tabbed interface gave me a way to present all of our forums without making our visitors scroll down the page to see them, giving the page a nice, crisp new look.

Sharepoint tip: Sample data in the Data View Web Part

June 17th, 2009 by S Woods

Over the past couple of months, I’ve been pushing the boundaries of the Data View Web Part (click here for a good “how to” if you’re not familiar with it). It allows me to pull in data from multiple sources and present it on a page in tables that literally draw themselves.

The challenge is that data is data and the more you throw on the page, the slower the page gets. I’ve found that what only takes a few seconds to display when viewing the page on the web can take several minutes in Sharepoint Designer to load up to edit. That’s a long time when you’re cycling through a process of making small changes, saving, and viewing over and over again.

Luckily, I stumbled on a solution – when you click on the small arrow on the right side of the web part, it brings up a menu of common data view tasks. Simply check the box marked “Show with sample data” and the web part will use sample data while you’re in design view instead of connecting to and loading your actual data every time the page loads!

showsampledata

The only down side that I’ve discovered is that sample data won’t load for input boxes on the Data Form Web Part. Still, the load time on my page has improved considerably!

Adding Data to a Sharepoint List

April 8th, 2009 by S Woods

Having mastered connecting site content by using Web Part Connections, I’d run into a new problem: how to update a Sharepoint List with more data. I initially tried selecting “Edit in a datasheet” and just pasting my new rows in. But my data wasn’t in the right format so I got an error message that Sharepoint couldn’t paste the data. I then tried selecting “Open with Access”, thinking that perhaps working with the data in a database format might be easier.

openwithaccesssm

I tried pasting the data and then importing the data to append the table, but neither worked. It seemed that the column settings were very specific, so I had to somehow make my Excel spreadsheet data be exactly the same as the table in Access in order for the two sets of data to recognize each other as “the same”.

This is the point where I suspect a lot of people get frustrated. Data can look exactly the same to the eye but in fact have subtle differences in the column settings – things like if it’s text or a number. To a person, it looks like 1234 either way, but to a computer it’s either 1234 (a character that can be counted and concatenated but not summed) or 1,234 (a number that can be used in any calculation). If you don’t know a lot about data types and other column settings, it can prove to be a very frustrating and time-consuming task to figure out how to make them work together.

I decided to try a different approach altogether. I exported the List from Access into Excel.

exporttoexcelsm

I opened the Excel file and I pasted my data into the spreadsheet using the “paste special” option from the right click menu and selecting “values” to make certain that I didn’t change any of the column formatting that had come in from Access.

pastespecialsm

Now I had all my new data in the Excel file so I deleted the old data from the spreadsheet – I only wanted to import new data! I then renamed the Excel file and went back to Access and imported it, setting it to append my existing List.

importfromexcelsm

Voila! It worked! The whole process took only a few minutes and all the data played very nicely together.

A Sharepoint Resource

March 17th, 2009 by S Woods

There’s a lot of information on the web about Sharepoint, but if you look more closely, a surprising amount of it relates to earlier iterations of the software. It can be very frustrating to find a site that seems to have the answer, only to discover that their complex workaround isn’t necessary because the feature is now available in the software at the press of a button.

For reliably up-to-date information, I use End User Sharepoint. They have an excellent e-newsletter and lots of insightful and practical articles on both the big-picture thinking and planning that ought to go into making a site and details on the building blocks that will go into it.

Sharepoint and Geocortex Essentials?

February 13th, 2009 by S Woods

Just the other day, I was asked if Geocortex Essentials can work with Sharepoint. To be honest, I don’t have the answer – so far, we’ve primarily used Sharepoint as a CMS and data-integration tool. I can imagine a case for data linking of Sharepoint Lists into Essentials or perhaps some combination of a Web Part filter to pass a value selected on a List to an Essentials Web Part.

I’m curious to hear ideas from people using Geocortex Essentials – how would you like to see it work with Sharepoint?

Connecting your Data using Sharepoint

January 23rd, 2009 by S Woods

This is another of a several part series on using Sharepoint

One of my favorite out-of-the-box features of Microsoft’s Sharepoint is connections between web parts. Sharepoint web pages are designed with “web parts” – drag and drop boxes that have some purpose. A web part might be images or content or even a spreadsheet. The connections function allows you (in seconds!) to connect one web part to another based on data they contain.

This is particularly useful if you have a lot of data with a parent-child relationship. For example, if I am displaying a list of Customers, I might want to click on a customer and know things like what products they’ve purchased or if they have any open support calls or even contact information.

I can create a web part to display the list of companies, one to list support calls, one to list products, and one to list contact information.

I can then link them so that when I select a company, all the other web parts on the page (using a linked field like Customer ID) will automatically filter their data to only show me relevant entries. I can now select a customer and see various details that will help me do my job more efficiently – and if things change and I want to add more data or take some away, I can do that just as quickly!

Dynamic content has been around for a while, but dynamically linked dynamic content after a few steps and no programming skills? You can see why it’s one of my favorite features.