• No results found

Vignet (43) Pub. Date: Nov. 24, 2005

N/A
N/A
Protected

Academic year: 2021

Share "Vignet (43) Pub. Date: Nov. 24, 2005"

Copied!
16
0
0

Loading.... (view fulltext now)

Full text

(1)

US 20050262425A1

(19) United States

(12) Patent Application Publication (10) Pub. No.: US 2005/0262425 A1

Vignet

(43) Pub. Date:

Nov. 24, 2005

(54)

(76)

(21)

(22)

METHOD AND SYSTEM FOR JAVA GANTT/BAR CHART RENDERING

Inventor: Peter Vignet, San Francisco, CA (US)

Correspondence Address:

BLAKELY SOKOLOFF TAYLOR & ZAFMAN 12400 WILSHIRE BOULEVARD

SEVENTH FLOOR

LOS ANGELES, CA 90025-1030 (US)

Appl. No.:

10/852,764

Filed:

May 20, 2004

1 02 START 1 1 04

RECENE PROJECT DATA TO GENERATE

A GAN'I'I' CHART

L

Publication Classi?cation (51) rm.c1.7 ... .. G06F 17/00 (52) Us. 01. ... ..715/500; 705/8

(57)

ABSTRACT

A method and system for Java Gantt/bar chart rendering

includes an extractor to receive project data, a table genera

tor to generate a project table suitable for representing the project data, and a dynamic page component to generate a Gantt chart image utilizing the project table. The system further includes a cell rendering component to render at least one cell of the project table by identifying a suitable graphi

cal image and by applying the graphical image to the cell.

100

/

1 06

CHART CORRESPONDINGTO THE PROJECT DATA

GENERATE A PROJECT TABIJE REPRESENTING A GANTT

l

108

GANTT CHART

GENERATE A DYNAMIC WEB PAGE INCLUDING THE

1 1 0

PROVIDE EVENT HANDUNG METHODS FOR SELECTED CELLS OF THE PROJECT TABl£

' 1

1 12

DISPLAY THE GAN'I'I' CHART TO

THE USER

114 END

(2)

10 DATABASE TABIE VIEW GRAPHICS MODE. ‘ INTERFACE 24 TABLE GENERATOR 20 CELL REQDERING

DYNAMIC PAGE COMPONENT TABLE VIEW

COMPONENT COMPONENT 23 26 1 8

v

I

DISPLAY EXTRACTOR COMPONENT 1 6 30 I 7 PROJECT CLIENT 32 14

FIGURE1

(3)

Patent Application Publication Nov. 24, 2005 Sheet 2 0f 10

US 2005/0262425 A1

100 102

START

/

1 1 04

RECEIVE PROJECT DATA TO GENERATE A GANTT CHART

1

106

GENERATE A PROJECT TABLE REPRESENTING A GANTI' CHART CORRESPONDINGTO THE PROJECT DATA

108

GENERATE A DYNAMIC WEB PAGE INCLUDING THE GANTT CHART

1 10

PROVIDE EVENT HANDLING METHODS FOR SELECTED CELLS OF THE PROJECT TABIJE

1

1 12

DISPLAY THE GANTT CHART TO THE USER

114

(4)

120 122

START

124

GENERATE DATA MODEL SUITABLE FOR REPRESENTII‘G THE PROJECT

DATA

126

ACCESS A TABLE VIEW MODEL TO GENERATE A TABLE FOR THE PROJECT DATA

‘ 128

POPULATE THE TABLE WITH THE ROW NAMES AND

THE OOLUMN NAMES

130

CALCULATE THE DATE RANDGE FOR EACH

PROJECT IN ACCORDANCE WITH THE PROJECT DATA

‘ 1 32

CONVERT THE DATES RANGE

INTO TIME UNITS

T 1 34

RENDER PROJECT TABLE CELLS IN ACCORDANCE

WITH THE PROJECT DATA

136 END

(5)

Patent Application Publication Nov. 24, 2005 Sheet 4 0f 10

