Category Archives: SharePoint for End Users

Unlocking the Mysteries of the SharePoint Data View Web Part XSL Tags eBook Now Available

Marc Anderson, one of the faculty members of USPJ Academy announced a couple of days ago the availability of a new SharePoint eBook named “Unlocking the Mysteries of the SharePoint Data View Web Part XSL Tags”.

The eBook is based on Marc’s  popular set of articles on EndUserSharePoint.com and his blog. I really enjoyed the Marc’s series and just thought of spreading the word about this valuable eBook which can help you to understand the inner workings of the XSL used in SharePoint’s Data View Web Parts (DVWPs), AKA, the Swiss Army Knife of SharePoint.

Click here to get the eBook.

Advertisements

Creating mailing lists for SharePoint sites and blogs [No Code Required] – Part 6: Administering the mailing list using Microsoft Word Mail Merge

NOTE : This article was published on EndUserSharePoint.com a couple of weeks ago and because of the wonderful feedback I received, I decided to cross-post it here too.

4

This is the sixth article in a multipart series that is intended to help you create mailing lists for your SharePoint sites or blogs without writing a single line of .NET Code. In the introductory article, I listed the project initiatives, requirements, and objectives. In Part 1, I created a secured backend where we will store the subscribers’ contacts. In Part 2, I configured the ‘Contact’ content type, created a subscription form for the mailing list and did some simple customizations to it. In Part 3, I utilized the thrilling DataFormWebPart to further extend and enhance the subscription form to meet the project requirements. In Part 4, I implemented requirement # 3 by creating a list that comprises the names of all the countries of the world and a lookup field that gets its values from this list. In Part 5, I showed you how to create the primary and secondary SharePoint Designer Workflows needed to meet our project requirements.

In the previous article, I showed you how to connect the approved contacts to Outlook by creating a workflow that is triggered when the list administrator approves a subscriber request moving their contact to the “Approved Subscribers” list. I have also provided you with some excellent resources if you need to know more about SharePoint Designer Workflows.

As I mentioned in Part 4, most of the questions that I have received lately focused on the sixth requirement. For easier reference, I have copied it below.

List administrators should be able to send e-mails to all the approved and registered users specifying some filters. For instance, the list administrator should be capable of sending e-mails to all the registered users from Canada”.

In this article, I will show you how to implement this requirement using Microsoft Word Mail Merge.

Unexpectedly, Microsoft Word has no option to pick a SharePoint list directly as the data source for a mail merge. However, we can work around this limitation by connecting our “Approved Subscribers” list to Outlook and selecting the Merge data source to be an Outlook Contacts List as shown in the following figures.

5

 

6

 

7

 

8

9

 

10

 

11 12 13 14 15

16

17

 

18

19

Summary

There you go! Yes, we are done; you can now create and administer your own mailing list for your SharePoint site or blog.

Since this series is intended to be educational, you should now be capable of:

  1. Creating and configuring SharePoint Lists using SharePoint Designer.
  2. Configuring anonymous contributions for SharePoint Lists.
  3. Creating simple SharePoint Designer workflows for sending confirmation mails to list subscribers.
  4. Configuring content approval for share point lists.
  5. Creating custom SharePoint list forms.
  6. Creating Client-Side validation for SharePoint list forms.
  7. Using the DataFormWebPart.
  8. Connecting SharePoint Lists to outlook.
  9. Using Word 2007 Mail Merge feature with SharePoint Lists.
  10. Using and creating SharePoint List Templates.
  11. Hiding SharePoint lists.
  12. Using lookup columns in SharePoint lists.

Again, I would like to thank everybody who took time to drop me an e-mail, follow me on twitter, or even leave me a comment. Your feedback, guys has always made my day.

So until I talk to you again (most probably about SharePoint 2010 ), check out my blog athttp://www.aymanelhattab.com , where you will find shorter articles, tips and tricks, questions and answers, and downloadable content. You can also follow me on Twitterhttp://www.twitter.com/aymanelhattab  or drop me an e-mail at ayman.elhattab@gmail.com if you have any questions.

