sharepoinTony

@info – The practical side of SharePoint

Archive for the ‘Lists’ Category

Reminder about List Views

Posted by sharepoinTony on August 2, 2010

Maybe it is my perspective and not really true, but it seems like a lot of people seem to forget that they can change the default view that appears when navigating to a SharePoint list.  Additionally, I seem to have to point out the simple steps to create an alternate view Style.

So for anyone out there that hasn’t realized it, take this post as your reminder…look at your list views and think of what the default “should” be; then consider using an alternate style when it improves usability.

Quick refresher points on List Views:

  • When creating a view you can select to “Make this the default view” right under the View Name.  Change the default view when it is more convenient for the majority of people viewing the data to see it this way.
  • Scrolling down and expanding the Style section of the Edit View page will allow you to change the appearance of the view and the data in your list.
  • Group By will allow you to create groupings of the data in your list based upon one of the columns in your list.
  • Totals will allow you to present column totals to your users.
  • Filters let you manage the data presented in the view.

Tips

Browse out to one of your lists and explore the resulting view after changing the style.

  • One thing I like to do is use the Preview Pane style for some lists where the default view needs to display many columns.  This may require the user to scroll down to see all of the data, but it usually is better than scrolling over to the right to see all of the columns.
  • Choosing the Shaded style might make a vast collection of data easier to read.
  • The Boxed style might be handy when you are displaying a small set of data in a web part, rather than displaying all of the data in the list.  Refine your display with filters and sorting.
  • Filter tip: you can use “[Today]” in your filter when filtering against a date column.  I often use it to get “recent” items by filtering with a target date column.
  • Don’t display a column that you are using in Group By.  The grouped column will display in the grouping, save screen space and remove the column from your view, un-check “Display” in the Columns section.  This isn’t a rule, it is only a tip to save space and avoid duplication of data in the display of your data.
  • If you have a list that is capturing numbers of something, people generally want to see the total of one of those columns. Give them a view that includes totals right from the start, expand the Totals section and select the appropriate column.  Don’t remove the column from your display like I suggested for Grouping – people usually want to see the details that make up a total.
  • Another ‘forgotten’ view is the Calendar View.  You can create a calendar view of any list that has a date …and they all have the Created and Modified dates.  Those dates aren’t always relevant however there are many task and other lists that have content and dates which are often compatible with a calendar view.  You can provide list users with both standard and calendar views to improve usability.


Posted in Lists, Views | Tagged: , , | Leave a Comment »

“New Item Added” Alert not working

Posted by sharepoinTony on July 23, 2010

I hope there is a happy ending to this story, I will update it when I find out. [Updated 7/26/2010]

Here is the situation

MOSS 2007, Alerts set on a Survey list.  Users complain that although they have set up Alert Me to tell them when a New Item is Added they are not getting the email alert.

I setup my own Alerts to test behavior, here is the run down:

  • Creating an Alert produces the “successfully create an alert” email message
  • Changing an item produces the item “has been changed” alert email message
  • Deleting an item produces the item “has been deleted” alert email message
  • Creating a new item DOES NOT produce the “New item added” alert email
  • Alerts on other lists in same site behave normally (all Alerts work as expected)

Some of the things I have done to troubleshoot/resolve this behavior:

  • Restarted the Timer service
  • Verified the Timer service was running
  • Checked the Timer Status in Central Administration – everything Successful and 100%
  • Checked the properties:

STSADM -o getproperty -url http://YourSiteURL -pn alerts-enabled
STSADM -o getproperty -url http://YourSiteURL–pn job-immediate-alerts

  • Re-registered the Alert Templates

stsadm -o updatealerttemplates -url http://YourSiteURL -f “c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML\alerttemplates.xml” -LCID 1033

Behavior after Re-registering the Alert Templates – same as before re-registering, ugh.

Decided to test more alerts on other sites, ah-ha!

  • Other sites in the collection with lists using Alerts behave as expected – “New Item Added” Alert works!

So what do we have?  Behavior is localized to this survey and only impacts New Item Alerts.  Wait, that sentence made me verify…other survey’s behave the same way!  So the problem is not with that “list” it is a problem for all survey’s.

Workaround’s

One workaround that was plausible was to create a workflow to send notifications when new items are created.  This seemed plausible only because in this situation, the users had already requested assistance creating an approval workflow for this survey.   I decided to do a quick test by setting up an approval workflow.  The workflow fails to start.

Following this trail actually helped me get to the bottom of all of this.  I finally came across this Microsoft support article explains how “starting a workflow from a survey response is not supported in Windows SharePoint Services 3.0” – and the article  “Applies To” MOSS 2007 as well.

