+ All Categories
Home > Documents > eSchoolPLUS 4.0 Technology - Event Schedule & Agenda...

eSchoolPLUS 4.0 Technology - Event Schedule & Agenda...

Date post: 12-May-2018
Category:
Upload: dinhdieu
View: 219 times
Download: 3 times
Share this document with a friend
28
eSchoolPLUS 4.0 Technology
Transcript
Page 1: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

eSchoolPLUS 4.0 Technology

Page 2: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

eSchoolPLUS 4.0 Technology

Jeff Miller – eSchoolPLUS Development Manager

10/14/2015

Page 3: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Overview

Learn about all of the exciting new technologies we are using to enhance the eSchoolPLUS application suite. We will review the types of technology being used to improve both its capabilities and the overall user experience.

Page 4: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Agenda

The Old

The New

Deep Dive: Plug-ins Used in 4.0

What’s Next

Questions

Page 5: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

What didn’t change in 4.0?

�The database

�Microsoft SQL Server (2012 or 2014)

�Minor Schema Changes

�Are be documented with the release

�Tasks

�Still using VB6 & COM+

�Task Agent/Task Load Balancer

�A big reason for leaving the DB as is

Page 6: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

What else didn’t change?

�The appearance/features in

� Teacher Access Center

� Home Access Center

Please note that we did modify some of the code so it could be shared with eSchoolPLUS Admin code

Page 7: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

So what’s new?

EVERYTHING RELATING TO

THE USER INTERFACE IS

NEW IN eSchoolPLUS.

Page 8: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

New to eSchoolPLUS 4.0

�Completely New User Interface

� All webpages are being rewritten to be:

�Modern Look, Responsive Design

�Device and Browser Agnostic

�Includes over 1000 webpages

Page 9: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

eSchoolPLUS 4.0 Technologies

� Open Source Technologies

�HTML5 – Less coding for more browsers

�CSS3 – Adding styles to the web pages

� jQuery – Modern JavaScript library

� JSON – Packaging data to send to the web server

Page 10: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

eSchoolPLUS 4.0 Technologies

�Responsive Design Technologies

� Twitter Bootstrap – Field, Label and Card Placement

� Font Awesome - Icons

� Microsoft Technologies

�ASP.NET MVC/Razor View Engine – Application Framework

�C# - Programming Language

�Entity Framework/LINQ – Database Queries

Page 11: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Entity Framework and LINQ• Object – Relational Mapping (ORM) Framework for data

access

REG_CFG

DistrictBuildingSchool Year

REG_CFG_ALERT

Alert Type

REG_CFG_ALERT_

CODEAlert TypeAlert Code

CRegConfiguration

Var District as string

Var Building as string

Var SchoolYear as date

Var CRegConfigAlertas object

Get_Configuration()

Database Tables Programming Object

Page 12: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Entity Framework and Linq

� Coding the SQL:

select REG_CFG.*, REG_CFG_ALERT.*, REG_CFG_ALERT_CODE.* from reg_cfg

inner join REG_CFG_ALERT on

REG_CFG_ALERT.DISTRICT = reg_cfg.DISTRICT and

reg_cfg_alert.BUILDING = reg_cfg.BUILDING and

REG_CFG_ALERT.SCHOOL_YEAR = reg_cfg.SCHOOL_YEAR

inner join REG_CFG_ALERT_CODE on

REG_CFG_ALERT_CODE.DISTRICT = REG_CFG_ALERT.DISTRICT and

REG_CFG_ALERT_CODE.BUILDING = REG_CFG_ALERT.BUILDING and

REG_CFG_ALERT_CODE.SCHOOL_YEAR = REG_CFG_ALERT.SCHOOL_YEAR and

REG_CFG_ALERT_CODE.ALERT_TYPE = REG_CFG_ALERT.ALERT_TYPE

where reg_cfg.DISTRICT = ? and

REG_CFG.BUILDING = ? and

reg_cfg.SCHOOL_YEAR = ?

Page 13: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Entity Framework and Linq

// get the building configuration for the district, school year, and building

Return (from BuildingConfig in

_context.BuildingConfigurations.Include("AlertConfigurations").Include("AlertConfigurations.Codes")

where BuildingConfig.District == Environment.District &&

BuildingConfig.SchoolYear == schoolYearToUse &&

BuildingConfig.Building == building

select buildingConfig).SingleOrDefault();

Page 14: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Entity Framework and Linq

(unrelated) Example you might see in SQL:exec sp_executesql N'SELECT

[Extent1].[DISTRICT] AS [DISTRICT],

[Extent1].[STUDENT_ID] AS [STUDENT_ID],

[Extent1].[TO_SECTION_KEY] AS [TO_SECTION_KEY],

[Extent1].[TO_RANGE_KEY] AS [TO_RANGE_KEY],

