diff --git a/_data/conference.yaml b/_data/conference.yaml new file mode 100644 index 00000000..1efe5717 --- /dev/null +++ b/_data/conference.yaml @@ -0,0 +1,40 @@ +- title: Welcome and opening ceremony + from: "14:00" + to: "14:15" +- title: Introduction to WildFly and how to get started fast + from: "14:15" + to: "15:00" + abstract: + - "In this session the WildFly project itself will be introduced. You will get to know the different components that make up WildFly. We will take a closer look at the architecture and internal functionality of WildFly." + - "The session will also include a demo how to get started fast and how to deploy and evolve a very basic application." + speaker: hpehl + bio: "Harald Pehl is a principal software engineer at Red Hat. He works on the management capabilities of WildFly and leads the management console (HAL)." +- title: Deploying WildFly applications to bare-metal and the cloud + from: "15:00" + to: "15:45" + abstract: + - "In this session, we'll see how Ansible can help deploy, configure, managed and maintened up to date Wildfly on any platform, from bare metal to VM and even clouds. We'll deal with Day 1 tasks in fully automated fashion, but also cover how to keep the system running after the initial deployment (Day 2)." + speaker: rpelisse + bio: "Romain Pelisse works at Red Hat for over a decade. He started as runtimes consultant, building on expertise on JBoss EAP (Wildfly), and moved to engineering where he became the lead of the Ansible runtimes initiative, focusing on providing the best integration possible between Red Hat middleware solutions and Ansible Automation Platform." +- title: Break + from: "15:45" + to: "16:00" +- title: What is new in WildFly and roadmap for future releases + from: "16:00" + to: "16:45" + abstract: + - "In this session we'll provide an overview of what's new in the WildFly project in the last several months, particularly in the WildFly 31 release. Then we'll describe where we see things going in WildFly over the remainder of 2024 -- release plans, a possible roadmap for Jakarta EE 11 support, plans around Java SE support and ideas around significant new features and initiatives." + speaker: bstansberry + bio: "Brian Stansberry is the lead of the WildFly application server project and the principal architect of Red Hat's JBoss Enterprise Application Platform." +- title: WildFly Glow + from: "16:45" + to: "17:30" + abstract: + - "In this session you will be introduced to WildFly Glow, a new approach to the WildFly provisioning." + - "We will cover WildFly provisioning in general, discuss potential issues, and we will see how WildFly Glow simplifies the WildFly provisioning experience." + - "During the presentation WildFly Glow tooling will be demonstrated." + speaker: jfdenise + bio: "Jean-François Denise is a principal software engineer at Red Hat. He is involved in WildFly provisioning and tooling (WildFly CLI, WildFly Bootable JAR, Openshift images, WildFly Glow)." +- title: Feedback and closing ceremony + from: "17:30" + to: "18:00" diff --git a/_layouts/conference.html b/_layouts/conference.html new file mode 100644 index 00000000..de31f107 --- /dev/null +++ b/_layouts/conference.html @@ -0,0 +1,84 @@ +--- +layout: base +--- + +
+
+

WildFly Mini Conference

+

A dedicated conference for the community with topics around WildFly. +

+
+ +
+

What you need to know

+
+
Date
+
Wednesday, March 6, 2024
+
Time
+
14:00 - 18:00 UTC
+
Location
+
+ Virtually on YouTube Live +
+
+

Registration is not required, but you can let us know that you plan to attend. Click on the date to add the event to your calendar.
You can also use the "Notify Me" button on YouTube if you would like to be notified about the conference.

+
+ +
+

What you can expect

+

The conference includes four sessions with topics for both beginners and advanced WildFly users. There will + be an opening and closing ceremony and a 15-minute break between the second and third session. We want all + sessions to be interactive, and you can ask questions at any time. Remember this is a conference for you - + the WildFly community!

+ +
+ + + + + + + +
+
Note
+
+
+

All times are in UTC. Click on the time to show the time in your time + zone.

+
+
+
+ + {% for session in site.data.conference %} + {%- capture session_bg -%} + {%- if session.abstract -%}c-session-blue{%- else -%}c-session-gray{%- endif -%} + {%- endcapture -%} +
+
+ {{ session.from }}{{ session.to }} +
+
{{ session.title}}
+ {% if session.abstract %} +

