Issue Details (XML | Word | Printable)

Key: SHALE-10
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: sean schofield
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Shale

[shale] IFrame does not work properly inside Shale dialog

Created: 17/Oct/05 11:07 PM   Updated: 23/Jan/07 04:40 PM
Return to search
Component/s: Dialog
Affects Version/s: None
Fix Version/s: 1.0.4

File Attachments:
  Size
Text File shale-37120.patch 2005-10-17 11:40 PM sean schofield 3 kB
Environment:
Operating System: other
Platform: Other
Issue Links:
Reference

Bugzilla Id: 37120


 Description  « Hide
In my dialog I have a search button which allows the user to do a
search. The search results appear in an iframe within the dialog. I
am using Tiles but I don't think Tiles is an issue. We're also
talking about only one dialog at a time (so its not the multiple
dialog problem.)

Anyways the search results are sortable using <t:commandSortHeader> in
MyFaces. The problem is that when I click on the header, the entire
dialog is reloaded inside the IFrame. I believe this is because of
DialogNavigationHandler. There is code in there that assumes a null
outcome should be handled by the handler instead of delegated to the
decorated handler.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
sean schofield added a comment - 17/Oct/05 11:40 PM
Created an attachment (id=16719)
[shale] Patches 37120

The problem seems to stem from the fact that DialogNavigationHandler is
handling all navigation once a dialog is underway. My patch does not entirely
address this problem but it does allow null navigation outcomes to be handled
by the decorated handler. This should produce the same result as before but it
will allow command buttons and links inside of IFrames to work properly.

Rahul Akolkar added a comment - 21/Oct/05 02:02 AM
Would it be possible to attach a stripped down war file or some of the source
artifacts related to the Shale dialog? I was going to reproduce this (or a
similar scenario) based on your description, but thought I'd ask before I
attempt any of that. Thanks!


Craig McClanahan added a comment - 28/Oct/05 03:34 PM
I suspect that this issue is a specific subcase of the general issue identified
by Bugzilla issue:

  http://issues.apache.org/bugzilla/show_bug.cgi?id=35066

However, the proposed solution here (elminate the standard handling of a null
outcome, which typically means "redisplay the same page") seems like it would
break a very large number of standard use cases. We need an overall approach
that deals with multiple simultaneous dialogs, *without* disabling the kinds of
behaviors that JSF developers are used to.

Rahul Akolkar added a comment - 20/Nov/05 10:57 AM
Probably useful to archive this approach in Bugzilla as well:

http://people.apache.org/~rahul/shale/dialog-delegation/

Craig McClanahan added a comment - 26/Nov/05 06:27 AM
To be addressed, along with 35066, in a point release subsequent to 1.0.0 that
addresses support for multiple simultaneously active dialogs.

Don Brown made changes - 23/Apr/06 04:51 AM
Field Original Value New Value
issue.field.bugzillaimportkey 37120 27904
Craig McClanahan made changes - 26/Apr/06 01:13 PM
Affects Version/s Nightly Build [ 21668 ]
Assignee Struts Developer Mailing List [ dev@struts.apache.org ]
Key STR-2613 SHALE-10
Component/s Shale [ 21241 ]
Project Struts Action 1 [ 10121 ] Shale [ 10130 ]
Don Brown made changes - 03/May/06 01:06 AM
Workflow jira [ 37896 ] Struts [ 38247 ]
sean schofield made changes - 04/May/06 06:20 AM
Status Resolved [ 5 ] Reopened [ 4 ]
Resolution Won't Fix [ 2 ]
sean schofield made changes - 04/May/06 06:21 AM
Link This issue is related to SHALE-48 [ SHALE-48 ]
sean schofield made changes - 06/Jul/06 10:08 AM
Component/s Dialog [ 21270 ]
Bugzilla Id 37120
Craig McClanahan made changes - 28/Aug/06 11:22 PM
Bugzilla Id 37120
Fix Version/s 1.0.4-SNAPSHOT [ 21740 ]
Repository Revision Date User Message
ASF #437879 Mon Aug 28 23:48:48 UTC 2006 craigmcc Beginnings of experiments on improving the Dialog functionality in
Shale.