US 2005/0262425 A1

START 202 200 IDENTIFY A CELL 204

' OJECT DATA CORRESPOND : YES

A PARTIAL TIME UNIT‘? 206

ACCESS GRAPHICS DATABASE 208

FILL THE TABLE CELL

LI

WITHBACKGROUND COLOR INDICATING THE PROJECT

BEING IN PROGRESS SELECT A GRAPHICAL IMAGE CORRESPONDING To

216 THE PARTIAL TIME UNIT

21o

FILL TABLE CELLS WITH

II

BACKGROUND COLOR INDICATING

THE PROJECT BEING INACTIVE

218 FILL THETABLE CELL WITH THE GRAPHICAL IMAGE 212 YES ORE CELL ? 220 NO

FIGURE 28

(6)

m

EDGE

gm

mm 60.8895

mm 60.83am .\

m

80

.65

N

606i

:3

3D

HM<EU HHZ<O HUmHOMm

/oom

(7)

Patent Application Publication Nov. 24, 2005 Sheet 6 of 10

US 2005/0262425 A1

Full time unit:

/ 310

Half time unit start: /

312

Half time unit stop:

314

t- 5/

One uarter time unit start:

316

One quarter time unit SW

318

/‘

Three quarter time unit stop:

Three quarter time unit start:

\ 322

Empty time unit:

"

324

(8)

owv

v

EDGE

' Twas:

1v.

t.

721st 7 ‘

7' '

/

cow

(9)

Patent Application Publication Nov. 24, 2005 Sheet 8 0f 10

US 2005/0262425 A1

/\ 450

J

package bean;

* A very simple bean whose only purpose is

* to store a simple String.

* It as a get and set method to store and recall the string.

public class DynPageNameBean

