A while ago (back in September) I posted a piece about how we started out on our paperless school project by developing an online form for our academic review day process. You can read it here

The basic ide behind academic review days is that students and parents come in for an interview with a member of staff and set 3 targets for the coming year, once the form is completed these targets are emailed to the student and parent. now that all well and good but the amount of emails people get nowadays means that eventually these targets will be lost way down the email list. This got us thinking how we can remind the student what there targets are.

Learning Gateway

The School where I work is puts a heavy reliance on SharePoint 2010 as our Learning gateway. A student will have to login to the gateway any time they access a computer. For years 7 – 9 this is at least once a week and for year 10 and above its more like once a day. So why not use the gateway to show the student their targets

Add The List View

I have decided to add a list view to the main page of the Learning Gateway, so in page edit mode select the list to add and add it into the page

image

Now the list holds a lot of data taken from the academic review day but I only want to show the targets for the student. To do this edit the web part and  and select Edit the current view

image

As I only want to show the targets I am going to untick everything else and click OK

image

So now the list view only shows the targets, the only problem is it will show all the targets so I need to filter them to only show the targets for the logged on user.

Using A Filter

This bit needs a bit of planning when creating your original list and form. When a member of staff completes the academic review day form they use a person picker control to select the student they are interviewing. Once selected the form automatically adds hidden fields for the students email address and active directory account name. Its the account name that I can then use to filter the list view.

Again in page edit mode add another web part, this time selecting the filter categories and then the Current User Filter

image

When you add this web part to the page you will see the following on your page

image

This web part automatically picks up the username of the person logged on, you can then send this data as a connection to the list view and filter it on this data.

To do this click on the small black triangle on the filter web part and select

Connections | Send Filter Values To | the name of the list view web part

You will now see this dialogue box

image

Leave this screen with the default selection and click Configure

From the next screen select the field from the list you want to send the data to, in this case its the field that contains the active directory account name of the student that the form is about. Then click Finish

image

Student View

With all this now set how does it appear to the student. When the student logs in and loads up the learning gateway they see the main page which shows them the filtered data.

image

And just to prove it works here is the list showing two sample entries added but as you can see the student only sees their own targets

image

Additional Uses

Of course using the current user filter in this way is fairly simple, but you can also send the current user data to different views of the same list so that it filters it on Learning Manager, Tutor or even Parent if you have parental logons in active directory.

I recently have published some posts showing how we are using InfoPath 2010 and SharePoint 2010 to replace some paper forms in School, this is all part of our Paperless School project – the aim of the project is to replace as many paper forms as possible with SharePoint 2010 based ones, allowing us to store and analyse data easily and quickly while also saving us money on paper, printing etc

One of our biggest undertakings was to replace all the paperwork that goes alongside our student academic review days and this post explains how I created the form and used other SharePoint lists to make it easy for staff to select from drop down menus

Completed Form

image 

The form is broken down into sections

  • Review Day Details
  • Students Details
  • Target Review
  • Target Setting

 

Each section has multiple controls, some of which have been covered in the previous posts, in this post I want to concentrate on how to use a SharePoint list to pull in data that then makes it easier for staff to fill in the form and ensure you get consistent data.

The form has a main data connection that submits the form back to a SharePoint Document library

Create The List

What I am aiming for in this section is to create an easy way for staff to select the year group of the student, form group, tutor and learning manager. What I don’t want to do is make the staff type it into a text box.

I have created a list within my SharePoint environment with the following fields

  • Year
  • Form
  • Tutor
  • Tutor_Email
  • LearningManager
  • LM_Email

 

I then populated it with the details of all the tutor groups, years etc

You need to ensure that the columns allow duplicates, as there are multiple forms per year both the year and learning manager details will appear multiple times in a column.

Connecting The Data

I need to connect my form to the list data so that it can use it for providing options for the controls, to do this select Data from the menu bar and then Data Connections

image

Click on Add and select Receive Data and Next

image

Select SharePoint list or library and Next

image

Type in the URL for the site that contains the list and Next

image

Select the data list created earlier and Next

Select the fields you want to use in your form

image

Click Next twice and then Finish, your form is now connected to the list data

Using The List

So now I have a list full of data and a section of the form with controls that need to connect and filter data depending on what the user selected in another control

image

Lets look at three controls that highlight the use of the SharePoint list connection

