Jump to content

QESTNET Internal:QESTNET Projects Quick Reference Guide casino

From QESTonline
Revision as of 06:51, 2 September 2016 by Shane.rowley (talk | contribs)

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.

QESTLab.Data.Rules

Low level QESTLab rules run on the data before it is loaded/saved from/to the database. Things like counters, status flags, defaults, audit trails.

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.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.