Fresh! header image

Sharepoint Document Library Downloader

Following on from my post i have decided to continue adding a few more features to the program and quite a lot of bug fixes! :]

Small writeup about the program for people who are interested.

It allows you to download an entire collection of document libraries from a specified sharepoint site. I created it due to demand at work where we share alot of information with other people and one of the problems was getting information from sharepoint.

Sharepoint document library downloader - populating foldersSharepoint document library downloader - TreeViewSharepoint document library downloader - Downloading Files
Features List:
  • Threaded downloading, very fast on LAN’s (Intranets)
  • Site TreeView (Never really needed it)
  • Automatically creates folders on target machine
  • Thats it really!
New features:
  • Application is now deployed using ClickOnce. (ver 1.0.1.6)
  • I have put a cap on the amount of concurrent downloads. Had problems where downloads were timing out due to saturating bandwidth. This is now at the users discretion. (ver 1.0.1.5)
  • Can now select to download just individual folders within document libraries rather than just whole document libraries. (1.0.2.4)
  • Feature added to only download newer(different) versions of files (1.0.2.4)
Upcoming Features:
  • Add function of selecting specific document libraries to download. Done! (ver 1.0.2.0)
  • Some kind of download critera, which uses custom columns from a document library. (e.g. Only download files which are copyright free.)
Bug Fixes:
  • Fixed problem with MOSS 2007 thanks to Andy for pointing this out! (ver 1.0.2.3)
  • Fixed problem where download button in the ‘Download Choice’ section was hidden, thanks to Suraj for pointing this out. (ver 1.2.0.0)
Ive changed the location in the start bar to a Sharepoint Stuff :]. Not very original but ill let you rename at your discretion!

Latest version (1.0.2.0) Firefox users (Open zip and run file) Requires .NET2 Framework.
Latest version (1.2.0.0) IE users (New version, advise uninstalling older version (1.0.x.x) before running)

