12130
Post on 16-Jul-2015
18 Views
Preview:
TRANSCRIPT
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Banner XE with
Localizations/ModificationsSustainable XE Application Mods
Dale Ganus, Jorge Baquero, Trey Reynolds
Texas Tech University System
April 13, 2015
12130
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Introduction – Who are We?
• Texas Tech University System
• Almost three institutions in one instance of Banner
• 40,000 total students
• Finance/HR/FA/Student/Student A/R
• Many other Ellucian products
• Many third party products
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Introduction – Our Motivation
• Experience with XE mods
• What has worked and what hasn’t
• Share a methodology that will cover a large percentage of all
modifications you might want to make.
• Work with Ellucian extensibility tools and evolve as more
become available.
• Share and learn from others to expand this approach.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
1 XE Software lifecycle at Texas Tech
2 Motivation for sustainable modifications
3 Examples of current Texas Tech mods
4 Development Methodology
5 Security Model Concerns
6 Q & A – Technical Questions Encouraged
Presentation Agenda
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
1. XE Lifecycle at Texas Tech
How code and installation is handled.
Jorge Baquero
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
XE Lifecycle – Source Code & Installation
Application Name Current
Version
in Test
UI Mod List of Current
Modifications
WAR Current
Version in
TTUSPRD
Prod
First time
Last
Deployed
Faculty Attendance
Tracking SSB
9.1.0.2 Y 9.1.0.2 9.1.0.1 7/13/2013 Mar 2015
Student Advisor SSB 9.1 Y 9.3 9.3 6/29/2014 Mar 2015
Student Attendance
Tracking 9.1.0.1 Y 9.1.0.1 9.1.0.1 7/13/2013 Oct 2014
Student Attendance
Tracking SSB 9.1.0.1 Y 9.1.0.1 9.1.0.1 7/13/2013 Oct 2014
Faculty Grade Entry 9.3.0.1 Y Y · Graduation Cap 9.3.0.1 9.3 9/23/2012 Mar 2014
Student Overall 9.3 Y 9.3 9.2 6/29/2014 Mar 2015
Student Registration 9.2.0.1 Y 9.2.0.1 9.2.0.1 2/23/2014 Mar 2015
Student Registration SSB 9.1.0.2 Y Y Registration
intermediate step
Drop Limit Filter
Class Fees
9.1.0.2 9.1.0.2 2/23/2014 Jan 2015
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
XE Lifecycle – Git Control
Master
TTU GIT
SERVER
TTU
Remotes: ellucian
origin
Implementation Deployment
Localizations and UI:
WAR file and installation
UI: Installation process
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
XE Lifecycle – Git Submodule Based Development
Architecture Based on XE Plugins.
o Plugin is a git repository
maintained separately and
included in the application.
o Command to add the
submodule:
Banner XE App Repo – TTU Branch
plugins/banner_core.git
plugins/banner_general_person.git
plugins/banner_ui_ss.git
…
plugins/ttu_appname_mod.git
GIT
SU
BM
OD
ULE
S
git submodule add
ssh://git@server/ttu_appname_mod
./plugins/ttu_appname_mod
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
2. Motivation for sustainable mods.
Our intentions around this style of
modifications.
Trey Reynolds - Developer
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Motivation for our approach to sustainable modifications
• History of Banner 8 mods
reapplied regularly.
o This results in shaky
construction.
• Strict separation of
concerns.
• No interference with
baseline code execution.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Motivations (continued)
• Create a way to utilize some already developed database
packages / procedures / functions.
o Save time
o Ensure identical behavior (e.g. Texas drop limit requirement)
• Bridge the gap between a full rewrite and existing work.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
3. Examples of Texas Tech mods
Some of the changes we’ve made so far.
Trey Reynolds – Developer
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Mods: Student Registration SSB
• Added step to the registration process -- “Agreements”
o Payment Agreement, Electronic Comm. Consent, Fixed Tuition Option.
• Drop Limit Filter
o Apply a limit to the number of dropped classes.
• Display Class Fees Only After Fee Assess
• Not require student PIN entry for advisors.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Student Registration SSB: Agreements Screen
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Mods: Faculty Grade Entry
• Graduation Cap
Change:
o Adds an indicator icon
next to students
graduation this semester
on the grade roll.
o Accomplished with
javascript injection.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
4. Development Methodology
How does this work? Technical discussion.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Development Methodology
Development Phase
Production Phase
• Create in-place plugin and
make it a git project
• Develop the plugin in the
application
• Package the plugin and
make it part of the
installation process.
o Separate from the source
code dev process.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Modification Structure Overview
• Three different strategies
for creating sustainable
changes.
o Javascript injection.
o Self contained plugin MVC
architecture.
o Logic changes with filters.
• Include inline plugin in
project.
/grails-app/conf/BuildConfig.groovy
Application Structure
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Modification Plugin - Controllers & Services
• Controller and service code specific to
TTU app modifications.
• Multiple services and/or controllers so
that all modifications to one app exist in
the same plugin.
o Plugin contains its own unit/integration tests.
o Uses stock grails functionality for reusability
and readability.*
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Modification Plugin – Javascript Injection
• Uses resource overrides to inject
Javascript on a specific page.
• Javascript and CSS modifications can
be used to change most page behavior.
o Some developer investigation required.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Program Logic Flow Changes Using Grails Filters
• Overrides logic of a certain controller
and action using grails filter.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
5. Security Concerns
How to make sure you can use the fancy new logic you
just created in a domains/controller/service.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Spring Security Class for Controllers
• Security for most modifications is simple.
• For AJAX calls to REST service exposed via controller:
o Declare the controller in the config.groovy of the parent application:
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Summary
• Sustainable modifications means:
o Not having to manage heavy git merges.
o No exhausting searches for modified code and implications.
o Easier testing of code with and without mods.
• This should cover a large set of the more complex mods.
• There may still be a need to change core code.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Questions & Answers
Feel free to ask technical questions.
That’s why Trey is here.
12130© 2015 ELLUCIAN. CONFIDENTIAL & PROPRIETARY | Session ID
Thank you!Dale Ganus Jorge Baquero Trey Reynolds
dale.ganus@ttu.edu jorge.baquero@ttu.edu trey.reynolds@ttu.edu
Please complete the online session evaluation form.
• Via your registration account Log into your registration account at
https://ellucianlive2015.smarteventscloud.com/connect/
publicDashboard.ww
• choose the link to “Surveys””
Session ID 12130
top related