CRUD+S application pageflow::

As usual we start from homepage:

And then proceed to the Companies page:

On the page we just press 'Submit' button that is equal to "Find All" command. Note that the returned results are placed in the table that supports pagination. The screenshot was taken for Tapestry implementation that comes with such nice table implementation ( contribute:Table), if you will look at other implementations of the application ( Struts ones for example) then you will find the results in a simple long table.

Here we click on 'show' link in the second row and that will bring us to the CRUD screen where all the object fields are in read-only(disabled) state.

We need to press 'edit' button to enable user input:

Here we add symbols 'DDDDDD' to the note text area and press 'update' button. That will store new value in the database and navigate us back to the search results screen where we see that the company record got updated. ( And that happened without repeating the search and making roundtrip to the database )


This is the page flow for the simple application. As we may see this is fairly simple but typical scenario for many web applications.

Please note, exactly the same workflow is going to be executed by our testing framework. In fact, we write skeleton for our test scripts by running The Grinder proxy and simply executing the scenario in the browser. The Grinder's proxy writes Jython script for us to exercise the page flow, then we just modify pieces of the script to match URLs and parameters to whatever necessary to execute the same actions in different UI implementations. (more about testing)