{"id":795,"date":"2012-10-10T14:35:11","date_gmt":"2012-10-10T18:35:11","guid":{"rendered":"http:\/\/blog.uvm.edu\/ctl-projects\/?p=150"},"modified":"2012-10-10T14:35:11","modified_gmt":"2012-10-10T18:35:11","slug":"i-m-oscar","status":"publish","type":"post","link":"https:\/\/blog.uvm.edu\/waw\/2012\/10\/10\/i-m-oscar\/","title":{"rendered":"I. M. OSCAR"},"content":{"rendered":"<p>Jim McGarry, Exam Proctoring center, sent me this question:<\/p>\n<blockquote><p><em>I want to send an IM (AIM) based on user input on a webpage to one of about 6 recipients whose ids I know. \u00a0User wouldn&#8217;t compose IM &#8211; it would be something like &#8216; &#8220;netid&#8221; is here for a meeting&#8217; where netid is a field he enters.<\/em><\/p><\/blockquote>\n<p>This got complicated fast. AIM uses a proprietary protocol. Any APIs or code modules have been reverse engineered by traffic snooping. Nothing goggled up from php land except for one Russian library I didn&#8217;t want to trust<\/p>\n<p>I did find a perl module, Net::OSCAR . But to run on\u00a0<a href=\"http:\/\/cgi.uvm.edu\/\">cgi.uvm.edu<\/a>\u00a0(which historically is where perl, C, python, or other non-php scripts live), it needed XML::Parser . So I asked SAA if they could install XML::Parser on\u00a0<a href=\"http:\/\/cgi.uvm.edu\/\">cgi.uvm.edu<\/a>, and they told me that they hope to retire\u00a0<a href=\"http:\/\/cgi.uvm.edu\/\">cgi.uvm.edu<\/a>\u00a0sometime this fall, would we like to test something new. I said, &#8220;Sure.&#8221;<\/p>\n<p>So here&#8217;s the deal. epc and waw now have our own virtual web servers<\/p>\n<blockquote><p><a href=\"http:\/\/epc.w3.uvm.edu\/\">http:\/\/epc.w3.uvm.edu<br \/>\n<\/a><a href=\"http:\/\/epc.w3.uvm.edu\/\">http:\/\/waw.w3.uvm.edu<\/a><\/p><\/blockquote>\n<p>Put php and perl scripts there, in www-root. Access and error message logs found in www-logs. You will need to install Net::OSCAR and any other necessary perl modules following these set-up instructions<\/p>\n<blockquote><p><a href=\"http:\/\/stackoverflow.com\/questions\/2980297\/how-can-i-use-cpan-as-a-non-root-user\">http:\/\/stackoverflow.com\/questions\/2980297\/how-can-i-use-cpan-as-a-non-root-user<\/a><\/p><\/blockquote>\n<p>followed by<\/p>\n<p>cpanm Net:OSCAR<\/p>\n<p>add these lines to perl scripts to tell script where to find locally installed perl modules<\/p>\n<p>use lib &#8216;\/users\/e\/p\/epc\/perl5\/lib\/perl5&#8217;;<br \/>\nuse lib &#8216;\/users\/e\/p\/epc\/perl5\/lib\/perl5\/x86_64-linux-thread-multi&#8217;;<\/p>\n<p>I wrote the perl script using sample provided by Net::OSCAR, sent it to Jim with instructions<\/p>\n<p>change these two lines<\/p>\n<p>my $screenname = &#8220;screenname&#8221;;<br \/>\nmy $password = &#8220;password&#8221;;<\/p>\n<p>to send &#8220;holy moley batman&#8221; to screen name &#8220;maddodskideath&#8221; &#8230;<\/p>\n<p><a href=\"http:\/\/epc.w3.uvm.edu\/aim.pl?to=maddogskideath&amp;message=holy+moley+Batman\">http:\/\/waw.w3.uvm.edu\/aim.pl?to=maddogskideath&amp;message=holy+moley+Batman<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jim McGarry, Exam Proctoring center, sent me this question: I want to send an IM (AIM) based on user input on a webpage to one of about 6 recipients whose ids I know. \u00a0User wouldn&#8217;t compose IM &#8211; it would &hellip; <a href=\"https:\/\/blog.uvm.edu\/waw\/2012\/10\/10\/i-m-oscar\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41826],"tags":[42758],"class_list":["post-795","post","type-post","status-publish","format-standard","hentry","category-wes","tag-boffins"],"_links":{"self":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/posts\/795","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/comments?post=795"}],"version-history":[{"count":0,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/posts\/795\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/media?parent=795"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/categories?post=795"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/tags?post=795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}