About EndUserSharePoint:

EndUserSharePoint.com is a community of SharePoint authors dedicated to providing content to SharePoint End Users on three levels: Information Worker, Power User/Site Administrator and Site Collection Administrator.

 

 

 

 

 

 

 

 

 

 

 

 

 

Creating mailing lists for SharePoint sites and blogs [No Code Required] – Part 5: Creating the primary and secondary workflows and connecting to outlook

NOTE : This article was published on EndUserSharePoint.com a couple of weeks ago and because of the wonderful feedback I received, I decided to cross-post it here too.

03

This is the fifth article in a multipart series that is intended to help you create mailing lists for your SharePoint sites or blogs without writing a single line of .NET Code. In the introductory article, I listed the project initiatives, requirements, and objectives. In Part 1, I created a secured backend where we will store the subscribers’ contacts. In Part 2, I configured the ‘Contact’ content type, created a subscription form for the mailing list and did some simple customizations to it. In Part 3, I utilized the thrilling DataFormWebPart to further extend and enhance the subscription form to meet the project requirements. In Part 4, I implemented requirement # 3 by creating a list that comprises the names of all the countries of the world and a lookup field that gets its values from this list.

 

In the previous article, I encouraged you to read Paul Galvin’s post titled “Email and SharePoint Designer Workflow” if you are new to SharePoint Designer Workflows. The reason I recommended this is that I will get directly into creating and implementing the workflows needed for our mailing list.

 

It’s a mailing list, why do we need to create workflows?

 

To answer this question, I will share two questions that I recently received.

 

Q1: When I connect the subscribers list to Outlook, I get all the contacts (the approved and non-approved) ones. In my case, I need to allow the newsletter administrator to send emails only to the approved contacts. This column has no corresponding one in Outlook, so what could be the solution?

 

Q2: I have created a view that contains only the approved contacts, is it possible to only synchronize items in a specific view rather than all the list items?

 

Good questions. I am happy that you’ve been paying attention. And that you concluded I would use the “Connect to outlook” feature to allow list administrators to send e-mails to the mailing list subscribers.

 

Unfortunately, when connecting a list to Outlook it occurs at the list level, not at the view level. To work around the limitation, I will create a simple SharePoint Designer workflow that moves the approved contacts from the subscribers list to another new list so that this new list will only contain the “Approved Subscribers”.
So this is the first workflow or to be more accurate let us call it the primary workflow. What about the secondary one?

 

The secondary workflow is very simple; its only purpose is to send e-mails to the subscribers as soon as their request to join the list gets approved (Fifth Requirement).

04

 

  1. When the list administrator approves a subscription request, the primary workflow is triggered.
  2. The primary workflow moves the approved contact to the “Approved Subscribers” list.
  3. The addition of an item in the “Approved Subscribers list” triggers the secondary workflow, which in turn sends an e-mail to the requestor.

Note: You need to create another Contacts list and name it “Approved Subscribers”, refer to the first articleif you don’t know how to. Also, note that this list should only be available to the mailing list administrators and not to anonymous users like the first one.

Enough theory, let’s create the primary workflow:

On the File menu, point to New, and then click Workflow and follow the figures bellow.

05

 

06

07

 

08

010

Secondary Workflow to send welcome e-mails to approved subscribers

On the File menu, point to New, and then click Workflow and follow the figures bellow.

1

2

 

3

Connecting to Outlook

Now you can connect the “Approved Subscribers” Contacts to outlook and gain all the functionalities provided by it!

4

Summary

I agree, it was a long journey but it was an interesting one. Iin this article, I just scratched the surface. If you are interested in “SharePoint Designer Workflows”, Bjorn Furuknap has done a terrific job putting together a comprehensive issue from Understanding SharePoint Journal to discuss Business Process Automation using SharePoint Designer Workflows.

In the next and the last article in this series, I will explain how to administer the mailing list and how to integrate it with Microsoft Word. Stay tuned for this article; it is the most interesting one in the series.

