3/20/2011

SharePoint 2010 RSS Feed Reader using a Data Form Web Part

 

SharePoint Foundation does not include an RSS Viewer Web Part. But with SharePoint Designer 2010 you can easily create one using a Data Source and a Data Form Web Part.

 

Get the URL to the RSS feed

  1. Go to the site with the RSS feed you want to use
  2. Click the RSS icon or link to display the RSS feed
  3. Copy the URL from the browser’s address bar

 

Create a Data Source

  1. Open your site in SharePoint Designer 2010
  2. In the Site Objects panel click Data Sources
  3. In the ribbon click XML File Connection
       image
  4. Paste the URL you copied in step 2 into the Location box
       image
  5. Click the General tab and give the Data Source a name
       image
  6. Click OK

 

Create the web part

  1. Open your home page or your web part page
  2. Click the Design tab at the bottom of the window
  3. Click where you want the web part
  4. Click the Data View button and the ribbon an click Empty Data View
       image
  5. Click “Click here to  select a data source” and select your data source from the list
       image
  6. From the Data Source panel select the “Title” field. This may be different in your data source, but for my example it is “title” and is found in the “entry” section.
       image
  7. Click “Insert Selected Fields as” and choose “Multiple Item View”
       image

    You now have a web part with a list of articles from the RSS feed. To complete this project you will want to change the article titles clickable links and remove the "title” column heading.

       image

Add hyperlinks

  1. Browser through the list of the fields in Data Source panel and find the hyperlink field – in my example it is “feedburner:origLink”
       image
  2. Click any one of the rows in your new web part
  3. Click the Insert tab in the ribbon and then click Hyperlink
  4. In the “Insert Hyperlink” window click image button and select the field from step #1
       image
  5. If you would like for the RSS feed article to open in a new click, click the Target button and select New Window
       image 
  6. Click OK and OK
  7. You will probably also want to select the “title” column heading row and delete it
  8. Save your work and test from a browser

image

 

.

3/16/2011

SharePoint Cincy – Last Chance to Sign Up!

Only one day left! You’ve got to be registered to attend.

SharePoint Cincy – March 18th, 2011

 

Northern Kentucky University’s Center for Applied Informatics and MAX Technical Training are bringing a major SharePoint event to the Cincinnati area! SharePoint Cincy will be held at the METS Center located in Erlanger, KY. The METS center is near the Cincinnati airport (CVG) and has lots of free parking.

See the site for the agenda, speakers and registration: http://www.sharepointcincy.com

 

Lots of great speakers will be there! (And I will be speaking there too :-) )

 

image

 

.

3/02/2011

SharePoint, JavaScript and Dates

 

How does your SharePoint site display a date?

The answer is… “it depends.”  Create a new task and schedule it for January 3rd, 2012. Now display the task list and see how the date is displayed.

Do you see this image  or this image

You would see the first if you had your SharePoint preferences (Regional Settings) set to a country where they enter dates as dd/mm/yyyy, such as France.

To play with the regional settings, click the Welcome menu at the top right of a SharePoint page and click My Settings. Then click My Regional Settings, uncheckmark “Always follow web settings” and pick a locale.

image  

image

image

 

So what’s the problem?

If you are writing JavaScript code that needs to work with the date you may get the wrong date! As an example, if you wrote some JavaScript to read the Due Date from a task and changed the color or font for past due tasks you would probably use the Date.parse method to test the date:

var colDueDate = 7; // list column with Due Date
if (d.getTime() >= Date.parse(row[i].parentNode.childNodes[colDueDate].childNodes[0].innerHTML) )
{
  row[i].parentNode.style.backgroundColor='red'; // set the color
}

In this example, if today’s date is February 15th 2012 and the Due Date is March 1st 2012 then Date.parse would show the task as past due for the French users and not past due for the United States users.

JavaScript date references:

http://msdn.microsoft.com/en-us/library/ff743760.aspx

http://www.w3schools.com/jsref/jsref_parse.asp

 

The fix?

Display the date in a format that Date.parse likes. JavaScript first attempts to parse the date as an ISO formatted date. It then tries a few other rules, but none of those support dd/mm/yyyy. What we need to do then is deliver a date from SharePoint that will always work with JavaScript, and one that always works is yyyy/mm/dd. You could just pick a locale that uses that format, but your users are not likely to be happy with that.

