// API callback
related_results_labels_thumbs({"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$openSearch":"http://a9.com/-/spec/opensearchrss/1.0/","xmlns$blogger":"http://schemas.google.com/blogger/2008","xmlns$georss":"http://www.georss.org/georss","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$thr":"http://purl.org/syndication/thread/1.0","id":{"$t":"tag:blogger.com,1999:blog-7979948"},"updated":{"$t":"2023-11-04T00:04:51.488+01:00"},"category":[{"term":"Tips"},{"term":"Utilities"},{"term":"SQL"},{"term":"Security"},{"term":"Troubleshooting"},{"term":"Scripting"},{"term":"Cluster"},{"term":"IIS"},{"term":"Terminal Server"},{"term":"Bug"},{"term":"Certifications"},{"term":"Development"},{"term":"Vista"},{"term":"Web 2.0"},{"term":"Printer"},{"term":"Backup"},{"term":"Linux"},{"term":"Windows 2008"},{"term":"Gadget"},{"term":"Log"},{"term":"NET Framework"},{"term":"Sniffer"},{"term":"VMware"},{"term":"Cloud Computing"},{"term":"DTS"},{"term":"Hakin9"},{"term":"HyperV"},{"term":"IE"},{"term":"MySQL"},{"term":"Patch"},{"term":"Performance"},{"term":"Setup"},{"term":"Spam"},{"term":"Video"},{"term":"WinFail2Ban"},{"term":"Wireless"},{"term":"64bit"},{"term":"Active Directory"},{"term":"Android"},{"term":"Book"},{"term":"Firmware"},{"term":"GPO"},{"term":"Google"},{"term":"HealthMonitor"},{"term":"ITIL"},{"term":"Java"},{"term":"Mac"},{"term":"Networking"},{"term":"Password"},{"term":"Portable"},{"term":"PostGreSQL"},{"term":"PowerShell"},{"term":"Python"},{"term":"Sites"},{"term":"VOIP"},{"term":"Apache"},{"term":"BlackList"},{"term":"C450IP"},{"term":"Certificates"},{"term":"Console"},{"term":"Crack"},{"term":"Curriculum"},{"term":"Documentation"},{"term":"Drupal"},{"term":"Dump"},{"term":"EMail"},{"term":"Exchange"},{"term":"HP"},{"term":"IM"},{"term":"IOT"},{"term":"Longhorn"},{"term":"Max"},{"term":"Mobile"},{"term":"MotoG"},{"term":"NTFS"},{"term":"News"},{"term":"ODBC"},{"term":"ORDB"},{"term":"Outlook"},{"term":"PHP"},{"term":"Prestashop"},{"term":"Project"},{"term":"Proxy"},{"term":"Raspberry"},{"term":"Refresh"},{"term":"SID"},{"term":"SNMP"},{"term":"SSIS"},{"term":"Seven"},{"term":"Shrink"},{"term":"Sysprep"},{"term":"Tomcat"},{"term":"Transaction"},{"term":"Virtual Lab"},{"term":"VirtualPC"},{"term":"Virus"},{"term":"WSL"},{"term":"arduino"},{"term":"kubernetes"}],"title":{"type":"text","$t":"Vittorio Pavesi"},"subtitle":{"type":"html","$t":"This blog contain some interesting links, some useful information and any other thing I would like to keep logged."},"link":[{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https:\/\/blog.vittoriopavesi.com\/feeds\/posts\/default"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/-\/Development?alt=json-in-script\u0026max-results=8"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.vittoriopavesi.com\/search\/label\/Development"},{"rel":"hub","href":"http://pubsubhubbub.appspot.com/"}],"author":[{"name":{"$t":"Vittorio Pavesi"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02804415638484029352"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"28","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgOoro_s3C1b_DZE-3GujtKIXlBpoOefHNYDXUx6bslh2x9OUVq7B19Zp9SsQRr2aY3GNydJfKVIbfM2wTsQWukqspPOeC0pq4yVLAkEg5tVzKX0NoL1EZHDPdNKJKgi3M\/s113\/vittorio.jpg"}}],"generator":{"version":"7.00","uri":"http://www.blogger.com","$t":"Blogger"},"openSearch$totalResults":{"$t":"8"},"openSearch$startIndex":{"$t":"1"},"openSearch$itemsPerPage":{"$t":"8"},"entry":[{"id":{"$t":"tag:blogger.com,1999:blog-7979948.post-670080643479373062"},"published":{"$t":"2020-03-14T10:11:00.002+01:00"},"updated":{"$t":"2020-03-14T10:17:17.488+01:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Development"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SNMP"}],"title":{"type":"text","$t":"Check_MK SNMP Plugin Example"},"content":{"type":"html","$t":"I spent days looking for a good example for an SNMP Plugin for \u003Ca href=\"https:\/\/checkmk.com\/\" target=\"_blank\"\u003ECheck_MK Monitoring System\u003C\/a\u003E but I didn't find a good one and the \u003Ca href=\"https:\/\/checkmk.com\/cms_snmp.html\" target=\"_blank\"\u003Edocumentation \u003C\/a\u003Eis not clear at all..\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nSo I decided to write one by myself and publish on \u003Ca href=\"https:\/\/github.com\/vittoriop77\" target=\"_blank\"\u003Emy Github\u003C\/a\u003E.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-CArm2y6ixOI\/XmyfBIyhIVI\/AAAAAAAAisE\/_BfTqXbAV_MV4wjPoFNZKa4cXrlSWrudwCLcBGAsYHQ\/s1600\/Code.PNG\" imageanchor=\"1\" style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"480\" data-original-width=\"533\" height=\"288\" src=\"https:\/\/1.bp.blogspot.com\/-CArm2y6ixOI\/XmyfBIyhIVI\/AAAAAAAAisE\/_BfTqXbAV_MV4wjPoFNZKa4cXrlSWrudwCLcBGAsYHQ\/s320\/Code.PNG\" width=\"320\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\nSource code available here:\u0026nbsp;\u003Ca href=\"https:\/\/github.com\/vittoriop77\/Check_MK_Plugins\/blob\/master\/SMTP_Sessions\" style=\"text-align: center;\"\u003Ehttps:\/\/github.com\/vittoriop77\/Check_MK_Plugins\/blob\/master\/SMTP_Sessions\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cscript type=\"text\/javascript\"\u003E\u003C!--\ngoogle_ad_client = \"pub-9208424847702026\";\ngoogle_ad_width = 728;\ngoogle_ad_height = 90;\ngoogle_ad_format = \"728x90_as\";\ngoogle_ad_type = \"text_image\";\ngoogle_ad_channel = \"\";\ngoogle_ui_features = \"rc:6\";\n\/\/--\u003E\n\u003C\/script\u003E\n\u003Cscript type=\"text\/javascript\"\n  src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\"\u003E\n\u003C\/script\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.vittoriopavesi.com\/feeds\/670080643479373062\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=7979948\u0026postID=670080643479373062","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/670080643479373062"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/670080643479373062"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.vittoriopavesi.com\/2020\/03\/checkmk-snmp-plugin-example.html","title":"Check_MK SNMP Plugin Example"}],"author":[{"name":{"$t":"Vittorio Pavesi"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02804415638484029352"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"28","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgOoro_s3C1b_DZE-3GujtKIXlBpoOefHNYDXUx6bslh2x9OUVq7B19Zp9SsQRr2aY3GNydJfKVIbfM2wTsQWukqspPOeC0pq4yVLAkEg5tVzKX0NoL1EZHDPdNKJKgi3M\/s113\/vittorio.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-CArm2y6ixOI\/XmyfBIyhIVI\/AAAAAAAAisE\/_BfTqXbAV_MV4wjPoFNZKa4cXrlSWrudwCLcBGAsYHQ\/s72-c\/Code.PNG","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-7979948.post-4225221066233560417"},"published":{"$t":"2017-03-18T23:48:00.000+01:00"},"updated":{"$t":"2017-03-18T23:48:00.219+01:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Development"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Python"}],"title":{"type":"text","$t":"Python Get a list of anonymous proxy"},"content":{"type":"html","$t":"\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/2.bp.blogspot.com\/-x9L9VZLcQNU\/WMsV-GQDHoI\/AAAAAAAALTE\/HLFwgVBzVf0PyOUOPrB3V_IhDoz0t2QPACLcB\/s1600\/pythonlogo.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" height=\"135\" src=\"https:\/\/2.bp.blogspot.com\/-x9L9VZLcQNU\/WMsV-GQDHoI\/AAAAAAAALTE\/HLFwgVBzVf0PyOUOPrB3V_IhDoz0t2QPACLcB\/s200\/pythonlogo.jpg\" width=\"200\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\nThe following script in Python generate a file with a list of anonymous proxy \u0026nbsp;from\u0026nbsp;http:\/\/gatherproxy.com\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003C!-- HTML generated using hilite.me --\u003E\u003Cbr \/\u003E\n\u003Cdiv style=\"background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;\"\u003E\n\u003Cpre style=\"line-height: 125%; margin: 0;\"\u003E\u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Eimport\u003C\/span\u003E \u003Cspan style=\"color: #0e84b5; font-weight: bold;\"\u003Eurllib2\u003C\/span\u003E\n\n\u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Edef\u003C\/span\u003E \u003Cspan style=\"color: #0066bb; font-weight: bold;\"\u003EWriteFile\u003C\/span\u003E(\u003Cspan style=\"color: #007020;\"\u003Estr\u003C\/span\u003E):\n    \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Ewith\u003C\/span\u003E \u003Cspan style=\"color: #007020;\"\u003Eopen\u003C\/span\u003E(\u003Cspan style=\"background-color: #fff0f0;\"\u003E'\/mnt\/d\/Temp\/proxylist.txt'\u003C\/span\u003E, \u003Cspan style=\"background-color: #fff0f0;\"\u003E\"a\"\u003C\/span\u003E) \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Eas\u003C\/span\u003E f:\n        f\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Ewrite(\u003Cspan style=\"color: #007020;\"\u003Estr\u003C\/span\u003E\u003Cspan style=\"color: #333333;\"\u003E+\u003C\/span\u003E\u003Cspan style=\"background-color: #fff0f0;\"\u003E'\u003C\/span\u003E\u003Cspan style=\"background-color: #fff0f0; color: #666666; font-weight: bold;\"\u003E\\n\u003C\/span\u003E\u003Cspan style=\"background-color: #fff0f0;\"\u003E'\u003C\/span\u003E)\n        \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Ereturn\u003C\/span\u003E\n\n\u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Edef\u003C\/span\u003E \u003Cspan style=\"color: #0066bb; font-weight: bold;\"\u003EGetURL\u003C\/span\u003E(URLString):\n attempts \u003Cspan style=\"color: #333333;\"\u003E=\u003C\/span\u003E \u003Cspan style=\"color: #0000dd; font-weight: bold;\"\u003E0\u003C\/span\u003E\n \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Ewhile\u003C\/span\u003E attempts \u003Cspan style=\"color: #333333;\"\u003E\u0026lt;\u003C\/span\u003E \u003Cspan style=\"color: #0000dd; font-weight: bold;\"\u003E3\u003C\/span\u003E:\n  \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Etry\u003C\/span\u003E:\n   opener \u003Cspan style=\"color: #333333;\"\u003E=\u003C\/span\u003E urllib2\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Ebuild_opener()\n   urllib2\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Einstall_opener(opener)\n   \n   response \u003Cspan style=\"color: #333333;\"\u003E=\u003C\/span\u003E urllib2\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Eurlopen(URLString, timeout \u003Cspan style=\"color: #333333;\"\u003E=\u003C\/span\u003E \u003Cspan style=\"color: #0000dd; font-weight: bold;\"\u003E30\u003C\/span\u003E)\n   content \u003Cspan style=\"color: #333333;\"\u003E=\u003C\/span\u003E response\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Eread()\n   \u003Cspan style=\"color: #888888;\"\u003E#print(content)\u003C\/span\u003E\n   \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Efrom\u003C\/span\u003E \u003Cspan style=\"color: #0e84b5; font-weight: bold;\"\u003Ebs4\u003C\/span\u003E \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Eimport\u003C\/span\u003E BeautifulSoup\n   soup \u003Cspan style=\"color: #333333;\"\u003E=\u003C\/span\u003E BeautifulSoup(content)\n   \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Efor\u003C\/span\u003E row \u003Cspan style=\"color: black; font-weight: bold;\"\u003Ein\u003C\/span\u003E soup\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003EfindAll(\u003Cspan style=\"background-color: #fff0f0;\"\u003E\"script\"\u003C\/span\u003E):\n    riga\u003Cspan style=\"color: #333333;\"\u003E=\u003C\/span\u003E \u003Cspan style=\"background-color: #fff0f0;\"\u003E''\u003C\/span\u003E\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Ejoin(\u003Cspan style=\"color: #007020;\"\u003Emap\u003C\/span\u003E(\u003Cspan style=\"color: #007020;\"\u003Estr\u003C\/span\u003E, row\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Econtents))\n    \u003Cspan style=\"color: #888888;\"\u003E#print(riga)\u003C\/span\u003E\n    \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Eif\u003C\/span\u003E \u003Cspan style=\"background-color: #fff0f0;\"\u003E'gp.insertPrx'\u003C\/span\u003E \u003Cspan style=\"color: black; font-weight: bold;\"\u003Ein\u003C\/span\u003E riga:\n     StrArray \u003Cspan style=\"color: #333333;\"\u003E=\u003C\/span\u003E riga\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Esplit(\u003Cspan style=\"background-color: #fff0f0;\"\u003E\":\"\u003C\/span\u003E)\n     IP \u003Cspan style=\"color: #333333;\"\u003E=\u003C\/span\u003E StrArray[\u003Cspan style=\"color: #0000dd; font-weight: bold;\"\u003E3\u003C\/span\u003E]\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Esplit(\u003Cspan style=\"background-color: #fff0f0;\"\u003E\",\"\u003C\/span\u003E)[\u003Cspan style=\"color: #0000dd; font-weight: bold;\"\u003E0\u003C\/span\u003E]\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Ereplace(\u003Cspan style=\"background-color: #fff0f0;\"\u003E'\u003C\/span\u003E\u003Cspan style=\"background-color: #fff0f0; color: #666666; font-weight: bold;\"\u003E\\\"\u003C\/span\u003E\u003Cspan style=\"background-color: #fff0f0;\"\u003E'\u003C\/span\u003E,\u003Cspan style=\"background-color: #fff0f0;\"\u003E''\u003C\/span\u003E)\n     port \u003Cspan style=\"color: #333333;\"\u003E=\u003C\/span\u003E \u003Cspan style=\"color: #007020;\"\u003Estr\u003C\/span\u003E(\u003Cspan style=\"color: #007020;\"\u003Eint\u003C\/span\u003E(StrArray[\u003Cspan style=\"color: #0000dd; font-weight: bold;\"\u003E5\u003C\/span\u003E]\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Esplit(\u003Cspan style=\"background-color: #fff0f0;\"\u003E\",\"\u003C\/span\u003E)[\u003Cspan style=\"color: #0000dd; font-weight: bold;\"\u003E0\u003C\/span\u003E]\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003Ereplace(\u003Cspan style=\"background-color: #fff0f0;\"\u003E'\u003C\/span\u003E\u003Cspan style=\"background-color: #fff0f0; color: #666666; font-weight: bold;\"\u003E\\\"\u003C\/span\u003E\u003Cspan style=\"background-color: #fff0f0;\"\u003E'\u003C\/span\u003E,\u003Cspan style=\"background-color: #fff0f0;\"\u003E''\u003C\/span\u003E), \u003Cspan style=\"color: #0000dd; font-weight: bold;\"\u003E16\u003C\/span\u003E))\n     WriteFile(IP\u003Cspan style=\"color: #333333;\"\u003E+\u003C\/span\u003E\u003Cspan style=\"background-color: #fff0f0;\"\u003E\":\"\u003C\/span\u003E\u003Cspan style=\"color: #333333;\"\u003E+\u003C\/span\u003Eport)\n\n   \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Ebreak\u003C\/span\u003E\n  \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Eexcept\u003C\/span\u003E urllib2\u003Cspan style=\"color: #333333;\"\u003E.\u003C\/span\u003EURLError \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Eas\u003C\/span\u003E e:\n   attempts \u003Cspan style=\"color: #333333;\"\u003E+=\u003C\/span\u003E \u003Cspan style=\"color: #0000dd; font-weight: bold;\"\u003E1\u003C\/span\u003E\n   \u003Cspan style=\"color: #008800; font-weight: bold;\"\u003Eprint\u003C\/span\u003E \u003Cspan style=\"color: #007020;\"\u003Etype\u003C\/span\u003E(e)\n\nGetURL(\u003Cspan style=\"background-color: #fff0f0;\"\u003E\"http:\/\/gatherproxy.com\/proxylist\/anonymity\/?t=Anonymous#1\"\u003C\/span\u003E)\nGetURL(\u003Cspan style=\"background-color: #fff0f0;\"\u003E\"http:\/\/gatherproxy.com\/proxylist\/anonymity\/?t=Anonymous#2\"\u003C\/span\u003E)\n\u003C\/pre\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cscript type=\"text\/javascript\"\u003E\u003C!--\ngoogle_ad_client = \"pub-9208424847702026\";\ngoogle_ad_width = 728;\ngoogle_ad_height = 90;\ngoogle_ad_format = \"728x90_as\";\ngoogle_ad_type = \"text_image\";\ngoogle_ad_channel = \"\";\ngoogle_ui_features = \"rc:6\";\n\/\/--\u003E\n\u003C\/script\u003E\n\u003Cscript type=\"text\/javascript\"\n  src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\"\u003E\n\u003C\/script\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.vittoriopavesi.com\/feeds\/4225221066233560417\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=7979948\u0026postID=4225221066233560417","title":"1 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/4225221066233560417"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/4225221066233560417"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.vittoriopavesi.com\/2017\/03\/python-get-list-of-anonymous-proxy.html","title":"Python Get a list of anonymous proxy"}],"author":[{"name":{"$t":"Vittorio Pavesi"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02804415638484029352"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"28","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgOoro_s3C1b_DZE-3GujtKIXlBpoOefHNYDXUx6bslh2x9OUVq7B19Zp9SsQRr2aY3GNydJfKVIbfM2wTsQWukqspPOeC0pq4yVLAkEg5tVzKX0NoL1EZHDPdNKJKgi3M\/s113\/vittorio.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/2.bp.blogspot.com\/-x9L9VZLcQNU\/WMsV-GQDHoI\/AAAAAAAALTE\/HLFwgVBzVf0PyOUOPrB3V_IhDoz0t2QPACLcB\/s72-c\/pythonlogo.jpg","height":"72","width":"72"},"thr$total":{"$t":"1"}},{"id":{"$t":"tag:blogger.com,1999:blog-7979948.post-4369301893624226051"},"published":{"$t":"2017-03-16T23:42:00.003+01:00"},"updated":{"$t":"2017-03-16T23:42:42.805+01:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Development"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Prestashop"}],"title":{"type":"text","$t":"Prestashop DropShipping Module"},"content":{"type":"html","$t":"\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/2.bp.blogspot.com\/-piVcpVCEZss\/WMsRgZuwvnI\/AAAAAAAALS4\/_Wo9IPeBXVMQvhHPeG3JAiGPA89ySYBrwCLcB\/s1600\/Presta.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" height=\"205\" src=\"https:\/\/2.bp.blogspot.com\/-piVcpVCEZss\/WMsRgZuwvnI\/AAAAAAAALS4\/_Wo9IPeBXVMQvhHPeG3JAiGPA89ySYBrwCLcB\/s320\/Presta.jpg\" width=\"320\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\nI need to integrate \u003Cb\u003EPrestashop\u003C\/b\u003E with a \u003Cb\u003EDropshipper\u003C\/b\u003E but no modules were available for it.\u003Cbr \/\u003E\nI created an empty module using these instructions\u0026nbsp;http:\/\/doc.prestashop.com\/display\/PS16\/Creating+a+first+module, then I added an \u003Cb\u003EHook\u003C\/b\u003E Function linked to \u003Cb\u003EPayment\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003Epublic function hookactionPaymentConfirmation($params)\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E   \u003C\/span\u003E{\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E\/\/the thing you want to do when the hook's executed goes here\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E$order = new Order((int)$params['id_order']);\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E$address = new Address((int)$order-\u0026gt;id_address_delivery);\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E$state = new State((int)$address-\u0026gt;id_state);\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E$country = new Country((int)$state-\u0026gt;id_country);\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E$product_list = $order-\u0026gt;getOrderDetailList();\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E    \u003C\/span\u003E\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E$prodotti = '[';\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; foreach ($product_list as $product)\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E{\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E     \u003C\/span\u003Eif ($prodotti != '[')\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E     \u003C\/span\u003E{\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E      \u003C\/span\u003E$prodotti .= ',';\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E     \u003C\/span\u003E}\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E     \u003C\/span\u003E$prodotti .= '{\"codice\": \"'.$product['product_reference'].'\", \"qta\": '.$product['product_quantity'].'}';\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E}\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E        \u003C\/span\u003E\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E$prodotti .= ']';\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E\/\/CONTACT THE DROPSHIPPER API\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E \u003C\/span\u003E\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E   \u003C\/span\u003E}\u003C\/span\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E \u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nIf you need to verify the stock availability you need to override the Cart Class for the function\u0026nbsp;checkProductsAccess and remove the product from the cart if it's not available\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003Epublic function checkProductsAccess()\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u0026nbsp; \u0026nbsp; {\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E  \u003C\/span\u003Eparent::checkProductsAccess();\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E  \u003C\/span\u003Eforeach ($this-\u0026gt;getProducts() as $product) {\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E   \u003C\/span\u003E \u0026nbsp; \u0026nbsp;\/\/CHECK AVAILABILITY\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003Eif ($avail = 0) \u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E{\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E     \u003C\/span\u003E$this-\u0026gt;deleteProduct($product[\"id_product\"]);\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E     \u003C\/span\u003Ereturn $product['id_product'];\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u003Cspan class=\"Apple-tab-span\" style=\"white-space: pre;\"\u003E    \u003C\/span\u003E}\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; return false;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;\"\u003E\u0026nbsp; \u0026nbsp; }\u003C\/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cscript type=\"text\/javascript\"\u003E\u003C!--\ngoogle_ad_client = \"pub-9208424847702026\";\ngoogle_ad_width = 728;\ngoogle_ad_height = 90;\ngoogle_ad_format = \"728x90_as\";\ngoogle_ad_type = \"text_image\";\ngoogle_ad_channel = \"\";\ngoogle_ui_features = \"rc:6\";\n\/\/--\u003E\n\u003C\/script\u003E\n\u003Cscript type=\"text\/javascript\"\n  src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\"\u003E\n\u003C\/script\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.vittoriopavesi.com\/feeds\/4369301893624226051\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=7979948\u0026postID=4369301893624226051","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/4369301893624226051"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/4369301893624226051"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.vittoriopavesi.com\/2017\/03\/prestashop-dropshipping-module.html","title":"Prestashop DropShipping Module"}],"author":[{"name":{"$t":"Vittorio Pavesi"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02804415638484029352"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"28","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgOoro_s3C1b_DZE-3GujtKIXlBpoOefHNYDXUx6bslh2x9OUVq7B19Zp9SsQRr2aY3GNydJfKVIbfM2wTsQWukqspPOeC0pq4yVLAkEg5tVzKX0NoL1EZHDPdNKJKgi3M\/s113\/vittorio.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/2.bp.blogspot.com\/-piVcpVCEZss\/WMsRgZuwvnI\/AAAAAAAALS4\/_Wo9IPeBXVMQvhHPeG3JAiGPA89ySYBrwCLcB\/s72-c\/Presta.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-7979948.post-8171288135087907937"},"published":{"$t":"2016-03-29T10:51:00.001+02:00"},"updated":{"$t":"2017-03-17T11:26:26.342+01:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Development"},{"scheme":"http://www.blogger.com/atom/ns#","term":"PowerShell"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Troubleshooting"},{"scheme":"http://www.blogger.com/atom/ns#","term":"VMware"}],"title":{"type":"text","$t":"vSphere 6 HTML Console"},"content":{"type":"html","$t":"\u003Ca href=\"https:\/\/3.bp.blogspot.com\/-DUf9VELpkEA\/VvpBtPalePI\/AAAAAAAAH9c\/flvks8rARbAc6zLzAtk4SyOod2u8JLyjw\/s1600\/Untitled.png\" imageanchor=\"1\" style=\"clear: right; float: right; margin-bottom: 1em; margin-left: 1em;\"\u003E\u003Cimg border=\"0\" height=\"225\" src=\"https:\/\/3.bp.blogspot.com\/-DUf9VELpkEA\/VvpBtPalePI\/AAAAAAAAH9c\/flvks8rARbAc6zLzAtk4SyOod2u8JLyjw\/s400\/Untitled.png\" width=\"400\" \/\u003E\u003C\/a\u003EIf you want to provide an HTML console for vSphere 6 you can just follow these simple steps:\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Col\u003E\n\u003Cli\u003EDownload ZIP from VMware Site\u0026nbsp;https:\/\/www.vmware.com\/support\/developer\/html-console\/ \u0026nbsp;(HTML, JS, CSS)\u003C\/li\u003E\n\u003Cli\u003EInstall the vCenter Certificate into the web server providing HTML console (REALLY IMPORTANT)\u003C\/li\u003E\n\u003Cli\u003ECreate an HTML page with the following code\u003C\/li\u003E\n\u003C\/ol\u003E\n\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"portlet-body\"\u003E\n\u003Cdiv id=\"output_text\"\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;!DOCTYPE html\n PUBLIC\"-\/\/W3C\/\/DTD XHTML 1.0 Strict\/\/EN\"\n\"http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-strict.dtd\"\u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;html\n xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"\u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;head\u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;meta http-equiv=\"content-type\" \ncontent=\"text\/html; charset=utf-8\" \/\u0026gt;\n\u0026lt;title\u0026gt;Console\u0026lt;\/title\u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;\/head\u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;body\u0026gt;\n\u0026lt;link rel=\"stylesheet\" \ntype=\"text\/css\" href=\"wmks-all.css\" \n\/\u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;script type=\"text\/javascript\" \nsrc=\"jquery-1.8.3.min.js\"\u0026gt;\u0026lt;\/script\u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;script\n type=\"text\/javascript\" \nsrc=\"jquery-ui.min.js\"\u0026gt;\u0026lt;\/script\u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;script type=\"text\/javascript\" \nsrc=\"wmks.js\" \ntype=\"text\/javascript\"\u0026gt;\u0026lt;\/script\u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;div id=\"wmksContainer\" \nstyle=\"position:absolute;width:100%;height:100%\"\u0026gt;\u0026lt;\/div\u0026gt;\u0026nbsp;\n\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;script\u0026gt;\n\n var wmks = WMKS.createWMKS(\"wmksContainer\",{})\n .register(WMKS.CONST.Events.CONNECTION_STATE_CHANGE, \nfunction(event,data){\n if(data.state == WMKS.CONST.ConnectionState.CONNECTED)\n  {\n   console.log(\"connection state change : connected\");\n  }\n });\n \nwmks.connect(\"wss:\/\/ESXhost:443\/ticket\/TICKETNUMBER\");\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;\/script \u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;\/body\u0026gt;\u0026nbsp;\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: blue; font-family: \u0026quot;courier new\u0026quot; , \u0026quot;courier\u0026quot; , monospace; font-size: x-small;\"\u003E\u0026lt;\/html\u0026gt;\u003C\/span\u003E\u003C\/div\u003E\n\u003C\/div\u003E\n\u003Cbr \/\u003E\nIn order to generate ticket you can use something like this:\u003Cbr \/\u003E\n\u003Cdiv style=\"background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;\"\u003E\n\u003Cspan style=\"color: blue; font-family: monospace , monospace;\"\u003EAdd-PSSnapin VMware.VimAutomation.Core\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;\"\u003E\n\u003Cspan style=\"color: blue; font-family: monospace , monospace;\"\u003E$VCenter = \"vcenter.vc.local\"\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;\"\u003E\n\u003Cspan style=\"color: blue; font-family: monospace , monospace;\"\u003EConnect-VIServer $VCenter -User vc\\administrator -Password Password\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;\"\u003E\n\u003Cspan style=\"color: blue; font-family: monospace , monospace;\"\u003E$Vm = Get-VM VIRTUALMACHINE1\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;\"\u003E\n\u003Cspan style=\"color: blue; font-family: monospace , monospace;\"\u003E$Ticket = $Vm.ExtensionData.\u003Cwbr\u003E\u003C\/wbr\u003EAcquireTicket(\"webmks\")\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;\"\u003E\n\u003Cspan style=\"color: blue; font-family: monospace , monospace;\"\u003E$ESXHost = $Ticket.host\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;\"\u003E\n\u003Cspan style=\"color: blue; font-family: monospace , monospace; font-size: 12.8px;\"\u003E$TicketNumber = $Ticket.ticket\u003C\/span\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nThe logic is:\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nMore details here:\u0026nbsp;https:\/\/www.vmware.com\/support\/developer\/html-console\/html-console-sdk-100-programmer-guide.pdf\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cscript type=\"text\/javascript\"\u003E\u003C!--\ngoogle_ad_client = \"pub-9208424847702026\";\ngoogle_ad_width = 728;\ngoogle_ad_height = 90;\ngoogle_ad_format = \"728x90_as\";\ngoogle_ad_type = \"text_image\";\ngoogle_ad_channel = \"\";\ngoogle_ui_features = \"rc:6\";\n\/\/--\u003E\n\u003C\/script\u003E\n\u003Cscript type=\"text\/javascript\"\n  src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\"\u003E\n\u003C\/script\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.vittoriopavesi.com\/feeds\/8171288135087907937\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=7979948\u0026postID=8171288135087907937","title":"34 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/8171288135087907937"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/8171288135087907937"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.vittoriopavesi.com\/2016\/03\/vsphere-6-html-console.html","title":"vSphere 6 HTML Console"}],"author":[{"name":{"$t":"Vittorio Pavesi"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02804415638484029352"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"28","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgOoro_s3C1b_DZE-3GujtKIXlBpoOefHNYDXUx6bslh2x9OUVq7B19Zp9SsQRr2aY3GNydJfKVIbfM2wTsQWukqspPOeC0pq4yVLAkEg5tVzKX0NoL1EZHDPdNKJKgi3M\/s113\/vittorio.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/3.bp.blogspot.com\/-DUf9VELpkEA\/VvpBtPalePI\/AAAAAAAAH9c\/flvks8rARbAc6zLzAtk4SyOod2u8JLyjw\/s72-c\/Untitled.png","height":"72","width":"72"},"thr$total":{"$t":"34"}},{"id":{"$t":"tag:blogger.com,1999:blog-7979948.post-3074451520550261674"},"published":{"$t":"2011-04-06T23:50:00.002+02:00"},"updated":{"$t":"2011-04-06T23:54:05.239+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Development"}],"title":{"type":"text","$t":"Graph DB"},"content":{"type":"html","$t":"I just learned that exist a new type of DB called Graph DB.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nA graph database is a kind of NoSQL database that uses graph structures with nodes, edges, and properties to represent and store information. Nodes are very similar in nature to the objects that object-oriented programmers will be familiar with.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nMore details on \u003Ca href=\"http:\/\/en.wikipedia.org\/wiki\/Graph_database\"\u003Ehttp:\/\/en.wikipedia.org\/wiki\/Graph_database\u003C\/a\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"width:425px\" id=\"__ss_3792258\"\u003E\u003Cstrong style=\"display:block;margin:12px 0 4px\"\u003E\u003Ca href=\"http:\/\/www.slideshare.net\/thobe\/nosqleu-graph-databases-and-neo4j\" title=\"NOSQLEU - Graph Databases and Neo4j\"\u003ENOSQLEU - Graph Databases and Neo4j\u003C\/a\u003E\u003C\/strong\u003E \u003Ciframe src=\"http:\/\/www.slideshare.net\/slideshow\/embed_code\/3792258\" width=\"425\" height=\"355\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"\u003E\u003C\/iframe\u003E \u003Cdiv style=\"padding:5px 0 12px\"\u003EView more \u003Ca href=\"http:\/\/www.slideshare.net\/\"\u003Epresentations\u003C\/a\u003E from \u003Ca href=\"http:\/\/www.slideshare.net\/thobe\"\u003ETobias Ivarsson\u003C\/a\u003E \u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cscript type=\"text\/javascript\"\u003E\u003C!--\ngoogle_ad_client = \"pub-9208424847702026\";\ngoogle_ad_width = 728;\ngoogle_ad_height = 90;\ngoogle_ad_format = \"728x90_as\";\ngoogle_ad_type = \"text_image\";\ngoogle_ad_channel = \"\";\ngoogle_ui_features = \"rc:6\";\n\/\/--\u003E\n\u003C\/script\u003E\n\u003Cscript type=\"text\/javascript\"\n  src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\"\u003E\n\u003C\/script\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.vittoriopavesi.com\/feeds\/3074451520550261674\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=7979948\u0026postID=3074451520550261674","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/3074451520550261674"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/3074451520550261674"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.vittoriopavesi.com\/2011\/04\/graph-db.html","title":"Graph DB"}],"author":[{"name":{"$t":"Vittorio Pavesi"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02804415638484029352"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"28","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgOoro_s3C1b_DZE-3GujtKIXlBpoOefHNYDXUx6bslh2x9OUVq7B19Zp9SsQRr2aY3GNydJfKVIbfM2wTsQWukqspPOeC0pq4yVLAkEg5tVzKX0NoL1EZHDPdNKJKgi3M\/s113\/vittorio.jpg"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-7979948.post-8285122887983543556"},"published":{"$t":"2010-01-11T13:55:00.002+01:00"},"updated":{"$t":"2010-01-11T14:12:22.722+01:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Development"},{"scheme":"http://www.blogger.com/atom/ns#","term":"NET Framework"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Security"}],"title":{"type":"text","$t":"Microsoft CAT.NET – Binary Code Analyzer for .NET Code"},"content":{"type":"html","$t":"\u003Ca href=\"http:\/\/1.bp.blogspot.com\/_OHxyZ_c181U\/S0shqF57kHI\/AAAAAAAAARk\/qMMX5E7Dw_s\/s1600-h\/img-secure.png\"\u003E\u003Cimg style=\"MARGIN: 0px 10px 10px 0px; WIDTH: 280px; FLOAT: left; HEIGHT: 280px; CURSOR: hand\" id=\"BLOGGER_PHOTO_ID_5425467183121272946\" border=\"0\" alt=\"\" src=\"http:\/\/1.bp.blogspot.com\/_OHxyZ_c181U\/S0shqF57kHI\/AAAAAAAAARk\/qMMX5E7Dw_s\/s320\/img-secure.png\" \/\u003E\u003C\/a\u003E\u003Cbr \/\u003E\u003Cdiv\u003EMicrosoft CAT.NET is a \u003Cstrong\u003Ebinary code analysis tool\u003C\/strong\u003E that helps identify common variants of certain prevailing vulnerabilities that can give rise to common attack vectors such as Cross-Site Scripting (XSS), SQL Injection and XPath Injection.\u003C\/div\u003E\u003Cdiv\u003E \u003C\/div\u003E\u003Cdiv\u003E\u003C\/div\u003E\u003Cdiv\u003EThe goal of this product is to \u003Cstrong\u003Eidentify insecure configuration at all layers of the application\u003C\/strong\u003E (configuration files, code level configuration, etc.) which should be remediated prior to deployment on a production environment.\u003C\/div\u003E\u003Cdiv\u003E \u003C\/div\u003E\u003Cdiv\u003E\u003C\/div\u003E\u003Cdiv\u003EArchitecture behind CAT.NET is well explained in this \u003Cstrong\u003Evideo\u003C\/strong\u003E: \u003Ca href=\"http:\/\/channel9.msdn.com\/posts\/Jossie\/Architecture-behind-CATNET\/\"\u003Ehttp:\/\/channel9.msdn.com\/posts\/Jossie\/Architecture-behind-CATNET\/\u003C\/a\u003E\u003C\/div\u003E\u003Cdiv\u003E \u003C\/div\u003E\u003Cdiv\u003E\u003C\/div\u003E\u003Cdiv\u003ETo \u003Cstrong\u003Edownload\u003C\/strong\u003E CAT use this link: \u003Ca href=\"https:\/\/connect.microsoft.com\/Downloads\/DownloadDetails.aspx?SiteID=734\u0026amp;DownloadID=23328\"\u003Ehttps:\/\/connect.microsoft.com\/Downloads\/DownloadDetails.aspx?SiteID=734\u0026amp;DownloadID=23328\u003C\/a\u003E \u003C\/div\u003E\u003Cdiv\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003C\/div\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cscript type=\"text\/javascript\"\u003E\u003C!--\ngoogle_ad_client = \"pub-9208424847702026\";\ngoogle_ad_width = 728;\ngoogle_ad_height = 90;\ngoogle_ad_format = \"728x90_as\";\ngoogle_ad_type = \"text_image\";\ngoogle_ad_channel = \"\";\ngoogle_ui_features = \"rc:6\";\n\/\/--\u003E\n\u003C\/script\u003E\n\u003Cscript type=\"text\/javascript\"\n  src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\"\u003E\n\u003C\/script\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.vittoriopavesi.com\/feeds\/8285122887983543556\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=7979948\u0026postID=8285122887983543556","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/8285122887983543556"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/8285122887983543556"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.vittoriopavesi.com\/2010\/01\/microsoft-catnet-binary-code-analyzer.html","title":"Microsoft CAT.NET – Binary Code Analyzer for .NET Code"}],"author":[{"name":{"$t":"Vittorio Pavesi"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02804415638484029352"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"28","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgOoro_s3C1b_DZE-3GujtKIXlBpoOefHNYDXUx6bslh2x9OUVq7B19Zp9SsQRr2aY3GNydJfKVIbfM2wTsQWukqspPOeC0pq4yVLAkEg5tVzKX0NoL1EZHDPdNKJKgi3M\/s113\/vittorio.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/1.bp.blogspot.com\/_OHxyZ_c181U\/S0shqF57kHI\/AAAAAAAAARk\/qMMX5E7Dw_s\/s72-c\/img-secure.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-7979948.post-3233759704401115299"},"published":{"$t":"2009-09-20T20:42:00.000+02:00"},"updated":{"$t":"2012-05-13T09:56:40.217+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Development"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Utilities"},{"scheme":"http://www.blogger.com/atom/ns#","term":"WinFail2Ban"}],"title":{"type":"text","$t":"WinFail2Ban 0.4 Released"},"content":{"type":"html","$t":"\u003Ca href=\"http:\/\/winfail2ban.sourceforge.net\/\"\u003E\u003Cimg alt=\"\" border=\"0\" id=\"BLOGGER_PHOTO_ID_5383174226186996290\" src=\"http:\/\/4.bp.blogspot.com\/_OHxyZ_c181U\/SrTgb_vqCkI\/AAAAAAAAARY\/Ei8SvOnzwx8\/s320\/winfail2ban.jpg\" style=\"cursor: hand; display: block; height: 247px; margin: 0px auto 10px; text-align: center; width: 310px;\" \/\u003E\u003C\/a\u003E An year ago I started working on a new OpenSource project called WinFail2Ban, I just released a new version with important features like WhileList and Reporting.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nSee more on \u003Ca href=\"http:\/\/winfail2ban.sourceforge.net\/\"\u003Ehttp:\/\/winfail2ban.sourceforge.net\/\u003C\/a\u003E\u003Cbr \/\u003E\n\u003Cdiv\u003E\n\u003C\/div\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cscript type=\"text\/javascript\"\u003E\u003C!--\ngoogle_ad_client = \"pub-9208424847702026\";\ngoogle_ad_width = 728;\ngoogle_ad_height = 90;\ngoogle_ad_format = \"728x90_as\";\ngoogle_ad_type = \"text_image\";\ngoogle_ad_channel = \"\";\ngoogle_ui_features = \"rc:6\";\n\/\/--\u003E\n\u003C\/script\u003E\n\u003Cscript type=\"text\/javascript\"\n  src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\"\u003E\n\u003C\/script\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.vittoriopavesi.com\/feeds\/3233759704401115299\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=7979948\u0026postID=3233759704401115299","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/3233759704401115299"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/3233759704401115299"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.vittoriopavesi.com\/2009\/09\/winfail2ban-04-released.html","title":"WinFail2Ban 0.4 Released"}],"author":[{"name":{"$t":"Vittorio Pavesi"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02804415638484029352"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"28","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgOoro_s3C1b_DZE-3GujtKIXlBpoOefHNYDXUx6bslh2x9OUVq7B19Zp9SsQRr2aY3GNydJfKVIbfM2wTsQWukqspPOeC0pq4yVLAkEg5tVzKX0NoL1EZHDPdNKJKgi3M\/s113\/vittorio.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/4.bp.blogspot.com\/_OHxyZ_c181U\/SrTgb_vqCkI\/AAAAAAAAARY\/Ei8SvOnzwx8\/s72-c\/winfail2ban.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-7979948.post-3183382524349343547"},"published":{"$t":"2008-12-16T21:42:00.000+01:00"},"updated":{"$t":"2008-12-16T21:44:31.782+01:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Development"},{"scheme":"http://www.blogger.com/atom/ns#","term":"NET Framework"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Project"}],"title":{"type":"text","$t":""},"content":{"type":"html","$t":"Install Key Add License Validation, Product Activation, and Installation Keys to your .Net based application. Prevent casual copying and keep your customers honest. Similar to Microsoft style product activation where the product key is validated against an internet server. Supports server based creation, maintenance and validation of install key codes.\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Ca href=\"http:\/\/www.codeplex.com\/InstallKey\"\u003Ehttp:\/\/www.codeplex.com\/InstallKey\u003C\/a\u003E\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cp\u003EFeatures \u003C\/p\u003E\u003Cul\u003E\u003Cli\u003E\u003Cspan style=\"font-size:85%;\"\u003EUses 30 character install keys made up of only capital alphanumeric characters. This helps to make keys easy to read. \u003C\/span\u003E\u003C\/li\u003E\u003Cli\u003E\u003Cspan style=\"font-size:85%;\"\u003EData entry key validation. This helps to catch data entry errors before validating the Install Key against the server and can be used to distinguish between two keys for two different products. \u003C\/span\u003E\u003C\/li\u003E\u003Cli\u003E\u003Cspan style=\"font-size:85%;\"\u003EKey validation against a central server. Validating an install key against a server should prove to be harder to bypass, as well as providing a mechanism to revoke rogue keys. \u003C\/span\u003E\u003C\/li\u003E\u003Cli\u003E\u003Cspan style=\"font-size:85%;\"\u003EServer validation is only required once. A tamper-proof surety file that is specific to the machine where the installation occurs can be validated again at any time, without another round trip to the license server. \u003C\/span\u003E\u003C\/li\u003E\u003Cli\u003E\u003Cspan style=\"font-size:85%;\"\u003EYour application specific license properties can be embedded within the tamper-proof surety file. These properties can be retrieved at any time after validation, and do not require a connection to the license server. \u003C\/span\u003E\u003C\/li\u003E\u003Cli\u003E\u003Cspan style=\"font-size:85%;\"\u003EUnique key usage counting. Key usage counting is done by comparing machine specific hardware identifiers. \u003C\/span\u003E\u003C\/li\u003E\u003Cli\u003E\u003Cspan style=\"font-size:85%;\"\u003EWritten in Visual Studio 2005 and based on .Net 2.0. This should allow this product to also be used with Visual Studio 2008 and .Net 3.0, 3.5. \u003C\/span\u003E\u003C\/li\u003E\u003Cli\u003E\u003Cspan style=\"font-size:85%;\"\u003EDatabase backend can be either SQL Server 2005 or SQL Express 2005\u003C\/span\u003E\u003C\/li\u003E\u003C\/ul\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cscript type=\"text\/javascript\"\u003E\u003C!--\ngoogle_ad_client = \"pub-9208424847702026\";\ngoogle_ad_width = 728;\ngoogle_ad_height = 90;\ngoogle_ad_format = \"728x90_as\";\ngoogle_ad_type = \"text_image\";\ngoogle_ad_channel = \"\";\ngoogle_ui_features = \"rc:6\";\n\/\/--\u003E\n\u003C\/script\u003E\n\u003Cscript type=\"text\/javascript\"\n  src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\"\u003E\n\u003C\/script\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.vittoriopavesi.com\/feeds\/3183382524349343547\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=7979948\u0026postID=3183382524349343547","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/3183382524349343547"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7979948\/posts\/default\/3183382524349343547"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.vittoriopavesi.com\/2008\/12\/install-key-add-license-validation.html","title":""}],"author":[{"name":{"$t":"Vittorio Pavesi"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02804415638484029352"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"28","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgOoro_s3C1b_DZE-3GujtKIXlBpoOefHNYDXUx6bslh2x9OUVq7B19Zp9SsQRr2aY3GNydJfKVIbfM2wTsQWukqspPOeC0pq4yVLAkEg5tVzKX0NoL1EZHDPdNKJKgi3M\/s113\/vittorio.jpg"}}],"thr$total":{"$t":"0"}}]}});