So until I talk to you again, check out my blog at http://www.aymanelhattab.com , where you will find shorter articles, tips and tricks, questions and answers, and downloadable content. You can also follow me on Twitter http://www.twitter.com/aymanelhattab  or drop me an e-mail atayman.elhattab@gmail.com if you have any questions.

About EndUserSharePoint:

EndUserSharePoint.com is a community of SharePoint authors dedicated to providing content to SharePoint End Users on three levels: Information Worker, Power User/Site Administrator and Site Collection Administrator.

 

 

 

Creating mailing lists for SharePoint sites and blogs [No Code Required] – Part 4: Creating the Country lookup elements

NOTE : This article was published on EndUserSharePoint.com a couple of weeks ago and because of the wonderful feedback I received, I decided to cross-post it here too.

This is the fourth article in a multipart series that is intended to help you create mailing lists for your SharePoint sites or blogs without writing a single line of .NET Code. In the introductory article, I listed the project initiatives, requirements, and objectives. In Part 1, I created a secured backend where we will store the subscribers’ contacts. In Part 2, I configured the ‘Contact’ content type, created a subscription form for the mailing list and did some simple customizations to it. In Part 3, I utilized the thrilling DataFormWebPart to further extend and enhance the subscription form to meet the project requirements.

In the previous article, I promised to tackle a new area, which is “SharePoint Designer Workflows”. However, while writing the promised article, I received some e-mails, from followers of this series, asking about the country lookup feature I mentioned in the project requirements.

When filling out the form, users should select their countries from a drop down list, which holds all the countries of the world.”

I found a zillion of articles throughout the web covering the “lookup fields” and “lookup lists” topics into enough depth and listing their gotchas and limitations. However, I will provide you with some steps, tips, and free stuff that you will definitely need to implement this requirement. To make this article more useful, I will also explain some other topics during the implementation like List Templates and SharePoint field type conversions. I’ll show you how to modify the FormField Controls and how to mark a list as invisible using SharePoint Designer.

  1. Navigate to SPCountries Feature page at CodePlex and download the Countries List Template as shown below:

2

Note: Do not forget to allow anonymous access to this list as I showed you in the first article.

4. Now, you need to change the “Country/Region” field type to “Lookup (information already on this site)” rather than “Single line of text” to gets its values from the “Countries” list you just created.

5. Navigate to the Contact content type settings page from the list settings one.

3

6.  Oops! You cannot modify the “Country/Region” field to be a lookup one! Yes, this is not supported by design, for a list of supported SharePoint field type conversions, refer to this article.

4

5

Note: You can write a simple script that utilizes SharePoint/Office Live javascript API to perform this conversion, refer to this interesting article for more information.

7 . For the sake of simplicity, I will just delete the default “Country/Region” column and replace it with a new lookup one as shown below.

6

7

8.  To mark the “Countries” lookup list as invisible (Only the list and not the included content, which should be available to all the site users including anonymous ones), open up SharePoint Designer, supply your credentials, and follow the steps illustrated by the following figures.

8

9

9. Open the custom subscription form. Unsurprisingly, you will get an error like the one shown below.

10

10. The reason I have received this error is that I’ve modified the list fields and some form fields are still looking at the deleted country field. To fix this error, modify the FieldName attribute values of the FormField and FieldDescription controls to be “Country” instead of “WorkCountry” or you can just useFind and Replace to achieve the same result.

11

11. Save your form, the error is gone

12

12. Preview your form from the browser and there you go; now you have a list with a form analogous to the one I have shown you in the introductory article… Congratulations!

13

Community Feedback

Since the kick-off of this series, I have received amazing feedback from EUSP visitors and my blog followers. I would like to extend a special thank-you to everyone who took time to drop me an e-mail, follow me on twitter, or even leave me a comment. Your feedback means a lot to me.

I noticed that most of the questions that I have received lately focused on the sixth requirement. For easier reference, I have copied it below.