What works in my projects is to add a calculated column to my list that generates yyyy/mm/dd format, hide that column in the display and use that column for my JavaScript date math.

  1. Add a new column to your list and give it a name like DueDateYYYYMMDD
  2. Add a formula:
             =YEAR([Due Date])&"/"&MONTH([Due Date])&"/"&DAY([Due Date])

    image 
  3. Save your changes
  4. Add this new column to your view
  5. Add some tasks with a due date and verify that both Due Date and DueDateYYYYMMDD have the same dates, just formatted differently
  6. Go to your Welcome menu, click My Settings, My Regional Settings and change your locale to France and confirm that while the Due Date column has changed, the DueDateYYYYMMDD is still the same

Make it do something useful

The JavaScript below is an update to the “SharePoint: Past Due / Late Tasks in a Task List” article. The code now works regardless of the SharePoint or user locale (date format) settings.

image

 

<script type='text/javascript'>
// customization trick from TechTrainingNotes.blogspot.com
 
var colDueDate = 6;  // This is the column with the due date in the YYYY/MM/DD format
var colToHide  = 6;  // This is the same column as above if you want to hide the custom date format
var colPastDue = -1; // optional column to display a custom JavaScript set message
var tableName = "Tasks"; // (from summary="")
 
// find the table for the list
var tables = document.getElementsByTagName("TABLE");
var table
for (x in tables)
{
  if (tables[x].summary == tableName)
  {
     table = tables[x];
     break;
  }
}
 
// hide the column with the special date (optional)
if (colToHide > -1)
{
  var TRs = table.getElementsByTagName("TR");
  for (x in TRs)
  {
 
    var toHide = colToHide;
    if (TRs[x].innerHTML)
    {
      if (TRs[x].innerHTML.toString().toLowerCase().indexOf("iframe") > -1 )
      { toHide += 1; }; // fix for 2007
 
      try {
      } catch (e) {}
      if (TRs[x].childNodes && TRs[x].childNodes.length >= toHide)
      {
        TRs[x].childNodes[toHide].style.display="none";
      }
    }
  }
}
 
// Color code the row based on a date calculation
var TDs = table.getElementsByTagName("TD");
var now = new Date();
for (i in TDs)
{
  if (TDs[i].className=="ms-vb2") //find the TDs styled for lists 
  {
    //find a row with a key phrase
    if (TDs[i].innerHTML=="Not Started"
         | TDs[i].innerHTML=="In Progress"
         | TDs[i].innerHTML=="Waiting on someone else" )   
    {
      // is this row (task) past due?
      if (now.getTime() >= Date.parse(TDs[i].parentNode.childNodes[colDueDate].innerText) )
      {
        // set the color
        TDs[i].parentNode.style.backgroundColor='red'; 
        
        // optionally display a message in another empty column
        if (colPastDue > -1)
          TDs[i].parentNode.childNodes[colPastDue].innerHTML='Past due!'; 
      }
    }
  }   
}
</script>

 

.

3/01/2011

SharePoint Datasheet View vs. 64 bit Office

 

If you try to use the SharePoint Datasheet view and get this error:

The list cannot be displayed in Datasheet view for one or more of the following reasons:

  • A datasheet component compatible with Microsoft SharePoint Foundation is not installed.
  • Your Web browser does not support ActiveX controls.
  • A component is not properly configured for 32-bit or 64-bit support.

then you may have 64 bit Office (or any one 64 bit Office application such as Excel) installed!

 

Or… you may be using the 64 bit version of Internet Explorer!

 

Here is the Microsoft article that recommends not using Office 64 bit for most users:

http://technet.microsoft.com/en-us/library/ee681792.aspx

I’ll summarize… “If you want any Office integration with anything else… don’t install 64 bit Office!

 

If you must use 64 bit Office and still want SharePoint and other things to still work… and you are willing to live with and issue or two…

http://support.microsoft.com/kb/2266203

 

 

For most other datasheet errors just check the online help:

 

Status bar displays 'Read-only' or 'This view is read-only'

The selected cell, column, row, or the entire view is read-only. You cannot edit a cell, column, or row that is marked read-only. If the entire view is read-only, you cannot edit any portion of the view.

