Ticket #2168 (closed feature: obsolete)

Opened 10 years ago

Last modified 8 years ago

link-actions-control-media - Play, stop and pause for the media frames

Reported by: deyan Owned by: diana
Priority: critical Milestone: X3
Component: uncategorized Version: 2.0
Keywords: Cc:
Category: unknown Effort: 2
Importance: 92 Ticket_group:
Estimated Number of Hours: 0 Add Hours to Ticket: 0
Billable?: yes Total Hours: 0
Analysis_owners: deyan Design_owners: diana
Imp._owners: diana Test_owners:
Analysis_reviewers: Changelog:
Design_reviewers: pap Imp._reviewers: deyan, pap
Test_reviewers: Analysis_score: 3.5
Design_score: 3 Imp._score: 3.5
Test_score: 0

Description (last modified by diana) (diff)

provide the following link actions:

  • media play;
  • media rewind;
  • media stop;
  • media pause.

The user should be abble to choose the media frame from a combo box.
The media frames are from the current page.

Change History

comment:1 Changed 10 years ago by deyan

  • Owner set to deyan
  • Status changed from new to s1a_analysis_started

comment:2 Changed 10 years ago by deyan

  • Importance set to 92
  • Effort set to 2
  • Description modified (diff)
  • Milestone changed from M12_RELEASE to X3

Batch update from file priorities.csv

comment:3 Changed 10 years ago by diana

  • Design_owners set to diana
  • Status changed from s1a_analysis_started to s1b_analysis_finished
  • Imp._owners set to diana

In order to provide the wanted functionality the following classes were dded:
In org.sophie2.main.func.links.actions.navigation package:

  • abstract class MediaAction extends LinkAction implements ResourceRefWrapper - represents all the link actions related to media(play,pause,rewind and stop).
  • class MediaPauseAction - the class representing the pause media link action.
  • class MediaPlayAction - the class representing the play media action.
  • class MediaRewindAction - the class representing the rewind media action.
  • class MediaStopAction - the class representing the stop media action.

In org.sophie2.main.func.links.actions.showing package:

  • class LinkActionUtil - helper class for media link logic.
  • class MediaPauseProvider - class for creating MediaPauseAction-s.
  • class MediaPlayProvider - class for creating mediaPlayAction-s.
  • class MediaRewindProvider - class for creating MediaRewindAction-s.
  • class MediaStopProvider - class for creating MediaStopAction-s.
  • enum MediaActionLogic implements OperationDef - provides the logic for stopping,rewinding,playing and pausing the cosen media frame view.
  • abstract class MediaActionConfigurationPanel - the configuration panel for all the media link actions.(the getActionClass function is abstract).
  • class PlayMediaConfigurationPanel extends MediaActionConfigurationPanel - the configuration panel for MediaPlayAction.
  • class PauseMediaConfigurationPanel extends MediaActionConfigurationPanel - the configuration panel for MediaPauseAction.
  • class RewindMediaConfigurationPanel extends MediaActionConfigurationPanel - the configuration panel for MediaRewindAction.
  • class StopMediaConfigurationPanel extends MediaActionConfigurationPanel - the configuration panel for MediaStopAction.

In org.sophie2.main.func.links.persist package:

  • StopMediaActionPersister - the persister for MediaStopAction.
  • PlayMediaActionPersister - the persister for MediaplayAction.
  • PauseMediaActionPersister - the persister for MediaPauseAction.
  • RewindMediaActionPersister - the persister for MediaRewindAction.

source code: [8196]

comment:4 Changed 10 years ago by deyan

  • Status changed from s1b_analysis_finished to s1a_analysis_started
  • Summary changed from link-actions-control-media to link-actions-control-media – Play, stop and pause for the media frames

Batch update from file report_1.csv

comment:5 Changed 10 years ago by diana

  • Status changed from s1a_analysis_started to s1b_analysis_finished

comment:6 Changed 10 years ago by diana

  • Description modified (diff)

