With Camelot PHP Tools developers can work faster and create better and more flexible solutions. Since all in- and output from SharePoint is transformed into the well-known database computer language SQL (Structured Query Language) the development process becomes normalized. This brings opportunities to developers working with SharePoint list data and document libraries with no prior knowledge of SharePoint development or SharePoint integrations with PHP.
This is the biggest update of PHP Tools since the initial release and some of the major changes include optimizations, multi server support, caching and some new helper classes for document libraries.
A lot of data arrays have been converted to ArrayObjects. Unfortunately we were unable to use inheritance in most classes since the compatibility some PHP-based CMS’es are unable to render the data correctly when importing the PHP Tools framework.
There are also some changes in how the data is aggregated, but none of the changes will affect the output of the objects or arrays.
Multi server support
It is now possible to set up connections to several WCF services. The reference to the service is passed instead of the connection string as we used to.
/** * Set this up in the settings.php file */ // Settings object initiation $WcfSettingsList = new WcfSettingsList(); // Add reference to the connection "sharepoint_connection" $WcfSettingsList->append(new WcfSettingsObject("SharePointConnection1", "http://yourserver:8080/?wsdl", "MySharedKey", "sharepoint_connection", 10)); // Add reference to the connection "sharepoint_customers" $WcfSettingsList->append(new WcfSettingsObject("SharePointConnection2", "http://yourserver:8080/?wsdl", "MySharedKey", "sharepoint_customers", 0)); // Add reference to the connection "sharepoint_test" $WcfSettingsList->append(new WcfSettingsObject("SharePointConnection3", "http://anotherserver:8080/?wsdl", "MySharedKey", "sharepoint_test", 30));
The command syntax is a bit updated and simplified as well since more of the connection information is stored in the settings object instead. To perform a select you simply send the query and which connection to use to the SharePointQuery object
$SharePointQuery = new SharePointQuery(array( 'sql' => "SELECT * FROM MyList", 'connection_name' => 'SharePointConnection1' ));
There are several qualified examples available in the example folder as well as in the documentation available att http://docs.bendsoft.com
This is a very simple feature to use. When setting up the connection to the WCF service as described in the snippet in “Multi server support” the fifth parameter equals the cache time in minutes. This means that the transferred data like lists and document libraries is stored in the stated cache folder for x minutes. There are some smartness built in, in example the cache is automatically renewed if someone uploads a document through PHP Tools.
New helper classes
There are a few new helper classes that enable easy integrations with SharePoint document libraries. There is among others a brand new document library browser with the ability to browse, create folders and upload documents to any SharePoint Document Library.