Servoy Launch Series – Version 2019.09 – Part I – What’s New!
Servoy Launch Series – Version 2019.09 – Part I – What’s New!
My name is Jan Eileman and I’m the founder of a Servoy and as always I’m joined by Sean Devlin who is Director of products and also part of the engineering team here in this in the US So you probably already have work with him or a team in the many webinars and also extra boy world Where he’s again going to be Presenting some of the future products of first. Oh, we’ve got today. We’re talking about Servoive version 2019 09 and another launch that is in time with our quarterly release schedule that’s been going on and Today we’re gonna talk about that First I’m seeing some stars in the background. I said right. Yeah, because we’re launching. I wanted it to be space themed Oh, okay, that’s pretty cool. Is that okay? All right, if anybody Anybody has any questions that feel free to ask them in the questions channel. We will be picking them up as we go along and Of course it makes it very Interactive if you guys also push questions and comments if you like stuff that you’re seeing feel free to to share it with us All right, Sean with this very long unusual intro. Let’s get started Okay, I want to lengthen the intro a little bit and remind you all that very fast approaching is Servoive world We are adding even more activities. It’s gonna be Really packed with a lot of fun stuff. We’re gonna talk more about that right at the end of this So if you hang on at the very end and you want updated on servoive world, we’ll get into that But as y’all and said we are launching the third quarter of 2019 release 2009 version of servoive and typically when we do these major launches we We do a mini webinar series because it’s a lot to To cover so again, we do that this week Monday Wednesday Friday And I think today I’m doing something a little bit different usually I’m looking for what’s the best stuff to demo But I think there’s a lot of odds and ends that get missed You know in a launch there’s a lot of fixes and enhancements and different packages. So I think we should go over that Today and so today we’ll be kind of light and easy and then I think we have big demos planned for Wednesday and Friday So if that sounds good, let’s get into it. We’re gonna talk about what’s new Of course the servoive core platform has been updated with with dozens of fixes In fact, I looked at the change log and there were more than 100 however because we do automated regression testing and internal bug reporting that number is usually High those issues are fixed before they make it to production Which is nice. There were more than 20 enhancements to the core And of course we are aligning all of the extensions To be released alongside the quarter release of the core platform. So many packages have also been updated and we’ll get into that Later this week We’d like to demo some new developments in our hybrid desktop technology We call it servoi ng desktop So we have some neat stuff to show on Wednesday and we’ve also made some enhancements and how to publish rest APIs and document them We’re gonna go through that on Friday So just a quick overview of some packages that have been updated in addition to the core platform We updated the servoive extra components package which has a lot of nice traditional business components in there Many fixes and enhancements most notably Is the multi file upload component which has been added. This is a pretty slick Upload component. We’ll do a very quick demo of this today But this was covered It had a complete webinar session devoted to just this component Back in August and we announced that it would be available in the next version of servoi and today We are at the next version of servoi So I just wanted to remind you that that has now been made available inside the servoi extra components package We’re also releasing our popular ng grids package. This is basically a maintenance release There’s mostly fixes in there and one small enhancement The also popular svi search which does Which will search your database with sort of google like search idioms That is being updated Kind of a semi major bump there because there were several fixes in there our enhancements in there as well as fixes and we will show a little bit of that Some other packages that are updated bootstrap extra components which is also Traditional business components that are based on the bootstrap libraries We did some fixes to those and enhancements to the nav bar component And then the core bootstrap components were also updated including enhancements to the calendar component Unfortunately today. I don’t have demos of the nav bar or the calendar enhancement But what we’d like to do is update the demo.servoi.com Website to show what’s changed or update the sample solutions that come with those We also updated the 12 grid layout manager. This is for responsive layouts and There’s been some fixes there mostly around also how it’s used in the form editor and the zoom capability so If you are building responsive Layouts the developer experience should get a little bit nicer with this release Just to also point out some changes every time there’s a release There could be small changes which will affect you when you upgrade and so I scanned our Our product backlog and our release notes and Find a few breaking changes or changes that you should be cautioned about one is if you do automated Sort of automated deployments or building War files through the command line utilities so this would be something you do automated not manual There is a change in the One of the parameter names so you want to watch out for that if you’re doing that you go through and and fix your routines Otherwise that could break for you also the font awesome component There were some library conflicts there and now it is required that you also include the root class FA Before you could just skip it so That’s something to watch out for as well We also moved a couple components, but we’ll get into that in the demos coming up So the demos that we have today include the multi-file upload component that I was discussing That’ll be just a quick demo because we we did cover that In a prior webinar Some small enhancements to the list form component which was updated and also moved The svy search utility module has some updates in it that we can show you and There’s an enhancement in in the war export process so These are all just kind of small demos just showing a few small things and then we’ll also cover a few odds and ends And I think we’ll have plenty of time to take questions about this new release So let’s get into it I’m going to launch a Demo demo solution And we’ll come into the first The first demo We introduced the multi-file upload component in a prior webinar And we said it would be released with this release This is it you can drag it on your form You can drop files onto it or you can also browse through your file system You can see that you can add files to it And then upload them There’s a method that you can handle uploads you can also have others plenty of events that you can capture as you’re adding files It’s really a slick component. There’s a lot of interactivity a lot of chances for you to Capture events and work with it programmatically but the reason that I’m showing it to you is because This was done in a demo before and now it’s available And I’ll show you how it’s available If you Look at the multi upload file form in the form editor You can see that I dragged one component on the form You minimize all my console in the way So I just dragged this one component on the form and I was done And this is now located in the Servoy extra components library So you can get that through the web package manager. It is released now and available Scroll to it There it is and it’s called multi file uploads you just drag this one on your form and you start to Adjust the properties and you can see that there are quite some events in this one So when files are added or removed before they’re even sent to the client you can operate in a modal mode Again, this was covered in a prior webinar So I would urge you to look at that if you’re interested Also, we did add a wiki documentation So if you go to the The repository location for the Servoy extra components and you go to wiki Let me go to the root of that You see the list of components here. They all have wiki documentation And now we have multi file upload And you can see that there is a nice little video and also table of contents showing you The various parts of the API And also some options that you can customize it So this is a pretty comprehensive documentation to make it easy for you to use You may be wondering about the classic file upload. That’s this component That is sticking around for the time being. We’ll wait and see my Gut feeling is that most people will use the new multi file upload component Because it does have that slick user interface and a lot more options The reason is because we discovered a nice library That we could take advantage of so perhaps this will be deprecated But we’re not announcing that today Because then people would all have to rush and switch. We have no problem Keeping this component in here for a little while longer. In fact, it was also enhanced in this release as well But I don’t want to confuse you if you’re just starting Servoy You probably want to go straight to the multi file upload component Okay We have also a bit about the list form component which was updated If I come back to my demo solution and look at my list component You’ll one thing that you can do now is have a style class for the selected row in the list So you can see that as I Click through my list here. I get a little bar on the side here highlighting which record is selected This came in as a feature request because Servoy has supported lists you use since the first version And we always allow you to specify Initially it was like a row background color but as we move to an HTML5 based client It just lets you specify style classes So in order to provide that support going forward We added a style class hook and I’ll show you how that looks If you’re new to form components This also was covered in a prior webinar. It’s getting easier to do these webinars because most things are already covered We did a whole webinar about the list form component So go to the the text series homepage We’ll show the link at the end and and watch that webinar if you want to learn how to build a list component This is just about a small enhancement that was made What I did is I took the example solution from that prior webinar Example list form component and I just included it as a module And you can see that in my form components. I have orders list here Which is that is that form and then I have my orders form where I placed it And I’ll show you when you place a list form component now And you select it you have a property here for Selection class and so what I did is I picked I created a class I’ll jump to that In one of my less CSS files called list selection And I gave it this border left property and that’s what’s giving this Little border here To show up when it’s selected so anytime you click on a row it’s going to Apply or remove the list selection to the row Another enhancement that was added to list form component while we’re on there is An event on selection changed so there is of course the on record selection event of the of the form component However, and this gets into the details of form components So if you’re new don’t let this Scare you or slow you down, but form components don’t have their own scripting scope So if I actually open up that orders list component form component Then I click on it. I don’t have the on record selection event To bind to anything that’s actually on the the outer form So we may want to handle something where the user clicked on the On the list itself so this event like sorry go back to orders On selection changed was added to form to list form component and All I do is show a simple dialogue here And if I switch back to my example solution And now as I click through my records It’s showing that so this way you can you combine it directly to the component and it’s not necessarily dependent on The record selection change because the record selection can change for other reasons than the user clicked Right the found set itself can change and and that would trigger an event that maybe you don’t want So there is that addition Finally what I would say about the list form component is that it has moved Initially this was out in Servoy extra components We didn’t have a home for it so we put it there and then we quickly realized this is a real integral part of the platform So we made it part of a Servoy default So if you look at the palette here Under Servoy default you now have list form component And you can just drag that onto the form and set what the contained form would be and again the details of that are in a separate webinar I just want to tell you what’s changed so now it’s it’s moved to Servoy default and It used to be in Servoy extra so if you upgrade Servoy extra and you upgrade Servoy developer You won’t You won’t see it down here in Servoy extra. It has moved however um If you upgrade Servoy Developer and then you haven’t yet upgraded Your Servoy extra components. It doesn’t find the deprecated flag and the redirect to where it should be so you You may have a missing spec file error. There’s a build marker to resolve that with a quick fix But also what you can do is just upgrade Upgrade Servoy extra components library and it finds the deprecated flag in it It um It resolves it for you. So that that’s exactly what I did here. I took an old solution I upgraded it I got the the missing spec file error and then I upgraded Servoy extra components and it resolves it so It sort of feels like a bit of a breaking change, but you just have to upgrade The package the extension package and the and the core at the same time and that takes care of it for you Okay, I think that’s all I have to say about the the list component We also want to talk a bit about sfy search. I’ll stay on the same example solution So there were a few enhancements added to sfy search One of which was the request for Well, we call it implicit search on numeric columns and date columns so it used to be that When you just type in say a number Well, it’s searching all of the columns that you may have configured. It’s gonna skip The numeric columns unless you make it explicit so unless you went you know order ID colon 10 to 4 9 When I still have my dialogue Comment that out or else it will annoy me So I’d have to sort of explicitly type this We made it there was some request for that to just be made what we call implicit so I can do 10 to do a different one 10 to 50 And you can see that it’s loading this is really an integer field But it allows you to do and Match on that because it is a it is a numeric field in the database This is always an exact match. It’s not like you can do a a wildcard or put in a fragment of it So when it’s a numeric column, it’s gonna try to You know match that exactly it doesn’t mean you can’t combine it with other search parameters so if I put Brazil And believe this should work, but if I were to put USA it probably finds no matches. Yeah, so It works just like everything else and you can do that with Numbers and also dates Using the date the right date format that you’ve configured So we did a whole webinar it was probably quite a while ago that we’ve done a webinar on scy search But it’s pretty comprehensive webinar So you just search our archives and and you can catch up on that if you need to There was one other enhancement that was made and that was the ability to change the string matching So initially it was just hard-coded to match on it contains So when it finds a string fragment, let’s put in TOM You can see that it finds in Actually to narrow this down. I’m gonna comment out something in here Orders.js in the on search here Just to have it search fewer columns because it’s easier to demo. Let me try that again So it’s really searching company name and a few others So you can see that TOM matches This customer that starts with TOM but it also matches this customer that has TOM farther in it and also bottom has TOM in it for bottom dollar markets So some people find it more intuitive that it’s a starts with and not it contains So if you change There’s a new API added called the matching mode So what I’m doing is for the search provider on company name you can do this on every search provider if you want Or pick and choose you can set string matching and there’s some constants here The default if you don’t do anything you can see that for most of them I don’t do anything And when I had a comment it out the default is going to go back to contains Which is what it always was but now I can say that it starts with And if I save that And I come back here and I rerun the same search I’ll just hit enter Now you can see that it’s only finding the customer name that starts with TOM It doesn’t mean that I can’t use other search providers so you can see that I have here employee last name so if I did TOM and Leverling I get just that customer starting with TOM but it still matches on on the Sales rep leverling So Just a dialogue again So Yeah, it’s just a minor change but some people had asked for just to be Starts with I think that’s also could be intuitive for your users so That was added to the API That’s all we had to say about the SVY search package One small change to the for those of you that do war file deployments and that’s probably most of you doing ng client When you want to go and export Your application Manually I’m going to export solution to a war we have a new option in there And I’m just going to click through some defaults here So we hit upon it So you go through all the usual screens And then you will come upon I guess I have to put something in for this Oh Wonderful There we go There you get a box enabled here called command line equivalent and when you click that it copies it to your clipboard And I will go into no pad and paste it in And you can see that it puts all of the switches for the command line exporter into The clipboard and you can paste it into Build scripts so Miss supplies to people who need to maintain their own automated build scripts and maybe they want to make a change to One of the export options and typically what they do is they go and they look at our documentation and try to find it buried in there somewhere And they ask for help and it’s not the best The best way to tweak that So This will allow you just manually walk through it and then generate the command line options and then you can save those somewhere for your automated build scripts So I think that that kind of concludes the demos that I wanted to show you Again, these are kind of the odds and ends demos I have one of their slide where we can talk about what else was updated in the core So Eclipse itself was upgraded to the last version of Eclipse There was a small enhancement on the solution model API Regarding layout containers For those of you who use calculations we added an API to flush calculations This is useful If you have a fairly complicated calculation and typically they’ll they’ll Refresh on their own when there’s a data change And serve way has some intelligence on how it figures out if your calculation could become invalid But sometimes that doesn’t always work And so if you want to you can programmatically refresh your calculations if you know that you’ve made a change that could affect a certain calculation So you can call database manager flush calculations. That’s new in In the latest build the latest API As I said earlier, we made a lot of improvements to the form editor for doing responsive Responsive design We also made some some improvements to how JavaScript code complete works with respect to web components and custom types in web packages So it used to be that those don’t complete so nicely And now you can see that you’ll get to code complete on on those custom types So that’s a bit nicer Something that was added for For you ID supports of certain databases like PostgresQL and SQL Server have a Native UUID data type And in prior versions of Servoy didn’t treat that especially and now we do support that you can flag a Column as a native UUID and it automatically Bind that column type as UUID to what’s in the database you don’t have to go through The hoops to do that and you can also set a preference if it’s stored as or you return to as string or as byte by default And finally we made a preference for DBI files and how the order of columns is managed So now you can actually choose if it’s going to be ordered by name or by creation or the default before was creation order So now you have a bit more flexibility there So that kind of covers some of the odds and ends of the update as I said This is sort of the preview webinar Because the two nicer bigger demos that we have are going to be the hybrid desktop on Wednesday and the rest web services on On Friday and those will be probably a bit more compelling to watch But I think we’re going to do this going forward that when we when we do a release We’ll kind of give you a general update of all the things that have changed so you can go out and And take care of that just a quick note. We didn’t cut the release yet for Bootstrap components and bootstrap extra components. That’s interesting right now And so we’ll probably cut that release later today So if you don’t see that on the web package manager Don’t worry about it But the other packages I talked about should be available the sfy search the Sirway extra components the 12 grid the ng grids those are all already released Um Okay, real quickly if you’re still with us. I wanted to remind you guys about Servoy world We’re pretty excited of this year. I think it’s going to be one of the the most interesting years That we’ve done this and I’ve done this for a long time Not only are we at the movin pick where we had it Yawn was it 12 years ago. I think 2007 Which is a really nice hotel in the center of the city and has also been upgraded Will be we have a nice schedule as well On before the conference we’re doing what we call hackathon for a cause We have identified a charity to work with They’re excited to work with us and we feel the same way and so Contrary to a typical hackathon where the teams are in competition to prove some concept or or build something and see who made the best We’re going to try to do a Community hackathon where teams are working together To build some applications for this charity and also the small entrance fee Goes the proceeds go to the charity as well At the same time I think it’s a great opportunity for developers to work together and to learn We’ll have all the Servoy staff at the hackathon there as coaches and So I think you know if if you’re a beginner developer or you’re an expert There’s a place for you at this event because the experts can help guide their teams and The beginners can go and experience the community and get a chance to learn So we’re pretty excited about that event and that’s to kick off the conference Then we have two days of sessions plus we always have an outing And then also at the end of the conference again we have some workshops and what we’re doing different than this time is Typically we do classroom training, but We decided that what we want to have is all the Servoy employees present and in the room and for this to be more hands-on Working together to build stuff so we have some topics For the workshops that were I think published in the newsletter And so I think that’ll be also a great opportunity for developers to learn and to collaborate