Details
-
Sub-task
-
Resolution: Fixed
-
Major
-
None
-
None
Description
*USE CASE: Viewing Embedded Charts*
*Primary Actor: User
*Scope: XWiki
*Level: User goal
*Stakeholders and Interests:
User: Wants to view a page that contains XWiki
User Agent: Displays XWiki pages, including the ones containing charts.
Server: Serves page requests made by the user agent.
*Precondition: The user has permission to view the requested page.
*Minimal guarantees: The page contains valid chart information.
*Success guarantee: The server is able to process the chart and generate a graphical representation thereof, which the user agent is able to display properly.
*Main success scenario:
1.The user selects an XWiki page that contains a chart, either by following a link from another page, or by entering the right URL.
2.The user agent processes the user's action and forwards a page request to the server.
3.The server receives the page request and finds the requested page.
4.The server parses the page and generates a representation thereof, using a mark-up language corresponding to the user agent (usually HTML)
5.When the server encounters the {chart}
marker it will generate a link to the graphical representation of the chart. The URL is of the form http://www.example.com/xwiki/bin/charts/path/chartName?xpage=embed
6.The server sends the page back to the client agent.
7.The user agent will make one or more additional requests to the server asking for chart images.
8.The server will generate the charts and separately send each image to the user agent.
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 an image representing the chart (e.g. SVG, PNG, etc.)
8.4.The server sends the image to the user agent.
9.The user agent presents the page to the user.
*Extensions:
8a. If caching is used then sometimes is enough to fetch the chart image from a cache.