Portions of a view, or an entire view, might be read-only due to one or more of the following reasons:

  • Certain columns, such as Created By and Modified, are always read-only. Values for these columns are entered automatically.
     
  • The changes you made to the selected row or column have been submitted to the server. If there is no conflict or error, you will be able to edit the row or column after the changes have been saved.
     
  • There is an unresolved conflict or error in the selected row or column. Resolve the conflict or error before attempting to edit the selected row or column.
     
  • The list is set up to require content approval, and you are viewing the list in the All Items view.
     
  • In the My Submissions view of a list that requires content approval, the Approval Status and Comment column are read-only. Only a user with Manage Lists right can edit these two columns.
     
  • Attachments are read-only in a list that requires content approval. You cannot view or edit attachments in any of the views.
     
  • The document in the current row has been checked out by a user. You cannot edit the columns in the row until the user checks the document in.
     
  • You do not have permission to edit the column or row. Contact the list author for more information.

 

.

2/24/2011

SharePoint: Prevent the Closing of web parts

 

The following works in both SharePoint 2007 and 2010.

 

If you have worked with SharePoint for a while you probably have learned that in most cases Closing a web part is “bad” and Deleting a web part is “good”.  (Do a web search on “SharePoint web part close vs delete”.)

 

So how can you prevent the closing of a web part?

How about five ways…

 

1) Every time you add a web part go to the Advanced section of the properties panel and uncheckmark “Allow Close”  (too much work)

image

 

2) Add a little JavaScript to prevent the Close:

image

 

3) Add a little JavaScript to disable the Close Option

image

 

4) Add a little JavaScript to hide the Close Option (probably the best choice)

image

 

5) Add a CSS style to hide the Close option (easy to do, but it leaves a blank line)

image

 

 

I prefer #4!

 

 

The JavaScript to prevent the close and display a popup:

Add the following to your site’s master page just before the </BODY> tag (A SharePoint Designer task!) or in a Content Editor Web Part (last one on the page) if you just want this for a single page.

<script>
  // JavaScript to block the closing of web parts
  // TechTrainingNotes.blogspot.com

  var oldClose = MSOLayout_RemoveWebPart;
  MSOLayout_RemoveWebPart = function (x)
  {
    alert("Closing of web parts has been disabled");
  }
</script>

 

 

The JavaScript to Disable or Hide the Close option:

Add the following to your site’s master page just before the </BODY> tag (A SharePoint Designer task!) or in a Content Editor Web Part (last one on the page) if you just want this for a single page.

<script>
// hide or disable the web part Close option
// TechTrainingNotes.blogspot.com

_spBodyOnLoadFunctionNames.push('hideWebPartClose');

function hideWebPartClose()
{
  var x = document.getElementById("MSOMenu_Close")

  // uncomment the next line to just disable (gray out)
  // x.disabled=true

  // uncomment the next line to hide the close option
  x.hidden=true

}
</script>

 

The CSS to hide the Close option:

Add this to your master page, your linked style sheet file or to a Content Editor Web Part.

<style>
  #MSOMenu_Close
  {
    display:none
  }
</style>

 

.

2/23/2011

SharePoint Cincy 2011 presenter list has been posted

 

Register now!  There is limited space available at the METS Center.

image

 

Speakers

The speaker list is not complete yet. See here for the current list: http://www.sharepointcincy.com/presenter-information

KEYNOTE SESSIONS:

  • Microsoft Executive, Fred Studer, has P&L responsibility for a $6B portfolio of Information Worker (IW) products.  Come hear Fred discuss the strategic importance and future direction of SharePoint.

  • Kroger IT leader, Catherine Allshouse, will share how they use SharePoint to deliver as many as 2 million customer interactions/day on Kroger’s websites.

 

One SharePoint MCM, at least two SharePoint MVPs and at least one MCT!

And a lot of Microsoft Certified “fill in the blank”  (too long to list)

 

Sessions

The session list is not complete yet, but these are currently listed sessions:

 

