Thursday, November 28, 2013

Finally a cross-site lookup that works in the Quick-Edit view

There are a lot of fine solutions on the web to solve the everlasting problem of not being able to look up items across sites.

However, none of those solutions is really complete. While the appearance is generally great in the edit and view forms, most fields lack the ability to be edited in the Quick-Edit view (a.k.a. Datasheet-View), which is where you can edit all list items in rows at once. This is because SharePoint is quite uncooperative when it comes to extending this mode.


Introducing the Lookup SUPREME field for SharePoint 2013.


Quick-Edit Support - this field can be normally edited in the Quick-Edit view, and it is even much faster than the SharePoint standard lookup field which it is based on when it comes to lists that have several thousand entries. Granted, it is rare that a list has 50,000 items, but it happens often enough for businesses to experience that editing becomes a daunting task when having to wait for the standard dropdown to open for over a minute. This field doesn't pre-load all the entries, it loads and filters them dynamically when you use it, e.g. you open the dropdown and see a bunch of results instantly and scrolling reveals more and more, loaded in the background.

Cross-Site - in the SharePoint standard you have to create a lookup field in the website in which the list is located in which you want to look up items, with this field you can directly specify any list from the whole site-collection and don't have to create any website columns at all, while being fully standard compatible. All the standard options such as multiple or single values, required values etc. are of course available, too.

Designed for productivity - nicely styled solutions are not automatically efficient in terms of usability. Too often solutions are made for the eye only and not actually for being used by people. Less shiny but usage-optimized solutions are often the better choice for everybody who has to work with them on the long term. To increase productivity it is important that everything is quickly at hand and can be controlled in any possible way, say by keyboard and mouse to support any liking.
This solution is heavily optimized for usability. Not only can every element be controlled completely by keyboard (e.g. opening the dropdown, selecting items, filtering by starting to type, committing or cancelling changes etc., all without ever having to grab the mouse), it also adjusts itself to the available space, aligns and resizes itself or grows and makes it largely unnecessary for the user to scroll, which saves a lot of time and nerves.

Features for users - there is no direct input into the field, in favour for the filtering in the dropdown. Clicking on the field or typing simply opens the dropdown and shows results, which are being filtered when the user types something. The dropdown can show any columns that were configured, and those columns can be filtered or sorted where supported by the data type. So users can see all kinds of columns from the lookup list items, not only the lookup field. Selected items can either be removed by clicking the X next to the entry, or by pressing the Delete key on the item in the dropdown (already selected items are grayed out in the dropdown).
In the view modes, the selected entries are linked as with the standard lookup, but you can configure that the link shall open in a dialog or a new window or the same window. Linking can be switched off as well.

Features for admins and developers - the configuration is quite extensive. Not only can you specify which fields of the lookup list to show as columns in the dropdown, you can also specify how, and you can even extend or customize it to your exact needs, by adding some Javascript to your site.
The configuration can be a little complex at start, but one gets used to it easily. The field supports displaying all kinds of standard types, including picture fields, and can filter and sort many of them. Whether fields can be filtered and/or sorted can be configured as well.
Conditional filtering  can be used to limit which items from the lookup list will appear. This allow for including items with a certain content-type only, or from a specific sub folder in the target list, or with certain values in a field, e.g. products for a specific country or people working on a certain project. 
Then there are the rather exotic features such as placeholders in the column definition or the conditional filtering criteria. The placeholder would access an URL parameter and so the configuration can be different depending on the URL of the link the user used to come to the site where the lookup is displayed.
This might come in handy if you are doing context-sensitive development in your own solutions, where you create one field but have different configuration, e.g. when using it in Webparts.
Further, all CSS classes can of course be overridden, and a custom display template can be configured to control how selected entries are rendered.
The whole configuration can easily be edited and copied directly as well (skipping the visual editor) - this is practical for transferring the configuration to another field, or for using placeholders. 

Licensing - the field can be freely tested for as long as you like it and has all features activated, except that it doesn't save the entries that you selected, but random ones. This is the demo mode. To use it in production, you'd have to purchase a license. There are licenses for the site-collection (the field can be used in every website in the site-collection) or for the farm (the field can be used in all sites in all site-collections in the whole farm). These licenses come in two flavours - either for 50 users only (so if your site-collection has 127 users, you'd need to purchase 3 site-collection or 3 farm licenses), or unlimited (for any number of current and future users).
Licensing goes easy - directly on the configuration page you have an Activate Now button which presents you with the choice for the license model and this brings you to the online shop where you can purchase the license(s) using your credit card, bank account or PayPal (this is managed by a common and safe eCommerce reselling service, so you'll be complete insured, though of course you should (and can) test the solution beforehand. The prices are at the lower end of the industry standard for enterprises and IT agencies, and certainly less than hiring a developer to make a solution like that.
Also, all future updates come free of charge, thus you participate from all improvements and bugfixes asked for by other customers.


The Lookup SUPREME field can be downloaded here:
www.supreme-tools.com/lookup


It is a custom field type for SharePoint 2013, based on the standard Lookup and extremely lightweight (no server scripts, no third-party libraries, no new icons in the toolbars, no administration pages whatsoever, and quickly installed or removed).