Servoy 8.0.0 alpha

Release notes for Servoy betas

Re: Servoy 8.0.0 alpha

Postby jcompagner » Wed Dec 03, 2014 10:08 am

when i queried for "kendo angular" i got here: http://kendo-labs.github.io/angular-kendo/#/
and it says that kendo will provide out of the box already angular support!
If i look here: https://github.com/telerik/kendo-ui-cor ... master/src

i see loads of angular. So using kendo in servoy is even way easier.. Because all the ground work is already done.
you just need to have very thin layers around the stuff for example:

http://demos.telerik.com/kendo-ui/colorpicker/angular

so if you want to have a simple color picker you just need this template:

<input kendo-color-picker ng-model="color3" k-buttons="false" k-preview="false" k-input="false" />

and make all those options like k-button, k-preview things of the spec and the ng-model you bind to the dataprovider:
so in the end:

<input kendo-color-picker ng-model="model.mycolor" k-buttons="{{model.showbuttons}}" k-preview="{{model.showpreview}}" k-input="{{model.showinput}}" />
or just:
<input kendo-color-picker ng-model="model.mycolor" k-buttons="model.showbuttons" k-preview="model.showpreview" k-input="model.showinput" />

(not sure if k-buttons accept an angular expression or not..)

then the spec is just:

model: {
mycolor:"dataprovider",
showbuttons: "boolean",
showpreview: "boolean",
showinput: "boolean"
}

in your js file for example the link function) you really don't have to do anything for now..
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 8.0.0 alpha

Postby swingman » Wed Dec 03, 2014 1:30 pm

I tried loading a solution Servoy 8 NG client and it does not display screens with split-panes. Is this something you are planning to support or is it better to avoid using them?
Split-panes do remind me of old-fashioned HTML frames ;-)

Embedded html-links displayed in HTML-areas, like
Code: Select all
<html><head></head><body><a href="javascript:my_servoy_function()">Click Here</a></body></html>


do not work. My instinct is that it will be better to rewrite these as normal buttons work fine. I used embedded HTML to work around limitations pre Servoy-5.

The other things I noticed was menus constructed with the
Code: Select all
var menu = plugins.window.createPopupMenu();

Don't pop up.

Christian


Christian
Christian Batchelor
Certified Servoy Developer
Batchelor Associates Ltd, London, UK
http://www.batchelorassociates.co.uk

http://www.postgresql.org - The world's most advanced open source database.
User avatar
swingman
 
Posts: 1472
Joined: Wed Oct 01, 2003 10:20 am
Location: London

Re: Servoy 8.0.0 alpha

Postby jcompagner » Wed Dec 03, 2014 10:11 pm

i just quickly tested it and splitpanes should work fine also the popup menu is working for me

the htmlview showing a href with some javascript call back is not working (but it should)
this is because of a very small bug (a } is in a wrong place should be a few chars to the left.. i fixed that)
Attachments
TestField.servoy
splitpane and popup
(4.54 KiB) Downloaded 453 times
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 8.0.0 alpha

Postby IT2Be » Thu Dec 04, 2014 12:30 am

OS X 10.10.2, jdk1.8.0_20, Servoy 8.0.0 a12 - build 3011

I imported two of my sample solutions (Data & Word) today and each import made Servoy halt with a spinning ball.

The first import when rebuilding the workspace.
The second import did not even allow to finish the import properly by closing the dialog.

After restarting Servoy I can start the sample solutions but opening a form editor causes Servoy to com to a halt again.

Is there a special reason for this?
Both solutions work with Servoy 7...
Marcel J.G. Trapman (IT2BE)
SAN partner - Freelance Java and Servoy
Servoy Components - IT2BE Plug-ins and Beans for Servoy
ServoyForge - Open Source Components for Servoy
User avatar
IT2Be
Servoy Expert
 
Posts: 4766
Joined: Tue Oct 14, 2003 7:09 pm
Location: Germany

Re: Servoy 8.0.0 alpha

Postby jcompagner » Thu Dec 04, 2014 9:15 am

