CINXE.COM

Solar Power Installation | Development | Technology News and Features

<!DOCTYPE html> <html lang="en-US"> <head > <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta property="fb:admins" content="1140409510" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta property="fb:admins" content="107031532675062" /> <meta name="msvalidate.01" content="40BA1B879066C83CDFCA374CA4B490C3" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO plugin v23.8 - https://yoast.com/wordpress/plugins/seo/ --> <title>Solar Power Installation | Development | Technology News and Features</title> <meta name="description" content="Solar Power World is the leading online and print resource for news and information regarding solar PV installation, development and technology." /> <link rel="canonical" href="https://www.solarpowerworldonline.com/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="website" /> <meta property="og:title" content="Solar Power Installation | Development | Technology News and Features" /> <meta property="og:description" content="Solar Power World is the leading online and print resource for news and information regarding solar PV installation, development and technology." /> <meta property="og:url" content="https://www.solarpowerworldonline.com/" /> <meta property="og:site_name" content="Solar Power World" /> <meta property="article:modified_time" content="2024-03-01T14:59:01+00:00" /> <meta property="og:image" content="https://www.solarpowerworldonline.com/wp-content/uploads/2019/03/SPW770.jpg" /> <meta property="og:image:width" content="770" /> <meta property="og:image:height" content="500" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@SolarPowerWorld" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.solarpowerworldonline.com/","url":"https://www.solarpowerworldonline.com/","name":"Solar Power Installation | Development | Technology News and Features","isPartOf":{"@id":"https://www.solarpowerworldonline.com/#website"},"primaryImageOfPage":{"@id":"https://www.solarpowerworldonline.com/#primaryimage"},"image":{"@id":"https://www.solarpowerworldonline.com/#primaryimage"},"thumbnailUrl":"https://www.solarpowerworldonline.com/wp-content/uploads/2019/03/SPW770.jpg","datePublished":"2012-10-27T01:38:08+00:00","dateModified":"2024-03-01T14:59:01+00:00","description":"Solar Power World is the leading online and print resource for news and information regarding solar PV installation, development and technology.","breadcrumb":{"@id":"https://www.solarpowerworldonline.com/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.solarpowerworldonline.com/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.solarpowerworldonline.com/#primaryimage","url":"https://www.solarpowerworldonline.com/wp-content/uploads/2019/03/SPW770.jpg","contentUrl":"https://www.solarpowerworldonline.com/wp-content/uploads/2019/03/SPW770.jpg","width":770,"height":500},{"@type":"BreadcrumbList","@id":"https://www.solarpowerworldonline.com/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]},{"@type":"WebSite","@id":"https://www.solarpowerworldonline.com/#website","url":"https://www.solarpowerworldonline.com/","name":"Solar Power World","description":"Covering the world of solar power technology, development and installation.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.solarpowerworldonline.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script> <meta name="google-site-verification" content="AObhU31gwZSPV-Po5VKUMPVoEdtZlE5pll9tHjmGNa4" /> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//static.addtoany.com' /> <link rel='dns-prefetch' href='//kit.fontawesome.com' /> <link rel="alternate" type="application/rss+xml" title="Solar Power World &raquo; Feed" href="https://www.solarpowerworldonline.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="Solar Power World &raquo; Comments Feed" href="https://www.solarpowerworldonline.com/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="Solar Power World &raquo; Home Comments Feed" href="https://www.solarpowerworldonline.com/home-2-2-2-2/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.solarpowerworldonline.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='sgr-css' href='https://www.solarpowerworldonline.com/wp-content/plugins/simple-google-recaptcha/sgr.css?ver=1667834905' type='text/css' media='all' /> <link rel='stylesheet' id='solar-power-world-2021-css' href='https://www.solarpowerworldonline.com/wp-content/themes/spw-2021/style.css?ver=1705626734' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.solarpowerworldonline.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='wtwh_prestitial_main_style-css' href='https://www.solarpowerworldonline.com/wp-content/plugins/prestitial/assets/css/main.css?ver=1.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='wtwh_prestitial_style-css' href='https://www.solarpowerworldonline.com/wp-content/plugins/prestitial/assets/css/prestitial.css?ver=1.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='buttons-css' href='https://www.solarpowerworldonline.com/wp-includes/css/buttons.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='dashicons-css' href='https://www.solarpowerworldonline.com/wp-includes/css/dashicons.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='mediaelement-css' href='https://www.solarpowerworldonline.com/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17' type='text/css' media='all' /> <link rel='stylesheet' id='wp-mediaelement-css' href='https://www.solarpowerworldonline.com/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='media-views-css' href='https://www.solarpowerworldonline.com/wp-includes/css/media-views.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='imgareaselect-css' href='https://www.solarpowerworldonline.com/wp-includes/js/imgareaselect/imgareaselect.css?ver=0.9.8' type='text/css' media='all' /> <link rel='stylesheet' id='frontend-sponsored-ads-css-css' href='https://www.solarpowerworldonline.com/wp-content/plugins/sponsored-content-ad/css/frontend-sponsored-ads.css?ver=1.01202411231732398744' type='text/css' media='all' /> <link rel='stylesheet' id='ea-style-css' href='https://www.solarpowerworldonline.com/wp-content/themes/spw-2021/assets/css/main.css?ver=1705626734' type='text/css' media='all' /> <link rel='stylesheet' id='tablepress-default-css' href='https://www.solarpowerworldonline.com/wp-content/plugins/tablepress/css/build/default.css?ver=2.4.4' type='text/css' media='all' /> <link rel='stylesheet' id='addtoany-css' href='https://www.solarpowerworldonline.com/wp-content/plugins/add-to-any/addtoany.min.css?ver=1.16' type='text/css' media='all' /> <style id='posts-table-pro-head-inline-css' type='text/css'> table.posts-data-table { visibility: hidden; } </style> <!-- www.solarpowerworldonline.com=6389 --> <script> var contentHash = "28bfb04aaa691e9cd5f3c2d098d19e02"; var cat_target=["28bfb04aaa691e9cd5f3c2d098d19e02", "home-page","ros"]; console.log("boo!"); console.log(cat_target); </script> <script type="text/javascript" id="sgr-js-extra"> /* <![CDATA[ */ var sgr = {"sgr_site_key":"6LecmiQTAAAAAIlzTimNy_7Uf-IP6pWIlKD0JYVI"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-content/plugins/simple-google-recaptcha/sgr.js?ver=1667834905" id="sgr-js"></script> <script type="text/javascript" id="addtoany-core-js-before"> /* <![CDATA[ */ window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={}; a2a_config.track_links = 'bitly'; a2a_config.track_links_key = 'addtoany|R_cc6a4017b0274d1d86f2397771b70136'; // username|API key delimited by | a2a_config.templates = { twitter: "${title} ${link} @SolarPowerWorld" }; /* ]]> */ </script> <script type="text/javascript" defer src="https://static.addtoany.com/menu/page.js" id="addtoany-core-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" defer src="https://www.solarpowerworldonline.com/wp-content/plugins/add-to-any/addtoany.min.js?ver=1.1" id="addtoany-jquery-js"></script> <script type="text/javascript" src="https://kit.fontawesome.com/0db18eb627.js?ver=6.7" id="wtwh_prestitial_fontAwesome_js-js"></script> <script type="text/javascript" id="utils-js-extra"> /* <![CDATA[ */ var userSettings = {"url":"\/","uid":"0","time":"1732398744","secure":"1"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/utils.min.js?ver=6.7" id="utils-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/plupload/moxie.min.js?ver=1.3.5" id="moxiejs-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/plupload/plupload.min.js?ver=2.1.9" id="plupload-js"></script> <!--[if lt IE 8]> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/json2.min.js?ver=2015-05-03" id="json2-js"></script> <![endif]--> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-content/plugins/sponsored-content-ad/js/frontend-sponsored-ads.js" id="frontend-sponsored-ads-script-js"></script> <link rel="https://api.w.org/" href="https://www.solarpowerworldonline.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.solarpowerworldonline.com/wp-json/wp/v2/pages/6389" /><link rel='shortlink' href='https://www.solarpowerworldonline.com/' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.solarpowerworldonline.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.solarpowerworldonline.com%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.solarpowerworldonline.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.solarpowerworldonline.com%2F&#038;format=xml" /> <link rel="pingback" href="https://www.solarpowerworldonline.com/xmlrpc.php" /> <!-- Google Tag Manager for Global Container--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MMC9PJ9');</script> <!-- End Google Tag Manager --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PTC529V');</script> <!-- End Google Tag Manager --> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { var pathParts = window.location.pathname.substr(1).split('/'); var mapHeader = googletag.sizeMapping() .addSize([768, 200], [728, 90]) .addSize([0, 0], [300, 250]) .build(); var mapLargeHeader = googletag.sizeMapping() .addSize([1024, 200], [[970, 90], [970, 250]]) .addSize([0, 0], [300, 250]) .build(); var mapWallpaper = googletag.sizeMapping() .addSize([1024, 500], [[1, 1]]) .addSize([0, 0], [[1, 1]]) .build(); var gptSlots = []; gptSlots[0] = googletag.defineSlot('/5272491/renew_network/spw_header', [[300, 250], [728, 90]], 'div-gpt-spw-header') .defineSizeMapping(mapHeader) .addService(googletag.pubads()); gptSlots[1] = googletag.defineSlot('/5272491/renew_network/spw_largeleader', [[970, 90], [970, 250]], 'div-gpt-spw_largeleader') .defineSizeMapping(mapLargeHeader) .addService(googletag.pubads()); gptSlots[2] = googletag.defineSlot('/5272491/renew_network/spw_wallpaper', [[1, 1]], 'div-gpt-spw_wallpaper') .defineSizeMapping(mapWallpaper) .addService(googletag.pubads()); googletag.defineSlot('/5272491/renew_network/spw_allstreamflex', [[1, 1]], 'div-gpt-spw_allstreamflex').addService(googletag.pubads()); googletag.defineSlot('/5272491/renew_network/spw_allstreamprelude', [[1, 1]], 'div-gpt-spw_allstreamprelude').addService(googletag.pubads()); googletag.defineSlot('/5272491/renew_network/spw_sidebar1', [[300, 250], [300, 600]], 'div-gpt-spw_sidebar1').addService(googletag.pubads()); googletag.defineSlot('/5272491/renew_network/spw_sidebar2', [[300, 250], [300, 600]], 'div-gpt-spw_sidebar2').addService(googletag.pubads()); googletag.defineSlot('/5272491/renew_network/spw_sidebarbottom', [[300, 250], [300, 600]], 'div-gpt-spw_sidebarbottom').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.pubads().setTargeting('articletitle', pathParts[0] ? pathParts[0]: 'home-page').setTargeting('cat_target', cat_target); googletag.enableServices(); }); </script> <link rel="icon" href="https://www.solarpowerworldonline.com/wp-content/uploads/2017/07/cropped-solar-power-world-online-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.solarpowerworldonline.com/wp-content/uploads/2017/07/cropped-solar-power-world-online-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.solarpowerworldonline.com/wp-content/uploads/2017/07/cropped-solar-power-world-online-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.solarpowerworldonline.com/wp-content/uploads/2017/07/cropped-solar-power-world-online-270x270.png" /> <style type="text/css" id="wp-custom-css"> .wtwhSpecial { display: none !important; } .SoundCloudPubDate{padding:10px} .SoundCloudTitle{padding:10px} /*subscription page font size adjustments*/ .page-id-3677 form { font-size: 16px; } .page-id-3677 .gform_legacy_markup_wrapper .gfield_radio li label, .page-id-3677 .gform_legacy_markup_wrapper #input_107_17 li label { font-size: 1.5em; } #label_107_1_0, #label_107_1_1 { font-size: 16px !important; } a { color: #f9b049; } /*Search Fix*/ .search .sidebar-primary { float: right; width: 359px; } .search .content { float: left; width: 778px; max-width: 100%; } .search .search-results-outer-container { max-width:100%; width: 777px; } /*Search Sort*/ #wtwh-wp-search-sort { display: flex; flex-direction: row; justify-content: flex-end; align-items: center; margin-top: 20px; width: 100%; padding-right: 20px; } #wtwh-wp-search-sort label { width: 70px; } #wtwh-wp-search-sort select { max-width: 200px; } /* Search Page */ body.search .site-inner { padding-left: unset; padding-right: unset; } /*NEW SUBSCRIBE BTN COLOR*/ .genesis-nav-menu .site-header--subscribe a{ background-color: #FBAF3F; color: black; } @media only screen and (max-width: 1023px){ .site-header--subscribe a{ background-color: #43BC9D; color: white; } } </style> </head> <body class="home page-template-default page page-id-6389 content-sidebar genesis-breadcrumbs-hidden"> <!-- xyzzy top --> <div id="prestitial" style="opacity: 0;"> <div id="prestitial-overlay"></div> <div id="prestitial-grid"> <div class="prestitial-logo"> <div class="title-area"> <h1 class="site-title"> <a href="#"><img src="https://www.solarpowerworldonline.com/wp-content/uploads/2022/10/Solar-Power-World-logo.png"></a></h1> </div> </div> <div class="close-cta"> Continue to Site <i class="fa fa-arrow-right"></i> </div> <div id="prestitial-banner"></div> </div> </div> <!-- hides rest of content --> <div id="body-wrapper" style="opacity: 0;"> <div class="site-container"><header class="site-header"><div class="wrap"><div class="title-area"><h1 class="site-title"><a href="https://www.solarpowerworldonline.com/">Solar Power World</a></h1></div><div class="widget-area header-widget-area"><section id="widget_sponsor-10" class="widget widget_sponsor"><div class="widget-wrap"><div id='div-gpt-spw-header'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-spw-header'); }); </script> </div> </div></section> </div><div class="mobile-toggles"><a href="#" class="search-toggle"><i class="icon-search"></i></a><a href="#" class="mobile-menu-toggle"><i class="icon-menu"></i></a></div></div></header><nav class="nav-primary" aria-label="Main"><div class="wrap"><ul id="menu-primary" class="menu genesis-nav-menu menu-primary"><li id="menu-item-75161" class="home menu-item current-menu-item"><a href="https://www.solarpowerworldonline.com/" aria-current="page"><span >Home</span></a></li> <li id="menu-item-106780" class="menu-item"><a href="http://solarpowerworldonline.com/top-solar-contractors/"><span >Top Solar Contractors</span></a></li> <li id="menu-item-19097" class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/recent-solar-power-articles/"><span >Articles</span></a> <ul class="sub-menu"> <li id="menu-item-76069" class="menu-item"><a href="https://www.solarpowerworldonline.com/recent-solar-power-articles/"><span >Most Recent Posts</span></a></li> <li id="menu-item-76068" class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/industry-news/"><span >News</span></a> <ul class="sub-menu"> <li id="menu-item-78082" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/industry-news/"><span >Latest News Items</span></a></li> <li id="menu-item-78081" class="menu-item"><a href="https://www.solarpowerworldonline.com/tag/tariffs/"><span >Solar tariffs</span></a></li> <li id="menu-item-99715" class="menu-item"><a href="https://www.solarpowerworldonline.com/tag/usa-manufacturing/"><span >U.S. manufacturing updates</span></a></li> <li id="menu-item-101458" class="menu-item"><a href="https://www.solarpowerworldonline.com/tag/ira/"><span >IRA coverage</span></a></li> </ul> </li> <li id="menu-item-76070" class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/featured/"><span >Featured</span></a> <ul class="sub-menu"> <li id="menu-item-76071" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/featured/"><span >Latest Feature Stories</span></a></li> <li id="menu-item-22619" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/featured/solar-podcasts/contractors-corner/"><span >Contractor&#8217;s Corner</span></a></li> <li id="menu-item-88610" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/featured/trends/"><span >Trends in Solar</span></a></li> <li id="menu-item-80102" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/sponsored-content/the-solar-explorer/"><span >The Solar Explorer</span></a></li> </ul> </li> </ul> </li> <li id="menu-item-93360" class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/policy/"><span >Policy</span></a> <ul class="sub-menu"> <li id="menu-item-93367" class="menu-item"><a href="https://www.solarpowerworldonline.com/tag/policysnapshot/"><span >The Solar Policy Scoop</span></a></li> <li id="menu-item-101457" class="menu-item"><a href="https://www.solarpowerworldonline.com/tag/ira/"><span >IRA Coverage</span></a></li> </ul> </li> <li id="menu-item-93366" class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/recent-solar-power-articles/"><span >Markets</span></a> <ul class="sub-menu"> <li id="menu-item-93364" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/markets/residential/"><span >Residential</span></a></li> <li id="menu-item-93362" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/markets/commercial/"><span >Commercial</span></a></li> <li id="menu-item-93363" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/markets/community/"><span >Community Solar</span></a></li> <li id="menu-item-93365" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/markets/utility/"><span >Utility</span></a></li> </ul> </li> <li id="menu-item-88507" class="menu-item menu-item-has-children"><a href="/recent-solar-power-articles/"><span >Products</span></a> <ul class="sub-menu"> <li id="menu-item-76227" class="menu-item"><a href="/apply-now-top-products/"><span >SPW&#8217;s 2024 Top Products contest</span></a></li> <li id="menu-item-76229" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/components-products/battery/"><span >Batteries and Storage</span></a></li> <li id="menu-item-101241" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/components-products/ev/"><span >Electric Vehicle (EV)</span></a></li> <li id="menu-item-87052" class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/components-products/inverters/"><span >Inverters</span></a> <ul class="sub-menu"> <li id="menu-item-104462" class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-inverter-manufacturers/"><span >U.S. solar inverter manufacturers</span></a></li> </ul> </li> <li id="menu-item-76232" class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/components-products/racking-and-mounting/"><span >Racking and Mounting</span></a> <ul class="sub-menu"> <li id="menu-item-102574" class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-mounting-manufacturers/"><span >U.S. solar mounting manufacturers</span></a></li> </ul> </li> <li id="menu-item-76233" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/components-products/software/"><span >Software</span></a></li> <li id="menu-item-76231" class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/components-products/panels-generation/"><span >Solar Panels</span></a> <ul class="sub-menu"> <li id="menu-item-93268" class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-panel-manufacturers/"><span >U.S. solar panel manufacturers</span></a></li> </ul> </li> </ul> </li> <li id="menu-item-69290" class="menu-item menu-item-has-children"><a href="http://solarpowerworldonline.com/#"><span >Resources</span></a> <ul class="sub-menu"> <li id="menu-item-85156" class="menu-item"><a href="https://www.solarpowerworldonline.com/contact-us/"><span >About SPW</span></a></li> <li id="menu-item-22834" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/digital-issues/"><span >Digital Issues</span></a></li> <li id="menu-item-84060" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/events/"><span >Event Coverage</span></a></li> <li id="menu-item-22716" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/featured/solar-podcasts/"><span >Podcasts</span></a></li> <li id="menu-item-89809" class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/tag/usa-manufacturing/"><span >Product Manufacturing Locations</span></a> <ul class="sub-menu"> <li id="menu-item-104463" class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-inverter-manufacturers/"><span >U.S. solar inverter manufacturers</span></a></li> <li id="menu-item-102573" class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-mounting-manufacturers/"><span >U.S. solar mounting manufacturers</span></a></li> <li id="menu-item-93267" class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-panel-manufacturers/"><span >U.S. solar panel manufacturers</span></a></li> </ul> </li> <li id="menu-item-93351" class="menu-item"><a target="_blank" href="/solar-power-world-classrooms"><span >Solar Classrooms</span></a></li> <li id="menu-item-22798" class="menu-item"><a href="https://www.solarpowerworldonline.com/suppliers/"><span >Suppliers</span></a></li> <li id="menu-item-23077" class="menu-item"><a href="/solar-power-videos/"><span >Videos</span></a></li> <li id="menu-item-104383" class="menu-item"><a target="_blank" href="https://gateway.on24.com/wcc/experience/elitewtwhmedia/2927718/4415914/solar-power-world"><span >Webinars / Digital Events</span></a></li> <li id="menu-item-79587" class="menu-item"><a href="https://www.solarpowerworldonline.com/category/special-features/white-paper/"><span >Whitepapers</span></a></li> </ul> </li> <li id="menu-item-89461" class="menu-item menu-item-has-children"><a target="_blank" href="https://leadership.solarpowerworldonline.com/"><span >2024 Leadership</span></a> <ul class="sub-menu"> <li id="menu-item-104672" class="menu-item"><a href="https://www.solarpowerworldonline.com/leadership/2023-leadership-in-solar-winners/"><span >2023 Winners</span></a></li> <li id="menu-item-100392" class="menu-item"><a href="https://www.solarpowerworldonline.com/leadership/2022-leadership-in-solar-winners/"><span >2022 Winners</span></a></li> </ul> </li> <li id="menu-item-22626" class="menu-item"><a href="https://www.solarpowerworldonline.com/subscribe-to-solar-power-world/"><span >Subscribe</span></a></li> <li class="menu-item search"><a href="#" class="search-toggle"><i class="icon-search"></i></a></li></ul></div></nav><div style="padding-top:10px;text-align:center"><div id='div-gpt-spw_largeleader'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-spw_largeleader'); }); </script> </div> </div><div class="site-inner"><div class="wrap"><div class="slick-slider header-slides"><div><div class="row"><div class="col-sm-8"><div class="header-slide"><a class="block-link" href="https://www.solarpowerworldonline.com/2024/11/durability-is-more-important-than-record-breaking-solar-cell-efficiencies/"></a><img width="770" height="500" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/testing-a-solar-cell-Ossila.jpg" class="attachment-ea_featured size-ea_featured wp-image-107891 wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/testing-a-solar-cell-Ossila.jpg 770w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/testing-a-solar-cell-Ossila-500x325.jpg 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/testing-a-solar-cell-Ossila-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h4>Durability is more important than record-breaking solar cell efficiencies</h4></div></div></div><div class="col-sm-4"><div class="header-slide"><a class="block-link" href="https://www.solarpowerworldonline.com/2024/11/new-name-ready-to-make-hjt-solar-panels-in-virginia/"></a><img width="770" height="500" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/ecoprogetti.jpg" class="attachment-ea_featured size-ea_featured wp-image-107886 wp-post-image" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/ecoprogetti.jpg 770w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/ecoprogetti-500x325.jpg 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/ecoprogetti-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h4>New name ready to make HJT solar panels in Virginia</h4></div></div><div class="header-slide"><a class="block-link" href="https://www.solarpowerworldonline.com/2024/11/5-ways-ai-can-boost-solar-om/"></a><img width="770" height="500" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sietetracker-solar-image-2.jpeg" class="attachment-ea_featured size-ea_featured wp-image-107836 wp-post-image" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sietetracker-solar-image-2.jpeg 770w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sietetracker-solar-image-2-500x325.jpeg 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sietetracker-solar-image-2-368x238.jpeg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h2>5 ways AI can boost solar O&amp;M</h2></div></div></div></div></div><div><div class="row"><div class="col-sm-8"><div class="header-slide"><a class="block-link" href="https://www.solarpowerworldonline.com/2024/11/the-responsible-solar-supply-chain/"></a><img width="770" height="500" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/supply-chain-2.png" class="attachment-ea_featured size-ea_featured wp-image-107802 wp-post-image" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/supply-chain-2.png 770w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/supply-chain-2-500x325.png 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/supply-chain-2-368x238.png 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h2>The responsible solar supply chain</h2></div></div></div><div class="col-sm-4"><div class="header-slide"><a class="block-link" href="https://www.solarpowerworldonline.com/2024/11/solar-spotlight-enough-backup-energy-to-power-any-load-in-the-home/"></a><img width="770" height="500" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/PWRcell2_Ecosystem_2024.jpg" class="attachment-ea_featured size-ea_featured wp-image-107780 wp-post-image" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/PWRcell2_Ecosystem_2024.jpg 770w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/PWRcell2_Ecosystem_2024-500x325.jpg 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/PWRcell2_Ecosystem_2024-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h4>Solar Spotlight: Enough backup energy to power any load in the home</h4></div></div><div class="header-slide"><a class="block-link" href="https://www.solarpowerworldonline.com/2024/11/1-2-gw-solar-panel-assembly-facility-to-open-on-puerto-rico/"></a><img width="770" height="500" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Aguadilla_PR.jpg" class="attachment-ea_featured size-ea_featured wp-image-107787 wp-post-image" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Aguadilla_PR.jpg 770w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Aguadilla_PR-500x325.jpg 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Aguadilla_PR-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h4>1.2-GW solar panel assembly facility to open in Puerto Rico</h4></div></div></div></div></div><div><div class="row"><div class="col-sm-8"><div class="header-slide"><a class="block-link" href="https://www.solarpowerworldonline.com/2024/11/financiers-not-homeowners-qualify-for-domestic-content-on-residential-solar/"></a><img width="770" height="500" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sunnova-residential-stock.jpg" class="attachment-ea_featured size-ea_featured wp-image-107784 wp-post-image" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sunnova-residential-stock.jpg 770w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sunnova-residential-stock-500x325.jpg 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sunnova-residential-stock-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h4>Financiers—not homeowners—qualify for domestic content on residential solar</h4></div></div></div><div class="col-sm-4"><div class="header-slide"><a class="block-link" href="https://www.solarpowerworldonline.com/2024/11/ders-need-to-be-managed-like-mini-power-plants/"></a><img width="770" height="500" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/05/ground-mount-solar-stock.jpg" class="attachment-ea_featured size-ea_featured wp-image-106009 wp-post-image" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/05/ground-mount-solar-stock.jpg 770w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/05/ground-mount-solar-stock-500x325.jpg 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/05/ground-mount-solar-stock-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h2>Guest column: DERs should be managed like mini power plants</h2></div></div><div class="header-slide"><a class="block-link" href="https://www.solarpowerworldonline.com/2024/11/the-solar-policy-scoop-november-2024/"></a><img width="770" height="500" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/november-solar-policy.jpg" class="attachment-ea_featured size-ea_featured wp-image-107724 wp-post-image" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/november-solar-policy.jpg 770w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/november-solar-policy-500x325.jpg 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/november-solar-policy-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h2>The Solar Policy Scoop: November 2024</h2></div></div></div></div></div></div><section id="widget_sponsor-8" class="widget widget_sponsor"><div class="widget-wrap"><center> <!-- need GAM TAG --> </center></div></section> <div class="box-links"><div class="box-link"><a href="/tag/usa-manufacturing/"><img width="385" height="250" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/03/made-in-usa-feat-border.jpg" class="attachment-large size-large wp-image-105283" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/03/made-in-usa-feat-border.jpg 385w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/03/made-in-usa-feat-border-368x238.jpg 368w" sizes="(max-width: 385px) 100vw, 385px" /><span class="title">Manufacturing News</span></a></div><div class="box-link"><a href="/top-solar-contractors/"><img width="380" height="250" src="https://www.solarpowerworldonline.com/wp-content/uploads/2022/10/tsc-home-page4.jpg" class="attachment-large size-large wp-image-100116" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2022/10/tsc-home-page4.jpg 380w, https://www.solarpowerworldonline.com/wp-content/uploads/2022/10/tsc-home-page4-362x238.jpg 362w" sizes="(max-width: 380px) 100vw, 380px" /><span class="title">Top Solar Contractors</span></a></div><div class="box-link"><a href="https://www.solarpowerworldonline.com/category/policy/"><img width="380" height="250" src="https://www.solarpowerworldonline.com/wp-content/uploads/2022/10/the-solar-policy-scoop-home-page.jpg" class="attachment-large size-large wp-image-100111" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2022/10/the-solar-policy-scoop-home-page.jpg 380w, https://www.solarpowerworldonline.com/wp-content/uploads/2022/10/the-solar-policy-scoop-home-page-362x238.jpg 362w" sizes="(max-width: 380px) 100vw, 380px" /><span class="title">Solar Policy News</span></a></div></div><div class="content-sidebar-wrap"><main class="content"><div class="content-sections"><div class="section section-category-posts style-standard"><h4 class="block-header">Latest News <a href="https://www.solarpowerworldonline.com/category/industry-news/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.solarpowerworldonline.com/2024/11/freedom-forevers-electrical-apprenticeship-program-receives-federal-approval/" class="entry-image-link"><img width="368" height="238" src="https://www.solarpowerworldonline.com/wp-content/uploads/2019/11/freedom-forever-368x238.png" class="attachment-ea_product size-ea_product wp-image-88460 wp-post-image" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2019/11/freedom-forever-368x238.png 368w, https://www.solarpowerworldonline.com/wp-content/uploads/2019/11/freedom-forever-500x325.png 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2019/11/freedom-forever.png 770w" sizes="(max-width: 368px) 100vw, 368px" /></a><h4 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/freedom-forevers-electrical-apprenticeship-program-receives-federal-approval/">Freedom Forever&#8217;s electrical apprenticeship program receives federal approval <br><span style='color:#404040;font-weight:600;font-size:15px;'>It's the first residential solar company to achieve Dept. of Labor certification for this type of program.</span></a></h4><div class="entry-content"><p>Freedom Forever announced approval of its National Guidelines for Apprenticeship Standards (NGS) by the U.S. Department of Labor&#8217;s Office of Apprenticeship. This recognition marks a significant milestone in Freedom Forever&#8217;s Registered Apprenticeship (RA) Program, launched in September 2024 to address critical workforce shortages in renewable energy. Freedom Forever is the first residential solar installation company&hellip;</p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.solarpowerworldonline.com/2024/11/scout-clean-energy-celebrates-its-first-completed-solar-project/" class="entry-image-link"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Scout_Clean_Energy_Ribbon_Cutting-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-107911 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/scout-clean-energy-celebrates-its-first-completed-solar-project/">Scout Clean Energy celebrates its first completed solar project</a></h5></article><article class="entry-summary"><a href="https://www.solarpowerworldonline.com/2024/11/solarcycle-finds-domestic-soda-ash-producer-for-solar-glass-production/" class="entry-image-link"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/soda-ash-genesis-alkali-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-107910 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/solarcycle-finds-domestic-soda-ash-producer-for-solar-glass-production/">SolarCycle finds domestic soda ash supply for solar glass production</a></h5></article><article class="entry-summary"><a href="https://www.solarpowerworldonline.com/2024/11/dimension-energy-completes-first-community-solar-project-in-californias-central-valley/" class="entry-image-link"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/dimension-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-107908 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/dimension-energy-completes-first-community-solar-project-in-californias-central-valley/">Dimension Energy completes first community solar project in California&#8217;s Central Valley</a></h5></article><article class="entry-summary"><a href="https://www.solarpowerworldonline.com/2024/11/gamechange-solar-releases-software-for-designing-tracker-projects-on-uneven-land/" class="entry-image-link"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2021/04/gamechange-solar-utility-tracker-stock-credit-3-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-93969 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/gamechange-solar-releases-software-for-designing-tracker-projects-on-uneven-land/">GameChange Solar releases software for designing tracker projects on uneven land</a></h5></article></div></div></div><div class="section section-wrapper"><!-- need gam tag --></div><div class="section section-category-posts style-standard"><h4 class="block-header">Feature Stories <a href="https://www.solarpowerworldonline.com/category/featured/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.solarpowerworldonline.com/2024/11/durability-is-more-important-than-record-breaking-solar-cell-efficiencies/" class="entry-image-link"><img width="368" height="238" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/testing-a-solar-cell-Ossila-368x238.jpg" class="attachment-ea_product size-ea_product wp-image-107891 wp-post-image" alt="" decoding="async" srcset="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/testing-a-solar-cell-Ossila-368x238.jpg 368w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/testing-a-solar-cell-Ossila-500x325.jpg 500w, https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/testing-a-solar-cell-Ossila.jpg 770w" sizes="(max-width: 368px) 100vw, 368px" /></a><h4 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/durability-is-more-important-than-record-breaking-solar-cell-efficiencies/">Durability is more important than record-breaking solar cell efficiencies</a></h4><div class="entry-content"><p>The race for higher efficiencies in solar cells has captured the imagination of researchers, investors and the general public alike. Record-breaking efficiencies promise more energy from smaller and cheaper solar panels. In only 15 years, perovskite solar cells achieved high efficiencies over 25% — it took 37 years to achieve comparable efficiencies with popular crystalline&hellip;</p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.solarpowerworldonline.com/2024/11/5-ways-ai-can-boost-solar-om/" class="entry-image-link"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sietetracker-solar-image-2-268x170.jpeg" class="attachment-ea_summary size-ea_summary wp-image-107836 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/5-ways-ai-can-boost-solar-om/">5 ways AI can boost solar O&#038;M</a></h5></article><article class="entry-summary"><a href="https://www.solarpowerworldonline.com/2024/11/the-responsible-solar-supply-chain/" class="entry-image-link"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/supply-chain-2-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-107802 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/the-responsible-solar-supply-chain/">The responsible solar supply chain <br><span style='color:#404040;font-weight:600;font-size:15px;'>How companies can align with the new SEIA 101 standard and stay compliant with forced-labor laws.</span></a></h5></article><article class="entry-summary"><a href="https://www.solarpowerworldonline.com/2024/11/solar-spotlight-enough-backup-energy-to-power-any-load-in-the-home/" class="entry-image-link"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/PWRcell2_Ecosystem_2024-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-107780 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/solar-spotlight-enough-backup-energy-to-power-any-load-in-the-home/">Solar Spotlight: Enough backup energy to power any load in the home</a></h5></article><article class="entry-summary"><a href="https://www.solarpowerworldonline.com/2024/11/financiers-not-homeowners-qualify-for-domestic-content-on-residential-solar/" class="entry-image-link"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sunnova-residential-stock-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-107784 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/financiers-not-homeowners-qualify-for-domestic-content-on-residential-solar/">Financiers—not homeowners—qualify for domestic content on residential solar</a></h5></article></div></div></div><div class="section section-authors style-carousel"><h4 class="block-header">Solar Power World editors and contributors <a href="/category/industry-news/">See More ></a></h4><div class="slick-slider author-carousel has-border"><div><article class="entry-carousel"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/freedom-forevers-electrical-apprenticeship-program-receives-federal-approval/"><img width="215" height="138" src="https://www.solarpowerworldonline.com/wp-content/uploads/2019/12/KM-2019-headshot-online-2.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-88819" alt="" decoding="async" /><span class="entry-title"><strong>Kelsey Misbrener</strong> Managing Editor</span></a><div class="entry-content"><a href="https://www.solarpowerworldonline.com/2024/11/freedom-forevers-electrical-apprenticeship-program-receives-federal-approval/">Freedom Forever&#8217;s electrical apprenticeship program receives federal approval <br><span style='color:#404040;font-weight:600;font-size:15px;'>It's the first residential solar company to achieve Dept. of Labor certification for this type of program.</span></a></div></article></div><div><article class="entry-carousel"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/solarcycle-finds-domestic-soda-ash-producer-for-solar-glass-production/"><img width="215" height="140" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/09/kp-2152.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107367" alt="" decoding="async" /><span class="entry-title"><strong>Kelly Pickerel</strong> Editor in Chief</span></a><div class="entry-content"><a href="https://www.solarpowerworldonline.com/2024/11/solarcycle-finds-domestic-soda-ash-producer-for-solar-glass-production/">SolarCycle finds domestic soda ash supply for solar glass production</a></div></article></div><div><article class="entry-carousel"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/gamechange-solar-releases-software-for-designing-tracker-projects-on-uneven-land/"><img width="215" height="140" src="https://www.solarpowerworldonline.com/wp-content/uploads/2019/12/billy215.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-88780" alt="" decoding="async" /><span class="entry-title"><strong>Billy Ludt</strong> Senior Editor</span></a><div class="entry-content"><a href="https://www.solarpowerworldonline.com/2024/11/gamechange-solar-releases-software-for-designing-tracker-projects-on-uneven-land/">GameChange Solar releases software for designing tracker projects on uneven land</a></div></article></div><div><article class="entry-carousel"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/solar-storage-for-extreme-weather-preparedness/"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/01/aurora-solar-logo-216x168.png" class="attachment-ea_carousel size-ea_carousel wp-image-101102" alt="" decoding="async" /><span class="entry-title"><strong>Aurora Solar</strong></span></a><div class="entry-content"><a href="https://www.solarpowerworldonline.com/2024/11/solar-storage-for-extreme-weather-preparedness/">Solar + storage for extreme weather preparedness</a></div></article></div><div><article class="entry-carousel"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/04/in-house-apprenticeship-programs-help-contractors-capitalize-ira-tax-credits/"><img width="215" height="140" src="https://www.solarpowerworldonline.com/wp-content/uploads/2018/07/Sara-Carbone-image-correct.png" class="attachment-ea_carousel size-ea_carousel wp-image-81823" alt="" decoding="async" /><span class="entry-title"><strong>Sara Carbone</strong> Freelance Contributor</span></a><div class="entry-content"><a href="https://www.solarpowerworldonline.com/2024/04/in-house-apprenticeship-programs-help-contractors-capitalize-ira-tax-credits/">In-house apprenticeship programs help contractors capitalize on IRA tax credits</a></div></article></div></div></div><div class="section section-wrapper"><!-- need gam tag --></div><div class="section section-category-posts style-carousel"><h4 class="block-header">Sponsored Content <a href="https://www.solarpowerworldonline.com/category/sponsored-content/">See More ></a></h4><div class="slick-slider post-carousel has-border"><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/11/solar-storage-for-extreme-weather-preparedness/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/06/aurora-sponsored-featured-image-june2023-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-102475 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Solar + storage for extreme weather preparedness</strong></span></a><div class="entry-content">Hurricane Helene rocked the Southeast, claiming at least 200 lives and causing widespread power outages that left a million Americans&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/11/how-to-debunk-whole-home-electrification-myths/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/aurora-sponsored-featured-image-november2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107741 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>How to debunk whole home electrification myths</strong></span></a><div class="entry-content">Whole home electrification is a big potential opportunity for solar installers. After all, if a home or business is going&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/dont-get-forced-into-buying-the-wrong-drone/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/scanifly-sponsored-featured-image-october2024-article3-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107664 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Don’t Get Forced into Buying the Wrong Drone</strong></span></a><div class="entry-content">Takeaway: If your software provider forces you to buy a specific drone, you could end up overpaying, not getting the&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/why-is-there-friction-between-solar-sales-reps-and-lease-providers/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/scanifly-sponsored-featured-image-october2024-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107659 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Why Is There Friction Between Solar Sales Reps And Lease Providers?</strong></span></a><div class="entry-content">Takeaway: Contractors and lease providers are often skeptical of one another as Contractors decry what they believe to be arbitrary&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/how-operations-impact-solar-sales-commissions/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/scanifly-sponsored-featured-image-october2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107654 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>How Operations Impact Solar Sales Commissions</strong></span></a><div class="entry-content">Takeaway: System design adjustments result in re-sizing, revisions, or change orders, all of which can reduce commissions. Process inefficiencies lead&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/powering-the-future-sungrows-liquid-cooled-st-series-for-community-and-ci-energy-storage/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/sungrow-sponsored-featured-image-october2024-216x168.png" class="attachment-ea_carousel size-ea_carousel wp-image-107586 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Powering the future: Sungrow’s liquid-cooled ST Series for community and C&#038;I energy storage</strong></span></a><div class="entry-content">By Sungrow North America As renewable energy transforms the grid, energy storage lies at the center of this transition. According&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/put-solar-on-it-beetlejuice-beetlejuice-beetlej/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/aurora-sponsored-featured-image-october2024-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107562 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Put solar on it: Beetlejuice, Beetlejuice, Beetlej…</strong></span></a><div class="entry-content">There are almost too many ways to open a blog about Beetlejuice Beetlejuice. It can be enough to keep the&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/how-to-pay-for-solar-solar-financing-options-explained/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/aurora-sponsored-featured-image-october2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107561 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>How to pay for solar: Solar financing options explained</strong></span></a><div class="entry-content">Sunlight is free, but solar systems still cost money. Thankfully, though, the price of going solar has plummeted over the&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/09/what-makes-a-good-or-bad-plan-set/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/09/scanifly-sponsored-featured-image-september2024-article3-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107479 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>What Makes a Good (or Bad) Plan Set?</strong></span></a><div class="entry-content">Takeaway: Plan sets require comprehensive on-site data, including measurements of every roof plane, internal surveying analysis, and details regarding any&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/09/think-your-surveys-are-perfectly-accurate-you-might-still-be-missing-something/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/09/scanifly-sponsored-featured-image-september2024-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107476 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Think Your Surveys Are Perfectly Accurate? You Might Still Be Missing Something</strong></span></a><div class="entry-content">Takeaway: Even if manual surveying methods work today, they may not work tomorrow (or any day your star Surveyor is&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/09/why-solar-shade-analysis-is-so-subjective-how-to-fix-it/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/09/scanifly-sponsored-featured-image-september2024-article1-216x168.png" class="attachment-ea_carousel size-ea_carousel wp-image-107470 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Why Solar Shade Analysis is so Subjective &#038; How to Fix It</strong></span></a><div class="entry-content">Takeaway: Solar Contractors often rely on potentially outdated or incomplete satellite, aerial, or LiDAR imagery for shade analysis. This results&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/09/drone-in-a-box-technology-balancing-promises-and-challenges-for-utility-scale-solar-projects/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/09/Zeitview-Hero-216x168.png" class="attachment-ea_carousel size-ea_carousel wp-image-107491 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Drone-in-a-Box Technology: Balancing Promises and Challenges for Utility-Scale Solar Projects</strong></span></a><div class="entry-content">Drone-in-a-box (DIAB) technology has generated substantial excitement in the solar industry due to its potential to streamline operations and boost&hellip;</div></article></div></div><div class="section section-wrapper"><!-- need gam tag --></div><div class="section section-recent-posts"><h4 class="block-header">Recent Posts </h4><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 22, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/freedom-forevers-electrical-apprenticeship-program-receives-federal-approval/">Freedom Forever&#8217;s electrical apprenticeship program receives federal approval <br><span style='color:#404040;font-weight:600;font-size:15px;'>It's the first residential solar company to achieve Dept. of Labor certification for this type of program.</span></a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/freedom-forevers-electrical-apprenticeship-program-receives-federal-approval/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2019/11/freedom-forever-268x170.png" class="alignleft post-image entry-image wp-image-88460" alt="Freedom Forever&#8217;s electrical apprenticeship program receives federal approval &lt;br&gt;&lt;span style=&#039;color:#404040;font-weight:600;font-size:15px;&#039;&gt;It&#039;s the first residential solar company to achieve Dept. of Labor certification for this type of program.&lt;/span&gt;" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 22, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/scout-clean-energy-celebrates-its-first-completed-solar-project/">Scout Clean Energy celebrates its first completed solar project</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/scout-clean-energy-celebrates-its-first-completed-solar-project/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Scout_Clean_Energy_Ribbon_Cutting-268x170.jpg" class="alignleft post-image entry-image wp-image-107911" alt="Scout Clean Energy celebrates its first completed solar project" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kpickerel/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelly Pickerel</span></a></span> | <time class="entry-time">November 22, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/solarcycle-finds-domestic-soda-ash-producer-for-solar-glass-production/">SolarCycle finds domestic soda ash supply for solar glass production</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/solarcycle-finds-domestic-soda-ash-producer-for-solar-glass-production/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/soda-ash-genesis-alkali-268x170.jpg" class="alignleft post-image entry-image wp-image-107910" alt="SolarCycle finds domestic soda ash supply for solar glass production" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 22, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/dimension-energy-completes-first-community-solar-project-in-californias-central-valley/">Dimension Energy completes first community solar project in California&#8217;s Central Valley</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/dimension-energy-completes-first-community-solar-project-in-californias-central-valley/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/dimension-268x170.jpg" class="alignleft post-image entry-image wp-image-107908" alt="Dimension Energy completes first community solar project in California&#8217;s Central Valley" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/bludt/" class="entry-author-link" rel="author"><span class="entry-author-name">Billy Ludt</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/gamechange-solar-releases-software-for-designing-tracker-projects-on-uneven-land/">GameChange Solar releases software for designing tracker projects on uneven land</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/gamechange-solar-releases-software-for-designing-tracker-projects-on-uneven-land/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2021/04/gamechange-solar-utility-tracker-stock-credit-3-268x170.jpg" class="alignleft post-image entry-image wp-image-93969" alt="GameChange Solar releases software for designing tracker projects on uneven land" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/public-power-ny-pushes-leaders-for-15-gw-of-new-renewable-energy/">Public Power NY pushes leaders for 15 GW of new renewable energy</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/public-power-ny-pushes-leaders-for-15-gw-of-new-renewable-energy/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Public-Power-NY-268x170.jpg" class="alignleft post-image entry-image wp-image-107904" alt="Public Power NY pushes leaders for 15 GW of new renewable energy" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kpickerel/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelly Pickerel</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/proscore-launches-ira-compliance-software/">ProScore launches IRA compliance software</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/proscore-launches-ira-compliance-software/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/proscore-268x170.jpg" class="alignleft post-image entry-image wp-image-107902" alt="ProScore launches IRA compliance software" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/enphase-portable-iq-battery-now-available-for-pre-order/">Enphase portable IQ battery now available for pre-order</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/enphase-portable-iq-battery-now-available-for-pre-order/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/enphase-portable-battery-268x170.png" class="alignleft post-image entry-image wp-image-107899" alt="Enphase portable IQ battery now available for pre-order" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/lighting-manufacturer-to-offset-100-of-electricity-with-new-solar-install/">Lighting manufacturer to offset 100% of electricity with new solar install</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/lighting-manufacturer-to-offset-100-of-electricity-with-new-solar-install/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Amerlux-Solar-Announcement-New-268x170.png" class="alignleft post-image entry-image wp-image-107897" alt="Lighting manufacturer to offset 100% of electricity with new solar install" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/renewable-america-gets-go-ahead-for-new-2-48-mw-california-solar-project/">Renewable America gets go-ahead for new 2.48-MW California solar project</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/renewable-america-gets-go-ahead-for-new-2-48-mw-california-solar-project/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Renewable-America-Ranch-Sereno-PR-268x170.jpg" class="alignleft post-image entry-image wp-image-107895" alt="Renewable America gets go-ahead for new 2.48-MW California solar project" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.ossila.com/" class="entry-author-link" rel="author"><span class="entry-author-name">Dr. Mary O’Kane, Application Scientist, Ossila</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/durability-is-more-important-than-record-breaking-solar-cell-efficiencies/">Durability is more important than record-breaking solar cell efficiencies</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/durability-is-more-important-than-record-breaking-solar-cell-efficiencies/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/testing-a-solar-cell-Ossila-268x170.jpg" class="alignleft post-image entry-image wp-image-107891" alt="Durability is more important than record-breaking solar cell efficiencies" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kpickerel/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelly Pickerel</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/solar-ewaste-solutions-is-planning-a-recycling-facility-in-arizona/">Solar eWaste Solutions opens recycling facility in Arizona</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/solar-ewaste-solutions-is-planning-a-recycling-facility-in-arizona/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/04/stock-broken-panel-268x170.jpg" class="alignleft post-image entry-image wp-image-105726" alt="Solar eWaste Solutions opens recycling facility in Arizona" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kpickerel/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelly Pickerel</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/congress-begins-process-to-block-45x-advanced-manufacturing-tax-credit/">Congress begins process to block 45X advanced manufacturing tax credit</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/congress-begins-process-to-block-45x-advanced-manufacturing-tax-credit/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2019/11/US-Capitol-Building-Congress-stock-featured-268x170.jpg" class="alignleft post-image entry-image wp-image-88242" alt="Congress begins process to block 45X advanced manufacturing tax credit" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kpickerel/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelly Pickerel</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/new-name-ready-to-make-hjt-solar-panels-in-virginia/">New name ready to make HJT solar panels in Virginia</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/new-name-ready-to-make-hjt-solar-panels-in-virginia/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/ecoprogetti-268x170.jpg" class="alignleft post-image entry-image wp-image-107886" alt="New name ready to make HJT solar panels in Virginia" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/renewable-properties-wraps-up-3-5-mw-community-solar-project-in-new-york/">Renewable Properties wraps up 3.5-MW community solar project in New York</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/renewable-properties-wraps-up-3-5-mw-community-solar-project-in-new-york/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Ribbon-cutting-photo-after-opt-268x170.jpg" class="alignleft post-image entry-image wp-image-107882" alt="Renewable Properties wraps up 3.5-MW community solar project in New York" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/bludt/" class="entry-author-link" rel="author"><span class="entry-author-name">Billy Ludt</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/castillo-engineering-recon-corp-illinois-community-solar-portfolio-expected-online-in-2025/">Castillo Engineering, Recon Corp Illinois community solar portfolio expected online in 2025</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/castillo-engineering-recon-corp-illinois-community-solar-portfolio-expected-online-in-2025/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/castillo-community-solar-stock-268x170.jpg" class="alignleft post-image entry-image wp-image-107863" alt="Castillo Engineering, Recon Corp Illinois community solar portfolio expected online in 2025" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/ampyr-energy-usa-signs-on-for-195-mw-of-southeast-solar-storage/">AMPYR Energy USA signs on for 195 MW of Southeast solar + storage</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/ampyr-energy-usa-signs-on-for-195-mw-of-southeast-solar-storage/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2022/07/stock-solar-array-7-268x170.jpg" class="alignleft post-image entry-image wp-image-99367" alt="AMPYR Energy USA signs on for 195 MW of Southeast solar + storage" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/connecticut-town-celebrates-new-809-kw-landfill-solar-project/">Connecticut town celebrates new 809-kW landfill solar project</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/connecticut-town-celebrates-new-809-kw-landfill-solar-project/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Middletown-photo-2-268x170.jpg" class="alignleft post-image entry-image wp-image-107853" alt="Connecticut town celebrates new 809-kW landfill solar project" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/bludt/" class="entry-author-link" rel="author"><span class="entry-author-name">Billy Ludt</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/kinematics-acquiring-global-solar-tracker-controller-manufacturer-p4q/">Kinematics acquiring global solar tracker controller manufacturer P4Q</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/kinematics-acquiring-global-solar-tracker-controller-manufacturer-p4q/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/p4q-268x170.jpg" class="alignleft post-image entry-image wp-image-107852" alt="Kinematics acquiring global solar tracker controller manufacturer P4Q" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kpickerel/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelly Pickerel</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/canadian-solar-subsidiary-to-manufacture-utility-scale-bess-in-kentucky/">Canadian Solar subsidiary to manufacture utility-scale BESS in Kentucky</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/canadian-solar-subsidiary-to-manufacture-utility-scale-bess-in-kentucky/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/12/e-storage-solbank-3-csi-canadian-ess-268x170.jpg" class="alignleft post-image entry-image wp-image-104639" alt="Canadian Solar subsidiary to manufacture utility-scale BESS in Kentucky" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/bludt/" class="entry-author-link" rel="author"><span class="entry-author-name">Billy Ludt</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/pvhardware-supplies-american-made-trackers-pennsylvania-project/">PVHardware supplies Pennsylvania solar project with American-made trackers</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/pvhardware-supplies-american-made-trackers-pennsylvania-project/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/pvhardware-tracker-268x170.jpg" class="alignleft post-image entry-image wp-image-107844" alt="PVHardware supplies Pennsylvania solar project with American-made trackers" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/brightcore-energy-and-luminace-partner-on-6-6-mw-new-jersey-solar-portfolio/">Brightcore Energy and Luminace partner on 6.6-MW New Jersey solar portfolio</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/brightcore-energy-and-luminace-partner-on-6-6-mw-new-jersey-solar-portfolio/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2022/03/stock-solar-cells-268x170.jpg" class="alignleft post-image entry-image wp-image-98054" alt="Brightcore Energy and Luminace partner on 6.6-MW New Jersey solar portfolio" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/bludt/" class="entry-author-link" rel="author"><span class="entry-author-name">Billy Ludt</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/seia-us-corporations-set-new-solar-storage-deployment-records/">SEIA: US corporations set new solar + storage deployment records</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/seia-us-corporations-set-new-solar-storage-deployment-records/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2020/12/google-bay-area-hq-blueoakenergy-268x170.jpg" class="alignleft post-image entry-image wp-image-92943" alt="SEIA: US corporations set new solar + storage deployment records" decoding="async" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.solarpowerworldonline.com/author/kmisbrener/" class="entry-author-link" rel="author"><span class="entry-author-name">Kelsey Misbrener</span></a></span> | <time class="entry-time">November 19, 2024</time></p><h2 class="entry-title"><a href="https://www.solarpowerworldonline.com/2024/11/xcel-energy-completes-first-phase-of-710-mw-minnesota-solar-project/">Xcel Energy completes first phase of 710-MW Minnesota solar project</a></h2></header><div class="entry-content"><a class="entry-image-link" href="https://www.solarpowerworldonline.com/2024/11/xcel-energy-completes-first-phase-of-710-mw-minnesota-solar-project/" aria-hidden="true" tabindex="-1"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/Sherco-Solar-Aerial-268x170.jpg" class="alignleft post-image entry-image wp-image-107841" alt="Xcel Energy completes first phase of 710-MW Minnesota solar project" decoding="async" /></a></div></article><p style="text-align:center;"><a href="https://www.solarpowerworldonline.com/recent-solar-power-articles/" class="button button-large">Read All Articles ></a></p></div><div class="section section-category-posts style-carousel"><h4 class="block-header">The Solar Explorer</a> <a href="https://www.solarpowerworldonline.com/category/sponsored-content/the-solar-explorer/">See More ></h4><div class="slick-slider post-carousel has-border"><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/11/solar-storage-for-extreme-weather-preparedness/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/06/aurora-sponsored-featured-image-june2023-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-102475 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Solar + storage for extreme weather preparedness</strong></span></a><div class="entry-content">Hurricane Helene rocked the Southeast, claiming at least 200 lives and causing widespread power outages that left a million Americans&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/11/how-to-debunk-whole-home-electrification-myths/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/11/aurora-sponsored-featured-image-november2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107741 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>How to debunk whole home electrification myths</strong></span></a><div class="entry-content">Whole home electrification is a big potential opportunity for solar installers. After all, if a home or business is going&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/put-solar-on-it-beetlejuice-beetlejuice-beetlej/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/aurora-sponsored-featured-image-october2024-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107562 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Put solar on it: Beetlejuice, Beetlejuice, Beetlej…</strong></span></a><div class="entry-content">There are almost too many ways to open a blog about Beetlejuice Beetlejuice. It can be enough to keep the&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/how-to-pay-for-solar-solar-financing-options-explained/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/aurora-sponsored-featured-image-october2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107561 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>How to pay for solar: Solar financing options explained</strong></span></a><div class="entry-content">Sunlight is free, but solar systems still cost money. Thankfully, though, the price of going solar has plummeted over the&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/09/how-to-choose-the-best-solar-battery-for-your-needs/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2022/10/aurora-sponsored-featured-image-october2022-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-100238 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>How to choose the best solar battery for your needs</strong></span></a><div class="entry-content">Solar battery technology is one of the core pieces of the electrification and solar power revolution that’s happening right now.&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/09/put-solar-on-it-stade-de-france/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/09/aurora-sponsored-featured-image-september2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107219 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Put solar on it: Stade de France</strong></span></a><div class="entry-content">It’s been well documented that the Paris Olympics will be the greenest ever. The organizers have the goal of halving&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/08/beginners-guide-to-solar-marketing-4-strategies-to-jumpstart-your-marketing/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/08/aurora-sponsored-featured-image-august2024-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-106941 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Beginner’s guide to solar marketing: 4 strategies to jumpstart your marketing</strong></span></a><div class="entry-content">When it comes to solar sales, it’s never been more difficult to stand out from the crowd. It’s also never&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/08/what-are-time-of-use-rates-your-tou-guide/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2021/07/aurora-sponsored-featured-image-july2021-article2-216x168.png" class="attachment-ea_carousel size-ea_carousel wp-image-95337 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>What are time of use rates? Your TOU guide</strong></span></a><div class="entry-content">What do the prices of movie tickets to Hollywood’s latest blockbuster and the cost of electricity have in common? Utility&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/07/solar-plus-roofing-a-step-by-step-guide/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/07/aurora-sponsored-featured-image-july2024-article2-216x168.png" class="attachment-ea_carousel size-ea_carousel wp-image-106576 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Solar plus roofing: A step-by-step guide</strong></span></a><div class="entry-content">Solar power’s growing impact in the US is undeniable, even if you don’t work on roofs all day. However, for&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/07/3-reasons-solar-is-the-answer-with-alex-honnold/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/07/aurora-sponsored-featured-image-july2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-106575 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>3 reasons solar is the answer with Alex Honnold</strong></span></a><div class="entry-content">At our recent Empower conference, Alex Honnold — yes that Alex Honnold — spoke about the role solar can play&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/06/the-paris-olympics-an-opening-ceremony-like-no-other/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/04/aurora-sponsored-featured-image-may2024-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-105764 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>The Paris Olympics: An Opening Ceremony like no other</strong></span></a><div class="entry-content">The Paris Olympics is celebrating a lot of firsts. Alongside Tokyo 2020, Paris 2024 is one of the first Olympics&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/06/optimize-your-roi-story-with-solar-storage-modeling-for-energy-arbitrage/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/05/aurora-sponsored-featured-image-june2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-106082 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Optimize your ROI story with solar + storage modeling for energy arbitrage</strong></span></a><div class="entry-content">With evolving net-metering regulations and time-of-use rates, battery storage is quickly becoming more than a backup plan — it can&hellip;</div></article></div></div><div class="section section-category-posts style-carousel"><h4 class="block-header">The Informed Installer <a href="https://www.solarpowerworldonline.com/category/sponsored-content/the-informed-installer/">See More ></a></h4><div class="slick-slider post-carousel has-border"><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/dont-get-forced-into-buying-the-wrong-drone/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/scanifly-sponsored-featured-image-october2024-article3-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107664 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Don’t Get Forced into Buying the Wrong Drone</strong></span></a><div class="entry-content">Takeaway: If your software provider forces you to buy a specific drone, you could end up overpaying, not getting the&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/why-is-there-friction-between-solar-sales-reps-and-lease-providers/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/scanifly-sponsored-featured-image-october2024-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107659 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Why Is There Friction Between Solar Sales Reps And Lease Providers?</strong></span></a><div class="entry-content">Takeaway: Contractors and lease providers are often skeptical of one another as Contractors decry what they believe to be arbitrary&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/10/how-operations-impact-solar-sales-commissions/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/10/scanifly-sponsored-featured-image-october2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107654 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>How Operations Impact Solar Sales Commissions</strong></span></a><div class="entry-content">Takeaway: System design adjustments result in re-sizing, revisions, or change orders, all of which can reduce commissions. Process inefficiencies lead&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/09/what-makes-a-good-or-bad-plan-set/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/09/scanifly-sponsored-featured-image-september2024-article3-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107479 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>What Makes a Good (or Bad) Plan Set?</strong></span></a><div class="entry-content">Takeaway: Plan sets require comprehensive on-site data, including measurements of every roof plane, internal surveying analysis, and details regarding any&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/09/think-your-surveys-are-perfectly-accurate-you-might-still-be-missing-something/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/09/scanifly-sponsored-featured-image-september2024-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107476 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Think Your Surveys Are Perfectly Accurate? You Might Still Be Missing Something</strong></span></a><div class="entry-content">Takeaway: Even if manual surveying methods work today, they may not work tomorrow (or any day your star Surveyor is&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/09/why-solar-shade-analysis-is-so-subjective-how-to-fix-it/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/09/scanifly-sponsored-featured-image-september2024-article1-216x168.png" class="attachment-ea_carousel size-ea_carousel wp-image-107470 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Why Solar Shade Analysis is so Subjective &#038; How to Fix It</strong></span></a><div class="entry-content">Takeaway: Solar Contractors often rely on potentially outdated or incomplete satellite, aerial, or LiDAR imagery for shade analysis. This results&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/08/top-4-causes-of-third-party-owner-tpo-rejections-and-how-to-avoid-them/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/08/scanifly-sponsored-featured-image-august2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107105 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Top 4 Causes of Third Party Owner (TPO) Rejections &#8211; And How to Avoid Them</strong></span></a><div class="entry-content">Takeaway: Remote-only tools have inherent accuracy issues. These lead to financing rejections or delays due to improper shade analysis, production&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/08/5-reasons-to-combine-your-drone-program-and-design-software/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/08/scanifly-sponsored-featured-image-august2024-article3-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107107 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>5 Reasons to Combine Your Drone Program and Design Software</strong></span></a><div class="entry-content">Takeaway: A centralized software platform that merges your design tools with photorealistic drone data leads to more accurate layouts, cost&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/08/its-about-the-future-of-energy-how-solar-can-power-new-economic-growth-in-canada/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/08/scanifly-sponsored-featured-image-august2024-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-107106 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>“It’s About The Future Of Energy”: How Solar Can Power New Economic Growth In Canada</strong></span></a><div class="entry-content">Takeaway: Canada is a diverse country with significant regional differences in electrical grids, energy pricing, and attitudes to renewable energy.&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/07/learn-drones-and-get-licensed-in-15-hours-or-less-and-get-that-time-back-immediately/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/07/scanifly-sponsored-featured-image-july2024-article3-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-106750 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Learn Drones and Get Licensed in 15 Hours or Less (And Get that Time Back Immediately)</strong></span></a><div class="entry-content">Takeaway: You can learn how to fly a drone in 30 minutes. From there, it takes about 10-15 hours to&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/07/how-often-do-you-actually-need-boots-on-the-roof/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/07/scanifly-sponsored-featured-image-july2024-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-106747 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>How Often Do You (Actually) Need “Boots on the Roof”?</strong></span></a><div class="entry-content">Takeaway: Solar requires going on the roof — but you shouldn’t put Surveyors at risk for any longer than necessary.&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2024/07/4-ways-good-designs-lead-to-higher-close-rates/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/07/scanifly-sponsored-featured-image-july2024-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-106601 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>4 Ways Good Designs Lead to Higher Close Rates</strong></span></a><div class="entry-content">Takeaway: When project owners can visualize their new solar array on a photorealistic 3D model of their property, they are&hellip;</div></article></div></div><div class="section section-videos style-carousel"><h4 class="block-header">Videos <a href="https://www.solarpowerworldonline.com/solar-power-videos">See More ></a></h4><div class="slick-slider video-carousel has-border"><div><a href="https://www.youtube.com/watch?v=7dgFTuZO7j0" class="video-popup"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/01/video-thumb-spw-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-101065" alt="" decoding="async" /></a> <span class="video-title">SPW- The Leading Solar Media Outlet</span></div><div><a href="https://www.youtube.com/watch?v=P0LiGNC62rA" class="video-popup"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/01/new-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-101078" alt="" decoding="async" /></a> <span class="video-title">Solar Basics: The Best Ground-Mount Solutions</span></div><div><a href="https://www.youtube.com/watch?v=6u4knj5N6aI" class="video-popup"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/01/silfab-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-101072" alt="" decoding="async" /></a> <span class="video-title">In the Lab: How To Make Quality Solar Panels</span></div><div><a href="https://www.youtube.com/shorts/2hcni402Omw" class="video-popup"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/01/llll-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-101076" alt="" decoding="async" /></a> <span class="video-title">SHORTS: Latest in Solar News</span></div><div><a href="https://www.youtube.com/watch?v=XVdtjYTAloU&#038;t=1225s" class="video-popup"><img width="268" height="170" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/01/era-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-101079" alt="" decoding="async" /></a> <span class="video-title">Contractor&#039;s Corner- New Era Electric</span></div></div></div><div class="section section-category-posts style-carousel"><h4 class="block-header">The Future of Solar with Omnidian <a href="https://www.solarpowerworldonline.com/category/sponsored-content/the-future-of-solar-with-omnidian/">See More ></a></h4><div class="slick-slider post-carousel has-border"><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2023/12/community-solar-is-growing-fast-so-are-om-concerns/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/12/omnidian-featured-image-december2023-article4-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-104547 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Community Solar Is Growing Fast. So Are O&#038;M Concerns.</strong></span></a><div class="entry-content">By Omnidian Community solar is forecasted for exceptional growth the next five years. Wood Mackenzie forecasts at least 6 GW of community&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2023/12/the-case-for-outsourcing-on-site-solar-service/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/12/omnidian-featured-image-december2023-article3-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-104546 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>The Case for Outsourcing On-Site Solar Service</strong></span></a><div class="entry-content">By Omnidian Solar developers and asset owners who outsource on-site operations and maintenance (O&amp;M) – instead of building and managing&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2023/12/correcting-the-approach-to-corrective-maintenance/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/12/omnidian-featured-image-december2023-article2-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-104545 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>Correcting the Approach to Corrective Maintenance</strong></span></a><div class="entry-content">By Omnidian The safe and successful long-term operation of a solar asset can be assured through an independent quality assurance&hellip;</div></article><article class="entry-carousel"><a href="https://www.solarpowerworldonline.com/2023/12/the-5-big-issues-facing-ci-solar-developers-and-how-to-solve-them/" class="entry-image-link"><img width="216" height="168" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/12/omnidian-featured-image-december2023-article1-216x168.jpg" class="attachment-ea_carousel size-ea_carousel wp-image-104544 wp-post-image" alt="" decoding="async" /><span class="entry-title"><strong>The 5 Big Issues Facing C&#038;I Solar Developers (and How to Solve Them)</strong></span></a><div class="entry-content">By Omnidian Time is money in commercial &amp; industrial solar – for solar installers, EPCs, and system owners. Unfortunately, PV&hellip;</div></article></div></div></div></main><aside class="sidebar sidebar-primary widget-area" role="complementary" aria-label="Primary Sidebar"><section id="widget_sponsor-2" class="widget widget_sponsor"><div class="widget-wrap"><center> <div id='div-gpt-spw_sidebar1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-spw_sidebar1'); }); </script> </div> </center></div></section> <section id="text-63" class="widget widget_text"><div class="widget-wrap"><h4 class="widget-title widgettitle">SPW Digital Editions</h4> <div class="textwidget"><div id="digital" style="padding: 0 15px 10px 15px;"><a href="/category/digital-issues/" target="_blank" rel="noopener"><img decoding="async" style="padding: 0 10px; width: 125px;" src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/06/spw-march-cover.jpg" alt="Solar Power World Digital Edition" align="left" /></a></div> <div style="padding: 0 15px 10px 15px;">Check in with the nation&#8217;s leading solar construction magazine today.</div> <p>&nbsp;</p> <div></div> <div style="padding: 0 15px 10px 15px;"> <div style="text-align: center; height: 60px; width: 250px; margin: 0 auto; background-color: #ffffff;"> <div style="float: left;"><a href="/category/digital-issues/" target="_parent" rel="nofollow"><button class="greenbutton">Latest Issue</button></a></div> <div style="float: right;"><a href="/subscribe-to-solar-power-world/" target="_parent" rel="nofollow"><button class="greenbutton">Subscribe</button></a></div> </div> </div> </div> </div></section> <section id="custom_html-6" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"> <center> <a href="/category/sponsored-content/the-informed-installer/" target="_self"><img src="https://www.solarpowerworldonline.com/wp-content/uploads/2024/02/The-Informed-Installer_300x250-2.png" alt=“the-informed-solar-installer”></a> </center></div></div></section> <section id="custom_html-3" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center> <a href="https://www.solarpowerworldonline.com/u-s-solar-panel-manufacturers/" target="_blank"><img src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/04/SPW-US-MFG-1.jpg" alt=“solar manufacturers”></a> </center> </div></div></section> <section id="widget_sponsor-3" class="widget widget_sponsor"><div class="widget-wrap"><center><div id='div-gpt-spw_sidebar2'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-spw_sidebar2'); }); </script> </div> </center></div></section> <section id="custom_html-2" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="https://www.solarpowerworldonline.com/newsletter-subscription-form/" target="_blank"><img src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/04/header-SPW.jpg" alt=“spw newsletter”></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">EXPAND YOUR KNOWLEDGE AND STAY CONNECTED</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;">Get the latest info on technologies, tools and strategies for Solar Power Professionals.</span></div> <div align="center" style="padding-top: 10px;"><a href="https://www.solarpowerworldonline.com/newsletter-subscription-form/" target="_blank"><button style="background-color: # f1b158; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">GET THE ENEWSLETTER</button></a></div> </div> </center></div></div></section> <section id="widget_sponsor-15" class="widget widget_sponsor"><div class="widget-wrap"> <div id='div-gpt-spw_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-spw_sidebarbottom'); }); </script> </div></div></section> <section id="custom_html-5" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">Contractor&#8217;s Corner Podcast</h4> <div class="textwidget custom-html-widget"><iframe style="border-radius:12px" src="https://open.spotify.com/embed/show/75NdOAiWNOI4W344Nihhq5?utm_source=generator&theme=0" width="90%" height="352" frameborder="0" allowfullscreen="" allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy"></iframe></div></div></section> <section id="custom_html-4" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center> <a href="https://www.solarpowerworldonline.com/tag/usa-manufacturing" target="_blank"><img src="https://www.solarpowerworldonline.com/wp-content/uploads/2023/04/DomesticMfgUpdates-1.jpg" alt=“solar manufacturers”></a> </center></div></div></section> </aside></div></div></div><div class="footer-socials"><div class="wrap"><label>Connect with Solar Power World on Social Media</label> <a href="https://twitter.com/SolarPowerWorld" target="_blank" rel="noopener noreferrer"><i class="icon-twitter"></i></a><a href="https://www.facebook.com/SolarPowerWorld/" target="_blank" rel="noopener noreferrer"><i class="icon-facebook"></i></a><a href="https://www.linkedin.com/company/solarpowerworld/" target="_blank" rel="noopener noreferrer"><i class="icon-linkedin"></i></a><a href="https://www.instagram.com/solarpowerworld/" target="_blank" rel="noopener noreferrer"><i class="icon-instagram"></i></a><a href="https://www.youtube.com/user/SolarPowerWorldVideo" target="_blank" rel="noopener noreferrer"><i class="icon-youtube"></i></a><a href="https://soundcloud.com/solarpowerworld" target="_blank" rel="noopener noreferrer"><i class="icon-soundcloud"></i></a></div></div><footer class="site-footer"><div class="wrap"><div class="row"><div class="footer-logo"><a href="https://www.solarpowerworldonline.com">Solar Power World</a></div><div class="footer-menu"><div class="menu-footer-container"><ul id="menu-footer" class="menu"><li id="menu-item-75151" class="menu-item"><a href="https://www.solarpowerworldonline.com/top-solar-contractors/">Top Solar Contractors</a></li> <li id="menu-item-75152" class="menu-item"><a href="https://www.solarpowerworldonline.com/recent-solar-power-articles/">Solar Articles</a></li> <li id="menu-item-83875" class="menu-item"><a href="https://www.windpowerengineering.com/">Windpower Engineering &#038; Development</a></li> <li id="menu-item-75154" class="menu-item"><a href="https://www.solarpowerworldonline.com/leadership/">Leadership</a></li> <li id="menu-item-75155" class="menu-item"><a href="https://www.solarpowerworldonline.com/contact-us/">About/Contact Us</a></li> <li id="menu-item-75158" class="menu-item"><a href="https://www.solarpowerworldonline.com/subscribe-to-solar-power-world-magazine/">Subscribe</a></li> <li id="menu-item-75157" class="menu-item"><a href="https://marketing.wtwhmedia.com/2024-solar-power-world-media-guide/">Advertising</a></li> <li id="menu-item-84511" class="menu-item"><a href="https://www.wtwhmedia.com/renewable-energy/">WTWH Media</a></li> </ul></div></div><div class="footer-copyright"><p>Copyright &copy; 2024 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media<br /> <a href="http://www.wtwhmedia.com/privacy-policy/">Privacy Policy</a> | <a href="https://www.solarpowerworldonline.com/feed/">RSS</a></p></div></div></div></footer></div><div class="site-search"><div class="wrap"><div class="search-inner"><h2>Search Solar Power World</h2><form class="search-form" method="get" action="https://www.solarpowerworldonline.com/" role="search"><input class="search-form-input" type="search" name="s" id="searchform-1" placeholder="Search this website"><input class="search-form-submit" type="submit" value="GO"><meta content="https://www.solarpowerworldonline.com/?s={s}"></form></div></div></div> <!-- xyzzy bottom --> </div> <script> var GAMaccountID = 5272491; var GAMnetworkName = 'renew_network'; var GAMadUnitName = 'spw_prestitial'; googletag.slots = googletag.slots || {}; </script> <!-- Google Tag Manager (noscript) Global --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MMC9PJ9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PTC529V" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id='div-gpt-spw_wallpaper'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-spw_wallpaper'); }); </script> </div> <div id='div-gpt-spw_allstreamflex'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-spw_allstreamflex'); }); </script> </div> <div id='div-gpt-spw_allstreamprelude'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-spw_allstreamprelude'); }); </script> </div> <div id="sidr-mobile-menu" class="sidr right"><a class="sidr-menu-close" href="#"><i class="icon-close"></i></a><div class="menu-primary-container"><ul id="menu-primary-1" class="menu"><li class="home menu-item current-menu-item"><a href="https://www.solarpowerworldonline.com/" aria-current="page">Home</a></li> <li class="menu-item"><a href="http://solarpowerworldonline.com/top-solar-contractors/">Top Solar Contractors</a></li> <li class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/recent-solar-power-articles/">Articles</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/recent-solar-power-articles/">Most Recent Posts</a></li> <li class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/industry-news/">News</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/industry-news/">Latest News Items</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/tag/tariffs/">Solar tariffs</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/tag/usa-manufacturing/">U.S. manufacturing updates</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/tag/ira/">IRA coverage</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/featured/">Featured</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/featured/">Latest Feature Stories</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/featured/solar-podcasts/contractors-corner/">Contractor&#8217;s Corner</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/featured/trends/">Trends in Solar</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/sponsored-content/the-solar-explorer/">The Solar Explorer</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/policy/">Policy</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/tag/policysnapshot/">The Solar Policy Scoop</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/tag/ira/">IRA Coverage</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/recent-solar-power-articles/">Markets</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/markets/residential/">Residential</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/markets/commercial/">Commercial</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/markets/community/">Community Solar</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/markets/utility/">Utility</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="/recent-solar-power-articles/">Products</a> <ul class="sub-menu"> <li class="menu-item"><a href="/apply-now-top-products/">SPW&#8217;s 2024 Top Products contest</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/components-products/battery/">Batteries and Storage</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/components-products/ev/">Electric Vehicle (EV)</a></li> <li class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/components-products/inverters/">Inverters</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-inverter-manufacturers/">U.S. solar inverter manufacturers</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/components-products/racking-and-mounting/">Racking and Mounting</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-mounting-manufacturers/">U.S. solar mounting manufacturers</a></li> </ul> </li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/components-products/software/">Software</a></li> <li class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/category/components-products/panels-generation/">Solar Panels</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-panel-manufacturers/">U.S. solar panel manufacturers</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="http://solarpowerworldonline.com/#">Resources</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/contact-us/">About SPW</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/digital-issues/">Digital Issues</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/events/">Event Coverage</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/featured/solar-podcasts/">Podcasts</a></li> <li class="menu-item menu-item-has-children"><a href="https://www.solarpowerworldonline.com/tag/usa-manufacturing/">Product Manufacturing Locations</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-inverter-manufacturers/">U.S. solar inverter manufacturers</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-mounting-manufacturers/">U.S. solar mounting manufacturers</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/u-s-solar-panel-manufacturers/">U.S. solar panel manufacturers</a></li> </ul> </li> <li class="menu-item"><a target="_blank" href="/solar-power-world-classrooms">Solar Classrooms</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/suppliers/">Suppliers</a></li> <li class="menu-item"><a href="/solar-power-videos/">Videos</a></li> <li class="menu-item"><a target="_blank" href="https://gateway.on24.com/wcc/experience/elitewtwhmedia/2927718/4415914/solar-power-world">Webinars / Digital Events</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/category/special-features/white-paper/">Whitepapers</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a target="_blank" href="https://leadership.solarpowerworldonline.com/">2024 Leadership</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/leadership/2023-leadership-in-solar-winners/">2023 Winners</a></li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/leadership/2022-leadership-in-solar-winners/">2022 Winners</a></li> </ul> </li> <li class="menu-item"><a href="https://www.solarpowerworldonline.com/subscribe-to-solar-power-world/">Subscribe</a></li> </ul></div></div></div> <script type="text/html" id="tmpl-media-frame"> <div class="media-frame-title" id="media-frame-title"></div> <h2 class="media-frame-menu-heading">Actions</h2> <button type="button" class="button button-link media-frame-menu-toggle" aria-expanded="false"> Menu <span class="dashicons dashicons-arrow-down" aria-hidden="true"></span> </button> <div class="media-frame-menu"></div> <div class="media-frame-tab-panel"> <div class="media-frame-router"></div> <div class="media-frame-content"></div> </div> <h2 class="media-frame-actions-heading screen-reader-text"> Selected media actions </h2> <div class="media-frame-toolbar"></div> <div class="media-frame-uploader"></div> </script> <script type="text/html" id="tmpl-media-modal"> <div tabindex="0" class="media-modal wp-core-ui" role="dialog" aria-labelledby="media-frame-title"> <# if ( data.hasCloseButton ) { #> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text"> Close dialog </span></span></button> <# } #> <div class="media-modal-content" role="document"></div> </div> <div class="media-modal-backdrop"></div> </script> <script type="text/html" id="tmpl-uploader-window"> <div class="uploader-window-content"> <div class="uploader-editor-title">Drop files to upload</div> </div> </script> <script type="text/html" id="tmpl-uploader-editor"> <div class="uploader-editor-content"> <div class="uploader-editor-title">Drop files to upload</div> </div> </script> <script type="text/html" id="tmpl-uploader-inline"> <# var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #> <# if ( data.canClose ) { #> <button class="close dashicons dashicons-no"><span class="screen-reader-text"> Close uploader </span></button> <# } #> <div class="uploader-inline-content {{ messageClass }}"> <# if ( data.message ) { #> <h2 class="upload-message">{{ data.message }}</h2> <# } #> <div class="upload-ui"> <h2 class="upload-instructions drop-instructions">Drop files to upload</h2> <p class="upload-instructions drop-instructions">or</p> <button type="button" class="browser button button-hero" aria-labelledby="post-upload-info">Select Files</button> </div> <div class="upload-inline-status"></div> <div class="post-upload-ui" id="post-upload-info"> <p class="max-upload-size"> Maximum upload file size: 50 MB. </p> <# if ( data.suggestedWidth && data.suggestedHeight ) { #> <p class="suggested-dimensions"> Suggested image dimensions: {{data.suggestedWidth}} by {{data.suggestedHeight}} pixels. </p> <# } #> </div> </div> </script> <script type="text/html" id="tmpl-media-library-view-switcher"> <a href="https://www.solarpowerworldonline.com/wp-admin/upload.php?mode=list" class="view-list"> <span class="screen-reader-text"> List view </span> </a> <a href="https://www.solarpowerworldonline.com/wp-admin/upload.php?mode=grid" class="view-grid current" aria-current="page"> <span class="screen-reader-text"> Grid view </span> </a> </script> <script type="text/html" id="tmpl-uploader-status"> <h2>Uploading</h2> <div class="media-progress-bar"><div></div></div> <div class="upload-details"> <span class="upload-count"> <span class="upload-index"></span> / <span class="upload-total"></span> </span> <span class="upload-detail-separator">&ndash;</span> <span class="upload-filename"></span> </div> <div class="upload-errors"></div> <button type="button" class="button upload-dismiss-errors">Dismiss errors</button> </script> <script type="text/html" id="tmpl-uploader-status-error"> <span class="upload-error-filename">{{{ data.filename }}}</span> <span class="upload-error-message">{{ data.message }}</span> </script> <script type="text/html" id="tmpl-edit-attachment-frame"> <div class="edit-media-header"> <button class="left dashicons"<# if ( ! data.hasPrevious ) { #> disabled<# } #>><span class="screen-reader-text">Edit previous media item</span></button> <button class="right dashicons"<# if ( ! data.hasNext ) { #> disabled<# } #>><span class="screen-reader-text">Edit next media item</span></button> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text">Close dialog</span></span></button> </div> <div class="media-frame-title"></div> <div class="media-frame-content"></div> </script> <script type="text/html" id="tmpl-attachment-details-two-column"> <div class="attachment-media-view {{ data.orientation }}"> <h2 class="screen-reader-text">Attachment Preview</h2> <div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #> <div class="media-progress-bar"><div></div></div> <# } else if ( data.sizes && data.sizes.full ) { #> <img class="details-image" src="{{ data.sizes.full.url }}" draggable="false" alt="" /> <# } else if ( data.sizes && data.sizes.large ) { #> <img class="details-image" src="{{ data.sizes.large.url }}" draggable="false" alt="" /> <# } else if ( -1 === jQuery.inArray( data.type, [ 'audio', 'video' ] ) ) { #> <img class="details-image icon" src="{{ data.icon }}" draggable="false" alt="" /> <# } #> <# if ( 'audio' === data.type ) { #> <div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio> </div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #> <div style="{{ w_rule }}" class="wp-media-wrapper wp-video"> <video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /> </video> </div> <# } #> <div class="attachment-actions"> <# if ( 'image' === data.type && ! data.uploading && data.sizes && data.can.save ) { #> <button type="button" class="button edit-attachment">Edit Image</button> <# } else if ( 'pdf' === data.subtype && data.sizes ) { #> <p>Document Preview</p> <# } #> </div> </div> </div> <div class="attachment-info"> <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span> <div class="details"> <h2 class="screen-reader-text"> Details </h2> <div class="uploaded"><strong>Uploaded on:</strong> {{ data.dateFormatted }}</div> <div class="uploaded-by"> <strong>Uploaded by:</strong> <# if ( data.authorLink ) { #> <a href="{{ data.authorLink }}">{{ data.authorName }}</a> <# } else { #> {{ data.authorName }} <# } #> </div> <# if ( data.uploadedToTitle ) { #> <div class="uploaded-to"> <strong>Uploaded to:</strong> <# if ( data.uploadedToLink ) { #> <a href="{{ data.uploadedToLink }}">{{ data.uploadedToTitle }}</a> <# } else { #> {{ data.uploadedToTitle }} <# } #> </div> <# } #> <div class="filename"><strong>File name:</strong> {{ data.filename }}</div> <div class="file-type"><strong>File type:</strong> {{ data.mime }}</div> <div class="file-size"><strong>File size:</strong> {{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #> <div class="dimensions"><strong>Dimensions:</strong> {{ data.width }} by {{ data.height }} pixels </div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #> <div class="word-wrap-break-word"> <strong>Original image:</strong> <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a> </div> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #> <div class="file-length"><strong>Length:</strong> <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span> </div> <# } #> <# if ( 'audio' === data.type && data.meta.bitrate ) { #> <div class="bitrate"> <strong>Bitrate:</strong> {{ Math.round( data.meta.bitrate / 1000 ) }}kb/s <# if ( data.meta.bitrate_mode ) { #> {{ ' ' + data.meta.bitrate_mode.toUpperCase() }} <# } #> </div> <# } #> <# if ( data.mediaStates ) { #> <div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #> <div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #> </div> </div> <div class="settings"> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-two-column-alt-text" class="name">Alternative Text</label> <textarea id="attachment-details-two-column-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-two-column-title" class="name">Title</label> <input type="text" id="attachment-details-two-column-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-two-column-artist" class="name">Artist</label> <input type="text" id="attachment-details-two-column-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-two-column-album" class="name">Album</label> <input type="text" id="attachment-details-two-column-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-two-column-caption" class="name">Caption</label> <textarea id="attachment-details-two-column-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea> </span> <span class="setting" data-setting="description"> <label for="attachment-details-two-column-description" class="name">Description</label> <textarea id="attachment-details-two-column-description" {{ maybeReadOnly }}>{{ data.description }}</textarea> </span> <span class="setting" data-setting="url"> <label for="attachment-details-two-column-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-two-column-copy-link" value="{{ data.url }}" readonly /> <span class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-two-column-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span> </span> </span> <div class="attachment-compat"></div> </div> <div class="actions"> <# if ( data.link ) { #> <a class="view-attachment" href="{{ data.link }}">View attachment page</a> <# } #> <# if ( data.can.save ) { #> <# if ( data.link ) { #> <span class="links-separator">|</span> <# } #> <a href="{{ data.editLink }}">Edit more details</a> <# } #> <# if ( data.can.save && data.link ) { #> <span class="links-separator">|</span> <a href="{{ data.url }}" download>Download file</a> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <# if ( data.link || data.can.save ) { #> <span class="links-separator">|</span> <# } #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #> </div> </div> </script> <script type="text/html" id="tmpl-attachment"> <div class="attachment-preview js--select-attachment type-{{ data.type }} subtype-{{ data.subtype }} {{ data.orientation }}"> <div class="thumbnail"> <# if ( data.uploading ) { #> <div class="media-progress-bar"><div style="width: {{ data.percent }}%"></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #> <div class="centered"> <img src="{{ data.size.url }}" draggable="false" alt="" /> </div> <# } else { #> <div class="centered"> <# if ( data.image && data.image.src && data.image.src !== data.icon ) { #> <img src="{{ data.image.src }}" class="thumbnail" draggable="false" alt="" /> <# } else if ( data.sizes ) { if ( data.sizes.medium ) { #> <img src="{{ data.sizes.medium.url }}" class="thumbnail" draggable="false" alt="" /> <# } else { #> <img src="{{ data.sizes.full.url }}" class="thumbnail" draggable="false" alt="" /> <# } #> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #> </div> <div class="filename"> <div>{{ data.filename }}</div> </div> <# } #> </div> <# if ( data.buttons.close ) { #> <button type="button" class="button-link attachment-close media-modal-icon"><span class="screen-reader-text"> Remove </span></button> <# } #> </div> <# if ( data.buttons.check ) { #> <button type="button" class="check" tabindex="-1"><span class="media-modal-icon"></span><span class="screen-reader-text"> Deselect </span></button> <# } #> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; if ( data.describe ) { if ( 'image' === data.type ) { #> <input type="text" value="{{ data.caption }}" class="describe" data-setting="caption" aria-label="Caption" placeholder="Caption&hellip;" {{ maybeReadOnly }} /> <# } else { #> <input type="text" value="{{ data.title }}" class="describe" data-setting="title" <# if ( 'video' === data.type ) { #> aria-label="Video title" placeholder="Video title&hellip;" <# } else if ( 'audio' === data.type ) { #> aria-label="Audio title" placeholder="Audio title&hellip;" <# } else { #> aria-label="Media title" placeholder="Media title&hellip;" <# } #> {{ maybeReadOnly }} /> <# } } #> </script> <script type="text/html" id="tmpl-attachment-details"> <h2> Attachment Details <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span> </h2> <div class="attachment-info"> <# if ( 'audio' === data.type ) { #> <div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio> </div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #> <div style="{{ w_rule }}" class="wp-media-wrapper wp-video"> <video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /> </video> </div> <# } else { #> <div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #> <div class="media-progress-bar"><div></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #> <img src="{{ data.size.url }}" draggable="false" alt="" /> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #> </div> <# } #> <div class="details"> <div class="filename">{{ data.filename }}</div> <div class="uploaded">{{ data.dateFormatted }}</div> <div class="file-size">{{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #> <div class="dimensions"> {{ data.width }} by {{ data.height }} pixels </div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #> <div class="word-wrap-break-word"> Original image: <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a> </div> <# } #> <# if ( data.can.save && data.sizes ) { #> <a class="edit-attachment" href="{{ data.editLink }}&amp;image-editor" target="_blank">Edit Image</a> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #> <div class="file-length">Length: <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span> </div> <# } #> <# if ( data.mediaStates ) { #> <div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #> <div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #> </div> </div> </div> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-alt-text" class="name">Alt Text</label> <textarea id="attachment-details-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-title" class="name">Title</label> <input type="text" id="attachment-details-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-artist" class="name">Artist</label> <input type="text" id="attachment-details-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-album" class="name">Album</label> <input type="text" id="attachment-details-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-caption" class="name">Caption</label> <textarea id="attachment-details-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea> </span> <span class="setting" data-setting="description"> <label for="attachment-details-description" class="name">Description</label> <textarea id="attachment-details-description" {{ maybeReadOnly }}>{{ data.description }}</textarea> </span> <span class="setting" data-setting="url"> <label for="attachment-details-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-copy-link" value="{{ data.url }}" readonly /> <div class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span> </div> </span> </script> <script type="text/html" id="tmpl-media-selection"> <div class="selection-info"> <span class="count"></span> <# if ( data.editable ) { #> <button type="button" class="button-link edit-selection">Edit Selection</button> <# } #> <# if ( data.clearable ) { #> <button type="button" class="button-link clear-selection">Clear</button> <# } #> </div> <div class="selection-view"></div> </script> <script type="text/html" id="tmpl-attachment-display-settings"> <h2>Attachment Display Settings</h2> <# if ( 'image' === data.type ) { #> <span class="setting align"> <label for="attachment-display-settings-alignment" class="name">Alignment</label> <select id="attachment-display-settings-alignment" class="alignment" data-setting="align" <# if ( data.userSettings ) { #> data-user-setting="align" <# } #>> <option value="left"> Left </option> <option value="center"> Center </option> <option value="right"> Right </option> <option value="none" selected> None </option> </select> </span> <# } #> <span class="setting"> <label for="attachment-display-settings-link-to" class="name"> <# if ( data.model.canEmbed ) { #> Embed or Link <# } else { #> Link To <# } #> </label> <select id="attachment-display-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings && ! data.model.canEmbed ) { #> data-user-setting="urlbutton" <# } #>> <# if ( data.model.canEmbed ) { #> <option value="embed" selected> Embed Media Player </option> <option value="file"> <# } else { #> <option value="none" selected> None </option> <option value="file"> <# } #> <# if ( data.model.canEmbed ) { #> Link to Media File <# } else { #> Media File <# } #> </option> <option value="post"> <# if ( data.model.canEmbed ) { #> Link to Attachment Page <# } else { #> Attachment Page <# } #> </option> <# if ( 'image' === data.type ) { #> <option value="custom"> Custom URL </option> <# } #> </select> </span> <span class="setting"> <label for="attachment-display-settings-link-to-custom" class="name">URL</label> <input type="text" id="attachment-display-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> <# if ( 'undefined' !== typeof data.sizes ) { #> <span class="setting"> <label for="attachment-display-settings-size" class="name">Size</label> <select id="attachment-display-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #> <option value="thumbnail" > Thumbnail &ndash; {{ size.width }} &times; {{ size.height }} </option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #> <option value="medium" > Medium &ndash; {{ size.width }} &times; {{ size.height }} </option> <# } #> <# var size = data.sizes['large']; if ( size ) { #> <option value="large" > Large &ndash; {{ size.width }} &times; {{ size.height }} </option> <# } #> <# var size = data.sizes['full']; if ( size ) { #> <option value="full" selected='selected'> Full Size &ndash; {{ size.width }} &times; {{ size.height }} </option> <# } #> </select> </span> <# } #> </script> <script type="text/html" id="tmpl-gallery-settings"> <h2>Gallery Settings</h2> <span class="setting"> <label for="gallery-settings-link-to" class="name">Link To</label> <select id="gallery-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings ) { #> data-user-setting="urlbutton" <# } #>> <option value="post" <# if ( ! wp.media.galleryDefaults.link || 'post' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Attachment Page </option> <option value="file" <# if ( 'file' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Media File </option> <option value="none" <# if ( 'none' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> None </option> </select> </span> <span class="setting"> <label for="gallery-settings-columns" class="name select-label-inline">Columns</label> <select id="gallery-settings-columns" class="columns" name="columns" data-setting="columns"> <option value="1" <# if ( 1 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 1 </option> <option value="2" <# if ( 2 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 2 </option> <option value="3" <# if ( 3 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 3 </option> <option value="4" <# if ( 4 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 4 </option> <option value="5" <# if ( 5 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 5 </option> <option value="6" <# if ( 6 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 6 </option> <option value="7" <# if ( 7 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 7 </option> <option value="8" <# if ( 8 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 8 </option> <option value="9" <# if ( 9 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 9 </option> </select> </span> <span class="setting"> <input type="checkbox" id="gallery-settings-random-order" data-setting="_orderbyRandom" /> <label for="gallery-settings-random-order" class="checkbox-label-inline">Random Order</label> </span> <span class="setting size"> <label for="gallery-settings-size" class="name">Size</label> <select id="gallery-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #> > <option value="thumbnail"> Thumbnail </option> <option value="medium"> Medium </option> <option value="large"> Large </option> <option value="full"> Full Size </option> </select> </span> </script> <script type="text/html" id="tmpl-playlist-settings"> <h2>Playlist Settings</h2> <# var emptyModel = _.isEmpty( data.model ), isVideo = 'video' === data.controller.get('library').props.get('type'); #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-list" data-setting="tracklist" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-list" class="checkbox-label-inline"> <# if ( isVideo ) { #> Show Video List <# } else { #> Show Tracklist <# } #> </label> </span> <# if ( ! isVideo ) { #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-artist" data-setting="artists" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-artist" class="checkbox-label-inline"> Show Artist Name in Tracklist </label> </span> <# } #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-images" data-setting="images" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-images" class="checkbox-label-inline"> Show Images </label> </span> </script> <script type="text/html" id="tmpl-embed-link-settings"> <span class="setting link-text"> <label for="embed-link-settings-link-text" class="name">Link Text</label> <input type="text" id="embed-link-settings-link-text" class="alignment" data-setting="linkText" /> </span> <div class="embed-container" style="display: none;"> <div class="embed-preview"></div> </div> </script> <script type="text/html" id="tmpl-embed-image-settings"> <div class="wp-clearfix"> <div class="thumbnail"> <img src="{{ data.model.url }}" draggable="false" alt="" /> </div> </div> <span class="setting alt-text has-description"> <label for="embed-image-settings-alt-text" class="name">Alternative Text</label> <textarea id="embed-image-settings-alt-text" data-setting="alt" aria-describedby="alt-text-description"></textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="embed-image-settings-caption" class="name">Caption</label> <textarea id="embed-image-settings-caption" data-setting="caption"></textarea> </span> <fieldset class="setting-group"> <legend class="name">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Center </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span> </fieldset> <fieldset class="setting-group"> <legend class="name">Link To</legend> <span class="setting link-to"> <span class="button-group button-large" data-setting="link"> <button class="button" value="file"> Image URL </button> <button class="button" value="custom"> Custom URL </button> <button class="button active" value="none"> None </button> </span> </span> <span class="setting"> <label for="embed-image-settings-link-to-custom" class="name">URL</label> <input type="text" id="embed-image-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> </fieldset> </script> <script type="text/html" id="tmpl-image-details"> <div class="media-embed"> <div class="embed-media-settings"> <div class="column-settings"> <span class="setting alt-text has-description"> <label for="image-details-alt-text" class="name">Alternative Text</label> <textarea id="image-details-alt-text" data-setting="alt" aria-describedby="alt-text-description">{{ data.model.alt }}</textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="image-details-caption" class="name">Caption</label> <textarea id="image-details-caption" data-setting="caption">{{ data.model.caption }}</textarea> </span> <h2>Display Settings</h2> <fieldset class="setting-group"> <legend class="legend-inline">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Center </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span> </fieldset> <# if ( data.attachment ) { #> <# if ( 'undefined' !== typeof data.attachment.sizes ) { #> <span class="setting size"> <label for="image-details-size" class="name">Size</label> <select id="image-details-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #> <option value="thumbnail"> Thumbnail &ndash; {{ size.width }} &times; {{ size.height }} </option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #> <option value="medium"> Medium &ndash; {{ size.width }} &times; {{ size.height }} </option> <# } #> <# var size = data.sizes['large']; if ( size ) { #> <option value="large"> Large &ndash; {{ size.width }} &times; {{ size.height }} </option> <# } #> <# var size = data.sizes['full']; if ( size ) { #> <option value="full"> Full Size &ndash; {{ size.width }} &times; {{ size.height }} </option> <# } #> <option value="custom"> Custom Size </option> </select> </span> <# } #> <div class="custom-size wp-clearfix<# if ( data.model.size !== 'custom' ) { #> hidden<# } #>"> <span class="custom-size-setting"> <label for="image-details-size-width">Width</label> <input type="number" id="image-details-size-width" aria-describedby="image-size-desc" data-setting="customWidth" step="1" value="{{ data.model.customWidth }}" /> </span> <span class="sep" aria-hidden="true">&times;</span> <span class="custom-size-setting"> <label for="image-details-size-height">Height</label> <input type="number" id="image-details-size-height" aria-describedby="image-size-desc" data-setting="customHeight" step="1" value="{{ data.model.customHeight }}" /> </span> <p id="image-size-desc" class="description">Image size in pixels</p> </div> <# } #> <span class="setting link-to"> <label for="image-details-link-to" class="name">Link To</label> <select id="image-details-link-to" data-setting="link"> <# if ( data.attachment ) { #> <option value="file"> Media File </option> <option value="post"> Attachment Page </option> <# } else { #> <option value="file"> Image URL </option> <# } #> <option value="custom"> Custom URL </option> <option value="none"> None </option> </select> </span> <span class="setting"> <label for="image-details-link-to-custom" class="name">URL</label> <input type="text" id="image-details-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> <div class="advanced-section"> <h2><button type="button" class="button-link advanced-toggle">Advanced Options</button></h2> <div class="advanced-settings hidden"> <div class="advanced-image"> <span class="setting title-text"> <label for="image-details-title-attribute" class="name">Image Title Attribute</label> <input type="text" id="image-details-title-attribute" data-setting="title" value="{{ data.model.title }}" /> </span> <span class="setting extra-classes"> <label for="image-details-css-class" class="name">Image CSS Class</label> <input type="text" id="image-details-css-class" data-setting="extraClasses" value="{{ data.model.extraClasses }}" /> </span> </div> <div class="advanced-link"> <span class="setting link-target"> <input type="checkbox" id="image-details-link-target" data-setting="linkTargetBlank" value="_blank" <# if ( data.model.linkTargetBlank ) { #>checked="checked"<# } #>> <label for="image-details-link-target" class="checkbox-label">Open link in a new tab</label> </span> <span class="setting link-rel"> <label for="image-details-link-rel" class="name">Link Rel</label> <input type="text" id="image-details-link-rel" data-setting="linkRel" value="{{ data.model.linkRel }}" /> </span> <span class="setting link-class-name"> <label for="image-details-link-css-class" class="name">Link CSS Class</label> <input type="text" id="image-details-link-css-class" data-setting="linkClassName" value="{{ data.model.linkClassName }}" /> </span> </div> </div> </div> </div> <div class="column-image"> <div class="image"> <img src="{{ data.model.url }}" draggable="false" alt="" /> <# if ( data.attachment && window.imageEdit ) { #> <div class="actions"> <input type="button" class="edit-attachment button" value="Edit Original" /> <input type="button" class="replace-attachment button" value="Replace" /> </div> <# } #> </div> </div> </div> </div> </script> <script type="text/html" id="tmpl-image-editor"> <div id="media-head-{{ data.id }}"></div> <div id="image-editor-{{ data.id }}"></div> </script> <script type="text/html" id="tmpl-audio-details"> <# var ext, html5types = { mp3: wp.media.view.settings.embedMimes.mp3, ogg: wp.media.view.settings.embedMimes.ogg }; #> <div class="media-embed media-embed-details"> <div class="embed-media-settings embed-audio-settings"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="{{ _.isUndefined( data.model.width ) ? 400 : data.model.width }}" preload="{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { #> <source src="{{ data.model.src }}" type="{{ wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { #> <source src="{{ data.model.mp3 }}" type="{{ wp.media.view.settings.embedMimes[ 'mp3' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { #> <source src="{{ data.model.ogg }}" type="{{ wp.media.view.settings.embedMimes[ 'ogg' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { #> <source src="{{ data.model.flac }}" type="{{ wp.media.view.settings.embedMimes[ 'flac' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { #> <source src="{{ data.model.m4a }}" type="{{ wp.media.view.settings.embedMimes[ 'm4a' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { #> <source src="{{ data.model.wav }}" type="{{ wp.media.view.settings.embedMimes[ 'wav' ] }}" /> <# } #> </audio> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="audio-details-source" class="name">URL</label> <input type="text" id="audio-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { if ( ! _.isUndefined( html5types.mp3 ) ) { delete html5types.mp3; } #> <span class="setting"> <label for="audio-details-mp3-source" class="name">MP3</label> <input type="text" id="audio-details-mp3-source" readonly data-setting="mp3" value="{{ data.model.mp3 }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { if ( ! _.isUndefined( html5types.ogg ) ) { delete html5types.ogg; } #> <span class="setting"> <label for="audio-details-ogg-source" class="name">OGG</label> <input type="text" id="audio-details-ogg-source" readonly data-setting="ogg" value="{{ data.model.ogg }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { if ( ! _.isUndefined( html5types.flac ) ) { delete html5types.flac; } #> <span class="setting"> <label for="audio-details-flac-source" class="name">FLAC</label> <input type="text" id="audio-details-flac-source" readonly data-setting="flac" value="{{ data.model.flac }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { if ( ! _.isUndefined( html5types.m4a ) ) { delete html5types.m4a; } #> <span class="setting"> <label for="audio-details-m4a-source" class="name">M4A</label> <input type="text" id="audio-details-m4a-source" readonly data-setting="m4a" value="{{ data.model.m4a }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { if ( ! _.isUndefined( html5types.wav ) ) { delete html5types.wav; } #> <span class="setting"> <label for="audio-details-wav-source" class="name">WAV</label> <input type="text" id="audio-details-wav-source" readonly data-setting="wav" value="{{ data.model.wav }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( html5types ) ) { #> <fieldset class="setting-group"> <legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span> </fieldset> <# } #> <fieldset class="setting-group"> <legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span> </fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="audio-details-autoplay" data-setting="autoplay" /> <label for="audio-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="audio-details-loop" data-setting="loop" /> <label for="audio-details-loop" class="checkbox-label">Loop</label> </span> </span> </div> </div> </script> <script type="text/html" id="tmpl-video-details"> <# var ext, html5types = { mp4: wp.media.view.settings.embedMimes.mp4, ogv: wp.media.view.settings.embedMimes.ogv, webm: wp.media.view.settings.embedMimes.webm }; #> <div class="media-embed media-embed-details"> <div class="embed-media-settings embed-video-settings"> <div class="wp-video-holder"> <# var w = ! data.model.width || data.model.width > 640 ? 640 : data.model.width, h = ! data.model.height ? 360 : data.model.height; if ( data.model.width && w !== data.model.width ) { h = Math.ceil( ( h * w ) / data.model.width ); } #> <# var w_rule = '', classes = [], w, h, settings = wp.media.view.settings, isYouTube = isVimeo = false; if ( ! _.isEmpty( data.model.src ) ) { isYouTube = data.model.src.match(/youtube|youtu\.be/); isVimeo = -1 !== data.model.src.indexOf('vimeo'); } if ( settings.contentWidth && data.model.width >= settings.contentWidth ) { w = settings.contentWidth; } else { w = data.model.width; } if ( w !== data.model.width ) { h = Math.ceil( ( data.model.height * w ) / data.model.width ); } else { h = data.model.height; } if ( w ) { w_rule = 'width: ' + w + 'px; '; } if ( isYouTube ) { classes.push( 'youtube-video' ); } if ( isVimeo ) { classes.push( 'vimeo-video' ); } #> <div style="{{ w_rule }}" class="wp-video"> <video controls class="wp-video-shortcode {{ classes.join( ' ' ) }}" <# if ( w ) { #>width="{{ w }}"<# } #> <# if ( h ) { #>height="{{ h }}"<# } #> <# if ( ! _.isUndefined( data.model.poster ) && data.model.poster ) { #> poster="{{ data.model.poster }}"<# } #> preload ="{{ _.isUndefined( data.model.preload ) ? 'metadata' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { if ( isYouTube ) { #> <source src="{{ data.model.src }}" type="video/youtube" /> <# } else if ( isVimeo ) { #> <source src="{{ data.model.src }}" type="video/vimeo" /> <# } else { #> <source src="{{ data.model.src }}" type="{{ settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } } #> <# if ( data.model.mp4 ) { #> <source src="{{ data.model.mp4 }}" type="{{ settings.embedMimes[ 'mp4' ] }}" /> <# } #> <# if ( data.model.m4v ) { #> <source src="{{ data.model.m4v }}" type="{{ settings.embedMimes[ 'm4v' ] }}" /> <# } #> <# if ( data.model.webm ) { #> <source src="{{ data.model.webm }}" type="{{ settings.embedMimes[ 'webm' ] }}" /> <# } #> <# if ( data.model.ogv ) { #> <source src="{{ data.model.ogv }}" type="{{ settings.embedMimes[ 'ogv' ] }}" /> <# } #> <# if ( data.model.flv ) { #> <source src="{{ data.model.flv }}" type="{{ settings.embedMimes[ 'flv' ] }}" /> <# } #> {{{ data.model.content }}} </video> </div> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="video-details-source" class="name">URL</label> <input type="text" id="video-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp4 ) ) { if ( ! _.isUndefined( html5types.mp4 ) ) { delete html5types.mp4; } #> <span class="setting"> <label for="video-details-mp4-source" class="name">MP4</label> <input type="text" id="video-details-mp4-source" readonly data-setting="mp4" value="{{ data.model.mp4 }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4v ) ) { if ( ! _.isUndefined( html5types.m4v ) ) { delete html5types.m4v; } #> <span class="setting"> <label for="video-details-m4v-source" class="name">M4V</label> <input type="text" id="video-details-m4v-source" readonly data-setting="m4v" value="{{ data.model.m4v }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.webm ) ) { if ( ! _.isUndefined( html5types.webm ) ) { delete html5types.webm; } #> <span class="setting"> <label for="video-details-webm-source" class="name">WEBM</label> <input type="text" id="video-details-webm-source" readonly data-setting="webm" value="{{ data.model.webm }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogv ) ) { if ( ! _.isUndefined( html5types.ogv ) ) { delete html5types.ogv; } #> <span class="setting"> <label for="video-details-ogv-source" class="name">OGV</label> <input type="text" id="video-details-ogv-source" readonly data-setting="ogv" value="{{ data.model.ogv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flv ) ) { if ( ! _.isUndefined( html5types.flv ) ) { delete html5types.flv; } #> <span class="setting"> <label for="video-details-flv-source" class="name">FLV</label> <input type="text" id="video-details-flv-source" readonly data-setting="flv" value="{{ data.model.flv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> </div> <# if ( ! _.isEmpty( html5types ) ) { #> <fieldset class="setting-group"> <legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span> </fieldset> <# } #> <# if ( ! _.isEmpty( data.model.poster ) ) { #> <span class="setting"> <label for="video-details-poster-image" class="name">Poster Image</label> <input type="text" id="video-details-poster-image" readonly data-setting="poster" value="{{ data.model.poster }}" /> <button type="button" class="button-link remove-setting">Remove poster image</button> </span> <# } #> <fieldset class="setting-group"> <legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span> </fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="video-details-autoplay" data-setting="autoplay" /> <label for="video-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="video-details-loop" data-setting="loop" /> <label for="video-details-loop" class="checkbox-label">Loop</label> </span> </span> <span class="setting" data-setting="content"> <# var content = ''; if ( ! _.isEmpty( data.model.content ) ) { var tracks = jQuery( data.model.content ).filter( 'track' ); _.each( tracks.toArray(), function( track, index ) { content += track.outerHTML; #> <label for="video-details-track-{{ index }}" class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</label> <input class="content-track" type="text" id="video-details-track-{{ index }}" aria-describedby="video-details-track-desc-{{ index }}" value="{{ track.outerHTML }}" /> <span class="description" id="video-details-track-desc-{{ index }}"> The srclang, label, and kind values can be edited to set the video track language and kind. </span> <button type="button" class="button-link remove-setting remove-track">Remove video track</button><br /> <# } ); #> <# } else { #> <span class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</span><br /> <em>There are no associated subtitles.</em> <# } #> <textarea class="hidden content-setting">{{ content }}</textarea> </span> </div> </div> </script> <script type="text/html" id="tmpl-editor-gallery"> <# if ( data.attachments.length ) { #> <div class="gallery gallery-columns-{{ data.columns }}"> <# _.each( data.attachments, function( attachment, index ) { #> <dl class="gallery-item"> <dt class="gallery-icon"> <# if ( attachment.thumbnail ) { #> <img src="{{ attachment.thumbnail.url }}" width="{{ attachment.thumbnail.width }}" height="{{ attachment.thumbnail.height }}" alt="{{ attachment.alt }}" /> <# } else { #> <img src="{{ attachment.url }}" alt="{{ attachment.alt }}" /> <# } #> </dt> <# if ( attachment.caption ) { #> <dd class="wp-caption-text gallery-caption"> {{{ data.verifyHTML( attachment.caption ) }}} </dd> <# } #> </dl> <# if ( index % data.columns === data.columns - 1 ) { #> <br style="clear: both;" /> <# } #> <# } ); #> </div> <# } else { #> <div class="wpview-error"> <div class="dashicons dashicons-format-gallery"></div><p>No items found.</p> </div> <# } #> </script> <script type="text/html" id="tmpl-crop-content"> <img class="crop-image" src="{{ data.url }}" alt="Image crop area preview. Requires mouse interaction." /> <div class="upload-errors"></div> </script> <script type="text/html" id="tmpl-site-icon-preview-crop"> <style> :root{ --site-icon-url: url( "{{ data.url }}" ); } </style> <h2>Site Icon Preview</h2> <p>As an app icon and a browser icon.</p> <div class="site-icon-preview crop"> <div class="image-preview-wrap app-icon-preview"> <img id="preview-app-icon" src="{{ data.url }}" class="app-icon-preview" alt="Preview as an app icon" /> </div> <div class="site-icon-preview-browser"> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="browser-buttons"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm18 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm24-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" /></svg> <div class="site-icon-preview-tab"> <div class="image-preview-wrap browser"> <img id="preview-favicon" src="{{ data.url }}" class="browser-icon-preview" alt="Preview as a browser icon" /> </div> <div class="site-icon-preview-site-title" aria-hidden="true"><# print( 'Solar Power World' ) #></div> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-button"> <path d="M12 13.0607L15.7123 16.773L16.773 15.7123L13.0607 12L16.773 8.28772L15.7123 7.22706L12 10.9394L8.28771 7.22705L7.22705 8.28771L10.9394 12L7.22706 15.7123L8.28772 16.773L12 13.0607Z" /> </svg> </div> </div> </div> </div> </script> <script type="text/html" id="yrc-shortcode-instructions"> <div class="yrc-ics"> <div class="yrc-ics-header"> <h2>YourChannel Instructions</h2> <p>We're working on a visual shortcode editor, until then please follow these instructions.</p> <p>Email us to <a href="mailto:support@plugin.builders?subject=YourChannel Shortcode Instructions" target="_blank">support@plugin.builders</a> for any problems, we'll be fast.</p> </div> <div> <div class="yrc-ics-set"> <h3>Show single videos</h3> <div> <h4>Show video by URL or Video ID</h4> <ul> <li>Put <code>[yourchannel user="<em>your username</em>" video="https://www.youtube.com/watch?v=e3dVDn1A4C8"]</code></li> <li>Or <code>[yourchannel user="<em>your username</em>" video="e3dVDn1A4C8"]</code></li> <li>You can also leave the <code>user="..."</code> part, now your shortcode'll look like: <code>[yourchannel video="e3dVDn1A4C8"]</code>. Any styles needed will be taken from the first channel you have in YourChannel page.</li> </ul> <h4 class="yrc-ics-pro">Show video by getting video IDs from URL</h4> <ul class="yrc-ics-pro"> <li>Add <code>?v=<em>https://www.youtube.com/watch?v=e3dVDn1A4C8</em></code> to your site URL and put <code>[yourchannel video_from="url_parameter" url_parameter="<em>v</em>"]</code> in your post. You can use any term in place of the <code>v</code>, they just need to be same in both URL and <code>url_parameter</code> field of shortcode. You can enter multiple video URLs or IDs separated by commas in the URL and YourChannel will show multiple videos one after another.</li> </ul> <h4 class="yrc-ics-pro">Show video from search results</h4> <ul class="yrc-ics-pro"> <li>Add <code>[yourchannel video_from="search" search="<em>what to search</em>"]</code> to the post and it'll show first video from the search results. You can show multiple videos by adding <code>limit="<em>n</em>"</code> to shortcode, replace <code>n</code> with a number.</li> </ul> <h4 class="yrc-ics-pro">Show video from a playlist</h4> <ul class="yrc-ics-pro"> <li>Add <code>[yourchannel video_from="playlist" playlist="<em>https://www.youtube.com/watch?v=e3dVDn1A4C8&list=RDe3dVDn1A4C8</em>"]</code> to the post and it'll show first video from the playlist. You can show multiple videos by adding <code>limit="<em>n</em>"</code> to shortcode, replace <code>n</code> with a number.</li> </ul> </div> </div> <div class="yrc-ics-set"> <h3>Show channels / streams</h3> <div> <h4>Show a channel</h4> <ul> <li>Add <code>[yourchannel user="<em>your username</em>"]</code> to your post. This will show the channel you created in YourChannel page. Copy & Paste the shortcode in YourChannel page.</li> </ul> <h4>Show a different channel</h4> <ul> <li>Add <code>[yourchannel user="<em>your username</em>" channel="<em>https://www.youtube.com/channel/UCnOTVWVaIh3NoJsbwq4Tucg</em>"]</code> to your post. This will show everything (Banner, Videos, Playlists) of this channel in shortcode.</li> </ul> <h4 class="yrc-ics-pro">Show videos from a playlist in Videos tab</h4> <ul class="yrc-ics-pro"> <li>Add <code>playlist="<em>https://www.youtube.com/watch?v=e3dVDn1A4C8&list=RDe3dVDn1A4C8</em>"</code> to the shortcode.</li> </ul> <h4 class="yrc-ics-pro">Show videos by a search term in Videos tab</h4> <ul class="yrc-ics-pro"> <li>Add <code>search="<em>what to search</em>"</code> to the shortcode. Add <code>own="1"</code> to shortcode if you want to restrict the search to your channel. You can also add <code>channel="<em>https://www.youtube.com/channel/UCEkBEbI7ME92qqjMjqvuIQA</em>"</code> to shortcode to search any specific channel.</li> </ul> <h4 class="yrc-ics-pro">Show videos from a custom playlist</h4> <ul class="yrc-ics-pro"> <li>Add <code>custom="<em>custom_playlist_name</em>"</code> to the shortcode. You must have created a custom playlist in YourChannel page with the name <code><em>custom_playlist_name</em></code>. You can also create custom playlists in the shortcode itself, add <code>custom="<em>3pLWskANffo,jNebrSB-r7Q</em>"</code> (video IDs or URLs separated by commas) to shortcode.</li> </ul> </div> </div> <div class="yrc-ics-set"> <h3>Other important options</h3> <div> <h4>Autoplay video</h4> <ul> <li>Add <code>autoplay="1"</code> to the shortcode. Add <code>autoplay=""</code> if the channel has autoplay enabled in its form in YourChannel page and you want to disable it for this shortcode. *This option only works with single videos in Free version.</li> </ul> <h4>Sticky (Floating) player</h4> <ul> <li>Add <code>sticky="1"</code> to shortcode to make player for this shortcode sticky when user scrolls out of view. You can customise more sticky options in <strong>Style > Show Options > Sticky Player</strong> section of YourChannel form.</li> </ul> <h4>Pagination</h4> <ul> <li>Add <code>limit="<em>n</em>"</code> to shortcode to show <code><em>n</em></code> videos per load. Add <code>max="<em>n</em>"</code> to show maximum of <code><em>n</em></code> videos (There'll be no <strong>Load more</strong> button after this many videos are shown).</li> </ul> <h4>Ads</h4> <ul> <li>We use some workarounds to show ads in videos that are autoplayed (YouTube doesn't show ads in videos that are not just <code>iframe</code> embeds without autoplay). Because of this, you might notice sometimes videos don't start playing immediately, add <code>ads=""</code> to shortcode to fix this (you won't see ads). <strong>But you'll generally not notice the delay caused by workaround.</strong></li> </ul> <h4 class="yrc-ics-pro">Video start time</h4> <ul class="yrc-ics-pro"> <li>Add <code>start="n"</code> to the shortcode. Replace <code>n</code> with number of seconds to start at.</li> </ul> <h4 class="yrc-ics-pro">Initial player volume</h4> <ul class="yrc-ics-pro"> <li>Add <code>volume="n"</code> to the shortcode. Replace <code>n</code> with a number between <code>0</code> and <code>100</code>.</li> </ul> <h4 class="yrc-ics-pro">Rich player</h4> <ul class="yrc-ics-pro"> <li>Add <code>show_meta="1"</code> to show player title, uploader & statistics under the player. Add <code>show_desc="1"</code> to show description. And add <code>show_comments="1"</code> to show comments.</li> </ul> <h4 class="yrc-ics-pro">Sorting</h4> <ul class="yrc-ics-pro"> <li>Add <code>sortby="sorting_method"</code> to shortcode to sort videos in a certain way. <code>sorting_method</code> must be one of <code>date</code>, <code>rating</code>, <code>viewCount</code> or <code>title</code>.</li> </ul> </div> </div> </div> </div> </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-content/plugins/prestitial/assets/js/adlogic.js?ver=1.1.0" id="wtwh_prestitial_core_js-js"></script> <script type="text/javascript" id="thickbox-js-extra"> /* <![CDATA[ */ var thickboxL10n = {"next":"Next >","prev":"< Prev","image":"Image","of":"of","close":"Close","noiframes":"This feature requires inline frames. You have iframes disabled or your browser does not support them.","loadingAnimation":"https:\/\/www.solarpowerworldonline.com\/wp-includes\/js\/thickbox\/loadingAnimation.gif"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/thickbox/thickbox.js?ver=3.1-20121105" id="thickbox-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/underscore.min.js?ver=1.13.7" id="underscore-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/shortcode.min.js?ver=6.7" id="shortcode-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-admin/js/media-upload.min.js?ver=6.7" id="media-upload-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/backbone.min.js?ver=1.6.0" id="backbone-js"></script> <script type="text/javascript" id="wp-util-js-extra"> /* <![CDATA[ */ var _wpUtilSettings = {"ajax":{"url":"\/wp-admin\/admin-ajax.php"}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/wp-util.min.js?ver=6.7" id="wp-util-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/wp-backbone.min.js?ver=6.7" id="wp-backbone-js"></script> <script type="text/javascript" id="media-models-js-extra"> /* <![CDATA[ */ var _wpMediaModelsL10n = {"settings":{"ajaxurl":"\/wp-admin\/admin-ajax.php","post":{"id":0}}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/media-models.min.js?ver=6.7" id="media-models-js"></script> <script type="text/javascript" id="wp-plupload-js-extra"> /* <![CDATA[ */ var pluploadL10n = {"queue_limit_exceeded":"You have attempted to queue too many files.","file_exceeds_size_limit":"%s exceeds the maximum upload size for this site.","zero_byte_file":"This file is empty. Please try another.","invalid_filetype":"Sorry, you are not allowed to upload this file type.","not_an_image":"This file is not an image. Please try another.","image_memory_exceeded":"Memory exceeded. Please try another smaller file.","image_dimensions_exceeded":"This is larger than the maximum size. Please try another.","default_error":"An error occurred in the upload. Please try again later.","missing_upload_url":"There was a configuration error. Please contact the server administrator.","upload_limit_exceeded":"You may only upload 1 file.","http_error":"Unexpected response from the server. The file may have been uploaded successfully. Check in the Media Library or reload the page.","http_error_image":"The server cannot process the image. This can happen if the server is busy or does not have enough resources to complete the task. Uploading a smaller image may help. Suggested maximum size is 2560 pixels.","upload_failed":"Upload failed.","big_upload_failed":"Please try uploading this file with the %1$sbrowser uploader%2$s.","big_upload_queued":"%s exceeds the maximum upload size for the multi-file uploader when used in your browser.","io_error":"IO error.","security_error":"Security error.","file_cancelled":"File canceled.","upload_stopped":"Upload stopped.","dismiss":"Dismiss","crunching":"Crunching\u2026","deleted":"moved to the Trash.","error_uploading":"\u201c%s\u201d has failed to upload.","unsupported_image":"This image cannot be displayed in a web browser. For best results convert it to JPEG before uploading.","noneditable_image":"This image cannot be processed by the web server. Convert it to JPEG or PNG before uploading.","file_url_copied":"The file URL has been copied to your clipboard"}; var _wpPluploadSettings = {"defaults":{"file_data_name":"async-upload","url":"\/wp-admin\/async-upload.php","filters":{"max_file_size":"52428800b","mime_types":[{"extensions":"jpg,jpeg,jpe,gif,png,bmp,tiff,tif,webp,avif,ico,heic,heif,heics,heifs,asf,asx,wmv,wmx,wm,avi,divx,flv,mov,qt,mpeg,mpg,mpe,mp4,m4v,ogv,webm,mkv,3gp,3gpp,3g2,3gp2,txt,asc,c,cc,h,srt,csv,tsv,ics,rtx,css,vtt,dfxp,mp3,m4a,m4b,aac,ra,ram,wav,ogg,oga,flac,mid,midi,wma,wax,mka,rtf,pdf,class,tar,zip,gz,gzip,rar,7z,psd,xcf,doc,pot,pps,ppt,wri,xla,xls,xlt,xlw,mdb,mpp,docx,docm,dotx,dotm,xlsx,xlsm,xlsb,xltx,xltm,xlam,pptx,pptm,ppsx,ppsm,potx,potm,ppam,sldx,sldm,onetoc,onetoc2,onetmp,onepkg,oxps,xps,odt,odp,ods,odg,odc,odb,odf,wp,wpd,key,numbers,pages"}]},"multipart_params":{"action":"upload-attachment","_wpnonce":"ef472ebee6"}},"browser":{"mobile":false,"supported":true},"limitExceeded":false}; /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/plupload/wp-plupload.min.js?ver=6.7" id="wp-plupload-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/jquery/ui/mouse.min.js?ver=1.13.3" id="jquery-ui-mouse-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/jquery/ui/sortable.min.js?ver=1.13.3" id="jquery-ui-sortable-js"></script> <script type="text/javascript" id="mediaelement-core-js-before"> /* <![CDATA[ */ var mejsL10n = {"language":"en","strings":{"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https:\/\/get.adobe.com\/flashplayer\/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left\/Right Arrow keys to advance one second, Up\/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up\/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions\/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/mediaelement/mediaelement-and-player.min.js?ver=4.2.17" id="mediaelement-core-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/mediaelement/mediaelement-migrate.min.js?ver=6.7" id="mediaelement-migrate-js"></script> <script type="text/javascript" id="mediaelement-js-extra"> /* <![CDATA[ */ var _wpmejsSettings = {"pluginPath":"\/wp-includes\/js\/mediaelement\/","classPrefix":"mejs-","stretching":"responsive","audioShortcodeLibrary":"mediaelement","videoShortcodeLibrary":"mediaelement"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/mediaelement/wp-mediaelement.min.js?ver=6.7" id="wp-mediaelement-js"></script> <script type="text/javascript" id="wp-api-request-js-extra"> /* <![CDATA[ */ var wpApiSettings = {"root":"https:\/\/www.solarpowerworldonline.com\/wp-json\/","nonce":"51efe2341a","versionString":"wp\/v2\/"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/api-request.min.js?ver=6.7" id="wp-api-request-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/dist/dom-ready.min.js?ver=f77871ff7694fffea381" id="wp-dom-ready-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/dist/a11y.min.js?ver=3156534cc54473497e14" id="wp-a11y-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/clipboard.min.js?ver=2.0.11" id="clipboard-js"></script> <script type="text/javascript" id="media-views-js-extra"> /* <![CDATA[ */ var _wpMediaViewsL10n = {"mediaFrameDefaultTitle":"Media","url":"URL","addMedia":"Add media","search":"Search","select":"Select","cancel":"Cancel","update":"Update","replace":"Replace","remove":"Remove","back":"Back","selected":"%d selected","dragInfo":"Drag and drop to reorder media files.","uploadFilesTitle":"Upload files","uploadImagesTitle":"Upload images","mediaLibraryTitle":"Media Library","insertMediaTitle":"Add media","createNewGallery":"Create a new gallery","createNewPlaylist":"Create a new playlist","createNewVideoPlaylist":"Create a new video playlist","returnToLibrary":"\u2190 Go to library","allMediaItems":"All media items","allDates":"All dates","noItemsFound":"No items found.","insertIntoPost":"Insert into post","unattached":"Unattached","mine":"Mine","trash":"Trash","uploadedToThisPost":"Uploaded to this post","warnDelete":"You are about to permanently delete this item from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkDelete":"You are about to permanently delete these items from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkTrash":"You are about to trash these items.\n 'Cancel' to stop, 'OK' to delete.","bulkSelect":"Bulk select","trashSelected":"Move to Trash","restoreSelected":"Restore from Trash","deletePermanently":"Delete permanently","errorDeleting":"Error in deleting the attachment.","apply":"Apply","filterByDate":"Filter by date","filterByType":"Filter by type","searchLabel":"Search media","searchMediaLabel":"Search media","searchMediaPlaceholder":"Search media items...","mediaFound":"Number of media items found: %d","noMedia":"No media items found.","noMediaTryNewSearch":"No media items found. Try a different search.","attachmentDetails":"Attachment details","insertFromUrlTitle":"Insert from URL","setFeaturedImageTitle":"Featured image","setFeaturedImage":"Set featured image","createGalleryTitle":"Create gallery","editGalleryTitle":"Edit gallery","cancelGalleryTitle":"\u2190 Cancel gallery","insertGallery":"Insert gallery","updateGallery":"Update gallery","addToGallery":"Add to gallery","addToGalleryTitle":"Add to gallery","reverseOrder":"Reverse order","imageDetailsTitle":"Image details","imageReplaceTitle":"Replace image","imageDetailsCancel":"Cancel edit","editImage":"Edit image","chooseImage":"Choose image","selectAndCrop":"Select and crop","skipCropping":"Skip cropping","cropImage":"Crop image","cropYourImage":"Crop your image","cropping":"Cropping\u2026","suggestedDimensions":"Suggested image dimensions: %1$s by %2$s pixels.","cropError":"There has been an error cropping your image.","audioDetailsTitle":"Audio details","audioReplaceTitle":"Replace audio","audioAddSourceTitle":"Add audio source","audioDetailsCancel":"Cancel edit","videoDetailsTitle":"Video details","videoReplaceTitle":"Replace video","videoAddSourceTitle":"Add video source","videoDetailsCancel":"Cancel edit","videoSelectPosterImageTitle":"Select poster image","videoAddTrackTitle":"Add subtitles","playlistDragInfo":"Drag and drop to reorder tracks.","createPlaylistTitle":"Create audio playlist","editPlaylistTitle":"Edit audio playlist","cancelPlaylistTitle":"\u2190 Cancel audio playlist","insertPlaylist":"Insert audio playlist","updatePlaylist":"Update audio playlist","addToPlaylist":"Add to audio playlist","addToPlaylistTitle":"Add to Audio Playlist","videoPlaylistDragInfo":"Drag and drop to reorder videos.","createVideoPlaylistTitle":"Create video playlist","editVideoPlaylistTitle":"Edit video playlist","cancelVideoPlaylistTitle":"\u2190 Cancel video playlist","insertVideoPlaylist":"Insert video playlist","updateVideoPlaylist":"Update video playlist","addToVideoPlaylist":"Add to video playlist","addToVideoPlaylistTitle":"Add to video Playlist","filterAttachments":"Filter media","attachmentsList":"Media list","settings":{"tabs":[],"tabUrl":"https:\/\/www.solarpowerworldonline.com\/wp-admin\/media-upload.php?chromeless=1","mimeTypes":{"image":"Images","audio":"Audio","video":"Video","application\/msword,application\/vnd.openxmlformats-officedocument.wordprocessingml.document,application\/vnd.ms-word.document.macroEnabled.12,application\/vnd.ms-word.template.macroEnabled.12,application\/vnd.oasis.opendocument.text,application\/vnd.apple.pages,application\/pdf,application\/vnd.ms-xpsdocument,application\/oxps,application\/rtf,application\/wordperfect,application\/octet-stream":"Documents","application\/vnd.apple.numbers,application\/vnd.oasis.opendocument.spreadsheet,application\/vnd.ms-excel,application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application\/vnd.ms-excel.sheet.macroEnabled.12,application\/vnd.ms-excel.sheet.binary.macroEnabled.12":"Spreadsheets","application\/x-gzip,application\/rar,application\/x-tar,application\/zip,application\/x-7z-compressed":"Archives"},"captions":true,"nonce":{"sendToEditor":"3ca8158342","setAttachmentThumbnail":"e94db145d0"},"post":{"id":0},"defaultProps":{"link":"none","align":"","size":""},"attachmentCounts":{"audio":1,"video":1},"oEmbedProxyUrl":"https:\/\/www.solarpowerworldonline.com\/wp-json\/oembed\/1.0\/proxy","embedExts":["mp3","ogg","flac","m4a","wav","mp4","m4v","webm","ogv","flv"],"embedMimes":{"mp3":"audio\/mpeg","ogg":"audio\/ogg","flac":"audio\/flac","m4a":"audio\/mpeg","wav":"audio\/wav","mp4":"video\/mp4","m4v":"video\/mp4","webm":"video\/webm","ogv":"video\/ogg","flv":"video\/x-flv"},"contentWidth":740,"months":[{"year":"2024","month":"11","text":"November 2024"},{"year":"2024","month":"10","text":"October 2024"},{"year":"2024","month":"9","text":"September 2024"},{"year":"2024","month":"8","text":"August 2024"},{"year":"2024","month":"7","text":"July 2024"},{"year":"2024","month":"6","text":"June 2024"},{"year":"2024","month":"5","text":"May 2024"},{"year":"2024","month":"4","text":"April 2024"},{"year":"2024","month":"3","text":"March 2024"},{"year":"2024","month":"2","text":"February 2024"},{"year":"2024","month":"1","text":"January 2024"},{"year":"2023","month":"12","text":"December 2023"},{"year":"2023","month":"11","text":"November 2023"},{"year":"2023","month":"10","text":"October 2023"},{"year":"2023","month":"9","text":"September 2023"},{"year":"2023","month":"8","text":"August 2023"},{"year":"2023","month":"7","text":"July 2023"},{"year":"2023","month":"6","text":"June 2023"},{"year":"2023","month":"5","text":"May 2023"},{"year":"2023","month":"4","text":"April 2023"},{"year":"2023","month":"3","text":"March 2023"},{"year":"2023","month":"2","text":"February 2023"},{"year":"2023","month":"1","text":"January 2023"},{"year":"2022","month":"12","text":"December 2022"},{"year":"2022","month":"11","text":"November 2022"},{"year":"2022","month":"10","text":"October 2022"},{"year":"2022","month":"9","text":"September 2022"},{"year":"2022","month":"8","text":"August 2022"},{"year":"2022","month":"7","text":"July 2022"},{"year":"2022","month":"6","text":"June 2022"},{"year":"2022","month":"5","text":"May 2022"},{"year":"2022","month":"4","text":"April 2022"},{"year":"2022","month":"3","text":"March 2022"},{"year":"2022","month":"2","text":"February 2022"},{"year":"2022","month":"1","text":"January 2022"},{"year":"2021","month":"12","text":"December 2021"},{"year":"2021","month":"11","text":"November 2021"},{"year":"2021","month":"10","text":"October 2021"},{"year":"2021","month":"9","text":"September 2021"},{"year":"2021","month":"8","text":"August 2021"},{"year":"2021","month":"7","text":"July 2021"},{"year":"2021","month":"6","text":"June 2021"},{"year":"2021","month":"5","text":"May 2021"},{"year":"2021","month":"4","text":"April 2021"},{"year":"2021","month":"3","text":"March 2021"},{"year":"2021","month":"2","text":"February 2021"},{"year":"2021","month":"1","text":"January 2021"},{"year":"2020","month":"12","text":"December 2020"},{"year":"2020","month":"11","text":"November 2020"},{"year":"2020","month":"10","text":"October 2020"},{"year":"2020","month":"9","text":"September 2020"},{"year":"2020","month":"8","text":"August 2020"},{"year":"2020","month":"7","text":"July 2020"},{"year":"2020","month":"6","text":"June 2020"},{"year":"2020","month":"5","text":"May 2020"},{"year":"2020","month":"4","text":"April 2020"},{"year":"2020","month":"3","text":"March 2020"},{"year":"2020","month":"2","text":"February 2020"},{"year":"2020","month":"1","text":"January 2020"},{"year":"2019","month":"12","text":"December 2019"},{"year":"2019","month":"11","text":"November 2019"},{"year":"2019","month":"10","text":"October 2019"},{"year":"2019","month":"9","text":"September 2019"},{"year":"2019","month":"8","text":"August 2019"},{"year":"2019","month":"7","text":"July 2019"},{"year":"2019","month":"6","text":"June 2019"},{"year":"2019","month":"5","text":"May 2019"},{"year":"2019","month":"4","text":"April 2019"},{"year":"2019","month":"3","text":"March 2019"},{"year":"2019","month":"2","text":"February 2019"},{"year":"2019","month":"1","text":"January 2019"},{"year":"2018","month":"12","text":"December 2018"},{"year":"2018","month":"11","text":"November 2018"},{"year":"2018","month":"10","text":"October 2018"},{"year":"2018","month":"9","text":"September 2018"},{"year":"2018","month":"8","text":"August 2018"},{"year":"2018","month":"7","text":"July 2018"},{"year":"2018","month":"6","text":"June 2018"},{"year":"2018","month":"5","text":"May 2018"},{"year":"2018","month":"4","text":"April 2018"},{"year":"2018","month":"3","text":"March 2018"},{"year":"2018","month":"2","text":"February 2018"},{"year":"2018","month":"1","text":"January 2018"},{"year":"2017","month":"12","text":"December 2017"},{"year":"2017","month":"11","text":"November 2017"},{"year":"2017","month":"10","text":"October 2017"},{"year":"2017","month":"9","text":"September 2017"},{"year":"2017","month":"8","text":"August 2017"},{"year":"2017","month":"7","text":"July 2017"},{"year":"2017","month":"6","text":"June 2017"},{"year":"2017","month":"5","text":"May 2017"},{"year":"2017","month":"4","text":"April 2017"},{"year":"2017","month":"3","text":"March 2017"},{"year":"2017","month":"2","text":"February 2017"},{"year":"2017","month":"1","text":"January 2017"},{"year":"2016","month":"12","text":"December 2016"},{"year":"2016","month":"11","text":"November 2016"},{"year":"2016","month":"10","text":"October 2016"},{"year":"2016","month":"9","text":"September 2016"},{"year":"2016","month":"8","text":"August 2016"},{"year":"2016","month":"7","text":"July 2016"},{"year":"2016","month":"6","text":"June 2016"},{"year":"2016","month":"5","text":"May 2016"},{"year":"2016","month":"4","text":"April 2016"},{"year":"2016","month":"3","text":"March 2016"},{"year":"2016","month":"2","text":"February 2016"},{"year":"2016","month":"1","text":"January 2016"},{"year":"2015","month":"12","text":"December 2015"},{"year":"2015","month":"11","text":"November 2015"},{"year":"2015","month":"10","text":"October 2015"},{"year":"2015","month":"9","text":"September 2015"},{"year":"2015","month":"8","text":"August 2015"},{"year":"2015","month":"7","text":"July 2015"},{"year":"2015","month":"6","text":"June 2015"},{"year":"2015","month":"5","text":"May 2015"},{"year":"2015","month":"4","text":"April 2015"},{"year":"2015","month":"3","text":"March 2015"},{"year":"2015","month":"2","text":"February 2015"},{"year":"2015","month":"1","text":"January 2015"},{"year":"2014","month":"12","text":"December 2014"},{"year":"2014","month":"11","text":"November 2014"},{"year":"2014","month":"10","text":"October 2014"},{"year":"2014","month":"9","text":"September 2014"},{"year":"2014","month":"8","text":"August 2014"},{"year":"2014","month":"7","text":"July 2014"},{"year":"2014","month":"6","text":"June 2014"},{"year":"2014","month":"5","text":"May 2014"},{"year":"2014","month":"4","text":"April 2014"},{"year":"2014","month":"3","text":"March 2014"},{"year":"2014","month":"2","text":"February 2014"},{"year":"2014","month":"1","text":"January 2014"},{"year":"2013","month":"12","text":"December 2013"},{"year":"2013","month":"11","text":"November 2013"},{"year":"2013","month":"10","text":"October 2013"},{"year":"2013","month":"9","text":"September 2013"},{"year":"2013","month":"8","text":"August 2013"},{"year":"2013","month":"7","text":"July 2013"},{"year":"2013","month":"6","text":"June 2013"},{"year":"2013","month":"5","text":"May 2013"},{"year":"2013","month":"4","text":"April 2013"},{"year":"2013","month":"3","text":"March 2013"},{"year":"2013","month":"2","text":"February 2013"},{"year":"2013","month":"1","text":"January 2013"},{"year":"2012","month":"12","text":"December 2012"},{"year":"2012","month":"11","text":"November 2012"},{"year":"2012","month":"10","text":"October 2012"},{"year":"2012","month":"9","text":"September 2012"},{"year":"2012","month":"8","text":"August 2012"},{"year":"2012","month":"7","text":"July 2012"},{"year":"2012","month":"6","text":"June 2012"},{"year":"2012","month":"5","text":"May 2012"},{"year":"2012","month":"4","text":"April 2012"},{"year":"2012","month":"3","text":"March 2012"},{"year":"2012","month":"2","text":"February 2012"},{"year":"2012","month":"1","text":"January 2012"},{"year":"2011","month":"12","text":"December 2011"},{"year":"2011","month":"11","text":"November 2011"},{"year":"2011","month":"10","text":"October 2011"},{"year":"2011","month":"9","text":"September 2011"},{"year":"2011","month":"8","text":"August 2011"},{"year":"2011","month":"7","text":"July 2011"},{"year":"2011","month":"6","text":"June 2011"},{"year":"2011","month":"5","text":"May 2011"},{"year":"2011","month":"4","text":"April 2011"},{"year":"2011","month":"3","text":"March 2011"},{"year":"2011","month":"2","text":"February 2011"},{"year":"2011","month":"1","text":"January 2011"},{"year":"2010","month":"12","text":"December 2010"},{"year":"2010","month":"11","text":"November 2010"},{"year":"2010","month":"10","text":"October 2010"},{"year":"2010","month":"9","text":"September 2010"},{"year":"2010","month":"8","text":"August 2010"},{"year":"2010","month":"7","text":"July 2010"},{"year":"2010","month":"6","text":"June 2010"},{"year":"2010","month":"5","text":"May 2010"},{"year":"2010","month":"4","text":"April 2010"},{"year":"2010","month":"3","text":"March 2010"},{"year":"2010","month":"2","text":"February 2010"},{"year":"2010","month":"1","text":"January 2010"},{"year":"2009","month":"12","text":"December 2009"},{"year":"2009","month":"11","text":"November 2009"},{"year":"2009","month":"10","text":"October 2009"}],"mediaTrash":0,"infiniteScrolling":0}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/media-views.min.js?ver=6.7" id="media-views-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/media-editor.min.js?ver=6.7" id="media-editor-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/media-audiovideo.min.js?ver=6.7" id="media-audiovideo-js"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-includes/js/comment-reply.min.js?ver=6.7" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://www.solarpowerworldonline.com/wp-content/themes/spw-2021/assets/js/global-min.js?ver=1629383263" id="ea-global-js"></script> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10