Static Key Date / Recruitment content

For performance reasons, certain areas have had key date sets hard coded in to the content. This reduces the load on Squiz checking and generating JSON objects representing the matrix of key date sets. Where there has been 20+ subjects we've seen up to 50% increase in load speeds (from 140 seconds on stage to ~70). On areas where there are less than 20 subjects there have been smaller yet notable performance gains.

To edit / maintain / modify / add key dates in the below areas, you would construct the qual / programme as normal and add the key date sets via the metadata as usual.

You'd then preview the JSON output of the qual / programme on cms. From this output, you'd copy the keydate blocks between the square brackets in to the 'Apply' page of each Subject.

This has been applied to:

Bachelor of Commerce with Honours

http://cms.victoria.ac.nz/postgradprogrammes/programmes/bachelor-of-commerce-with-honours 

  • Update 444275 and 354999 paint layouts to include parent_qual_name for correct card display when subject is selected

Nov 13th benchmark (Squiz cloud): 28.90 seconds BETTER

Bachelor of Arts with Honours

http://cms.victoria.ac.nz/postgradprogrammes/programmes/bachelor-of-arts-with-honours  

~120sec to 48sec~ on stage

Nov 13th benchmark (Squiz cloud): 20.15 seconds BETTER

https://www.victoria.ac.nz/api/postgrad?q=bachelor-of-commerce-with-honours

Master of Science by coursework and thesis

http://cms.victoria.ac.nz/postgradprogrammes/programmes/master-of-science-by-coursework-and-thesis 

170sec~ to 44sec~ on stage

Nov 13th benchmark (Squiz cloud): 

Master of Fine Arts Creative Practice

http://cms.victoria.ac.nz/postgradprogrammes/programmes/master-of-fine-arts-creative-practice 

28sec to ~8.96sec on stage

Nov 13th benchmark (Squiz cloud): 

Master of Arts 120

http://cms.victoria.ac.nz/postgradprogrammes/programmes/master-of-arts-120-points 

Nathan Irwin there's not a heap that can be done here for keydates as there's no Keydates but for on the Creative Writing Subject. It loads relatively slowly on stage with the timeout increased ~40 seconds. Requirements are static already. 

Master of Arts 180

http://cms.victoria.ac.nz/postgradprogrammes/programmes/master-of-arts-180-points 

32sec~ to 11~ seconds on stage. Keydate static content added.

Nov 13th benchmark (Squiz cloud): 

Graduate Diploma in Arts

http://stage.victoria.ac.nz/explore/graduate-quals/diploma-in-arts/overview?international=true 

Would not load with dynamic blocks. Loads on stage ~120 seconds (not ideal, but the lesser or two evils!)

Nov 13th benchmark (Squiz cloud): Hits 30's time out. BAD

Graduate Diploma in Science

http://stage.victoria.ac.nz/explore/graduate-quals/diploma-in-science/overview?international=true 

Would not load with dynamic blocks. Loads on stage ~40 seconds

Nov 13th benchmark (Squiz cloud): 

Sample

For example, take a look at the Bachelor of Commerce with Honours (363406). Look at it's web paths, then open the CMS webpath - i.e.

http://cms.victoria.ac.nz/postgradprogrammes/programmes/bachelor-of-commerce-with-honours

When this page loads, it assembles a large JSON blob that the app eventually turns in to a page. Within this JSON Blob you can see the constructed key date sets for each subject. In squiz, Accounting is a subject under the Bachelor of Commerce with Honours and it has an Apply page (on which the key date sets are generated). The asset ID for this page is 363795 - look for this in the JSON output - it will look like this the below.

Copy the content between the keydate set square brackets, starting at "keyDatesSet" [ {  and ending at {}]

},

  {}],
    "asset_metadata_keyInfoSet"               : "VI00Z5",
	"asset_metadata_summaryCardOverrides"     : {}

