Page 4 of 9

Re: 30 minutes with Servoy developer series

PostPosted: Fri Oct 19, 2018 6:48 pm
by grahamg
Hi Sean

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.

Re: 30 minutes with Servoy developer series

PostPosted: Mon Oct 22, 2018 3:03 pm
by sean
Hi Graham,

Thanks for your record attendance in the webinars ;-) and the good feedback.

Can I assume that you mean changing also to NG Client ? or just bumping from version 7x to 8x ?

...Because we are planning a session (or two) about about migrating to NG Client from Smart / Classic Web very soon.

Re: 30 minutes with Servoy developer series

PostPosted: Mon Oct 22, 2018 5:37 pm
by juan.cristobo
[quote="sean"]...Because we are planning a session (or two) about about migrating to NG Client from Smart / Classic Web very soon.[/quote]

Awesome!!

Re: 30 minutes with Servoy developer series

PostPosted: Mon Oct 22, 2018 8:27 pm
by grahamg
"....Thanks for your record attendance in the webinars ;-) ....." Hmmm - not sure if that's good or bad.

Initially looking for bumping from 7x to 8x and would imagine that extending to NG would be further step - but happy to be guided by you.

Cheers

Re: 30 minutes with Servoy developer series

PostPosted: Wed Dec 05, 2018 11:24 pm
by wichmann
Hi Sean,

I have seen the webinar about Excel Integration and would like to create a universal Excel interface for the datagrid / servoyextra-table.

Is this Demo-Application from the Webinar somewhere available ?

Thnkx!

Re: 30 minutes with Servoy developer series

PostPosted: Fri Dec 07, 2018 5:10 pm
by sean
Hi Andreas,

Thanks for watching the webinars and for the question.

Here is the solution export: Excel Example Solution

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.

Keep us posted!

Re: 30 minutes with Servoy developer series

PostPosted: Wed Dec 12, 2018 11:38 pm
by wichmann
Hi Sean,

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.

BR
Andreas

Re: 30 minutes with Servoy developer series

PostPosted: Fri Dec 14, 2018 6:32 pm
by steve1376656734
Hi Sean/Jan

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.

8.4 is looking really got BTW!

Thanks
Steve

Re: 30 minutes with Servoy developer series

PostPosted: Tue Dec 18, 2018 5:08 pm
by Harjo
hi Sean,

I have a question.
In many of your demos your using a simple order - orderlines table and using a calculation: order_total()

like in this youtube video: https://www.youtube.com/watch?v=t4ZkJAnIz4Y at time: 28:37
Schermafbeelding 2018-12-18 om 16.05.38.png


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?

Re: 30 minutes with Servoy developer series

PostPosted: Tue Dec 18, 2018 5:52 pm
by sean
Hi Harjo,

Thanks for watching with a careful eye. Jeez, I'd better be careful! :shock:

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

Hope this helps. Thanks for watching!

Re: 30 minutes with Servoy developer series

PostPosted: Tue Dec 18, 2018 6:06 pm
by Harjo
Hi Sean,

can you explain this a little bit more?
(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?

Re: 30 minutes with Servoy developer series

PostPosted: Tue Dec 18, 2018 11:35 pm
by sean
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.

Re: 30 minutes with Servoy developer series

PostPosted: Wed Dec 19, 2018 10:34 am
by developers10
Hi Sean,

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.

Thx
Chris

Re: 30 minutes with Servoy developer series

PostPosted: Thu Jan 03, 2019 12:05 am
by sean
Hi Chris,

Happy New Year! Thanks for watching the webinars and for the great questions.

The main advantage over mem data sources is two things:
1. 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.
2. 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.

Re: 30 minutes with Servoy developer series

PostPosted: Fri Jan 04, 2019 6:27 pm
by developers10
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.

Thx again ;-)