​​​​​​​​​​​​​​​​​​​​​​​ SPARK Community Home > Welcome ​​

​​​​​​​​​​​​​ Latest Videos

Jul 7 , 2021
​​How To - SPARK Workflow

How To Automate The Creating Active Directory Group Using SPARK Forms Builder and Workflow

In this video you will see how you can use SPARK Forms Builder and SPARK Workflow to create self-services IT support requests to create a new Active Directory Group. The form will save the request and initiate the workflow, the workflow will send an approval task to the IT Manager to review and approve/reject the request. If the request is rejected, the workflow status will set to Rejected and will do nothing. If approved, the workflow will create a new AD group based on the information provided in the form. All this will be fully automated without the need to waste the IT department valuable time.

Watch more videos​​

Latest Articles

Discussion Space

  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/5/2021 6:42 AM

​First, create a test group of two users (you and a test user account) so you can isolate the problem if it’s related to group configuration and make this group viewable by all users, otherwise it won’t be accessed by all users and the rule condition would be always false.
Second, create a test form with just a panel and a label inside, to isolate any other factors that might affect the rule in your production form.
just create one formatting rule to hide the panel if the current logged in user is a group member, I know this is the opposite of what you want, but it’s easier to test this way in order to isolate condition syntax issue.
Remove your user or the test user account from the group and test.
You can set another formatting rule to show the section.
Do your tests based on that and I’m sure you’ll figure it out.​

12/5/2021 6:42 AMNoCodes & Scripts
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/5/2021 5:42 AM
​​

The maximum default number of lookup columns per list based on MS best practice is 8, otherwise; it would show this error if you try to use more.

This is not related directly to SPARK Forms as this limitation is configured by MS to maintain best performance on SP farm and prevent resources consuming.

You can change the maximum lookup columns value in your central administration page on your own responsibility and you should be aware of such decision.

You  can change it like this:

Central Administration > Application Management > Manage Web Application > Your Web Application > General Settings > Resource Throttling.​

12/5/2021 5:42 AMNoTroubleshooting
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/5/2021 4:42 AM

​make sure that you’ve activated SPARK Workflow on that site.
Go to the site settings, Site Actions à manage Site features and make sure SPARK Workflow is activated, if not click on the activate button. If it’s activated, then deactivate and activate again.
The user must have at least manage permissions on the site to be able to create workflow and see the button.

12/5/2021 4:42 AMNoSPARK Workflow
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/5/2021 2:03 AM

​Create a choice column in the list  with “allow multiple selections” property checked like this:

In the form’s canvas, add checkboxlist control and map it to the column 


Publish and test:


This should work with you as well.


12/5/2021 2:03 AMNoSPARK Forms
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/5/2021 1:44 AM

In order to change the color of CheckBoxList items you can use this code in an action Form’s rule, even=onLoad
 
try{
var checkBoxList = $('[id$="Checkboxlist1"]');
        var options = checkBoxList[0].getElementsByTagName('input');
 
        for (var i = 0; i < options.length; i++) {
           
               if (i==0) { options[i].parentElement.style.color = 'red';}
          if (i==1) { options[i].parentElement.style.color = 'green';}
          if (i==2) { options[i].parentElement.style.color = 'blue';}
         
            
        }
 
} catch (error) {
}
 
However, you cannot map this type of controls to form variables especially if it is multiple values, this control must be mapped to a multiple values choice type column in a list. It just inapplicable to use it the way we did with dropdown list.
 

 ​
12/5/2021 1:44 AMNoCodes & Scripts
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/5/2021 1:43 AM

​In general you can’t save more than one record/item in the list or library for the form. What you need is Master-details method, which represents the relation of (one To many) in the database definition.
So the master list will have the as ex.  student main information and the details list will be have the different answers of the this student. The detailed list will be linked to the master child list with a master id (like primary key in DB).
 
The best approach to do this is using the repeater or DataTable control, you can specify the master id column in the child list when you configure the repeater.
 
Have a look at these videos which will help you build your case and to start thinking in the right direction:
 
https://www.youtube.com/watch?v=Hb2uJyKg7sE&t=52s
 
https://www.youtube.com/watch?v=dRybbrFPmOM&t=3s
 
https://www.youtube.com/watch?v=c9tESFL-LQo&t=67s
 
https://www.youtube.com/watch?v=gS48oeg09AM&t=6s
 
https://www.youtube.com/watch?v=e4hAZ7NeVtw&t=34s​
 ​

12/5/2021 1:43 AMNoSPARK Forms
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/5/2021 1:38 AM

The actions history log table default’s behavior is to always appear even on new form. If you want to hide it on new form mode, you can create a formatting rule on the panel that handles all the log controls components inside, like this:
Click on the actions log main panel , click on control rules and create a formatting rule like thi​s.


