I am building an application that has a "Web Planner" where the user goes between a number of pages in order to complete a large process. Each page they provide more information than the last and some pages are dependent on other pages to get the correct data.
For instance lets take an example like:
Customer Info -> Accounts -> Settings -> Final Review
This is a 4 page "Web Planner" that a user must complete before placing an order on our site. Right now I have a RootController that is used for functions and data that is shared across all pages, then I have other controllers for each of the other pages.
It makes sense that the Final Review page would contains pieces of information from all of the previous pages and would result in a "Summary" of the web planner. We allow our users to "Save" their order at any given step and then return later on. Therefore they will not ALWAYS go in the above order to get to Final Review.
So my question is, what is the best way to organize and structure this application so that even if the user opens their browser and goes directly to Final Review then they will receive all the correct information.
It would seem simple enough to just place all API calls on the RootController and then no matter what page they come to, we retrieve all of the data all at once. The only problem with that is depending on where they are in the Web Planner when they hit "Save" only parts of the information will be available.
Is there a standard way to shared information across multiple pages in this manner?