This project is read-only.

Installation notes

The tool comes as a single executable file - the ListItemEditor.exe - so you can simply copy it to the machine you want to use it on and then start it. The tool can be used on a server that is in a SharePoint 2007 farm (you will be able to use the object model mode to access and modify list data in this case) but also on a machine that is not part of a SharePoint farm (the web services mode will be available only). The tool is built against the .NET 3.5 framework so you need to have it installed on the machine that you use the tool on. For using the tool in the web services mode you don't have to install anything extra on the SharePoint server (the tool uses the standard SharePoint web services) or on the machine where you run the tool, but you should make sure that the web services are accessible from the latter and you have a user with sufficient rights to use them.

General usability notes

The tool allows you to insert update and delete SharePoint list items - you can achieve these with the standard GridView control operations - new items can be added when inserting values in the bottommost line of the grid, existing items get modified when you change the values of their respective cells and you can delete items by deleting rows in the grid - in order that you can delete a row in the grid you need to have the whole row selected (check below how to do that). Here is a short list of some important general tips:
  • an important one - all insert, update and delete operations in the grid are not applied immediately to the underlying SharePoint data - this happens only when you click the "Save" button in the toolbar. The idea behind that is that the tool performs fast batch updates using either the SPWeb.ProcessBatchData method or the Lists web service. Note also that the tool doesn't have a warning prompt for pending changes when you are closing it so it is quite possible that you lose your changes if you forget to commit them using the "Save" button.
  • after you commit your changes with the "Save" button the modified rows get automatically refreshed - this means that you will immediately see the changes to certain read-only or system columns that change independently of your modifications.
  • many commands of the tool work using selection of grid rows - if you haven't used the .NET GridView control here is how you can select rows in a GridView: to select a single row in the grid you need to click with the left mouse button in the leftmost gray cell of the row (the one usually containing the "approved" label) - after you do so you will see that the whole row gets selected and its color changes to blue; to select more than one row you can either click in the first row's leftmost cell and drag the mouse till you select the rows below or above it that you want or using the "CTRL" or "SHIFT" keyboard keys (holding them pressed) and clicking on the other rows that you want to select.
  • to delete grid rows (and consequently delete list items) you have to first select the grid rows as explained above and click the "DELETE" keyboard button.
  • for document libraries you don't have the insert operation in the GridView control. You can upload new files using the "Upload Files" command in the toolbar.
  • some SharePoint list fields will appear as read-only (displayed with light gray background) in the grid view - these are usually system fields whose values can't be modified.
  • UI Enhanced mode - you can select the enhanced mode from the sub-menu with that name below the "Options" menu - in the UI enhanced mode for certain list field types the grid view displays different editing controls in the respective grid cells - e.g. - for "lookup" and "user" fields a combo-box or a multiple selection picker is displayed; in the FileLeafRef column for folders (in list and libraries) a small icon is displayed which when double-clicked opens the contents of the selected folder in the grid view.
  • renaming files and folders - the tool allows you to rename files and folders with both the object model and web services modes - you need to change the value of the FileLeafRef column for that. Note here - it is not possible to change the names of the folders in SharePoint non-library lists (no problems for libraries) using the web services mode - this is due to a bug in the standard SharePoint web services.
  • list folder navigation - available in the UI Enhanced mode (check above). In the status bar of the tool a bread-crumb like navigation control is available which allows you to navigate back to the parent folders of the current folder or the root folder of the list.

Commands overview