That lead me to some blogs saying that Microsoft does not support “New item added” Alerts on SharePoint Survey’s in WSS 3.0 or MOSS 2007.   These blog postings were older, so I wanted to find either ‘new’ postings or something that I could consider more reliable.  After searching further I found a hotfix mentioning this behavior – KB983307 Description of the SharePoint Server 2007 hotfix package (sts-x-none.msp): June 29, 2010.

Resolution

What have we learned?

  1. The Alert behavior is a known problem in WSS 3.0 and MOSS 2007; there is a fix, but you will want to review that material and make a decision regarding installing it in your environment or not.
  2. Workflows are not supported for SharePoint Survey’s for WSS 3.0 and MOSS 2007, so keep that in mind to avoid the obvious issues and let your users know that they shouldn’t create Survey’s if they want to eventually attach a workflow.

Epilog (of sorts)

Using Alerts to notify people of Changes to items in Survey’s does work, however you should evaluate what you are trying to accomplish and choose the best tool.  Survey’s are quick and easy to build, so make use of this nice tool built-in to SharePoint when you need it…just be aware of the potential pros and cons associated with using them.

Posted in Alerts, Lists, SharePoint 2007, Survey, Workflow | Tagged: , , , | Leave a Comment »

Service Requests and Sensitivity

Posted by sharepoinTony on January 25, 2010

I recently implemented a customized version of the Microsoft Help Desk template for SharePoint 2007.  Quickly after launching I adjusted things based on feedback and input that never came prior to the launch.

Background

The service request system, implemented via the help desk template, by default requires that all employees have access to submit requests.  The open-nature of SharePoint (and most IT departments) also dictates that users be able to see the pending service requests.  This visibility is normally thought of as a good thing for IT and helps promote self-service internally.  One of the customizations that I put in place was a notification workflow that sent email to the help desk staff telling them of newly submitted requests.  This workflow also automatically responded to the customer via email providing confirmation that their submission was successful.  The email provides a link back to the service request list so the customer could see all of the pending requests, including their own.

The Request

One significant post-launch request came from Human Resources.  They occassionally make requests that are sensitive in nature, such as terminations.  HR felt that those requests should not be visible to all employees.  This posed a problem for the service request list.  There is no doubt that it is a valid request, and the desire to keep most requests visible to users hadn’t changed, so I now had an exception to deal with.
Options considered were limited for various reasons.  One option would be to simply make a duplicate request list for sensitive HR requests.  But that meant managing two lists for the help desk, tracking two lists worth of requests for IT management, and created a possibility that a request might sit un-noticed.
Another option was to avoid using the service request list for all sensitive requests.  HR could send an email request as they had done historically in this small company.  Everyone was already “comfortable” with that process, however no improvements would easily fit into the old email process.  Reverting back to an old process just didn’t sound good unless there wasn’t a better solution.

The Solution

The solution concept chosen was to install a CodePlex feature that would allow a workflow to change the permissions on specific requests.
The concept was that sensitive requests could easily be identified since HR knew at the time of submission whether or not the request was sensitive, and could simply ‘mark’ the request as sensitive.  The workflow could check the column used for this purpose and based on its value could change permissions on that specific item.  We could limit the visibility to the appropriate staff without significantly changing the existing service request system.

The “Useful SPD Workflow Activities” feature from CodePlex was installed on a test server and the concept was examined closer.  After successful examination and testing it was decided that this would provide a very acceptable solution to the situation, and a quick response to the request from HR.
I created a new workflow to manage these permissions changes for two reasons.  First, I like keeping workflows as simple as possible.  Second, I wanted to be able to provide the flexibility to execute this behavior without sending emails that may be confusing which might come from adding these steps into the existing notification workflow.
The new workflow is very simple.  I check the designated column in the service request list and if it indicates that the item is sensitive then I remove a SharePoint Group’s permissions to the list item. I use several SP Groups to provide access, one contains all users, one contains appropriate HR staff, and one contains help desk staff.  When I remove all permissions from the group containing all users then only the members of the HR and Help Desk groups can see the item in the service request list.  There is no impact to other users or other requests.

Because the workflow can be started manually, we have the flexibility to “hide” any request that comes in by simply modifying the designated field and initiating the workflow.  This means that if HR forgets to “flag” a request, or if any other request is deemed sensitive we can quickly and easily “fix” it without having a workflow running all the time to monitor changes to requests.  Everyone is happy with this solution and it took longer to write this blog post than it did to implement in production.
Footnote: This CodePlex feature was installed and implemented on a 64-bit Windows Server 2008 system running MOSS 2007.