(Up-to-date list here: http://www.sharepointcincy.com/session-information)

Breakout Session Tracks/Topics

Core topics/sessions are confirmed, remaining sessions will be added based on demand/input from Registrants.

TRACK 1: Driving Business Value With SharePoint

Subject:  Top 10 Ways to Leverage the Value of your SharePoint Investment
Presenter:   Steve Caravajal – Microsoft Corporation, Principal Architect

Subject:  SharePoint Governance
Presenter:   Mike Smith– MAX Technical Training, Senior Instructor and SharePoint MVP

Subject:  Key “Lessons Learned” from Successful SharePoint Projects
Presenter:   TBD


TRACK 2: SharePoint Development and Site Customization

Subject:  Does it Make Sense to Use SharePoint 2010 as an Application Development Platform?
Presenter:   Mario Fulan – ICC, SharePoint Practice Leader and SharePoint MCM

Subject:  How to Develop and Deploy SharePoint Applications and Solutions
Presenter:   Matthew Tallman – Sogeti USA, Manager Enterprise Collaboration Group

Subject:  Integrating Applications with the SharePoint Platform using Business Connectivity Services (BCS)
Presenter:   Jonathan Mast – SharePoint911, Senior SharePoint Developer


TRACK 3: SharePoint Implementation and Administration

Subject:  SharePoint Administration – Deep Dive
Presenter:   Shane Young – SharePoint911, Principal Consultant and SharePoint MVP

Subject:  SharePoint Disaster Recovery and High Availability
Presenter:   Sean McDonough – Idera, SharePoint Products Manager

Subject:  SharePoint Sizing and Capacity Planning
Presenter:   Shane Young – SharePoint911, Principal Consultant and SharePoint MVP


TRACK 4: Business Intelligence and Data Management

Subject:  Data Visualization and Business Intelligence Solutions Using SharePoint 2010
Presenter:   Raveen Rajavarma – Ascendum, SharePoint Practice Leader

Subject:  Case Study: SharePoint’s Role in P&G’s Business Intelligence Solutions
Presenter:   Pat Kern– Procter & Gamble, IT Director

Subject:  Implementing Dashboard Solutions using PerformancePoint Services and SQL Reporting Services in SharePoint 2010
Presenter:   TBD

 

 

.

SharePoint 2010: What does the web part checkbox do?

 

Here’s a question for everyone… What does the checkbox in the web part title bar do?

image

 

In user interface design, checkboxes generally imply the ability to select more than one item at a time, but you can only check one web part at a time:

image

 

Clicking the checkbox while the page is in Edit mode does reveal the web part ribbon tab, but then so does clicking in the title bar of the web part:

image

 

The checkbox might be the hint that that web part is selected, but so does the border that’s added when you click on the title bar.

image

 

Clicking an item in a list web part checkmarks the item, highlights the time, checkmarks the web part and adds a border around the web part!

image

 

 

So… Why the check box?

  • Like an appendix, every web part just has one?
     
  • It’s was part of a planed multi-select feature that was not completed by release time?
     
  • It’s a secret?
     
  • Someone on the SharePoint team thought that it was just cool?
     

If you know… please post a comment below!

 

.

2/20/2011

SharePoint 2010: Color Coded Calendars (updated!)

 

As I’m working on my customization book I am revisiting every one of my past “quick tips”. As I do so I am often finding a better way to do something. I ran into some issues working around the asynchronous loading of calendar events with the article below. After digging more into the code behind the calendar pages in 2010 I have found a much better way to trigger the color coding code, which fixed a few other issues along the way. 

 

The original article, with the updates is here: http://techtrainingnotes.blogspot.com/2010/06/sharepoint-2010-color-coded-calendars.html

 

(An article may be written and published, but seems it is never finished!)

.

2/10/2011

InfoPath 2010: "The following url is not valid"

 

There are bugs, and then there are DUMB bugs!

 

When you try to publish an InfoPath 2010 form to SharePoint, InfoPath may display this error: “The following url is not valid”, even if the URL is valid. The cause?  This Microsoft article says its because InfoPath ignores your URL and instead checks to see if there is a root level site collection. In other words, if you entered http://yourserver/sites/site1, InfoPath checks to see if http://yourserver is a valid site collection. There’s no “rule” that says you must have a root level site collection in SharePoint.

The fix, according to Microsoft… create a root site collection! 

 

DUMB!

 

Did it work? Yes, and the odd thing is I created a site collection without granting the users access permissions and InfoPath was now happy in spite of permissions.

 

For more info see: http://support.microsoft.com/kb/981854

 

 

And while talking about DUMB bugs…

How about this one… try to publish from InfoPath to a server that requires authentication… you get a popup for the username and password with a popup about “Getting site content types”.  You can’t authenticate without cancelling the “getting” of content types. You can’t get content types without authenticating.

DUMB!

Actually this is dumb, but unlikely. In this example the user was in the Member group, but was not a site owner. The first time the wizard asked for credentials it was to confirm that the site existed. The second time was because the user did not have rights to publish. Still… it’s a dumb bug.

 

image

 

.

Note to spammers!

Spammers, don't waste your time... all posts are moderated. If your comment includes unrelated links, is advertising, or just pure spam, it will never be seen.