Servoy 3.5 rc 3

Release notes for Servoy betas

Postby ROCLASI » Sun Jul 01, 2007 2:08 pm

Hi Michael,

So you are saying you created an empty database and pointed Servoy to it. Then imported the 3.1.x solution in that (re)created the tables for you.
If so then your solution does use this Contacts table somewhere. Else it would have never been created by the import.
Check to see if any of your forms, calcs, aggregates, relations and valuelists point towards that table.
Also see if you may use any modules that point to that table.

Hope this helps.
Robert Ivens
SAN Developer / Servoy Valued Professional / Servoy Certified Developer

ROCLASI Software Solutions / JBS Group, Partner
Mastodon: @roclasi
--
ServoyForge - Building Open Source Software.
PostgreSQL - The world's most advanced open source database.
User avatar
ROCLASI
Servoy Expert
 
Posts: 5438
Joined: Thu Oct 02, 2003 9:49 am
Location: Netherlands/Belgium

Postby Michael Mooney » Mon Jul 02, 2007 5:17 am

Hi Robert,

We hadn't seen/heard or whatever of the "Contacts" table until it appeared. Nor have we referenced it directly or indirectly in any objects (calc's, aggregations, etc). And it just appears in the one database called "auth". I understand your premise (no reference means no theoretical appearance of the table within the Data Providers) and the repository implications of this premise/assertion. Any chance this comes from sample data but somehow with an incorrect solution id in the repository tables (long shot ... speculating here ...)?

Does SvyCore reference this (we do add this module to our app's)? If so, why would it not appear in other new solutions (imported or otherwise).

Michael

ps - I checked all objects in (a) Sybase PowerDesigner (not there) (b) my sql create scripts (not there) and (c) searched all objects in the solution within Servoy (not there) ... I don't have Marcel's Analyzer (yet) so my not-there is dependent on what Servoy search returns. I remain perplexed. Our visitor remains friendly and non-disruptive: easy to remove ... I just don't understand how he got in the door. :-)
Michael Mooney
 
Posts: 269
Joined: Thu Apr 12, 2007 2:26 am
Location: Canada

Postby IT2Be » Mon Jul 02, 2007 9:43 am

Hi Michael,

Unless something really strange is going on it is like Robert says.
No reference no table.

Have you checked all calcs to see if a reference is there? I don't see you mentioning that you checked that...
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

Postby ROCLASI » Mon Jul 02, 2007 9:49 am

Hi Michael,

The tables you see under the dataproviders are just a representation of what you have in your database. It's not related to what you use in your solution(s) (only the globals/calc/aggregates are).
When you launch Servoy it scans all database connections and takes an inventory of the tables/columns you have there. This is the reason why you have to reboot Servoy when you alter your database in anyway with a third party tool.
Only when you import a solution it will create the (non-existing) tables in your database that the solution actually uses.

Also solution data is on no way connected to a solution other than the server name. So when you import solution data (when you import a solution) it will simply look for the matching server name and import the data. Note that different solutions can use the same server name (db connection).

As for SvyCore, yes it does use a table because any form has to be references to a table and a solution has to have at least 1 form.
I don't use SvyCore myself so you need to check that yourself.


Hope this helps.
Robert Ivens
SAN Developer / Servoy Valued Professional / Servoy Certified Developer

ROCLASI Software Solutions / JBS Group, Partner
Mastodon: @roclasi
--
ServoyForge - Building Open Source Software.
PostgreSQL - The world's most advanced open source database.
User avatar
ROCLASI
Servoy Expert
 
Posts: 5438
Joined: Thu Oct 02, 2003 9:49 am
Location: Netherlands/Belgium

Postby Robert Huber » Tue Jul 03, 2007 12:34 pm

Hi Robert

I still can't access the servoy-admin pages (with http://10.0.1.2:8080/servoy-admin).

When I press the Test button it say (on the left side) HttpService is not running.

When I press the Web Client Launch or Smart Client Launch buttons I get the message in Safari Browser

Safari can't open the page "http://localhost:8080/". The error was: "lost network connection" (NSURLErrorDomain:-1005) Please choose Report Bug to Apple from the Safari menu, note the error number, and describe what you did before you saw this message.

Anyone solved this Problem?

Servoy Developer
Version 3.5 rc3-build 508
Java version 1.5.0_07-87 (Mac OS X)

I also can't automically start the dbsrv9 process any more. Any suggestions?

Best regards, Robert
Robert Huber
7r gmbh, Switzerland
SAN Developer
www.seven-r.ch
User avatar
Robert Huber
 
Posts: 1239
Joined: Tue Aug 23, 2005 6:52 pm
Location: Schaffhausen, Switzerland

Postby ROCLASI » Tue Jul 03, 2007 12:41 pm

Hi Robert,

How do you launch Developer ?
Did you use the method shown in this thread?

Or are you talking about Server ?
Robert Ivens
SAN Developer / Servoy Valued Professional / Servoy Certified Developer

ROCLASI Software Solutions / JBS Group, Partner
Mastodon: @roclasi
--
ServoyForge - Building Open Source Software.
PostgreSQL - The world's most advanced open source database.
User avatar
ROCLASI
Servoy Expert
 
Posts: 5438
Joined: Thu Oct 02, 2003 9:49 am
Location: Netherlands/Belgium

Postby Robert Huber » Tue Jul 03, 2007 4:55 pm

Hi Robert

Please see other tread, it works now (although I don't know exactly why)

Thanks and best regards, Robert

ROCLASI wrote:Hi Robert,

How do you launch Developer ?
Did you use the method shown in this thread?

Or are you talking about Server ?
Robert Huber
7r gmbh, Switzerland
SAN Developer
www.seven-r.ch
User avatar
Robert Huber
 
Posts: 1239
Joined: Tue Aug 23, 2005 6:52 pm
Location: Schaffhausen, Switzerland

Re: 3.5 RC3 addFoundSetFilterParam

Postby LOGIsoft » Wed Aug 22, 2007 2:26 pm

Michael Mooney wrote:I realize we are somewhat pre-release on documentation. I am trying to use the new addFoundSetFilterParam to filter on a set of tables.

Some of my tables are "global" in nature and in use by several companies - I do not need to have these filtered except through the usual db node or .relation or search techniques.

Others form a set of tables that are shared by several companies. Typically, these will share a common database instance and separate connection string through DB Server (App Preferences) entries.

My shared records need to be filtered on a surrogate foreign key, type integer (INT4).

If I call addFoundSetFilterParam, will I filter the foundset:

a) Permanently, regarding of what is going on elsewhere in Search/Find activities?

b) Permanently, regardless of what else is going on in the DB node (I am less certain about this happening here than question a) ... )