Posted in Lists, Permissions, SharePoint Tools, Workflow | Tagged: , | Comments Off on Service Requests and Sensitivity

SP 2007 Audience Limitations

Posted by sharepoinTony on December 28, 2009

Using Audiences in SharePoint 2007 helps you to provide content in a more customized manner.  Your defined audience will see the content while others that are outside of that audience may not see the content.   As the SharePoint 2007 “Help and How-to” puts it:

By using target audiences, you can display content such as list or library items, navigation links, and entire Web Parts to specific groups of people. This is useful when you want to present information that is relevant only to a particular group of people.  For example, you can add a Web Part to the legal department’s portal site that contains a list of legal contracts that is visible only to that department.

 

Targeting specific list or library items to audiences works in a slightly different manner than when targeting entire lists or libraries.   To target a web part to an audience you simply Edit the page, Modify the Shared Web Part and specify the Target Audience under the Advanced section.  Only members of the specified audience will see the web part on the page.

 

To target a list item for example, you must enable audience targeting on the list, specify the audience on the item and then present the item in a web part, usually a Content Query Web Part.  Displaying the content in this way will allow filtering to occur.  If you complete all of these steps except the last, presenting the item in a web part, then the specified audience will not filter the view of the item in the list.  SharePoint list and library views do not allow filtering by Audience, and the list or library will display all items in the view regardless of the specified audience

 

So be cautious, if your users have access to a list or library you will have to control visibility through permissions and obscurity rather than the use of audience targeting.  That is, hide the list from common users and always display the content via web parts.  Presenting content in this way is not always feasible, especially when you may have people from different audiences updating the list or library.  The best option is to simply segregate the items into different lists or libraries by audience.

 

Posted in Document Library, Lists, SharePoint 2007 | Tagged: , , , | 2 Comments »

List View Filtering

Posted by sharepoinTony on September 10, 2009

 
Here is something that I had to figure out that may help others…

Looking for NULL’s:
In your view, for the filter choose:

“Show items only when the following is true:”
then “Show the items when column”
Select from the dropdown [name of your column that can be blank]”
choose “is equal to”
then leave the text box blank.

  See my example using a blank Due Date:

 Filter within a List View

Filter within a List View

 

 

 

 

Going back to your list, if you now use this view, it’ll only return results where the column is empty.

 

Filtering a View for a SharePoint List

Posted in Lists, SharePoint 2007, Views | Tagged: , , | Comments Off on List View Filtering

SP Designer Forms – View, Update

Posted by sharepoinTony on July 7, 2009

A new request came in recently. A department wanted a form that anyone could use to submit suggestions.  They want the form to update a list so the suggestions could be tracked. Oh, the suggestions will need to be reviewed by the “boss” so he can approve any work that might be needed to implement the suggestion.  Oh yeah, before the boss looks at these there should be a designated reviewer to filter some of the suggestions so the boss doesn’t have to see duplicates or things that are simply inappropriate for this suggestion pool.

Doesn’t sound tough.

By the way, they also want an email notification when a new suggestion comes in so the “reviewer” knows she has to go check the list.  It would be nice if the reviewer didn’t have to “mess” with the SharePoint list, just see only what needs her review. Also, she needs to indicate (somehow) that the boss has things to review, since he doesn’t want to see every suggestion as they come in. He does want a reminder, via email, every now and then after a few suggestions have collected in the pool (list). Of course he only wants to see the items that the reviewer has already filtered through, none of the rejections.

Once the boss decides that the suggestion is worthy and approves it, he also may have some comments or directives, and he may want to route it to some other department. If the suggestion is ‘approved’ and work needs to be done, then we should have a place to track some notes on this item, and a status to track the item through the whole process.

Still not to difficult for SharePoint.

My thoughts ranged from standard approval workflow to custom InfoPath forms. But I chose to use SharePoint Designer (SPD) to create a series of forms based on a custom list. Why? One reason is because the users don’t really want to interact with a SharePoint List. Another is because there is a good chance that they need a list and not a form library (I can’t go into all of the details here). And the final reason for the purpose of this blog is “just because”. I won’t go into the entire setup, today, but I do want to get one important gem posted that may be helpful to others.

That gem is:

You can create the form based on the custom list, and set some of the fields to display as text, so that your reviewer cannot change those columns in the list. They only update the columns you want them to update, and can’t mess with the other columns (from the form).  This relies on the laziness of your users…if they want to go find the list there is nothing stopping them.   [side-note: I generally hide the list from the Quick Launch and provide easy to find links to the forms.]