Year Group

This is a simple drop down list control with the selections entered manually

image

Form Group

This is a drop down list control but it gets its data from the SharePoint data list

image

This control uses the data held in the SharePoint list to deliver the choices to the user, what the user sees is also filtered by which year they chose in the first drop down list.

To filter the choices select the button next to Entries

image

Select the data field from the SharePoint list that will be show in the list, in this case Form

I now need to filter the data shown to the user so they only see the form groups associated with the year that they chose in the first drop down list

Click on Filter Data and then Add in the Filter Data dialogue box

image

In the first drop down select the Select a field or group.. option

image

Change the Data Source to the main data connection and select the Year field

image

Click on OK and leave the is equal to option as it is

In the third drop down list again select the Select a field or group.. option

image

This time ensure that the Fields option is set to the Data option and select Year

image

Click OK and then OK all the way back to the form

What this filter is doing is saying to the drop down lists that they should only show data from the SharePoint list where the year selected in the form is equal to the year in the list. This way if you select year 8, the form drop down list will only show the user the year 8 forms and so on.

Tutor

The Tutor control is a simple text box which once the year and form group have been selected will fill in with the name of the tutor, to do this we use a similar method to the one used above but set it as the default value

image

You can see from the image above that instead of ‘matching’ the year fields in the formula I have matched the form fields to pull out the tutor.

The same method can be used to fill in the other text boxes with the Learning Manager details and tutors email address.

Hopefully using the methods outlined in this post you can create a form that makes it easy for the user to complete and also ensures accurate data.

If the people filling your form in have to select from choices then they are all going to use the same spelling and phrasing when completing the form and therefore make you analysis of the data much simpler.

In my last post I explained how to use InfoPath 2010 to create a form to collect input from a user and then send an active view of the form to an email address. This post will continue on from that an explain how to submit the form to SharePoint 2010

So as a reminder here’s the final form

image

It has a few more controls on it which have been added so that we can get all the information we need.

Publish The Form

From the ribbon select File | Publish | SharePoint Server

image

Enter the name of the site you want to use this form on and click Next

image

In this example we are going to publish the form to a Form Library, so select this option and click Next

image

I haven’t created the library in advance so select create a new form library and click on Next

image

Enter a name and description for the form library and click on Next

image

In the next screen you can see that I have added fields that will be stored  as well as the actual form. To add a new field click on Add

image

From the fields available select the field you want to store, enter a column name and then click on OK

image

When you have added all your fields then click on Next and Publish

Data Connection

The next step in publishing the form to SharePoint is to create a data connection to the site that you want to publish to.

On the ribbon click on Data and then Data Connections

image

Here you will see the Email connection that we added in the first post. Click Add

image

Select Submit Data and click Next

image

Select To a document library …. and click Next

image

Enter the URL of the form library you created earlier

image

You can see from the image above that the form will be saved with the filename of Form. This isn’t going to work when multiple people are creating forms so we need to create a function that will create a filename that is unique. To do this click on the fx button

image

To create a formula that can be used as the filename you can use the Concat function, this joins together different text and fields from the form. To add the Concat function click on the Insert Function button and select Concat

image

The formula will be added to the text box and you can add text and fields to create this unique filename

image

Here is the formula I used

concat(DisplayName, DisplayName, now())

This will join together the name of the people ding the swap and the date and time of when the request was added to the system. That should be fairly safe in the unique stakes.

Once you have decided on your formula click OK and Next and select a name for the data connection

image

Finally click Finish and we now have two data connections

image

Submit Options

Now we have two data connection we need to tell the form how to submit the data it holds, to do this click on Submit Options on the ribbon under Data

Ensure the tick box is selected that allows user to submit the form and then select Perform custom action using rules and click OK

image

You will now have a rules task pane to the right hand side of the window

image

Click on Add | Submit data to create a new rule

image

From the window select one of the data connections you created earlier. You will need to repeat this step for the second data connection so that you can see two rules in the task pane

image

Once you have made your changes save the form and from the ribbon select File | Quick Publish

image

Your form is now published to the library. Any user that launches it will complete all the fields and on submitting it the data will be saved back to SharePoint as well as the form being emailed to the people necessary.

InfoPath 2010 has a lot of functionality and over the next few weeks I will post some more information on how we are using it in School to move forward our Paperless School Project