john.allen:
Hi Robert,
So gliding in Switzerland? cool! (Lived there for six years - went to school in Zuoz - many years ago).
Yes, I am a glider pilot (couldn’t hide that when giving such an example .-) You visited then a very famous school in Switzerland (Zuoz) at a beautiful place. I do gliding from time to time, starting in Samedan.
The problem is your requirement:
how to do best (in Servoy)
Yes I know this is not a sufficient requirement description (by the way there is an extremly good book: Problem Frames of Michael Jackson showing how to find out about requirements, sorry this is of course off topic), but it was easy to ask for ![Smile :-)]()
Servoy is like the monster Swiss Army knife: there are so many absolutely cool tools that suggesting the best one is hard to do without knowing not only your present application but who the users are (i.e. how knowledgeable), amount of time they spend on the solution per day, etc. Plus each Servoy developer has their ‘favorite’ tools; kind of like who is the prettiest girl in the world - to each their own.
This isn’t done quickly by writing
For instance in my case when I look at your first screen shot and I see that the list of records shown doesn’t even show all airports starting with ‘A’ then what comes to my mind is you do NOT want to have a scroll bar. I hate for my data entry people to have to use the mouse - slower, carpal tunnel syndrome, etc. - so everything I do is built around minimizing ‘mousing’. For example I have just built a number of global methods that can be plugged in to any Servoy solution and allows the user to navigate between ANY tab panels as well as from record to record within ANY portal without using the mouse at all. But that’s me and my choices and without really knowing your needs or your user’s needs. With those provisos I would do screen shot 01 in this way:
If the users are only dealing with one airport at a time I would probably get rid of the scrolling side panel all together. If they are sometimes working with a subset of those airports, then I would keep the panel. But in either case I would probably put it in a ‘custom controller’ form in Servoy (not sure of your Servoy experience so forgive me if I sound condescending but are you familiar with ‘custom controller’ forms yet?). And for either situation I would have probably a global ‘airport’ field with a valuelist made up of all the airports. I would have that as a ‘type ahead’ field format. If your users are somewhat familiar with what you are doing then the type ahead feature is, in my mind, the best way to display choices. It lets the knowledgeable worker arrive at their choice with the fewest keystrokes/mouseclicks while still showing the less experienced user all of the choices. (Each time the user enters such a field with each keystroke entered it reduces the number of choices available if you are not yet familiar with Servoy’s ‘type ahead’ feature). If programmatically based on some other criteria than alphabetical listing (geographic?,type of airport?), you could still show the user their ‘subset’ of choices in the ‘scrollbar’. In that case you could also have the valuelist attached to the global type ahead field change dynamically based on this ‘other’, say geographic, criteria. Does that make sense? In all of these cases we are talking about both the ‘custom controller’ form as well as the ‘detail’ form being based on the same table. The custom controller form is a ‘list view’ form to show multiple records whereas the ‘detail’ form is ‘record view’. The detail form can or can not be placed in tab panel depending on your needs
Thanks for the explanations, they help a lot to start and see what can be done in Servoy. No, I don’t know the ‘custom controller’ forms yet and you do not sound condescending if I don’t know something in Servoy. In fact I just started with Servoy a couple of days ago and have to continue learning a bit beside my other work. The reason I look into Servoy is because I plan to reimplement a school administration and information system (implemented in FileMaker, unfortunatly) in a more useful way and a SQL database. I did the data design in XCode/EOModeler, so there is no problem creating the SQL schema, but the tool for the forms is not yet clear. I am also thinking about using WebObjects Java Client. Did you ever compare Servoy to another development environment?
As to Screen shot 02, again I don’t really know what that (table) relationship is to the table in 01 and maybe there is none - just straight export from one FM file to another FM file. But it appears that there is some connection at least with the export column more or less the same as the importdaten column. But not knowing more about that, the very straightforward way of achieving in Servoy what you have shown would be to more or less the same as in 01. It could be done in a custom controller or all on the same form. If it is done on the same form it could be based on the parent table with one tabless tabpanel (self-joined) showing a ‘list view’ form based on that same parent table. Then there could be another (parent to child relationship) tab panel with the selected tab showing a child table in list view to show the selected parent’s child rows. There really are many, many ways to show these things.
Thanks for all these hints, I am going to dig into them.
The best way is to just start exploring! Are you coming to Servoy World? That would be a great place to find out more in a ‘networking’ environment.
Yes, I am coming to Servoy World, on the 27. September. Hope to see you there!?
Best regards, Robert
HTH