Smarter Balanced Reporting (RFP 15) Developer Guide



Similar documents
Monitoring Oracle Enterprise Performance Management System Release Deployments from Oracle Enterprise Manager 12c

Use Enterprise SSO as the Credential Server for Protected Sites

Deploying Microsoft Operations Manager with the BIG-IP system and icontrol

mylittleadmin for MS SQL Server Quick Start Guide

Copyright: WhosOnLocation Limited

For details about using automatic user provisioning with Salesforce, see Configuring user provisioning for Salesforce.

How To Encrypt A Traveltrax Report On Gpg On A Pc Or Mac Or Mac (For A Free Download) On A Thumbdrive Or Ipad Or Ipa (For Free) On Pc Or Ipo (For An Ipo)

SAP NetWeaver AS Java

Configuring Salesforce

Expresso Quick Install

To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server 2008.

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

Click Studios. Passwordstate. Installation Instructions

i2b2 Installation Guide

Avatier Identity Management Suite

Handle Tool. User Manual

PAYMENTVAULT TM LONG TERM DATA STORAGE

McAfee One Time Password

SAML single sign-on configuration overview

How to Set Up pgagent for Postgres Plus. A Postgres Evaluation Quick Tutorial From EnterpriseDB

Configuring. Moodle. Chapter 82

Forward proxy server vs reverse proxy server

Configuring user provisioning for Amazon Web Services (Amazon Specific)

Configuring MailArchiva with Insight Server

Enabling SSL and Client Certificates on the SAP J2EE Engine

4PSA Total Backup User's Guide. for Plesk and newer versions

Install guide for Websphere 7.0

Installation Guide. Copyright (c) 2015 The OpenNMS Group, Inc. OpenNMS SNAPSHOT Last updated :19:20 EDT

TROUBLESHOOTING RSA ACCESS MANAGER SINGLE SIGN-ON FOR WEB-BASED APPLICATIONS

How To Set Up A Macintosh With A Cds And Cds On A Pc Or Macbook With A Domain Name On A Macbook (For A Pc) For A Domain Account (For An Ipad) For Free

Web+Center Version 7.x Windows Quick Install Guide 2 Tech Free Version Rev March 7, 2012

Administration Quick Start

Office 365 deployment checklists

