QESTNET Internal:QESTNET Projects Quick Reference Guide casino
blue represents a new project or the project has been repurposed.
Projects
QESTNET.Service
QEST.Core
General helper and extension classes for .NET, that are not specific to QESTLab functionality.
QEST.Core.Units
Defines all the units. If you need a unit which does not exist this is where you add it (e.g., you may need to add Becquerel for radioactivity).
QEST.QMapper
A mapping engine, customised predominantly to be used to map QESTLab.Data to QESTLab.Entities.
QESTNET
The QESTNET service. The app.config file in this project is where the majority of configuration properties are set. If you need to edit any configuration for qestnet it is probably in here. Also this project has pre/post build events to stop/start the qestnet service which can be handy.
QESTNET.Configuration
Defines app.config configuration properties.
QESTNET.Contracts
Contains the interfaces and data contracts required by any QESTNET client.
QESTNET.Core
Contains a small number of interfaces common to both the internal Engine and external Contracts.
QESTNET.Engine
Contains the internal management of QESTNET users, sessions and clients.
QESTNET.Sessions
Retains only the specific base implementations of components which QESTNET sessions types (Lab, Integration etc.) can use. The LabSession, IntegrationSession and DataBackboneSession all extend this class.
QESTNET.Sessions.Lab
QESTLab.Containers
Containers hold data and processes hold actions. These are the predominant form of communication between the LabSession and the QESTField web server.
QESTLab.Containers.Standard
Please add details
QESTLab.Contracts
Contains all the core interfaces and DataContract classes that a client connecting to QESTNET and using the Lab session needs. Referencing this DLL replaces the Service Reference in clients such as QESTField. The contents of QESTLab.Contracts have been collected moved there from QESTLab.Containers, QESTLab.Sessions.Lab.
QESTLab.Contracts.Models
QESTLab.Models was renamed to QESTLab.Contracts.Models and becomes the other core contract assembly which QESTNET Lab session clients need to reference.
QESTLab.Core
General helper and extension classes that are specific to qestlab functionality.
QESTLab.Data
Entity Framework (EF) implementation for the QESTLab database. EF is an object-relational mapper (ORM). It loads and saves data to and from the QESTLab database.
Former project QESTLab.Data.Rules was consolidated into QESTLab.Data
QESTLab.Entities
Data objects which better match what we would like the data in the database to resemble.
QESTLab.Entities.Rules
The "Business Rules" to run on entities. Mostly these rules are related to specific test entities and include all the calculations for the given test. The rules are run often and should be designed with performance in mind.
QESTLab.Publish
Please add details
QESTLab.Reports.Composition
Please add details
QESTLab.Reports.Layout
Please add details
QESTLab.Reports.Sources
Please add details
QESTLab.Reports.Sources.Builders
Please add details
QESTLab.Models
Serializable data objects which represent data to be sent to a client (e.g., QESTField).
QESTLab.Repository
An ORM of QESTLab.Entities which allows loading and saving to the QESTLab database using QESTLab.Entities objects. Includes the mapping of QESTLab.Data and QESTLab.Entities. The QestEntityContext class in this project is how all higher level projects such as Entities.Rules and Workflow access the database. It is the equivalent of the QLO.Connection in QESTLab.
QESTLab.Workflow
The presentation layer to be sent to a client (e.g., QESTField). This includes everything related to creating workflows, containers, processes and mapping models and entities.
QESTNET.Sessions.Lab
The lab session service contract and implementation.
QESTNET.Tester
A simple console application which you can use to call any other parts of QESTNET for testing purposes. Can be run by selecting “Set as StartUp project” and then pressing Start Debugging (F5).
QESTNET.Sessions.Integration
QESTNET.Integration
Base code for standard integrators which access the QESTLab database.
QESTNET.Integration.Console
A windows application (GUI) for configuring and running integrators for the IntegrationSession. Can be run by selecting “Set as StartUp project” and then pressing Start Debugging (F5).
QESTNET.Sessions.Integration
The integration session service contract and implementation.
QESTNET.Integration.Portal
QESTNET.Integration.Portal
Import/Export integrators for Hive. These can be called using the IntegrationSession. They are currently used only for the Fugro system and are called by Hive, QESTLab and the QESTNET LabSession.
QESTNET.Custom
QESTNET.Custom.*
Customer specific extensions. Mostly integrations to specific configurations of third party software.
QESTNET.Custom.Fugro.DataBackbone
The databackbone session service contract. Used for the integration of Hive, QESTLab and QESTNET with Fugro’s databackbone product.
QESTField
QESTField
A website client for the QESTNET LabSession service.
- Content - The css and any images for the website.
- Controllers - Determines what happens for any given action on a page
- Helpers - Functions used throughout the rest of the code.
- Models - Any extra models. The majority of models used are QESTLab.Models accessed via the service reference.
- Scripts - A bunch of javascript which in general is used anytime QESTField does something cool.
- Views - Bits of html which are added together to create web pages. Majority of it has one to one mappings with QESTLab.Models.
QESTField.Common
Contains components from QESTField project which are shared with other custom view projects.
QESTField.DynamicForms
A swathe of code used to dynamically create html for the DisplayElementView model. This model is generated from Kitsune data. In general QESTField is moving away from this dynamically created html to the specific html found in the Views folder for individual QESTLab.Models.