[Extent1].[CHANGE_DATE_TIME] AS [CHANGE_DATE_TIME],

[Extent1].[CHANGE_UID] AS [CHANGE_UID]

FROM [dbo].[SCHD_STU_CRS_DATES] AS [Extent1]

WHERE ([Extent1].[DISTRICT] = @EntityKeyValue1) AND ([Extent1].[STUDENT_ID] = @EntityKeyValue2) AND ([Extent1].[SECTION_KEY] = @EntityKeyValue3) AND ([Extent1].[MODELED] = @EntityKeyValue4)',N'@EntityKeyValue1 int,@EntityKeyValue2 nvarchar(128),@EntityKeyValue3 int,@EntityKeyValue4 nvarchar(128)',@EntityKeyValue1=11111,@EntityKeyValue2=N'11111 ',@EntityKeyValue3=1247349,@EntityKeyValue4=N'N

Page 15: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Model – View – Controller Design Pattern

• Models (Business Layer) – Parts of the application that

implement the logic for the application's data domain.

• Views (Display Layer) – Views are the components

that display the application's user interface (UI).

• Controllers (Input Control)– Components that handle user

interaction, work with the model, and ultimately select a view to render that displays UI.

Page 16: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Deep Dive: Plug-Ins

All Plug-Ins used by SunGard K-12 Education are carefully vetted

� Websites that add a ton of plugins slow down the website

• Use only what is needed and efficient

� Cross Product and Functional Area Technology Committee Review and Make Recommendations

• Representation from every product

• Cloud Team

• Security Approval

� Go Forward Consistency Across Applications

Page 17: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Deep Dive: Plug-Ins

Page 18: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Select2

Used for Dropdowns and Multi-selects

� https://select2.github.io/examples.html

� Add an Open Source javascript file to extend jQuery

� We’ve extended the library to better handle our responsive design patterns and improve performance

� We use events to control how the page responds based on selected answers

• Selecting one value can cause fields to appear or disappear

� Example is the Quick Search

Page 19: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Moment.js

Data that involved a time or date is easily formatted and adjusted for time zones

� http://momentjs.com/

� Open Source JavaScript Library

� Database, C# and JavaScript can all store and format dates differently

• By default, moment parses and displays in local time.

• var date = moment(dateVariable).format("YYYY-MM-DD");var date = moment(dateVariable).format("MM/DD/YYYY");

• moment().add(3, 'days').calendar();moment().subtract(3, 'days').calendar();moment().endOf('day').fromNow();moment().startOf('hour').fromNow();

Page 20: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

FullCalendar

FullCalendar is a drag-n-drop jQuery plugin for displaying events on a full-sized calendar.

� http://fullcalendar.io/

� Open Source JavaScript library

� Provides total framework for using calendars for month, week, day views. We supply the data, it formats it nicely.

• $('#calendar').fullCalendar({

• year: currentYear,

• month: currentMonth,

• dayRender: function(date, cell) {

• //...add some special formatting or styling for each day

• },

• dayClick: function(date) {

• //...trigger some action if user clicks on the day

• }

• });

Page 21: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

FullCalendar

Page 22: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

jqGrid

Used for grids throughout the software if there is a need beyond the basic grid display

� http://www.trirand.com/blog/jqgrid/jqgrid.html

� Open Source Library

� This powerful tool gives us the ability to edit in line (even using select2!), paging, sorting individual and multiple columns

� Allows each cell to be formatted uniquely based on data conditions

� Easy to get edited data to save

� Makes Grid manipulation quicker and cleaner

Page 23: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

jqGrid

Page 24: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

DateTimePicker

Used for time select fields

� http://eonasdan.github.io/bootstrap-datetimepicker/

� Open Source

� Works with moment.js

Page 25: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

HiQPdf

Used for Page Prints

� http://www.hiqpdf.com/

� Commercial product which required us to purchase an enterprise developer license. There are no run time or deployment costs and the license never expires.

• No Worthy Open Source Options

• Cost was a factor. Some range as high as $5-6K per server license to install.

� Code Snippets for JavaScript capturing HTML and C# code generating the PDF from the HTML

Page 26: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

HiQPdf

Code Snippets

Page 27: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

What else do we need to do?

Reports and calculations

�Why?• Remove older technology

– Still using VB6 and Com+

– Reports created using Active Reports 2.0

• Easier Installation

• Maybe sneak in some features?

�Approach• Over many releases

�Risk• Needs mitigated

Page 28: eSchoolPLUS 4.0 Technology - Event Schedule & Agenda ...schd.ws/hosted_files/2015snugk12nationalconference/c2/SNUG 2015... · eSchoolPLUS 4.0 Technology ... design patterns and improve

Thank You!

[email protected]

10/14/2015


Recommended