Category Archives: Repeating Sections

Resetting Nintex Forms Repeating Sections

Have you ever found yourself in a situation where you needed to reset a Nintex Forms Repeating Section? I’m sure you’ve tried to reset different columns from within your Nintex Workflows and It’s actually easy to reset any type of fields like Yes/No, Single Line of Text, etc.. But what about the Repeating Sections?

First of all, why would you need to do so?

In my case, I had two lists; one for the orders and the other is for the order details. I’ve created a 1:Many relationship between both lists.

In my case, I wanted to use a Repeating Section only as a way for inputting data into another list (a Nintex Workflow on the parent list is being used here to parse the repeating section and create the child items in the second list.). I wanted this Repeating Section to always be empty and ready for data input. Unfortunately, this was not straightforward due to the fact that the Repeating Section data is always stored as XML either in a list column if the repeating section is connected or in a hidden field called “Form Data” if the repeating section is not connected.

What if you want to remove the data altogether from the repeating section after the form is submitted? Theoretically speaking, here is what you need to do:

As the figure suggests, you need to strip out all the node values and keep only one row in the repeating section. You will end up with something like the below:

You can definitely use the “Update XML” action to do the trick … Or you can use my custom action from here.

Here is how you can configure the custom action:

The good news is that the action is smart enough to detect whether the selected repeating section is connected to a column or not .. and it works in both cases.

Give it a try and let me know your feedback!

Note: The action has been tested only on SharePoint 2013.

Advertisements

Speaking at InspireX, Las Vegas, Feb 22-24, 2016

InspireX has been finally announced and I’m super excited to be part of it and even to be selected to speak there!

inspirexlogo

So, What is InspireX?
InspireX is a great chance to connect, interact and learn from a community of Nintex and Drawloop customers, partners and employees to help you solve workflow challenges, and maximize the value of your solutions. It’s also a chance for you to hear inspiring keynotes from Nintex CEO John Burton and renowned futurist Mike Walsh.

And what are you speaking about?
Well, I was so lucky to have my both submissions accepted, here is a little bit of information on them:

Application Lifecycle Management for Nintex Solutions
Monday, February 22, 2016 – 1-2:30 pm
Are you facing difficulties deploying Nintex solutions between your different environments—Dev, Test, Staging and Production? Over several demos, we’ll help you extend the Application Lifecycle Management (ALM) techniques for SharePoint to support and deploy Nintex solutions – including the process to create Custom Actions in C#. We’ll also cover how to get started with automating the build and packaging of Nintex workflow and forms along with your SharePoint artifacts in WSPs, deploying the resulting packages to Virtual Testing labs, then automatically running automated tests against the solutions.

Getting the Most Out of the Nintex Repeating Section
Monday, February 22, 2016 – 3-4:30 pm
Repeating sections are very cool and powerful if you want to create 1: many relationships within your Nintex forms. However, they come with some difficulties when parsing, using and displaying the records stored within them. This session introduces you to best practices for using the Repeating Section Control and introduces you to powerful and easy-touse third-party solutions that were created by the Nintex community to enrich and simplify working with them.

Do you have a Conference Agenda?
Absolutely!

Monday, February 22, 2016
 1:00 PM – 5:00 PM
Pre-Conference Workshop: Nintex Workflow Platform Jumpstart
5:00 PM – 7:00 PM
Welcome Reception
Tuesday, February 23, 2016
 9:00 AM – 10:30 AM
Welcome and Nintex Keynote
10:30 AM – 6:00 PM
Sessions, lunch and breaks
Wednesday, February 24, 2016
 9:00 AM – 10:00 AM
Guest Keynote
10:00 AM – 5:15 PM
Sessions, lunch, breaks
6:30 PM – 10:00 PM
Attendee Party
How can I register?
Just click here
Download detailed session information and agenda here.

[Nintex Forms] Announcing The “Nintex Repeating Section Data” Field Type for SharePoint 2010

A few days ago, I released a custom field type called “Nintex Repeating Section Data” for SharePoint 2013 to simplify how you can display of the repeating sections in SharePoint List Views without the need of creating complex workflows. If you haven’t checked that yet, please refer to my blog post.

Tweet3.png

Tweet1.png

After the amazing feedback I received from the Nintex Connect Community as well as Nintex fans on Twitter, I’m glad to announce the availability of the same for SharePoint 2010. You can download the WSP from here.

Let me give you a more complex example than the one I showed you in the previous post:

1) Here is the 2010 form I designed. I have two repeating sections, the first one is named “RepeatingSection1” and contains a Choice control rendered as a drop down list and a Yes/No control. The second repeating section is named “RepeatingSection2” and contains a Multi Line Textbox control as well as a Date/Time Control.

Form.png

2) After publishing my form, I created two list columns from the type “Nintex Repeating Section Data“. The first column refers to “RepeatingSection1” and the second one refers to “RepeatingSection2“. I’ve also added both columns to the default view.

rs1Column.png

rs2Column.png

3) And here is the default view with both repeating sections rendered in tables. Nice and easy!

Form2.png

I’ve also received a couple of questions from the community on how the repeating section is rendered and the ways to customize it, I’ve already answered the question in several places but I would like to include this here as well.

If you want to further customize how the repeating section is rendered, the WSP creates a new folder under Layouts called “NintexRepeatingSectionView“, this folder contains two files:

–  GetRepeatingSections.js –> This is the file which is referred to from custom field type XSLT.  It does all the heavy lifting like querying the FormData hidden field, reading its XML to retrieve the referenced repeating section, parsing its XML and extracting its records. It is also responsible for rendering the values in a table.