List administrators should be able to send e-mails to all the approved and registered users specifying some filters. For instance, the list administrator should be capable of sending e-mails to all the registered users from Canada”.

Starting with the next article, I will explain how to implement this requirement, which will involve the creation of primary and secondary workflows, integrate SharePoint lists with Microsoft Outlook and Microsoft Word 2007.

As I told you in the beginning of this article, I had already started writing about SharePoint Designer Workflows before I received questions about the lookup fields and lists. When I was doing a research to avoid writing what has already been written, and to elaborate where others are vague or incomplete, I stumbled upon a great article by Paul Galvin titled “Email and SharePoint Designer Workflow”  which provides a deep explanation to what I was about to cover.

Therefore, if you are new to SharePoint Designer workflows, I would encourage you to have a look at this article. So you’ll be ready for my next post which will directly start creating and implementing the needed workflows without discussing what was smartly discussed by Paul as I am not a fan of reinventing the wheel.

So until I talk to you again, check out my blog at http://www.aymanelhattab.com , where you will find shorter articles, tips and tricks, questions and answers, and downloadable content. You can also follow me on Twitter http://www.twitter.com/aymanelhattab  or drop me an e-mail atayman.elhattab@gmail.com if you have any questions.

About EndUserSharePoint:

EndUserSharePoint.com is a community of SharePoint authors dedicated to providing content to SharePoint End Users on three levels: Information Worker, Power User/Site Administrator and Site Collection Administrator.

 

Creating mailing lists for SharePoint sites and blogs [No Code Required] – Part 3 : More Customizations to the subscription form using DataFormWebPart

NOTE : This article was published on EndUserSharePoint.com a couple of weeks ago and because of the wonderful feedback I received, I decided to cross-post it here too.

This is the third article in a multipart series that is intended to help you creating mailing lists for your SharePoint sites or blogs without writing a single line of .NET Code. In the introductory article, I have listed the project initiatives, requirements, and objectives. In Part 1, I created a secured backend where we will store the subscribers’ contacts. In Part 2, I have configured the ‘Contact’ content type, created a subscription form for the mailing list and did some simple customizations to it.

In this article, I will customize the subscription form I created in the previous article, utilize the magical DataFormWebPart to remove the unneeded columns, and change the form validation to be client sided rather than the default server-sided validation.

I will also show you how to validate the email addresses entered by the subscribers using regular expressions and, at the end, I will thrash out a trick to enable the DataFormWebPart to be viewed by anonymous users.

Let’s get started!

  1. In the Design view, click the default List Form Web Part to select it. From the Code View, put the cursor straight away before the ListFormWebPart and press enter.

8

 

2.  On the Insert menu, point to SharePoint Controls, and then click Custom List Form.

9

 

3. The List or Document Library Form dialog box opens up.

3.1. In the List or document library to use for form list, choose the list where we store our subscribers’ contacts.

3.2. In the Content type to use for form list, choose the ‘contact’ content type.

3.3. Under Type of form to create, click the ‘New item form’ as shown in the figure below.

10

 

3.4. The custom list form can comprise a toolbar to assist users in carrying out frequent actions for an item. The commands on the toolbar vary according to the type of the form. For example, the toolbar for the New Item Form looks like the following one.

11

As you can see, we do not need this toolbar in our subscription form so do not check the show standard toolbar checkbox.

4.  Now, the custom list form (Data Form Web Part) has been added to your subscription form. The custom list form shows the default fields for the selected form type, along with any default controls for each field. You can utilize the WYSIWYG tools in SharePoint Designer to add or eliminate columns, modify font formatting, or apply colors. When you do this, Extensible Stylesheet Language (XSL)  is directly inserted into the HTML. Although it is possible to amend the XSL directly in Code view, you can make use of the formatting tools in Design view to apply XSL without studying any XSL.

  1. 4.1. Remove all the unwanted fields from the form by removing the whole unwanted rows.

    4.2. Rename ‘Country/Region’ to be only ‘Country’.

    4.3. Change the font formatting, or apply the colors that go with your site’s theme.

    4.4. Remove the Ok and Cancel buttons at the top of the DataFormWebPart. We need them only once on our form.

