<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">SharePoint-SOAPHandler version 0.0012
================================

This module provides CopyTree::VendorProof a connector instance with methods to deal with remote Sharepoint file operations.

 IMPORTANT NOTICE: Your Implementation might not work unless you read the following!

Currenly, you need to install Authen::NTLM version 1.09 or greater for this module to work.  With my v1.09 tweak to Authen::NTLM on CPAN, this module should just work.  If you actually use Authen::NTLM directly for some reason, remember to set

ntlmv2('sp');

prior to using SharePoint::SOAPHandler.  You did remember to export ntlmv2, no?

use Authen::NTLM qw(ntlmv2);

For those of you with earlier versions of Authen::NTLM, see the historic segment below.
 
Also, if your Sharepoint connects through https, but does not go through a proxy server, even though all your OTHER http/ https traffic does, you must:

delete $ENV{'https_proxy'}

Specifying the domain on no_proxy will not do the trick, because oddly, no_proxy only works for 'no http' and not 'no https'.  These are just some annoying things I discovered.  Your milage may vary.

The methods provided in this connector objects include:
	new
	fdls				
	is_fd
	read_info_memory
	write_from_memory
	copy_local_files
	cust_mkdir
	cust_rmdir
	cust_rmfile

The functionality of these methods are described in 
perldoc CopyTree::VendorProof 

To create a SharePoint::SOAPHandler connector instance:
	my $soaphandler_inst = SharePoint::SOAPHandler -&gt;new;

	#set up connection parameters
	#IMPORTANT sp_creds_domain should not have the protocol (http or https://)
	$soaphandler_inst -&gt;sp_creds_domain('www.sharepointsite.org:443');
	$soaphandler_inst -&gt;sp_creds_user('DOMAIN_in_CAPs\username');
	$soaphandler_inst -&gt;sp_creds_password('domain_password');
	$soaphandler_inst -&gt;sp_authorizedroot('https://www.sharepointsite.org:443/some_dirs/the_dir_just_above_the_Shared_Documents_dir_that_you_are_allowed_to_edit');


To add a source or destination item to a CopyTree::VendorProof instance:
	my $ctvp_inst = CopyTree::VendorProof -&gt;new;
	$ctvp_inst -&gt;src ('some_source_path_of_local_file_system', $soaphandler_inst);
	$ctvp_inst -&gt;dst ('some_destination_path_of_local_file_system', $soaphandler_inst);
	$ctvp_inst -&gt;cp;

SharePoint::SOAPHandler, in adition to providing a connector instance to CopyTree::VendorProof, also provides some getlist funcions for sharepoint.  These functions are not extensively tested and are not recommended for use.

----historic----

Please note that as of July 2011, there is an NTLM bug that needs to be hacked for the sharepoint connector SharePoint::SPCOPY to work.  Basically, LWP automatically negotiates NTLM protocols, and calls its LWP::Authen::Ntlm to in turn call Authen::NTLM to authenticate against windows domains.  The problem is, sharepoint prefers an authentication between ntlmv2 and ntlmv1 that's offered by the Authen::NTLM package.  LWP::Authen::Ntlm does not specify any version.  This causes authentication to fail on sharepoint.  The web community offers a quick fix to 'patch' Authen::NTLM, which involves finding the Authen::NTLM module (perhaps in /usr/local/share/perl/5.10.1/Authen/NTLM.pm) and changing around line 289, where 

$domain =substr($challenge, $c_info-&gt;{domain}{offset}, $c_info-&gt;{domain}{len});

is to be changed to 

$domain = &amp;unicode("domain");

This is CRITICALLY IMPORTANT if you want SharePoint::SOAPHandler to work.  I have created a patch that is a varient of this solution, but does not break backwards compatibility.  You can find this patch at 

https://rt.cpan.org/Ticket/Display.html?id=70703

Remember, either of these fixes must be applied for this module to work.  If the above instructions are unclear, please google http://shareperl.blogspot.com/2010/01/sharepoint-perl-connection.html. 

----end historic----

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

DEPENDENCIES

This module requires these other modules and libraries:

CopyTree::VendorProof =&gt; 0.0011, 
Authen::NTLM =&gt;1.09,
SOAP::Lite =&gt;0.712,
MIME::Base64=&gt;3.01, 
File::Basename=&gt; 2.72, 
Data::Dumper=&gt; 2.121, 
Carp=&gt;1.02,
Term::ReadKey =&gt;0 #only needed for test suite

COPYRIGHT AND LICENCE

Copyright (C) 2011 by dbmolester

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.10.1 or,
at your option, any later version of Perl 5 you may have available.


</pre></body></html>