Since version 1.2 alpha 1 (2005)
Context Scouting is required becuase the user expects to go 'back' after deleting the currently edited object in an Edit Page. But 'back' according to the user is not allways the same as the previously viewed page. For example if the user first tried to save an object, but no value was entered into a compulsory field, he was returned to 'the same page', with an error message about the empty field. For the browser the page showing the error message is not the same page, so the back button will bring the user back to what he will call 'the same page without the error message'. Going back there has little use to the user, he probably wants to go back to where he was before he started editing the object.
The idea the user has of 'back' can be understood better by assuming the user has a two dimensional idea of moving around in the application. He may 'drill down', move around a bit and the 'back out'. And as humans do, they expect the application to understand that if going back on the 'moving around' is invalid, he must mean someting else, like going back further to the last valid page, or backing out to the point he drilled down.
Adding intuition to an application so that it can correctly interpret what the user means by 'back' may prove hard. But it is possible to offer the user an alternative to the linear back button of the browser, that allows him to 'back out'. This is the 'Context' button.
In order to make this work the application must be aware of that concepts of navigation are (drilling) down, (moving back) up, and moving around on the same level (hoirizonally; in the same context). Usually the developer of a page can say which links and buttons are 'down', whick are 'horizontal' and which are up. With phpPeanuts he can tell the Context Scout about it by passing the parameter 'pntScd' with either 'd', 'h' or 'u'. When drilling down the Scout will store the previous position as the new context. For the context button or for returning to the context automatically (this happens when he deletes the currently edited object in an ObjectDetailsPage) the application developer can retrieve the context url from the Scout. He should add the 'pntScd=u' parameter so that the Scout can correctly interpret the move.
The phpPeanuts Context Scout can handle concurrent use of the applicantion in multiple windows or tabs. If the pntScd parameter is omitted the abstract user interface may even correctly guess the scouting direction. Also see how to improve context scouting.