- This topic is empty.
- 11/07/2011 at 4:40 am #4756
I hope I understand your requirement. You are working with an external system and want to be able to pull list of items from the external system. This can be achieved by using qSIListView and it seems that you are able to do that. Once the data is pulled in and displayed in the qSIListView Web Part, you want to be able to create a custom action to be associated with a context menu or toolbar button so when user select an item in the list, the user can click the menu or toolbar button to open up a form and modify/update/edit this selected item. In particular, there is a field in the form that you want to update using a people picker. Is the scenario described correctly, my suggestion is as following:
1. Add a custom action as Context menu item and add a "Go To Url" action to the action item.
2. Specify "Go To Url" action's URL property to the page where you will add a qSIListForm to update the external system item and specify the parameter as HttpRequest query string so you can pass the ID or other key value to this page from qSIListView
3. Create a Web Part page to be the target page of the previous step and add qSIListForm Web Part.
4. Define Catalog property so that the default entity/operation would be to pull out the external system item based on the key or ID passed to the page (as HttpRequest parameter type).
5. For the field where you want to assign a person to the underlying list item, you want to define it as a Choice field and either define the choice items manually, or define an entity/operation/parameters to pull a list of persons, and you have choices of using a dropdown or an item picker, which functions similar to a people picker.
6. Define you update/save actions to be associated with a Save button. You would also need to go back to Catelog property to define an entity/operation/parameter to fullfill this action, which reads the input data and update to the external system.
Now if you goal is to update a SharePoint list item with one field and have the value from a list pulled from the external system, it will be much easier.
- 11/07/2011 at 4:56 am #6604
Thanks for the reply!!!
My scenario is:
Once user will click the context menu(custom action) after selecting items in qSIListView, I want user input to select the person name to whom they want to assign.
After that, I want to update all those selected items with the person name selected in external list.(I have a field in the external list to store ID of the Person)
Now, if I use Goto URL (and pass the custom made webpage where there is a people picker to select person name), how would pass the Items selected in the parameter?
- 11/07/2011 at 5:19 am #6605
When you define the Go To Url action, there are parameter defintion section below that allows you to specify parameters. You can define the parameter (such as the ID for the item selected in the list) and specify the source to be "ListItem", which will append the value associated with the item you selected. For details, click the help icon at the top right corner of the ezEdit screen where you define the "Go To Url" action.
- 11/08/2011 at 2:03 am #6607
You do not have to worry about passing parameter from your custom action. Please note once you have qSIListView configured to render a list of items from external system, the qSIListView is ready to pass value into your specified action as well. I assume that qSIListView contains the column that you want to pass to the next page. In that case, you can pass value to "Go To URL" action by specifying "ListItem" as parameter source, then source name would be the columnn name that you want to retrieve the value from the qSIListView. When you select an item in the qSIListView and bring up the context menu, this value is going to be retrieved and appended to the action's URL string. Suppose you have specified the URL string to be something like http://mysite/myform.aspx. It will generate a URL string like http://mysite/myform.aspx?ID=3 and redirect the page to it. On the myform.aspx page you will need to use qSIListForm to update the data to your external system.
It is hard to explain the details, please feel free to open a support ticket with Quest and they can help you walk through this configuration.
- 11/08/2011 at 2:24 am #6608
This helps me a lot way then what I understand it before.
I am able to do this for the one item and it works like a charm!!!
Last quick question. If I have Toolbar action where I have selected multiple items, then how will these parameter works as oppose to single item selected. What is the way to do it.
- 11/08/2011 at 3:29 am #6609
Each custom action (built-in or end user created) follows the API which supplies CustomActionContext object. The context object provides Items property which is of ICollection. In case of single selection, the first item in the collection will be used, and when multiple items are selected, all items are passed to you via context.Items. In case of GoToUrl action, the first item or row is used to generate parameter. If you are creating custom actions, you will need to handle in your code.
- 11/08/2011 at 9:46 am #6606
Still a little bit confused with passing parameters.
Can you please verify the steps below:
I had the actionresult(having rowdata resulted) parameter from customactions (my first action)
Now, I am creating another action as Type GoTo URL.
My question is what to pass in parameter? ->
<ActionName>.<ResultType>[.Name] – I saw this in SDK but what will it be?
Please also tell/suggest me if I have any other simple approach to take. Just again telling you that my scenario is selecting multiple items and then assign a person to that items of the qSIListItem.
- 11/11/2011 at 11:02 am #6610
I was trying your solution and I am kind of able to solve as per my requirement.
Just a quick question, does quest provide External list connection/custom coding with external list(qSIListView), using sharepoint object model?
Because I did multiple item selection update through my custom coding with .net ado provider, and not with the sharepoint object model which is now available in SP 2010.
- 11/11/2011 at 11:14 am #6611
You cannot use SI Web Parts to connect to external list but you can with regular Quest Web Parts using SharePoint object model. When you write custom actions, it is highly recommended that you use SharePoint object model to update list items unless you are updating to an external system other than SharePoint.
- 11/11/2011 at 12:20 pm #4125
I was successfully able to create a external list view through qSIListView.
Now, I need to create a custom action for the selected items in it.
I created it though SDK provided with the Quest solutions.
Now, my question is , I wanted to open a form for selecting a person with people picker and assign that person to that list items.
I created a class with ICustomActionEx. and able to get the selected items. Don’t know what to do next.
How can I acheive that. Please explain step by step.
- 11/11/2011 at 12:20 pm #6612
Got it!!! Thanks!!!
You must be logged in to reply to this topic.