The Nexus framework enables you to store the results of simulations or other post-processing assets into one or more Nexus databases. These databases keep track of the provenance of the input data items, which allows the data items to be organized and easily searched. The system allows for the direct display of data items and for the generation of multi-item reports using report templates. These reports can generate composite displays from multiple items, including the incorporation of items from different simulations.
Nexus databases have a rich data model, allowing you to store a wide range of data types: text, formatted HTML, tables of information, numbers, images, movies, 3D models, trees of information, and arbitrary files. All data items are linked with their sources, allowing you to process collections of data together and to dynamically construct new collections based on higher-level sets of rules. Powerful APIs allow you to implement custom workflows, tailored to the way you work.
Nexus is web-centric, providing an intuitive, browser-based mechanism for interaction with data items and the generation and sharing of reports. Charts are interactive, tables can be sorted, and 3D models can be manipulated. Once a report template is designed, any user can log into the Nexus web front end and start generating reports, filtering the data down to ones that are the most important today.
Nexus reports are the result of sending a filtered set of data items through a report template. Data items are chosen with a database query, allowing flexibility in the selection of data to process. Report templates encode the visual appearance of the report, including options for processing the data items that are sent in. Templates can be restricted to a single set of known data or be designed to be executed repeatedly, handling a wide range of expected data. But a template can be changed at any time, allowing it to be augmented with new analyses and information as your needs evolve.
Nexus templates are organized conceptually as trees. Sub--templates are strung together to handle different subsets of data items, often used to visually lay out data on a page. For example, a column layout template may bSe used to display data in a single column, while a tab layout template could be used to put different collections of data in separate tabs. Any template may have other sub-templates under it to process data. For example, a tab layout template could have other templates under each of the tabs to lay out the information that lands on each tab.
To provide this hierarchical template system of processing data, each template can restrict the set of data items that it processes. Thus, the top-level template is handed all the requested data items, and then each sub-template successively filters the data, ultimately displaying only the data pertinent to its part of the report. It is also possible for any template to perform an independent search of the database for specific data items.
Nexus provides “generators,” a special kind of report template that can change the data that is passed to it. In this way, complex data processing may be applied to data items. For example, table merges, collapses, and expansions can be done through generators. Generators play a central role in data aggregation and reduction. Powerful operations like “extract the ten best datasets from this collection” allow you to design reports that efficiently convey important information. Generators can reduce data into statistical descriptions (e.g., counts, mean, min, max) and present their results as data items that can be further manipulated and displayed by additional generators and templates.