Added: unomi/website/community/policies.html URL: http://svn.apache.org/viewvc/unomi/website/community/policies.html?rev=1894863&view=auto ============================================================================== --- unomi/website/community/policies.html (added) +++ unomi/website/community/policies.html Tue Nov 9 12:04:41 2021 @@ -0,0 +1,176 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="/assets/images/favicon.ico"> + + <title> | Policies</title> + + <!-- Google Analytics --> + <script> + (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','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-70313240-1', 'auto'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics --> + + <!-- Bootstrap core CSS --> + <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> + <!-- Fontawesome CSS CDN --> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> + <!-- Custom styles for this template --> + <link href="/assets/css/unomi.css" rel="stylesheet"> +</head> +<body> + +<header> + <nav class="navbar navbar-expand-md navbar-light bg-white fixed-top border-bottom box-shadow"> + <div class="container"> + <a class="navbar-brand" href="/index.html"> + <img src="/assets/images/unomi-86x20.png" alt="Logo Apache Unomi"/> + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse"> + <div> + <ul class="navbar-nav mr-auto align-items-center text-uppercase"> + <li class="nav-item"> + <a class="nav-link" href="/get-started.html">Get started</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/use-cases.html">Use cases</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/stories.html">Stories</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/download.html">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/documentation.html">Documentation</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/resources.html">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/contribute/index.html">Contribute</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/community/index.html">Community</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" target="_blank" href="https://www.apache.org"> + <img src="/assets/images/apache-feather-tm-new.png" alt="Logo Apache Feather"/> + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<main> + <div class="container mb-5 pt-5"> + <div class="col-2 sidenav-menu pt-3"> + <div class="pb-3 text-uppercase"><strong>Community</strong></div> + <ul class="list-unstyled mb-3"> + <li><a href="events/index.html">Events</a></li> + <li><a href="index.html">Contact Us</a></li> + <li><a href="policies.html">Policies</a></li> + <li><a href="maturity-model-report.html">Maturity model report card</a></li> + <li><a href="team.html">Team</a></li> + </ul> + </div> + + <div class="col-8 pt-3 offset-4"> + <h2 class="pb-3 mb-2"> Policies</h2> + + <p>This page contains a list of major policies agreed upon by the Apache Unomi community.</p> + + <h3 id="releases">Releases</h3> + + <p>Apache Unomi makes minor releases every 6 weeks. Apache Unomi has a <a target="_blank" href="https://calendar.google.com/calendar/embed?src=0p73sl034k80oob7seouanigd0%40group.calendar.google.com">calendar</a> for cutting the next release branch. After a release branch is cut, the community works quickly to finalize that release.</p> + + <p>Apache Unomi aims to make 8 releases in a 12 month period. To accommodate users with longer upgrade cycles, some of these releases will be tagged as long term support (LTS) releases. LTS releases receive patches to fix major issues for 12 months, starting from the release?????™s initial release date. There will be at least one new LTS release in a 12 month period, and LTS releases are considered deprecated after 12 months. The community will mark a release as a LTS release based on various factors, such as the number of LTS releases currently in flight and whether the accumulated feature set since the last LTS provides significant upgrade value. Non-LTS releases do not receive patches and are considered deprecated immediately after the next following minor release. We encourage you to update early and often; do not wait until the deprecation date of the version you are using.</p> + + <p>It is up to the Apache Unomi community to decide whether an identified issue is a major issue that warrants a patch release. Some examples of major issues are high severity security issues and high risk data integrity issues.</p> + + <p>If you wish to report a security vulnerability, please contact <a href="mailto:[email protected]">[email protected]</a>. Apache Unomi follows the typical <a target="_blank" href="https://apache.org/security/committers.html#vulnerability-handling">Apache vulnerability handling process</a>.</p> + </div> + </div> + +</main> + +<!-- FOOTER --> +<footer class="container-fluid bg-dark pt-5 pb-3 text-white text-center footer"> + + <div class="container pb-5"> + <div class="row"> + <div class="col-3 col-md-3"> + <h5>Start</h5> + <ul class="list-unstyled text-small"> + <li><a href="/get-started.html" title="Get started">Get started</a></li> + <li><a href="/get-started.html#quickstart" title="Quick start">Quick start</a></li> + <li><a href="/download.html" title="Download">Download</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Documentation</h5> + <ul class="list-unstyled text-small"> + <li><a href="/documentation.html" title="Main documentation">Main documentation</a></li> + <li><a href="/use-cases.html" title="More use cases">More use cases</a></li> + <li><a href="/rest-api-doc/index.html" title="REST API documentation">REST API documentation</a></li> + <li><a href="/unomi-api/apidocs/index.html" title="API Javadoc">API Javadoc</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Community</h5> + <ul class="list-unstyled text-small"> + <li><a href="/community/index.html" title="Mailing lists">Contact Us</a></li> + <li><a href="/contribute/index.html" title="Contribute">Contribute</a></li> + <li><a href="/community/team.html" title="Team">Team</a></li> + <li><a href="/community/maturity-model-report.html" title="Maturity model report card">Maturity model report card</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>About</h5> + <ul class="list-unstyled text-small"> + <li><a target="_blank" href="https://www.oasis-open.org/committees/cxs/" title="OASIS Context Server Technical Committee">OASIS CXS Committee</a></li> + <li><a href="/privacy-policy.html" title="Site policy">Site policy</a></li> + <li><a target="_blank" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></li> + <li><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></li> + <li><a target="_blank" href="https://www.apache.org/security/" title="Security">Security</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> + </ul> + </div> + <div class="w-100 pt-md-3"></div> + </div> + </div> + + <p class="float-right"><a href="#">Back to top</a></p> + <p>Copyright ©2014 - 2020 <a target="_blank" href="https://www.apache.org">Apache Software Foundation</a> - All Rights Reserved - Powered by <a target="_blank" href="https://karaf.apache.org">Apache Karaf™</a><br/> + Apache Unomi, Unomi, Apache and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> +</footer> + +<!-- Bootstrap core JavaScript +================================================== --> +<!-- Placed at the end of the document so the pages load faster --> +<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> +<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> +<script src="/assets/js/vendor/popper.min.js"></script> +<script src="/assets/js/vendor/bootstrap.min.js"></script> +</body> +</html> \ No newline at end of file
Added: unomi/website/community/team.html URL: http://svn.apache.org/viewvc/unomi/website/community/team.html?rev=1894863&view=auto ============================================================================== --- unomi/website/community/team.html (added) +++ unomi/website/community/team.html Tue Nov 9 12:04:41 2021 @@ -0,0 +1,361 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="/assets/images/favicon.ico"> + + <title> | Team</title> + + <!-- Google Analytics --> + <script> + (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','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-70313240-1', 'auto'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics --> + + <!-- Bootstrap core CSS --> + <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> + <!-- Fontawesome CSS CDN --> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> + <!-- Custom styles for this template --> + <link href="/assets/css/unomi.css" rel="stylesheet"> +</head> +<body> + +<header> + <nav class="navbar navbar-expand-md navbar-light bg-white fixed-top border-bottom box-shadow"> + <div class="container"> + <a class="navbar-brand" href="/index.html"> + <img src="/assets/images/unomi-86x20.png" alt="Logo Apache Unomi"/> + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse"> + <div> + <ul class="navbar-nav mr-auto align-items-center text-uppercase"> + <li class="nav-item"> + <a class="nav-link" href="/get-started.html">Get started</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/use-cases.html">Use cases</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/stories.html">Stories</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/download.html">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/documentation.html">Documentation</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/resources.html">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/contribute/index.html">Contribute</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/community/index.html">Community</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" target="_blank" href="https://www.apache.org"> + <img src="/assets/images/apache-feather-tm-new.png" alt="Logo Apache Feather"/> + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<main> + <div class="container mb-5 pt-5"> + <div class="col-2 sidenav-menu pt-3"> + <div class="pb-3 text-uppercase"><strong>Community</strong></div> + <ul class="list-unstyled mb-3"> + <li><a href="events/index.html">Events</a></li> + <li><a href="index.html">Contact Us</a></li> + <li><a href="policies.html">Policies</a></li> + <li><a href="maturity-model-report.html">Maturity model report card</a></li> + <li><a href="team.html">Team</a></li> + </ul> + </div> + + <div class="col-8 pt-3 offset-4"> + <h2 class="pb-3 mb-2">Project Team</h2> + + <p>A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.</p> + + <p>The project team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.</p> + + <h4 class="pb-3 pt-3">Members</h4> + <p>The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.</p> + + <table class="table table-striped table-sm"> + <thead class="thead-dark"> + <tr> + <th>Image</th> + <th>Id</th> + <th>Name</th> + <th>Email</th> + <th>Organization</th> + <th>Organization URL</th> + <th>Roles</th> + <th>Time Zone</th> + </tr> + </thead> + <tbody> + <tr> + <td><img src="http://www.gravatar.com/avatar/4d3eed1c656ec68693eb61d8ccc6a3af?d=mm&s=60" alt="" /></td> + <td><a id="shuber"></a>shuber</td> + <td>Serge Huber</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Jahia</td> + <td><a class="externalLink" target="_blank" href="https://www.jahia.com">https://www.jahia.com</a></td> + <td>PMC Chair, committer</td> + <td>+1</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/27790393b874159fe05609ca7ed812f9?d=mm&s=60" alt="" /></td> + <td><a id="jbonofre"></a>jbonofre</td> + <td>Jean-Baptiste Onofré</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Talend</td> + <td><a class="externalLink" target="_blank" href="https://www.talend.com">https://www.talend.com</a></td> + <td>Apache Member, PMC, committer</td> + <td>+1</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/9bbc37f4660389c1c54aee53b05a2a65?d=mm&s=60" alt="" /></td> + <td><a id="draier"></a>draier</td> + <td>Thomas Draier</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Jahia</td> + <td><a class="externalLink" target="_blank" href="https://www.jahia.com">https://www.jahia.com</a></td> + <td>PMC, committer</td> + <td>+1</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/27790393b874159fe05609ca7ed812f9?d=mm&s=60" alt="Gravatar picture" /></td> + <td><a name="fpapon"></a>fpapon</td> + <td>Francois Papon</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Yupiik</td> + <td><a class="externalLink" href="https://www.yupiik.com">https://www.yupiik.com</a></td> + <td>PMC, committer</td> + <td>+4</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/f51aaca9a9943a59ecc3028aca9b113b?d=mm&s=60" alt="" /></td> + <td><a id="jkevan">jkevan</a></td> + <td>Kevan Jahanshahi</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Jahia</td> + <td><a class="externalLink" target="_blank" href="https://www.jahia.com">https://www.jahia.com</a></td> + <td>PMC, committer</td> + <td>+1</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/e5f766ba9813c868249c07f9c5e349d6?d=mm&s=60" alt="" /></td> + <td><a id="dgriffon">dgriffon</a></td> + <td>David Griffon</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Jahia</td> + <td><a class="externalLink" target="_blank" href="https://www.jahia.com">https://www.jahia.com</a></td> + <td>PMC, committer</td> + <td>+1</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/6d2d161467f0dc565ce0d55b9f73fe4f?d=mm&s=60" alt="" /></td> + <td><a id="dgaillard"></a>dgaillard</td> + <td>Damien Gaillard</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Jahia</td> + <td><a class="externalLink" href="https://www.jahia.com">https://www.jahia.com</a></td> + <td>committer</td> + <td>+1</td> + </tr> + <tr> + <td><img src="https://www.gravatar.com/avatar/76b2e3ee9fc69020baad711c38b0186b?d=mm&s=60" alt="" /></td> + <td><a id="taybou"></a>taybou</td> + <td>Mohamed-Tayeb BENTERKI</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Jahia</td> + <td><a class="externalLink" href="https://www.jahia.com">https://www.jahia.com</a></td> + <td>committer</td> + <td>+1</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/d21cd1073820fff86b953d57fbfadc83?d=mm&s=60" alt="" /></td> + <td><a id="shyrkov">shyrkov</a></td> + <td>Sergiy Shyrkov</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Jahia</td> + <td><a class="externalLink" target="_blank" href="https://www.jahia.com">https://www.jahia.com</a></td> + <td>committer</td> + <td>+1</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/6affe2a2fc9f902578697788c7fc2a3e?d=mm&s=60" alt="" /></td> + <td><a id="qlamerand">qlamerand</a></td> + <td>Quentin Lamerand</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>IRCAM</td> + <td><a class="externalLink" target="_blank" href="https://www.ircam.fr">https://www.ircam.fr</a></td> + <td>committer</td> + <td>+1</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/1a18e08c27af0044a1c2218ceea839c3?d=mm&s=60" alt="" /></td> + <td><a id="metacosm"></a>metacosm</td> + <td>Chris Laprun</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>RedHat</td> + <td><a class="externalLink" target="_blank" href="https://www.redhat.com">https://www.redhat.com</a></td> + <td>committer</td> + <td>+1</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/8a23a295ccfaa914c8e40d5b36893c3c?d=mm&s=60" alt="" /></td> + <td><a id="amidani"></a>amidani</td> + <td>Abdelkader Midani</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>-</td> + <td>-</td> + <td>committer</td> + <td>+1</td> + </tr> + </tbody> + <tr> + <td><img src="http://www.gravatar.com/avatar/505b92f0f422152656b53018929316f4?d=mm&s=60" alt="" /></td> + <td><a id="bdelacretaz"></a>bdelacretaz</td> + <td>Bertrand Delacretaz</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Adobe</td> + <td><a class="externalLink" target="_blank" href="https://www.adobe.com">https://www.adobe.com</a></td> + <td>Retired (was Mentor, PPMC)</td> + <td>+1</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/b103ce8281c7eef619e5e4bfcfccf639?d=mm&s=60" alt="" /></td> + <td><a id="rvs"></a>rvs</td> + <td>Roman Shaposhnik</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>Pivotal</td> + <td><a class="externalLink" target="_blank" href="https://pivotal.io">https://pivotal.io</a></td> + <td>Retired (was Mentor, PPMC)</td> + <td>-</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/6f919a5883b854b9ae41023ef281ef85?d=mm&s=60" alt="" /></td> + <td><a id="mattmann"></a>mattmann</td> + <td>Chris Mattmann</td> + <td><a class="externalLink" href="mailto:[email protected]">[email protected]</a></td> + <td>NASA JPL</td> + <td><a class="externalLink" target="_blank" href="https://www.jpl.nasa.gov">https://www.jpl.nasa.gov</a></td> + <td>Retired (was Mentor, PPMC)</td> + <td>-</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=mm&s=60" alt="" /></td> + <td>-</td> + <td>Cédric Mailleux</td> + <td>-</td> + <td>Jahia</td> + <td><a class="externalLink" target="_blank" href="https://www.jahia.com">https://www.jahia.com</a></td> + <td>Retired (was initial committer, PPMC)</td> + <td>-5</td> + </tr> + <tr> + <td><img src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=mm&s=60" alt="" /></td> + <td>-</td> + <td>Régis Mora</td> + <td>-</td> + <td>P??kin Accueil</td> + <td><a class="externalLink" target="_blank" href="https://www.pekin-accueil.com">https://www.pekin-accueil.com</a></td> + <td>Retired (was initial committer, PPMC)</td> + <td>+8</td> + </tr> + </table> + + <h4 class="pb-3 pt-5">Contributors</h4> + <p>There are no contributors listed for this project. Please check back again later.</p> + </div> + </div> + +</main> + +<!-- FOOTER --> +<footer class="container-fluid bg-dark pt-5 pb-3 text-white text-center footer"> + + <div class="container pb-5"> + <div class="row"> + <div class="col-3 col-md-3"> + <h5>Start</h5> + <ul class="list-unstyled text-small"> + <li><a href="/get-started.html" title="Get started">Get started</a></li> + <li><a href="/get-started.html#quickstart" title="Quick start">Quick start</a></li> + <li><a href="/download.html" title="Download">Download</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Documentation</h5> + <ul class="list-unstyled text-small"> + <li><a href="/documentation.html" title="Main documentation">Main documentation</a></li> + <li><a href="/use-cases.html" title="More use cases">More use cases</a></li> + <li><a href="/rest-api-doc/index.html" title="REST API documentation">REST API documentation</a></li> + <li><a href="/unomi-api/apidocs/index.html" title="API Javadoc">API Javadoc</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Community</h5> + <ul class="list-unstyled text-small"> + <li><a href="/community/index.html" title="Mailing lists">Contact Us</a></li> + <li><a href="/contribute/index.html" title="Contribute">Contribute</a></li> + <li><a href="/community/team.html" title="Team">Team</a></li> + <li><a href="/community/maturity-model-report.html" title="Maturity model report card">Maturity model report card</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>About</h5> + <ul class="list-unstyled text-small"> + <li><a target="_blank" href="https://www.oasis-open.org/committees/cxs/" title="OASIS Context Server Technical Committee">OASIS CXS Committee</a></li> + <li><a href="/privacy-policy.html" title="Site policy">Site policy</a></li> + <li><a target="_blank" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></li> + <li><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></li> + <li><a target="_blank" href="https://www.apache.org/security/" title="Security">Security</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> + </ul> + </div> + <div class="w-100 pt-md-3"></div> + </div> + </div> + + <p class="float-right"><a href="#">Back to top</a></p> + <p>Copyright ©2014 - 2020 <a target="_blank" href="https://www.apache.org">Apache Software Foundation</a> - All Rights Reserved - Powered by <a target="_blank" href="https://karaf.apache.org">Apache Karaf™</a><br/> + Apache Unomi, Unomi, Apache and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> +</footer> + +<!-- Bootstrap core JavaScript +================================================== --> +<!-- Placed at the end of the document so the pages load faster --> +<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> +<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> +<script src="/assets/js/vendor/popper.min.js"></script> +<script src="/assets/js/vendor/bootstrap.min.js"></script> +</body> +</html> \ No newline at end of file Added: unomi/website/contribute/become-a-committer.html URL: http://svn.apache.org/viewvc/unomi/website/contribute/become-a-committer.html?rev=1894863&view=auto ============================================================================== --- unomi/website/contribute/become-a-committer.html (added) +++ unomi/website/contribute/become-a-committer.html Tue Nov 9 12:04:41 2021 @@ -0,0 +1,255 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="/assets/images/favicon.ico"> + + <title> | Contribute | Become a committer</title> + + <!-- Google Analytics --> + <script> + (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','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-70313240-1', 'auto'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics --> + + <!-- Bootstrap core CSS --> + <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> + <!-- Fontawesome CSS CDN --> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> + <!-- Custom styles for this template --> + <link href="/assets/css/unomi.css" rel="stylesheet"> +</head> +<body> + +<header> + <nav class="navbar navbar-expand-md navbar-light bg-white fixed-top border-bottom box-shadow"> + <div class="container"> + <a class="navbar-brand" href="/index.html"> + <img src="/assets/images/unomi-86x20.png" alt="Logo Apache Unomi"/> + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse"> + <div> + <ul class="navbar-nav mr-auto align-items-center text-uppercase"> + <li class="nav-item"> + <a class="nav-link" href="/get-started.html">Get started</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/use-cases.html">Use cases</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/stories.html">Stories</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/download.html">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/documentation.html">Documentation</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/resources.html">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/contribute/index.html">Contribute</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/community/index.html">Community</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" target="_blank" href="https://www.apache.org"> + <img src="/assets/images/apache-feather-tm-new.png" alt="Logo Apache Feather"/> + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<main> + <!-- Marketing messaging and featurettes + ================================================== --> + <!-- Wrap the rest of the page in another container to center all the content. --> + + <div class="container"> + <!-- CONTRIBUTE --> + <div class="row mb-5 mt-5 pt-3"> + <div class="col-2 sidenav-menu pt-3"> + <div class="pb-3 text-uppercase"><strong>Contribute</strong></div> + <ul class="list-unstyled mb-3"> + <li><a href="index.html">Get started contributing</a></li> + <li class="sidenav-menu-sub-title">Technical Docs</li> + <li> + <ul class="list-unstyled sidenav-menu-sub-list"> + <li><a href="testing.html">Testing guide</a></li> + <li><a href="dependencies-guide.html">Dependencies guide</a></li> + </ul> + </li> + <li class="sidenav-menu-sub-title">Policies</li> + <li> + <ul class="list-unstyled sidenav-menu-sub-list"> + <li><a href="pre-commit-test-policies.html">Pre-commit test policies</a></li> + <li><a href="post-commit-test-policies.html">Post-commit test policies</a></li> + </ul> + </li> + <li class="sidenav-menu-sub-title">Committers</li> + <li> + <ul class="list-unstyled sidenav-menu-sub-list"> + <li><a href="become-a-committer.html">Become a committer</a></li> + <li><a href="committer-guide.html">Committer guide</a></li> + <li><a href="release-guide.html">Release guide</a></li> + </ul> + </li> + </ul> + </div> + <div class="col-8 pt-3 offset-4"> + <h2>Become a Committer</h2> + + <p>An Apache Unomi <a target="_blank" href="https://www.apache.org/foundation/how-it-works.html#committers">committer</a> has write access to the repository for merging pull requests, but you don't have to be a code contributor to become a committer. Becoming a committer means that ou have the project's trust. Read the <a target="_blank" href="https://www.apache.org/dev/committers.html#committer-responsibilities">ASF documentation</a> for more about being a committer in the Apache Software Foundation.</p> + + <p>The <a target="_blank" href="https://www.apache.org/foundation/how-it-works.html#pmc-members">PMC</a> makes someone a committer via nomination, discussion, and then majority vote. We use data from as many sources as possible to inform our reasoning. Here are some examples:</p> + + <ul> + <li><a target="_blank" href="https://lists.apache.org/[email protected]">dev@ archives</a> and <a target="_blank" href="https://lists.apache.org/[email protected]">statistics</a></li> + <li><a target="_blank" href="https://lists.apache.org/[email protected]">user@ archives</a> and <a target="_blank" href="https://lists.apache.org/[email protected]">statistics</a></li> + <li>Git metrics for <a target="_blank" href="https://github.com/apache/unomi/graphs/contributors">Unomi</a> and the <a target="_blank" href="https://github.com/apache/unomi-site/graphs/contributors">Unomi site</a></li> + <li>Code reviews given and received on <a target="_blank" href="https://github.com/apache/unomi/pulls">Unomi</a> and the <a target="_blank" href="https://github.com/apache/unomi-site/pulls">Unomi site</a></li> + <li>Clear areas of ownership (runtime, API, persistence, documentation, etc.)</li> + <li>Public events</li> + <li>Firsthand PMC testimonials</li> + </ul> + + <p>The PMC has assembled the following set of guidelines for becoming a committer.</p> + + <h3>An Apache Unomi committer...</h3> + + <h4>Takes many forms</h4> + + <p>There are many actions other than coding that build the trust we place in a committer - code review, design discussion, user support, community outreach, improving infrastructure, documentation, project management, etc.</p> + + <h4>Knows, upholds, and reinforces the Apache Software Foundation code of conduct</h4> + + <p>See the <a target="_blank" href="https://www.apache.org/foundation/policies/conduct.html">ASF documentation</a>. In particular, they manifestly strive to:</p> + + <ul> + <li>Be open</li> + <li>Be empathetic</li> + <li>Be welcoming</li> + <li>Be friendly</li> + <li>Be patient</li> + <li>Be collaborative</li> + <li>Be inquisitive</li> + <li>Be careful in the words that they choose</li> + </ul> + + <h4>Knows, upholds, and reinforces the responsibilities of an Apache Software Foundation committer</h4> + + <p>See the <a target="_blank" href="https://www.apache.org/dev/committers.html#committer-responsibilities">ASF documentation</a>.</p> + + <ul> + <li>They help create a product that will outlive the interest of any particular volunteer (including themselves)</li> + <li>They grow and maintain the health of the Apache community</li> + <li>They help out with surrounding work, such as the website & documentation</li> + <li>They help users</li> + <li>They can be trusted to decide when code is ready for release, or when to ask someone else to make the judgment</li> + <li>They can be trusted to decide when to merge code (if a code contributor) or when to ask someone else to make the judgment</li> + </ul> + + <h4>Knows, upholds, and reinforces the Unomi community's practices</h4> + + <ul> + <li>They have a proven commitment to the project</li> + <li>They share their intentions with the community</li> + <li>They accept and integrate community feedback in their plans, designs, code, etc.</li> + <li>They earnestly try to make Unomi better with their contributions</li> + <li>In particular, if a code contributor: + <ul> + <li>They earnestly try to make Unomi better with their own code</li> + <li>They earnestly try to make Unomi better with code review</li> + <li>They accept and integrate feedback on their code</li> + <li>They know, follow, and enforce Unomi?????™s practices while reviewing/merging code - style, documentation, testing, backward compatibility, etc.</li> + </ul> + </li> + </ul> + </div> + </div> + </div> + +</main> + +<!-- FOOTER --> +<footer class="container-fluid bg-dark pt-5 pb-3 text-white text-center footer"> + + <div class="container pb-5"> + <div class="row"> + <div class="col-3 col-md-3"> + <h5>Start</h5> + <ul class="list-unstyled text-small"> + <li><a href="/get-started.html" title="Get started">Get started</a></li> + <li><a href="/get-started.html#quickstart" title="Quick start">Quick start</a></li> + <li><a href="/download.html" title="Download">Download</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Documentation</h5> + <ul class="list-unstyled text-small"> + <li><a href="/documentation.html" title="Main documentation">Main documentation</a></li> + <li><a href="/use-cases.html" title="More use cases">More use cases</a></li> + <li><a href="/rest-api-doc/index.html" title="REST API documentation">REST API documentation</a></li> + <li><a href="/unomi-api/apidocs/index.html" title="API Javadoc">API Javadoc</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Community</h5> + <ul class="list-unstyled text-small"> + <li><a href="/community/index.html" title="Mailing lists">Contact Us</a></li> + <li><a href="/contribute/index.html" title="Contribute">Contribute</a></li> + <li><a href="/community/team.html" title="Team">Team</a></li> + <li><a href="/community/maturity-model-report.html" title="Maturity model report card">Maturity model report card</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>About</h5> + <ul class="list-unstyled text-small"> + <li><a target="_blank" href="https://www.oasis-open.org/committees/cxs/" title="OASIS Context Server Technical Committee">OASIS CXS Committee</a></li> + <li><a href="/privacy-policy.html" title="Site policy">Site policy</a></li> + <li><a target="_blank" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></li> + <li><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></li> + <li><a target="_blank" href="https://www.apache.org/security/" title="Security">Security</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> + </ul> + </div> + <div class="w-100 pt-md-3"></div> + </div> + </div> + + <p class="float-right"><a href="#">Back to top</a></p> + <p>Copyright ©2014 - 2020 <a target="_blank" href="https://www.apache.org">Apache Software Foundation</a> - All Rights Reserved - Powered by <a target="_blank" href="https://karaf.apache.org">Apache Karaf™</a><br/> + Apache Unomi, Unomi, Apache and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> +</footer> + +<!-- Bootstrap core JavaScript +================================================== --> +<!-- Placed at the end of the document so the pages load faster --> +<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> +<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> +<script src="/assets/js/vendor/popper.min.js"></script> +<script src="/assets/js/vendor/bootstrap.min.js"></script> +</body> +</html> \ No newline at end of file Added: unomi/website/contribute/committer-guide.html URL: http://svn.apache.org/viewvc/unomi/website/contribute/committer-guide.html?rev=1894863&view=auto ============================================================================== --- unomi/website/contribute/committer-guide.html (added) +++ unomi/website/contribute/committer-guide.html Tue Nov 9 12:04:41 2021 @@ -0,0 +1,232 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="/assets/images/favicon.ico"> + + <title> | Contribute | Committer guide</title> + + <!-- Google Analytics --> + <script> + (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','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-70313240-1', 'auto'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics --> + + <!-- Bootstrap core CSS --> + <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> + <!-- Fontawesome CSS CDN --> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> + <!-- Custom styles for this template --> + <link href="/assets/css/unomi.css" rel="stylesheet"> +</head> +<body> + +<header> + <nav class="navbar navbar-expand-md navbar-light bg-white fixed-top border-bottom box-shadow"> + <div class="container"> + <a class="navbar-brand" href="/index.html"> + <img src="/assets/images/unomi-86x20.png" alt="Logo Apache Unomi"/> + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse"> + <div> + <ul class="navbar-nav mr-auto align-items-center text-uppercase"> + <li class="nav-item"> + <a class="nav-link" href="/get-started.html">Get started</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/use-cases.html">Use cases</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/stories.html">Stories</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/download.html">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/documentation.html">Documentation</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/resources.html">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/contribute/index.html">Contribute</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/community/index.html">Community</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" target="_blank" href="https://www.apache.org"> + <img src="/assets/images/apache-feather-tm-new.png" alt="Logo Apache Feather"/> + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<main> + <!-- Marketing messaging and featurettes + ================================================== --> + <!-- Wrap the rest of the page in another container to center all the content. --> + + <div class="container"> + <!-- CONTRIBUTE --> + <div class="row mb-5 mt-5 pt-3"> + <div class="col-2 sidenav-menu pt-3"> + <div class="pb-3 text-uppercase"><strong>Contribute</strong></div> + <ul class="list-unstyled mb-3"> + <li><a href="index.html">Get started contributing</a></li> + <li class="sidenav-menu-sub-title">Technical Docs</li> + <li> + <ul class="list-unstyled sidenav-menu-sub-list"> + <li><a href="testing.html">Testing guide</a></li> + <li><a href="dependencies-guide.html">Dependencies guide</a></li> + </ul> + </li> + <li class="sidenav-menu-sub-title">Policies</li> + <li> + <ul class="list-unstyled sidenav-menu-sub-list"> + <li><a href="pre-commit-test-policies.html">Pre-commit test policies</a></li> + <li><a href="post-commit-test-policies.html">Post-commit test policies</a></li> + </ul> + </li> + <li class="sidenav-menu-sub-title">Committers</li> + <li> + <ul class="list-unstyled sidenav-menu-sub-list"> + <li><a href="become-a-committer.html">Become a committer</a></li> + <li><a href="committer-guide.html">Committer guide</a></li> + <li><a href="release-guide.html">Release guide</a></li> + </ul> + </li> + </ul> + </div> + <div class="col-8 pt-3 offset-4"> + <h2>Committer Guide</h2> + + <p>This guide is for <a target="_blank" href="https://www.apache.org/foundation/how-it-works.html#committers">committers</a> and covers Unomi's guidelines for reviewing and merging code.</p> + + <h3>Always get to LGTM ("Looks good to me!")</h3> + + <p>After a pull request goes through rounds of reviews and revisions, it will become ready for merge. A committer (who is <em>not</em> the author of the code) should signal this either by GitHub "approval" or by a comment such as "Looks good to me!" (LGTM). Any committer can then merge the pull request. It is fine for a committer to self-merge if another committer has reviewed the code and approved it, just be sure to be explicit about whose job it is!</p> + + <p>Pull requests should not be merged before the review has received an explicit LGTM from another committer. Exceptions to this rule are rare and made on a + case-by-case basis. A committer may use their discretion for situations such as build breaks. In this case, you should still seek a review on the pull request! A common acronym you may see is "TBR" "to be reviewed".</p> + + <p>Committers should never commit anything without going through a pull request, because that bypasses test coverage and could potentially cause the build to + fail. In addition, pull requests ensure that changes are communicated properly and potential flaws or improvements can be spotted.<strong>Always go through a pull request, even if you won't wait for the code review.</strong> Even then, reviewers can provide comments in the pull request after the merge happens, for use in follow-up pull requests.</p> + + <h3>Contributor License Agreement</h3> + + <p>If you are merging a larger contribution, please make sure that the contributor has an ICLA on file with the Apache Secretary. You can view the list of + committers <a target="_blank" href="http://home.apache.org/phonebook.html?unix=committers">here</a>, as well as <a target="_blank" href="http://home.apache.org/unlistedclas.html">ICLA-signers who aren't yet committers</a>.</p> + + <p>For smaller contributions, however, this is not required. In this case, we rely on <a target="_blank" href="http://www.apache.org/licenses/LICENSE-2.0#contributions">clause five</a> of the Apache License, Version 2.0, describing licensing of intentionally submitted contributions.</p> + + <h3>Tests</h3> + + <p>Before merging, please make sure that Jenkins tests pass, as visible in the GitHub pull request. Do not merge the pull request if there are test failures.</p> + + <p>If the pull request contains changes that call for extra test coverage, you can ask Jenkins to run an extended test suite. You can run the examples and some integration tests with "Run PostCommit".</p> + + <h3>Finishing touches</h3> + + <p>At some point in the review process, the change to the codebase will be complete. However, the pull request may have a collection of review-related + commits that are not meaningful to preserve in the history. The reviewer should give the LGTM and then request that the author of the pull request rebase, + squash, split, etc, the commits, so that the history is most useful. Favor commits that do just one thing. The commit is the smallest unit of easy + rollback; it is easy to roll back many commits, or a whole pull request, but harder to roll back part of a commit.</p> + + <h3>Merging it!</h3> + + <p>After all the tests pass, there should be a green merge button at the bottom of the pull request. There are multiple choices and you should choose "Merge pull request" (the default). This preserves the commit history and adds a merge commit, so be sure the commit history has been curated appropriately.</p> + + <p>Do <em>not</em> use the default GitHub commit message, which looks like this:</p> + <pre class="alert alert-primary"><code>Merge pull request #1234 from some_user/transient_branch_name [UNOMI-7873] Fix the foo bizzle bazzle</code></pre> + + <p>Instead, pull it all into the subject line:</p> + <pre class="alert alert-primary"><code>Merge pull request #1234: [UNOMI-7873] Fix the foo bizzle bazzle</code></pre> + + <p>If you have comments to add, put them in the body of the commit message.</p> + </div> + </div> + </div> + +</main> + +<!-- FOOTER --> +<footer class="container-fluid bg-dark pt-5 pb-3 text-white text-center footer"> + + <div class="container pb-5"> + <div class="row"> + <div class="col-3 col-md-3"> + <h5>Start</h5> + <ul class="list-unstyled text-small"> + <li><a href="/get-started.html" title="Get started">Get started</a></li> + <li><a href="/get-started.html#quickstart" title="Quick start">Quick start</a></li> + <li><a href="/download.html" title="Download">Download</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Documentation</h5> + <ul class="list-unstyled text-small"> + <li><a href="/documentation.html" title="Main documentation">Main documentation</a></li> + <li><a href="/use-cases.html" title="More use cases">More use cases</a></li> + <li><a href="/rest-api-doc/index.html" title="REST API documentation">REST API documentation</a></li> + <li><a href="/unomi-api/apidocs/index.html" title="API Javadoc">API Javadoc</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Community</h5> + <ul class="list-unstyled text-small"> + <li><a href="/community/index.html" title="Mailing lists">Contact Us</a></li> + <li><a href="/contribute/index.html" title="Contribute">Contribute</a></li> + <li><a href="/community/team.html" title="Team">Team</a></li> + <li><a href="/community/maturity-model-report.html" title="Maturity model report card">Maturity model report card</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>About</h5> + <ul class="list-unstyled text-small"> + <li><a target="_blank" href="https://www.oasis-open.org/committees/cxs/" title="OASIS Context Server Technical Committee">OASIS CXS Committee</a></li> + <li><a href="/privacy-policy.html" title="Site policy">Site policy</a></li> + <li><a target="_blank" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></li> + <li><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></li> + <li><a target="_blank" href="https://www.apache.org/security/" title="Security">Security</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> + </ul> + </div> + <div class="w-100 pt-md-3"></div> + </div> + </div> + + <p class="float-right"><a href="#">Back to top</a></p> + <p>Copyright ©2014 - 2020 <a target="_blank" href="https://www.apache.org">Apache Software Foundation</a> - All Rights Reserved - Powered by <a target="_blank" href="https://karaf.apache.org">Apache Karaf™</a><br/> + Apache Unomi, Unomi, Apache and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> +</footer> + +<!-- Bootstrap core JavaScript +================================================== --> +<!-- Placed at the end of the document so the pages load faster --> +<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> +<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> +<script src="/assets/js/vendor/popper.min.js"></script> +<script src="/assets/js/vendor/bootstrap.min.js"></script> +</body> +</html> \ No newline at end of file Added: unomi/website/contribute/dependencies-guide.html URL: http://svn.apache.org/viewvc/unomi/website/contribute/dependencies-guide.html?rev=1894863&view=auto ============================================================================== --- unomi/website/contribute/dependencies-guide.html (added) +++ unomi/website/contribute/dependencies-guide.html Tue Nov 9 12:04:41 2021 @@ -0,0 +1,261 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="/assets/images/favicon.ico"> + + <title> | Contribute | Dependencies guide</title> + + <!-- Google Analytics --> + <script> + (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','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-70313240-1', 'auto'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics --> + + <!-- Bootstrap core CSS --> + <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> + <!-- Fontawesome CSS CDN --> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> + <!-- Custom styles for this template --> + <link href="/assets/css/unomi.css" rel="stylesheet"> +</head> +<body> + +<header> + <nav class="navbar navbar-expand-md navbar-light bg-white fixed-top border-bottom box-shadow"> + <div class="container"> + <a class="navbar-brand" href="/index.html"> + <img src="/assets/images/unomi-86x20.png" alt="Logo Apache Unomi"/> + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse"> + <div> + <ul class="navbar-nav mr-auto align-items-center text-uppercase"> + <li class="nav-item"> + <a class="nav-link" href="/get-started.html">Get started</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/use-cases.html">Use cases</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/stories.html">Stories</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/download.html">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/documentation.html">Documentation</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/resources.html">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/contribute/index.html">Contribute</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/community/index.html">Community</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" target="_blank" href="https://www.apache.org"> + <img src="/assets/images/apache-feather-tm-new.png" alt="Logo Apache Feather"/> + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<main> + <!-- Marketing messaging and featurettes + ================================================== --> + <!-- Wrap the rest of the page in another container to center all the content. --> + + <div class="container"> + <!-- CONTRIBUTE --> + <div class="row mb-5 mt-5 pt-3"> + <div class="col-2 sidenav-menu pt-3"> + <div class="pb-3 text-uppercase"><strong>Contribute</strong></div> + <ul class="list-unstyled mb-3"> + <li><a href="index.html">Get started contributing</a></li> + <li class="sidenav-menu-sub-title">Technical Docs</li> + <li> + <ul class="list-unstyled sidenav-menu-sub-list"> + <li><a href="testing.html">Testing guide</a></li> + <li><a href="dependencies-guide.html">Dependencies guide</a></li> + </ul> + </li> + <li class="sidenav-menu-sub-title">Policies</li> + <li> + <ul class="list-unstyled sidenav-menu-sub-list"> + <li><a href="pre-commit-test-policies.html">Pre-commit test policies</a></li> + <li><a href="post-commit-test-policies.html">Post-commit test policies</a></li> + </ul> + </li> + <li class="sidenav-menu-sub-title">Committers</li> + <li> + <ul class="list-unstyled sidenav-menu-sub-list"> + <li><a href="become-a-committer.html">Become a committer</a></li> + <li><a href="committer-guide.html">Committer guide</a></li> + <li><a href="release-guide.html">Release guide</a></li> + </ul> + </li> + </ul> + </div> + <div class="col-8 pt-3 offset-4"> + <h2>Dependencies Guide</h2> + + <p>This document describes policies for keeping Unomi dependencies up to date.</p> + <p>Old dependencies cause user pain and can result in a system being unusable for some users. Many users do not use Unomi in isolation and bundle other dependencies in the same deployment. These additional dependencies might pull in incompatible dependencies to user?????™s environment which can again result in broken Unomi pipelines, sometimes with undefined behavior. To prevent this, users will have to update their deployment environment or worse yet may end up not being able to use Unomi along with some of the other dependencies at all.</p> + + <p>If a component <em>X</em> chooses to override the version of a dependency <em>D</em> from <em>a</em> to <em>b</em> and another component <em>Y</em> is incompatible with version <em>b</em> of <em>D</em>, deployment of a user that uses both components <em>X</em> and <em>Y</em> will end up in a broken state.</p> + + <p>A similar issue could arise if two dependencies of Unomi depend on a common library but use incompatible versions of that library.</p> + + <p>Also, users might not use Unomi in isolation, a user that depends on Unomi as well as other libraries in the same environment might run into similar issues if Unomi and the other library share a dependency while using incompatible versions.</p> + + <p>This picture can become even more complicated during runtime. Runner specific code might be incompatible with dependencies included by certain modules and if these dependencies leak into runtime, a pipeline might end up in a broken state.</p> + + <p>The overall issue is not common to Unomi and well known in the industry as the Diamond <a target="_blank" href="https://en.wikipedia.org/wiki/Dependency_hell">Dependency problem (or Dependency Hell)</a>.</p> + + <p>One common solution for the diamond dependency problem is <a target="_blank" href="https://semver.org/">semantic versioning</a>. The basic idea is that dependencies will be versioned in the form <em>x.y.z</em> where <em>x</em> is the <em>major version</em>, <em>y</em> is the <em>minor version</em>, and <em>z</em> is the <em>patch version</em>. A major version change may be backwards incompatible and is expected to be rare. Minor and patch versions may be released more regularly but are expected to be backwards compatible. But in practice, important fixes (such as security patches) might get released in the form of minor or patch version updates and it will be healthy for the Unomi project to depend on recently released minor versions of dependencies.</p> + + <h3>Identifying outdated dependencies</h3> + + <p>A big part of keeping dependencies up to date involves identifying outdated dependencies of Unomi that the community should try to upgrade.</p> + + <p>Unomi currently executes a weekly Jenkins job that tries to identify outdated dependencies for various SDKs. This Jenkins job generates a weekly report that is shared in Unomi dev list.</p> + + <p>In addition to this, Unomi community members might identify other critical dependency updates that have to be manually performed. For example,</p> + <ul> + <li>A minor release of a dependency due to a critical security vulnerability.</li> + <li>A dependency conflict that was was triggered by a minor version release of a Unomi dependency (this does not apply to Java SDK that depends on exact minor versions of dependencies).</li> + </ul> + + <p>These kind of urgently required upgrades might not get automatically picked up by the Jenkins job for few months. So Unomi community has to act to identify such issues and perform upgrades early.</p> + + <h3>JIRA Automation</h3> + + <p>In order to track the dependency upgrade process, JIRA tickets will be created per significant outdated dependency based on the report. A bot named <em>Unomi Jira Bot</em> was created for managing JIRA issues. Unomi community agrees on the following policies that creates and updates issues.</p> + <ul> + <li>Issues will be named as "Unomi Dependency Update Request: "</li> + <li>Issues will be created under the component <em>dependencies</em></li> + <li>If more than one owners found for a dependency, the first owner will be picked as the primary owner, the others will be pinged in the issue description.</li> + <li>If no owners found, leave the assignee empty. The component lead is responsible for triaging the issue.</li> + <li>Avoid creating duplicate issues. Updating the descriptions of the open issues created by the previous dependency check.</li> + <li>The dependency sometimes is not able to be upgraded, the issue should be closed as <em>"won't fix"</em>. And, the bot should avoid recreating issues with <em>"won't fix"</em>.</li> + </ul> + + <h3>Upgrading identified outdated dependencies</h3> + + <p>After outdated dependencies are identified, Unomi community has to act to upgrade the dependencies regularly. Unomi community has agreed on following policies regarding upgrading dependencies.</p> + + <p><strong>Human readable reports on status of Unomi dependencies are generated weekly by an automated Jenkins job and shared with the Unomi community through the dev list.</strong></p> + + <p>These reports should be concise and should highlight the cases where the community has to act on.</p> + + <p><strong>Unomi components should define dependencies and their versions at the top level. There can be rare exceptions, but they should come with explanations.</strong></p> + + <p>Components include various Unomi runners, IO connectors, etc. Component-level dependency version declarations should only be performed in rare cases and should come with a comment explaining the reasoning for overriding the dependency. For example, dependencies specific to a runner that are unlikely to be utilized by other components might be defined at the runner.</p> + + <p><strong>A significantly outdated dependency (identified manually or through the automated Jenkins job) should result in a JIRA that is a blocker for the next release. Release manager may choose to push the blocker to the subsequent release or downgrade from a blocker.</strong></p> + + <p>This will be a blocker for next major and minor version releases of Unomi. JIRA may be created automatically or manually.</p> + + <p>For manually identified critical dependency updates, Unomi community members should create blocking JIRAs for next release. In addition to this Unomi community members may trigger patch releases for any critical dependency fixes that should be made available to users urgently.</p> + + <p><strong>Dependency declarations may identify owners that are responsible for upgrading respective dependencies.</strong></p> + + <p>Owners can be mentioned in the yaml files. Blocking JIRAs will be initially assigned to these owners (if available). Release manager may choose to re-assign these JIRAs. A dependency may have more than one declared owner and in this case the JIRA will be assigned to one of the owners mentioned.</p> + + <p><strong>Dependencies of Java SDK components that may cause issues to other components if leaked should be vendored.</strong></p> + + <p><a target="_blank" href="https://www.ardanlabs.com/blog/2013/10/manage-dependencies-with-godep.html">Vendoring</a> is the process of creating copies of third party dependencies. Combined with repackaging, vendoring will allow Unomi components to depend on third party libraries without causing conflicts to other components. Vendoring should be done in a case-by-case basis since this can increase the total number of dependencies deployed in user?????™s enviroment.</p> + + <h3>Dependency updates and backwards compatibility</h3> + + <p>Unomi releases <a target="_blank" href="https://unomi.incubator.apache.org/downloads/">adhere to</a> semantic versioning. Hence, community members should take care when updating dependencies. Minor version updates to dependencies should be backwards compatible in most cases. Some updates to dependencies though may result in backwards incompatible API or functionality changes to Unomi. PR reviewers and committers should take care to detect any dependency updates that could potentially introduce backwards incompatible changes to Unomi before merging and PRs that update dependencies should include a statement regarding this verification in the form of a PR comment. Dependency updates that result in backwards incompatible changes to non-experimental features of Unomi should be held till next major version release of Unomi.</p> + + <p>Any exceptions to this policy should only occur in extreme cases (for example, due to a security vulnerability of an existing dependency that is only fixed in a subsequent major version) and should be discussed in the Unomi dev list. Note that backwards incompatible changes to experimental features may be introduced in a minor version release.</p> + </div> + </div> + </div> + +</main> + +<!-- FOOTER --> +<footer class="container-fluid bg-dark pt-5 pb-3 text-white text-center footer"> + + <div class="container pb-5"> + <div class="row"> + <div class="col-3 col-md-3"> + <h5>Start</h5> + <ul class="list-unstyled text-small"> + <li><a href="/get-started.html" title="Get started">Get started</a></li> + <li><a href="/get-started.html#quickstart" title="Quick start">Quick start</a></li> + <li><a href="/download.html" title="Download">Download</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Documentation</h5> + <ul class="list-unstyled text-small"> + <li><a href="/documentation.html" title="Main documentation">Main documentation</a></li> + <li><a href="/use-cases.html" title="More use cases">More use cases</a></li> + <li><a href="/rest-api-doc/index.html" title="REST API documentation">REST API documentation</a></li> + <li><a href="/unomi-api/apidocs/index.html" title="API Javadoc">API Javadoc</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Community</h5> + <ul class="list-unstyled text-small"> + <li><a href="/community/index.html" title="Mailing lists">Contact Us</a></li> + <li><a href="/contribute/index.html" title="Contribute">Contribute</a></li> + <li><a href="/community/team.html" title="Team">Team</a></li> + <li><a href="/community/maturity-model-report.html" title="Maturity model report card">Maturity model report card</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>About</h5> + <ul class="list-unstyled text-small"> + <li><a target="_blank" href="https://www.oasis-open.org/committees/cxs/" title="OASIS Context Server Technical Committee">OASIS CXS Committee</a></li> + <li><a href="/privacy-policy.html" title="Site policy">Site policy</a></li> + <li><a target="_blank" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></li> + <li><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></li> + <li><a target="_blank" href="https://www.apache.org/security/" title="Security">Security</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> + </ul> + </div> + <div class="w-100 pt-md-3"></div> + </div> + </div> + + <p class="float-right"><a href="#">Back to top</a></p> + <p>Copyright ©2014 - 2020 <a target="_blank" href="https://www.apache.org">Apache Software Foundation</a> - All Rights Reserved - Powered by <a target="_blank" href="https://karaf.apache.org">Apache Karaf™</a><br/> + Apache Unomi, Unomi, Apache and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> +</footer> + +<!-- Bootstrap core JavaScript +================================================== --> +<!-- Placed at the end of the document so the pages load faster --> +<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> +<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> +<script src="/assets/js/vendor/popper.min.js"></script> +<script src="/assets/js/vendor/bootstrap.min.js"></script> +</body> +</html> \ No newline at end of file