How To Test The Bandwidth Meter For Hyperv On Windows V (Windows) On A Hyperv Server (Windows V2) On An Uniden V2 (Amd64) Or V2A (Windows 2

Active Directory Integration

Configuration Manual

Office 365 deploym. ployment checklists. Chapter 27

Click Studios. Passwordstate. Upgrade Instructions to V7 from V5.xx

OpenGeo Suite for Linux Release 3.0

EVault for Data Protection Manager. Course 361 Protecting Linux and UNIX with EVault

AWS Schema Conversion Tool. User Guide Version 1.0

Source Code Management for Continuous Integration and Deployment. Version 1.0 DO NOT DISTRIBUTE

Secure Messaging Server Console... 2

PROCUREMENT CARD US BANK ACCESS ONLINE SYSTEM USER GUIDE

1 Introduction FrontBase is a high performance, scalable, SQL 92 compliant relational database server created in the for universal deployment.

SOA Software API Gateway Appliance 7.1.x Administration Guide

SAML single sign-on configuration overview

How To Install Storegrid Server On Linux On A Microsoft Ubuntu 7.5 (Amd64) Or Ubuntu (Amd86) (Amd77) (Orchestra) (For Ubuntu) (Permanent) (Powerpoint

VERALAB LDAP Configuration Guide

User Guide. Version R91. English

How To Set Up A Xerox Econcierge Powered By Xerx Account

Lab 0: Preparing your laptop for the course OS X

INSTALLING KAAZING WEBSOCKET GATEWAY - HTML5 EDITION ON AN AMAZON EC2 CLOUD SERVER

SAML application scripting guide

SAP NetWeaver Fiori. For more information, see "Creating and enabling a trusted provider for Centrify" on page

ClickDimensions Quick Start Guide For Microsoft Dynamics CRM /1/2011 ClickDimensions

1. How to Register Forgot Password Login to MailTrack Webmail Accessing MailTrack message Centre... 6

Git - Working with Remote Repositories

MyMoney Documentation

Copyright Pivotal Software Inc, of 10

Click Studios. Passwordstate. High Availability Installation Instructions

CLC Server Command Line Tools USER MANUAL

TABLE OF CONTENTS. Copyright Pro Softnet Corporation. All rights reserved. 2

Active Directory Requirements and Setup

Using Dedicated Servers from the game

MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server

AuShadha Documentation

Department Service Integration with e-pramaan

Creating a DUO MFA Service in AWS

Configuring. SuccessFactors. Chapter 67

Test Case 3 Active Directory Integration

Scala InfoChannel Content Manager 5 Backup and Restore Instructions

Installation Guide for WebSphere Application Server (WAS) and its Fix Packs on AIX V5.3L

ClicktoFax Service Usage Manual

Practice Fusion API Client Installation Guide for Windows

To set up Egnyte so employees can log in using SSO, follow the steps below to configure VMware Horizon and Egnyte to work with each other.

Novell ZENworks 10 Configuration Management SP3

Partek Flow Installation Guide

Configuring SuccessFactors

MarkLogic Server. Connector for SharePoint Administrator s Guide. MarkLogic 8 February, 2015

Secret Server Installation Windows 8 / 8.1 and Windows Server 2012 / R2

Tableau Server Administrator Guide

NovaBACKUP xsp Version 15.0 Upgrade Guide

Pulse Secure Client. Customization Developer Guide. Product Release 5.1. Document Revision 1.0. Published:

Team Foundation Server 2013 Installation Guide

TUTORIAL ECLIPSE CLASSIC VERSION: ON SETTING UP OPENERP 6.1 SOURCE CODE UNDER WINDOWS PLATFORM. by Pir Khurram Rashdi

DiskBoss. File & Disk Manager. Version 2.0. Dec Flexense Ltd. info@flexense.com. File Integrity Monitor

Getting Started with One Search for Destiny

IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, Integration Guide IBM

Please check for updates to make sure you install the most recent version of our software.

Bitrix Site Manager ASP.NET. Installation Guide

How to utilize Administration and Monitoring Console (AMC) in your TDI solution

ZeroTurnaround License Server User Manual 1.4.0

TAO Installation Guide v0.1. September 2012

Net 2. NetApp Electronic Library. User Guide for Net 2 Client Version 6.0a

WebApp S/MIME Manual. Release Zarafa BV

Adobe Marketing Cloud Using FTP and sftp with the Adobe Marketing Cloud

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

Transcription:

Smarter Balanced Reporting (RFP 15) Prepared for: by: Page 1 of 17 Smarter Balanced Reporting (RFP 15)

Approvals Representing Date Author Status Consortium Joe Willhoft Consortium 2014.09.24 Brandt Redd Approved for Milestone 5 PMP 2014.09.24 Kevin King Endorsed for Milestone 5 Workgroup 2014.09.23 Henry King Endorsed for Milestone 5 Revision History Revision Description Author/Modifier Date Initial Release (DRAFT) Anna Grebneva (Amplify) 2014.07.09 Page 2 of 17 Smarter Balanced Reporting (RFP 15)

Table of Contents 1 Summary 1.1 Audience 1.2 Assumptions 2 Setting up Development Environment 3 Running Smarter Web Application 3.1 Smarter Functionalities 3.2 Generating INI Configuration File 3.3 Configurations in INI file 3.4 Creating Edware Schema 3.5 Starting Smarter 3.6 Running Smarter Unit Tests 3.7 Generating Smarter Code Documentation 4 Running Universal Data Loader (UDL) 4.1 INI Configuration File 4.2 Configurations in INI file 4.3 Copying Decryption Keys 4.4 Starting UDL 4.5 Debugging UDL 4.6 Running UDL Tests 4.7 Generating UDL Code Documentation 5 Running EdMigrate 5.1 Generating INI Configuration File 5.2 Configurations in INI file 5.3 Starting EdMigrate 5.4 Running EdMigrate Unit Tests 5.5 Generating Edmigrate Code Documentation Page 3 of 17 Smarter Balanced Reporting (RFP 15)

1 Summary Smarter Balanced Data Warehouse and Reporting system supports ingestion of student assessment and student registration data, authentication with a SAML identity provider, and visual display different representation of the ingested data through a web application in HTML, CSV and PDF data formats. The implementation is substantially in Python 1.1 Audience This document is designed for developers that are familiar and have experience with: client-server web applications REST requests and responses in JSON data format authentication with SAML 1.2 Assumptions This document is tailored towards Mac OS development environment. Many of our 3rd party dependencies can be installed via brew on a Mac OS environment. 2 Setting up Development Environment 1. Install Python 3.3.0 You can download the installer from https://www.python.org/download/releases/3.3.0 If an earlier version of Python is already installed (2.6 or 2.7), you may also be able to install Python 3.3 via brew (for Mac), yum (for Linux/CentOS), or apt-get (for ubuntu/debian). If installing from source, you must use make alt-install After installation, please verify that the version is correct by running this command python3 --version Make sure that pip and virtualenv are installed with python. You can verify this by checking that they exist in the bin directory of your python installation. If they don t exist, you can download and install them manually. virtualenv is available at https://pypi.python.org/pypi/virtualenv/1.11 and pip is available at http://pypi.python.org/pypi/pip 2. Create and activate virtualenv Python 3.3 doesn't usually have virtualenv included in it, because it has a built-in version called pyenv Page 4 of 17 Smarter Balanced Reporting (RFP 15)

Important Note: if your machine has both Python 2.6/2.7 & Python 3.x, it is critical that you don't use pip or ez_setup to install virtualenv because they will use the default System Python in the process and thus implement a binding to the Python 2.x interpreter. Instead, curl or wget the source package from PyPa for virtualenv and run the virtualenv.py with the same syntax statement you have below, but using full local paths, not relative paths to both the python and the destdir virtualenv -p <python-exe-path> --distribute <dest-dir>. <dest-dir>/bin/activate You can verify pip and python is installed properly inside your virtual environment by running these two commands: (virtualenv) python --version (virtualenv) pip freeze 3. Install Node.js and coffeescript (Only required for web application) You can download and install node.js from http://nodejs.org/download/. Make sure that npm command works after the installation. You can now install coffeescript: npm install -g coffee-script 4. Install xmlsec1 for SAML security verification (Only required for web application) On a Mac, you can install from brew: brew upgrade pkg-config brew install xmlsec1 5. Install wkhtmltopdf and poppler for pdf generation (Only required for web application) You can download and install from here: http://wkhtmltopdf.org/downloads.html On a mac, you can install from brew: brew install wkhtmltopdf Page 5 of 17 Smarter Balanced Reporting (RFP 15)

brew install poppler 6. Install gpg You can download and install gpg1.4 from here: https://www.gnupg.org/download/ On a Mac, you can install from brew: brew install gnupg 7. Install PostgreSQL You can download PostgreSQL 9.2 from here: http://www.postgresql.org/download/ You can also download pgadmin, a graphical management tool for PostgresSQL, from here: http://www.pgadmin.org/ 8. Install RabbitMQ You can download and install from here: http://www.erlang.org/download.html On a Mac, you can install from brew: brew install rabbitmq 9. Install Aptana IDE (optional) You can download Aptana from here: http://www.aptana.com/products/studio3/download You ll need to set up your Python Interpreter in Aptana. Navigate to Preference PyDev Interpreter - Python New Enter edware as the interpreter name and set the Interpreter Executable to the path of your python3 executable within your virtual environment, <dest-dir>/bin/python3 Python Pyramid is automatically installed when you run python setup-developer.py in the smarter directory. To configure to run Python Pyramid based web applications, Click on String Substitution Variables Add Variable Enter name as pyramid_run and value of <dest-dir>/bin/pserve Page 6 of 17 Smarter Balanced Reporting (RFP 15)

Apply and Click on OK to save your changes. You ll also need to add a new Run Configuration to run Pyramid applications. Navigate to Run Run Configurations. Add a new configuration called smarter. In Main Module, enter ${pyramid_run} and Click on Arguments tab and add the following to the program arguments,../config/development.ini 3 Running Smarter Web Application Smarter is a web application written in Python and Coffeescript. It is written using Pyramid web framework and can be run locally via pserve. The application requires an INI configuration file to run. Smarter needs to authenticate with an Identity Provider, such a OpenAM, using SAML 2.0. Client side source code is written in Coffeescript, which requires to be pre-compiled to Javascript. We use node.js libraries to pre-compile, minify, and watch for coffeescript and less file changes in the <repo>/smarter/assets directory. 3.1 Smarter Functionalities Web-based Reports Comparing Populations at State Level, District Level, School Level List of Students Report Individual Student Report Print-Friendly Formatted Reports PDF version of Individual Student Report 508 Compliant csv Extract of Comparing Populations Report Student Assessment Extracts in JSON and csv Student Registration Statistics and Completeness csv Report Pre-Generation PDF pre-generation Cache warmer 3.2 Generating INI Configuration File Smarter reads an INI file when the application starts up. A basic version of this INI configuration can be generated by the following commands, which builds an INI file based on values defined in settings.yaml. First, you should install the required python dependencies. (virtualenv) cd <repo>/config (virtualenv) python setup.py develop Next, generate the ini file, (virtualenv) python generate_ini.py -e development Page 7 of 17 Smarter Balanced Reporting (RFP 15)

An INI file, development.ini, will be generated in the config directory. You can edit this file directly if you need to make any configuration changes. Alternatively, you can make permanent changes inside settings.yaml. 3.3 Configurations in INI file Below is a list of commonly configured settings that should be modified depending on your environment Configuration auth.saml.idp_server_login_url auth.saml.idp_server_logout_url auth.saml.issuer_name auth.saml.name_qualifier edware.db.[tenant_name].url Description This is the SSO login URL that Smarter will redirect to when user isn t authenticated. This URL should be an URL provided by your SAML Identity Provider. This is the logout URL that Smarter will redirect to when an authenticated user wants to log out. This is your Service Provider identification name used in SAML Requests. This is your Identity Provider identification name used in SAML Requests. This is the URL to your database server. The format of this URL is: postgresql+psycopg2://user:password@hostname :port/databasename The tenant_name can be any string, but this must match the tenant_name that is provided by SSO. edware.db.[tenant_name].schema_name edware.db.[tenant_name].state_code edware_stats.db.schema_name This is the name of the schema that hosts the data. This is the state code that the tenant is hosting. ex. CA The schema name of the stats database server. (This database is used to record statistics of batch jobs that were migrated and is used in Smarter to trigger pre-generation of pdfs and pre-caching) Page 8 of 17 Smarter Balanced Reporting (RFP 15)

edware_stats.db.url The database url of the stats database server. The format of this URL is: postgresql+psycopg2://user:password@hostname :port/databasename 3.4 Creating Edware Schema You ll need to create a schema to host the data that Smarter will query from. First, you need to install python dependencies. (virtualenv) cd <repo>/edschema (virtualenv) python setup.py develop Next, create an empty schema into your database. (virtualenv) cd <repo>/edschema/edschema (virtualenv) python metadata_generator.py -s <schemaname> -m edware -d <databasename> --host <hostname:port> -u <user> -p <password> You can now import our test data into your database. (virtualenv) cd <repo>/test_utils (virtualenv) python import_data.py -c <repo>/config/development.ini -i <tenant> -s <statecode> -n <statename> ex. python import_data.py -c <repo>/config/development.ini -i cat -s NC - North Carolina Note: import_data.py reads the database configuration for your tenant from the INI file that you ve generated previously 3.5 Starting Smarter You ll first need to install all python dependencies that Smarter uses. (virtualenv) cd <repo>/smarter (virtualenv) python setup-developer.py develop At this point, you re ready to start the server. You can either start it with Aptana, by hitting Run using the Run configuration that you have set up previously, or on a terminal, you can issue the command: (virtualenv) cd <repo>/config (virtualenv) pserve development.ini Page 9 of 17 Smarter Balanced Reporting (RFP 15)

At this point, your server should be running on port 6543. You can navigate to this URL on your browser, http://localhost:6543/assets/public/landing.html and should be able to see the login landing page. Next, you can click on the Login Button and that should redirect you to your Identity Provider s login page. After logging in, you should be able to view the Comparing Population Report. At this point, you ve confirmed that Smarter web application is running. 3.6 Running Smarter Unit Tests Smarter has a suite of Unit Tests that you can run. First, you ll need to install dependencies in your virtual environment. Page 10 of 17 Smarter Balanced Reporting (RFP 15)

(virtualenv) pip install nose (virtualenv) pip install coverage (virtualenv) pip install nose-cov At this point, you re ready to run the unit tests. (virtualenv) cd <repo>/smarter (virtualenv) nosetests 3.7 Generating Smarter Code Documentation Smarter uses a Python utility library, Sphinx, to generate its documentation. To generate code documentations, you ll first need to install dependencies in your virtual environment. (virtualenv) cd <repo>/smarter (virtualenv) python setup.py docs Next, you can generate the html version of the documentation (virtualenv) cd <repo>/smarter/docs (virtualenv) make html To view the documentation, navigate to http://localhost/<pathtorepo>/smarter/docs/_build/html/index.html 4 Running Universal Data Loader (UDL) UDL is responsible for ingesting a CSV/JSON pair of files. Currently, UDL supports two types of ingestion: student assessment and student registration. Please refer to our data dictionary documentation for the formats of these files. Some basic concepts of UDL: Each tenant has its own landing zone for file drop off UDL loads CSV into the database via PostgreSQL dblink extension Each CSV goes through the pipeline of CSV staging database integration database pre-prod database 4.1 INI Configuration File UDL reads an INI file during application startup. A basic version of this INI configuration can be generated by the following commands, which constructs an INI file based on values defined in udl2_conf.yaml. You ll first need to install python dependencies (if you haven t done so previously). Page 11 of 17 Smarter Balanced Reporting (RFP 15)

(virtualenv) cd <repo>/config (virtualenv) python setup.py develop 4.2 Configurations in INI file Below is a list of commonly configured settings that should be modified depending on your environment Configuration udl2_db_conn.url Description This is the URL to your UDL staging, integration & stats database server. The format of this URL is: postgresql+psycopg2://user:password@hostname :port/databasename Due to the usage of foreign data wrapper, this database server must reside in the same machine as where UDL celery workers are running from target_db_conn.[tenant].url This is the URL to your pre-production database server. Tenant can be any string. When a tenant target database connection is set, a corresponding production database connection must be present in INI file. prod_db_conn.[tenant].url prod_db_conn.[tenant].db_schema edware_stats.db.schema_name edware_stats.db.url logging.audit This is the URL to your production database server. This is the schema name for your production database. This schema must exist when UDL starts up. The schema name of the stats database server. (This database is used to record statistics of batch jobs in UDL and will be used in EdMigrate to handle migration) The database url of the stats database server. The format of this URL is: postgresql+psycopg2://user:password@hostname :port/databasename This is the path used for logging. Page 12 of 17 Smarter Balanced Reporting (RFP 15)

4.3 Copying Decryption Keys UDL needs to decrypt data files, and we have supplied the corresponding decryption keys that are used to decrypt our test data files. Three Files are supplied: File Name secring.gpg pubring.gpg trustdb.gpg Description Lock file for secret keyring (Private keyring) Public keyring Trust database You ll need to copy the keys to your gpg home directory: cp <repo>/edudl2/edudl2/tests/data/keys/* ~/.gnupg/ If you need to encrypt your own data files, here are some sample commands to tar and encrypt the file. tar -cvzf test_data.tar.gz --disable-copyfile file1 file2 gpg --armor --local-user ca_user@ca.com --recipient sbac_data_provider@sbac.com -- encrypt --sign test_data.tar.gz 4.4 Starting UDL To utilize the generic development environment s configuration, you ll need to create a preproduction database named edware, and a database user named, edware with password of edware2013. As well, you ll need to create a UDL database using the user udl2, and you can also name the database as udl2. These are the default configuration, you may configure your environment with other values, but you ll need to make sure that you update the INI file and/or udl2_conf.yaml. You can connect to postgres via pgadmin, and create a database and user through the user interface. After you ve created a database and user, you can begin and set up UDL dependencies. (virtualenv) cd <repo>/edudl2 (virtualenv) python setup-developer.py develop Page 13 of 17 Smarter Balanced Reporting (RFP 15)

Please make sure that RabbitMQ is already running. You will now generate an INI file, initialize the UDL database, and start celery worker. Note that the script below will always re-generate an INI file, therefore if any configurations need to be overwritten, please make sure that they re done in udl2_conf.yaml. (virtualenv) cd <repo>/edudl2/scripts (virtualenv)./start_local_udl.sh You can verify that the workers have started by running: ps -ef grep celery To initiate UDL pipeline to process the file, you ll first need to copy a.tar.gz.gpg file into the arrival zone of a tenant. You can copy an example from the test data. mkdir -p /opt/edware/zones/landing/arrivals/[tenant] cp <repo>/edudl2/edudl2/tests/data/test_data_latest/*.tar.gz.gpg /opt/edware/zones/landing/arrivals/[tenant] Next, you ll have to invoke UDL to process your file (virtualenv) cd <repo>/edudl2/scripts (virtualenv) python driver.py -a /opt/edware/zones/landing/arrivals/[tenant]/[nameoffile] There are a few verification that you can check for each ingestion job: 1. Check UDL logs The logs are located in /opt/edware/log/udl2.error.log 2. Check udl_batch table inside UDL database You should look for the row with UDL_COMPLETE as SUCCESS 3. Check that a new schema has been created in your pre-production database, and that the tables are populated with data. 4.5 Debugging UDL UDL supports a development mode that allows developers to debug the source code. In your IDE, Aptana, you can add a run configuration for UDL with program arguments of --dev running main module edudl2/scripts/driver.py. Note: you may need to override the default tenant name with -t [tenant] Page 14 of 17 Smarter Balanced Reporting (RFP 15)

Under development mode, it will copy a file to the landing zone for you to a default tenant named cat (Note: If you re using the default tenant, you will need to make sure that the database configuration for that tenant exists in your INI file) You should be able to set a breakpoint in the code base and start debugging. 4.6 Running UDL Tests UDL has a suite of tests that you can run. First, you ll need to install dependencies in your virtual environment (if you haven t already done so). (virtualenv) pip install nose (virtualenv) pip install coverage (virtualenv) pip install nose-cov At this point, you re ready to run the unit tests. (virtualenv) cd <repo>/edudl2 (virtualenv) nosetests 4.7 Generating UDL Code Documentation Smarter uses a Python utility library, Sphinx, to generate its documentation. To generate code documentations, you ll first need to install dependencies in your virtual environment. (virtualenv) cd <repo>/edudl2 (virtualenv) python setup.py docs Next, you can generate the html version of the documentation (virtualenv) cd <repo>/edudl2/docs (virtualenv) make html To view the documentation, navigate to http://localhost/<pathtorepo>/edudl/docs/_build/html/index.html 5 Running EdMigrate When we receive new data through UDL, we want to minimize disturbance and outages to Smarter Web Application. In a production environment, we will migrate data from preproduction to production database on a scheduled basis. During this migration, we will rotate a group of database slaves out to replicate such that we can minimize any performance deterioration. In a local development environment, we can only test the actual data migration. Testing of slaves being detached from PGPool is out of scope in a local environment setting. Page 15 of 17 Smarter Balanced Reporting (RFP 15)

5.1 Generating INI Configuration File EdMigrate reads an INI file on start up. A basic version of this INI configuration can be generated by the following commands, which builds an INI file based on values defined in settings.yaml. First, you should install python dependencies that we need. (virtualenv) cd <repo>/config (virtualenv) python setup.py develop Next, generate the ini file, (virtualenv) python generate_ini.py -e development An INI file, development.ini, will be generated in the config directory. 5.2 Configurations in INI file Below is a list of commonly configured settings that should be modified depending on your environment Configuration migrate_dest.db.[tenant].schema_name migrate_dest.db.[tenant].url migrate_source.db.[tenant].url edware_stats.db.schema_name edware_stats.db.url Description The schema name of the destination database server (ie. production database server) The database url of the destination database server. The format of this URL is: postgresql+psycopg2://user:password@hostname :port/databasename The database url of the source database server. (ie. pre-production database server) The schema name of the stats database server. (This database is used to record statistics of batch jobs in UDL, EdMigrate, and Smarter) The database url of the stats database server. The format of this URL is: postgresql+psycopg2://user:password@hostname :port/databasename 5.3 Starting EdMigrate You ll first need to install all python dependencies that EdMigrate uses. (virtualenv) cd <repo>/edmigrate Page 16 of 17 Smarter Balanced Reporting (RFP 15)

(virtualenv) python setup-developer.py develop Next, you ll need to start main.py (virtualenv) cd <repo>/edmigrate/edmigrate (virtualenv) python main.py --migrateonly -i <repo>/config/development.ini The migration script will look for migration candidates inside udl_stats table of edware_stats database for any rows that have a status of udl.ingested. EdMigrate will move data from destination database (pre-prod) using the schema name of the corresponding batch_guid value into source database (prod). 5.4 Running EdMigrate Unit Tests EdMigrater has a suite of unit tests that you can run. First, you ll need to install dependencies in your virtual environment (if you haven t already done so). (virtualenv) pip install nose (virtualenv) pip install coverage (virtualenv) pip install nose-cov At this point, you re ready to run the unit tests. (virtualenv) cd <repo>/edmigrate (virtualenv) nosetests 5.5 Generating Edmigrate Code Documentation Smarter uses a Python utility library, Sphinx, to generate its documentation. To generate code documentations, you ll first need to install dependencies in your virtual environment. (virtualenv) cd <repo>/edmigrate (virtualenv) python setup.py docs Next, you can generate the html version of the documentation (virtualenv) cd <repo>/edmigrate/docs (virtualenv) make html To view the documentation, navigate to http://localhost/<pathtorepo>/edmigrate/docs/_build/html/index.html Page 17 of 17 Smarter Balanced Reporting (RFP 15)