{{ session.abstract | join: "
" }}

+ {% endif %} + {% if session.speaker %} + {% assign speaker = site.data.authors[session.speaker] -%} +
+ {{ speaker.name }} +
+
{{ session.bio }}
+ {% endif %} +
+ {% endfor %} +
+ +
+

After the conference

+

Please take some time to answer a few questions about the conference. What did you like, what can we do + better? It won't take long, and will help us make the next WildFly conference even better: conference feedback

+ +
+
+ \ No newline at end of file diff --git a/_layouts/index.html b/_layouts/index.html index 24b78043..04f9a7d6 100644 --- a/_layouts/index.html +++ b/_layouts/index.html @@ -17,6 +17,12 @@

Now available: WildFly +
+

Save the date!

+

We're hosting a conference on
Wednesday, March 6

+

WildFly Mini Conference

+
+
Github diff --git a/_sass/layouts/conference.scss b/_sass/layouts/conference.scss new file mode 100644 index 00000000..5fc749b3 --- /dev/null +++ b/_sass/layouts/conference.scss @@ -0,0 +1,131 @@ +.conference { + .c-when-and-where { + display: grid; + grid-template-columns: auto 1fr; + grid-gap: 1.5rem; + font-size: 1.5rem; + line-height: 1.5rem; + + dt { + font-weight: 600; + grid-column: 1; + text-align: right; + } + + dd { + grid-column: 2; + margin: 0; + } + } + + .c-session { + display: grid; + grid-template-columns: auto 1fr; + grid-template-rows: auto 1fr auto; + grid-template-areas: + "time title" + "time abstract" + "avatar bio"; + grid-column-gap: 3rem; + padding: 2rem 1rem; + + &:not(:last-of-type){ + border-bottom: 1px solid white; + } + } + + .c-session-gray { + background-color: $gray-2; + } + + .c-session-blue { + background-color: $blue; + } + + .c-time { + display: flex; + flex-direction: row; + grid-area: time; + + @media (max-width: $breakpoint-m) { + flex-direction: column; + margin-right: 2rem; + } + } + + .c-from, .c-to { + font-size: 1.5rem; + font-weight: 600; + line-height: 2rem; + opacity: 0.5; + + @media (max-width: $breakpoint-m) { + font-size: 1.2rem; + line-height: 1.5rem; + } + } + + .c-from { + white-space: nowrap; + &:after { + content: " - "; + } + + @media (max-width: $breakpoint-m) { + &:after { + content: none; + white-space: normal; + } + } + } + + .c-local-time:popover-open { + border: none; + font-size: 1.2rem; + font-weight: 500; + line-height: 1.5rem; + margin: 0 !important; + padding: 0.25rem; + text-wrap: balance; + + @media (max-width: $breakpoint-m) { + font-size: 1rem; + line-height: 1.2rem; + } + } + + .c-title { + font-size: 2rem; + font-weight: 100; + grid-area: title; + line-height: 2rem; + + @media (max-width: $breakpoint-m) { + font-size: 1.5rem; + } + } + + .c-abstract { + grid-area: abstract; + line-height: 1.2rem; + } + + .c-speaker-avatar { + align-items: center; + display: flex; + flex-direction: column; + grid-area: avatar; + + @media (max-width: $breakpoint-m) { + order: 1; + } + } + + .c-speaker-bio { + align-self: center; + font-size: 0.9rem; + font-weight: 100; + opacity: 0.6; + grid-area: bio; + } +} diff --git a/assets/css/main.scss b/assets/css/main.scss index 019cba8d..7fac9a00 100644 --- a/assets/css/main.scss +++ b/assets/css/main.scss @@ -19,6 +19,7 @@ $content-width: 1000px; @import "includes/header-banner"; @import "layouts/home"; +@import "layouts/conference"; @import "layouts/downloads"; @import "layouts/news"; @import "layouts/error-page"; diff --git a/assets/data/wildFly-mini-conference.ics b/assets/data/wildFly-mini-conference.ics new file mode 100644 index 00000000..4757e367 --- /dev/null +++ b/assets/data/wildFly-mini-conference.ics @@ -0,0 +1,17 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:wildfly@googlegroups.com +BEGIN:VEVENT +UID:20240209T113915Z@wildfly.org +DTSTAMP:20240209T113915Z +DTSTART:20240306T140000Z +DTEND:20240306T180000Z +SUMMARY:WildFly Mini Conference +URL:https://wildfly.org/conference +DESCRIPTION:A dedicated conference for the community with topics + around WildFly. +LOCATION;ALTREP="https://youtube.com/live/_8g1rZ80u2A": + Virtually on YouTube Live +CLASS:PUBLIC +END:VEVENT +END:VCALENDAR \ No newline at end of file diff --git a/assets/javascript/conference.js b/assets/javascript/conference.js new file mode 100644 index 00000000..9de18061 --- /dev/null +++ b/assets/javascript/conference.js @@ -0,0 +1,64 @@ +/* + * JBoss, Home of Professional Open Source. + * + * Copyright 2024 Red Hat, Inc., and individual contributors + * as indicated by the @author tags. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(() => { + "use strict"; + + window.addEventListener("load", () => { + const supportsPopover = HTMLElement.prototype.hasOwnProperty("popover"); + if (supportsPopover) { + const timeFormat = new Intl.DateTimeFormat(navigator.language, { + hour: "numeric", + minute: "numeric" + }); + const date = document.querySelector("#c-date").dataset["date"]; + const timeElements = document.querySelectorAll(".c-time"); + timeElements.forEach(timeElement => { + const from = new Date(date + "T" + timeElement.querySelector(".c-from").textContent + "Z"); + const to = new Date(date + "T" + timeElement.querySelector(".c-to").textContent + "Z"); + const localTime = timeFormat.format(from) + " - " + timeFormat.format(to); + const popover = document.createElement("div"); + popover.classList.add("c-local-time") + popover.textContent = localTime; + popover.popover = "auto"; + popover.addEventListener("toggle", (event) => { + if (event.newState === 'open') { + popover.style.left = timeElement.getBoundingClientRect().left + "px"; + popover.style.top = timeElement.getBoundingClientRect().top + "px"; + popover.style.width = timeElement.getBoundingClientRect().width + "px"; + } + }); + timeElement.appendChild(popover); + timeElement.addEventListener("click", () => popover.togglePopover()); + }); + + let ticking = false; + document.addEventListener("scroll", () => { + if (!ticking) { + window.requestAnimationFrame(() => { + document.querySelectorAll(".c-local-time:popover-open") + .forEach(p => p.hidePopover()); + ticking = false; + }); + ticking = true; + } + }); + } + }); +})(); diff --git a/conference.md b/conference.md new file mode 100644 index 00000000..4a347b1a --- /dev/null +++ b/conference.md @@ -0,0 +1,5 @@ +--- +layout: conference +title: WildFly Mini Conference +permalink: /conference/ +---