Hi Monks, I've created some modules that'll enable me to do simple file operations between the local machine and a remote MS Sharepoint server (http or https via SOAP), and I need help naming my modules. As it stands, the modules come in three parts:
Copy::GenericServiceProviderCopy Copy::LocalFileOp SharePoint::SPSOAP When I was first writing my module, it was simply SharePoint::SPSOAP. But then I realized that a lot of copy operations can be generic (my copy function is very analogous to the linux cp -rf), whether it's an operation on localhost or on Sharepoint. Therefore, I moved all the generic copy steps into Copy::GenericServiceProviderCopy, and separated location specific connector methods into Copy::LocalFileOp and SharePoint::SPSOAP. The advantage of this is that when anyone comes up with a entirely different proprietary server, all I have to do is write a different connector module that provides methods for some very basic copy functions, and Copy::GenericServiceProviderCopy will handle the rest. To clarify it more, by basic functions I mean file test / dir test, single file retrieve, single file post, single file delete, and dir creation. From these 'basic' functions, Copy::GenericServiceProviderCopy can provide more complicated operations like copying a directly to a directory, files and directories into directories, file into a different file name (i.e. a move operation), so on and so forth. Theoretically, Copy::LocalFileOp is redundant - the file tests are the same as -f and -d in perl. I wrote these functions into a module so that everything under Copy::GenericServiceProviderCopy uses the same method names. I'm sure this module will be obsolete as soon as the writers of nautilus / konquerer come up with their own mounting mechanism for Sharepoint services, but in the mean time, it's how I automate file transfers, and I'm sure it will benefit a lot of sysadmins who are policy forced to use sharepoint as an enterprise tool. I'm looking forward to some feedback about my (in)decision in namespace, and I welcome any comments, including mockery and disdain for supporting proprietary vendors. If I could write a module that'll make managers choose open source, trust me, I would.