content/index.html (593 lines of code) (raw):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Apache Isis</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="" name="keywords">
<meta content="" name="description">
<!-- Favicons -->
<link href="_/img/home/favicon2.png" rel="icon">
<link href="_/img/home/apple-touch-icon.png" rel="apple-touch-icon">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
<!-- Bootstrap CSS File -->
<link href="_/js/home/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Libraries CSS Files -->
<link href="_/js/home/lib/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="_/js/home/lib/animate/animate.min.css" rel="stylesheet">
<link href="_/js/home/lib/ionicons/css/ionicons.min.css" rel="stylesheet">
<link href="_/js/home/lib/owlcarousel/assets/owl.carousel.min.css" rel="stylesheet">
<link href="_/js/home/lib/magnific-popup/magnific-popup.css" rel="stylesheet">
<link href="_/js/home/lib/ionicons/css/ionicons.min.css" rel="stylesheet">
<!-- Main Stylesheet File -->
<link href="_/css/home/style.css" rel="stylesheet">
<!-- =======================================================
Theme Name: Reveal
Theme URL: https://bootstrapmade.com/reveal-bootstrap-corporate-template/
Author: BootstrapMade.com
License: https://bootstrapmade.com/license/
======================================================= -->
</head>
<body id="body">
<!--==========================
Top Bar
============================-->
<section id="topbar" class="d-none d-lg-block">
<div class="container clearfix">
<div class="contact-info float-left">
<i class="fa fa-envelope-o"></i> <a href="mailto:users@isis.apache.org">users@isis.apache.org</a>
<!--
<i class="fa fa-phone"></i> +1 5589 55488 55
-->
</div>
<div class="social-links float-right">
<a href="https://lists.apache.org/list.html?users@isis.apache.org" class="email"><i class="fa fa-at"></i></a>
<a href="docs/2.0.0-M6/support/slack-channel.html" class="slack"><i class="fa fa-slack"></i></a>
<a href="https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=87" class="bug"><i class="fa fa-bug"></i></a>
<a href="https://stackoverflow.com/questions/tagged/isis" class="stackoverflow"><i class="fa fa-stack-overflow"></i></a>
<a href="https://twitter.com/ApacheIsis" class="twitter"><i class="fa fa-twitter"></i></a>
<!--
<a href="#" class="instagram"><i class="fa fa-instagram"></i></a>
<a href="#" class="linkedin"><i class="fa fa-linkedin"></i></a>
-->
</div>
</div>
</section>
<!--==========================
Header
============================-->
<header id="header">
<div class="container">
<div id="logo" class="pull-left">
<!--
<h1><a href="#body" class="scrollto">Reve<span>al</span></a></h1>
-->
<h1><a href="#body" class="scrollto"><img src="_/img/home/isis-logo-56x64.png"></img>Apache Isis</a></h1>
</div>
<nav id="nav-menu-container">
<ul class="nav-menu">
<li class="menu-active"><a href="#body">Home</a></li>
<li><a href="#why">Why?</a></li>
<li class="menu-has-children">
<a href="#testimonials">What?</a>
<ul>
<li><a href="#testimonials">Reviews</a></li>
<!--
<li><a href="#portfolio">Examples</a></li>
-->
</ul>
</li>
<li class="menu-has-children">
<a href="#how-it-works">How?</a>
<ul>
<li><a href="#how-it-works">How it Works</a></li>
<li><a href="#services">Built with</a></li>
</ul>
</li>
<li><a href="#call-to-action">Quick Start</a></li>
<li class="menu-has-children">
<a href="docs/2.0.0-M6/about.html">Docs</a>
<ul>
<li><a href="docs/2.0.0-M6/about.html">Table of Contents</a></li>
<li><hr/></li>
<li><a href="docs/2.0.0-M6/starters/about.html">Starter Apps</a></li>
<li><a href="docs/2.0.0-M6/landing-page/guides.html">Guides</a></li>
<li><a href="docs/2.0.0-M6/landing-page/components.html">Components</a></li>
<li><a href="docs/2.0.0-M6/landing-page/libraries.html">Libraries</a></li>
<li><a href="docs/2.0.0-M6/landing-page/releases.html">Releases</a></li>
</ul>
</li>
<li><a href="#contact">Support</a></li>
<li class="menu-has-children">
<a href="">ASF</a>
<ul>
<!--
<li><a href="#team">Our Committers</a></li>
<li><hr/></li>
-->
<li><a href="https://www.apache.org/">Apache Home Page</a></li>
<li><a href="https://www.apache.org/events/current-event">Events</a></li>
<li><a href="https://www.apache.org/licenses/">Licenses</a></li>
<li><a href="https://www.apache.org/security/">Security</a></li>
<li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><hr/></li>
<li><a href="https://whimsy.apache.org/board/minutes/Isis.html">PMC Board Minutes</a></li>
</ul>
</li>
</ul>
</nav><!-- #nav-menu-container -->
</div>
</header><!-- #header -->
<section id="intro">
<div class="intro-content">
<h2>Build software that's<br/>in step with your business</h2>
<!--
<img src="_/img/home/isis-logo-568x286.png"/>
-->
<div>
<p>
<a href="#testimonials" class="btn-projects scrollto">Reviews</a>
<a href="#call-to-action" class="btn-get-started scrollto">Quick Start</a>
</p>
</div>
</div>
<div id="intro-carousel" class="owl-carousel" >
<div class="item" style="background-image: url('_/img/home/intro-carousel/intro-carousel-1.jpg');"></div>
<div class="item" style="background-image: url('_/img/home/intro-carousel/intro-carousel-2.jpg');"></div>
<div class="item" style="background-image: url('_/img/home/intro-carousel/intro-carousel-3.jpg');"></div>
<div class="item" style="background-image: url('_/img/home/intro-carousel/intro-carousel-4.jpg');"></div>
<div class="item" style="background-image: url('_/img/home/intro-carousel/intro-carousel-5.jpg');"></div>
</div>
</section>
<main id="main">
<!--==========================
Why Section
============================-->
<section id="why" class="wow fadeInUp">
<div class="container">
<div class="row">
<div class="col-lg-6 why-img">
<!--<img src="_/img/home/why-img.jpg" alt="">-->
<img src="_/img/home/ToDoAppDashboard-skewed.png" height="500px" alt="">
</div>
<div class="col-lg-6 content">
<h3><b>Apache Isis™ enables domain-driven application development by automatically generating a UI for your Spring Boot™ apps. That means:</b></h3>
<ul>
<li><i class="ion-android-checkmark-circle"></i><span><b>Productivity</b> - the app is mostly business logic, with costly UI code eliminated.</span></li>
<li><i class="ion-android-checkmark-circle"></i><span><b>Discovery</b> - the business domain experts and the techies can work hand-in-hand to understand the problem space and then the solution space.</span></li>
<li><i class="ion-android-checkmark-circle"></i><span><b>Ease of Use</b> - business users will find the app easy to learn as the business concepts are front and center</span></li>
<li><i class="ion-android-checkmark-circle"></i><span><b>Clean Architecture</b> - the framework ensures separation of concerns within your app's internal architecture</span></li>
<li><i class="ion-android-checkmark-circle"></i><span><b>Simple Integration</b> - automatically publishes generic domain event for async integrations and a REST API for sync integration.</span></li>
</ul>
<p>And because Apache Isis™ is <b>open source</b>, built on industry/de-facto standards such as Spring Boot™, there's no vendor lock-in.</p>
</div>
</div>
</div>
</section>
<!--==========================
Testimonials
============================-->
<section id="testimonials" class="wow fadeInUp">
<div class="container">
<div class="section-header">
<h2>Reviews</h2>
<p>We gathered together some comments from current users of the framework.</p>
</div>
<div class="owl-carousel testimonials-carousel">
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
I'm super happy with Apache Isis! It allows us to move forward at an amazing speed.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Martin Hesse</h3>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
Apache Isis' philosophy is awesome - it drives you to focus on the domain model and encourages you to practice Behavior Driven Development.
In addition, it brings the team together, sets the common platform and provides the right set of tools (Wicket Viewer OOUI, REST APIs, Swagger UI, Cucumber Framework) to work collaboratively which is simply great for the software development.
It's a fabulously fantastic framework!
A big thank you to the Apache Isis team.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Mansingh Shitole</h3>
<h4>Senior Developer, PRIME Research, Germany - Frankfurt / Mainz</h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
Apache Isis enabled us to concentrate on modelling the domain and getting the UI and REST Interface with nearly no effort so we could build a fast and reliable application. Now we've started using it for the second project and I'm still very impressed by the framework and the community behind it.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Timothy Simecsek</h3>
<h4>NTT DATA Osterreich GmbH</h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
We'd been looking for a RAD-tool for building our app; after trying different tools, Apache Isis gave us the most confidence for getting the job done. It's really remarkable how easy it is to use, while contributors and users on the Isis' active mailing list are ready to help on more advanced topics.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Erik de Hair</h3>
<h4>pocos.nl</h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
A fantastic framework! With Apache Isis we can prototype a deployable application in minutes rather than days.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Jeremy Branham</h3>
<h4></h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
With its automatic UI and REST web services generation, Apache Isis kept our developers amazed and happy. Having had strenuous experiences with architecture and infrastructure concerns differing from project to project, it's like having back the fun in software development
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Willie Loyd Tandingan</h3>
<h4></h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
Apache Isis' focus on the business domain improves communication between our end-users, architects and developers. Having a better application in a fraction of the time and cost is something we highly appreciate.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Cesar Lugo</h3>
<h4></h4>
</div>
<!--
commented out Joerg's, cos he's since come on board as a committer.
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
I like the guidance Apache Isis gives me for structuring code along the lines of Domain Driven Design. My first web application in plain Java without writing a single line of DDL or HTML/*Script.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Joerg Rade</h3>
<h4></h4>
</div>
-->
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
The Apache Isis team is very supportive. They even added new functionality for Summernote when I needed a WYSIWYG editor in my prototype project.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Marianne Hagaseth</h3>
<h4></h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
What interests me most about Apache Isis is its goal of making both developers and users co-owners of their domain models. Apache Isis will be of interest to businesses who see their custom software as a strategic investment. It's not trying to be all things to all people, but it has depth and also, I predict, a bright future.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Steve Cameron</h3>
<h4></h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
As students most of us prefer sticking with business logic than spending much time with UX enhancements. Apache Isis provides a great platform to create a perfectly working prototypes with loads of inbuilt UX concerns and customizations without worrying a single bit on the GUI perspective.
And I must say this: "Great Support from the development team"
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Vishma Dias</h3>
<h4>University of Moratuwa, Sri Lanka.</h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
Apache Isis has allowed us to be focused on the Domain instead of infrastructure issues. The extensive metamodel let us further automate and enhance our custom viewer and integrate with external frameworks.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Nacho Canovas</h3>
<h4></h4>
</div>
<!--
commented out Johan's, cos he's since come on board as a committer.
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
Support from the Apache Isis community is excellent. I sense a love and dedication that is inspiring.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Johan Doornenbal</h3>
<h4></h4>
</div>
-->
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
Apache Isis provided us with a great starting point for our app; we simply took the todoapp archetype and used it as a template to help set up our integration tests and BDD specs. We were productive almost immediately
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Vladimir Nisevic</h3>
<h4>A1 Telekom Austria</h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
Apache Isis enabled us to focus on the problem domain and data quality and - because the UI was generated for us by the framework - not get distracted by UI concerns. Identified security issues were quickly addressed by the Apache Isis committers.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3></h3>
<h4>Architect</h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
We use Apache Isis because of its simple and fast user interface generation.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Andreas Lechner</h3>
<h4></h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
Apache Isis is an easy to learn, efficient and productive RAD platform.
Further I can say it is evolving to be "the best RAD platform" without any exaggerations.
The help from the community is simply wonderful.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Theekshana Dilshan</h3>
<h4>Computer Science and Engineering, University of Moratuwa, Sri Lanka.</h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
Apache Isis is one of the best tools for hackathons. Given a 2 day hackathon challenge I have the perfect framework to create my prototype helping me to focus on business logic.
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3>Sunand Padmanabhan</h3>
<h4></h4>
</div>
<div class="testimonial-item">
<p>
<img src="_/img/home/quote-sign-left.png" class="quote-sign-left" alt="">
From a Sprint retrospective, the criticism of one lead developer sounded more like praise:
"The problem is that if we show this to the customer they will think that all the work is done."
<img src="_/img/home/quote-sign-right.png" class="quote-sign-right" alt="">
</p>
<h3></h3>
<h4>provided by Ged Byrne</h4>
</div>
</div>
</div>
</section>
<!--==========================
How it works
============================-->
<section id="how-it-works">
<div class="container">
<div class="section-header">
<h2>How it works</h2>
</div>
<div class="row">
<div class="col-lg-4">
<div class="box wow fadeInUp">
<h2>UI & REST “for free”</h2>
<p class="description">Apache Isis™ dynamically builds both a generic user interface and also a rich hypermedia REST API directly from the underlying domain objects. This makes for extremely rapid prototyping and a short feedback cycle, perfect for agile development. The UI can also be extended for specific use cases, and can be themed using Bootstrap.</p>
</div>
</div>
<div class="col-lg-4">
<div class="box wow fadeInUp" data-wow-delay="0.1s">
<h2>Domain-Driven</h2>
<p class="description">The core of an Apache Isis™ application are the domain objects, either persisted entities or view models. Business rules can be associated directly with domain objects, or can be factored out into separate services. Apache Isis performs dependency injection everywhere to ensure that the application remains decoupled and testable.</p>
</div>
</div>
<div class="col-lg-4">
<div class="box wow fadeInUp" data-wow-delay="0.1s">
<h2>Add-ons</h2>
<p class="description">Apache Isis™ includes a large number of add-on modules for security, auditing, command profiling, mail merge and other cross-cutting concerns. It also has a number of UI extensions for maps, calendars etc. All are open source and designed for out-of-the-box use or to modify as you require.</p>
</div>
</div>
</div>
<!--
<div>
<li><i class="ion-android-checkmark-circle"></i>Write your business logic in entities, domain services or view models.</li>
<li><i class="ion-android-checkmark-circle"></i>Your users access your business logic through a web UI that the framework dynamically renders from your domain model.</li>
<li><i class="ion-android-checkmark-circle"></i>Consume your domain model from other apps through REST API or the Swagger UI, also dynamically rendered.</li>
<li><i class="ion-android-checkmark-circle"></i>Integration test your domain model, on top of JUnit 5. No need to write slow & fragile Selenium tests, as the UI is automatically generated.</li>
</div>
-->
</div>
</section>
<!--==========================
Built with
============================-->
<section id="services">
<div class="container">
<div class="section-header">
<h2>Built with</h2>
<p>Apache Isis™ is built on top of industry leading open source products, all licensed with business-friendly Apache Software License v2.0 or MIT.</p>
</div>
<div class="row">
<div class="col-lg-4">
<div class="box wow fadeInLeft" data-wow-delay="0.1s">
<div class="pic"><img src="_/img/home/built-with/spring-boot-logo.png" height="105px" alt=""></div>
<p class="description"><a href="https://spring.io/projects/spring-boot">Spring Boot</a> makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".</p>
</div>
</div>
<div class="col-lg-4">
<div class="box wow fadeInLeft">
<div class="pic"><img src="_/img/home/built-with/apache-wicket.png" height="80px" alt=""></div>
<p class="description"><a href="https://wicket.apache.org">Apache Wicket™<a/> is an open source Java component oriented web application framework that powers thousands of web applications and web sites.</p>
</div>
</div>
<div class="col-lg-4">
<div class="box wow fadeInRight">
<div class="pic"><img src="_/img/home/built-with/resteasy_logo_600x.gif" height="105px" alt=""></div>
<p class="description"><a href="https://resteasy.github.io">RESTEasy</a> is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications.</p>
</div>
</div>
<div class="col-lg-4">
<div class="box wow fadeInLeft" data-wow-delay="0.1s">
<div class="pic"><img src="_/img/home/built-with/EclipseLink.png" width="300px" height="105px" alt=""></div>
<p class="description"><a href="https://www.eclipse.org/eclipselink/">EclipseLink</a>, the reference implementation for JPA, is a comprehensive open-source Java persistence solution addressing relational, XML, and database web services.</p>
</div>
</div>
<div class="col-lg-4">
<div class="box wow fadeInLeft" data-wow-delay="0.2s">
<div class="pic"><img src="_/img/home/built-with/datanucleus-logo.png" width="300px" alt=""></div>
<p class="description"><a href="https://www.datanucleus.org">DataNucleus AccessPlatform</a>, the reference implementation for JDO, provides persistence and retrieval of data to a range of datastores using a range of APIs, with a range of query languages.</p>
</div>
</div>
<!--
<div class="col-lg-4">
<div class="box wow fadeInLeft" data-wow-delay="0.1s">
<div class="pic"><img src="_/img/home/built-with/project-lombok.png" height="105px" alt=""></div>
<p class="description"><a href="https://projectlombok.org/">Lombok</a> is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again.</p>
</div>
</div>
-->
<div class="col-lg-4">
<div class="box wow fadeInRight" data-wow-delay="0.2s">
<div class="pic"><img src="_/img/home/built-with/byte-buddy.png" height="105px" alt=""></div>
<p class="description"><a href="https://bytebuddy.net">Byte Buddy</a> is a code generation and manipulation library for creating and modifying Java classes during the runtime of a Java application.</p>
</div>
</div>
</div>
</div>
</section>
<!--==========================
Call To Action
============================-->
<section id="call-to-action" class="wow fadeInUp">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center text-lg-left">
<h3 class="cta-title">Quick Start</h3>
<div class="row">
<div class="col-lg-6 text-left text-lg-left">
<p class="cta-text text-center" style="margin-block-end: 0; ">
Learn about Apache Isis™ by running the minimal <a href="docs/2.0.0-M6/starters/helloworld.html">helloworld</a> starter app.
You can see the app running <a href="https://helloworld.jdo.isis.incode.work/" target="_blank">here (jdo)</a> and <a href="https://helloworld.jpa.isis.incode.work/" target="_blank">here (jpa)</a>.
</p>
</div>
<div class="col-lg-6 text-left text-lg-left">
<p class="cta-text text-center" style="margin-block-end: 0; ">
Develop your own Apache Isis™ app with the structured <a href="docs/2.0.0-M6/starters/simpleapp.html">simpleapp</a> starter app.
You can see the app running <a href="https://simpleapp.jdo.isis.incode.work/" target="_blank">here (jdo)</a> and <a href="https://simpleapp.jpa.isis.incode.work/" target="_blank">here (jpa)</a>.
</p>
</div>
</div>
<div class="row">
<div class="col-lg-6 text-left text-lg-left">
<p>
<pre id="helloworld-jdo-text">
APP=isis-app-helloworld
BRANCH=jdo
curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
cd $APP-$BRANCH
mvn clean install
mvn spring-boot:run</pre>
</p>
</div>
<div class="col-lg-6 text-left text-lg-left">
<p>
<pre id="simpleapp-jdo-text">
APP=isis-app-simpleapp
BRANCH=jdo
curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
cd $APP-$BRANCH
mvn clean install
mvn -pl webapp spring-boot:run</pre>
</p>
</div>
</div>
<div class="row">
<div class="col-lg-6 text-left text-lg-left">
<p class="cta-text text-center" style="margin-block-end: 0; margin-top: -20px;">
<span id="helloworld-jdo-copy" style="cursor: pointer;"><img src="_/img/home/clipboard-copy.png" width="16" height="16"/> Copy text for helloworld (jdo)</span>
</p>
</div>
<div class="col-lg-6 text-left text-lg-left">
<p class="cta-text text-center" style="margin-block-end: 0; margin-top: -20px;">
<span id="simpleapp-jdo-copy" style="cursor: pointer;"><img src="_/img/home/clipboard-copy.png" width="16" height="16"/> Copy text for simpleapp (jdo)</span>
</p>
</div>
</div>
<div class="row">
<div class="col-lg-6 text-left text-lg-left">
<p>
<pre id="helloworld-jpa-text">
APP=isis-app-helloworld
BRANCH=jpa
curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
cd $APP-$BRANCH
mvn clean install
mvn spring-boot:run</pre>
</p>
</div>
<div class="col-lg-6 text-left text-lg-left">
<p>
<pre id="simpleapp-jpa-text">
APP=isis-app-simpleapp
BRANCH=jpa
curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
cd $APP-$BRANCH
mvn clean install
mvn -pl webapp spring-boot:run</pre>
</p>
</div>
</div>
<div class="row">
<div class="col-lg-6 text-left text-lg-left">
<p class="cta-text text-center" style="margin-block-end: 0; margin-top: -20px;">
<span id="helloworld-jpa-copy" style="cursor: pointer;"><img src="_/img/home/clipboard-copy.png" width="16" height="16"/> Copy text for helloworld (jpa)</span>
</p>
</div>
<div class="col-lg-6 text-left text-lg-left">
<p class="cta-text text-center" style="margin-block-end: 0; margin-top: -20px;">
<span id="simpleapp-jpa-copy" style="cursor: pointer;"><img src="_/img/home/clipboard-copy.png" width="16" height="16"/> Copy text for simpleapp (jpa)</span>
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12 text-left text-lg-left">
<p class="cta-text text-center" style="margin-block-end: 0; margin-top: 20px;">
You can also explore the Apache Isis programming model through the demo app, running <a href="https://demo-wicket.isis.incode.work/" target="_blank">here</a>.
</p>
</div>
</div>
<!--
<div class="row">
<p class="cta-text text-center" style="margin-block-end: 0; margin-left: 20px; margin-top: 20px;">
If you want to use the previous 1.x version, you can use these Maven archetypes.
</p>
<div class="col-lg-6 text-left text-lg-left">
<p>
<pre>
mvn archetype:generate \
-D archetypeGroupId=org.apache.isis.archetype \
-D archetypeArtifactId=helloworld-archetype \
-D archetypeVersion=1.17.0 \
-D groupId=com.mycompany \
-D artifactId=myapp \
-D version=1.0-SNAPSHOT \
-B
mvn clean install
mvn jetty:run</pre>
</p>
</div>
<div class="col-lg-6 text-center text-lg-left">
<p>
<pre>
mvn archetype:generate \
-D archetypeGroupId=org.apache.isis.archetype \
-D archetypeArtifactId=$APP-archetype \
-D archetypeVersion=1.17.0 \
-D groupId=com.mycompany \
-D artifactId=myapp \
-D version=1.0-SNAPSHOT \
-B
mvn clean install
mvn -pl webapp jetty:run</pre>
</p>
</div>
</div>
-->
</div>
</div>
</div>
</section>
<!--==========================
Support
============================-->
<section id="contact" class="wow fadeInUp">
<div class="container">
<div class="section-header">
<h2>Support</h2>
<p>Apache projects use mailing lists for support. You can subscribe by sending an email to the users list, or you can browse the archives. If you find a problem, please raise a ticket on our JIRA, or ask a question on StackOverflow.</p>
</div>
<div class="row contact-info">
<div class="col-md-4">
<div class="contact-email">
<i class="ion-ios-filing-outline"></i>
<h3>Slack</h3>
<p><a href="docs/2.0.0-M6/support/slack-channel.html">Join #apache-isis <br/>(on the ASF slack workspace)</a></p>
</div>
</div>
<div class="col-md-4">
<div class="contact-email">
<i class="ion-ios-email-outline"></i>
<h3>Subscribe</h3>
<p><a href="mailto:users-subscribe@isis.apache.org">users mailing list</a> <br/>(<a href="https://lists.apache.org/list.html?users@isis.apache.org">archives</a>)</p>
<p><a href="mailto:dev-subscribe@isis.apache.org">dev mailing list</a> <br/>(<a href="https://lists.apache.org/list.html?dev@isis.apache.org">archives</a>)</p>
</div>
</div>
<div class="col-md-4">
<div class="contact-email">
<i class="ion-ios-help-outline"></i>
<h3>Help</h3>
<p><a href="https://issues.apache.org/jira/projects/ISIS">Jira</a></p>
<p><a href="https://stackoverflow.com/questions/tagged/isis">Stack Overflow</a></p>
</div>
</div>
</div>
</div>
<!--
<section id="team" class="wow fadeInUp">
<div class="container">
<div class="section-header">
<h2>Committers</h2>
</div>
<div class="row">
<div class="col-md-12">
<p class="cta-text">Apache Isis currently has 14 committers, including:</p>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-6">
<div class="member">
<div class="pic"><img src="_/img/home/team/DanHaywood.jfif" height="255px" alt=""></div>
<div class="details">
<h4>Dan Haywood</h4>
<span>Haywood Associates Ltd.</span>
<div class="social">
<a href="https://github.com/danhaywood"><i class="fa fa-github"></i></a>
<a href="https://twitter.com/dkhaywood"><i class="fa fa-twitter"></i></a>
<a href="https://www.linkedin.com/in/dkhaywood"><i class="fa fa-linkedin"></i></a>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="member">
<div class="pic"><img src="_/img/home/team/AndiHuber.jpg" height="255px" alt=""></div>
<div class="details">
<h4>Andi Huber</h4>
<span>Java Enthusiast</span>
<div class="social">
<a href="https://github.com/andi-huber"><i class="fa fa-github"></i></a>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="member">
<div class="pic"><img src="_/img/home/team/JeroenVanDerWal.jfif" height="255px" alt=""></div>
<div class="details">
<h4>Jeroen van der Wal</h4>
<span>Incode Software</span>
<div class="social">
<a href="https://github.com/jcvanderwal"><i class="fa fa-github"></i></a>
<a href="https://www.linkedin.com/in/jcvanderwal/"><i class="fa fa-linkedin"></i></a>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="member">
<div class="pic"><img src="_/img/home/team/JohanDoornenbal.jfif" height="255px" alt=""></div>
<div class="details">
<h4>Johan Doornenbal</h4>
<span>Incode Software</span>
<div class="social">
<a href="https://github.com/johandoornenbal"><i class="fa fa-github"></i></a>
<a href="https://www.linkedin.com/in/johan-doornenbal-3b286210/"><i class="fa fa-linkedin"></i></a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
-->
<!--
<div class="container mb-4">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d22864.11283411948!2d-73.96468908098944!3d40.630720240038435!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89c24fa5d33f083b%3A0xc80b8f06e177fe62!2sNew+York%2C+NY%2C+USA!5e0!3m2!1sen!2sbg!4v1540447494452" width="100%" height="380" frameborder="0" style="border:0" allowfullscreen></iframe>
</div>
-->
<!--
<div class="container">
<div class="form">
<div id="sendmessage">Your message has been sent. Thank you!</div>
<div id="errormessage"></div>
<form action="" method="post" role="form" class="contactForm">
<div class="form-row">
<div class="form-group col-md-6">
<input type="text" name="name" class="form-control" id="name" placeholder="Your Name" data-rule="minlen:4" data-msg="Please enter at least 4 chars" />
<div class="validation"></div>
</div>
<div class="form-group col-md-6">
<input type="email" class="form-control" name="email" id="email" placeholder="Your Email" data-rule="email" data-msg="Please enter a valid email" />
<div class="validation"></div>
</div>
</div>
<div class="form-group">
<input type="text" class="form-control" name="subject" id="subject" placeholder="Subject" data-rule="minlen:4" data-msg="Please enter at least 8 chars of subject" />
<div class="validation"></div>
</div>
<div class="form-group">
<textarea class="form-control" name="message" rows="5" data-rule="required" data-msg="Please write something for us" placeholder="Message"></textarea>
<div class="validation"></div>
</div>
<div class="text-center"><button type="submit">Send Message</button></div>
</form>
</div>
</div>
-->
</section>
</main>
<!--==========================
Footer
============================-->
<footer id="footer">
<div class="container">
<div class="row">
<div class="col-md-8">
<div class="copyright">
Copyright © 2010~2021 The Apache Software Foundation, licensed under the Apache License, v2.0.
Apache, the Apache feather logo, Apache Isis™, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.
</div>
</div>
<div class="col-md-4">
<div class="copyright">
Bootstrap Template © Copyright <strong>Reveal</strong>. All Rights Reserved
</div>
<div class="credits">
<!--
All the links in the footer should remain intact.
You can delete the links only if you purchased the pro version.
Licensing information: https://bootstrapmade.com/license/
Purchase the pro version with working PHP/AJAX contact form: https://bootstrapmade.com/buy/?theme=Reveal
-->
Designed by <a href="https://bootstrapmade.com/">BootstrapMade</a>
</div>
</div>
</div>
</div>
</footer><!-- #footer -->
<a href="#" class="back-to-top"><i class="fa fa-chevron-up"></i></a>
<!-- JavaScript Libraries -->
<script src="_/js/home/lib/jquery/jquery.min.js"></script>
<script src="_/js/home/lib/jquery/jquery-migrate.min.js"></script>
<script src="_/js/home/lib/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="_/js/home/lib/easing/easing.min.js"></script>
<script src="_/js/home/lib/superfish/hoverIntent.js"></script>
<script src="_/js/home/lib/superfish/superfish.min.js"></script>
<script src="_/js/home/lib/wow/wow.min.js"></script>
<script src="_/js/home/lib/owlcarousel/owl.carousel.min.js"></script>
<script src="_/js/home/lib/magnific-popup/magnific-popup.min.js"></script>
<script src="_/js/home/lib/sticky/sticky.js"></script>
<script>
document.querySelector('#helloworld-jdo-copy').addEventListener('click', async event => {
if (!navigator.clipboard) {
document.querySelector('#helloworld-jdo-copy').remove();
return
}
const text = document.querySelector('#helloworld-jdo-text').innerHTML;
try {
await navigator.clipboard.writeText(text);
event.target.textContent = 'Copied to clipboard';
} catch (err) {
alert("Failed to copy :-(", err)
}
});
document.querySelector('#helloworld-jpa-copy').addEventListener('click', async event => {
if (!navigator.clipboard) {
document.querySelector('#helloworld-jpa-copy').remove();
return
}
const text = document.querySelector('#helloworld-jpa-text').innerHTML;
try {
await navigator.clipboard.writeText(text);
event.target.textContent = 'Copied to clipboard';
} catch (err) {
alert("Failed to copy :-(", err)
}
});
document.querySelector('#simpleapp-jdo-copy').addEventListener('click', async event => {
if (!navigator.clipboard) {
document.querySelector('#simpleapp-jdo-copy').remove();
return
}
const text = document.querySelector('#simpleapp-jdo-text').innerHTML;
try {
await navigator.clipboard.writeText(text);
event.target.textContent = 'Copied to clipboard';
} catch (err) {
alert("Failed to copy :-(", err)
}
})
document.querySelector('#simpleapp-jpa-copy').addEventListener('click', async event => {
if (!navigator.clipboard) {
document.querySelector('#simpleapp-jpa-copy').remove();
return
}
const text = document.querySelector('#simpleapp-jpa-text').innerHTML;
try {
await navigator.clipboard.writeText(text);
event.target.textContent = 'Copied to clipboard';
} catch (err) {
alert("Failed to copy :-(", err)
}
})
</script>
<!-- Template Main JavaScript File -->
<script src="_/js/home/main.js"></script>
</body>
</html>