0
votes

I'm in the process of mocking / designing an Application form that consists of many regions that will be broken out across 5 pages (I'm intentionally not using the APEX Wizard Component due to personal choice and given requirements). So I will need to store/persist all the pages' information temporarily, while user fills out the form and reviews and saves their application on the last page.

Based on a response to a previous question, it seems that apex_collections are the preferred way to do this versus using the values already in session state to persist the information during the session. I've spent a bit of time breaking the form into logical groups of data that can be mapped to about 8 collections.

Questions:

  • Is this a correct assumption (collections vs session state) and approach?
  • Are there any performance considerations to think of when using APEX_COLLECTIONS (esp. if using 2 or 3 per page)?
  • How is it best to handle both the values in Session state along with the the collections? Assuming you utilize the session state values to populate the page items on their associated forms, but use the collections for the last page when you save? So you are kind of maintaining the data twice, right?
1

1 Answers

1
votes

Collections is definitely a very solid solution. I don't think you'll see any performance issues, under the hood all collections are stored in a single table anyway.

Personally I would not rely on session data when navigating between the different steps of a wizard flow (doesn't matter if that is the apex component or not) if you are also using collections.

Instead have 2 sets of Processes for each page/collection

  1. A page process before rendering to fetch the data from each collection if it exists
  2. A page process after submit to insert/update the data of each collection