Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Performance / Design question

Featured Replies

Hello Forums.

I have a general design question.

Im creating an ordering system where on one order a client can have many work-experiments (simple portal).

Now. In this particular case, an order will have VERY MANY work-experiments in it, in this case the maximum number of work-experiments in one Order will be 3000. (Yes, !!)

My solution has a routine, which will create such a "large order" automatically. It uses various tables for basic info to create an order of this size for the client, prefilled with his 3000 work-experiments.

This routine, goes to the table of work-experiments and creates a record, then duplicates it and modifies it slightly, duplicates it again etc. Its actually very effective and very fast. In a single user FM Advanced (version 8.5) situation, for an Order with 4500 items it only needs 90 seconds to create the whole thing, which is very acceptable for the generation of an order of this size.

Happy with that.

Million Dollar Question: How might this behave in a server environment? We want to deploy the solution in a small organisation with FM Server. If my script runs, i.e. one person makes an order, is that likely to "Block" the other users from using/looking at the other Orders?

ie, if in the portal table one Client is happily duplicating records for 2 minutes, does that block other users from acessing the portal entries of other orders they may be looking at?

Finally, Im new to FM 10. What is Server side scripting and is there an advantage here of maybe using client side or Server side scripting in a situation like this?

Evidently, of person A is doing something relatively intensive in the DB I dont want users B and C blocked...

Or am I fearing for nothing here?

Thanks for any inputs on the design of the idea, and no before you ask; unfortunately I cannot reduce the number or work-experiments on an order...

all my best and thanks for any thoughts.

I don't see any multi-user red flags. Remember "reads" of records, such as what you seem to be doing, do not incur a record lock.

I'd be curious as to how each Order's line items (the work-experiments) differ. Rather than a duplicate routine, could you perhaps do an import? Is there any "template" opportunities. That portal must take a while to load...

Server-run scripts do move the processing from the client to the server, and that might help here. It might be worth it to "queue" a work order creation, and then have a server script do it. An email could be sent to the user that it's done.

Order with 4500 items it only needs 90 seconds to create the whole thing, which is very acceptable for the generation of an order of this size.

You're stretching our imagination here, are these alterations completely random ... 90 seconds seems a lot if a recursive structure should be fitting better??

--sd

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.