,
	"insidePages"   : {"Apply" : {
	"asset_assetid"    : "363795",
	"asset_short_name" : "Apply",
	"asset_contents"   : [
        {
        "asset_assetid":"363799",
        "asset_name":"start studying",
        "asset_contents":
        {
    "contentType" : "postgrad-apply",
    "content"     : {
        "startStudying" : {
            "type"     : "keyDatesSet",
            "heading"  : "Start Studying",
            "appendix" : "",
            
            "keyDatesSet"            : [ { 
"startDate": {"date"      :"2018-03-05T12:45:24+13:00",
              "type"      :"d MMM y",
              "trimester" :"1"},
"applyDate": { "date"     :"2018-01-20T00:00:00+13:00",
               "type"      :"d MMM y",
               "trimester" :"1"},
"international": false,
"domestic": true
},{ 
"startDate": {"date"      :"2018-03-05T12:45:24+13:00",
              "type"      :"d MMM y",
              "trimester" :"1"},
"applyDate": { "date"     :"2017-12-01T00:00:00+13:00",
               "type"      :"d MMM y",
               "trimester" :"1"},
"international": true,
"domestic": false
},{ 
"startDate": {"date"      :"2019-03-04T12:45:24+13:00",
              "type"      :"d MMM y",
              "trimester" :"1"},
"applyDate": { "date"     :"2019-01-20T00:00:00+13:00",
               "type"      :"d MMM y",
               "trimester" :"1"},
"international": false,
"domestic": true
},{ 
"startDate": {"date"      :"2019-03-04T12:45:24+13:00",
              "type"      :"d MMM y",
              "trimester" :"1"},
"applyDate": { "date"     :"2018-12-01T00:00:00+13:00",
               "type"      :"d MMM y",
               "trimester" :"1"},
"international": true,
"domestic": false
},

 {}]
        },
        "fees" : {
            "contentType" : "fees",
            "heading"     : "",
            "content"     : ""
        }
    }
},


Paste this content in, in place of all content between the (and including the) square brackets in the JSON object on the 'Apply' page for this subject (highlighted):

Apply Content COntainer
{
    "contentType" : "postgrad-apply",
    "content"     : {
        "startStudying" : {
            "type"     : "keyDatesSet",
            "heading"  : "Start Studying",
            "appendix" : "",
            
            "keyDatesSet"            : [ %asset_parent^as_asset:asset_metadata_keyDateSet^as_asset:asset_contents^replace_keywords:empty:{asset_parent^as_asset:asset_metadata_parentProgramme^as_asset:asset_metadata_keyDateSet^as_asset:asset_contents}% {}]
        },
        "fees" : {
            "contentType" : "fees",
            "heading"     : "",
            "content"     : ""
        }
    }
}

Results in

{
    "contentType" : "postgrad-apply",
    "content"     : {
        "startStudying" : {
            "type"     : "keyDatesSet",
            "heading"  : "Start Studying",
            "appendix" : "",
            
            "keyDatesSet"            : [ { 
"startDate": {"date"      :"2018-03-05T12:45:24+13:00",
              "type"      :"d MMM y",
              "trimester" :"1"},
"applyDate": { "date"     :"2018-01-20T00:00:00+13:00",
               "type"      :"d MMM y",
               "trimester" :"1"},
"international": false,
"domestic": true
},{ 
"startDate": {"date"      :"2018-03-05T12:45:24+13:00",
              "type"      :"d MMM y",
              "trimester" :"1"},
"applyDate": { "date"     :"2017-12-01T00:00:00+13:00",
               "type"      :"d MMM y",
               "trimester" :"1"},
"international": true,
"domestic": false
},{ 
"startDate": {"date"      :"2019-03-04T12:45:24+13:00",
              "type"      :"d MMM y",
              "trimester" :"1"},
"applyDate": { "date"     :"2019-01-20T00:00:00+13:00",
               "type"      :"d MMM y",
               "trimester" :"1"},
"international": false,
"domestic": true
},{ 
"startDate": {"date"      :"2019-03-04T12:45:24+13:00",
              "type"      :"d MMM y",
              "trimester" :"1"},
"applyDate": { "date"     :"2018-12-01T00:00:00+13:00",
               "type"      :"d MMM y",
               "trimester" :"1"},
"international": true,
"domestic": false
},

 {}]
        },
        "fees" : {
            "contentType" : "fees",
            "heading"     : "",
            "content"     : ""
        }
    }
}

Repeat this for all Apply pages within the programme or qual subjects.

Note

Application of static key date set content implies that keydatesets have been applied and the keydateset JSON block has been applied also.

Maintaining / Updating Keydate static content

When Keydates need to be updated you need to do the following:

1) Add the below code block to the parent about page, then preview in squiz to get the keydateset output (i.e. add to About under Bachelor of Arts, then preview the Bachelor of Arts folder in squiz)

2) Copy this keydateset block in to subjects / majors where needed

3) Where there is a unique start / apply date set for the subject or major that differs from the parent qual / degree, you need to add the same block of code below to the Apply page of the subject / major, preview the parent qual and copy and paste the output in.

4) Remove 3) if used

5) Remove 1 if used

6) Test


{
    "contentType" : "postgrad-apply",
    "content"     : {
        "startStudying" : {
            "type"     : "keyDatesSet",
            "heading"  : "Start studying",
            "appendix" : "",
            
            "keyDatesSet"            : [ %asset_parent^as_asset:asset_metadata_keyDateSet^as_asset:asset_contents^replace_keywords:empty:{asset_parent^as_asset:asset_metadata_parentProgramme^as_asset:asset_metadata_keyDateSet^as_asset:asset_contents}% {}]
        },
        "fees" : {
            "contentType" : "fees",
            "heading"     : "",
            "content"     : ""
        }
    }
}

Related reading

Graduate qualification: Updating cards and third tab