package com.smartgwt.client.docs;
/**
* <h3>Platform Dependencies</h3>
* Client-side processing of web services, XML parsing, and some UI loading mechanisms rely on a native in-browser XML
* parser and/or the XMLHttpRequest object - one or both of which will not be available if the end user disables ActiveX
* support in Internet Explorer. Note that these features do not require plugins or downloads of any kind - IE simply
* exposes certain built-in functionality like the XML parser and XMLHttpRequest through the ActiveX interface. Disabling
* ActiveX also disables all browser plugins such as Flash, Java, SVG, etc. <p> Barring ActiveX being disabled, the
* XMLHttpRequest object is available to Smart GWT on all supported browsers and an XML parser is available on all
* supported browsers except Safari versions prior to 3.0.3. <p> Smart GWT client-server communication is not affected by
* the lack of an XML parser or the XMLHttpRequest object, but the <code>xmlHttpRequest</code> transport will not be
* available if the XMLHttpRequest object is not available. Instead, the <code>hiddenFrame</code> or the
* <code>scriptInclude</code> transports are used for client-server communication. <p> <b><u>XML Parser</u></b> <p> If an
* XML Parser is not available to Smart GWT, all client-side web service bindings and related methods will be unavailable.
* Turning off ActiveX disables integration paths 2 and 3 in the diagram below. If you want to bind to web services and
* require deployment to IE without ActiveX (or you need to support Safari pre 3.0.3), you'll need to do all XML processing
* on the server and use either the Smart GWT DSRequest or JSON operation pathways (integration paths 1 and 4 in the
* diagram below). See the discussion in {@link com.smartgwt.client.docs.ClientServerIntegration} for more information on
* the integration paths shown in the diagram below. <p> You call {@link
* com.smartgwt.client.data.XMLTools#nativeXMLAvailable XMLTools.nativeXMLAvailable} to check for the availability of a
* native XML parser at runtime. <p> <img src="${isc.DocViewer.instance.referenceRoot}skin/ds_bindings.png" width=763
* height=475> <p> <b><u>XMLHttpRequest</u></b> <p> The XMLHttpRequest object is used for the <code>xmlHttpRequest</code>
* {@link com.smartgwt.client.types.RPCTransport}. Safari, Mozilla, Firefox, and IE 7 provide a native XMLHttpRequest
* implementation that is not affected by ActiveX being disabled (although the native IE 7 implementation can still be
* explicitly disabled by the end user). IE 5.5 and IE 6.0 rely on the ActiveX bridge to support XMLHttpRequest, so if
* ActiveX is disabled in these browsers, XMLHttpRequest will not be available. <p> The lack of the XMLHttpRequest objects
* affects UI loading features like {@link com.smartgwt.client.widgets.ViewLoader}, and {@link
* com.smartgwt.client.widgets.HTMLFlow} when used in remote loading mode (via {@link
* com.smartgwt.client.widgets.HTMLFlow#getContentsURL contentsURL}, {@link
* com.smartgwt.client.widgets.HTMLFlow#setContentsURL HTMLFlow.setContentsURL}, but does not affect the typical
* client/server communication pathways (integration paths 1 and 5 in the diagram above). <p> Also affected are low level
* features {@link com.smartgwt.client.rpc.RPCRequest#getServerOutputAsString serverOutputAsString}, {@link
* com.smartgwt.client.rpc.RPCRequest#getEvalResult evalResult}, and {@link
* com.smartgwt.client.rpc.RPCResponse#getHttpResponseCode httpResponseCode}. <p> In all of the above cases, it is possible
* to use the <code>hiddenFrame</code> transport to support these features when XMLHttpRequest is not available. Smart GWT
* will automatically send the request using the <code>hiddenFrame</code> transport when it detects that XMLHttpRequest is
* unavailable. To support the above features, you'll need to use the RPCManager APIs on the server to send back the data
* that would normally be returned by XMLHttpRequest. Since XMLHttpRequest cannot target URLs outside of the current
* domain, this strategy applies also to using the above features with cross-domain URLs. <p> You can call {@link
* com.smartgwt.client.rpc.RPCManager#xmlHttpRequestAvailable RPCManager.xmlHttpRequestAvailable} to check for the
* availability of XMLHttpRequest at runtime.
*/
public interface PlatformDependencies {
}