Details

    Description

      *USE CASE: Create a New Chart*

      *Primary Actor: User

      *Scope: XWiki

      *Level: User goal

      *Stakeholders and Interests:
      User: Wants to create a new chart illustrating data from a data source (e.g. an XWiki table).
      Creation Wizard: Gathers and validates all the necessary information for drawing the chart.
      Server: Serves processing requests made by the creation wizard.

      *Precondition: The user has logged into her XWiki account and has permission to modify the current page

      *Minimal guarantee: All the mandatory information is entered by the user (i.e. chart type, data source, and, depending on chart type, other information) and all the entered information is valid.
      Success guarantee: The server receives the chart creation request, successfully includes it into the current page and acknowledges success to the user.

      *Trigger: User selects the "Create Chart" option from the XWiki menu

      *Main success scenario:
      1.User selects the "More Actions - Edit - Create Chart" option from the XWiki menu.
      2.An XWiki page entitled "Chart Creation Wizard" containing an HTML form is presented to the user.
      3.The user selects the mandatory information for the chart.
      3.1.The user selects the chart category: Pie Chart, Bar Chart, Line Chart, Area Chart, Time Series Chart, Financial Chart, XY Chart, Multiple Axis Chart, Combined Axis Chart, Gantt Chart etc.
      3.2.The user selects the chart type (e.g., Multiple Pie Chart, Category Plot, XY Plot, XY Area Chart etc.)
      3.3.The user selects an existing data source for the chart or creates a new one (see XWIKI-151)
      3.4.The user selects the other information that is mandatory for the given chart type.
      4.The creation wizard assures that user input is valid every time the "Next" button is .
      5.The user may further customize the chart by selecting additional attributes (e.g., chart title and subtitles, font, colors, borders, labels, units etc.)
      6.The user presses the "Preview" button in the creation wizard.
      7.The creation wizard sends the chart information to be processed by the server.
      8.The server generates the SVG chart and sends it back to the client.
      8.1.The server fetches the data from the data source.
      8.2.The server constructs an appropriate internal representation of the data.
      8.3.The server generates the SVG chart.
      8.4.The server sends the SVG chart back to the client.
      9.When the user is satisfied with the chart he selects "Finish".
      10.The creation wizard assures that user input is valid and sends it to the server.
      11.The server adds the chart to the current page and acknowledges success to the create wizard.
      12.The create wizard terminates and the current XWiki page is refreshed in order to show the chart.

      *Extensions:
      1a. When the user does not have permission to modify the current page the whole "Edit" section will not be displayed in the "More Actions" menu, so the user cannot create a new SVG chart.
      4a. If the user input is not valid the user is presented with an explicative dialog and it is not allowed to go to the next step of the wizard.
      6a. When the "Live Preview" option is enabled this step happens automatically when a chart parameter changes.
      8a. When the user client is not SVG-enabled, the same process applies for a PNG raster image.
      10a. If the user input is not valid the user is presented with an explicative dialog.
      11a. If an error occurs at this step the create wizard will be notified of the failure, and will in turn notify the user by displaying an explicative dialog.

      Attachments

        Activity

          People

            sdumitriu Sergiu Dumitriu
            sdumitriu Sergiu Dumitriu
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: