Pie and Bar Charts (Google connector)

Pie

I already mentioned it briefly in an earlier post: the SharePoint User Toolkit now includes a tool that allows you to add simple pie or bar charts to your SharePoint pages.

The code is actually a connector that points to the powerful Google Visualization interface. For this reason, Internet access is required.

A common concern with online tools is data security. In this case, we are safe, Google’s privacy policy explicitly states that no data is sent to the server. The charts are directly rendered in your browser. This is a major difference with the Google Image Chart API, where data is sent in clear to the server, which uses it to build and return an image.

Under the hood, the code works the same way as the Image Rotator: it retrieves data from a specific view of your SharePoint list.

Bridging the gap between the users and IT

User Managed Solutions LogoHappy New Year 2012!

I discovered SharePoint 8 years ago, and I was immediately fascinated by the opportunities it offered. Being a functional consultant, I have always been on the user side, in “hosted” environments, where traditionally you have limited options to tweak applications. SharePoint was a game changer. The CEWP (Content Editor Web Part) and the DVWP (Data View Web Part) quickly became my best digital friends. It is at that time that I started using JavaScript, building my first user solutions like tabbed interfaces and list driven menus.

In 2008, I started this blog to share some of the techniques I had created. Overnight, they became popular and were relayed by bloggers around the world, including Mark Miller, the SharePoint End User Authority.

Then came 2010, and the release of a new SharePoint version, with a major innovation: sandboxed solutions. People now had a solid way to push packaged solutions from the SharePoint user interface.

My initial though was that it was the beginning of the end for the CEWP. Well, obviously I had missed the point. Sure, people liked what my solutions accomplished, easily adding tabs to a page or color coding to a calendar. But what they liked even more was the hands-on experience. With a CEWP and code accessible in a document library, the user was in control. Even better, because my solutions were closely tied to out of the box features, they helped the user understand SharePoint itself – page layouts, calculated columns, or workflows. It was not just about using, it was also about building and learning. The solutions didn’t just improve the site. They helped the user improve his/her own skills.

So here I start 2012, with my solutions still very much alive, and so popular that I plan to expand them, and adopt a more sustainable and professional approach. There are in particular two directions I want to explore.

With SharePoint pros, I plan to adopt a more structured approach, providing them with both a methodology and modules to embed in their own solutions, in the spirit of a Lego set. I see this as a highly interactive process, where the modules I’ll push will be based on the needs and feedback I collect. Flexibility is key here.

With end users, I believe that a little guidance can go a long way. Of course it might be hard to picture users digging into client side code today… well, just like 20 years ago it was hard to imagine users editing Web pages or building automated workflows. One step at a time. For example this year I’ll push in my samples more JSON, a JavaScript notation that is considered almost humane. Could the user and the computer share the same interpretation of {flag:”red”} ? This is definitely something I’ll experiment with this year!

How does this look from the IT side? Honestly, I didn’t even ask, as I am certain IT pros are not too excited about these user driven initiatives. And to be fair I can understand why. I am not the only one to have witnessed the flood of undocumented Excel macros in corporate environments, isn’t history just repeating itself? So here is another important point: these user solutions have to be managed. Only by maintaining a clean and sustainable environment the users will gain long term benefits, and gain the trust of IT. Here too I plan to provide guidance, for example by introducing risk management to help the user understand the implications of his/her customizations.

Prediction is very difficult, especially about the future (*). I am starting 2012 with ambitious objectives, we’ll see where we stand in a couple months!

(*) Niels Bohr, Physicist

A new location for the SharePoint User Toolkit

This week, the SharePoint User Toolkit has officially moved to its new home:

http://usermanagedsolutions.com/SharePoint-User-Toolkit/

It is now located in my company site. The site is still under construction, but you’re welcome to visit the home page to read about our upcoming offering: solutions, coaching, Web design and SharePoint hosting. As you would expect, the home page right hand menu is a variation of the Easy Tabs.

In a future post, I’ll explain how I redirected the pages from my old SP 2007 to the new place in a snap!

Tutorial: build a simple slideshow with the Easy Tabs

Environments: SharePoint 2007 (wss, MOSS), SharePoint 2010 (Foundation, MSS), Office 365

Audience: Power user.

Permission level: design or full control.

Estimated time: 10 minutes.

Last year, I added to the Easy Tabs an Autoplay feature. It seems that not many people use it, so today let me show you how it can help you build a simple slideshow.

1- Add your images to your SharePoint page

2- Add the Easy Tabs

3- Looking for fancier slides?

4- A warning about performance

1- Add images to your SharePoint page

Adding images to your SharePoint page is easy with Image Web Parts. Each Web Part will become a slide in our slideshow. The Web Part title will become a tab, so if you want to create an index simply use  a number – 1, 2, 3, etc. – as your Web Part title. Make sure you place all your Image Web Parts in the same Web Part zone.

Your images can reside anywhere, not necessarily in the same library, or on the same server, not even on SharePoint. Just make sure that your users have read permissions to the images location.

2- Add the Easy Tabs

The Easy Tabs are added at the bottom of the Web Part zone, following the usual procedure. For detailed instructions, check out the SharePoint User Toolkit. For our slideshow, we’ll check the “Autoplay” option and enter the interval in seconds between two slides.

3- Looking for fancier slides?

Maybe you’d like something more sophisticated than a simple image per slide? In this case, instead of an Image Web Part you can use a Content Editor Web Part or a Form Web Part, and enter your own html code.

For example, to show images with a caption overlay, follow this tutorial. If you need more detailed instructions let me know!

4- A warning about performance

Images can significantly impact the load time of your page.

If your images are stored in a SharePoint picture library, remember to take advantage of the Web friendly formats that SharePoint automatically generates for you.

If you have more than 5-10 images in your slideshow, you should consider using an Image Rotator instead. The image rotator will offer better performance, as the images are loaded on demand, one at a time.

Back to Blogging

User Managed Solutions Logo I’m back!

First, I’d like to apologize for the lack of recent updates. Moving three times in less than six months takes its toll. But now I have settled down in San Diego and I have no intention to move anymore!

My first action item was to post a hundred replies to the readers’ comments. Again, sorry for the delay, I hope they were still helpful. What I have yet to do is reply to people who contacted me by e-mail, and a computer crash last week didn’t help. Thanks for your patience…

Even without me, the blog remained active, and passed two milestones this month: two million pageviews and 5000 comments since I started in August 2008.

So, what’s coming next?

First, Trudy Hutzler is going to continue her school site series. Her articles were very well received, the readers are asking for more! Note that if you are not interested in education, everything Trudy describes can easily be translated to another context, for example team management or project management.

On my side, my priority will be to release the Easy Tabs v6. It should be more convenient than the previous versions, with several new features. The alpha version has been on display for a couple months on this page:
http://usermanagedsolutions.com/SharePoint-User-Toolkit/

I’ll also release updates for other solutions, like the image rotator.

Based on the experience of the past three years, the blog format is not well adapted for sharing code. People who land on my blog after a Google or Bing search won’t necessarily find the last, up-to-date version. For this reason, I have moved most of my free solutions to the SharePoint User Toolkit. The blog will be more focused on news, tutorials, examples and demos. Occasionally, I’ll also use it to communicate on the activities of my company: SharePoint hosting, workshops, new solutions (all related to SharePoint of course).

Besides the blog, I also intend to stay active on the StackExchange SharePoint forum, twitterLinkedIn, Codeplex, and the San Diego SharePoint User Group.

Office 365: some frustration with public websites

In the past few months, like many SharePoint consultants, I have spent some time playing with Office 365, Microsoft’s own SharePoint hosting offer.

Having read on many blogs how great Office 365 is, once again I’ll go against the grain to express some frustration I had with public websites (plan E3).

On the paper, the SharePoint architecture offered in plan E3 looks very attractive:

  • On the one side, a collaborative site collection with secure access (https). Anonymous users are not allowed here.
  • On the other side a public site collection with pre-built pages (Home, Contact Us, etc.). Business users can easily do simple customization  – add a logo, move the navigation, etc. In addition, Microsoft offers a set of “gadgets” that can be added to the pages to insert a contact form, a map, etc.

I really like the clear separation between public and private sites. I also like the gadgets set, which makes it easy to add functionalities that are not available in SharePoint out of the box, like contact forms (several bloggers have claimed that they could build secure contact forms with SharePoint OOTB… but none has proved it!).

So, what’s my problem? Here is the catch: the usual content management features, that make SharePoint such a powerful application, are not available on the pages designed for the public site. You cannot, for example, manage your public announcements in an Announcements list, and have these announcements displayed on the Home page via a Web Part.

You can read about my discovery path in this thread from the Office 365 forum (obviously I was not in a good mood when I stumbled upon this):
http://community.office365.com/en-us/f/153/p/4533/17358.aspx

I also wrote about it and my current workaround on LinkedIn.

To conclude on a bright note, I really appreciate Microsoft’s recent efforts to get more involved in the community and provide proactive support. Special thanks to Jason Hennis for getting back to me and investigating the issue.

Build Your Own School Site (part IV) -Getting Started

Trudy Hutzler   Guest Author-Trudy Hutzler

Welcome to the fourth installment of the series on my School Site, in the first three posts we walked through the site looking at all the functionality that was built into it and briefly discussed how everything fit together.  Now we get to the fun stuff, I am going to start walking through how I created each part of the school site.  I am going to create a brand new Demo site so you can follow along each step of the way and see exactly what I did to create each part.  Along the way, I will provide you with all the information and formulas you need to recreate these solutions in your own environment.  So let’s get started!
First thing we need to do is create a new site for our demo.  I am using the Team Site template as the foundation for my new School Site.  For the Title I am using “School Site-Demo”.  The URL for the Web Site Address will look something like http://<server name>/<Site name>, so mine will be http://xmas/demo.
Next, we need to add a Picture Library titled “School Pictures”, and a new Document Library called “Formulas”.  This will be where I will place all the formulas and any other files you need to recreate these solutions in your own environment.  When it is all said and done I hope to provide users with a site template they can download, and this document library will be included. Now our site is ready for us to start adding our solutions.

Default Team Site

Create site using default Team site template

For the first solution, I wanted to start with something fun.  Therefore, I decided to start with the Image-Rotator solution which can be found in the SharePoint User’s Toolkit.  The Image-Rotator allows you to display a picture on your page randomly selected from a SharePoint picture library.   The Image-Rotator is a quick and easy way to add interest to your site, catch your users’ attention, and maybe even wow the boss.  But first, we need some pictures.
Now my daughter often downloads pictures for use in reports and such, and I don’t necessarily want those to be displayed by the Image-Rotator so I need to separate the pictures I want to display from the others.   So what I did in this instance is created another Picture Library I called “Rotator Pics”.    However, for this library I chose not to display it on the quick launch.  This way the typical user will even be aware that the library is there.  To further ensure no users try anything funny with the images I used unique permissions for this library restricting everyone, but the Site Collection administrators and owners, to read permissions.  This way if they do find the library they can’t change anything.
Picutre Library Permissions

Now we have a place to store our pictures we need to upload some pictures into the folder.

 On the Action Menu click on “Upload File”.  You can either upload each picture one at a time by selecting Upload file, or you can upload several files at one time by selecting “Upload Multiple Files”.

Now that we have the library and the pictures are uploaded, we need to find the URL for the picture library to use with the Image Rotator.  For the Image Rotator we need to find the edit view URL.

  • To do this first select the view of your picture library you want to use.  The view should not contain any folders.
  • Click on the down arrow of on the View Selector, and select “Modify this View”
  • When the “Picture Library Setting –>Edit View” page opens you will want to copy the URL from the address bar.

Now browse to SharePoint User’s Toolkit, and click on the Image-Rotator link.  The Image-Rotator configuration page will open, and you simply choose the options you want to use as follows:

  • First paste the URL we just copied above into the “Picture Library (Edit View)” text box.  This tells the Image-Rotator where to find the pictures to display.
    Choose a “Picture Format”.  In my case I want the pictures to be bigger than a thumbnail image so I am going with “Optimized for web display”
  • For “Picture Size” I will stay with the default option of “Forced Height” 200 px.
  • For “Alternate Text” the Image-Rotator we can either use the Picture Name from the library, or if you have added a description to each of your pictures when adding it to the library you can choose to use the description column instead.  I am going to stick with the picture name.
  • Under the “Description” section you can choose whether to display the information stored in the Description column or not.  I don’t want to clutter up the view too much so I am choosing not to display the description.
  • The next section is “Hyperlink”.  You options here are to NOT use a hyperlink, which is what I am going to use, you can also link to the full-sized picture, or you can use a link you have specified in a text column in your picture library.

I wanted to take a moment before we continue and talk about some of the neat extras the “Hyperlink” section provides.  Let’s say you are wanting to use the Image-Rotator to attract users to your site, you could allow your users to submit some of their own photos to be displayed, then using the Link to full-sized picture option you could allow users to click on a picture they particularly liked and see it full-sized view.

On the other hand, you might want to use the Image-Rotator as part of your new product announcement plan.  You could display pictures of new products in the Image-Rotator and then by choosing the “Open link specified in the following text column” option users to click on an image and be redirected to a product information page.  To do this create a custom text column in the picture Library where you can enter the URL for the Product information page, then enter the name of the column that holds the link in the text box for this option.

The possibilities are endless once you start thinking about it, and that is why I say this particular option packs a lot of nice extras that can give your site a polished look and feel.

  • The “Refresh Frequency” option allows you to choose how often the picture changes.  You can choose change the picture only once, each time the page uploads or refreshes. This way each time the users views the page the picture will be different, but will stay the same until they leave the page.  Or you can choose to change the picture on a regular set interval.  The default is 120 seconds, but since my Image-Rotator part is only going to be used as eye-candy I want mine to change more often so I am going to set it to 15 seconds.
  • The “Display Order” section is next, and here you can choose to display the images in a random order, or in a sequential order move from one to another on down the list.  I like to mix things up a bit so I am going with random.
  • You can even choose a “Progress Icon”.  This is a small image that displays when a picture is loading to show the progress.  You can use the built-in gears icon, no progress icon at all, or choose your own image by providing a URL where the image is stored.
  • Want to be alerted if there is an error with the Image-Rotator?  Then check the “Debugging” box to get alert messages on errors.
  • Finally you need to accept the license terms by Checking the ” I have read, understood, and I agree to the license terms.” box.  This is a free license folks, so no worries about checking the box.

Now that you have agreed to the terms the code for the Image-Rotator, including all the options you select will be visible in the text box at the bottom of the page.  To save the code to a text file click on the “Save To Disk” button which will save the code in a text file.  The default file name is “ImageRotator-2.0.txt”, but you can clear out the name and give it whatever name you like, such as “KentRotator.txt”.

Now we have our code, so let’s put it to use.  I want to replace the standard picture that comes with the default Team site template with my Image-Rotator so first I need to get rid of that picture.

  • Open up the SharePoint page where you want to display the Image-Rotator.
  • Next click on the “Page” tab of the ribbon and then click on “Edit” which will be the very first icon.
  • Click on the image to select it, then press the delete key

Now your site will look like the figure below.  Notice the large picture is now missing, and in its place, we will deploy our Image-Rotator.

Follow the steps below to deploy your Image-Rotator:

  • Open up the SharePoint page where you want to display the Image-Rotator.
  • Click on Site Actions –> View All Site Content
  • Once the “All Site Content” page opens look for Site Assets under Document Libraries, and click on it.
  • Click on the “Add New Document” link, this will open the Upload document dialog box.
  • Click on the Browse button to browse to the location where you saved your code text file.
  • Once the file has been uploaded click on the file to open it.
  • A message box may open asking you if you want to open the file as “Read Only” or “Edit” choose “Read Only” then click OK
  • This will open the file in a browser window.  Copy the URL form the address bar.
  • Then click the back button until you return to your site page.

The next part of deploying the Image-Rotator is to add a Content Editor Web Part to the page.  To do so follow these steps:

  • Browse to the page where you want to deploy the Image Rotator
  • Next click on the “Page” tab of the ribbon and then click on “Edit” which will be the very first icon.
  • Go to the web part zone where you want to display your images and place you cursor where you want to insert the CEWP
  • On the Ribbon, under the “Editing Tools” tab, click on “Insert”
  • Next on the Insert Ribbon, click on Web Parts which is part of the Web Parts group on the ribbon.
  • Under Categories select the Media and Content folder
  • Then under Web Parts select the Content Editor
  • Then click the Add Button.  This will add the CEWP to the page in the same place that your cursor was placed.

c

Now you are back on your page, still in Edit mode.

  • Select the Content Editor you just added and click on the down arrow
  • Select Edit Web Part

  • When the Web Part Editor opens paste the URL for the code text file we copied in the Content Link box.
  • Expand the Title section
  • Add in a title that will display above the images.  I am using “Kent State-You Belong Here!”
  • Leave the Height and Width section set to their default selections.
  • And for a cleaner look on the page I have set the Chrome Type to “None”
  • Then click on the OK button to save your changes.
  • You will now be taken back to the page, still in edit mode.  You will see the CEWP with its new Title but no pictures yet.
  • On the ribbon, click on the “Page” tab
  • Then click on “Save” which will be the very first icon

Once the page is saved and refreshed you should start to see your pictures in our new web part.

So we now have a little WOW factor added to our site, something to attract the users attention and get them looking around.  You can easily change things up by adding, changing, or deleting the pictures stored in the picture library.  You can also make changes to the options you selected by returning to the Image-Rotator page in the SharePoint User’s Toolkit and making different selections.  Then save the file to disk using the same name as you did above.  Finally upload the new text file to the Site Assets library, overwriting the original file.  The changes will take effect as soon as you refresh your page.

As we discussed earlier you can use the Image-Rotator part in a variety of different ways.  You can use it to promote new products, make SharePoint feel more like a community by displaying photos submitted by users, or just display picutres from the last office party.  The possiblities are endless!  How will you use the Image-Rotator?  I would love to hear from readers about the different ways you have put the Image-Rotator to use.  And stay tuned for the next installement ” Tracking the What, When and Where-Customizing Contacts and Calendar”

A School Site to Track Schedules, Assignments and Grades (Part II)

Guest Author: Trudy Hutzler

Welcome to part two of the School Site Overview.

In the last article I gave you some background about why we created the School Site, and I showed how we tracked classes. In this article we start to get into more of the fun stuff as I walk you through how we track homework and assignments.

The Home Page

Again starting on the Home Page, where we have used Easy Tabs version 5 to organize our data, I want to start with the “All Assignments” tab. Here is a list of all assignments that are due for the current quarter and their status.

This shows whether an assignment is submitted, late and by how many days, or how many days until it is due. To evaluate how many days till due, or late against the due date I used Christophe’s new Countdown/Countup formulas.

The priority of the assignment is indicated by the font color of the Assignment Title. I used the Color Coded Calendar tool from the SharePoint Users Toolkit for this piece and just tweaked it a little for my use.

The progress % is a visual indicator showing the percentage of the assignment that has been completed. It moves from Red to bright green as it moves across the bar. The actual color changes in 10% increments.

With online classes, it is not unusual to have classes with over 100 students, so as you can imagine it sometimes takes the teachers a while before they grade all those assignments and post the grades. Until they are all graded the assignment remains blank or at 0% making it hard to know if the assignment was submitted and being graded or was late. So we added the Submitted field so we as parents know if the assignment was submitted, and my daughter can be sure she didn’t forget to turn in the assignment after she completed her work, which if you have teenagers you know can happen a lot.

The Due Today and Due This Week tabs are pretty self-explanatory they are filter views of the Assignments list which list all assignments that are due. The image below shows the Due This Week tab.

The Late Assignments tab is another filtered view which gives us a list of all assignments that are past their due date, and have not been marked as submitted.

The List

As I said in my last article the Lists are the real work horse of the School Site and the Assignments List is really the nerve center for the whole site, everything else is just for support of this one list. In this list all homework assignments for the current quarter are tracked, and the grades recorded. We even track how many days until it is due, or how many days an assignment is late. We also provide access to any links needed to complete the assignment, and scheduled time for completing the work. It all happens here, and it all gets integrated from here as well.