–  NintexRepeatingSection.css –> This is the css file used within GetRepeationSections.js to style the table.

The idea is the same for both SharePoint 2010 & SharePoint 2013.

Download WSP from here

Notes:

  • The “Nintex Repeating Section Data” Field Type for SharePoint 2010 was created in my free time and is NOT a Nintex product. If you have any feedback, please feel free to post it here or ping me on Twitter @AymanElHattab
  • You can create as many columns based on the new custom field type as needed. For instance, If you have 3 repeating sections (Flights, Hotels and Events) in your travel request form, you can create 3 columns to display the repeating sections’ records in your View. Just make sure NOT to connect your Repeating Sections to list columns.
  • IE7+, Chrome (Latest) and Firefox (Latest) are supported for the SharePoint 2010 version of the solution.
  • Nested Repeating Sections are not supported (yet).

[Nintex Forms] Displaying Nintex Repeating Section Data in List Views, The Easy Way!

Introduction

Repeating sections are very powerful if you want to create 1 to many relationships within your Nintex Forms. However, they come with some caveats when you need to parse, use and display the data stored within them. This blog post introduces you to the Repeating Section Control, explains the parsing issue in depth and explains some existing solutions that was created earlier by the Nintex community. At the end of the post, I will introduce you to a Custom Field Type that I created to help non-technical users quickly display the Repeating Sections Data in List Views without creating Workflows or getting their hands dirty with XML, XSLT or Java script.

So, what is the repeating section control?

Control.png

The repeating section control is basically a container, which means that any controls added in the repeating section in the design time will be replicated in the runtime when the end-user clicks to add a new row. The end-user can also click the “x” icon to remove rows. Using Repeating Sections in Nintex Forms, you can create dynamic forms allowing the end users filling out the form to enter multiple values for a single field on a form. This is useful when you are collecting data and you do not exactly know in the design time how many records need to be collected each time the form is filled out.

DesignTineRS.png

RunTineRS.png

With the Repeating Section control, you can achieve a 1 to many relationship within your forms. Here are some examples:

  • Multiple products within the same order.
  • Multiple destinations, flights and hotels within the same travel request.
  • Multiple days off (with different types) within the same leave request.

The Problem

Despite how useful and cool the control is, there is no way OOB to parse the repeating section data if you need to do something with it. Why would you do that? Here are some scenarios / use cases:

  1. Interacting with the repeating section data from a Workflow.
  2. Saving the Repeating section data in another list and hence creating a Master-Detail or a Parent-Child relationship between two lists.
  3. Displaying the repeating section data in SharePoint List Views.

Basically, when an end-user fills out a form and submits it to the underlying list, an XML representation of the entire form is saved in a hidden field called “FormData”. If we have a repeating section within the form, its data is also XML serialized and stored within this hidden field.  If you need this data for one or more of the three scenarios above, you need to retrieve the value of this hidden field then query the XML to parse the repeating section data. Osama Mourad has written a very useful post around that, you can check it from here.

The Solution

Luckily, Vadim Tabakman wrote a very good post documenting a workaround he came up with to simplify the steps above. Basically, he created a UDA (User Defined Action) to extract the XML of the repeating section from the FormData field then he used the “Loop” workflow action to loop through each record in the repeating section using an incremental index. Using Vadim’s workaround, you can read the records the end-user filled in the Repeating Section and interact with them within the workflow.

What if you want to save this data to another list and hence create a Master-Detail relationship between two lists? Eric Harris has used Vadim’s workaround, added his magic and showed us in an excellent blog post how to do that.

What Vadim and Eric have done is all based on Nintex Workflows. What if you don’t have the Nintex Workflow Product? What if you just need to display the repeating section data in List Views and you don’t want to create a Workflow just for that? Enter The “Nintex Repeating Section Data” Field Type.

“Nintex Repeating Section Data” Field Type

The “Nintex Repeating Section Data” is a custom field type that I created in my free time to easily display the records of a repeating section in SharePoint List Views without the need of creating complex workflows. After you create your Nintex Form using the standard best practices for repeating sections, you only need to create a Column of type “Nintex Repeating Section Data”, enter the name of the Repeating Section you want to display in the field creation page, add it to any view and BOOM … The repeating section data is displayed in a neat table! All the heavy lifting is taken care of for you. Below are a few screenshots to help you understand the idea:

Here is the “Orders” list :

1.png

And here is the Ninext Form, it contains a Repeating Section called “Products”, note that I’m not connecting the repeating section to a column.

2.png

Now, I’ll create a Column of the new type “Nintex Repeating Section Data”. In the additional column settings, I will put in the name of the Repeating Section in the form.

3.png

Once the column is added to the view, here is what you are going to get :

5.png

Pretty cool, eh?

You can download the WSP for SharePoint 2013 from here. The SharePoint 2010 one will be released soon.
[[Update – 13 Aug 2015]] The 2010 version has been released. You can download it from here.

Notes:

  • The “Nintex Repeating Section Data” Field Type was created in my free time and is NOT a Nintex product. If you have any feedback, please feel free to post it here or directly contact me.
  • You can create as many columns based on the new custom field type as needed. For instance, If you have 3 repeating sections (Flights, Hotels and Events) in your travel request form, you can create 3 columns to display the repeating sections’ records in your View.
  • IE7+, Chrome (Latest) and Firefox (Latest) are supported.
  • Nested Repeating Sections are not supported (as of now).
  • If you decide to use this solution, do NOT connect your Repeating Sections to extra columns. You don’t have to!