<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle26
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>OK, will look inot those for examples<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> xerte-dev-bounces@lists.nottingham.ac.uk [mailto:xerte-dev-bounces@lists.nottingham.ac.uk] <b>On Behalf Of </b>Ron Mitchell<br><b>Sent:</b> 06 July 2015 14:59<br><b>To:</b> 'For Xerte technical developers'<br><b>Subject:</b> [Xerte-dev] Re: Youtube RSS<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='color:#1F497D'>yeah sounds like a plan but I'd suggest api_keys-dist.php or api_keys-sample.php to follow the way moodle or wordpress do this. <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:xerte-dev-bounces@lists.nottingham.ac.uk">xerte-dev-bounces@lists.nottingham.ac.uk</a> [<a href="mailto:xerte-dev-bounces@lists.nottingham.ac.uk">mailto:xerte-dev-bounces@lists.nottingham.ac.uk</a>] <b>On Behalf Of </b>Julian Tenney<br><b>Sent:</b> 06 July 2015 14:46<br><b>To:</b> For Xerte technical developers<br><b>Subject:</b> [Xerte-dev] Re: Youtube RSS<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='color:#1F497D'>Yes we do, there is hardcoded key in the flickr model file as well (presumably mine) which we should also split out, but I think that’s it.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>So perhaps we need an api_keys.php file that defines the vars, and you rename it from api_keys.txt ?<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Tenney Julian <br><b>Sent:</b> 06 July 2015 14:42<br><b>To:</b> 'For Xerte technical developers'<br><b>Subject:</b> RE: [Xerte-dev] Re: Youtube RSS<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='color:#1F497D'>Do we use any other API keys anwhere?<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:xerte-dev-bounces@lists.nottingham.ac.uk">xerte-dev-bounces@lists.nottingham.ac.uk</a> [<a href="mailto:xerte-dev-bounces@lists.nottingham.ac.uk">mailto:xerte-dev-bounces@lists.nottingham.ac.uk</a>] <b>On Behalf Of </b>Ron Mitchell<br><b>Sent:</b> 06 July 2015 14:42<br><b>To:</b> 'For Xerte technical developers'<br><b>Subject:</b> [Xerte-dev] Re: Youtube RSS<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='color:#1F497D'>Just a quick comment to confirm that adding my own key works fine.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>We obviously do need to get this working in a way that future upgrades don't break locally added keys.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:xerte-dev-bounces@lists.nottingham.ac.uk">xerte-dev-bounces@lists.nottingham.ac.uk</a> [<a href="mailto:xerte-dev-bounces@lists.nottingham.ac.uk">mailto:xerte-dev-bounces@lists.nottingham.ac.uk</a>] <b>On Behalf Of </b>Julian Tenney<br><b>Sent:</b> 06 July 2015 12:04<br><b>To:</b> For Xerte technical developers (<a href="mailto:xerte-dev@lists.nottingham.ac.uk">xerte-dev@lists.nottingham.ac.uk</a>)<br><b>Subject:</b> [Xerte-dev] Youtube RSS<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ve got the youtube rss working with a hardcode API key. Before we release the code we can split that out and provide a file for people to store their own keys in and read that. I’d appreciate someone peer-reviewing my code: couple of questions:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We need to load the google api which I’ve done by simply adding…<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-family:"Courier New"'><script src="<a href="https://apis.google.com/js/client.js?onload=googleApiClientReady">https://apis.google.com/js/client.js?onload=googleApiClientReady</a>"></script><o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>…to the top of the file.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The <span style='font-family:"Courier New"'>onGoogleApiClientReady</span> function is defined in global scope so I wondered how to make it part of the <span style='font-family:"Courier New"'>youtuberss</span> object, but if I simply define it within the object, it doesn’t get called (obviously).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I think Fay or John will have an idea how to make all this nice and graceful! I’ve committed the file (you’ll need an API key!)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Let me know comments,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>J<o:p></o:p></p><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre><pre>This message and any attachment are intended solely for the addressee<o:p></o:p></pre><pre>and may contain confidential information. If you have received this<o:p></o:p></pre><pre>message in error, please send it back to me, and immediately delete it. <o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Please do not use, copy or disclose the information contained in this<o:p></o:p></pre><pre>message or in any attachment.  Any views or opinions expressed by the<o:p></o:p></pre><pre>author of this email do not necessarily reflect the views of the<o:p></o:p></pre><pre>University of Nottingham.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>This message has been checked for viruses but the contents of an<o:p></o:p></pre><pre>attachment may still contain software viruses which could damage your<o:p></o:p></pre><pre>computer system, you are advised to perform your own checks. Email<o:p></o:p></pre><pre>communications with the University of Nottingham may be monitored as<o:p></o:p></pre><pre>permitted by UK legislation.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre><pre>This message and any attachment are intended solely for the addressee<o:p></o:p></pre><pre>and may contain confidential information. If you have received this<o:p></o:p></pre><pre>message in error, please send it back to me, and immediately delete it. <o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Please do not use, copy or disclose the information contained in this<o:p></o:p></pre><pre>message or in any attachment.  Any views or opinions expressed by the<o:p></o:p></pre><pre>author of this email do not necessarily reflect the views of the<o:p></o:p></pre><pre>University of Nottingham.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>This message has been checked for viruses but the contents of an<o:p></o:p></pre><pre>attachment may still contain software viruses which could damage your<o:p></o:p></pre><pre>computer system, you are advised to perform your own checks. Email<o:p></o:p></pre><pre>communications with the University of Nottingham may be monitored as<o:p></o:p></pre><pre>permitted by UK legislation.<o:p></o:p></pre></div></body></html>