29 Comments on “Sharepoint Document Library Downloader”

  1. #1 Juxtapose this! » Sharepoint document library downloader
    on Oct 2nd, 2006 at 8:29 pm

    [...] Sharepoint Document Library Downloader [...]

  2. #2 A
    on May 16th, 2007 at 8:04 pm

    prueba

  3. #3 Andy
    on Jun 11th, 2007 at 11:12 am

    Brilliant - what a great idea. Can’t wait to try it out. Hope it works with MOSS (Sharepoint 2007)…

  4. #4 Andrew Johnson
    on Jun 11th, 2007 at 5:57 pm

    Hi,

    Let me know if it doesnt work and ill make some changes to get it working. Im hoping the web services havnt changed that much! :]

    Andrew

  5. #5 Andy
    on Jun 12th, 2007 at 11:24 pm

    Hi Andrew, if you could fix this, it would be great. Sadly this doesn’t seem to work with MOSS (Sharepoint 2007). It errors whenever I hit [populate libraries]. I have tried entering just a server name (e.g. http://dev) and also longer URLs (e.g. http://dev/sites OR http://dev/sites/arch) and so on. This is the error I get: System.IndexOutOfRangeException: Index was outside the bounds of the array. at SharepointDataExport.Admin.GetAllDocumentLibraries().
    ALSO, do you send the users auth token to the web service correctly? This should mean you don’t need to ask the user for credentials in your UI, authentication should “just work” on a intranet environment…
    Look forward to any update, a neat idea.
    -Andy

  6. #6 Andrew Johnson
    on Jun 12th, 2007 at 11:31 pm

    Hi Andy,

    Ill look into this ASAP, ill have to get a Virtual PC with MOSS2007 on but that shouldnt be too hard.

    It does support integrated authentication just leave the login boxes blank and it will use your ‘logged on’ credentials.

    It could be somethign as simple as the xml that the new web services return is slightly different. Which would explain the error.

    Watch this space!

    Andrew

  7. #7 Andy
    on Jun 13th, 2007 at 1:56 pm

    I look forward to an update! Another thought - is it possible to step down into the subfolders in a Sharepoint doc library and request downloading from half-way down, rather than downloading the whole doc lib? This would be an extra bonus. Andy

  8. #8 Andrew Johnson
    on Jun 13th, 2007 at 10:32 pm

    Hi Andy,

    All sorted, i think! :].

    I managed to get the error you were getting and have fixed it, program now works the same as it does with 2003.

    Hope this helps you! If there is any other stuff you want added etc. feel free to add it here. Im looking into the document library folder thing you asked for.

    You can update to the new version by clicking the check for updates button, it should automatically download etc.

    Best Wishes

    Andrew

  9. #9 Andy
    on Jun 14th, 2007 at 12:24 am

    Hi Andrew, thanks for working on this. It now works with MOSS 2007 but it bombs after it has copied 4 sharepoint folders. Here is the error:

    SharepointDataExport has stopped working. A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available.

    Also, I have two simple requests, I think they should be easy to include but could add a lot of value.

    1) on startup, can you remember the last sharepoint address and local folder location? That way I don’t have to paste these in every time

    2) is it possible to add a switch in the UI like this:
    [x] skip existing identical files at destination
    This checks for a local copy of the file already being present and if the date/time and bytes match, it doesn’t copy from sharepoint. I have written cmd line utilities in the past that do this, it makes a huge performance increase because it doesn’t recopy everything. All you need to do, is to stamp each file you copy to C: with the date/time that sharepoint has for that file, and then add the test logic before copying.

    Look forward to the next version! Thank you!

    Andy

  10. #10 Andrew Johnson
    on Jun 14th, 2007 at 10:11 pm

    Hi Andy,

    Ive tried to recreate your problem and have had no success. Found a load of other problems but not the one you describe. Ive copied 2 gig worth of files and folders 2034 files and 400 folders and it worked sucessfully.

    Do you have any idea of the particular file/folder it dies on?

    Ive added in the download certain folders only feature you thought might be good. It is quite useful, used it today at work :].

    1. I had actually already implemented this, just forgot to load the values back in when the program loads heh! Thanks for reminding me!

    2. Added this feature as best i can.
    When a file is downloaded for the first time the date modified attribute is set to the same date as the sharepoint one. Before it overwrites a file it checks if the sharepoint date is the same as the modified one. This should work in most situations.
    The byte match is not possible, as to get the bytes of the file from sharepoint it would have to be downloaded which would then mean you may aswell just overwrite :].

    I hope we can solve the MOSS problem you have. Im sure you will find more bugs :]

    Andrew

  11. #11 Andy
    on Jun 18th, 2007 at 4:57 pm

    Hi Andrew,

    Well I have started to use the Sharepoint Downloader (aka Shloader?) on a project I am now working with.

    Here are a couple of suggestions I just found.

    If you use the “download choice” button, you get a new form with another tree, from which you select a sub-branch to download. First, this needs to resize correctly - the form can be stretched but the tree panel doesn’t follow. Second, why not remove this and integrate this [x] selection functionality into your existing TreeView tab that you have already?

    I will keep checking the bombing problem with MOSS, to see if I get any more clues.

    Like this tool

    Andrew

  12. #12 Andy
    on Jun 18th, 2007 at 4:59 pm

    Oh … and one more thing (sorry, I hit the button too fast).

    Is it possible to have a button marked [>>] or [go there] against the download destination? I would like to be able to hit [>>] and it opens a new explorer window with my downloaded sharepoint files ready to work on. Otherwise I have to spend time in Vista navigation pain trying to find my downloaded files :(

    Andy

  13. #13 Andy
    on Jun 19th, 2007 at 1:35 am

    I found this bug today - I tried to repeat a download after I had grabbed a subtree earlier in the day. Sharepoint Downloaded was still open. It bombed with this message:

    Unhandled exception of type System.ArgumentOutofRangeException occurred in System.Windows.Forms.dll

    Value of 108 is not valid for Value. Value should be betweeen minimum and maximum

  14. #14 Pieraksti.lv » Arh?vs » Dokumentu eksport?šana no Sharepoint
    on Sep 8th, 2008 at 2:34 pm

    [...] situ?cijai der?gu br?numr?ku Sharepoint Document Library Downloader. Str?d? k? konfekte, ievadi tik Sharepoint lapas adresi, lietot?ja inform?ciju un lejupl?d? [...]

  15. #15 Krišs Rauhvargers
    on Sep 11th, 2008 at 5:23 pm

    How about using WebDAV interface for accessing the SharePoint document library? (http://www.microsoft.com/downloads/details.aspx?familyid=C523AC7A-5724-48BE-B973-641E805588F4&displaylang=en)

  16. #16 Andrew Johnson
    on Sep 11th, 2008 at 7:22 pm

    Yep thats entirely possible, however the reasons for this program are it allows me to filter what it downloads based on a custom field in the document library.

    It was designed for work where we can mark certain documents as copyright free. So the program will only download those.

    Cheers for headsup.

  17. #17 Matt
    on Mar 20th, 2009 at 6:37 pm

    Is this program ok to work with IE8 yet?

  18. #18 David
    on Mar 23rd, 2009 at 10:27 pm

    I am trying to connecto to a WSS 2.0 site to pull the documents from a certain library. I can’t use the Sharepoint Site link to the library, when I click on “Populate Libraries” button I get the error
    “The request failed with HTTP status 404: Not Found”
    I tried all combinations of url levels. I have to use the home level url to get any results. Unfortunately, after hitting the buttton, it appears to start loading then closes with “SharePointDataExport” has encountered a problem and needs to close….”

    I tried to vary the “Download Threads” from 2 to 100 without help.

    The error signature contains…
    EventType : clr20r3
    P1 : sharepointdataexport.exe
    P2 : 1.0.2.0
    P3 : 498b705e
    P4 : sharepointdataexport
    P5 : 1.0.2.0
    P6 : 498b705e
    P7 : 6
    P8 : 156
    P9 : system.nullreferenceexception

  19. #19 Jackie
    on Mar 24th, 2009 at 1:42 am

    I am creating a huge library of products for sales people to use. I have created a library of all my files, created different views of the files. On the landing page of these products, I created a web part with the particular grouped view, the grouped view only allows the first few grouped/collasped areas to be active, the rest are inactive. I’ve tried everything for visitors to get to these products that are grouped. Any suggestions or have I totally confused you? ha!

    J~

  20. #20 Andrew Johnson
    on Mar 24th, 2009 at 8:06 pm

    Not 100% sure about this but do you not just need to set the view you want as the default view?

  21. #21 Jonas
    on Apr 17th, 2009 at 9:21 am

    What an excellent tool! This will save me hours of work!! Would be greate if you could script this because we awnt to do this every night exporting all documents to a local driver (a share on a fileserver) because we don’t want everyone to have access to the Sharepoint.

  22. #22 Jonas
    on Apr 17th, 2009 at 9:26 am

    Two small bugs:
    1. If the disk you’re trying to save to is FULL, it simply quits without any message when you try to download.

    2. When choosing “Download Choice” even though it’s finished downloadin it seems like the “Total Progress”-bar is not finished.

  23. #23 Shama
    on Jul 6th, 2009 at 12:18 pm

    Gr888 utility..
    It works fine with MOSS 2007.
    Thanks a lot.

  24. #24 Kevin
    on Jul 8th, 2009 at 3:56 pm

    Worked first time for me. Wonderful tool for making a quick copy of a document library to a local folder. I tested with Microsoft Online hosting.

  25. #25 Mikhail
    on Aug 18th, 2009 at 12:28 am

    I’ve downloaded this tool but every time i try to run it, it crashes before it even starts to download anything. I tried it on two different machines, but with the same result. Any ideas?

    Thanks.

  26. #26 Uzi
    on Oct 20th, 2009 at 7:22 am

    I’m tryingto connect to Sharepoint 2003
    using ie6 (tried Chrom as well)
    When I click the “Populate” button the GUI disappears…

    Let me know what you need to find out what the problem is…

    Thanks

  27. #27 fem-orgasm.net
    on Feb 3rd, 2010 at 3:38 am

    The writer has written a superior article. I got your point and there is nothing to argue about. It is like the following universal truth that you can not disagree with: The truth is no one knows the truth. I will be back.

  28. #28 Jattteesnix
    on Apr 5th, 2010 at 2:58 pm

    ? ??????????? ??? ????????? ???????????

  29. #29 kenO
    on Jun 3rd, 2010 at 6:59 pm

    Hi - I’m trying to download my libraries from a 1&1 hosted site.
    When I load your program I get the SDL Downloader screen OK. I enter the correct domain, user and passwords and I get a 404 error.
    what am I doing wrong?
    Thanks

Leave a Comment

PHP Warning: Unknown(): Unable to load dynamic library 'D:\SWsoft\Plesk\Additional\Php\extensions\php_mcrypt.dll' - The specified module could not be found. in Unknown on line 0