Evaluation UI Webservices ************************* The OCW evaluation UI is a demonstration web application that is built upon the OCW toolkit. The web services for the application are written in Python on top of the Bottle Web Framework. Configuration and Dependencies ============================== The Evaluation UI is built on top of the OCW toolkit and as such requires it to function properly. Please check the toolkit's documentation for relevant installation instructions. You will also need to ensure that you have Bottle installed. You can install it with: .. code:: pip install bottle The backend serves the static files for the evaluation frontend as well. If you plan to use the frontend you need to ensure that the *app* directory is present in the main web service directory. The easiest way to do this is to create a symbolic link where the *run_webservices* module is located. Assuming you have the entire *ocw-ui* directory, you can do this with the following command. .. code:: cd ocw-ui/backend ln -s ../frontend/app app Finally, to start the backend just run the following command. .. code:: python run_webservices.py Web Service Explanation ======================= The backend endpoints are broken up into a number of modules for ease of maintenance and understanding. The *run_webservices* module is the primary application module. It brings together all the various submodules into a useful system. It also defines a number of helpful endpoints for returning static files such as the index page, CSS files, JavaScript files, and more. Local File Metadata Extractors ------------------------------ The *local_file_metadata_extractors* module contains all the endpoints that are used to strip information out of various objects for display in the UI. At the moment, the main functionality is stripping out metadata from NetCDF files when a user wishes to *load* a local file into the evaluation. .. autobottle:: local_file_metadata_extractors:lfme_app Directory Helpers ----------------- The *directory_helpers* module contains a number of endpoints for working directory manipulation. The frontend uses these endpoints to grab directory information (within a prefix path for security), return result directory information, and other things. .. autobottle:: directory_helpers:dir_app RCMED Helpers ------------- The *rcmed_helpers* module contains endpoints for loading datasets from the Regional Climate Model Evaluation Database at NASA's Jet Propulsion Laboratory. .. autobottle:: rcmed_helpers:rcmed_app Processing Endpoints -------------------- The *processing* module contains all the endpoints related to the running of evaluations. .. autobottle:: processing:processing_app