Abstract out the basic interfaces required to operate in a dialog
environment from the implementation of the state machine. The primary
interface is o.a.s.dialog2.Context, which is instantiated (in request
scope) once per active dialog for a user. It plays a similar role to
what Status does in the current implementation (but does not suffer from
"one active dialog per user" problems). In addition, there is a
simplified Dialog2NavigationHandler that utilizes the new approach to
start up a Context based on a logical outcome with a matching prefix,
but it will also be possible to start a dialog instance
programmatically, by interacting with a o.a.s.dialog2.Contexts (note the
trailing "s") instance provided by a state machine implementation.

This API is packaged in a separate package (org.apache.shale.dialog2),
and uses unique attribute keys for everything, so that it should not
interfere with the existing functionality while we are experimenting.
In fact, as you can see from the POM, it has no direct dependency on the
rest of Shale at the moment either. All you'd need to add is this JAR,
plus the state machine implementation for your favorite version (see
upcoming submits).

WARNING: This code has been desk checked, and compiles clean, but has
not been tested for real yet. I'm committing now for feedback on the
design approach, and so we can all experiment.

SHALE-10 SHALE-48 SHALE-61
Files Changed
ADD /shale/sandbox/shale-dialog2/src/main/resources/META-INF
ADD /shale/sandbox/shale-dialog2
ADD /shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/faces
ADD /shale/sandbox/shale-dialog2/src/test/resources
ADD /shale/sandbox/shale-dialog2/src/test/java
ADD /shale/sandbox/shale-dialog2/src/main/resources
ADD /shale/sandbox/shale-dialog2/src/main/java/org/apache
ADD /shale/sandbox/shale-dialog2/src/main/resources/META-INF/NOTICE.txt
ADD /shale/sandbox/shale-dialog2/pom.xml
ADD /shale/sandbox/shale-dialog2/src/test
ADD /shale/sandbox/shale-dialog2/src/main/resources/META-INF/faces-config.xml
ADD /shale/sandbox/shale-dialog2/src/main
ADD /shale/sandbox/shale-dialog2/src/main/java/org
ADD /shale/sandbox/shale-dialog2/src/main/resources/META-INF/LICENSE.txt
ADD /shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/Constants.java
ADD /shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/faces/Dialog2NavigationHandler.java
ADD /shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/Context.java
ADD /shale/sandbox/shale-dialog2/src
ADD /shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/Contexts.java
ADD /shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2
ADD /shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/faces/Dialog2PhaseListener.java
ADD /shale/sandbox/shale-dialog2/src/main/java
ADD /shale/sandbox/shale-dialog2/src/main/java/org/apache/shale

Repository Revision Date User Message
ASF #437880 Mon Aug 28 23:51:07 UTC 2006 craigmcc State machine implementation for shale-dialog2 that refactors the
existing machinery to use the new APIs. The new implementation has not
been tested yet.

This implementation was partly done as a proof that the abstracted API
in shale-dialog2 is actually sufficient to implement a version of the
existing functionality, but also might be useful if we decide to stick
with some variant of the existing state machine approach.

SHALE-10 SHALE-48 SHALE-61
Files Changed
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyContext.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/Position.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/model
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/AbstractState.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/ViewStateImpl.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/resources
ADD /shale/sandbox/shale-dialog2-legacy/src/main/resources/META-INF
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache
ADD /shale/sandbox/shale-dialog2-legacy
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/SubdialogStateImpl.java
ADD /shale/sandbox/shale-dialog2-legacy/src/test
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/DialogImpl.java
ADD /shale/sandbox/shale-dialog2-legacy/src/test/java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/model/State.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/model/SubdialogState.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/model/Dialog.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/ActionStateImpl.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyContexts.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/model/ViewState.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org
ADD /shale/sandbox/shale-dialog2-legacy/src/main/resources/META-INF/LICENSE.txt
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/EndStateImpl.java
ADD /shale/sandbox/shale-dialog2-legacy/src
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/TransitionImpl.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/ConfigurationParser.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale
ADD /shale/sandbox/shale-dialog2-legacy/src/test/resources
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy
ADD /shale/sandbox/shale-dialog2-legacy/src/main/resources/META-INF/NOTICE.txt
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/model/EndState.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/model/ActionState.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/model/Transition.java
ADD /shale/sandbox/shale-dialog2-legacy/pom.xml
ADD /shale/sandbox/shale-dialog2-legacy/src/main/resources/META-INF/faces-config.xml
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/Globals.java
ADD /shale/sandbox/shale-dialog2-legacy/src/main
ADD /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config