12/5/2021 1:38 AMNoSPARK Forms
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/2/2021 7:30 AM

​Add an new panel, it will set it at the bottom of the table, click on any empty area of the new panel and drag it up or down to the position you want between existing panels and continue your work from there.
If you can’t do that, there might be an issue with your design such as an external panel covering the area or some hidden control that are on the panel moving way. You can create a test PanelsTable control and check this out on it.​

12/2/2021 7:30 AMNoSPARK Forms
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/2/2021 7:20 AM

​If you want to just save an item/record in another list without the need to retrieve it back, you can simply create an action rule on a button and change the event to onClick.

Leave the condition blank.

In the action script, use the newListItem() function to save data in another list. Please refer to the function description and the  Use Cases Guide for more information on how to use the function.

If you want to retrieve this record in the form once opened again, then you need to query the data from that list when the form load. Create an action form rule, event onLoad, and use the function getListItemData() to do get the function and populate data on the forms control again.

 

But if you want to save and retrieve multiple records, then you need to have master-child/master-details functionality, which represents the relation of (one To many) in the database definition.

So the master list will have the main form information and the details list will be have the different records related to the main form. The detailed list will be linked to the master child list with a master id (like primary key in DB).

 

The best approach to do this is using the Repeater or DataTable control, you can specify the master id column in the child list when you configure the repeater.

 

Have a look at these videos which will help you build your case and to start thinking in the right direction:

 

https://www.youtube.com/watch?v=Hb2uJyKg7sE&t=52s

 

https://www.youtube.com/watch?v=dRybbrFPmOM&t=3s

 

https://www.youtube.com/watch?v=c9tESFL-LQo&t=67s

 

https://www.youtube.com/watch?v=gS48oeg09AM&t=6s

 

https://www.youtube.com/watch?v=e4hAZ7NeVtw&t=34s​

 

12/2/2021 7:20 AMNoSPARK Forms
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/2/2021 5:15 AM

​This is an internal system error, not related directly to SPARK Forms, this is when you call a request between .Net framework and Oracle. SP has nothing to do with this as the call is generated from the .Net as I said and we have many clients integrated their forms with Oracle.
Also you can use the MSSQL linked server feature to connect to Oracle and you can connect to MSSQL instead of Oracle if you were unable to figure out how to solve it.
We don’t interact or support internal integration issues, as this is a very sensitive topic related to external servers other than SP and have many concerns with regards to security and systems stabilities.
So you need to consult with your DBA about the connectivity between servers.
Check this link out:
https://stackoverflow.com/q​uestions/19354015/error-system-data-oracleclient-requires-oracle-client-software-version-8-1-7-or​
 ​

12/2/2021 5:15 AMNoTroubleshooting
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/2/2021 5:13 AM

​Not all controls have Read Only property, especially the ones that have data source to retrieve from “side button”. These controls can be disabled, disabling them will do the same functionality as read only.

​ ​
12/2/2021 5:13 AMNoSPARK Forms
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/2/2021 5:09 AM

This would only happen if you have a huge number of forms(history versions) and your farm is so slow.

 

Do the following troubleshooting steps:

  1. Try to clear your browser cache, hard clearing and check.
  2. Try restarting your farm.
  3. Check it out another site where there is a few number of forms or a new site “this would be even better”, to make sure this is not something related to the solution itself.
  4. Open in Chrome, hit F5 and check for any errors in the console tab.
  5. trim of the history version so it does not get too large:-

Open the SPARK Forms Builder hidden templates list:https://youdomain/site/subsite/lists/sparksettings

 

click on list settings, versioning settings and check the “Keep the following number of versions” option and set the max number of versions you want to have like this:


save.

 

12/2/2021 5:09 AMNoSPARK Forms
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/2/2021 4:58 AM

​create a date object in order to work with it in JS as date, otherwise it will be treated as string.

​Once you have it as a date object, you can use the functions like this:

The first line is how to convert it to date object in JS.

​​

var d=new Date("10/27/2021")

d.getDate()

d.getFullYear()

d.getMonth()

 
12/2/2021 4:58 AMNoCodes & Scripts
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/2/2021 4:57 AM

It is  a permission issue.

Please note that after publishing the workflow, the workflow becomes a part of the SP online system and we can’t control it, also the notification activity is a 100% MS activity and there is no way to customize it. so this is something related to the O365 itself.

After updating a list item and based on that you trigger the list Event Receiver to run the workflow, the WF get stuck at In Progress “try to show the status details” and it seems waiting for permissions to proceed. The user must have sufficient permission on both:

  1. The site
  2. The list

Giving only permissions on list won’t be enough. This is how MS designed the technique.

