Server hierarchical structure on user-agents
Disclosed herein are computer systems and computer implemented methods for mirroring server-side data hierarchy on a client. The methods involve sending or receiving a request for a instructions to be executed on the client; determining that the webpage requires a mirrored structure to be created on the client side; and receiving or delivering computer instructions, wherein the computer instructions comprise information that, when executed, create a client-side data hierarchy on the client, the client-side data hierarchy mirroring the server-side data hierarchy. The server-side data hierarchy may be a tree data structure and further comprises: a plurality of server-side nodes, each node comprising substantially independent functionality. The client-side data hierarchy mirroring the server-side data hierarchy comprises a plurality of client-side nodes, wherein each client-side nodes corresponds with one of the plurality of server-side nodes.
1. A computer implemented method for mirroring server-side data hierarchy on a client, the method comprising:
receiving a request for instructions to be executed on the client;
determining that a webpage requires a mirrored structure to be created on the client side;
delivering computer instructions, wherein the computer instructions comprise information that, when executed, instantiate a client-peer control on the client;
wherein the client peer-control replicates a portion of an hierarchical structure and function of a corresponding server control for a webpage to form a client-side data hierarchy, and the mirrored structure at least in part by generating HTML script such that the HTML script is used to render at least a portion of a webpage and at least in part by using an embedded resource embedded in an assembly that is identified by a type name associated with a specific type of server control name; and
wherein the client peer-control translates a second request into script, wherein the translating comprises:
locating an object type based on a type name associated with the specific type of server control name;
checking an assembly for an embedded resource file that corresponds to the server control name; and
returning the contents of the embedded resource;
wherein the client-peer control uses locally cached information to build at least a portion of the client-side data hierarchy; and
wherein the mirror structure comprises at least a portion of the server-side data hierarchy.
2. A method as defined in claim 1 wherein the computer instructions comprise JavaScript.
3. A method as defined in claim 1 wherein the portion of the server-side data hierarchy that the client peer-control replicates is a tree data structure and further comprises:
a plurality of server-side nodes, each node comprising substantially independent functionality.
4. A method as defined in claim 3 wherein the result of the client-peer control replication is a client-side data hierarchy mirroring the server-side data hierarchy, the client-side data hierarchy comprising a plurality of client-side nodes, wherein each client-side node corresponds with one of the plurality of server-side nodes.
5. A computer implemented method for creating a client-side data hierarchy that mirrors a server-side data hierarchy, the method comprising:
sending a request, by a client computer system, for predetermined functionality to a server computer system;
receiving computer instructions from the sever computer system;
executing the received computer instructions, wherein the executing of the computer instructions instantiates a client-peer control on the client computer system;
replicating, by the client-peer control, a portion of an hierarchical structure and function of a corresponding server control for a webpage to form a client-side data hierarchy,
wherein the client-peer control generates HTML script, such that the HTML script is used to render at least a portion of a webpage;
wherein the client-peer control uses locally cached information to build at least a portion of the client-side data hierarchy;
identifying another request for a specific type of server control name;
translating the second request into script, wherein the translating comprises:
locating an object type based on a type name associated with the specific type of server control name;
checking an assembly for an embedded resource file that corresponds to the server control name; and
returning the contents of the embedded resource.
6. A computer implemented method as defined in claim 5 wherein the method further comprises the client-peer control using information stored in a library independent from the server to replicate the portion of the hierarchical structure and function of a corresponding server control for a specific webpage.
7. A computer implemented method as defined in claim 5 wherein the wherein the computer instructions comprise JavaScript.
8. A method as defined in claim 5 wherein the portion of an hierarchical structure and function of a corresponding server control for a specific webpage includes a tree data structure and further comprises:
a plurality of server-side nodes, each node comprising substantially independent functionality.
9. A method as defined in claim 5 wherein the computer instructions include code, that when executed, cause the client-control to initiate requests back to the server.
10. A method as defined in claim 5 wherein the client-peer control independently creates nodes on the client that do not exist on the server.