Repository Revision Date User Message
ASF #437881 Mon Aug 28 23:52:23 UTC 2006 craigmcc Skeleton of support for Jakarta Commons SCXML as a state machine using
the shale-dialog2 abstraction APIs. I got distracted by refactoring the
legacy state machine support so there isn't any meat here yet ... but
that will be the next step.

SHALE-10 SHALE-48 SHALE-61
Files Changed
ADD /shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2
ADD /shale/sandbox/shale-dialog2-scxml/src/test/java
ADD /shale/sandbox/shale-dialog2-scxml/pom.xml
ADD /shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale
ADD /shale/sandbox/shale-dialog2-scxml/src/test/resources
ADD /shale/sandbox/shale-dialog2-scxml/src/main/java/org
ADD /shale/sandbox/shale-dialog2-scxml/src/main/resources/META-INF/LICENSE.txt
ADD /shale/sandbox/shale-dialog2-scxml/src/main/resources
ADD /shale/sandbox/shale-dialog2-scxml/src/main/resources/META-INF/NOTICE.txt
ADD /shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache
ADD /shale/sandbox/shale-dialog2-scxml/src
ADD /shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/ScxmlContext.java
ADD /shale/sandbox/shale-dialog2-scxml/src/test
ADD /shale/sandbox/shale-dialog2-scxml/src/main/resources/META-INF/faces-config.xml
ADD /shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml
ADD /shale/sandbox/shale-dialog2-scxml/src/main
ADD /shale/sandbox/shale-dialog2-scxml/src/main/java
ADD /shale/sandbox/shale-dialog2-scxml/src/main/resources/META-INF
ADD /shale/sandbox/shale-dialog2-scxml
ADD /shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/ScxmlContexts.java

Repository Revision Date User Message
ASF #437894 Tue Aug 29 00:54:39 UTC 2006 craigmcc Refactor the reading of the configuration files from LegacyContext to
LegacyContexts, because that is where it's going to get encountered first
(in the create() method).

SHALE-10 SHALE-48 SHALE-61
Files Changed
MODIFY /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyContexts.java
MODIFY /shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyContext.java

sean schofield made changes - 04/Sep/06 11:46 PM
Link This issue relates to SHALE-275 [ SHALE-275 ]
Craig McClanahan added a comment - 20/Oct/06 03:13 AM
The current implementation includes the code Sean suggested to delegate handling of null values, and seems to have no ill effects, so I'm declaring this one as fixed.

Craig McClanahan made changes - 20/Oct/06 03:13 AM
Resolution Fixed [ 1 ]
Status Reopened [ 4 ] Resolved [ 5 ]
Rahul Akolkar made changes - 23/Jan/07 04:40 PM
Fix Version/s 1.0.4-SNAPSHOT [ 21740 ]
Fix Version/s 1.0.4 [ 21790 ]
Jeff Turner made changes - 09/Aug/07 07:15 AM
Workflow Struts [ 38247 ] Struts - editable closed status [ 41668 ]
Antonio Petrelli made changes - 08/Jan/09 08:56 AM
Workflow Struts - editable closed status [ 41668 ] Struts - editable closed status (temporary) [ 45910 ]
Antonio Petrelli made changes - 08/Jan/09 09:08 AM
Workflow Struts - editable closed status (temporary) [ 45910 ] Struts - editable closed status [ 52577 ]