comment:7 Changed 10 years ago by diana

source code: [8196] [8206]

comment:8 Changed 10 years ago by deyan

  • Status changed from s1b_analysis_finished to s1c_analysis_ok
  • Analysis_score changed from 0 to 3.5

Make sure when the target is deleted, the link is converted to a link without target - as in "toggle frame" for example.

comment:9 Changed 10 years ago by diana

  • Owner changed from deyan to diana
  • Status changed from s1c_analysis_ok to s2a_design_started

comment:10 Changed 10 years ago by diana

  • Status changed from s2a_design_started to s2b_design_finished

comment:11 Changed 10 years ago by diana

  • Description modified (diff)

comment:12 Changed 10 years ago by deyan

  • Priority changed from major to critical
  • Summary changed from link-actions-control-media – Play, stop and pause for the media frames to link-actions-control-media – Play, stop and pause for the media frames

Batch update from file 0911261.csv

comment:13 Changed 10 years ago by pap

  • Status changed from s2b_design_finished to s2c_design_ok
  • Design_score changed from 0 to 3
  • Design_reviewers set to pap
  • Generally I don't like it how it looks, but I'm passing it as I hope it will improve at least a little until implemented.
  • First of all I think that media actions should be in the media func module because they are senseless without it. So please be so kind to move them there.
  • Second I dislike the util you created. Its name is bad because it is not for all action but only for media ones. Also there lots of utility classes in sophie that are unknown to the developers and stay unused. We dont't need the next such. It would much better live in the MediaActionsLogic itself.
  • I suggest setting the state for the whole media channel instead from the current moment to the end(Deyan agreed with that). This way you may use the access only in some actions and not search for the view.
  • I think that your way of pausing is incorrect as you set MediaState.DEFAULT_STOPPED which might rewind the media but not pause in its current state. Recheck all states you set.
  • Also double-check whether your actions work correctly with page, frame and especially text links.
  • This is something that is not your fault, but we don't need the context ResourceView when triggering links since we have the ResourceAccess parameter. So I strongly advise you not to depend on the ResourceView. It is to be removed.
  • Also I find that adding new actions seems like lots of the same code for everything - actions , providers and persisters. Cant't we simplify this.. ? Especially the persisters.
  • It seems that you don't reuse what you already have - getting media state channels several times in the logic.

comment:14 Changed 10 years ago by todor

  • Summary changed from link-actions-control-media – Play, stop and pause for the media frames to link-actions-control-media - Play, stop and pause for the media frames

comment:15 Changed 10 years ago by diana

  • Status changed from s2c_design_ok to s3a_implementation_started

Changes made:
Make a new package: org.sophie2.main.func.media.links and move all the listed classes there.
Remove the LinkActionUtil class.

comment:16 Changed 10 years ago by diana

  • Status changed from s3a_implementation_started to s3b_implementation_finished

source code: [8196] [8243]

comment:17 Changed 10 years ago by pap

  • Status changed from s3b_implementation_finished to s3c_implementation_ok
  • Imp._score changed from 0 to 3.5
  • Imp._reviewers set to deyan, pap
  • Nice that we have these new abilities.
  • Malformed JavaDoc - misplaced newlines.
  • Some bad spacing in if statements.
  • Calling "super()" in a constructor is meaningles. This is done by default. (MediaAction class)
  • You could use @VisualElementDef + AutoVisualProvider for MediaActionConfigurationPanel.MediaFrameSelector
  • Anonymous ValueRefs and getInitial. Read the updated JavaDoc of ValueRef on that issue :)
  • I like that you made MediaAction to hold some common logic. It would be great if we had this feature for all link actions :)
  • Commited to trunk in [8278].

comment:18 Changed 8 years ago by meddle

  • Status changed from s3c_implementation_ok to closed
  • Resolution set to obsolete

Closing all the tickets before M Y1

Note: See TracTickets for help on using tickets.