Navigation & Header

Mobile Navigation

Hero Welcome

Project Management Opportunities with Oxford Brookes University

Featured Jobs

Welcome Letter

Welcome

Oxford Brookes is a leading modern university with bold ambitions. We employ over 2,800 staff in a wide variety of roles, and deliver high-quality, innovative approaches to learning, teaching, research and professional services.

Oxford Brookes is in an exciting phase in its estate development – investing in its buildings and facilities to match the teaching excellence we are renowned for.

We are in the midst of bringing forward several highly ambitious major estate redevelopment projects, that will help shape a better experience and stronger community for our students, visitors and teaching staff.

As you would expect with any aspirational plans, we need the right team of professionals around us. As such, we are looking to appoint two inviduals that will play key roles with our Estates team, who will ensure the successful delivery of the goals and outcomes that the University has set out to achieve.

We hope the content of this website will provide an informative insight into the exciting employment opportunities and benefits we currently have available.

Thank you for your interest in these key roles at Oxford Brookes University. I look forward to engaging with you as part of the recruitment process.

David Thomas

Mark Tugwell
Deputy Director of Estates

Client Footer

Hays Microsite jobs listing

Hays Microsite jobs listing ist temporär nicht erreichbar.

Footer

Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing:
==> propsUtil.get(ucmLocaleKey)  [in template "64056#64102#365043" at line 28, column 19]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign locale = propsUtil.get(ucmLoc...  [in template "64056#64102#365043" at line 28, column 1]
----
1<div id="outer-footer" class="updatedFooter" style="padding-left: 0px; width: 1640px;"> 
2	 <div id="inner-footer-expert" class=""> 
3					<div id="footerLogo"> 
4					<#--<#if FooterLogo.getData()?? && FooterLogo.getData() != ""> 
5					<#assign footerLogoHTML = "${FooterLogo.getData()}"/> 
6					<#if (footerLogoHTML?length > 0)> 
7					${footerLogoHTML} 
8					<#else> 
9						<img src="https://www/hays.co.uk/cs/HaysMicroSites/assets/img/hayslogo.gif" id="defaultLogo" alt="Hays  
10							footer logo"> 
11					</#if> 
12					</#if>--> 
13					<#assign haysLogo = propsUtil.get("HAYS_LOGO_WEB2")/> 
14					<img src="${haysLogo}" id="defaultLogo" alt="Hays  
15							footer logo" style="max-width:200px!important;margin:0px 15px;"> 
16					</div> 
17					<div id="footerLogo-Links"> 
18					<#if Link.getSiblings()?has_content> 
19							<#list Link.getSiblings() as cur_Link> 
20							<#if cur_Link.getData()?? && cur_Link.getData() != ""> 
21									<#assign linkData = "${cur_Link.getData()}"/> 
22												${linkData} 
23							</#if> 
24							</#list> 
25						</#if> 
26					</div> 
27					<#assign ucmLocaleKey = themeDisplay.getLocale()+"."+siteType+"."+"ucmLocale"> 
28<#assign locale = propsUtil.get(ucmLocaleKey)/> 
29<#assign apiUrl = propsUtil.get("WEB72_API_DOMAIN")/> 
30 
31<#assign lr74CutoverCountryCode = propsUtil.get("LR74_CUTOVER_COUNTRY_CODE")/> 
32<#if lr74CutoverCountryCode??> 
33<#list lr74CutoverCountryCode?split(",") as countryCode> 
34 <#if countryCode = themeDisplay.getLocale()?keep_after_last("_") > 
35    <#assign apiUrl = propsUtil.get("API_DOMAIN")/> 
36 </#if> 
37</#list> 
38</#if> 
39 
40<#attempt> 
41 
42<#if httpUtil.URLtoString(apiUrl+"/o/HaysContentStructure/getcontentstructure/expertFooter/"+locale)??> 
43<#assign response = httpUtil.URLtoString(apiUrl+"/o/HaysContentStructure/getcontentstructure/expertFooter/"+locale)> 
44<#assign responseObj = jsonFactoryUtil.createJSONObject(response)> 
45<#if  responseObj?? && responseObj.results?? && responseObj.results?has_content> 
46<#assign getResponseResultArray = responseObj.getJSONArray("results")> 
47<div id="footer-bottom"> 
48 <#if getResponseResultArray.length() gt 0> 
49 <#assign siteUrl = getResponseResultArray.get(0).siteUrl> 
50  
51 <#if getResponseResultArray.get(0).getJSONArray("GroupHeading")?? && getResponseResultArray.get(0).getJSONArray("GroupHeading").length()?? && getResponseResultArray.get(0).getJSONArray("GroupHeading").length() gt 1> 
52  
53 <#assign groupHeadingArr = getResponseResultArray.get(0).getJSONArray("GroupHeading")> 
54 	<div class="row single-col gpHeading"> 
55	 <div class="col col-12">   
56		 <nav> 
57			<ul> 
58			<#list 0 ..< groupHeadingArr.length()?number as i> 
59			    <#if groupHeadingArr.get(i).Link?starts_with("/")> 
60			     <#assign linkUrl = siteUrl + groupHeadingArr.get(i).Link> 
61					<li> 
62						<a href="${linkUrl}" target="">${groupHeadingArr.get(i).GroupHeading}</a> 
63					</li> 
64				<#else> 
65				    <li> 
66						<a href="${groupHeadingArr.get(i).Link}" target="">${groupHeadingArr.get(i).GroupHeading}</a> 
67					</li> 
68				</#if> 
69			</#list> 
70			</ul> 
71		  </nav> 
72		 </div> 
73	  </div> 
74	 <#elseif getResponseResultArray.get(0).getJSONArray("FooterLink")??> 
75	 <#assign FooterLinkArr = getResponseResultArray.get(0).getJSONArray("FooterLink")> 
76	 <div class="row single-col"> 
77		<div class="col col-12">   
78		 <nav> 
79			<ul> 
80			<#list 0 ..< FooterLinkArr.length()?number as i> 
81			     <#assign linkUrl = FooterLinkArr.get(i).FooterLink?replace("href=\"/", "href=\""+siteUrl+"/" ) > 
82					<li> 
83						${linkUrl} 
84					</li> 
85			</#list> 
86			</ul> 
87		  </nav> 
88		 </div> 
89	  </div> 
90	  
91	 </#if> 
92		<div class="row single-col"> 
93			<div class="col col-12"> 
94	    	<p class="last">${getResponseResultArray.get(0).CopyrightHTML}</p> 
95			</div> 
96		</div> 
97	</#if> 
98</div> 
99</#if> 
100</#if> 
101<#recover> 
102 
103</#attempt> 
104 
105					<div id="copyright-text"> 
106						 <#if CopyrightText?? && CopyrightText.getData()?? && CopyrightText.getData() != ""> 
107				${CopyrightText.getData()} 
108				</#if> 
109					</div> 
110	</div> 
111</div> 
112<script> 
113$(document).ready(function(){ 
114    if((Liferay.ThemeDisplay.getLanguageId() != "en_GB") && (location.href.indexOf("/web/") != -1)) { 
115	console.log("link update required on the site"); 
116	$('a').each(function(index) { 
117		var layoutRelativeUrl = Liferay.ThemeDisplay.getLayoutRelativeURL(); 
118        var getSiteUrl = layoutRelativeUrl.substring(0, layoutRelativeUrl.lastIndexOf("/")); 
119		var linkVal = $(this).attr("href"); 
120		if((typeof linkVal !== "undefined") && linkVal.indexOf("https") == -1 && linkVal.indexOf("/")!= -1 && (linkVal.indexOf("/") === linkVal.lastIndexOf("/"))){ 
121		var updatedLink = getSiteUrl + linkVal ; 
122		$(this).attr("href", updatedLink) 
123		console.log("link updated - " + updatedLink); 
124
125	}); 
126
127}); 
128</script>