How do you do this?

  1. After inserting your chosen columns from the data source, right-click on a column in SPD in Design view.  The Common xsl:value-of Tasks window pops up (it may also display as “Common FormField Tasks”).  It should display the Data Field and Format as options.

    Inserted Column Form Properties

    Inserted Column Form Properties

  2. For the columns you want to display and not allow editing, select Rich Text in the Format as option.  (that is, change it from “List form field” to “Text” or “Rich Text”)
  3. Save your form and test.  It should now display the columns as un-editable text while other columns in that item row remain editable.

Another “nice” thing to do in your form, if you are using Multiple Item views, is to alternate shading the item rows to make them easier on the eyes.  Use Conditional Formatting and apply the style when the Row Number is Odd (or even if you prefer).

Overview of how I accomplished the desired behavior:

  1. Create a custom list with the necessary columns for the primary purpose and the management of this process
  2. Create SPD forms for:
    • Submitting a suggestion
    • Reviewing suggestions
    • Approving suggestions
    • User viewing of “active” suggestions
  3. Create a workflow to notify “reviewers” when new suggestions are submitted
  4. Create a button for “reviewers” to click when they want the boss to be notified that it is time to look at the suggestions (SPD form button sends the email)

Posted in Designer, Lists, SharePoint 2007 | Tagged: , | 2 Comments »

MOSS 2007 size limits – and List Item Attachments

Posted by sharepoinTony on June 9, 2009

Basic stuff first (all of this can be found elsewhere, I just wanted it to be more handy).

  • Site Collections in a Web Application = 50,000
  • Sites in a Site Collection = 250,000
  • Sub-sites nested under a Site = 2,000
  • Lists on a Site = 2,000
  • Items in a List = 10,000,000
  • Documents in a Library = 2,000,000
  • Documents in a Folder = 2,000
  • Maximum document file size 2GB
  • Documents in an Index = 50,000,000
  • Search Scopes = 1,000
  • User Profiles = 5,000,000
  • Template size = 10,000,000 (default)

List Attachments over 50MB need more than an increase in Maximum Upload Size…

  1. Connect to Central Administration
  2. Navigate to Application Management, Web Application General Settings
  3. Select your web application
  4. Set the Maximum Upload Size value to the value you desire (we wanted 500)  MB and hit OK
  5. Open the web.config
  6. Replace <httpRuntime maxRequestLength=”51200″ />  with <httpRuntime maxRequestLength=”512000″ />

Something in IIS blocks List Attachments that are over 50mb, so unless you do the above steps they fail with “An unknown error occurred” message.

Templates

Saving site or list templates, especially With Content, have a 10 MB limit by default.  To change this you have to use the STSADM utility:

stsadm -o setproperty -propertyname max-template-document-size -propertyvalue 50000000

This sets the limit up to 50 MB, you can set it to the value you need.

Posted in Lists, SharePoint 2007 | Tagged: , , | 4 Comments »

Poor Folk’s Calendar Reminder (part 1)

Posted by sharepoinTony on April 10, 2009

I received a request from a small department that has a (MOSS 2007) site on one of our SharePoint portals.  The group is an accounting group who, like most accounting groups, has a calendar full of due dates for various accounting activity.  There are a handful of those due dates which are for accountants in other locations to submit something back to this accounting group.   The accounting group establishes these due dates and enters them on this one specific SharePoint calendar.

The Problem

Although everyone involved in this process has access to the calendar, most of the remote accountants do not regulary visit the calendar.  They call and ask when something is due.  Often they don’t call, someone in the local accounting group has to call them looking for something that was due today or yesterday.

The Request

Allow the user creating the calendar item to mark it for reminders and define who should receive the reminders for each event.

Discussion

This is a sore spot for me.  Microsoft obviously knows how to enable reminders on calendars, it has been around in Outlook for a very long time.   They really should have enabled reminders in SharePoint calendars without having to fully integrate with Outlook…and in my opinion, should have enabled the features requested above as part of the base SharePoint calendar feature set.

Additionally, I know there are several very good third-party tools to accomplish this.  I also know there are numerous methods to accomplish this with some custom coding.  However, as the title of this indicates, this is one possible method which I was able to implement at no cost and doesn’t require me to tap our understaffed, overworked and highly paid developers.

I am happy to hear any and all comments, improvements, or arguments about my implementation, I believe in continuous improvement.

The Poor Folk’s Solution

After reviewing several good blogs related to this topic of setting up reminders using a workflow, I came up with the following for my solution.  Relatively easy to implement, easy to use, and flexible enough to allow some notification options for the users.  Primary requirement was to meet the basic needs of the users.