go to the admin page and make a stack dump so that we can see where it hangs.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 8.0.0 alpha

Postby swingman » Fri Dec 05, 2014 11:31 am

i just quickly tested it and splitpanes should work fine also the popup menu is working for me

the htmlview showing a href with some javascript call back is not working (but it should)
this is because of a very small bug (a } is in a wrong place should be a few chars to the left.. i fixed that)


Hi,

Thank you for looking into this. I have loaded your sample solution can confirm split panes and popup menus work fine. There must be something else stopping my forms from loading. Will investigate.
Christian Batchelor
Certified Servoy Developer
Batchelor Associates Ltd, London, UK
http://www.batchelorassociates.co.uk

http://www.postgresql.org - The world's most advanced open source database.
User avatar
swingman
 
Posts: 1472
Joined: Wed Oct 01, 2003 10:20 am
Location: London

Re: Servoy 8.0.0 alpha

Postby sjoerd1337768711 » Fri Dec 05, 2014 12:29 pm

A design question:
In the canvas example (responsive design) everything is in the form. Menu structure - top menu - footer. All is arranged with CSS and you don't use separate forms for the menu-bar etc. with split/tabs and put the separate forms on the tab-form.
What will be the structure for responsive design applications? Will this work with different forms/templates for menubar, footer etc or will the design structure be something with a base form for the main-template where you create sub-forms below per part.
For responsive design everything is in blocks with css (LayoutContainer). The layoutcontainer can be placed on a position on the form. Is it possible to create a layoutcontainer as a (related)form?

Deeplink/(start)parameters question:
Everything is single-page.
How can parameters be set by the url? Is it possible to set the url for deeplinking to a form or for example a product.

Will there be some routing services in Servoy NG-client? Like in this example of AngularJS: https://docs.angularjs.org/tutorial/step_07
Sjoerd Hannema
Muta Services B.V.
sjoerd1337768711
 
Posts: 18
Joined: Wed May 23, 2012 12:25 pm
Location: Leeuwarden, NL

Re: Servoy 8.0.0 alpha

Postby jcompagner » Fri Dec 05, 2014 3:04 pm

the canvas example is 1 form that has all the components, thats correct.

But in the end it should be possible to use a "tabpanel" bean that includes a form on a specific location in the layout container hierarchy and that form is then just nested (just like a tabpanel)
I do think that mixing absolute positioning with responsive would be a bad idea then. So everything also the subforms should be responsive.
Also inheritance,so you have a base form with various components) and then a subform that places a few other components on certain positions, should also work.

deeplinking should work as before, so you get the parameters in the onsolution open. where you then decide where to go to. You could create a case for this so that we can schedule to look at this.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 8.0.0 alpha

Postby Jan Blok » Fri Dec 05, 2014 3:46 pm

Such a case already exists: https://support.servoy.com/browse/SVY-7629
Jan Blok
Servoy
Jan Blok
 
Posts: 2684
Joined: Mon Jun 23, 2003 11:15 am
Location: Amsterdam

Re: Servoy 8.0.0 alpha

Postby david » Fri Dec 05, 2014 6:39 pm

jcompagner wrote:if you want to create a component that is a composition of other components you can do that just fine, for example this is a components template:

<div>
<anothercomponentsdirective astate="something">
<andsomeother state="else">
</div>

now you composed your new component and it uses 2 others and you pass some state to them from yours.
But this is just for servoy 1 component that has encapsulated 2 others that servoy (the designer or runtime) doesn't know anything about.
If you want to expose properties (that a servoy developer can set in the designer) for those internal components your new top component needs to have those properties in the spec and pass that to the child components through that state object.


So you can do template partials across components and you can refer to resources outside of your component. Exactly my point — this is not composability. Having to reimplement child component functionality on the parent component is not composability. This is a mess waiting to happen if you try and do anything other than a flat structure of components.

This stuff has been figured out for a while now and there are well established patterns. Declaring dependencies in the package.json file (your spec file), inheriting/extending library code in the angular module declaration, not allowing any references outside of your component package, etc.