c) Can I call addFoundSetFilterParam with a NULL or other parameter to cancel the "permanent" setting on the foundset filter? In other words, how long is this parameter "permanent"? Session duration? Other?

Thanks,

Michael

ps: I have noted the sample code in the Servoy Method Editor:

//Add a filter parameter to limit the foundset permanently
var success = foundset.addFoundSetFilterParam('customerid', '=', 'BLONP');//possible to add multiple
foundset.loadAllRecords();//to make param(s) effective


The addFoundsetFilterParam function seems to have gone the way of the dinosaur with v3.5 ... :(

I know there's a way of getting the same result, more or less:

Code: Select all
var query = "select example.pkfield FROM example WHERE example.Company = "+ globals.Criterion +" ORDER BY example.pkfield";
controller.loadAllRecords()
controller.loadRecords(query)


However, the nice thing about the addFoundsetFilterParam was that you set it once on solution launch, and then forgot about it. Is there another way of making sure that a user only has access to a subset of records, without having to specify it for each and every form?

Call me lazy :roll:

Ben
Benoit R. Savignac, president
LOGIsoft Consulting inc.
--------------------------------------------------------
Servoy Alliance Network Partner
User avatar
LOGIsoft
 
Posts: 260
Joined: Wed May 24, 2006 3:06 pm
Location: St-Basile-le-Grand (Montreal), Qc, Canada

Postby pbakker » Wed Aug 22, 2007 3:58 pm

I do not think the addFoundSetFilterParam has gone extinct, it's still there...

But, we also have datamaseManager.addTableFilterParam and this really does what you need, whereas addFoundsetfilterParam does not.

The tableFilterParams are set once, forget about them for the entire duration of the sessions.

Paul
pbakker
 
Posts: 2822
Joined: Wed Oct 01, 2003 8:12 pm
Location: Amsterdam, the Netherlands

Postby LOGIsoft » Wed Aug 22, 2007 4:28 pm

Of course Paul, it's just another case of 'Syndrome 18' (problem lies 18 inches in front of the screen). :lol:

I found the addFoundSetFilterParam function in the Method Editor Tree under Database Manager -> JSFoundSet. And thank you very much for pointing me to addTableFilterParam.

However, I don't quite understand why you mention that 'whereas addFoundsetfilterParam does not'. I thought that addFoundsetFilterParam would do what I was looking for, seeing as in the sample code it says:

Code: Select all
//Add a filter parameter to limit the foundset permanently


So can you clarify a bit please on why the Table method is better than the Foundset one? Is it just because (with Table) I can optionally affect all tables at once instead of going through all of them individually (with Foundset)?

You guys rule!

Ben
Benoit R. Savignac, president
LOGIsoft Consulting inc.
--------------------------------------------------------
Servoy Alliance Network Partner
User avatar
LOGIsoft
 
Posts: 260
Joined: Wed May 24, 2006 3:06 pm
Location: St-Basile-le-Grand (Montreal), Qc, Canada

Postby pbakker » Wed Aug 22, 2007 4:39 pm

A foundset filter is what it says: A foundset filter. And foundsets might not live for the entire period of a Client session.

Secondly, you could have related foundsets based on the table where you want to apply filtering.

And you could have multiple forms on the table that require filtering and if you have the useSeparateFoundSet property checked on one of those forms, you got multiple foundsets, which you would all have to filter manually.

For you purpose, the Tablefilter is the best way to go.

Paul
pbakker
 
Posts: 2822
Joined: Wed Oct 01, 2003 8:12 pm
Location: Amsterdam, the Netherlands

Postby LOGIsoft » Wed Aug 22, 2007 4:55 pm

Thanks for clarifying, Paul. Does this mean that addTableFilterParam also works on related foundsets? I thought I read on some other posts (http://forum.servoy.com/viewtopic.php?t=586) that this wasn't the case, but it might've been fixed/improved since then...

Thanks again for your help,

Ben
Benoit R. Savignac, president
LOGIsoft Consulting inc.
--------------------------------------------------------
Servoy Alliance Network Partner
User avatar
LOGIsoft
 
Posts: 260
Joined: Wed May 24, 2006 3:06 pm
Location: St-Basile-le-Grand (Montreal), Qc, Canada

Postby pbakker » Wed Aug 22, 2007 4:59 pm

TableFilters work on table level, so any foundset you base on that table will be filtered, whether related or not.

Note: You have to set the filter in your login/onSolutionStart method, before you have "touched" the table, which means as much as: If servoy has allready based a (related) foundset on the table on which you will try to apply the filter, the filter will not be applied.

Paul
pbakker
 
Posts: 2822
Joined: Wed Oct 01, 2003 8:12 pm
Location: Amsterdam, the Netherlands

Postby LOGIsoft » Wed Aug 22, 2007 5:24 pm

Great stuff!

Ben
Benoit R. Savignac, president
LOGIsoft Consulting inc.
--------------------------------------------------------
Servoy Alliance Network Partner
User avatar
LOGIsoft
 
Posts: 260
Joined: Wed May 24, 2006 3:06 pm
Location: St-Basile-le-Grand (Montreal), Qc, Canada

Postby Michael Mooney » Wed Aug 22, 2007 5:38 pm

Paul (and Ben):

So the TableFilter binds an additional where clause "table-filter" to the SQL statement from the time of the function call and for the duration of the client session? ie - if it is set immediately after Login it can be trusted in a SAAS environment?

I am assuming if this is so that one would still need to be careful while invoking plugins/beans (e.g. - embedded call to JasperReports)? Yes/no? Or, do Servoy plugins/beans honor this filter as well?

Michael
Michael Mooney
 
Posts: 269
Joined: Thu Apr 12, 2007 2:26 am
Location: Canada

PreviousNext

Return to Latest Releases

Who is online

Users browsing this forum: No registered users and 1 guest