We announce the immediate availability of Servoy 3.0 Beta 3
This version is available through auto update and download page on Servoy website (developer section)
Changes:
[fix]-headless client did not work until webclient is started (in beta 2)
[fix]-filter (Sybase) system views from the tablelist
[fix]-i18n editor stopped working after sorting with headings
[fix]-beans properties don’t show second time a bean is selected
[enh]-made focus events debuggable
[enh]-many improves in webclient form output
[enh]-helper methods on dataset (addRow,setValue)
[enh]-unrelate function on a foundset object to retrieve an unrelated foundset from a related foundset
[enh]-added application.getIPAddress(), also works for webclient
[chg]-the option “-DSTACKTRACE=true” vm option is replaced with a property in servoy.properties “log4j.logger.com.servoy.j2db.util.Debug=TRACE”, Servoy uses now Log4j framework in developer/server and in the rich client the default Java logging framework.
Previous releases:
http://forum.servoy.com/viewtopic.php?p=30125#30125
Jan,
is this
dataset.getAsTableModel();
already usable somehow (maybe using the JTable bean)? If yes, could you give us some hints how?
Thanks
Patrick
dataset.getAsTableModel() is part of an (open-source) experiment:
http://www.servoy.com/downloads/downloa … tagrid.jar
http://www.servoy.com/downloads/downloa … rid.servoy
Not sure if it will make it into the final release.
Hi Jan,
What about support of Anchors in the WebClient? Is it slated for 3.0? For a later version? Not possible to implement atr all, or only partially?
Paul
Is there a rough target date for Servoy 3 as a production version (not beta).
Anchors will not be in 3.0 but in like 3.1
As far as we can see it will be possible but is quite some work.
The target for Servoy 3.0 is early in Q3
OK, tnx for letting us know.
I’ve been playing around with the stylesheets, trying to see if it could be done easily, but, trying in both IE 6.0 and FF, kept runnign into problems…
Anchors left OR right and top OR bottom seem not so difficult, but it’s the combination of top/bottom or left/right that causes problems.
In IE6.0, if you specify both a left and right position on elements, the element disapprears, while in FF it stretches nicely.
When dealing with nested (hidden) tabpanels, you’d like to set all “anchors” (top, bottom, left and right) to 0px, but FF doesn’t like “bottom: 0px;”. In that case the heigth of the element becomes 0.
So, like you said, it’s not a simple task. Mabe IE 7.0 will solve some of the issues in IE, allthough I couldn’t find specific mentions of this issue (not specifying a specific width) anywhere.
Settings lik ewidth auto/inherit etc also seem not nicely supported in the different browsers.
Paul
Found a couple of little layout issues:
-
Hidden TabPanels get a 1 pixel border on the left, right and bottom. Can be overcome by specifying explicit empty borders in developer.
-
A label placed on a form and set to not transparent becomes transparent in the WebClient
Paul
dataset.getAsTableModel() is part of an (open-source) experiment:
Jan,
I just had a look at this. This looks very promising! I could reduce the amount of forms I currently have by 30 percent with this! I really hope this will make it into 3.0!
Hi,
When trying to create a new form in B2 and B3 (haven’t tested with earlier versions) where the table the form is based on is inside an Oracle 9i database (haven’t tested other versions of Oracle), I get the following error:
Starting Servoy from C:\Program Files\Servoy 3.0
Servoy 3.0b2 build-363 on Windows 2000 using Java 1.5.0_06
Loading servoy.properties from C:\Program Files\Servoy 3.0\servoy.properties
Loading - Done
Error occured trying to load: C:\Program Files\Servoy 3.0\plugins\jakarta-poi\ja
karta-poi-1.5.1-final.jar, error: error in opening zip file
Using RMI registry on port 1099
Error occured trying to load: C:\Program Files\Servoy 3.0\plugins\jakarta-poi\ja
karta-poi-1.5.1-final.jar, error: error in opening zip file
log4j:WARN No appenders could be found for logger (net.sf.hibernate.dialect.Dial
ect).
log4j:WARN Please initialize the log4j system properly.
java.sql.SQLException: Stream has already been closed
java.sql.SQLException: Stream has already been closed
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.ttc7.LongTTCItem.getChars(LongTTCItem.java:189)
at oracle.jdbc.dbaccess.DBDataSetImpl.getCharsStreamItem(DBDataSetImpl.j
ava:1654)
at oracle.jdbc.driver.OracleStatement.getCharsInternal(OracleStatement.j
ava:3518)
at oracle.jdbc.driver.OracleStatement.getStringValue(OracleStatement.jav
a:3728)
at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.
java:460)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:154
3)
at com.servoy.j2db.persistence.Server.else(Unknown Source)
at com.servoy.j2db.persistence.Server.char(Unknown Source)
at com.servoy.j2db.persistence.Server.getTable(Unknown Source)
at com.servoy.j2db.develop.z.dp(Unknown Source)
at com.servoy.j2db.develop.z.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18
49)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:153)
at java.awt.Dialog$1.run(Dialog.java:515)
at java.awt.Dialog.show(Dialog.java:536)
at java.awt.Component.show(Component.java:1300)
at java.awt.Component.setVisible(Component.java:1253)
at com.servoy.j2db.util.b.setVisible(Unknown Source)
at com.servoy.j2db.develop.z.a(Unknown Source)
at com.servoy.j2db.develop.c.bg.doIt(Unknown Source)
at com.servoy.j2db.cmd.c$2.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
com.servoy.j2db.persistence.RepositoryException: java.sql.SQLException: Stream h
as already been closed Stream has already been closed
com.servoy.j2db.persistence.RepositoryException: java.sql.SQLException: Stream h
as already been closed Stream has already been closed
at com.servoy.j2db.persistence.Server.char(Unknown Source)
at com.servoy.j2db.persistence.Server.getTable(Unknown Source)
at com.servoy.j2db.develop.z.dp(Unknown Source)
at com.servoy.j2db.develop.z.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18
49)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:153)
at java.awt.Dialog$1.run(Dialog.java:515)
at java.awt.Dialog.show(Dialog.java:536)
at java.awt.Component.show(Component.java:1300)
at java.awt.Component.setVisible(Component.java:1253)
at com.servoy.j2db.util.b.setVisible(Unknown Source)
at com.servoy.j2db.develop.z.a(Unknown Source)
at com.servoy.j2db.develop.c.bg.doIt(Unknown Source)
at com.servoy.j2db.cmd.c$2.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
com.servoy.j2db.persistence.RepositoryException: java.sql.SQLException: Stream h
as already been closed Stream has already been closed
com.servoy.j2db.persistence.RepositoryException: java.sql.SQLException: Stream h
as already been closed Stream has already been closed
at com.servoy.j2db.persistence.Server.char(Unknown Source)
at com.servoy.j2db.persistence.Server.getTable(Unknown Source)
at com.servoy.j2db.develop.z.dp(Unknown Source)
at com.servoy.j2db.develop.z.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18
49)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:153)
at java.awt.Dialog$1.run(Dialog.java:515)
at java.awt.Dialog.show(Dialog.java:536)
at java.awt.Component.show(Component.java:1300)
at java.awt.Component.setVisible(Component.java:1253)
at com.servoy.j2db.util.b.setVisible(Unknown Source)
at com.servoy.j2db.develop.z.a(Unknown Source)
at com.servoy.j2db.develop.c.bg.doIt(Unknown Source)
at com.servoy.j2db.cmd.c$2.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
This happens in new and existing solutions. Haven’t been able to reproduce this for forms based on a table in a Sybase DB.
Has anyone seen this as well, or has anyone been able to succesfully create new forms based on Oracle tables in 3.0 B2/b3?
Regards,
Paul
Just noticed that when I open the “Define Dataprovider” screen, the tables inside the Oracle DB connection show fine, but when a table is clicked, the columns are not shown (columns remain the columns of the last table shown of a non Oracle DB).
When I click one of the tables in the tree of tables of the Oracle DB, I see the same error as above appear in the console.
Paul
Anyone?
Has anyone been able to succesfully create a new form based on an Oracle table with 3.0 bX?
Paul
It seems with some drivers from oracle started to return Decimal decription for column being number(10,0) In Servoy 3.0 b4 we adapted for this change.
ok, cool. Any suggestion as to when b4 will be available?
Strange though that it’s a driver issue, since I’m using the same JDBC driver for Oracle in my 2.2.x installations and in 3.0…
I have a form setup as a list view using 3.0v3 build 364. On the web the list view shows as a single row, with a tiny scroll bar that can used to scroll through the list.
Does the webclient support list view?
Thanks,
Rich Coulombre
I found my own answer:
Differences between Servoy smart client and web client:
-There is no “auto save” of data when clicked on the form, you (or your developer) need to place ‘save/submit’ button which executes the command: controller.saveData()
-Interactive beans/applets can not be used, charting beans are supported(converts the bean UI to image for display in browser)
-Shapes, pen drawings and such will likely not be supported
-RTF cannot be supported
-Listview/multiline portal will not be supported in first version
:0)
Rich
coulombre:
I have a form setup as a list view using 3.0v3 build 364. On the web the list view shows as a single row, with a tiny scroll bar that can used to scroll through the list.
Does the webclient support list view?
Thanks,
Rich Coulombre
Use tableview it will give you the same result. Additionally the body height will become youreautomatically paging height too. The height of each row will be determined by the highest element of the row. Best way to get a good grasp on it is to experiment a bit. If you use IE make sure to kill it’s cache if you’re not seeing what you expect. Firefox has a better cache in most cases it will do a proper refresh if you hit ctrl/cmd + shift + R
Hi,
Getting the following error in the console (and no result in my method) when I call ```
elements.allnames
> 2006-08-01 09:21:05,427 ERROR [AWT-EventQueue-0] com.servoy.j2db.util.Debug - Throwable
> java.lang.IllegalStateException
> at java.util.AbstractList$Itr.remove(AbstractList.java:433)
> at com.servoy.j2db.scripting.o.get(Unknown Source)
> at org.mozilla.javascript.ScriptRuntime.getProp(ScriptRuntime.java:726)
> at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:1904)
> at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:94)
> at com.servoy.j2db.scripting.e.call(Unknown Source)
> at com.servoy.j2db.develop.debugger.k.a(Unknown Source)
> at com.servoy.j2db.develop.debugger.k.executeFunction(Unknown Source)
> at com.servoy.j2db.FormController.a(Unknown Source)
> at com.servoy.j2db.FormController.executeFunction(Unknown Source)
> at com.servoy.j2db.FormController.actionPerformed(Unknown Source)
> at com.servoy.j2db.FormController$a.actionPerformed(Unknown Source)
> at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
> at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
> at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
> at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
> at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
> at java.awt.Component.processMouseEvent(Component.java:5488)
> at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
> at java.awt.Component.processEvent(Component.java:5253)
> at java.awt.Container.processEvent(Container.java:1966)
> at java.awt.Component.dispatchEventImpl(Component.java:3955)
> at java.awt.Container.dispatchEventImpl(Container.java:2024)
> at java.awt.Component.dispatchEvent(Component.java:3803)
> at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
> at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
> at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
> at java.awt.Container.dispatchEventImpl(Container.java:2010)
> at java.awt.Window.dispatchEventImpl(Window.java:1774)
> at java.awt.Component.dispatchEvent(Component.java:3803)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
> at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Paul
element.allnames bug is fixed