Using Smart List Pro it's easy to set permissions to individual columns of your list/document library. You can set a column to be in Write, Read or Deny(hidden) mode based on conditions and the identity of the current user. Sometimes you would need to set up multiple permission rules, especially when you need precise control over the column throughout your list-based business process.
When you have multiple columns in your list and need to set up similar permissions to several of them, it can be a daunting task. Thankfully, let me show a little trick that will make your life much easier.
As you know, permissions can be set to both columns and tabs. When setting a permission to a tab, the columns included in the tab are assigned that permission as a group. So basically you only need to assign it once, which is great.
But what if you don't want any tabs on your form, but still don't want to go and assign permission rules to each individual column?
There is a simple solution to that. We have a special mode for the tabs that is called "Do not display". It means that your tabs are only used for assigning permissions and there is no visual representations of these tabs on the form itself. You can find this setting under Display as in General Settings section (at the very bottom of Infowise Tabs and Tab Permissions management page).
So how do you do that:
- Create a tab for every group of columns sharing the same permissions.
- Associate the columns with the tab
- Set permissions to the tab itself
- Set Display as to Do not display
- Save your settings
This is it, you just saved yourself the hassle of assigning permissions to each individual column!
Today I'll be focusing on an extremely powerful, but pretty obscure piece of functionality found in our Associated Tasks Field and Smart List Pro. It allows you to automatically pass values entered in the parent form right into the related child forms, without having to re-enter anything manually.
Consider the following scenario: you are building a SharePoint-based invoicing system (similar to our Quote Generator solution). For this you are using 2 main lists:
- Invoices - where the main details of the invoice go, such as customer name, bill to/ship to addresses, totals and so on
- Invoice Details - this is where you enter the actual invoice line. Each invoice will have at least one invoice line
Associated Tasks field makes it very easy to set something like this up, you can even add new invoice lines while your invoice is still in its New form, without having to save it first, directly from within the form.
Assume that your requirement is to enter the Currency type both in the invoice itself and on each invoice line. Doing so manually is time-consuming and open to human errors. What you need is an ability to pass the value selected on the invoice to the invoice lines automatically.
Thankfully, it's really easy to set up. Associated Items field will read the values of the parent item columns and pass them to the child New form automatically, in the query string. Almost all column types are supported and there is nothing to configure, it happens automatically. Now all we need to do is to use these value to set the default value for the columns on the child form. Smart List Pro's Default value setting are here to help.
Let me go over the process step-by-step, with some images to make it easier for you. When we open the main Invoice form we enter some data there:
Now click on New entry link of Associated Items column Products. It will open the child New form. Right-click there and choose Properties (that's in IE, other browser offer similar functionality).
Take a look at the URL:
It contains the parent column values, the parameter names are simply internal column names, prefixed by iwfv, such as iwfvCompany or iwfvContact.
Now we can use these parameters in Smart List Pro to set default value rules. On your child list (Invoice Details) go to List Settings, there click on Infowise Default value settings. Select a column you want to set a default value for. Check Query string parameter checkbox and enter the parameter name, e.g. iwfvCurrency.
Save the rule and your are done. Now when you open the child form from the parent, the column values are going to be prefilled with the value you entered on the parent form!
Today I would like to focus on one particular action type of Smart Action Pro: Manage Active Directory. This action allows you to:
- Create users in AD
- Update users in AD
- Enable/disable users
- Reset passwords
- Add/remove users to AD security groups and distribution lists
- Create security groups and distributions lists
- Delete security groups and distribution lists
What do we need? Well, Smart Action Pro of course. One of our most versatile products offers 16 different action types, all of which are configured right in the browser and allow you accomplish anything in SharePoint, without any need for custom development.
The second thing you need is to grant the SharePoint's application pool account management right on an organizational unit (OU) within your Active Directory, to allow it to create and update users.
And the third thing - a list in SharePoint we are going to use to create and update our users. I chose to use a Contacts list as it already contains most of the columns I need, all I did was just add a couple more: Username and Password.
Our example will do two things:
- Create a new user in AD when a new item is added to the list.
- Reset existing user's password when a list item is updated with a new password.
So let's begin. First of all we need to create an action column. Go to List Settings -> Infowise Actions Settings, there simply click OK under Action Columns. It will add the action column, so we can start adding actions.
Our first action is going to be Create User (type: Manage Active Directory). Set the action to run on New. Under Action Settings select "Create User" as action type, enter your Active Directory connection information (directory type and name and OU path). Next map the list columns to the AD properties. Use the value picker (icon to the right of each field) to select columns rather than typing them in.
Save the action. Now every time you add an item to the list, a user is created in Active Directory.
But wait, the password is clearly visible to anyone with access to the list, not much of a security system. Luckily, we can easily fix that as well. Let's add an action to clear the password field value as soon as we are done using it. We'll be using Update list item type of action for that:
And the last thing we want to implement is the ability to reset password. Add another Manage Active Directory action and set it to run on Edit.
In the Action Settings select Reset Password action type and map the necessary fields:
One more thing is needed here and that's a condition to only run this action when users actually enter the new password:
Now let's test it! Enter user data into the list:
Save and check your Active Directory. Presto! A new user has been added:
Now edit the user in the SharePoint list and enter a new password, your Active Directory user will be updated the second you save your changes to the list.
In summary, we covered just a fraction of what Smart Action Pro is capable of. It's the best tool when you need to accomplish advanced tasks but do not want to delve into the bits and bytes of software developments :).