blob: d2a89859ceed084c58cd6e15011f286a1b408fa1 [file] [log] [blame]
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="icon" type="image/png" href="../../../../favicon-196x196.png" sizes="196x196"> <meta name="application-name" content="Apache Hop (Incubating)"> <link rel="manifest" href="../../../../site.webmanifest"> <title>Roundup March 2020 - Hop</title> <link rel="canonical" href="../../../../blog/2020/03/roundup-2020-03/"> <link rel="stylesheet" href="../../../../_/css/site-8ea79c1e80.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> <div id="cookies-eu-content"> By continuing to visit this site, you accept the use of <a href="https://hop.apache.org/cookie-info/">cookies.</a> <button id="cookies-eu-accept">Accept</button> </div> <button id="cookies-eu-reject">Reject</button> </div> <header class="header"> <nav class="navbar"> <div class="navbar-brand"> <a class="nav-logo" href="../../../../" title="Hop"><span>Hop</span></a> <div id="topbar-nav" class="navbar-menu"> <div class="navbar-end"> <a class="navbar-item" href="../../../../blog/">Blog</a> <div class="navbar-item has-dropdown is-hoverable"> <a class="navbar-link" href="#">Documentation</a> <div class="navbar-dropdown"> <a class="navbar-item" href="../../../../manual/latest/getting-started.html">Getting started</a> <a class="navbar-item" href="../../../../manual/latest/">User manual</a> <a class="navbar-item" href="../../../../tech-manual/latest/">Technical Documentation</a> <a class="navbar-item" href="../../../../dev-manual/latest/">Developer Documentation</a> <a class="navbar-item" href="../../../../docs/architecture/">Architecture</a> <a class="navbar-item" href="../../../../docs/roadmap/">Roadmap</a> <a class="navbar-item" href="../../../../docs/qa">Q&amp;A</a> </div> </div> <div class="navbar-item has-dropdown is-hoverable"> <a class="navbar-link" href="#">Community</a> <div class="navbar-dropdown"> <a class="navbar-item" href="../../../../community/contributing/">Contributing</a> <a class="navbar-item" href="../../../../community/tools/">Tools</a> <a class="navbar-item" href="../../../../community/team/">Team</a> </div> </div> <a class="navbar-item" href="../../../../download/">Download</a> <div class="navbar-item has-dropdown is-hoverable"> <a class="navbar-link" href="#">About</a> <div class="navbar-dropdown"> <a class="navbar-item" href="https://www.apache.org/licenses/LICENSE-2.0">License</a> </div> </div> </div> </div> <div class="navbar-search"> <input id="search-input" type="text" placeholder="Search docs" class="ds-input" autocomplete="off" spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="false" aria-owns="algolia-autocomplete-listbox-0" dir="auto"> </div> <div class="navbar-tools"> <a href="https://chat.project-hop.org" title="Chat with us" target="_blank"><svg height="30" width="30" viewBox="0 0 30 30" class="brand-icon"><path d="m 23.399705,7.0517653 c -0.811583,-1.755522 -1.98643,-3.2324028 -3.542396,-4.4727237 0.04144,0.8420009 0.131904,2.6427217 0.131904,2.6427217 0,0 0.09696,0.1272 0.13632,0.182401 1.572478,2.199681 2.147037,4.6376017 1.623358,7.2857637 -1.050239,5.309843 -6.218105,8.549046 -11.455186,7.224805 C 5.6960779,18.752172 2.6254257,14.043529 3.4949926,9.3753663 4.1813918,5.6900843 6.3558852,3.2350424 9.8870488,1.9875216 l 0.1279682,-0.048 0.100416,-0.072 C 10.543401,1.2611208 10.961,0.6477608 11.406631,0 6.0547335,0.2656 0.67230798,4.5661633 0.05570071,11.107927 -0.54103457,17.438011 3.7200163,23.083134 9.8089048,24.321855 16.154114,25.612736 22.194522,21.863214 24.019864,15.86257 24.932631,12.862008 24.719032,9.9083263 23.399704,7.0542453 Z M 8.2979624,11.010647 c 0.267552,2.546882 2.4715176,4.282562 5.0209866,4.000322 2.504829,-0.2776 4.335931,-2.731601 3.861787,-5.2146427 -0.3696,-1.936001 -0.77808,-3.864402 -1.170046,-5.796084 -0.162144,-0.7991999 -0.326208,-1.5984007 -0.49824,-2.4414407 -0.06784,0.056 -0.09936,0.0848 -0.128064,0.1128 -0.858239,0.84272 -1.715997,1.6859209 -2.574236,2.5285617 -1.045056,1.02632 -2.08867,2.053921 -3.1362212,3.077522 -1.0506224,1.02664 -1.5288936,2.279601 -1.3760624,3.7327217 z"/></svg></a> <a href="https://twitter.com/projhop" title="Follow us on Twitter" target="_blank"><svg height="30" width="30" viewBox="0 0 30 30" class="brand-icon"><path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm6.5 8.778c-.441.196-.916.328-1.414.388.509-.305.898-.787 1.083-1.362-.476.282-1.003.487-1.564.597-.448-.479-1.089-.778-1.796-.778-1.59 0-2.758 1.483-2.399 3.023-2.045-.103-3.86-1.083-5.074-2.572-.645 1.106-.334 2.554.762 3.287-.403-.013-.782-.124-1.114-.308-.027 1.14.791 2.207 1.975 2.445-.346.094-.726.116-1.112.042.313.978 1.224 1.689 2.3 1.709-1.037.812-2.34 1.175-3.647 1.021 1.09.699 2.383 1.106 3.773 1.106 4.572 0 7.154-3.861 6.998-7.324.482-.346.899-.78 1.229-1.274z"/></svg></a> <a href="https://www.linkedin.com/company/hop-project/" title="Follow us on LinkedIn" target="_blank"><svg height="30" width="30" viewBox="0 0 30 30" class="brand-icon"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/></svg></a> <a href="https://www.youtube.com/channel/UCGlcYslwe03Y2zbZ1W6DAGA" title="Subscribe to our YouTube channel" target="_blank"><svg height="30" width="30" viewBox="0 0 30 30" class="brand-icon"><path fill-rule="evenodd" d="M4.652 0h1.44l.988 3.702.916-3.702h1.454l-1.665 5.505v3.757h-1.431v-3.757l-1.702-5.505zm6.594 2.373c-1.119 0-1.861.74-1.861 1.835v3.349c0 1.204.629 1.831 1.861 1.831 1.022 0 1.826-.683 1.826-1.831v-3.349c0-1.069-.797-1.835-1.826-1.835zm.531 5.127c0 .372-.19.646-.532.646-.351 0-.554-.287-.554-.646v-3.179c0-.374.172-.651.529-.651.39 0 .557.269.557.651v3.179zm4.729-5.07v5.186c-.155.194-.5.512-.747.512-.271 0-.338-.186-.338-.46v-5.238h-1.27v5.71c0 .675.206 1.22.887 1.22.384 0 .918-.2 1.468-.853v.754h1.27v-6.831h-1.27zm2.203 13.858c-.448 0-.541.315-.541.763v.659h1.069v-.66c.001-.44-.092-.762-.528-.762zm-4.703.04c-.084.043-.167.109-.25.198v4.055c.099.106.194.182.287.229.197.1.485.107.619-.067.07-.092.105-.241.105-.449v-3.359c0-.22-.043-.386-.129-.5-.147-.193-.42-.214-.632-.107zm4.827-5.195c-2.604-.177-11.066-.177-13.666 0-2.814.192-3.146 1.892-3.167 6.367.021 4.467.35 6.175 3.167 6.367 2.6.177 11.062.177 13.666 0 2.814-.192 3.146-1.893 3.167-6.367-.021-4.467-.35-6.175-3.167-6.367zm-12.324 10.686h-1.363v-7.54h-1.41v-1.28h4.182v1.28h-1.41v7.54zm4.846 0h-1.21v-.718c-.223.265-.455.467-.696.605-.652.374-1.547.365-1.547-.955v-5.438h1.209v4.988c0 .262.063.438.322.438.236 0 .564-.303.711-.487v-4.939h1.21v6.506zm4.657-1.348c0 .805-.301 1.431-1.106 1.431-.443 0-.812-.162-1.149-.583v.5h-1.221v-8.82h1.221v2.84c.273-.333.644-.608 1.076-.608.886 0 1.18.749 1.18 1.631v3.609zm4.471-1.752h-2.314v1.228c0 .488.042.91.528.91.511 0 .541-.344.541-.91v-.452h1.245v.489c0 1.253-.538 2.013-1.813 2.013-1.155 0-1.746-.842-1.746-2.013v-2.921c0-1.129.746-1.914 1.837-1.914 1.161 0 1.721.738 1.721 1.914v1.656z"/></svg></a> <a href="https://github.com/project-hop/" title="Collaborate on GitHub" target="_blank"><svg class="brand-icon" width="30" height="30" viewBox="0 0 30 30"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg></a> </div> <button class="navbar-burger" data-target="topbar-nav" type="button"> <span></span> <span></span> <span></span> </button> </div> </nav> </header> <div class="body"> <main role="main blog"> <article class="blog doc"> <header> <a class="category" href="../../../../categories/Roundup/">ROUNDUP</a><a class="category" href="../../../../categories/Project-Hop/">PROJECT HOP</a> <h1>Roundup March 2020</h1> </header> <div class="post"> <aside> <div class="summary">Roundup March 2020</div> Posted on <time itemprop="published" datetime="2020-03-31" title="Tuesday, March 31, 2020">March 31, 2020</time>, by <figure> <img src="https://avatars.githubusercontent.com/u/1140235?v=4" alt="Hans Van Akelyen"> <figcaption rel="author">Hans Van Akelyen</figcaption> </figure> <p> <a class="arrow prev" href="../../../../blog/2020/02/roundup-2020-02/" title="Previous post: Roundup February 2020">&#10094;</a> <a class="arrow next" href="../../../../blog/2020/04/release-preview-0.1/" title="Next post: Preview Release 0.10">&#10095;</a> </p> </aside> <div class="post-content"> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>A new month, a new roundup! We&#8217;re getting very close to a first preview release, expect it to see the light of day in the coming week (don&#8217;t haunt us if it&#8217;s a week later). We have continued to walk the path of major code cleanup and refactoring. Because we don&#8217;t want to bore you with the technical stuff (those interested in the technical stuff come and ask in our <a href="https://chat.project-hop.org">#dev channel</a> ) here is an overview of what you can see.</p> </div> </div> </div> <div class="sect1"> <h2 id="_ui">UI</h2> <div class="sectionbody"> <div class="paragraph"> <p>We removed the old interface. Hop now comes with the new UI. Simplified, flexible and future proof.</p> </div> <div class="paragraph"> <p>After implementing the transform interface the workflow interface has been included too</p> </div> <div class="paragraph"> <p><span class="image"><a class="image" href="../../../../img/Roundup-2020-03/roundup-2020-03-0001.png"><img src="../../../../img/Roundup-2020-03/roundup-2020-03-0001.png" alt="Interface 1" width="50%"></a></span></p> </div> <div class="paragraph"> <p>Partitioning:</p> </div> <div class="paragraph"> <p><span class="image"><a class="image" href="../../../../img/Roundup-2020-03/roundup-2020-03-0002.png"><img src="../../../../img/Roundup-2020-03/roundup-2020-03-0002.png" alt="Partitioning" width="50%"></a></span></p> </div> <div class="paragraph"> <p>Extra options on transform action:</p> </div> <div class="paragraph"> <p><span class="image"><a class="image" href="../../../../img/Roundup-2020-03/roundup-2020-03-0003.png"><img src="../../../../img/Roundup-2020-03/roundup-2020-03-0003.png" alt="Transform action" width="50%"></a></span></p> </div> </div> </div> <div class="sect1"> <h2 id="_plugins">Plugins</h2> <div class="sectionbody"> <div class="paragraph"> <p>As stated in the previous post, we&#8217;re moving all actions to separate plugins. This adds flexibility to the entire code base and allows for smaller, more custom deployments in the future.</p> </div> <div class="paragraph"> <p>Current status:</p> </div> <div class="ulist"> <ul> <li> <p>Database plugins: all done</p> </li> <li> <p>Workflow actions: all done</p> </li> <li> <p>Transform actions: 40 done, about 100 to go</p> </li> </ul> </div> <div class="paragraph"> <p>The transform actions are more complex since some of them need significant code refactoring, so this will be an ongoing process.</p> </div> </div> </div> <div class="sect1"> <h2 id="_translations">Translations</h2> <div class="sectionbody"> <div class="paragraph"> <p>We received a contribution for the pt_BR locale. Hop is now available Brazilian Portugese.</p> </div> <div class="paragraph"> <p>Check the Translator below to find out how you can help to translate Hop into your language</p> </div> </div> </div> <div class="sect1"> <h2 id="_translator">Translator</h2> <div class="sectionbody"> <div class="paragraph"> <p>We also included the Hop Translator for community members who&#8217;d like to translate Hop to their native language, or complete the current translations for the project.</p> </div> <div class="paragraph"> <p>In the hop folder you will find a hop-translator.sh script.</p> </div> <div class="paragraph"> <p><span class="image"><a class="image" href="../../../../img/Roundup-2020-03/roundup-2020-03-0004.png"><img src="../../../../img/Roundup-2020-03/roundup-2020-03-0004.png" alt="Translator" width="50%"></a></span></p> </div> <div class="paragraph"> <p>This program requires a local clone of the hop project, and will show you what has been translated and what is on the to-do list. Instructions on how to use the translator can be found in the <a href="../../community/contribution-guides/translation-contribution-guide/">Translation Contribution Guide</a></p> </div> </div> </div> <div class="sect1"> <h2 id="_exit_transformations_enter_pipelines">Exit Transformations, Enter Pipelines</h2> <div class="sectionbody"> <div class="paragraph"> <p>We started the refactoring of the code base to reflect the new Hop terminology.</p> </div> <div class="paragraph"> <p>A 'transformation' now is a thing of the past, we entered 'pipeline' territory, and a pipeline&#8217;s file extension changed from 'ktr' to 'hpl' (<strong>H</strong>op <strong>P</strong>ipe<strong>L</strong>ine).</p> </div> <div class="paragraph"> <p>We&#8217;ll continue to go through this refactoring process: 'steps' will become 'transforms', 'jobs' will become '(work)flows', 'job entries' will become 'actions'.</p> </div> </div> </div> <div class="sect1"> <h2 id="_future">Future</h2> <div class="sectionbody"> <div class="paragraph"> <p>First up is our preview release! After this release we&#8217;ll rely on you all to create tickets and provide us with valuable feedback on how we can continue to improve the project.</p> </div> <div class="paragraph"> <p>After this initial preview release, we&#8217;ll continue the code cleanup and will start making the runtime engines pluggable, Apache Beam will be the first engine we&#8217;ll support.</p> </div> </div> </div> </div> </div> </article> </main> </div> <div class="footer-tools"> <a title="Improve this document, receive free virtual hugs &hearts;" href="https://github.com/apache/incubator-hop-website/edit/master/content/blog/2020/03/roundup-2020-03/index.adoc">Edit this Page</a> <a href="#top" title="Reach the top of the page">Back to top</a> </div> <footer> <div class="footer"> <dl> <dt>Overview</dt> <dd><a href="../../../../download/">Download</a></dd> <dd><a href="../../../../manual/latest/">Getting started</a></dd> </dl> <dl> <dt>Community</dt> <dd><a target="_blank" href="https://issues.apache.org/jira/projects/HOP/issues">Jira</a></dd> <dd><a target="_blank" href="https://chat.project-hop.org">Chat</a></dd> <dd><a href="../../../../community/team/">Team</a></dd> </dl> <dl> <dt>About</dt> <dd><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></dd> </dl> <p> &copy; 2019-2021 <a href="http://www.apache.org/" target="blank">The Apache Software Fountation</a>, Licensed under the Apache <a href="https://apache.org/licenses/LICENSE-2.0" target="blank">License</a>.<br> Disclaimer: Apache Hop is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. Apache Hop, Apache, Hop, the Hop logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.</p> </div> </footer> <script src="../../../../_/js/site-8ed57175ed.js"></script> <script src="../../../../_/js/vendor/highlight-41b831b4c4.js"></script> <script src="../../../../_/js/vendor/cookies-eu-banner-d4a1518c50.js"></script> <script> new CookiesEuBanner(function () {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
ga('send', 'pageview');
}, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <script> var search = docsearch({
appId: 'IEDZCR8JT4',
apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
indexName: 'hop-doc',
inputSelector: '#search-input',
autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
algoliaOptions: { hitsPerPage: 10 }
}).autocomplete
search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
function focusSearchInput () { document.querySelector('#search-input').focus() }
if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> <script type="application/ld+json"> {
"@context": "http://schema.org",
"@type": "Organization",
"name": "Hop",
"url": "https:\/\/hop.apache.org\/"
, "sameAs": ["https://twitter.com/projhop"]
, "logo": "\/img\/hop-logo.svg"
, "description": "Hop"
} </script> <script type="application/ld+json"> {
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1 ,
"item": {
"@id": "https://hop.apache.org/",
"name": "Hop"
}
},{
"@type": "ListItem",
"position": 2 ,
"item": {
"@id": "https://hop.apache.org/blog/",
"name": "blog"
}
},{
"@type": "ListItem",
"position": 3 ,
"item": {
"@id": "https://hop.apache.org/blog/2020/",
"name": "2020"
}
},{
"@type": "ListItem",
"position": 4 ,
"item": {
"@id": "https://hop.apache.org/blog/2020/03/",
"name": "03"
}
},{
"@type": "ListItem",
"position": 5 ,
"item": {
"@id": "https://hop.apache.org/blog/2020/03/roundup-2020-03/",
"name": "roundup-2020-03"
}
}]
} </script> </body> </html>