Plan of attack – Overview of solution

My workflow is actually very simple from a flow-chart point of view.  I have 4 steps, the first checks to see if a ‘reminder’ flag is set, if it isn’t the workflow stops.  The second step checks selections made by the creator of the event, sets variables, and pauses for a pre-determined amount of time – if the user chose to remind a certain number of days prior to the event.  The third step checks for a specific date reminder and pauses until that date – if that is what the user chose.  The fourth step verifies the flag after the pause and sends the email notification.

My concept evolved during the implementation of this solution.  At first I made the user select a specific date that they wanted the reminder email sent out.  This wasn’t very flexible and required the user to calculate out the dates themselves.  After talking with the primary users, I learned that they had a short list of possiblities that they expected.  The would want to set reminders 1, 2, 3, 4 or 7 days in advance of the event.  Why not just let them chose one of these options.  Since I already set up the “reminder date” column in the list from my starting concept, I decided to keep it and allow additional flexibility.  The user could then either choose a specific date for the reminder or select one of the predetermined options.

Building Steps – List Fields

I added the following fields to the Calendar list:

Reminder – This is a Yes/No column (actually setup as a Choice column with Yes/No options)

ReminderDate – This is a Date and Time column

ReminderDays – This is a Choice column, with choices of “0,1,2,3,4,7” and a default of 0

I also added ReminderStatus as a Single line of text column so that I could update it from within the workflow to provide some status information right in the calendar list (I create a standard view displaying these fields rather than the standard calendar view).  You may not want this, so consider it an optional field.

These fields need to be created first so that they are available to SharePoint Designer when creating the workflow.

Next Time:
Building Steps – People

Building Steps – Workflow 1

Calendar Reminder (Part 2)

Posted in Calendar, Designer, Lists, Reminder, SharePoint 2007, Workflow | Tagged: , , , | 3 Comments »

Change List in Designer Form

Posted by sharepoinTony on March 10, 2009

Recently I created a request form in SharePoint Designer 2007 which was to be used to create a new item in a SharePoint List on one of  my MOSS 2007 sites.  I worked to get the appropriate look and feel, layout, etc. on the form so that the form would be pleasing to the users.  Normal stuff, right?

Then I tested my form out.  Worked great, so I added a 3-state workflow to the list.

This workflow needed to simply notify someone when the first step occurred: after a user submitted the form, creating the new list item.  For this step I thought it would be nice if the user got an email automatically, telling them we recieved their request.   To accomplish this I wanted to use OOTB tools, so I simply selected the CreatedBy  for my Task Assigned To selection in the Task Details within my worklfow.  This allowed me to check the Include Task Assigned To checkbox under E-mail Message Details.  In the Body I placed a nice and friendly message to the user saying we got the request.  Dandy, this is quick and easy.

Not so much.

The first thing testing brought to light was that the URL link included in the email was broken.  My list name contained a space and the automatically generated url in the email stopped at the space, with the remainder of the url following the link in plain text.  Users would have to copy and paste the whole url in the browser to go check the list.   Since they might want to look at the status of the request by going to the list, I felt this needed to be remedied.

Hey, Change the list name…Settings, List Settings, Title, description and navigation.  Won’t work.  The name will appear to the user but the url stays the same.

Ok, just create a new list with a name that doesn’t have spaces.  I saved the list as a template, created a new list using the template and now we have a list that won’t generate a broken URL.  Solved.

Wrong.  Of course the Form is using the original list.  I searched to learn how to detach the list in Designer.   You may have better luck than me, but I couldn’t find a way to do it.  It would have been nice of Microsoft to include the capability for swapping out one list for another on a form, but they didn’t.  Or if they didn’t they didn’t make it easy to find.  I know, I know there would likely be column differences which would require some management and resolution.  Still, it seems like this would be used by more than me and more than once.

I finally went to the code and changed the List ID from the old list to the new list’s ID using Replace in Designer.  This worked fine.  Now my effort on the form didn’t have to be repeated just because I needed to change the name of the list.

Testing proved my point…but another issue came up.  Now my user is getting email’s from the Workflow Tasks list as well.  Since they are the Assigned To person for the task, they get an email…and wonder what task they have to complete.  So I have to modify the workflow to stop using Created By as the Assigned To in the Workflow Task.  That is easy enough, but now I am back at square one.  I still want to generate an email to the requestor, but that will wait until tomorrow.  🙂

Posted in Lists, SharePoint 2007 | Tagged: , , | Leave a Comment »