Subscribe for automatic updates: RSS icon RSS

Login icon Sign in for full access | Help icon Help
Advanced search

Pages: 1 [2] 3 4 ... 10
 11 
 on: April 26, 2024, 02:22:48 am 
Started by Reuben B. - Last post by Reuben B.
With a Web Service, successive requests can be handled by any member of the Services Pool, that is any fglrun process that has been started to service those web service requests.  Web Service code should therefore be stateless so that each request is independent of other requests.  This means you should not have any modular or global variable influencing the result, and you should have no sequential or scrollable cursors left open after each request.
 
What if you wanted a web service to return one row of the database cursor to a calling program, the user in the calling program then clicks something like Next , and to then call the same web service returning the next row from the database cursor?  If it is a scrollable cursor you might want to allow the user to click something like Previous and fetch the previous row from the database cursor.  This means you need the same fglrun process and database cursor to be called by consecutive requests.
 
By adding an attribute (mode=”sticky”) to a web service .xcf, we can signify that the web service is a Sticky Web Service.

Read more at https://4js.com/ask-reuben/ig-222/

 12 
 on: April 26, 2024, 02:21:05 am 
Started by Reuben B. - Last post by Reuben B.
When Web Servers are configured for Load Balancing, they are often configured by someone not familiar with the Genero architecture.  With a typical load balanced web server architecture servicing atypical web applications and web services,  any server could be selected to handle the next request.  With a Genero Web Application, the fglrun process remains alive for the duration of the web application holding data in memory and connections to database cursors, etc.  and it is important that all requests associated with an individual web application are sent back to the same server where this fglrun process is waiting.
 
In our GAS documentation, the concept of sending requests back to the same server is called session-bound request processing.  This is required for Genero Web Applications and also for Genero Web Services that have been configured to be sticky.  For normal Genero Web Services, a more traditional web architecture can be used with sessionless request processing where it does not matter what server processes each individual request.

Read more at https://4js.com/ask-reuben/ig-221/

 13 
 on: April 26, 2024, 02:18:25 am 
Started by Reuben B. - Last post by Reuben B.
Good developers are fundamentally "lazy" in that they will find a smart way to code something once rather than repeating code or actions unnecessarily. 

One tool that developers use to reduce coding is ui.Form.setDefaultInitiailizer.  This is a method that defines a function that will be called every time a form is opened.  This function can then be used to do things liking adding elements to the form, adding attributes to widgets and containers,  or make changes to the form based on certain conditions.

Read more at https://4js.com/ask-reuben/ig-220/

 14 
 on: April 26, 2024, 02:16:39 am 
Started by Reuben B. - Last post by Reuben B.
The concept of folder and page is controlled by the front-end.  The folder page that has the field with focus will be brought to the front by the front-end.  You can provide hints with the ui.Form.ensureElementVisible() method for the case when the field with focus is not in a folder or there is no focusable field (i.e. in a MENU statement), but there is no ui.Form method that explicitly sets the current folder page.
 
Conversely there is no ui.Form method that will return the current folder page.
 
You can write a function that will return the current folder page in some circumstances.

Read more at https://4js.com/ask-reuben/ig-219/

 15 
 on: April 26, 2024, 01:33:29 am 
Started by Reuben B. - Last post by Reuben B.
The title for this week's article is a snowclone of the phrase "It’s The Economy, Stupid." , a phrase that was coined during Bill Clinton’s election campaign (it even has its own Wikipedia page) and has come to be repeated in popular culture with the word “economy” substituted for another word.  It is a phrase that enters my head when I take something that I know works, move it or change it in some way to use something new, and then hit an initially baffling error.
 
In such circumstances it is typically because an environment variable is not set correctly.  The saying "It's The Environment, Stupid" helps make me make sure that I check that Environment Variables have the value I expect them to be.  The risqué nature of the phrase helping it stick in my mind and execute some steps quickly to compare environments before I go off down the wrong path.

Read more at https://4js.com/ask-reuben/ig-218/

 16 
 on: April 26, 2024, 01:30:35 am 
Started by Reuben B. - Last post by Reuben B.
I have seen this mistake a few times now so I felt it deserves an article.  It occurs when you attempt to use the ATTRIBUTES clause on a DYNAMIC ARRAY OF RECORD.  It looks like the ATTRIBUTES clause is being ignored but what has actually happened is that you have put it in the wrong place, you have added it to the RECORD when you should add it to the ARRAY.

Read more at https://4js.com/ask-reuben/ig-217/

 17 
 on: April 26, 2024, 01:28:42 am 
Started by Reuben B. - Last post by Reuben B.
One of the characteristics of our community is that having mostly come from Informix-4gl backgrounds, they have practises that were determined by what Informix provided many years ago.  In some cases, Informix did not dictate something and so Informix-4gl users developed their own way of doing things.  These are of course all different.
 
One of those areas was how finished applications were bundled and deployed onto production servers.  You would have developed your own procedures  for figuring out what files to bundle up and ship to your customers, and then how to install it.  No two Informix-4gl developers would have the same set of procedures.
 
Within the Genero stack we have endeavoured to provide a more complete ecosystem for you to build, and deploy applications.  This include the concept of a Genero Archive.

Read more at https://4js.com/ask-reuben/ig-216/

 18 
 on: April 26, 2024, 01:27:20 am 
Started by Reuben B. - Last post by Reuben B.
When working with and manipulating XML data and files, a question gets asked as to whether to use the om package, or the xml package.
 
To understand the difference between these packages, you need to go back into Genero history.  At the inception of Genero, there was only the om package, the xml package was introduced later in version 2.10.

Read more at https://4js.com/ask-reuben/ig-215/

 19 
 on: April 26, 2024, 01:25:14 am 
Started by Reuben B. - Last post by Reuben B.
When the front-end applies a sort to the rows in a table, a question that then gets asked is how can I change the current row so that it is the first sorted row.

Read more at https://4js.com/ask-reuben/ig-214/

 20 
 on: April 26, 2024, 01:23:39 am 
Started by Reuben B. - Last post by Reuben B.
With the 5.00 release,  a decision has been made to move to a version numbering scheme that is more in line with the principles of Semantic Versioning.  Hence the release of Genero in early 2024 is version 5.00, it is not version 4.10.

Read more at https://4js.com/ask-reuben/ig-213/

Pages: 1 [2] 3 4 ... 10
Powered by SMF 1.1.21 | SMF © 2015, Simple Machines