The following command buttons/menus are available in the tool's toolbar (listed in the order of appearance in the toolbar):
  • Open menu - you have the following commands below it:
    • Open (local) - opens a list using the object model (available only when you run the tool in a SharePoint farm machine) - in the dialog prompt you need to provide the URL of an existing SharePoint list - it can be the URL of the list's root folder - like http://myserver/mysite/lists/mylist or the URL of one of the views of the list - e.g. http://myserver/mysite/lists/mylist/allitems.aspx
    • Open from web (local) - opens a list using the object model (available only when you run the tool in a SharePoint farm machine) - the command opens a dialog in which you can specify the URL of an existing site in your SharePoint farm - e.g. http://myserver/mysite. After you click the "Load lists" button of the dialog the available SharePoint lists of the specified sites are populated in a list box control from where you can select a list to open.
    • Farm explorer (local) - displays a tree view control with the hierarchical structure of your SharePoint farm (available only when you run the tool in a SharePoint farm machine). The tree view shows all web applications available in the local farm, all site collections below them, sites, lists and list views. If you double click a list or list view node the corresponding SharePoint list will be opened.
    • Open (web service) - opens a list using the standard SharePoint services - the command displays a dialog box in which you need to enter the URL of the containing site - e.g. http://myserver/mysite; the title of the list (not its URL or URL part) - e.g. Shared Documents and optionally the user account and password with which you want to access the SharePoint web services.
    • Open from web (web service) analogous to the "Open from web (local)" command, but uses instead web services. You have also the extra option to supply different credentials for accessing the web services.
    • Site explorer (web service) - displays a tree view explorer similar to the one in the "Farm explorer" command. The difference is that the command uses the SharePoint web services and displays the hierarchy only below a specified site. The command opens a dialog in which you need to specify the URL of an existing site - e.g. http://myserver/mysite and optionally the credentials of the user used to access the web services.
  • Save command - commits all pending changes (inserts, updates and deletes) to the current SharePoint list - check the usability notes above.
  • Refresh command - reloads the items of the current list - note that all pending changes will be lost.
  • Views menu - you have the handy "Modify view" and "Create view" commands here. When you open a SharePoint list or library in the tool the available list views also appear as options below this menu item.
  • View Options -> View Fields command - opens a dialog box with a multiple selection picker which allows you to specify which columns of the SharePoint list (and their order) you want to display in the grid - note that the selection of fields will force a refresh of the grid view and all pending changes will be lost. Note also that although you can select all available list columns in the multiple selection picker not all selected columns will appear in the grid view depending on the editor's open list mode - for instance computed and calculated columns won't be displayed in the grid view.
  • View Options -> Query command - changes the CAML query used to filter the loaded list items - the initial value of the CAML query depends on the currently displayed view of the SharePoint list but you can change it to any valid CAML query - e.g. <OrderBy><FieldRef Name="EventDate" /><FieldRef Name="Title" /></OrderBy><Where><Eq><FieldRef Name="EventDate" /><Value Type="DateTime"><Today /></Value></Eq></Where>. The command also forces a refresh of the grid view and all pending changes will be lost.
  • View Options -> Scope - available options - Default, Recursive, RecursiveAll and FilesOnly - these directly map to the Microsoft.SharePoint.SPViewScope enumeration and have the same effect as the "Scope" property of the "SPView" class: the Default option - displays all files and folders in the current folder; the Recursive - all files from all folders in the list; the RecursiveAll - all files and folders recursively in the list; FilesOnly - all files without the sub-folders from the current folder.
  • View Options -> Fetch Type (SPQueryCustom/SPSiteDataQuery selector) - available in local (object model) mode only - specifies which method to use for getting the list item data - SPList.GetItems(SPQuery) or SPWeb.GetSiteData(SPSiteDataQuery) - the latter has several limitations - it cannot retrieve the data of multiple lookup columns (limitation of the SharePoint object model) and also returns all column values as strings. The "SPQueryCustom" option uses the appropriate .NET type (e.g. string, int, double, DateTime, bool, etc) for most of the standard SharePoint field types in the grid view columns.
  • View Options -> Row Limit - allows you to specify how many list items should be returned in the result set
  • Discard changes - discards any pending changes in the currently selected rows.
  • Check in/out menu group - available for document libraries only - allows to check out, check in (minor, major and overwrite) and undo check out documents. The commands are applied to the selected rows only (about row selection check above). There should be no pending changes prior to executing the commands.
  • Moderate menu group - contains commands for changing the moderation status of list items (applied to the selected rows only) - the status can be changed to approved, denied, pending, scheduled and draft. There should be no pending changes prior to executing the commands.
  • Explorer menu group - launches a windows explorer instance displaying a web folder view (explorer view) with the root folder of the web containing the current list or the root folder of the current list or the currently displayed folder. May not work at all on many occasions - check the "Explorer view troubleshooting" section below for some handy hints and links.
  • Upload/Download -> Upload files command - (available only for document libraries) - allows you to select one or more files and/or directories that will be uploaded to the currently displayed folder of a document library. The contents of the selected folders will be uploaded recursively. Note that you can select also a single folder item in the "File Open" dialog and click its "Open" button - unlike the normal "File Open" dialog this won't explore the contents of the selected folder but will close the dialog and will proceed with uploading the folder's sub-items.
  • Upload/Download -> Download files command - downloads SharePoint files and folders (in libraries only) to a specified local disc location (recursively).
  • Options -> Enahanced UI - switches on and off the "Enhanced UI" mode (see above in the "general usability notes")
  • Options -> Suppress events command - (available only in the object model mode) allows you to disable the synchronous and asynchronous item event handlers that may exist for the current list.
  • Options -> Security mode - sets the HTTP binding security option for the web services mode - if you open a SharePoint site using HTTPS you need to select the "Transport" option here.
  • Options -> Credential type - sets the HTTP binding credential type for the web services mode - depending on the authentication settings of your remote SharePoint site you may need to change the default "Ntlm" option here (e.g. "Windows" for kerberos)