Keeping track of the assignments is only one part of process; you also need to manage your time so that you can actually get the work done and submitted.  But as we all know clicking around between your to-do list and your calendar is a pain, even for the most disciplined of us, but especially for a teenager.  I knew if it wasn’t easy to move between assignment list and calendar and somehow tie the two together it wouldn’t be long before my daughter gave up and went back to her old tried and failed methods of doing her work.   So we needed to find a way to connect her Assignments list with the Schedule calendar.  You may remember the Schedule calendar from the last article.

This calendar color codes the entries by changing the background color according to the category you choose.  If you look at the figure above you will see some of the entries have a green background, another entry has a red background, and so on.  When you create a calendar entry there is a Category field where you can choose a category like “Holidays-No School” which would give the entry a green background and “Report Periods” which would give the entry a red background.  The category you choose will determine the background color of the calendar entry.

But that’s not all, if you call in and order in the next 30 minutes you will also receive the added feature of the Assignment List integration.  You can link your calendar event with an item in your assignment list by using a hyperlink that when clicked will open up the view list item dialog box from the Assignments list.

 Let’s say you are checking out your schedule in the calendar and see an assignment you are supposed to be working on, but can’t remember what it is you were supposed to do for the assignment.  If you open the calendar event, it will look something like the figure below.   You can now scroll down to the Assignment field and click on the hyperlink, which for this example is titled “Assignment 4”.  

This will open the View list item dialog box for this homework assignment from the Assignments list, which you can see in the figure below.  The Assignment List item will even open in a new window so you don’t have to navigate back to the Calendar page again. 

But wait that’s still not all, did you notice the Assignment Page link at the top of the calendar page?

Click that link and go straight to the All Tasks view of the Assignments List, as shown in the figure below.

The All Task, as seen above, is the default view for this list. Notice that in this view we are using the Title field that is linked to the edit dialog box. This gives us quick access to edit the item and update its information. We can easily see how much progress has been made on the assignment by the progress bar. If you click on any of the links in the Scheduled column it will open the dialog box for the calendar item associated with this assignment.

So if you need to reschedule your time to work on the assignment or extend it to another day you can do so easily from the list item itself without having to navigate away from the page. But what if no work time has been scheduled for this item yet? No problem, to schedule time to work on this item, simply select the assignment in the list, hover your mouse over the title of the item then click on the down arrow to open the drop down list item menu. There we have added a new action called Schedule Work using SharePoint designer.

Click on Scheduled work and you will be redirected to the Schedule Calendar where you can schedule time to complete this assignment. Then simply hit the back button on your browser, or click on the Assignments Page link at the top of the page to return to the Assignment list. Finally notice the last column Late Status, this is our newest addition to the site and is based on the Countdown/Countup Formulas Christophe debuted in his blog not long ago. Once I saw them I just had to have them, and Christophe was kind enough to let me beta test them. I of course altered them just a tiny bit to better fit my purposes. The formula you are seeing in this view is the system time formula; I will show you the Internet Time formula in just a little bit. I have used both for demonstration purposes.

So basically that is the list, I have used views to change the way the list looks and functions based on what I needed to accomplish. For example, to track late assignment I created the Late Assignment view that you saw on the Late Assignment tab on the home page. Or I have created a calendar view to show when each assignment is due on a calendar. Some views have a few more visual indicators, like the Details view.

I wanted to be able to see which assignments were more heavily weighted and therefore, should have a higher priority, but I didn’t want to add another column when I was already struggling to keep all the information from running together in a hodge podge. So I made a dual purpose field that would display the Title of the assignment and then color code its priority level by changing the color of the font. May not be real fancy, but it is effective.

Remember when I told you we would be seeing the Internet Time based countdown/countup formula later, well here is in the IsLate column. If you need to create more visual impact this is the one for you, it combines the countdown/countup information with an icon image to really get your attention. I also tweaked this formula a tiny bit to make it more suitable for my needs, mainly by changing the text.

As I have said before replace classes with projects, assignments with milestones, and grades for progress or performance indicators and you can see how these same concepts can be adapted to the business world.

In my next post I will cover how we track grades, because in the end it’s all about the grades.