views:

321

answers:

3

The default WSS 3.0/SharePoint 2007 SharePoint upload user experience is like this:

  1. Click link for document library. **PostBack**
  2. Click Upload. **PostBack**
  3. Click Browse. **Dialog**
  4. Click on document and click OK. **Dialog disappears**
  5. Click OK. **PostBack**
  6. Fill in document properties and click OK. **PostBack**

Best case, this is a minimum of 1 + 1 + 1 + 2 + 1 + 1 = 7 clicks with 4 postbacks. I'm getting complaints (and agree) that this isn't slick enough.

Does anyone know of an open source solution that improves the user experience for a document upload? The solution would need to support custom field types when entering document properties.

Edit: This needs to be simple and intuitive for users that are not tech-savvy. Copying URLs is not an option.

A: 

If you have the possibility to let your users use WebDAV, they can open the document library in Windows Explorer. That way, they can drag and drop files as much as they want. In my experience, this is a much better end user experience for non-tech users.

Magnus Johansson
Oh, I just re.read your question. This wouldn't let them enter document properties/custom field types.
Magnus Johansson
That's probably still too tech for my users!
Alex Angas
Are your users unfamiliar with Windows Explorer? In a solution I worked at, we added a "Open in Windows Explorer" button on the document library toolbar. This would let them copy their documents using the familiar Windows Explorer methods.
Magnus Johansson
A: 
  1. Right-click link for document library, copy link location
  2. Open explorer and paste the URL for the document library
  3. Drag-and-drop the file into the explorer window for the document library.
Yuliy
This is not intuitive enough. I've updated the question, thanks for your answer.
Alex Angas
+1  A: 

I had a similar requirement a long while back. I ended up using a CustomAction to extend the Upload UI; and made a modal lightbox popup when the item was clicked; the box's UI included a file upload control and all standard as well as custom fields. The trick was simply using the UrlAction element's "Url" attribute to initiate the script. The upload was handled with a web service.

The users upload workflow then only requires a single postback (navigating to the doclib itself)

I called it something to the effect of "Quick Upload".

Here's an idea of what the Elements.xml looked like

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"&gt;
<!-- Document Library Toolbar Upload Menu Dropdown -->
   <CustomAction Id="UserInterfaceCustomActions.DocLibUploadToolbar"
    RegistrationType="List"
    RegistrationId="101"
    GroupId="UploadMenu"
    Rights="ManagePermissions"
    Location="Microsoft.SharePoint.StandardMenu"
    Sequence="1000"
    Title="Quick Upload">
    <UrlAction Url="javascript:ShowUploadLightBoxWithCustomFields()"/>
  </CustomAction>
</Elements>
Gurdas Nijor
This is great, just the sort of thing I'm looking for. Don't suppose you still have the source available? ;-)
Alex Angas
Haha, I wish; don't own the code however - There's a decent approach taken at this site that you'll definately want to check out using JQuery to produce modal dialogs without postback http://www.codefornuts.com/2009/09/forcing-sharepoint-into-asynchronous.html#
Gurdas Nijor