PSUG National Information Exchange. Users Helping Users

Similar documents
3 Days Training Program

ForgeRock Access Management Customization and APIs

REST API Operations. 8.0 Release. 12/1/2015 Version 8.0.0

55191: Advanced SharePoint Development

PSUG Na(onal Informa(on Exchange. Users Helping Users

AngularJS Examples pdf

PSUG National Information Exchange. Users helping users

Full Stack Web Developer

Prior to finalizing grades at the end of each term, schools can turn off Parent Access to student Grades

Communication Tools Quick Reference Card

Comprehensive AngularJS Programming (5 Days)

JSON POST WITH PHP IN ANGULARJS

Intro to SQL. Getting Your Data out of PowerSchool Lori Ivey-Dennings

JavaScript Specialist v2.0 Exam 1D0-735

Static Webpage Development

PowerSchool Release Notes PowerSchool Student Information System

Meal Magic & PowerSchool

Adventures with BaseX and web applications. Andy Feb 2013

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Implementing and Maintaining Microsoft SQL Server 2008 Integration Services

20486-Developing ASP.NET MVC 4 Web Applications

Advance AngularJS (with.net)

CENG 256 Internet Programming Draft

Controller/server communication

PowerSchool 7.11 Release Notes PowerSchool Student Information System

PowerSchool 7.10 Release Notes PowerSchool Student Information System

Full Stack Web Developer

Enable jquery Mobile on WebSphere Portal

What s New in PowerSchool 9.0

Scheduling in PowerSchool - TroubleShooting Doris Kitts. Session Room Session Time

We are ready to serve Latest Testing Trends, Are you ready to learn? New Batch Details

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

Introduction to Web Development with Microsoft Visual Studio 2010

Course ID: 2310C Course Name: Developing Web Applications Using Microsoft Visual Studio 2008

TRACKABLE BULK MAIL SOLUTION ADDITIONAL FEATURE

An Introduction to JavaScript & Bootstrap Basic concept used in responsive website development Form Validation Creating templates

Computer Science nd Exam Prof. Papa Tuesday, April 28, 2016, 6:00pm 7:20pm

PHP & PHP++ Curriculum

SharePoint 2010 and 2013 Auditing and Site Content Administration using PowerShell

Get in Touch Module 1 - Core PHP XHTML

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

PHP / MYSQL DURATION: 2 MONTHS

Staff User Guide PowerSchool Student Information System

The Great SharePoint 2016/2013 Adventure for Developers

Course Outline: Course 10267A: Introduction to Web Development with Microsoft Visual Studio 2010 Learning Method: Instructor-led Classroom Learning

Oxwall Documentation. Release latest. Oxwall Foundation

jquery to connect with DynamoDB via Lambda API March 9-10, 2017 CS160 Section

SHAREPOINT DEVELOPMENT FOR 2016/2013

Cleveland State University Department of Electrical and Computer Engineering. CIS 408: Internet Computing

Basics of Web Technologies

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

SEPTEMBER 2018 ORACLE PRIMAVERA UNIFIER UNIFIER CUSTOM PRINT USING EXTERNAL DATA MODEL

Application Design and Development: October 30

ANGULARJS - MOCK TEST ANGULARJS MOCK TEST II

Web Development & SEO (Summer Training Program) 4 Weeks/30 Days

Report Card. Management Technology Helpdesk

Using the vrealize Orchestrator Operations Client. vrealize Orchestrator 7.5

AngularJS Intro Homework

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Developing Web Applications Using Microsoft Visual Studio 2008

Intro To SQL ODBC 2/3/2016

PHP Online Training. PHP Online TrainingCourse Duration - 45 Days. Call us: HTML

Computer Fundamentals & MS OFFICE. (OR : batch. only) Computer Fundamentals and Photoshop. (NR : onwards )

ICS4U Project Development Example Discovery Day Project Requirements. System Description

Controller/server communication

Real Application Security Administration

Reading Writing Speaking Reading Writing Speaking. English Intermediate Intermediate Elementary Intermediate Intermediate Elementary

Babu Madhav Institute of information technology 2016

CodeValue. C ollege. Prerequisites: Basic knowledge of web development and especially JavaScript.

PHP WITH ANGULAR CURRICULUM. What you will Be Able to Achieve During This Course

Web API Lab folder 07_webApi : webapi.jsp your testapijs.html testapijq.html that works functionally the same as the page testapidomjs.

STRANDS AND STANDARDS

Connecting the Dots. Building Web Applications with PHP, HTML, CSS, and JavaScript

AngularJS Fundamentals

Web Development. With PHP. Web Development With PHP

Serverless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016

ASP.NET- Enterprise Applications

MIGRATING MOBILE APPS. How to migrate Rollbase and OpenEdge Mobile Apps to the Telerik Platform

PowerSchool Release Notes PowerSchool Student Information System

Building JSR-286 portlets using AngularJS and IBM Web Experience Factory

APIs and API Design with Python

Course Outline. Developing Web Applications with ASP.Net MVC 5. Course Description: Pre-requisites: Course Content:

Helpline No WhatsApp No.:

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server

CIS 408 Internet Computing (3-0-3)

Unit Assessment Guide

This document describes how the modus operandi configure directories service via Cisco Unified Communications Domain Manager 8.X (CUCDM).

8.0 Help for Community Managers Release Notes System Requirements Administering Jive for Office... 6

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites

Introduction to Web Development with Microsoft Visual Studio 2010

Implementing a Microsoft SQL Server 2005 Database Course 2779: Three days; Instructor-Led

CIS 3308 Logon Homework

PowerSchool Tips and Tricks Mark Southard Cleveland County Schools Auditorium IV

Jquery Ajax Json Php Mysql Data Entry Example

Querying Data with Transact SQL

MySciLEARN Student Update Administrator Guide. For system administrators managing the Fast ForWord and Reading Assistant programs

2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days

PowerSchool 9.2 Overview. Vince Piscopo

Transcription:

PSUG National Information Exchange Users Helping Users

PowerQueries And the Data Export Manager By Jim Parsons jparsons@vcschools.org goo.gl/j2uyqn

Shared Folder: https://goo.gl/j2uyqn

Name: Jim Parsons About Me School: Valley Christian School, Cerritos, CA Contact: jparsons@vcschools.org Married 21 Years, 1 Daughter + 2 Grandkids Teacher for 25 years Interests: computer programming, preaching, swing dancing, and PowerSchool!

Test Server Available https://ps9.psugcal.org/admin Admin User: #aghs1 where # is a number from 1 to 99 Password: PSaghs1 same password for all users

Using PowerQueries Why use PowerQueries? 1. Data Export Manager - custom reports (including scheduled outputs) 2. Internal API - via AJAX 3. External API - from a 3rd Party Server (OAuth) Demonstrations: 1. Creating a PowerQuery 2. Accessing via Data Export Manager 3. Accessing via AJAX (jquery or Angular)

Using tlist_sql to Get JSON data [ ~[tlist_sql; SELECT lastfirst, floor(months_between(sysdate, dob) / 12), to_char(dob,'month D, YYYY') FROM students WHERE enroll_status = 0 AND floor(months_between(sysdate, dob) / 12) <= ~(gpv.max) AND floor(months_between(sysdate, dob) / 12) >= ~(gpv.min) ] { "lastfirst":"~(name;json)", "age":"~(age;json)", "birthdate":"~(dob;json)" }, [/tlist_sql]{}]

Create a PowerQuery 1. PowerQueries are loaded via PlugIns 2. Create three XML files: a../plugin.xml b../queries_root/example.named_queries.xml c../permissions_root/example.permission_mappings.xml 3. ZIP the files, and install the PlugIn.

The plugin.xml File <?xml version="1.0" encoding="utf-8"?> <plugin xmlns="http://plugin.powerschool.pearson.com" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://plugin.powerschool.pearson.com plugin.xsd" name="plugin with PowerQuery Example" version="1.0" description="show the basics of creating a PowerQuery"> <oauth></oauth> <publisher name="valley Christian Schools"> <contact email="support@vcschools.org"/> </publisher> <access_request> </access_request> </plugin>

The Access Request Section <access_request> <field table="students" field="student_number" access="viewonly"/> <field table="students" field="dob" access="viewonly"/> <field table="students" field="enroll_status" access="viewonly"/> <field table="students" field="lastfirst" access="viewonly"/> <field table="students" field="grade_level" access="viewonly"/> </access_request>

The example.named_queries.xml File <queries> <query name="org.vcschools.project.students.example" coretable="students" flattened="false"> <description>(a short description)</description> <args> (argument definitions go here) </args> <columns> (column definitions go here) </columns> <sql> <![CDATA[ (your SQL goes here) ]]> </sql> </query> </queries>

PowerQuery Arguments <args> <arg name="age_limit" description="the maximum age returned." type="primitive" required="true" /> </args> Arguments are declared within the SQL as any name preceded by a colon. SELECT lastfirst, floor(months_between(sysdate, dob) / 12) AS age, to_char(dob,'month D, YYYY') as birthdate FROM students WHERE floor(months_between(sysdate, dob) / 12) <= :age_limit

PowerQuery Columns <columns> <column column="students.lastfirst">lastfirst</column> <column column="students.dob">age</column> <column column="students.dob">birthdate</column> </columns> Since the SQL returns three columns, you must declare three columns SELECT lastfirst, floor(months_between(sysdate, dob) / 12) as age, to_char(dob,'month D, YYYY') as birthdate FROM students WHERE floor(months_between(sysdate, dob) / 12) <= :age_limit AND schoolid = :school_id

PowerQuery SQL Statement 1. Only allows SELECT (or WITH... SELECT); read only 2. Columns with calculations MUST be aliased <sql> <![CDATA[ SELECT lastfirst, floor(months_between(sysdate, dob) / 12) AS age, to_char(dob,'month D, YYYY') AS birthdate FROM students WHERE floor(months_between(sysdate, dob) / 12) <= :age_limit ]]> </sql>

The example.permission_mappings.xml File <permission_mappings> <permission name='/admin/home.html'> <implies allow="post > /ws/schema/query/org.vcschools.project.students.birthdays </implies> </permission> </permission_mappings> Basically, this says, Whoever has access to /admin/home.html also has access to this PowerQuery. This applies only to internal API access via cookies, and will constrain the results to selected school (and/or exclude records outside the scope of the user s permissions or restrictions).

Data Export Manager PowerQueries are available in DEM 1. Exported data is constrained to the scope of the selected school. 2. The PowerQuery must not contain arguments 3. Columns with calculated data can NOT be filtered in DEM

Data Export Manager 1. Scheduling saved templates is limited to users with a Role that allows it. a. Create a Role or check the box to allow Scheduled Exports in an existing role. b. Assign that role to the user. 2. Add Remote Connections (only SFTP supported)

Data Export Manager Depending on the user s permissions, the Data Export Manager will constrain the results to the scope of the current school and the permissions mapping settings. These constraints are not enforced on scheduled exports.

Using AJAX (jquery Example) <div class="box-round"> <label for="select-box >Drop Down Selector: </label> <select id="select-box"> <option value=""></option> --- additional <options> inserted by jquery script --- </select> </div>

Using AJAX (jquery Example) var url = "/ws/schema/query/org.vcschools.project.students.sample"; var payload = { age_limit_min: 12, age_limit_max: 16 }; $j.ajax({ method: 'POST', url: url, datatype: 'json', data: JSON.stringify(payload), contenttype:"application/json", success: function( resp ) { for ( i=0; i < resp.record.length; i++ ) { $j('#select-box').append('<option value="' + resp.record[i].lastfirst + '">' + resp.record[i].lastfirst + '</option>'); }; } });

Using AJAX (AngularJS Example) <div class="box-round" data-ng-controller="mycontroller" data-ngcloak> <label for="select-box >Drop Down Selector: </label> <select id="select-box"> <option data-ng-repeat="item in list" value="{{item.lastfirst}}" >{{item.lastfirst}} ({{item.age}})</option> </select> </div>

Using AJAX (AngularJS Example) myapp.controller('mycontroller2', function($scope, $http) { $scope.list = []; $scope.age_limit_min = 12; $scope.age_limit_max = 16; var url = "/ws/schema/query/org.vcschools.project.students.agelimit"; var payload = { age_limit_min: $scope.age_limit_min, age_limit_max: $scope.age_limit_max }; $http.post ( url, Payload, { headers:{'content-type':'application/json'}} ).then( function ( response ) { $scope.list = response.data.record; }); });

Hands on Time - Lab Create a PowerQuery Install the PQ (via Plug-In) Access PQ via Data Export Manager Access via REST Client (using Oauth)

Questions? Thank you for attending. Resources: https://support.powerschool.com/developer - a must for the PowerSchool customizer Jim Parsons jparsons@vcschools.org