Yale Next R2 Deployment Notes

Development Deployment Steps

Dev Part 1: Database changes to be done in advance of go-live.

  1. DBA: Copy PTL1 to PTL7 (production to test)
  2. Change rdbm.properties to point to PTL7 database
  3. shutdown tomcat
  4. Test databse:  ant dbtest to confirm database parameters are set correctly
  5. import channel definitions for web proxy portlet
    ant crn-import -Ddir=../data/base/channel-type/ -Dpattern=.*Web_Proxy_Portlet\.channel-type

    Should result in the following channel types:

    [java] Import Channel Type:  Simple_Web_Proxy_Portlet.channel-type
    [java] Import Channel Type:  Web_Proxy_Portlet.channel-type
  6. Import new channels:
    ant crn-import -Ddir=../data/development/channel -Dpattern=^NoGui.*\.channel

    Should result in the following channels:

    [java] Import Channel:  NoGuiFacultyNews.channel
    [java] Import Channel:  NoGuiFacultyToolbox.channel
    [java] Import Channel:  NoGuiGuestNews.channel
    [java] Import Channel:  NoGuiITSSystemsStatusRSS.channel
    [java] Import Channel:  NoGuiLoginBox.channel
    [java] Import Channel:  NoGuiOfficialUniversityMessagesAltView.channel
    [java] Import Channel:  NoGuiStaffNews.channel
    [java] Import Channel:  NoGuiStaffToolbox.channel
    [java] Import Channel:  NoGuiYaleLeftNavXml.channel
    [java] Import Channel:  NoGuiYaleMap.channel
    [java] Import Channel:  NoGuiYaleSearchAltView.channel
  7. Import new tab users
    ant crn-import -Ddir=../data/development/user -Dpattern=.*\.user

    Should result in 3 new users:

    [java] Import User: guest-home-tab.user
    [java] Import User: univ-faculty-tab.user
    [java] Import User: univ-staff-tab.user
  8. Import new fragment layouts
    ant crn-import -Ddir=../data/development/fragment-layout -Dpattern=.*\.fragment-layout

    Should result in the following new fragments

    [java] Import DLM Fragment Layout:  guest-home-tab.fragment-layout
    [java] Import DLM Fragment Layout:  univ-faculty-tab.fragment-layout
    [java] Import DLM Fragment Layout:  univ-staff-tab.fragment-layout
  9. Run sql script to reset user layouts where dlm:positionSet has been used to position fragment tabs
    From PL/SQL
    connect portal_owner@PTL7/*****
    get src\main\config\fix_layout_tabs.sql
    Verify that yaleinfo on dev still looks correct

Dev Part 2: Steps equivalent go-live

  1. Stop Tomcat
  2. Run sql script to rename fragment tabs in old staff and faculty home
    From PL/SQL
    connect portal_owner@PTL7/*****
    get src\main\config\rename_staff_faculty_fragment_tabs.sql
    /
  3. Deploy portal YaleInfo-[tag or SNAPSHOT] For example:
    mvn -U -Dmaven.tomcat.home=/usr/local/tomcat_instances/portal_dev -Dversion=2.4.0-SNAPSHOT -Denvironment=dev clean install uportal:deploy-ear
  4. Start Tomcat
  5. Import channel definitions that have changed: YaleInfoLinks - through the Gui Import-Export Channel
    /data/development/channel/YaleInfo-Links.channel

    Result should contain the following modification:

    XSLT File: https://development.portal.yale.edu/ResourceServingWebapp/rs/yale/YaleInfoLinks/xsl/searchableLinks.xsl
  6. Import channel definitions that have changed: Yale-Events - through the Gui Import-Export Channel
    /data/base/channel/Yale-Events.channel

    Result should contain the following modifications:

    Portlet Preferences: days: 2; gracePeriodInMinutes: 30

Test Deployment Steps

 Test Part 1: Database changes to be done in advance of go-live. (Assumes

  1. Restore Portal application to R1 release IR-2.3.0-Final to reflect application as it is in production.
  2. DBA: Copy PTL1 to PTL4 (production to test)
  3. Change rdbm.properties to point to PTL4 database
  4. Test databse:  ant dbtest to confirm database parameters are set correctly
  5. import channel definitions for web proxy portlet
    ant crn-import -Ddir=../data/base/channel-type/ -Dpattern=.*Web_Proxy_Portlet\.channel-type

    Should result in the following channel types:

    [java] Import Channel Type:  Simple_Web_Proxy_Portlet.channel-type
    [java] Import Channel Type:  Web_Proxy_Portlet.channel-type
  6. Import channels that differ between TEST and PROD from tag IR-2.3.0
    ant crn-import -Ddir=../data/test/channel -Dpattern=^(?!NoGui).*\.channel

    Should result in the following channels:

    [java] Import Channel:  BlogReader.channel
    [java] Import Channel:  GuestReg.channel
    [java] Import Channel:  ITSSystemsStatus.channel
    [java] Import Channel:  library-books-out.channel
    [java] Import Channel:  LibraryStaffLinks.channel
    [java] Import Channel:  MyCourseReadings.channel
    [java] Import Channel:  myworklist.channel
    [java] Import Channel:  netreg.channel
    [java] Import Channel:  news-reader.channel
    [java] Import Channel:  PantheonAccount.channel
    [java] Import Channel:  recent-email.channel
    [java] Import Channel:  SakaiSiteSummary.channel
    [java] Import Channel:  StudentNotifications.channel
    [java] Import Channel:  yale-map-search.channel
    [java] Import Channel:  YaleDiningMenu.channel
    [java] Import Channel:  YaleInfo-Links.channel
  7. Import new channels:
    ant crn-import -Ddir=../data/test/channel -Dpattern=^NoGui.*\.channel

    Should result in the following channels:

    [java] Import Channel:  NoGuiFacultyNews.channel
    [java] Import Channel:  NoGuiFacultyToolbox.channel
    [java] Import Channel:  NoGuiGuestNews.channel
    [java] Import Channel:  NoGuiITSSystemsStatusRSS.channel
    [java] Import Channel:  NoGuiLoginBox.channel
    [java] Import Channel:  NoGuiOfficialUniversityMessagesAltView.channel
    [java] Import Channel:  NoGuiStaffNews.channel
    [java] Import Channel:  NoGuiStaffToolbox.channel
    [java] Import Channel:  NoGuiYaleLeftNavXml.channel
    [java] Import Channel:  NoGuiYaleMap.channel
    [java] Import Channel:  NoGuiYaleSearchAltView.channel
  8. Import new tab users
    ant crn-import -Ddir=../data/test/user -Dpattern=.*\.user

    Should result in 3 new users:

    [java] Import User: guest-home-tab.user
    [java] Import User: univ-faculty-tab.user
    [java] Import User: univ-staff-tab.user
  9. Import new fragment layouts
    ant crn-import -Ddir=../data/test/fragment-layout -Dpattern=.*\.fragment-layout

    Should result in the following new fragments

    [java] Import DLM Fragment Layout:  guest-home-tab.fragment-layout
    [java] Import DLM Fragment Layout:  univ-faculty-tab.fragment-layout
    [java] Import DLM Fragment Layout:  univ-staff-tab.fragment-layout
  10. Run sql script to reset user layouts where dlm:positionSet has been used to position fragment tabsFrom PL/SQL
connect portal_owner@PTL4/*****get src\main\config\fix_layout_tabs.sql
Verify that yaleinfo on test still looks correct

Test Part 2: Steps equivalent go-live

  1. Stop Tomcat
  2. Run sql script to rename fragment tabs in old staff and faculty home
    From PL/SQL
    connect portal_owner@PTL4/*****
    get src\main\config\rename_staff_faculty_fragment_tabs.sql
    /
  3. Deploy portal YaleInfo-[tag]  - Unix Systems
  4. Import channels that differ between TEST and PROD from development branch - repoints channels to resource server
    ant crn-import -Ddir=../data/test/channel -Dpattern=^(?!NoGui).*\.channel

    Should result in the following channels:

    [java] Import Channel:  BlogReader.channel
    [java] Import Channel:  GuestReg.channel
    [java] Import Channel:  ITSSystemsStatus.channel
    [java] Import Channel:  library-books-out.channel
    [java] Import Channel:  LibraryStaffLinks.channel
    [java] Import Channel:  MyCourseReadings.channel
    [java] Import Channel:  myworklist.channel
    [java] Import Channel:  netreg.channel
    [java] Import Channel:  news-reader.channel
    [java] Import Channel:  PantheonAccount.channel
    [java] Import Channel:  recent-email.channel
    [java] Import Channel:  SakaiSiteSummary.channel
    [java] Import Channel:  StudentNotifications.channel
    [java] Import Channel:  yale-map-search.channel
    [java] Import Channel:  YaleDiningMenu.channel
    [java] Import Channel:  YaleInfo-Links.channel
  5. Start Tomcat
  6. Import channel definitions that have changed: Yale-Events - through the Gui Import-Export Channel
    /data/base/channel/Yale-Events.channel

    Result should contain the following modifications:

    Portlet Preferences: days: 2; gracePeriodInMinutes: 30

Production Deployment Steps

 Production Part 1: Database changes to be done in advance of go-live.

  1. Systems: stop both Tomcat instances.
  2. DBA: backup PTL1 database.
  3. DBA: change PTL Portal_Owner password and communicate to Portal Team
  4. Change rdbm.properties to point to PTL1 database
  5. Test database:  ant dbtest to confirm database parameters are set correctly
  6.  Import new channels for Home Pages (from base which is same a production):
    ant crn-import -Ddir=../data/base/channel -Dpattern=^NoGui.*\.channel

    Should result in the following channels:

    [java] Import Channel:  NoGuiFacultyNews.channel
    [java] Import Channel:  NoGuiFacultyToolbox.channel
    [java] Import Channel:  NoGuiGuestNews.channel
    [java] Import Channel:  NoGuiITSSystemsStatusRSS.channel
    [java] Import Channel:  NoGuiLoginBox.channel
    [java] Import Channel:  NoGuiOfficialUniversityMessagesAltView.channel
    [java] Import Channel:  NoGuiStaffNews.channel
    [java] Import Channel:  NoGuiStaffToolbox.channel
    [java] Import Channel:  NoGuiYaleLeftNavXml.channel
    [java] Import Channel:  NoGuiYaleMap.channel
    [java] Import Channel:  NoGuiYaleSearchAltView.channel
  7. Import new tab users
    ant crn-import -Ddir=../data/production/user -Dpattern=.*\.user

    Should result in 3 new users:

    [java] Import User: guest-home-tab.user
    [java] Import User: univ-faculty-tab.user
    [java] Import User: univ-staff-tab.user
  8. Import new fragment layouts
    ant crn-import -Ddir=../data/production/fragment-layout -Dpattern=.*\.fragment-layout

    Should result in the following new fragments

    [java] Import DLM Fragment Layout:  guest-home-tab.fragment-layout
    [java] Import DLM Fragment Layout:  univ-faculty-tab.fragment-layout
    [java] Import DLM Fragment Layout:  univ-staff-tab.fragment-layout
  9. Import YaleDiningMenu using crn import to fix broken channel
    ant crn-import -Ddir=../data/base/channel -Dpattern=YaleDiningMenu.channel

    Result should change the channel to an RSS feed from the new Dining Hall site.

  10. Systems: bring up one Tomcat.
  11. Portal Team: Verify that yaleinfo on production still looks correct
  12. DBA: Restore Portal_Owner password
  13. Systems: bring up second Tomcat

Production Part 1a Contingency: Restore Database if Step 11 fails.

  1. Systems: Stop tomcat(s)
  2. DBA: Restore database
  3. Portal Team: Evaluate problem.  Repeat Steps 1-13 above with corrective action prior to go-live.

Production Part 2: Steps for Go-Live - Monday 9/28.

  1. Systems: stop Tomcat on all app servers.  F5 should cause portal url to display static page.
  2. DBA: Backup PTL1
  3. DBA: Run sql script to rename fragment tabs in old staff and faculty home
    From SqlPlus (staged as RT)
    connect portal_owner@PTL1/*****
    get src\main\config\rename_staff_faculty_fragment_tabs.sql
    /
  4. Run sql script to reset user layouts where dlm:positionSet has been used to position fragment tabs
    From PL/SQL (Staged as RT)
    connect portal_owner@PTL1/*****
    get src\main\config\fix_layout_tabs.sql
  5. Systems: Deploy portal YaleInfo-IR-2.4.0-Final
  6. Systems: start one Tomcat
  7. Import channels that have been changed to access the ResourceServingWebapp through the Import/Export Portlet:
    /data/production/channel/BlogReader.channel
    /data/production/channel/ITSSystemStatus.channel
    /data/production/channel/LibraryStaffLinks.channel
    /data/production/channel/news-reader.channel
    /data/production/channel/recent-email.channel
    /data/production/channel/YaleInfo-Links.channel
  8.  Import Yale-Events - through the Gui Import-Export Channel
    /data/base/channel/Yale-Events.channel

    Result should contain the following modifications:

    Portlet Preferences: days: 2; gracePeriodInMinutes: 30
  9.  Import Staff/Faculty/Student Links channels to repoint to new xml and xsl locations
    /data/base/channel/FacultyLinks.channel
    /data/base/channel/StaffApplicationLinks.channel
    /data/base/channel/StudentApplicationRSS.channel
  10. Remove Coming Soon portlet from Guest, Staff, and Faculty layouts through the gui. 
  11. Re-import ComingSoon portlet to remove it from any categories.
    /data/base/channel/ComingSoon.channel
  12. Systems: restart Tomcats.
  13. Portal Team: Verify that yaleinfo on production still looks correct

Production Part 2a Contingency: Restore Database and Restore 2.3.2-Final if Step 11 fails.

  1. Systems: Stop tomcat(s)DBA: Restore database
  2. Systems: restore Portal version 2.3.2-Final
  3. Portal Team: Evaluate problem.  Repeat Steps 1-11 above with corrective action prior to go-live.

Labels

 
(None)