 Special pronounciation of your name? George. Yeah, and Gustavo. Gustavo, yeah. Benavides? Yeah. Yeah? I guess you should put the pieces together. Thank you. I name is Ishmael, so a little attention to you. Thank you. You're doing an 8TP server. We're out of room. So if you can start. Hello, everybody. Let me introduce the next two speakers. One is Rafael Benavides. And second is George Gustave. He will be talking more about Java and presidency 7 with JBLStorage. Yeah. Encourage you to ask questions. You can get some awesome prizes. Guys also have one special one, I believe. But they will tell you. Also please give us feedback about the conference on Twitter. Write the blog article and stuff. I would like to also remind you on Sunday there will be contest for awesome prizes, like Yubiquis, some Raspberry Pis, I believe, and stuff. And that's it. All right. Thank you very much. So who works with Java E in here? Okay. Do you guys know JBLStorage? No, nothing at all. We have one. Okay. Well, I'm the JBLStorage project lead. This is Rafael Benavides. He's helping me with the lab. And I have prepared for you a special script, a special document explaining what JBLStorage is and what should you do to run it and create Java E applications. So I have provided instructions over here. This is the HTML version. This is the PDF version if you want to download to your machine and read it. So if you install JBLStorage Studio, you will be able to follow these instructions in a very smooth way. Did anyone attend the talk about Wildfly Swarm yesterday? Okay. At the end of the talk, we had a special request saying that if anyone could change the project that we created to support Keycloak, we would give an award. Did anyone do that? No? No, we have to find a new challenge. All right. We need a new challenge. We have a Raspberry Pi to present for. We need to decide. Maybe the first one who ends this. These instructions would be the winner. Basically, what we want to achieve in this lab is... Open it. If you access the HTML version, this will be the... Internet? Use the network cable because that should... Where is that network cable? It should be in the bottom of the screen. It's here. Maybe. No more. So this is the hands-on lab that it was initially used in the... I think it was in Java one? Or DevOps? I'm not sure exactly. Even if you want to. Yeah, so we have some contributors. I just had my name as the last one as I updated to the latest FORGE features. And you will find in this document everything you need to get started with FORGE. FORGE itself, it's... Like we like to say it's a red tool used to develop applications. And it has a tight integration with the IDs, with the major IDs, like Eclipse, IntelliJ ID, NetBeans, and even provides a command line interface for those who prefer to work on the CLI without any ID. So what you can find in this document is some steps on how to create a project. We have a support for NetBeans and also web that we're not showing in this lab, but anyway FORGE supports it. What ID do you use mostly? Do you use Eclipse or what do you use? Yeah, I use Eclipse and NetBeans. If you want, instead of installing the developer studio, you can download the JBoS FORGE plugin for NetBeans that is available on the NetBeans website. And you can follow the same instructions for the GraphCo part. Typically, when we create a project with the JBoS FORGE, this will be the GraphCo display when using NetBeans. And, well, if you follow the pictures, I think it would be much easier. Is there a version of JBDS? Oh, yeah. Yeah, thank you. I have provided with Rafael the latest JBDS version. It's 910beta2, which bundles the latest FORGE version, which is the recommended version for this lab. Let me try it. It's available on the network? Yeah, it's almost available, because I'm still having issues with the network. Yeah, I mean, if you keep the app open because it's some weird, you know, at least this will work for me. Okay, so let me see here. Do we have Fabiano, Gibson, USB sticks? These are two distributors. Okay. We might have the developer studio here. Shall I distribute them? Let me just check if it's really here. Okay. Just... Really? Oh, sure. Okay, sorry. Some of them aren't working, so... Good to know. That helps. Yeah, like we tried to eliminate them. Can we have a view on them? Okay. There it is. Oh, this is the 900. Okay, so... Yeah, this is not updated. Yeah, this is a note version. This is not the correct version. Yeah, probably will be faster then. Yeah. Here. Yeah, so this lab is suited for the 3... Forged 3, which is a bit of work. It has some differences between the Forged 2. The main difference is that it's compiled against JDK8 and it has supports for stacks, which... Well, it's described in the document here as another field for the project view. And also there is one... There's a place where it's explained better. Oh, here. Stack command option will install the Java E7 dependencies. Okay. If anyone wants the javas developer studio, the latest version I have here. Is that forged there as well? Yes. Orgy bundle is part of javas developer studio. You want to call other... Other stacks and I can help them? Yeah. Excuse me. I still need... I still building the image. I had to create it because the volume was full. There's a workshop. Is this ready? Yeah. Okay. Just let me place the build. There is a USB stick coming from this, from front to behind and from behind to front. So we can... There's another USB stick. Do you need it? I don't know. Thank you. If you have any questions during the lab, please raise your hand. Okay. We'll be glad to help. I don't know which one. Too late now. No problem. I can copy anyone. Sebastian, is there another one? This seems to not be working. I'm creating another one. Does anyone else need a stick? I don't use tools. I don't use tools. I don't use tools. For my work? Yes. I don't use tools. I use eclipses. I use eclipses for presentations. Okay. I cannot read. So... Is anyone here using IntelliJ? Right now? Yes. You have the J-BOSS 4G plugin? In the previous version, I had, but I'm now looking for a new version of IntelliJ. Shining. Once it's read. It's not. Do you need help? No. I'm waiting for you. I'm working. I'm working. Do you have access to it? Yes, I have access to it. Yes. That's what I know about the company. Yes. I don't know what to do with it. I don't know what to do with it. I don't know what to do with it. I don't know what to do with it. I'm not sectioned the page. Is there a portal with推. By capacity too? Yeah. Once, I open the download item. I can引 us into skype. It can engage into my content. It's in a hurl. Yes. Do you need help? Is that what your company has? Of course. You can see the studies here, as well as the ones that you need to find out how to swing the graph. Finally, I was able to make it work. If you want to download from, I just created an HTTP server in my machine. For those that are still copying the files and want to get it from the local network that has been downloaded from the internet, you can go to this IP address. Is it clear from you that you are behind? And there is the Jbos developers to 9.1 here, the JDK and Maven, whatever you need to be able to execute everything that I've downloaded from the internet. I managed to copy the files. Yeah, and port 8082. Congratulations. No, actually, you created a project using a porch. You're using what? Yeah. Oh, but it means I have a... I still don't see anything. What is this? In NetBeans, port will be enabled in this search box. So just type project. Project? Project should just take a while. Because it's loading. It's loading? Yeah. Okay, so it's working just like a regular... It's part of the API? Yeah, the fact is that the pure CLI is bundled only in Eclipse. But in the other IDs, you get the graphical stuff. So you can work... If you want to use CLI, you can now look forward from the website. You have the project view over there. I prefer the CLI. It's much faster than that. Graphical users, but anyway, it's a matter of taste. Yes. Do you have a USB drive? Yeah, but you can also... You can also... Type the entity name there. Sorry? Type the entity name that you want to create. Yeah. We find out if you have any doubts, just raise your hand. I'd be glad to help you. Sebastian, do you have a USB there? Four hours. Four hours. We can use it for three minutes. Just... Okay. Do you have a USB drive? Yeah. Do you have a USB drive? Yeah. Do you have a USB drive? Yeah. Do you have a USB drive? Yeah. Do you have a USB drive? Yeah. Then you can see what kind of people you can put in. Maybe it's a Wi-Fi issue. Yeah. If you want to download from the upside, you can... type that small e-mail at... It's not going to help either. Let's help people. What do you do in my machine because I'm connected in a Wi-Fi? What's the URL? Downloads. Forge, gboss, download. No, no. This one? Forge, lab, lconch. What's the one thing? Forge 300, beta 4. Forge 300, beta 4, yes. This one? Yes. All of them? Forge 3. Forge 3 is beta. 3, beta 4. It's beta minus. Yes. Yes. Damn. Yeah. If you want to download Forge, you can also use this URL. Which? Forge 3, beta 4. This is when you download the zip file containing Forge. If you want to use the command line version, you don't like eclipse. Make it. Yeah. Yes. Did it work? Yes. Okay. Oh, no. Nothing. It's just an eclipse. If you want to use the CLI, you can download the zip file. And then you can exit it. But unfortunately, you won't have that ID integration that Forge provides as an eclipse. But it should work anyway. When you create files, you create Java classes, you just refresh your ID. Yeah, it works. It's just not so fast as I want it to be. Okay. I can take a batch of these commands. Just put it in the script file. In the script file. Yeah. Yeah, that's possible. Sure. There's a run command forge that allows you to execute the scripts. Actually, it's in the document, but you learn it in the end after you have done everything. But then you curse the guy who wrote that. Oh, I didn't hear you. It was smart. USB sticks are really bad. Yeah, these stickers are. I'm sorry about the sticks. USB sticks, they're not... Helping. They're supposed to help, but they're not... They're the other one? No, they're not. They're working well. I'm maybe going to follow up my event where the script that works, the archive class code. Oh, really? That's what I follow up to all of them. You can stay with me. The location where they exist is probably because of NLT. You can buy them a lot of... Part of the... Is that it uses your local repository? So, the architects are already here. They're in the spotlight. Gentlemen, please. It's your spotless solution. Dot for... The old story, you just... You're going to use your past purchases. No. It's all over the place. Put the old stuff in. Yeah. They're... I don't think they're just, like... They're... For a year. I don't know if I should read it. But the... Does anyone need the sticker with the port installation and JVDS? Yeah, I think I heard about his Vietnam. I think I heard about his number again. No, I'm not sure. I heard it once a month. Sorry? I'm not sure. Yeah, I don't see it. I tried to follow the guide over here. I should issue Java at the moment. Yes. And then because of the language. Which one? Well, you have to run from the stack to the... No, it's supposed to be 3.0. Sorry? At least I was able to help. Here is the 3.0. The 3.0, the fourth version? Yeah. Because on the stack there is the work version. And on the website I've been able to get the beta version as well. It looks like your source code. There is the project, something like to run a whole batch of these commands. Sorry? Can you run a whole batch of these commands? Yeah, it's great. What if I want to change some generic code? I don't want to buy a code or because of the new code. Because for example, I see that for JPA entities, there is a code according to the ID, primary key. You may not have a signed ID when you are doing something to write. It depends on, of course, on the database server they have to be used. But is there a possibility of changes? Well, it depends on the template. But I think it's based on three markers. So I can change the design? So for the project changes something. Or maybe you can provide a home to it. Yeah, George should be the person to answer that question. Okay. Just a minute. What was your question? Yeah, we got the executioner script. Can you record it as well? I mean, if you are more or less working like that, will you find some words in the story? I really don't know because the way that I use the script is a code and create a script. Copy to the script. As a code, copy to the script. What he said would be a nice feature. You don't have to copy. You just need to copy. Start recording and stop recording the script. Yeah, absolutely. I knew. This is what I call a conference driven development. I'm going to use this idea to George. Because it's a nice one. The old idea was that I can probably use the person's order. That you could express it. That you could express it. What was the question, sir? Yeah, there are some code stamps, like which code or equals that are based on ID, for example. It's possible to change those. We spent some time loading the database provider, but has ID already managed to be entity or is that one? Yeah, the specific equals on hash code is coded directly in Forge as a Forge plugin. The whole logic is on a Forge plugin. But you can't create a command in Forge that does whatever you need. Do you custom create equals hash code commands? Okay, and is it possible to make an adapter for some existing command in the Forge? You know, there is a new entity command. I have a new entity with the right hash code and equals. Okay. Yeah, it's possible. It's still an undocumented feature, but it's there. You can add steps to any wizard that Forge already provides. Actually, I'm sorry, it is documented. Let me just show you. If you go to the Forge documentation, sorry, add-ons. Did she use my machine? All right. Give you the cable. Oh, yeah. That's better, yes. That's better. Okay, so here in the UI. Let me check here. Over here. Oh, damn it. So when you create a command, these are the steps to create a command, but in the same document there are some features that the UI provides. One of them and one of the most interesting things is this feature, is the navigation result transformer feature. Well, actually, when you are creating an add-on in Forge, all you need to do is to implement a certain interface, and then you can handle if the current command is, for example, if it's the JPA setup wizard, you can add your specific flow, a specific step into the end of that navigation. So what happens? If you install this plugin, you install this add-on, what is the findings in this step, in this wizard step? We will appear in the last step of the JPA setup. So that's how you can increment, customize the existing functionality in Forge without creating new commands. The previous standard JPA setup, because you said that it's adding... Yeah, we have the current flow here. You can actually return the navigation results with whatever you want. So I can total over... Yeah, I'm preserving the current flow over here and adding a custom step, but you can just return your current step. By the way, he suggested a nice feature which is record the commands to generate the Forge script. Oh yeah, yeah, we have a juror for that. Oh, the juror? Yeah, I remember. Actually, this is a very old feature. I haven't had time yet to work on it. We have to plan you. Yeah. So I'll let you start recording into some files. Yeah, yeah. We have this juror, I'm sure of that. Forge... Look at the history. No, it's not this. Oh, here. Forge 238. Oh, it's very close. In 2011? Oh, yeah. But that's already done in Ash. I think I should probably reopen it. Well, actually, we do have a log file in the project if you go to your dot Forge slash ash slash history. There you can find all the history that you typed. It's an enterprise there. On the home folder? Yeah, on the home folder. Did it work, Catherine? Still don't know, do you? Yeah, it's fine. Yeah, it's fine. Yeah, it's fine. Yeah, it's fine. Yeah, it's fine. How do I install it? How do I install it? How do I install it? There's an error. What? Just double the RPM. I'll get the RPM. I'll download it on your machine because now it's your machine that's plug-in. Let me get it. Do you need a GDK? Yeah. The RPM. No, just the traditional. I have like a GDK 860 for this RPM. Which one? It doesn't say from there. Oh, I just have it here. Yeah? Do you have another sticker? A big sticker? Oh, there is something. There is something. There was something in it. I'm sorry. What's that about? I don't know. Do you have a sticker? I don't know. Do you have a sticker? I don't have a sticker. Do you have a sticker? I'm not able to install that... I'll try it again. I'll try it again. I will try it again. I will try it again. I'll try it again. I'll try it again. It's not a traffic. It's not a traffic. It's just... Yeah, now I can't see it. But I tried it four times. I have never seen it before. So... Maybe it will be the worst. Yeah. It harmonizes the... Yeah. Sometimes it's just... Sometimes it has to come and see... Yeah. Yeah. Yeah. Yeah. That's great. That's great. That's great. That's great. You are actually... And when they work... Oh yeah. Yeah. That's important. How good? How good? How good? How good? How good? How good? How good? How good? Yeah. See how it goes here. So... We'll do it. City Bookstore with Java i7. Finish. And let me... The security. About this, right? I just tried it and... Yeah, it's not added. What was your issue yesterday? It was not closed? For me it was worse. It didn't add the security contract. Yeah, I think there is a role in the security constraint. But the add role... It should work. Add role? Yeah. Add role is the only one that works, I think. And the... Oh, and the login method. It's on Java i7. Java i7, of course. So... It's a master. It should do... If it takes text... Open a new text file where you can... Paste the github. Oh! And now it creates already the... The github. Well, I don't know if... It has to be a separate editor. We can provide an extension point in this command. So... Other add-ons could implement this extension point. Or maybe use that... Navigation Result Transformer to provide an additional standard. That will be really cool. Well, that will be awesome. There's your homework. If you can start your... Start an IDE or JBLSport after time installation. No, there's an add-on built-in store command. That's it. It's installed and it's already available for you to use. Did you really go on add-on? No. Just try to... Go ahead. Go ahead. I installed it in add-on. In add-on. It's bug-filed in add-on. I'm not able to set up the application server from... I suppose... OK. The application server... Can you spell it again? Exactly. Yeah, but... This is... I think that the application... It's all in add-on. Right. It's because one add-on has the base classes and this AS has the wild-flight sports group. I believe that after you install this one you will see it working. This is a community-based add-on. So I have some bugs because it's... I'm not having a bullet test. You've never met such a server? Yeah, now it's doing something. There's not any console output as I suppose to be. No. The IDE is totally... Not down. Yeah, but we'll work after a few minutes, I think. As it was the same before. But, you know, you'd be nice to have the output from the task. Yeah, that's something that is better done in the clips. The other IDE is... Yeah, I can use other ideas. Just choose for such tutorials and easy setup and really fast progress I use that means that they are faster supported, I think. So I use it for these bugs. Yeah. That's it. Yeah, that's it. Yeah, that's it. Yeah, that's it. Yeah, that's it. Yeah, that's it. Yeah, that's it. Yeah, that's it. Because it's demo-forgeable. Try with the... Would you mind syncing over here? Let's try with this. Try with this cable. Not so good. That's my fault. Yeah. I have to change that for you. Because on this one, for me it's like depends on what I'm doing this one I was sexy. Or in charge. Okay. But I have that. I received my new laptop already. Like on the ground. I have to make try with this. That's pretty short. And I have issues with the... On the new one. On the new one. It's so crazy. It doesn't work nice with my new laptop. And my laptop doesn't work. Really? Then I should... I hope it again. I mean, for me, they mess with the keyboard system and when you enter the looks it does work. I always had a US keyboard, right? It swapped for something else and I was uninvited. And then when I had I was going to want to be a board fan kicker but now... I have to... So, I have to... So, I have to... So, I have to... So, I have to... So... Yes. Yeah, and then the ore that I know. Yes, the ore that I know. The ore that I know. I don't know if you're right. But the 10G is nice. It's not really explained, because I think, like, it has a new basis for a new engine. Rather, you know, in times where it's getting slower. It's not really explained. Why not? I had people explain. I'm sorry. There you go. Okay, so it's clear that I should. Because also, the damp volume of the fire is like one hour or one key. Which enjoys the work very completely. Yeah. Yeah, sorry about the work. We're probably down. It's just, I don't know. I think it's a bit better. Ah, that's the continuation. That's the scaffold for the faker. Sorry? That's the scaffold for the UI. I don't know. I think the net is in Europe. Yeah, probably when it's based upon. That's right. Okay. Thank you. I have one file, so I can call you at, you know, anytime. If you need the cable again, we can work it out. I'm sorry. I'm sorry. I'm sorry. I'm sorry. I got to go out mine. George. I don't think you, I'm not sure if you can take the chair. Any reason to freeze it on my mind? Yes, because it's not the loading for necessary jars. It's because after every command is issued, it tends to build the project. So it will display any warnings or any completion, any errors that might be found in the project that's with the command issue. So probably at this point for just to build your project, but since the Wi-Fi is not working that well, it might take a while for that. The J case setup to my own allows you to remove it so you can have more space. But we haven't tested yet to be sure. Tell me a few things. So if it's going to be the same, what about the applications that we've funded? You mean the atom, the AS setup? No. Because this was created by the community and the only created for the Wi-Fi in the J-Bus meeting was the Tommy. Unless it's possible to have one for Tommy, if you extend the common base classes that the atom provides. You could create an atom for Tommy and then make available for the community. That's homework. Yeah, but you know... That's a rough period to get into. It's worth it. Ask them. Is there some offline? No. It doesn't look like it though. Can I say that I'm offline or should not try this on my own? You can, if you're setting your settings.xml in Maven, you just put the offline tag that should work. That thing... Maven's having... Maven having your settings.xml You can't say... some barometer to the forage itself? That's really... not going to go away from it. It's going to be expensive. Yeah, because I remember having it in Maven also probably 2.0. Answer in a minute. I'll let... You can't even break that. No, there isn't. No, it was a forage one thing, I guess. How's that? I don't think it's doing anything. I'm still in that same jar. Is it connected on the Wi-Fi instead? No, it's not. Yeah, we can... Just... let's take the wire... off. Where's the open-edge work preference? Where's the network... oh, over here. Okay. Cool. So, let's do this. This madness. Move this again, to be sure. Let's restart it. Yes, this is what happened last time. I had a poor squirting, because I was... It just kind of... Is that it running? Okay. Oh, I don't like... my studio as well. Yeah. Where is the... It will close when I will finish importing the project. So, I have me... Come on. Come on, I don't want to see you alive. Die, die, die. Updating, of course. Here you are. There you go. I guess. What's it doing? Oh, this is easy. Just a quick fix. Okay, so now... Let's see if we can do something. I want to try with the table. Yeah. Yeah, I think it's the... you're actually... Yeah, the cables should help. Cool. Yeah. Okay, just have a seat over here. The cable is your... Okay. There you go. Yeah, probably... you should have to... close JVDS and open again, right? No, I didn't. Should I? Just cancel it. It's connected. Yeah, you can close. It's connected from the Wi-Fi. Did it connect from Wi-Fi? Yeah, no. It's wired. Yeah, just a force. Just a force. You didn't have to update. You can use the version. Forge is bundled already with the... Oh, the... Forge 3. Yeah, you don't have to install. You might see here the Forge... What? Close it. And control 4. Yeah. The Forge is starting. And the Forge console after that. Hopefully. Are you sure you ran me on JDK8? Yeah, probably so, yeah. Otherwise... Yeah, there it is. Okay, go to the window. Show view. Show view. And the other. And the Forge console. Yeah, this one. Okay. Yeah, there it is. Perfect. We don't need to wait for this to... Is it only doing something? No, it's doing nothing at the moment. I think I'm set. Probably... Try to create a project before anything else. Type project-new. You'll have to click over here. Sorry. Project. You can use multiple links. Something is... It's working. It's working. I can see if we are ATD. ATD drive. Yeah. Isn't this taking much? What about building? This building... Ah, probably. It's tunneling the... At the end of this... Blocked Forge. Blocked Forge. It's working. Try to stop it. And start it again. Can you open the details, please? No, unfortunately. In room? Yeah. Yeah. Project-new. It's last. Dash-dash. Name it. Name it. Outcomplete. Yeah. CD bookstore. Yeah. And another option is called stack. Dash-dash. Java E7. You can use Outcomplete if you want. It's on uppercase. Yeah. 7th level. Yeah. Just press enter. No. Everybody's waiting on you? No. It's a lot of stuff to download. I hope everyone comes here to play. Yeah? At least it works. Yeah. If the internet doesn't come to you, you come to do that. Yeah. Thank you. Next, if you will have time, I would suggest you to do, like, build your lab to create virtual machines with nexus. What's nexus? Oh. Yeah. But that would take more bandwidth that we don't have. Yeah. You should see a CD bookstore. Yeah. I'll show you what I did. It's pre-loaded. It's pre-loaded nexus. If I can have the analysis. Okay. Thank you. Thank you. So this is something that is new from the 4G3 compared to the 4G2. If you use it to 4G2, you will notice that there is one film missing on the screen. That is the JPA version. When we created a project, the CD bookstore, we explicitly told that we wanted to use the Java 7 stack. That is enough for 4G to understand that whenever you set up a project like a technology like JPA or servlet or EGB, you don't need to specify the version anymore. I don't see the JPA version in here. If you choose no stack, then the JPA version will be presented because 4G has no way to know which Java version you are working on. How are you doing the version alignment? Because, for example, the version of hibernate in fly flight 10 will be different from fly flight 10.01 or whatever. Actually, this is handled by the we have some extension points in the JPA in the JPA plug-in with with a specific detection for the container and the providers. Like, whenever I suppose that if I would like to use some hibernate specific features, I have to depend on the internet so I don't need a version which is to depend on the server which I am going to deploy. So, how do you find out? Right now you don't have the only information that forged records is on the persistence XML. You can't figure out what is the container that is being targeted to just by looking at the persistence XML. So, right now we don't have we don't store force has no way of knowing what is the container that you are willing to use at the moment unless we develop an item for this. So, am I able to specify the bone which I am going to use or I forge way, call it, or do I have to do it manually? Which one are you talking about? If I would like to use bone, both materials, which will tell me the versions of dependencies. So, I have to manually enter it into my bone and... If you want to depend on forged dependencies or what? On the specific container. Yeah, exactly. It's not flat bone or something like that. Yeah. That's not... That's usually not what you do in a Java project. I don't think bone is the solution in here. Maybe, because the bone managed the version and so in this case he didn't need to specify the version of hibernate dependence. I just mentioned the group ID and the artifact ID and the bone will resolve the proper version. I see, I understand. Right. That could be a nice enhancement. But anyway, we need to restore that somewhere. I don't think you're storing inside a project could be... You mean the solution? Yeah, maybe. I don't know. We need to think a bit about it. The fact is that forge is not like your project doesn't have anything bound to forge in a really project. So we try to keep that as non-intrusive as possible. But... That means that the forge project doesn't use any bone at this moment, right? Yeah. Yeah, exactly. So this project is more Java-y compliant. So it can be deployed to a patient server. That's why it doesn't use a specific bone. Exactly. But if you... You can extend from... We have extension points that will allow you to do that. And even if you add it manually to the bone, XML, forge won't break because of that. Yeah, exactly. So, George, what I was proposing... Oh, nexus. Yeah, it's a prefilled nexus. Hmm. You can... You can... You can... You can... You can... You can... You can... You can... You can... You can... Because of the customers' script, I mean, the barely scripted and the doc 댓ive. No door. A doc at compose here and it can save... Yeah, fine. It's hard for you to Woah. If there's a problem, don't boss up. You know no-auto So, if there are any easy way to recreate those HTML files and so on, and I'm going to And another question is, if there is a way... So I think this is explicitly written in the plugin. It's not. I mean, you can specify the blade file and I'm not sure the face is careful when we use it. Check that. Right now, the whole generation stuff is backed up by a library called MetaWidget. So this library is what reads the entities and generates the JSF pages. But right now, if you want to customize this output, you have to extend... You have to implement your own scaffold provider. I think that would be... I think that would be the easiest way to add... Oh, okay. If it's something simple like adding a script, then we could add in the core and go with the next script. Yeah, but that's not just the situation where I'm thinking about business. Yeah, okay. And you have a lot of changes. Right. Yeah, so that would be the best solution. Create your own scaffold provider and then you can tell Forge to generate the artifacts that you want, the pages that you want in the layout that you want, using a pre-marker style to play. And what about some programmer-made changes in the HTMLs? So is there any way how to deal with those? You know, you want to add some, I don't know, class style or something like that. Just do... Yeah, probably. Yeah, probably. Developers do this all the time. They have generated or created by whatever library, the space HTML archive, and they want it to... Yeah, the customer wants this field to be blue and not a red mark, whatever he wants. So you don't have to go to the page HTML, change your faceplate or remark, that doesn't matter. And there are changes that are blue, style for the red one, and customers... Whenever you regenerate using the scaffold, you pick up these new changes, you mean? Yeah, and I don't want to be manually summoning or... Is there any matched algorithm like, you know, duplicities or something like that? No, it's a very specific situation. I think this is our scope of force, to be honest. Maybe it is, but... But you could create a command for why those changes? I think that would be the solution. And is there any real business application done with Javasport? Whether there's some real big application that has been done by Javasport? Do you know some? Anyone? Well, we have the ticket monster. There is the application that we use throughout the whole Javasport. Thank you very much for your time. Thank you for your time. Thank you. But do you know of any big project using Javasport? Because it seems to be nice for some rapid prototyping. Yeah. Yeah, the scaffold that goes with Forge is exactly that. Or, as you can see, the generated scaffold doesn't follow the layers, several layers with dowels and managers and all this stuff. So it's basically a simple prototype for you to start with. It's good for prototyping, but not only that, because the code structure which is generated can be used as a base for your real project. Right. Yeah. You don't have to rework this. Yeah, right. I understand it, but that's just one time for setup, stopping the project that I have to manage it manually, as I'm used to do. And does it have any advantages for me in the case, that I have to write it for using different templates and for deploying it to me. And so maybe I'm not the right user, because I do prototyping a lot and I use Java for that. And very often we use J2E stack. And if I want to do just one time project, I will use for that an ID wizard that can do that. I think it has a wildfire integration, there was integration and so on. So it's hard to find an advantage to support from... George, what's the... What kind of speech are we going to do now? I use a lot of the Angular. Even if I will change it completely, that's all boring. Angular is the only thing that I could do myself that it's not taking more time. Is it really for people that... The real advantage comes when you automate your needs, like you have a specific need that Forge doesn't suit you. You can always write an add-on. You can use the Forge APIs. We have Roaster with a library for parsing Java classes that can understand the class structure and allows you to add annotations to a method or create new methods using a simple and fluent API. So Forge provides all these libraries. You have all the tools needed to do your work. You just need to figure out what you want to do. This is what we offer right now. And of course, Forge provides several extension points that work on the main motivation, the top of the motivation value that you have started to develop to support developer productivity and fun. In fact, it all started with RISC. Yeah, RISC. Have you heard of JavaScript? I've never used it. I just know a few information about it. JavaScript is a framework that allows you to create a JSF 1.2 application. And at that time, there was a generator called Syngen that would pick the entities and generate, scaffold the necessary pages to run the Syn application. So then it came Syn3 and then the whole idea of, instead of being bound to a specific framework, Forge showed up and provided a way to create pure Java E6 apps. So we try to follow this. We want to make the application that is developed with Forge is totally Java E compliant and there are no specific libraries bound to it. That's why we generate so many codes with so many beans and without the layers and all the stuff. Of course, there are some good practices that we could have been following like having abstract basic class for all the common methods and all the stuff. One thing that I like from Forge is to suppose that you want to start an application using JPA and Angular in the front-end and using ADB. Sometimes you need to have a made-in archetype or whatever. So suppose that you want JPA with a JSF, another archetype. JPA with a client test and whatever, another archetype. With Forge, you can customize the creation of a project without depending on the archetype because you just go add-in and add another future and add another future and add another future and you'll have the whole project without depending on a destructive archetype that provides everything that needs. So that's the thing that I really like. And that's what the idea that George said started with C because C needed used JPA, could use or not HB, use a JSF, use a rich faces. So C can create an application for you to start with a Cine project. And then when Cine became, people started to use Forge on that time to set up for a Cine project. But then the developers realized that instead of generating projects on the Cine, people could be used to generate all kinds of Java projects with Forge 1. Then people realized that with Forge 2, it doesn't need to be just on console. It could be plug-in to NetBeam, it could be plug-in as extension for WGA or Eclipse. The main feature that Forge provides is the independence of IDs. If you write a command for using Forge, you can make sure that it will run in Eclipse and tell the J on NetBeam without changing a single line of code. Actually, yeah? I think we have a framework in our company that uses specific DSL. And do something, does something quite similar like this, take this DSL and generate... It's a code generator. Yeah, it uses standard Eclipse VMM. Yeah. Yeah, we use Forge to use that, and maybe that can be the situation. But we also generate from that an entity as we want to have all those hash codes and serial IDs, and I saw that there is a version, so that's okay. Deep code that met my thought, and so on and so on. So this is... Yeah, this is why the word... that started health developers to start rapidly, and then they do a lot of manual work, of course, but sometimes they want to regenerate it again. And in that situation, we have to deal with the changes in... You know, because we realize that there is a bug in deep code, whatever, and we want to ask, I don't know, in your project, five to six hundred of entities, what will you change it at once? Yeah, and in keeping the whole... Yeah, because there has to be someone who will think about it, who will do it, who will check that it is done with all those entities. So in that situation, we again use this generator, it checks the original one, the new one, makes this, and checks some, you know, our tech that it's... Yeah, you could have a Portugal. And change. And in that situation, it may have that changes or whatever. Yeah. Secondizing and dealing with complex, yeah, it's... You have some lags for that. We started synchronization, the framework, a little bit more. But yeah, other options should be an annotation, for instance, and this has lots of regulations. You can mark your part of code that you want to keep, and when you generate it again, you can keep that method. Yeah, one thing that is nice to mention is that the 4G API provides some facilities, for example, if you want to know what are the entities in your code, what are the classes that have the entity annotation, you have a method in port that returns that. So it's... You can use the 4G API for that, browsing the project and checking what are the technologies that are installing on it. The dependencies, you want to install a new main dependency. 4G has the APIs to use a fluent API and just adds the dependency to your phone and XML. Whatever you need to do with your project, change the... Create new classes, change your phone and XML. We want to use Gradle. It understands the Gradle new descriptor. Anyway. That's what you said. I've not picked from any IDE, but we've worked with Evan and of course, everywhere. That's pretty awesome. I know that you have ever done it in spring. Yeah, I've already done some. It's pretty hard. Did you enjoy it? I've been doing it for some years and it's... Yeah, it's horrible. It's horrible. And when I did my first add-on, it was just awesome because it's great that the API is pretty clear. And then you install the add-on and you have the UI for 3 seconds though. And if you really still have the key words in it, you want your work to do over and over, and you'd like to have it in order. And I think it's that... More than that means already, doesn't it? Yeah. About changing one, of course. That's fantastic. There's web as well. And the web will show it. That's pretty new on the edge. That's cutting-edge technology. So you can host the force as a server. Yeah, that's what we're doing for the future versions. It's using it. So basically you can go online and say I want to create a new project and the force online will create it for you. And we still have to do something. You can provide with Github. We thought that would be nice. Oh, that's what... You can create a project and it automatically goes to Github, publishes on Github, and then you can apply to an open chat. Yeah. The whole gang. Is this yours? Yes, mine is closed. I don't think so. Thank you. Yeah. Oh, there's a video. I recorded that video. The cable, yeah. Let me show you a video of a force as a server. Well, I'm going to look it up. I was like the west, the west, any point generation. Oh, yeah, that's really useful. That is typically boring code to expect yourself and... You will generate all the time, just use the IDE for that. Okay. I don't know the IDE person. Yeah. I'll make that show. Oh, for Eclipse, also, there's funding. And I think that the IDE has the same functionality. Yeah. As they are reading all of those of them I didn't. So, yeah, I think that I just want, maybe once I wrote the first API for my own, all the time I'm using the IDE for that. Too easy. Too easy. Even to remember all of those. Exactly. You don't need to remember all of the things, but to understand that. Yes, this is it. This is the web version of Jibos Forge. It's still a prototype, but we're getting there. So you can type the project and choose the prototype and the next neighbor or not. Yeah, so, this is running in my machine. So, all the commands that Forge has, it can be shown. Choose the database and setting up the JPA. Yeah, that's the persistence generated. Yeah, that's it. Yeah. And also creating your own step for the project. Oh, the cable? Sure. Yeah. Thank you. Is it downloaded stuff? Yeah, I was trying to see if I did everything and I was trying to reply, but I had to do the wildfire lines and that is, I don't know where now. Okay, instead of swarming, I think it would be better. I'm in the middle of this. I have to stop it here. Oh, you have to start again. So, what's the story with starting every time? It's because Forge runs Forge has its own run time, so every time you start Forge, Forge has to start furnace and the add-ons and all the stuff, all the plugins. Okay. It takes a bit of time, that's why it has the starting. Okay, so you want me to do all this one, add-on install from-get type out-of-home. From-get. Whatever. Oh, that's a macOS That works. Just the URL changes a bit. Okay. It's dead. Oh my goodness. This earlier was kind of doing this type it out, but now this is doing a flashy thing that's psychedelic stuff. Yeah, alright, so. Good luck with that. And not get. Yeah, that's true. If you want to learn, that's what I thought people when I asked for the Angular app, if you don't know Angular. Just because it's smaller. Yeah, much smaller. Yeah. But don't be intimidated about the size. I think it will download some pretty big stuff after it. Because as it uses Wildfly, I think it will download some Wildfly artifacts. Yeah. Lots of guys is going way better than this. Yeah. 20 minutes? Alright. Okay, so everybody's completed the lab? I have questions. Alright. At least I have a functional application deployed on Wildfly Perfect. Perfect. Yeah. Okay, I encourage you to try Forge and try to write your own plugins and give us your feedback. That will be of great value. And I don't know. We need to Do you want the Raspberry Pi? I'm with USA in the summer or the last summer and they taught strength things to me because my sister is here for couple of years now and they taught when you meet a guy they are really strange when you ask them whether they want something they won't tell you they want it and they often offer you something. That's okay, we're not American we're from Brazil. They don't want to give you but they still offer it to you. Do you want my lunch or whatever? Yeah, that's my lunch. I don't want to give you my lunch. As an American I wouldn't know what to do with that. You want me to become red? Yes, I won. Okay, there you go. You won. Good job. I didn't do anything. It's really cool. You can do a lot of different things. Do you like games? Yeah. I played with my son I just met him and I played with him and we played all kinds of games. At Terry, Mega Drive, Super Nintendo. 30 years ago. Go try to control a door in your house or something using it. Yeah, I think you should have an intelligent house so it's not already. I use some PCF PMPRC for that so it's for the you know, you don't want to come home to this evening and don't decide that your SD card in your small PC has gone and you are not able to add a loan which on the lights, for example. Yes. You don't want to be in such situation. You can run wildfire? No, you can run wildfire. So, it works. It works pretty well. There is a lot of posts about it. It's because there is an SD card that you put in and this SD card you can install everything in one. You can run a fedora, you can run a Yeah, but still it's an ARM so it shouldn't be so fast and you can run Jellastic for wildfire, I think. What I can tell you is that the person who managed to delete was Mark Leo. So, it might work. And that's a USB 2. It has an HDMI output so you can put it on television. It's fantastic. You really enjoy it. There's no way to know how to help you go there's just like doing a bunch of stuff but there's no like 25 more things to get or anything like that. In fact, they quench the files? No, it's a this one. That's just the stuff. I know I got you. So, I don't know how many more maybe things at once to pull. Okay. I don't know how you do that in the command line though when you're doing scrolling. You are at a T. Yeah, just like a young terminal where you can see how many files. I mean, I guess maybe you could do something like every once in a while it does update which files it's downloading. I guess every once in a while you could just insert in the middle of this your overall status. That might be nice. Because in a traditional terminal it won't scroll. It will just keep moving. Yeah, unless it scrolls. You'd have to keep talking. It does that every once in a while where it tells you what it's still working on. So you just alongside that and give an overall. I have the feeling that it just missed these two files. I don't think so. Maybe you're right, but I think it's going to start something else when it's done with those two. Yeah, it was supposed to be faster. Oops. It made them back up to the internet. I'm not saying where you are in the overall things that you've done. I have no idea if these two are the last things or if it's going to kick off something else again. Maven is back up on the internet. Don't go there? No, I'm not. Two days ago I've been to R2D no session in FIT at University of the University of the University of the University standards to measure temperature and help work in article number of NHS. We are not even really close. The whole element has another thousand to go. Cool. I want to be like you. That's true. That's true. The situation. Okay. I met it all the time. Yeah. Oh. Rabbit. Yeah, I get so wrong. Why? I don't want anymore. I didn't get too much. We can't agree on these two words. Yeah? I can't agree on these two words. Thank you. I don't know what to say. Oh yeah. My post-eater is the most active of the group. The most active of the group are the active part of the enemy group. No way. No way. All right. Almost. See what happens. Another file. No. No. Download it. That's still another stuff to do. All right. Thanks for attending the talk. I appreciate. Sorry for the Wi-Fi, but... You can't control that. I promise that Forge works beautifully with the nice Wi-Fi, and it's downloading the necessary dependencies. Yeah. That's not a Forge fault, because it's downloaded from Amon Central, so... Yeah, that's blaming me. That's going to go brandy. That's always a good answer. Yeah, next time I'll bring a Nexus server. Do you remember what happened? Yeah, from another... Yeah, from another... Sure. Of course. Please, Daryl. So, one thing, there isn't any... We have the... All right. I got a pull-up log. I'm supposed to meet somebody here now. Yeah, I should do that, too. Oh, your friend. My friend. Yeah, I have it here on my laptop. Yeah, stop. All right. Try again later. Anyway, if you need anything, Daryl will help you. Yeah? I'll be happy to. Yeah. Would you like me to upload everything? Also, thank you for your help. Oh, thank you. Okay, I appreciate it. Thank you. Thank you, you too, for your help. See you. Thank you. Thank you. Thank you. All right. Now I need to lunch. I need to eat something. Now I need to eat. Help me. I need to eat fast. I need to eat something else at this moment. All right. Daryl. It's okay. Daryl, do you want to have espresso? Yeah, that's okay. you mean, you want to do it on your own? yes for what reason? to do it on your own? no you can't do it on your own no, no, no, I have a script and not a disc you can't do it on your own I don't have a script so I can do it on my own so this is a frame? so do it on your own so if you want to do it on your own then I can do it on my own You're welcome to speak with me. Thank you. You're welcome, too. Thank you. Thank you. Yeah, guys. Thank you, guys. We'll get it back. How many of those? Yeah, maybe some of them like you. I have a story to tell you. Yeah? You have a story to tell me. I think we are not here anymore. I think you see it. I've got a new car. Probably next year. Yup, I see. Hey. Hi. Hi. Yep. You are the next printer? Yes. Okay, excellent. For the better of training, right? Yes. Okay, excellent. We just cleaned the place for you. I'll put it back. I'll put it back. I'll put it back. Coming with a push. I'll put it back. I'll put it back. Okay. Is this just me as a polka? Yes. Presentation, you can give up to three scars to something. Okay. I believe you won't reward them easily. Okay. So feel free to do that. Okay. I'll put it back for you. Also, I have a small folder for you. So it makes the pressure. That's the HEM I work or? It should try, please. We have tried, but it shouldn't be broken. I'm not sure. Because I'm a little scared right now. I'm getting scared now. It's our fault. I gave up. It's gone now. It's gone now and is finally gone. Yes. It's gone now. Are you... There's our speaker. The speaker got this. And please upload your presentations in this session. Which you can put first. Yeah. It doesn't feel like it's working, but it should be able to set it on this, you know, just on the mechanics, you know. Yeah, no, let me call it guys from the university. Yeah, it is not working all the way. No, it's here. I know that you are going to switch it on. Huh? It's, I believe it should be here. So you don't have PGA? I have PGA also, so HMI works. Well, the thing is that we have to call the guy from the university to contribute to the box, you know, so we can switch between PGA and HDMI. Not necessary, I think I will try this one then. It's tight. You can call it. So do you need USB? Yes, there are some files, but yes, because it was late, I prepared something else. I have also some sticks, which I will pass around. So those files are actually outdated, right? Not really, I have some additional files for some practice. You can replicate it if you want in the meanwhile, at least few of them. Yeah, that's a good idea. That's good. Thank you. Thank you very much. Thank you very much. Can you come please? I don't know what to say. I don't know what to say. Can you come please? I don't know what to say. I don't know what to say. I don't know some great bio or something. May I just ask a question? I don't know. Is Stefan Dürer? Stefan Dürer. Okay, I will try my best. Okay, no problem. Thank you very much.