Thanks for attending the latest webinar, all about the SvyLookup UX pattern.
The recording is still being processed and will be uploaded to website shortly.
Binaries of the module and the example solution are available through the Web Package Manager
Here’s a catch-up on recent webinars in this series.
Thanks for watching and keep it locked!
#23 - Announcing Grouping Grid
Servoy releases a powerful grid component capable of “infinite grouping” (yeah that’s a thing) Recording Slides
#24 - Announcing Servoy’s QAPaaS
Servoy can host your application’s automated tests in our cloud.
Quality made simple. Calling all Beta testers! Recording
#25 - Mem Data Sources
Work with arbitrary structures. Not as hard as you may think Recording Slides
#26 - WebPackage Update: Browser Integrations
Fresh out of Servoy’s Expert Services Lab:
Native Browser Notifications
HTML5 Web Storage
reCAPTCHA
#27 - Query Builder
Servoy’s Query builder makes it easier to query your backend database without writing SQL. It also makes your queries database independent. In this recording we will show you how to use it and discuss best practices. Recording Slides
Sample Code: [attachment=1]demoQueryBuilder.servoy[/attachment]
#28 - Internationalization
Internationalization is more than translating a few strings and Servoy comes with a broad spectrum of functions and tools to make it easy to make your applications international. In this recording we’ll show you how and share best practices… Recording Slides
Sample Code: [attachment=0]i18nExample.servoy[/attachment]
Remember that you can watch all of the recorded webinars here. Please share your feedback!
I recently started catching up on your excellent Tech Webinar series. I really enjoyed watching them and did not only find out how to get things working quickly but especially appreciated the “best practices” shown in the videos which I implemented one by one in my first NG-Client project. My overall application architecture has greatly improved and I finally achieved a complete separation of UI and business logic. I hope the series will continue much longer, I can image however that it costs a lot of work and energy to keep producing them bi-weekly. Don’t let a limited number of attendees discourage you, sooner or later everyone will discover how much more the NG-client has to offer and finally get the a chance to actually make the switch or start with it in a new project. As far as ideas for topics I would love to see a regularly recurring “Design Pattern” or “Best Practice” video.
I really like where Servoy is going with the product. Keep up the good work and thanks a lot for making these videos!
PS: I missed the invitation and upload for the last one or two webinars?
Thanks! for watching the webinars and for the constructive feedback. We really take it seriously.
We’ll try to work in more of the “Best Practices” webinars as those tend to be the favorites.
We’re also working to try to better align the webinars to illustrate the broader product roadmap (It’s difficult to plan these too far in advance, but stay tuned)
The last webinar (2 weeks ago) was cancelled. The one before that was recorded, but we didn’t yet post it. I’ll let you know as soon as it’s up.
Want to add my thanks for the time and effort you put into these Webinars. Nice, relaxed delivery that combines the theory and practice really well.
Have a request for a session that highlights the differences between developing in SV7 and SV8.x.
None of my current systems warrant a re-write in SV8 so still a big user of SV7. Watching some of the Webinars can see the benefits of SV8 and, with a couple of new prospects coming along, decided that SV8 was the way to go.
However, quickly discovered that there are just too many areas that have changed and it’s really difficult to get productive when you don’t know what you don’t know - plus the training sessions I paid for when 8.0 launched are just too long ago for my brain cells to recall!
A Webinar combining basic SV8 best practices and how they differ from SV7 would be really helpful.
Keep in mind that for the deeper integration, you’ll need the SvyUtils project, which has binaries not included in the export.
The installation of these libraries can be a little bit tricky because there can be several versions. Fortunately, my colleague Patrick Ruhsert has compiled excellent instructions here.
Thanks for the example solution. There are some inspirations for the implementation a universal excel interface.
A first prototype run fine in developer, but is very slow on tomcat-server.
Following the webinar today on the ViewFoundset could someone let me know how to do the -clean option on MacOS please?
Also, could we maybe have a webinar on the svyLogManager module that demonstrates best practices for using the module? I used to use a commercial product that had the ability for customers to go in and switch logging on for individual modules if they had a problem. I’m sure there must be a way to include this in our solutions using the svyLogManager but the documentation on it is very sparse.
I was always told, this is not the recommended way to use calculations! avoid Loops, and specially loops over related data.
So can you explain, why this is used, and not using a plain (Servoy) aggregate?
Thanks for watching with a careful eye. Jeez, I’d better be careful!
Everything you said is true…but it’s always a design decision. What is important to know is the impact of each line of code.
In this example, each order line will be queried and loaded to execute the calculation for each parent order.
So you can imagine, that showing this calculation on a grid/list view form could mean that dozens or hundreds of queries could execute.
You could more efficiently achieve the same with query-builder (simple Servoy-based aggregate won’t work because of multiplication)
But it’s also important to know that the related records will only load 1x and then remain cached.
So if you are looking at a detail form and the order lines are showing anyway, then it costs nothing and is easier to code.
It’s not always black and white, but there are some things you never want to do in a calculation:
Find/Search
Sort
Edits
Query Builder
Try to do things in UI
(simple Servoy-based aggregate won’t work because of multiplication)
We just have stored calculation: orders_to_order_details.order_total (in which order_total is just an aggregate in order_details)
So don’t understand why a Servoy aggregate wont work?
and second: I do see that you are using this order_total in a table or list-view… or this something else?
In my example it doesn’t work, because there is no stored column for subtotal on the orderline, only a calculation.
Correct about the list view - the performance is not bad because the table is small and the number of child records is small per order.
But under a different scenario, this could be a problem - you’re totally correct.
Concerning the ViewFoundSet : what is the gain/difference with the way we can now create foundsets based on inMem-datasources?
Apart from the listeners you can add that is.
Why doesn’t the ViewFoundSet support newRecords or Search just like an inMem foundset does?
I mean, ok if the databaseManager.saveData can’t handle this, but I should have the opportunity to handle those newRecords myself.
Are you also devising a method to which we can pass an existing form with a foundset as datasource and also relational dataproviders and which then returns the QBSelect for us?
We’re just wondering where the gain is for us in design-time.
Happy New Year! Thanks for watching the webinars and for the great questions.
The main advantage over mem data sources is two things:
A mem data source is fully cached, where as a view foundset can fluidly page in more records; imagine a mem data source having 10M records.
A view foundset is able to respond to broadcasting, meaning changes in any of the constituent tables can update the view data. This would need to be custom coded for in-mem.
Correct, ViewFoundSet doesn’t (currently) support search or new records, because that may go to the database in a way that is unknown.
For example, if a value is derived from a SQL function, how could it be updated in a real table? That would have to be mapped. Searching might be easier…
I don’t understand the last question? Today there is nothing available at design-time for ViewFoundSet. Next release will have the ability to do design-time ViewFoundSet, very similar to in-mem data source.
Hi Sean, Happy New year to you as well!
By the last question I meant:
some forms we run are quite heavy on the database in that they not only use one datasource but also a lot of elements which refer to other tables using Relations
For instance a form Customer which also would contain elements pointing to “customers_to_address” fields and also customer_to_contacts and so one.
It would be great if Servoy would have a function to which we pass an entire form.frm and which returns the appropriate QBSelect for all elements on it (also those using Relations)
We could then refactor that form using the new viewfoundset.
At least, I think it would be great cause the entire form it’s data would be fetched by only one QBSelect instead of x different select statements.