{

public String name;

public String getName ()

return name;

public void setName (String name)

this.name = name;

(10)

Event processing

llidolnitialiiaizib?y (

,i

1

7 Q >~ dbRIQ¢¢SSBeTfOIf¢QiItPiitTOI I

s30

S20

(11)

Patent Application Publication Nov. 24, 2005 Sheet 10 0f 10

US 2005/0262425 A1

12 0

0 \A

/\

PROCESSOR

@

vIDEO DISPLAY

INSTRUCTIONS

m

»\/1224

MAIN MEMORY

QM

ALPHA-NUMERIC

INPUT DEvICE

INSTRUCTIONS

m

,\1224

STATIC MEMORY

cuRsgl-é cgNTRoI

VI E

BUS

1%

M

w

DRIvE UNIT

NETWORK _ @

INTERFACE DEVICE

MACHlNE-READABLE

E

MEDIUM

E

1224/~

\_.- INSTRUCTIONS

SIGNAL

NETWORK

GEQESI’EEON

2%

i

7

@

FIG. 6

(12)

CHART RENDERING

FIELD OF THE INVENTION

[0001] An embodiment relates generally to enterprise

resource and program management, and more particularly to

a method and system for Java Gantt/Bar chart rendering in

an enterprise project portfolio management environment.

BACKGROUND OF THE INVENTION

[0002] Software applications in the ?eld of enterprise

project portfolio management attempt to integrate all facets

of a business including planning, manufacturing, sales, and

marketing. As the project portfolio management methodol

ogy has become more popular, softWare applications have

emerged to help business managers implement project port

folio management in business activities to provide visibility into the entire portfolio of enterprise programs and projects,

While supporting strategic capacity planning and resource

allocation based on up-to-date information on skills and

availability of the resources. It is desirable that an enterprise

project portfolio management tool is capable of leveraging

data from base systems Without disruption, and can be

delivered at an effective and predictable cost.

[0003] A Gantt chart may be a useful tool for providing a comprehensive vieW of the How of the project. A Gantt chart is a horiZontal bar chart, With a horiZontal axis representing the total time span of a project, broken doWn into increments (for example, days, Weeks, or months) and a vertical axis representing multiple projects or various tasks that make up the project. Gantt charts may be automatically created using a project management application.

SUMMARY OF THE INVENTION

[0004] A system for Java Gantt/bar chart rendering

includes an extractor to receive project data, a table genera

tor to generate a project table suitable for representing the project data, and a dynamic page component to generate a chart image utiliZing the project table, the chart being one of

a Gantt chart and a bar chart. The table generator is to receive a data model and a table model to generate the

project table.

[0005] The system further includes a cell rendering com ponent to render at least one cell of the project table, Wherein

the at least one cell represents a portion of the chart in

accordance With the project data. The cell rendering com ponent is to identify a graphical image from a plurality of graphical images and to apply the graphical image to the at least one cell. The graphical image from the plurality of graphical images represents one of a full time unit and a partial time unit.

[0006] The cell rendering component may further be to identify a background color and to apply the background

color to the at least one cell if the data corresponding to the at least one cell is one of a full time unit and an empty time

unit. The project data includes a project name, the start date of the project, and project duration.

[0007] The dynamic page component is to generate an

event related to the at least one cell the event being utiliZed

to display additional information responsive to identifying

at the at least one cell is a click.

[0008] Other features of the present invention Will be apparent from the accompanying draWings and from the detailed description that folloWs.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The present invention is illustrated by Way of example and not limitation in the ?gures of the accompa nying draWings, in Which like references indicate similar elements and in Which:

[0010] FIG. 1 is a netWork diagram depicting a system having a client-server architecture, according to one embodiment of the present invention;

[0011] FIG. 2 is a ?oWchart illustrating a method to create

a Gantt/bar chart, according to one embodiment of the

present invention;

[0012] FIG. 2A is a ?oWchart illustrating a method to generate a table in accordance With project data, according

to one embodiment of the present invention

[0013] FIG. 2B is a ?oWchart illustrating a method to render project table cells in accordance With project data, according to one embodiment of the present invention [0014] FIG. 3 is an exemplary Gantt chart generated by the system, according to one embodiment of the present

invention;

[0015] FIG. 3A illustrates exemplary graphical images

utiliZed by the system, according to one embodiment of the

present invention;

[0016] FIG. 4 is a diagrammatic representation of data ?oW of a dynamic page component, according to one embodiment of the present invention;

[0017] FIG. 4A is an implementation example of a reus

able softWare component as a Java Bean, according to one

embodiment of the present invention;

[0018] FIG. 5 is a diagrammatic representation of event

processing by the dynamic page component, according to

one embodiment of the present invention; and

[0019] FIG. 6 is a diagrammatic representation of a com puter system, Within Which a set of instructions, for causing

the machine to perform any one or more of the methodolo

gies discussed herein, may be executed.

DETAILED DESCRIPTION

[0020] A method and system to generate a Gantt/bar chart are described. In the folloWing description, for purposes of explanation, numerous speci?c details are set forth in order to provide a thorough understanding of the present inven tion. It Will be evident, hoWever, to one skilled in the art that the present invention may be practiced Without these speci?c details.

[0021] In a Web-based environment, graphics (e.g., a

graph or a chart) is often rendered to a user utiliZing an

applet (e.g., a Java applet), Which may be run Within an

Internet broWser. HoWever, a Java applet may be resource

intensive. It may require loading a number of data and,

(13)

US 2005/0262425 A1

delay in rendering the graph. Thus, there is a need for a method of rendering graphics, such as, for example, a bar chart or a Gantt chart, Which is independent of browser Java applets and that may exhibit enhanced performance. [0022] FIG. 1 is a netWork diagram depicting a system 10, according to one exemplary embodiment of the present

invention, having client-server architecture. Abusiness plat

form, in the exemplary form of a netWork-based electronic

project portfolio management system 12, provides server

side functionality, via a netWork 16 (e. g., the Internet) to one or more clients 14. The project portfolio management sys tem 12 may be con?gured to provide a number of business management functions and services to users. In FIG. 1, the client 14 may be any computing device, including a laptop

computer, notebook computer, personal digital assistant

(PDA), or handheld Wireless phone.

[0023] The project portfolio management system 12 of

FIG. 1 may be accessed by the client 14 via the netWork 16. The system 10 alloWs the client 14 to request and receive a graphical representation of the client’s project data. The project portfolio management system 12 may include an extractor 16, dynamic page components 18, table generators 20, table vieW components 23, table vieW model interfaces

24, cell rendering components 26, a graphics repository 28,

and a display component 30. The extractor 16 may be con?gured to receive a client’s request for a Gantt/bar chart in accordance With the client’s project data. The client’s project data may be stored in a project database 32. The dynamic page component 18 may be con?gured to receive the project data from the extractor 16 and to provide this data to the table generator 20.

[0024] The dynamic page component 18 may generate dynamic Web pages and provide them to the display com ponent 30. In order to provide a tabular representation of data Within a dynamic Web page, the dynamic page com ponent 18 requests a tabular representation to be generated by the table generator 20. The dynamic page component 18 utiliZes tables generated by the table generator 20 and the

table vieW model interface 24 to create table vieW models.

A table vieW model may contain the repository location of graphics from the graphics repository 28 if, for example, a cell Within a table is to include graphics.

[0025] The dynamic page component 18 utiliZes the table

vieW component 23 With the table vieW model to create a

table vieW. In one exemplary embodiment, a table vieW model may use a groWable array of objects (e.g., vectors) to

supply the table vieW With data. Visible columns are a subset

of the data in a table vieW model. The dynamic page component 18 utiliZes the table vieW component 23 to create a table vieW to display any data model Which implements the table vieW model interface.

[0026] In one exemplary embodiment of the present invention, the dynamic page component 18 utiliZes the cell rendering component 26 to render cells in accordance With the table vieW and its model. In one exemplary embodiment, the cell rendering component 26 renders cells by inserting dynamically graphical images into the table vieW in accor dance With the table vieW and its model of the project data. The graphical images may be stored in the graphics reposi tory 28. It Will be noted that the graphics repository 28 may be a component of the project portfolio management system 12 or in communication With the project portfolio manage ment system 12.

Nov. 24, 2005

[0027] FIG. 2 is a ?oWchart illustrating a method 100 to

create a Gantt/bar chart according to one embodiment of the

present invention. The method 100 starts at operation 102. At operation 104, the extractor 16 receives project data from the client 14 in order to generate a Gantt chart. At operation 106, the table generator 20 is utiliZed to generate a project table representing a Gantt chart corresponding to the project data. At operation 108, the dynamic page component 18 is utiliZed to generate a dynamic Web page including the Gantt chart. The dynamic page component 18 may be adapted to provide event-handling methods for selected cells in the

project table generated by the table generator 20 at operation

110. At operation 112, the display component 30 is provided

With the dynamic page including the Gantt chart correspond ing to the project data. The display component 30 may display the Gantt chart to the client 14, responsive to a

request from the client 14 or responsive to some other event.

The method ends at operation 114.

[0028] FIG. 2A is a ?oWchart illustrating a method 120 to generate a project table in accordance With project data. The method 100, in one embodiment, corresponds to operation 106 of FIG. 2. The method commences at operation 122. At operation 124, the table generator 20 generates a data model

suitable for representing the project data provided by the

client 14. At operation 126, the table generator 20 accesses

a table vieW component 23 to identify a table vieW model

suitable for representing the project data. At operation 128,

the project table is populated With the roW names and the

column names. In one exemplary embodiment, the roW names may correspond to the project names in accordance

With the project data. It Will be noted that the project names may correspond to project tasks or to subprojects. The column names of the project table may correspond to time units such as, for example, months, Weeks, or days. At

operation 130, the table generator 20 interrogates the project

data to identify the project start date and the project end date for each project in the project data. The table generator 20 then calculates the date ranges for each project in accor dance With the project data utiliZing the identi?ed project start dates and project end dates. At operation 134, the table generator 20 utiliZes cell-rendering component 26 so that the table cells are rendered in accordance With the project data. The method 120 ends at operation 136.

[0029] FIG. 2B is a ?oWchart illustrating a method 200 to

render project table cells corresponding to project data,

according to one embodiment of the present invention. The method 200 commences at operation 202. At operation 204, the table generator 20 identi?es a project table cell to be processed. The table generator 20 then identi?es project data corresponding to the identi?ed project table cell. At opera tion 206, it is determined Whether the project data corre sponding to the project table cell corresponds to a partial

time unit or to a full time unit. If it is determined at operation

206 that the project data for the project table cell corre sponds to a partial time unit, then the cell rendering com ponent 26 accesses the graphics repository 28 at operation 208. At operation 210, the cell-rendering component 26 selects a graphical image from the images stored in the

graphics repository 28, the graphical image corresponding to

a partial time unit corresponding to the project data. At

operation 212, the cell-rendering component 26 ?lls the

project table cell With the selected graphical image. If it is determined at operation 206 that the project data corre

(14)

partial time unit, then the method 200 proceeds to operation 214.

[0030] At operation 214, it is determined Whether the project data corresponding to the project table cell is a full

time unit or an empty time unit. If the project data corre

sponding to the project table cell is a full time unit, then, at operation 216, the cell rendering component 26 ?lls the project table cell With a background color indicating the project being in progress. If the project data for the project table cell does not correspond to a full time unit, then the cell-rendering component 26 ?lls the table cell With a

background color indicating the project being inactive. This

is done at operation 218. The method 200 then proceeds to operation 220, Where it is determined Whether there are more cells in the project table to be processed. The method 200 ends at operation 222.

[0031] It Will be noted that, in one exemplary embodi

ment, the graphics repository 28 may store graphical images

corresponding to a full time unit and to an empty time unit.

The method 200 may then perform operations 208 through 212 regardless of or bypassing a determination at operation 206.

[0032] FIG. 3 is an exemplary Gantt chart 300 generated

by the project portfolio management system 12, according to

one embodiment. The exemplary Gantt chart 300 includes

elements 302 corresponding to roW names. In the Gantt chart 300 the roW names correspond to the project names such as

Project 1, Project 2, Project 3, and Project 4. The column

names in the Gantt chart 300 correspond to time units 304. In this illustration, the time units are months. The table cells 306 correspond to graphical elements of the Gantt chart 300. As is seen in the Gantt chart 300, Project 1 is active from the

beginning of February through the beginning of June. The

table cell corresponding to the progress of Project 1 for the month of February is represented by a full time unit. Therefore, this project cell could have been rendered by the

cell rendering component 26 by applying a background

color to the cell, the background color indicating the project being active (or in progress), as is described With respect to operation 216 of FIG. 2B. On the other hand, the table cell corresponding to the status of Project 2 in May represents a partial time unit. Thus, this cell corresponding to the status of Project 2 in May Was rendered by the cell rendering

component 26 by selecting a graphical image corresponding

to the partial time unit, (here, the ?rst part of May), as is described With respect to operation 220 of FIG. 2B. Simi larly, the project table cell corresponding to Project 3 status in March is represented by a partial time unit, namely, the second part of March. Thus, the cell corresponding to the status of Project 3 in March Was rendered by the cell

rendering component 26 by accessing the graphics reposi

tory 28, selecting a graphical image corresponding to this

partial time unit and ?lling the table cell With the selected graphical image as is described With respect to operations 208 to 212 of FIG. 2B.

[0033] FIG. 3A illustrates exemplary graphical images

utiliZed by the system 10, according to one embodiment. Block 310 corresponds to a full time unit. Block 312 corresponds to a half time unit start. Block 314 corresponds

to a half time unit stop. Block 316 corresponds to a one quarter time unit start. Block 318 corresponds to a one

quarter time unit stop. Block 322 corresponds to a three quarter time unit start. Block 324 corresponds to an empty time unit. It Will be noted that a project table cell data

corresponding to a full time unit or to an empty time unit

may be represented by a background color.

[0034] The project Gantt chart 300 may be provided to the

client 14 as a dynamic Web page. Returning to FIG. 3, if an

event handling method is provided for a particular cell of the project Gantt chart 300, then a user may vieW additional information regarding the project by placing the mouse

cursor on top of the cell he Wishes to vieW. For example, if

an event handling method is provided for a cell correspond ing to the status of project 1 in February, then by placing a cursor over that cell, a user may be able to vieW additional information, such as, for example, the resources assigned to Project 1, additional milestones information, and other infor mation. Additional information regarding the project may also be provided to the user responsive to the user’s clicking on a cell or highlighting the cell.

[0035] It Will be noted that a project Gantt chart may be

generated by the project portfolio management system 12

responsive to a user’s request or, for example, responsive to a predetermined event and Without an explicit request from the user. The project portfolio management system 12 may be con?gured to store the generated project Gantt chart 300 for later access by the client 14 or by another user, in accordance With the other user’s permission settings. [0036] Returning to FIG. 1, the business management system 12 may provide business management tools to a user, such as resource and project management. The system 12 may utiliZe information related, for example, to projects and projects’ schedules stored in the database 32 in order to provide a Gantt/bar chart image (e.g., a project How chart)

to the user. It is desirable to provide the user With a GUI that

alloWs the user to modify the project data Within the chart

vieW and to enable the user to vieW additional information related to the chart as the user clicks on a particular image

Within the chart or, for example, places the cursor over the

image.

[0037] The HTML-Business for Java (HTMLB) controls

may be necessary to create a proper graphical user interface

(GUI). HTMLB alloWs creating a design-oriented page

layout. HTMLB may provide a user With a set of controls.

The controls may be based, for example, on servlets and Java Server Pages (JSP) pages. A developer may use bean like components or JSP tags. Renderer classes may be

utiliZed to translate various components into HTML com

mands.

[0038] In addition to creating a proper GUI, a Web appli cation may need appropriate event handling to ?ll the application With live feed. There may be a number of controls that generate events. Java Server Pages (JSP) tech nology provides a simpli?ed, fast Way to create Web pages that display dynamically generated content. The basic event

handling occurs on the JSP level. The dynamic page com

ponent 18 may be used for enhanced event handling and easy session management. The dynamic page component 18,

in one embodiment, uses the Business HTML for Java as

API to design the GUI and handles the data and event transfer.

[0039] FIG. 4 is a diagrammatic representation of data ?oW of the dynamic page component 18, according to one

(15)

US 2005/0262425 A1

embodiment of the present invention. In FIG. 4, a request

from a Web page 412 is received at the page processor

component 414. The page processor component 414, in one exemplary embodiment, corresponds to the extractor 16 of FIG. 1. The page processor component 414 delegates the request processing to a dynamic page component 416. The dynamic page component 416, in one exemplary embodi ment, corresponds to the dynamic page component 18 of FIG. 1. The exchange of data betWeen the dynamic page

component 416 and a JSP program 418 occurs by using a

reusable softWare component 420. The reusable softWare

component 420, in one exemplary embodiment, corresponds

to the table vieW component 23 of FIG. 1, and may be

implemented as a Java Bean. FIG. 4A is an implementation

example 450 of the reusable softWare component 420 as a

Java Bean.

[0040] The reusable softWare component 420 may be used to get and set “dynamic” data. The dynamic page component 416 may provide the reusable softWare component 420 With project data; and the JSP program 418 may read the project data. For example a user input may be stored in the reusable softWare component 420 and than displayed as text by the JSP program 418. Thus, the dynamic page component 416 may provide data associated With a request from the Web page 412 to a reusable softWare component 420 (e.g., the table vieW component 23). The dynamic page component 416 may delegate generation of an output to the J SP program 418. The reusable softWare component 420 provides the requested data to the JSP program 418. Finally, the JSP program 418 generates HTML output resulting in a Web page 422.

[0041] It Will be noted that the exchange of data betWeen the dynamic page component 416 and a JSP program 418 may also be effectuated utiliZing a session object, a context object, or a request object.

[0042] FIG. 5 is a diagrammatic representation of event

processing by the dynamic page component 416, according

to one embodiment. The event processing illustrated in FIG.

5 may be utiliZed to process the event handling methods generated by the dynamic page component 18 to alloW users to vieW additional project information associated With a selected project table cell as described With reference to FIG. 2.

[0043] In one exemplary embodiment, the dynamic page component 416 includes an initialiZation method 510 (doIni

tialiZation), a processing after input method 520 (doProces

sAfterlnput), and a processing before output method 530 (doProcessBeforeOutput). The doInitialiZation method is called When the application is started. The call is made When the page is directly called per Uniform Resource Identi?er (UR) Without parameters and no event occurred. This

method may be used to initialiZe data and to set up models.

The doInitialiZation event may also be caused When another

portal component on the same page sends an event. The

doProcessAfterInput method is called When a Web client

sends a form to a Web server. Except on doInitialiZation, the

call to doProcessAfterlnput is performed every time an event

occurs on the client side. The doProcessBeforeOutput

method is called before the form is sent to the Web client.

The call is performed every time even on doInitialiZation.

[0044] FIG. 6 illustrates a diagrammatic representation of machine in the exemplary form of a computer system 1200

Nov. 24, 2005

Within Which a set of instructions, for causing the machine

to perform any one or more of the methodologies discussed

herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be con nected (e.g., networked) to other machines. In a netWorked deployment, the machine may operate in the capacity of a server or a client machine in server-client netWork environ

ment, or as a peer machine in a peer-to-peer (or distributed)

netWork environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a Web appli

ance, a netWork router, sWitch or bridge, or any machine

capable of executing a set of instructions (sequential or otherWise) that specify actions to be taken by that machine. Further, While only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

[0045] The exemplary computer system 1200 includes a processor 1202 (e.g., a central processing unit (CPU) a graphics processing unit (GPU) or both), a main memory 1204 and a static memory 1206, Which communicate With each other via a bus 1208. The computer system 1200 may further include a video display unit 1210 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 1200 also includes an alphanumeric input device 1212 (e.g., a keyboard), a cursor control device 1214 (e.g., a mouse), a disk drive unit 1216, a signal generation device 1218 (e.g., a speaker) and a netWork interface device 1220.

[0046] The disk drive unit 1216 includes a machine readable medium 1222 on Which is stored one or more sets of instructions (e.g., softWare 1224) embodying any one or

more of the methodologies or functions described herein.

The softWare 1224 may also reside, completely or at least partially, Within the main memory 1204 and/or Within the processor 1202 during execution thereof by the computer system 1200, the main memory 1204 and the processor 1202 also constituting machine-readable media. The softWare 1224 may further be transmitted or received over a netWork 1226 via the netWork interface device 1220.

[0047] While the machine-readable medium 1222 is shoWn in an exemplary embodiment to be a single medium,

the term “machine-readable medium” should be taken to

include a single medium or multiple media (e.g., a central iZed or distributed database, and/or associated caches and

servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to

include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier Wave signals.

[0048] Thus, a method and system for handling errors in a script engine environment have been described. Although the present invention has been described With reference to speci?c exemplary embodiments, it Will be evident that various modi?cations and changes may be made to these embodiments Without departing from the broader spirit and

(16)

drawings are to be regarded in an illustrative rather than a

restrictive sense. What is claimed is:

1. A system to create a chart, including: an eXtractor to receive project data;

a table generator to generate a project table suitable for

representing the project data; and

a dynamic page component to generate a chart image utiliZing the project table, the chart being one of a Gantt

chart and a bar chart.

2. The system of claim 1, Wherein the table generator is

to receive a data model and a table model to generate the

project table.

3. The system of claim 1, including a cell rendering component to render at least one cell of the project table,

Wherein the at least one cell represents a portion of the chart

in accordance With the project data.

4. The system of claim 3, Wherein the cell rendering component is to identify a graphical image from a plurality of graphical images and to apply the graphical image to the at least one cell.

5. The system of claim 4, Wherein the graphical image from the plurality of graphical images represents one of a full time unit and a partial time unit.

6. The system of claim 5, Wherein the cell rendering component is to identify a background color and to apply the

background color to the at least one cell.

7. The system of claim 6, Wherein the cell rendering component is to apply the background color to the at least

one cell if the project data corresponding to the at least one cell is one of a full time unit and an empty time unit.

8. The system of claim 1, Wherein the project data includes a project name, the start date of the project, and

project duration.

9. The system of claim 1, Wherein the dynamic page

component is to generate an event related to the at least one

cell the event being utiliZed to display additional informa tion responsive to identifying an action directed at the at least one cell.

10. The system of claim 9, Wherein the action directed at the at least one cell is a click.

11. The system of claim 1, Wherein the chart image is a dynamic Web page.

12. The system of claim 1, Wherein the eXtractor compo nent is to provide the chart image to a user, utiliZing a Web

portal.

13. A method automatically to create a chart, the method

including:

receiving project data;

data; and

generating a chart image utiliZing the table, the chart

being one of a Gantt chart and a bar chart.

14. The method of claim 13, Wherein the generating of the chart image includes rendering a cell of the table, Wherein the cell represents a portion of the chart in accordance to the

project data.

15. The method of claim 14, Wherein the rendering of the cell includes identifying a graphical image from a plurality

of graphical images and applying the graphical image to the

cell.

16. The method of claim 15, Wherein the graphical image from the plurality of graphical images represents one of a full time unit and a partial time unit.

17. The method of claim 16, Wherein the rendering of the cell includes identifying a background color and applying the background color to the cell.

18. The method of claim 17, Wherein the applying of the background color to the cell is responsive to identifying the project data corresponding to one of the full time unit and the empty time unit.

19. The method of claim 13, Wherein the project data includes a project name, the start date of the project, and

project duration.

20. The method of claim 13, including enabling a user to vieW additional information responsive to an action by a user, the action being directed at the cell.

21. The method of claim 20, Wherein the action is a click. 22. The method of claim 13, Wherein the chart image is a dynamic Web page.

23. The method of claim 14, including displaying the chart image to a user, utiliZing a Web portal.

24. A system to create a chart, including: means for receiving project data;

means for generating a project table suitable for repre

senting the project data; and

means for generating a chart image utiliZing the project

table, the chart being one of a Gantt chart and a bar

chart.

25. A machine-readable medium having stored thereon data representing sets of instructions Which, When executed

by a machine, cause the machine to:

receive project data;

generate a table suitable for representing the project data; and

generate a chart image utiliZing the table, the chart being one of a Gantt chart and a bar chart.

References

Related documents

We evaluated PROs in two studies comparing co- formulated bictegravir, emtricitabine, and tenofovir alafenamide (B/F/TAF) with co-formulated abacavir, dolutegravir, and

Glass Palaces and Glass Cages: Organizations in Times of Flexible Work, Fragmented Consumption and Fragile Selves* Yiannis Gabriel.. Max Weber’s metaphor of ‘the iron cage’ has

The security functional requirement defined in [7] supports also this security objective by specifying secure cryptographic algorithm that shall be used to ensure the integrity of the

Field experiments were conducted at Ebonyi State University Research Farm during 2009 and 2010 farming seasons to evaluate the effect of intercropping maize with

Results suggest that the probability of under-educated employment is higher among low skilled recent migrants and that the over-education risk is higher among high skilled

The main optimization of antichain-based algorithms [1] for checking language inclusion of automata over finite alphabets is that product states that are subsets of already

Proprietary Schools are referred to as those classified nonpublic, which sell or offer for sale mostly post- secondary instruction which leads to an occupation..

○ If BP elevated, think primary aldosteronism, Cushing’s, renal artery stenosis, ○ If BP normal, think hypomagnesemia, severe hypoK, Bartter’s, NaHCO3,