Do the followings:

  1. ​Change the test account permissions on the site and check what permissions might run the workflow.
  2. Create a test workflow with only the one notification activity “no other activities in the WF”, to make sure there is no previous activity is affecting the workflow running.
  3. Make sure that the user has no personal Alerts on the list that would conflict with sending emails.
  4. Run the workflow manually without updating the list item, does it run? this is to test if the user is capable of sending email form WF.
  5. Create a test list with one column on same site and test.
  6. Create a test list with one column on other site and test.
  7. Create a WF using SP Designer and test.
  8. Use the History Log activity instead of the Notification and check if it would work.

12/2/2021 4:57 AMNoSPARK Workflow
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/2/2021 4:49 AM

​When you purchase the enterprise edition annual subscription, you get 10 free active anonymous forms with the package. Once you have published them all and try to publish a new one, you’ll get such a message.

If you don’t have all the 10 forms published or used, you can unpublish and delete them using SPARK Forms Manager, to allow space for the new form.

If you need extra anonymous forms, you can pay for another 10 anonymous forms.

We are talking here about anonymous forms only, as your internal use forms are unlimited.

12/2/2021 4:49 AMNoSPARK Forms
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/2/2021 4:47 AM
When you first create and publish a workflow on a site, no matter which solution you use (SP designer, SPARK Workflow, K2 ..etc), SP core system creates a special hidden library called "Workflows" on the site and configure it to store workflow config files.
If the site had a library or a list of the same name before the first WF published, this would prevent creating this special library if this is not your case check the versions configuration or permissions of this library. Or simply it might be got corrupted when first created.
This is a hidden library and you can check it out by typing its address on your browser or using SP Designer:
Please follow these steps to troubleshooting versions issue:
 
Go to SharePoint Designer and navigate to 'All Files'
Right click on the "Workflows" folder and click 'properties'.
On the properties screen click 'Administration Web Page'.
Go to 'Versioning Settings' and ensure that 'Create major versions' is selected and not 'Create major and minor (draft) versions'.
 
If you were unable to fix the problem on this library, by figuring out what is different between it and the same ones that are working fine on sub-sites, you can always remove your running workflows from lists and libraries, delete this library and start over again. But keep this solution as a last one, when you totally convenes that this library is corrupted and needs to be recreated.​​
12/2/2021 4:47 AMNoTroubleshooting
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
012/2/2021 4:19 AM

​When our form is large and more than 2MB of size. MS limited sending/receiving data on fast protocols in O365 to 2MB, so you need to switch on “Enable Large Form” property in the form’s properties pane.



This will let your form uses another type of protocols that can handle large data transactions.
In general you shouldn’t feel any difference in performance.​


12/2/2021 4:19 AMNoTroubleshooting
0
12/2/2021 4:19 AM
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
011/30/2021 7:28 AM

​You can control what columns to be included in the searchable dialog and sort them out without the need to use the free query mode which will be available as well if you need it.

 


11/30/2021 7:28 AMNoSPARK Forms
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
011/30/2021 7:10 AM

There is no need to have an elevated function for the getFieldData() function as the user can use the function getFieldsValues_WithElevatedPrivileges() function to consume one column data without any problem.

Create the function using the script manager wizard on the function getFieldsValue() and select only one column, then add the “_WithElevatedPrivellages” part to the function name and you should be fine. The next release will support the wizard for the getFieldsValues_WithElevatedPrivileges() function.

the getFieldsValues_withElevatedPrivileges() function is general and can be used to get the three types of data results:

1-      Get a single field data (all rows).

2-      Get a single field data (specific one).

3-      Get entire item row data.

The function  getListFieldData() you are pointing to was designed to getting data of a single field (column) for all rows, which is covered by the elevated function already:



11/30/2021 7:10 AMNoSPARK Forms
  
Picture Placeholder: Jim Hidson.
  • Jim Hidson.
011/30/2021 7:03 AM

tasks are stored in workflow tasks lists and they are separated from the current item list, so when you create the task form, you actually publish it on the workflow tasks list not on the current item list.
The only related column between the two lists is the “Related Item” hyperlink.
What you can do is to use this hyperlink information to get the current item ID in the task form and use it in getListFieldData(),getListItemData() or getFieldsValues() to retrieve any field(s) in the item list.
 
How to get the current item ID?
 
Create an action form , event: onLoad, Condition: leave it blank
In the action area use this function to split the hyperlink value and get the ID:
var id = split(getValue(_HyperLink1),'ID=')[1];
 
you can also print the value in an alert message to make sure the id is correct:
alert(split(getValue(_HyperLink1),'ID=')[1]);
 
use the variable in the CAML query string in one of the functions mentioned above and use the setValue() function to set the return result in a textbox or a label ..etc.​
11/30/2021 7:03 AMNoSPARK Workflow
1 - 20Next