12

As you can see the DataFormWebPart is incredibly cool. Within the XSL, you can input any HTML you want and, in effect, the sky is really the limit.

5. Now, you must hide the default List Form Web Part. Right-click the default List Form Web Part and then click Web Part Properties.

In the dialog box that appears, click the plus sign next to Layout, select the Hidden check box, and then click OK.

13

 

14

Note:  Do not delete the default List Form Web Part. This will break the page’s connection to the list.

6.  Next step is validating the users’ inputs. For instance, we need to make sure that the user has entered their e-mail address in a correct format since we are going to send them e-mails later.

6.1. Find the E-mail Address form field, right click on it in the designer, and click Show Common Control Tasks.

6.2. Change the “Format As” dropdown from “List Form Field” to “Text Box” as shown below.

15

 

6.3. Now drop a RegularExpressionValidator control from the asp.net controls toolbox beside the E-mail address text box as shown beneath.

16

 

17

 

6.4. Specify the RegularExpressionValidator control properties (such as ControlToValidate, ErrorMessage, Validate Expression) from the Tag Properties toolbar.

18

 

For ControlToValidate, choose the ID of the E-mail address field and for the ValidationExpression, choose Internet E-mail Address.

19

 

6.5. After specifying the control properties, you will end up with something like the following markup in the SharePoint Designer Code View.

20

That’s it! You now have custom client-sided validation on your form. You can also make use of the asp.net RequiredFieldValidator controls in the same way discussed in the previous step to make sure that the user has not left the text boxes empty.

7.     In addition, you can modify the markup of your form however you want. For instance, you can substitute the SharePoint:SaveButton control with a traditional asp.net button that calls some custom java script to do custom logic and save the item to the backend. I will leave this point to another discussion.

Didn’t I tell you? The DataFormWebPart is an incredibly wonderful creature.

For me, I have ended up with the one shown below.

21

 

8. Save your changes and navigate to the subscription form anonymously. You will receive an error message like the one shown below.

22

9 . I have blogged about this error on my blog a couple of weeks ago. For now, just set DataSourceMode of SPDataSource control to Webs or ListOfLists. This will permit anonymous users to view the DataFormWebPart that holds the subscription form fields

23

10. Congratulations! You are now ready to preview the page in the browser.

24

Summary

One of the initiatives of this series of articles is to show you how powerful and flexible the Data Form Web Part is. In this article, we have only scratched the surface; there are still a lot of cool and nifty features when it comes to the magical Data Form Web Part. Laura Rogers has really done a great job discussing and discovering wonderful features in the Data Form Web Part. I would advise you to have a look at her articlesat EndUserSharePoint.com for more tips and tricks.

In my next article I will go into some completely new stuff when we explore SharePoint Designer Workflows. I will create a workflow that sends welcome e-mails to the list subscribers as soon as their requests to join the list are approved. And as we agreed in the introductory part, I will not write a single line of code.

 

About EndUserSharePoint:

EndUserSharePoint.com is a community of SharePoint authors dedicated to providing content to SharePoint End Users on three levels: Information Worker, Power User/Site Administrator and Site Collection Administrator.

 

Arabic Screencasts for “SharePoint Pages” by Osama Mourad

I have been working lately with Osama Mourad ( Development Manager at LINKdotNET ) on putting together a series of screencasts in Arabic for SharePoint4Arabs.com. Osama has just sent me a note notifying me that he is done with his first screencast titled “SharePoint Pages”.

I’m really happy to be presenting this , It’s really informative and useful. Thanks, Osama. Your work is appreciated.

Managing Property Bags through SharePoint Designer!

Continuing our discussion about “Property Bag”, I have recently discovered that end users can manipulate their SharePoint sites property bags through SharePoint Designer 2007.

To view the property bag.  Go to Site -> Site Settings.  Then click on the Parameters tab.  On this tab, you will be able to see the values of all of your custom property bag values.

63

62