JSON structures used in WIP II development:
Contents:
Content types
Tooltips
HTML
Unique content types
Region: domestic vs international
%globals_asset_url:ASSETID^json_encode% and anchor links
Uploading images - allow access unrestricted
How to find the asset id of a page
JSON specifics and escaping
Quotes and “ ” characters
Newlines
Shared blocks
JSON structures
content-plain
Default content type. Used in most standard cases. Provides a Heading and content block underneath.
{ "contentType": "content-plain", "heading": "Text here", "content": "Text here." }
content-plain-images-triplecrown
used specifically for content to display the triple crown association images. Normally uses a shared object, but sometimes has some variation.
Either use the block below, or link the asset 342525 in the appropriate place.
{ "heading" : "International recognition", "contentType" : "content-plain-images-triplecrown", "content" : "Victoria's MBA programme is accredited to the British-based <a href='http://www.mbaworld.com/'>Association of MBAs (AMBA)</a>, an internationally recognised global standard for all MBA programmes.\nVictoria Business School is also one of just 75 business schools worldwide that hold the 'Triple Crown' of international business education accreditations. You can be confident your degree will stand up against the best around the world.\n<a href='http://www.victoria.ac.nz/vbs/about/welcome/accreditation'>Find out more about accreditations and what they mean for you.</a>", "images" : [{ "imageAssetId" : "340052", "imageSrc" : "%globals_asset_url:340052^json_encode%", "altText" : "EQUIS Logo", "linkTitle" : "", "link" : "", "linkUrl": "" }, { "imageAssetId" : "340057", "imageSrc" : "%globals_asset_url:340057^json_encode%", "altText" : "AMBA Logo", "linkTitle" : "", "link" : "", "linkUrl" : "" }, { "imageAssetId" : "340058", "imageSrc" : "%globals_asset_url:340058^json_encode%", "altText" : "AASCB Logo", "linkTitle" : "", "link" : "", "linkUrl" : "" }] }
content-plain-links
Similar to the content-plain object, but allows buttons for linking. We try and use this where possible instead of using inline links.
An important distinction between "links" and "externalLinks" - Graphically, "links" will be displayed with a big blue button, while "externalLinks" will display a bullet list of links with an 'external link' symbol next to it -
{ "contentType" : "content-plain-links", "heading" : "", "content" : "", "links" : [ { "linkText" :"Text", "linkTitle" :"Text", "link" :"%globals_asset_url:ASSETID^json_encode%" } ], "externalLinks": [{ "linkText" : "Text", "linkTitle" : "Text", "link" : "http://www.careers.govt.nz/" }] }
content-facts
This is used exclusively on the degree-about pages. They supply the data for the "Level of study", "Length of full-time study", and "Useful secondary school subjects" contents.
This block does not change here. If these values are to change, they need to be done in the metadata of the degree. If this block changes from what is contained here it will most likely break things. Please don't do that... :(
{ "contentType" : "content-facts", "heading" : "", "content" : { "levelOfStudy": { "contentType" : "levelOfStudy", "heading" : "%asset_metadata_ProgrammeId^as_asset:asset_metadata_postOrUndergradHeading^json_encode%", "content" : "%asset_metadata_ProgrammeId^as_asset:asset_metadata_postOrUndergrad^json_encode%" }, "studyLength": { "contentType" : "studyLength", "heading" : "%asset_metadata_ProgrammeId^as_asset:asset_metadata_LengthOfFulltimeStudyHeading^json_encode%", "content" : "%asset_metadata_ProgrammeId^as_asset:asset_metadata_LengthOfFulltimeStudy^json_encode%", "contentSub" : "%asset_metadata_ProgrammeId^as_asset:asset_metadata_LengthOfFulltimeStudySubHeading^json_encode%" }, "fees": { "contentType" : "fees", "heading" : "%asset_metadata_ProgrammeId^as_asset:asset_metadata_CourseFeesHeadingOverride^json_encode%", "content" : "%asset_metadata_ProgrammeId^as_asset:asset_metadata_EstimatedYearlyCourseFees^json_encode%" }, "usefulSubjects": { "contentType" : "usefulSubjects", "heading" : "%asset_metadata_ProgrammeId^as_asset:asset_metadata_UsefulSecondarySchoolSubjectsHeading^json_encode%", "content" : "%asset_metadata_ProgrammeId^as_asset:asset_metadata_UsefulSecondarySchoolSubjects^json_encode%" } } }
entry-requirements
Used exclusively on the degree-requirement pages. Used for displaying the entry requirements for a degree/major.
The following is the normal usage for this block, however the reqWithLink and reqOther can be empty.
reqWithLink allows the first element to be supplied with a blue button linking to another page.
The reqOther is simply an array of strings.
{ "contentType" : "entry-requirements", "heading" : "Entry requirements", "content" : "To be accepted into this degree you need:", "reqWithLink" : { "content" : "University Entrance, or to meet the requirements of another admission type and", "linkText" : "University admission", "linkTitle" : "University admission", "link" : "%globals_asset_url:194328^json_encode%" }, "reqOther" : [ "A Guaranteed Entry Score of 180 points from your NCEA." ] }
fun-fact
Used for fun facts. Provides a Heading and content block.
{ "contentType": "fun-fact", "heading": "29%", "content": "Proportion of MBAs employed at or above the board level within six to ten years of graduating. Source: The Association of MBAs 2010 Career Survey" }
important-info
Currently only used in undergraduate degrees pages. (For example in tourism-management)
On requirements pages, the last two values are nearly always:
- The academic [Calendar] is the authoritative source of programme and course information.
- If you have questions talk to a <a href='%globals_asset_url:186845%'>Liaison Officer</a>. If you’re already a student here, contact a <a href='%globals_asset_url:59208%#student-advisers'>student adviser</a>.
With the href for the "student adviser" replaced with the appropriate faculty for that degree. See - WIP-1390Getting issue details... STATUS for the appropriate asset number and anchor link to use.
{ "contentType" : "important-info", "heading" : "Important information ", "content" : [ "If you are transferring from another university and applying for direct entry into the second year you'll need to supply a portfolio along with an official academic transcript. These must reach the <a href='http://www.victoria.ac.nz/fad/about/contact'> Faculty of Architecture and Design Office </a> by 10 December.", "<a href='Portfolio'>http://www.victoria.ac.nz/fad/pdf/portfolio-requirements-2012.pdf'>Portfolio requirements</a> (PDF 284 KB)", "The academic [Calendar] is the authoritative source of programme and course information.", "If you have questions talk to a <a href='%globals_asset_url:186845%'>Liaison Officer</a>. If you’re already a student here, contact a <a href='%globals_asset_url:59208%#student-advisers'>student adviser</a>." ] }
intro-about
Used exclusively on the topic-about pages. Is basically the same as a content-plain container, but will also display a list of all the subjects next to it. Similar to the intro-degree container.
{ "contentType" : "intro-about", "content" : "" }
intro-degree
Used at the start of each degree-about page. Is basically the same as a content-plain container, but will also display a list of all the majors next to it. Similar to the intro-about container.
{ "contentType" : "intro-degree", "heading" : "", "content" : "" }
intro-major
Used at the start of each major on the degree>requirements page. Is basically the same as a content-plain container, but historically used to have other formatting as well. May be deprecated in future releases, but for now is still used at the start of each major. Similar to the intro-about container.
{ "contentType" : "intro-major", "heading" : "", "content" : "" }
intro-subject
Used at the start of each subject on the topic-study options page. Is basically the same as a content-plain container, but historically used to have other formatting as well. May be deprecated in future releases, but for now is still used at the start of each subject. Similar to the intro-about container.
{ "contentType" : "intro-subject", "heading" : "", "content" : "" }
intro
Used at the start of each degree>requirements and topic>people & stories page. Is basically the same as a content-plain container, but historically used to have other formatting as well. Will hopefully soon be replaced by a content-plain block as it is confusing for it to be allocated to those specific areas. Similar to the intro-about container.
{ "contentType" : "intro", "heading" : "", "content" : "" }
related-degrees
Used exclusively on subject pages. Is how the subject links to the degree pages.
For "undergrad" contents:
The asset_assetid, asset_metadata_ProgrammeCode, asset_metadata_LengthOfFulltimeStudy, asset_metadata_WebPath, and asset_name should all use the same asset id value. This is the degree that the subject is linking to, and should always be the asset number of a degree page.
The leadsIntoLink, leadsIntoText, leadsIntoExtraPreText, leadsIntoExtraLink, leadsIntoExtraLinkText are all to do with postgraduate degrees the subject links to.
- If they are all blank, no leads into will be shown.
- If the leadsIntoLink and leadsIntoText are present, then there will be a "Leads to a" piece of content with leadsIntoText as the text, and leadsIntoLink as the url.
- If the leadsIntoExtraPreText, leadsIntoExtraLink and leadsIntoExtraLinkText are present, then there will also be a second link provided in the "Leads to a" element.
This is a bit confusing, so see Architecture>Interior Architecture for a good example of how it is used. (Asset id 309042)
The content element is used to provide extra information about the related degree where necessary. This is just a plain text field. See Economics and Finance>Actuarial Science for a good example of this (asset number 309568).
For "postgrad" contents:
These are used solely for postgrad links. The assetid in asset_assetid and asset_metadata_WebPath should both be the same. Everything else gets edited in the json object.
A good example of this is Biomedical Sciences>Clinical Immunology (asset id 309688).
{ "contentType": "related-degrees", "content": { "undergrad": [{ "asset_assetid" : "%globals_asset_assetid:339832^json_encode%", "asset_metadata_ProgrammeCode" : "%globals_asset_metadata_ProgrammeCode:339832^json_encode%", "asset_metadata_LengthOfFulltimeStudy" : "%globals_asset_metadata_LengthOfFulltimeStudy:339832^json_encode%", "asset_metadata_WebPath" : "%globals_asset_metadata_WebPath:339832^json_encode%", "asset_name" : "%globals_asset_name:339832^json_encode%", "content" : "", "leadsIntoLink" : "%globals_asset_url:62170^json_encode%", "leadsIntoText" : "Master of Architecture (Professional)", "leadsIntoExtraPreText" : "and other", "leadsIntoExtraLink" : "%globals_asset_url:62166^json_encode%", "leadsIntoExtraLinkText" : "postgraduate programmes" }], "postgrad": [{ "asset_assetid" : "%globals_asset_assetid:296680^json_encode%", "asset_metadata_ProgrammeCode" : "MClinIm", "asset_metadata_LengthOfFulltimeStudy" : "1-2 years (180 points)", "asset_metadata_WebPath" : "%globals_asset_url:296680^json_encode%", "asset_name" : "Master of Clinical Immunology" }] } }
slide-show
(architecture has a good example of a slideshow)
See the appropriate confluence page on how to properly form a slideshow. But basically, the heading and caption are displayed above the images.
For the image objects, the caption, altText, and url are all provided via the globals_asset_attribute keyword. So if they are to be changed, it must be done on the details screen of the image asset.
Only the 'heading' is specified here, because the heading on the image asset might be different to what we want to display on the image itself, and in many cases is explicitly left out.
{ "heading" : "Designing ideas", "contentType" : "slide-show", "caption" : "", "images" : [ { "heading" : "", "caption" : "%globals_asset_attribute_caption:340296^json_encode%", "altText" : "%globals_asset_attribute_alt:340296^json_encode%", "buttonText" : "", "buttonLink" : "", "buttonTitle" : "", "imageUrl" : "%globals_asset_url:340296^json_encode%", "imageAssetId" : "340296" }, { "heading" : "", "caption" : "%globals_asset_attribute_caption:340276^json_encode%", "altText" : "%globals_asset_attribute_alt:340276^json_encode%", "buttonText" : "", "buttonLink" : "", "buttonTitle" : "", "imageUrl" : "%globals_asset_url:340276^json_encode%", "imageAssetId" : "340276" } ] }
video
Embeds a video. Currently only supports youtube videos. Make sure that the videoLink value is only the 'key' part of the video url. For example, https://www.youtube.com/watch?v=NYP5hSRiqBw becomes NYP5hSRiqBw.
The heading2 value was originally provided to supply sub-headings but is not currently used anywhere.
The content value provides a caption to go underneath the video.
videoImage is the image that will be used as the snapshot/preview that will display when the page first loads. Simply replace the ASSETID value in the code with the asset id of the image once it has been loaded into squiz.
{ "contentType": "video", "videoType": "youtube", "heading1": "Developing managers and leaders", "heading2": "", "content": "", "videoLink": "NYP5hSRiqBw", "videoImage": "%globals_asset_url:ASSETID^json_encode%" }
wellington-promo
Also known as the 'Why Wellington" block. Used to provide a short promotion on why Wellington is such a great place to study. Normally the only thing changing is the content in "content" and sometimes the "heading". If the heading is not supplied, it should be left as "Why Wellington".
Note, for postgrad wellington-promo's, the asset id for the imageId and links might be changing. If so, please get Andrew Bredenkamp to update this part of the documentation.
{ "heading" : "Why Wellington", "contentType" : "wellington-promo", "content" : "", "imageLink" : "%globals_asset_url:327370^json_encode%", "imageId" : "327370", "links" : [ { "linkText" :"Why Wellington", "linkTitle" :"Why Wellington", "link" :"%globals_asset_url:248382^json_encode%" } ] }
Missing content blocks
Please list below any content types that are not covered above, and get Andrew Bredenkamp to write up appropriate documentation on them.