And several additional commands available in the grid view context menu:
  • Copy command (the CTRL+C shortcut works too) - you can copy whole rows (see about row selection above) or any rectangular region spanning several rows and columns in the grid view which you can then paste to another application (excel, notepad, etx) or the grid itself - either in the same list or another one.
  • Paste command (the CTRL+V shortcut works too) - you can paste whole rows or "rectangular" tab separated data (you can select all values from one column and copy these to another column, etc). The clipboard data will be pasted in the grid view starting from the currently selected grid cell. If the copied data contains more rows than the rows present in the grid view below the current cell (the insertion point), new lines will be created for every extra pasted row - this allows you to create new items in batches. If the type of the pasted data doesn't match the type of the destination grid cells you will receive an error and the paste operation will fail at the point where the type mismatch occurred. Another note with pasting - if you use client sorting in the grid view (e.g. you click one of the column headers to get the grid items sorted on that column) and try to paste data in the grid view, you will receive a warning prompt. Due to the internal design of the grid view control the pasting operation may have unpredictable results - when you paste a different value in the cell of the sort column of a grid row the grid will immediately change the position of the grid item which will also change the position of some of the other grid items - this will mean that the consecutive rows of the pasted data will end up in different rows than expected when you started the paste operation.
  • Delete (needs Save to commit) command - this deletes the currently selected grid rows. If you want to commit the deletion and delete the corresponding SharePoint list items you have to click the "Save" button in the toolbar.
  • Browse attachments command - (available only for non-library lists) - the commands works on the currently selected row - it will open a windows explorer window with the SharePoint folder containing the item's attachments (see also the "Explorer" menu group in the toolbar above and the "Explorer view troubleshooting" section below).
  • Save new items as folders command - (available only for non-library lists) this command is identical to the "Save" command in the toolbar - it will also commit all update and delete operations but the newly added items will be saved not as regular SharePoint list items but as folders - this is a quick way to create list folders in batches. Note that in order that the folder creation works you need to specify a valid folder name in either the FileLeafRef field or the Title field.
  • Add folder to library commands - (available only for document libraries) adds a new grid row which when saved will result in a new library folder. You have to specify a valid folder name in either the FileLeafRef field or the Title field.
  • Add folders to library command - (available only for document libraries) identical to the "Add folder to library" command but you can specify the number of new folder items that will be added to the grid view - this allows you to quickly create library folders in batches.

Explorer view troubleshooting

The windows explorer view (web folders view) is generally hard to get working and there are various issues with it depending on the operating system. If you have the standard "Open with windows explorer" (available in the "Actions" menu of every standard document library) functionality working then the "explorer" functionality in the tool will also work. On Windows 7 (and Windows 2008 R2 server) it most possibly won't work. For other operating system you may consider this update and also check this white paper for further troubleshooting:

Web services mode troubleshooting

In some cases when you receive an access denied error (HTTP 401) when trying to use the SharePoint web services you may need to apply these registry changes to the SharePoint server: - check this with your system administrator since it may pose a serious security hole.

Last edited Jun 2, 2011 at 12:21 PM by stefanstanev, version 34


No comments yet.