摘要:
Functionality and presentation of spreadsheet applications and web based services are integrated by automating interactions between a spreadsheet object on a web page and other elements on the web page. Bidirectional referencing, automatic coordinate space integration, and assimilation of look and feel of the spreadsheet object into the web page or vice versa are enabled.
摘要:
Architecture that enables the capability to call user-defined functions (UDFs) within the hosting page, and from within a spreadsheet. UDFs can be used to add functionality to spreadsheet models. Spreadsheet calculations are spread across a backend calculation server and the web browser. Spreadsheet calculation state is maintained as browser functions are calculated. Moreover, the browser UDFs can be executed synchronously or asynchronously. The architecture also provides capability to dynamically register/unregister UDFs at runtime, which can then be called from the spreadsheet model and executed remotely), and the capability to define a manifest that can include all of the UDF definitions, infinite calculation loop situations are also prevented. The UDFs have full access to the page DOM (document object model).
摘要:
Gadgets integrate with spreadsheets and the spreadsheet calculation engine. A gadget is bound to a range of cells (one or more) within a sheet. When one or more of the cells of the bound range is accessed (e.g. selected, hovered over, edited, deleted, added), the gadget is notified. The gadget may use this information for updating a display rendered by the gadget and/or performing some other action. The gadget uses an Application Programming Interface (API) to create the binding, communicate with the spreadsheet, and perform actions in the spreadsheet. The gadget is a Named Item object within the spreadsheet such that the gadget may be viewed/displayed differently from other objects. Out of date requests from the gadget are attempted to be detected and prevented from being processed such that the gadget is not acting on the latest data.
摘要:
Really Simple Syndication (RSS) is extended to syndicate structured data as well as general content via Really Simple Syndication for data (RSSd). RSSd provides a mechanism by which tables of data can easily be made available to users and across applications. RSSd provides the ability to syndicate data directly into applications, such as spread sheet applications. RSSd is backwards compatible with RSS. Standardized metadata is utilized in each element of RSSd to enable typing of data.
摘要:
Multi-threaded access to a collection is synchronized without locking the collection for long periods of time. In one implementation, a collection is locked briefly to allow safe creation of a resource entry (or a placeholder entry) in the collection and then unlocked prior to the start of the resource build operation. As such, the collection is unlocked during the potentially long period of time required to build the resource (e.g., a data object) into the collection. Furthermore, during the build operation, access attempts to the same resource in the collection by other threads are forced to wait until the resource build is completed. Nevertheless, the collection itself is not locked during the resource build operation, so that other threads can access other resources within the collection without waiting.
摘要:
Data is obtained from one or more data sources. The data sources may be real time data sources and non-real time data sources. Calculations may be performed on the data before delivering the data to one or more applications. A direct connection may be established between a first computing device and a second computing device. The direct connection may be used to deliver the data. The data may be broadcast to one or more applications. For example, the broadcast may be to a different subnets within one or more networks.
摘要:
A server application discovers its relevant data objects and generates a report of the current states of such objects at a moment in time that is relevant to a detected failure. Responsive to a request for a server application state, the application can identify root objects; discover data types, values, and related objects through recursive traversal and analysis of the object hierarchies; and generate a state description of the application for review and analysis by others. The state discovery may be synchronized among multiple threads to ensure that the state description represents a snapshot of the server application state and a single point in its execution. The state description can be analyzed by validation tools to detect where the error might exist in the application and how the error might be corrected.
摘要:
Items that are in use are maintained in a used item store. Items that are no longer in use are placed in an unused items store. When an item that is not currently in use is requested again, an attempt is made to retrieve the item from the unused item store. Retrieving the item from the unused items store can save a tremendous amount of time since the object does not need to be recalculated again when it is requested. Items may be evicted from the unused item store based on the system resources available. When it has been determined that an item(s) should be evicted, an eviction score is calculated for each unused item. Items are then evicted from the unused item store based on their eviction score. Generally items that are larger in size, took less time to calculate, have not been accessed as frequently, and have not been referenced recently, are the first ones to be evicted from unused items store.
摘要:
A progress UI is displayed within a user's web page for long-running requests. For each long-running request, a progress UI is displayed to the user indicating that the long-running request is being processed until the long-running request has been processed. The progress UI may be a progress indicator showing the user the status of the processing, or the status message could be some other message to the user indicating that the long-running request is still being processed. While the long-running request is being processed, data is sent from the server to the user's browser at a rate such that the server performing the long-running request does not time out. The current state of a web page may be maintained such that when a long running request is made the web page that contains the control that issued the long-running request is not automatically refreshed when the long running request takes place.
摘要:
Embodiments of the present disclosure provide a method and system for providing additional functionality, including web functionality, to one or more online documents. Specifically, embodiments described herein include receiving a selection of a range of data to be used in a web extension and binding the selection of the range of data to the web extension. Once the data is bound, the binding is stored in a remote computing device. In response to the detection of the interaction with the bound range of data, the bound range of data is sent to the remote computing device where the bound range of data is updated based on the interaction. The updated data is then sent to the web extension to enable the web extension to be updated with the newly received data.