And while you're at it, your spec file is being used for two completely different functions. Package description and resource description (model, handlers, and types). I would split these into two files: package.json and componentName.spec. Separation of concerns and all that.
David Workman, Kabootit

Image
Everything you need to build great apps with Servoy
User avatar
david
 
Posts: 1727
Joined: Thu Apr 24, 2003 4:18 pm
Location: Washington, D.C.

Re: Servoy 8.0.0 alpha

Postby Jan Blok » Fri Dec 05, 2014 11:08 pm

david wrote:So you can do template partials across components and you can refer to resources outside of your component. Exactly my point — this is not composability. Having to reimplement child component functionality on the parent component is not composability. This is a mess waiting to happen if you try and do anything other than a flat structure of components.

No, Johan is explaining you can use the tag (representing a component) within another component template to get composition.

david wrote:This stuff has been figured out for a while now and there are well established patterns. Declaring dependencies in the package.json file (your spec file), inheriting/extending library code in the angular module declaration, not allowing any references outside of your component package, etc.

Johan suggestion is composition as defined by angular...nothing else
It's best practice to declare use local references, but we can't block CDN access either.

david wrote:And while you're at it, your spec file is being used for two completely different functions. Package description and resource description (model, handlers, and types). I would split these into two files: package.json and componentName.spec. Separation of concerns and all that.

We will take this in consideration.

Thanks for the feedback!
Jan Blok
Servoy
Jan Blok
 
Posts: 2684
Joined: Mon Jun 23, 2003 11:15 am
Location: Amsterdam

Re: Servoy 8.0.0 alpha

Postby david » Sat Dec 06, 2014 5:10 pm

Jan Blok wrote:
david wrote:This stuff has been figured out for a while now and there are well established patterns. Declaring dependencies in the package.json file (your spec file), inheriting/extending library code in the angular module declaration, not allowing any references outside of your component package, etc.

Johan suggestion is composition as defined by angular...nothing else
It's best practice to declare use local references, but we can't block CDN access either.


Another advantage of declaring dependencies is your tooling. Easily alert the developer if a dependency is missing and whatever sharing mechanism you come up with in the future can ensure dependencies are shared as well.
David Workman, Kabootit

Image
Everything you need to build great apps with Servoy
User avatar
david
 
Posts: 1727
Joined: Thu Apr 24, 2003 4:18 pm
Location: Washington, D.C.

Re: Servoy 8.0.0 alpha

Postby jcompagner » Tue Dec 09, 2014 11:03 am

We already have it a bit build in for tooling about the dependencies..
We already check for versions and so on. If you use 10 components then any of those components gets also the dependencies of all the others.. (because all the css and js are just included in the main page) (so dependencies are automatically already always shared)
Until we really can use shadow dom and real webcomponents (they are really isolated, like implemented in an IFrame) i don't see at runtime another way how components will not see the dependencies of each other.

Thats why we have version checks in our libraries section, so that we can warn people that 2 components they are using are using different (older) versions of the same lib.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 8.0.0 alpha

Postby david » Tue Dec 09, 2014 6:06 pm

Not talking about runtime dependencies. If I have the following code in a component, how does the tooling know if "anothercomponenentsdirective" is missing from the components list? Do you go parse all the view code?

Code: Select all
<div>
<anothercomponentsdirective astate="something">
<andsomeother state="else">
</div>
David Workman, Kabootit

Image
Everything you need to build great apps with Servoy
User avatar
david
 
Posts: 1727
Joined: Thu Apr 24, 2003 4:18 pm
Location: Washington, D.C.

Re: Servoy 8.0.0 alpha

Postby jcompagner » Wed Dec 10, 2014 11:18 am

you can already give that i guess..
first in your module you have to declare a dependency on the module of the <anothercomponentsdirective>
and then in the library array you can give it the js file of the component.
I guess for this scenario we could do it a bit nicer that you can have a spec property like: dependencies: ["anothercomponentsdirective"]

so that it is a bit more clear, but you kind of need the module include to do yourself.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

PreviousNext

Return to Latest Releases

Who is online

Users browsing this forum: No registered users and 11 guests

cron