IP Library Granted Patent US 7,657,870
Granted Patent B2
US 7,657,870 · App. 11/065,825 · Granted Feb 2, 2010

Method and apparatus for implementing dynamic function groups in a data processing system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,657,870
App. No.
11/065,825
Granted
Feb 2, 2010
Kind
B2
Abstract

A method, an apparatus, and computer instructions are provided for implementing dynamic function groups in a data processing system. An extensible framework is provided, which provides function groups to amalgamate extended sets of functionality by either vendor or purpose and allows the function groups to be dynamically enabled or disabled within a software application. A user may specify which extended sets of functionality are relevant and when to enable them. With the use of function groups, third party vendors may integrate added functionalities with existing ones in a software application, and indicate when these functionalities should be available to end-users without the need to duplicate code. The invention allows for the construction of other extensible frameworks including wizards, editors, and operations may also be extended with the use of function groups.

Claims (36)

1. A computer implemented method for designating whether at least one functionality of at least one plug-in program is enabled with respect to an extendable software application to which the at least one plug-in program is associated, the computer implemented method comprising:

detecting a definition of a set of functionalities in a function group provided by a vendor to an extendable software application;

determining whether the at least one functionality is associated with a project targeted to a particular server environment in which a user is working using the definition of the set of functionalities, wherein the at least one functionality is part of a plug-in program for an extendable software application, wherein the plug-in program provides one or more additional services to the user using the extendable software application, and wherein the extendable software application is a software application that accepts plug-ins developed by third-party vendors;

responsive to the at least one functionality being associated with the project, enabling the at least one functionality with respect to the extendable software application; and

responsive to a change in a state of the project, disabling the at least one functionality with respect to the extendable software application.

2. The computer implemented method of claim 1 wherein the at least one functionality is associated with the project, wherein the at least one functionality is part of a plurality of functionalities, and wherein the computer implemented method further comprises:

responsive to the at least one functionality being associated with the project, enabling all project functionalities within the plurality of functionalities, wherein the project functionalities comprises those functionalities within the plurality of functionalities that are associated with a particular project.

3. The computer implemented method of claim 2 further comprising: disabling all non-project functionalities within the plurality of functionalities, wherein the non-project functionalities comprises those functionalities within the plurality of functionalities that are not associated with the particular project.

4. The computer implemented method of claim 2 further comprising:

receiving a designation of a new project;

responsive to receiving, disabling the project functionalities; and

responsive to receiving, enabling all new project functionalities within the plurality of functionalities, wherein the new project functionalities comprises those functionalities within the plurality of functionalities that are associated with the new project.

5. A computer implemented method for designating which of a plurality of sets of functionalities of a plurality of plug-in programs are enabled with respect to an extendable software application to which the plurality of plug-in programs are associated, the computer implemented method comprising:

detecting a definition of a set of functionalities in a function group provided by a vendor to an extendable software application;

determining whether the extendable software application is being used with respect to a project targeted to a particular server environment in which a user is working using the definition of the set of functionalities, wherein the at least one functionality is part of a plug-in program for an extendable software application, wherein the plug-in program provides one or more additional services to the user using the extendable software application, and wherein the extendable software application is a software application that accepts plug-ins developed by third-party vendors;

responsive to the extendable software application being used with respect to the project, enabling at least one set of functionalities, within the plurality of sets of functionalities, with respect to the extendable software application, wherein the at least one set of functionalities is associated with the project; and

disabling all non-project functionalities within the plurality of sets of functionalities, wherein the non-project functionalities comprises those functionalities within the plurality of sets of functionalities that are not associated with the project.

6. The computer implemented method of claim 5 wherein enabling at least one set of functionalities comprises enabling a first set of functionalities associated with a first plug-in program and a second set of functionalities associated with a second plug-in program, wherein the first plug-in program and the second plug-in program are different.

7. The computer implemented method of claim 5 further comprising:

receiving a designation of a new project;

responsive to receiving, disabling the at least one set of functionalities; and

responsive to receiving, enabling all new sets of project functionalities within the plurality of sets of functionalities, wherein the new sets of project functionalities comprise those functionalities within the plurality of sets of functionalities that are associated with the new project.

8. A recordable-type medium storing a computer program for designating whether the at least one functionality of at least one plug-in program is enabled with respect to an extendable software application to which the at least one plug-in program is associated, the computer program product comprising:

instructions for detecting a definition of a set of functionalities in a function group provided by a vendor to an extendable software application;

instructions for determining whether the at least one functionality is associated with a project targeted to a particular server environment in which a user is working using the definition of the set of functionalities, wherein the at least one functionality is part of a plug-in program for an extendable software application, wherein the plug-in program provides one or more additional services to the user using the extendable software application, and wherein the extendable software application is a software application that accepts plug-ins developed by third-party vendors;

instructions for, responsive to the at least one functionality being associated with the project, enabling the at least one functionality with respect to the extendable software application; and

instructions for, responsive to a change in a state of the project, disabling the at least one functionality with respect to the extendable software application.

9. A recordable-type medium storing a computer program for designating which of a plurality of sets of functionalities of a plurality of plug-in programs are enabled with respect to an extendable software application to which the plurality of plug-in programs are associated, the computer program product comprising:

instructions for detecting a definition of a set of functionalities in a function group provided by a vendor to an extendable software application;

instructions for determining whether the extendable software application is being used with respect to a project targeted to a particular server environment in which a user is working using the definition of the set of functionalities, wherein the at least one functionality is part of a plug-in program for an extendable software application, wherein the plug-in program provides one or more additional services to the user using the extendable software application, and wherein the extendable software application is a software application that accepts plug-ins developed by third-party vendors;

instructions for, responsive to the extendable software application being used with respect to the project, enabling at least one set of functionalities, within the plurality of sets of functionalities, with respect to the extendable software application, wherein the at least one set of functionalities is associated with the project; and

instructions for disabling all non-project functionalities within the plurality of sets of functionalities, wherein the non-project functionalities comprises those functionalities within the plurality of sets of functionalities that are not associated with the project.

10. The recordable-type medium of claim 9 further comprising:

instructions for receiving a designation of a new project;

instructions for, responsive to receiving, disabling those functionalities of the at least one set of functionalities that are not associated with the new project; and

instructions for, responsive to receiving, enabling all new sets of project functionalities within the plurality of sets of functionalities, wherein the new sets of project functionalities comprise those functionalities within the plurality of sets of functionalities that are associated with the new project.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 034194/0280 →
RE-RECORD TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL/FRAME 015987/0749 Recorded Jun 1, 2005
From: BERG, DANIEL CHRISTOPHER; BHADRIRAJU, VIJAY KUMAR; BLANCETT, BRAD LEE; BRIDGHAM, CHARLES DYER; CHEN, JIALIN C.; ELDER, MICHAEL DAMEIN; HOLT, DEREK FRANCIS; LANUTI, JOHN DAVID; SCHACHER, RITCHARD LEONARD; SHOLL, JASON ASHLEY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016295/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2005
From: BERG, DANIEL CHRISTOPHER; BHADRIRAJU, VIJAY KUMAR; BLANCETT, BRAD LEE; BRIDGHAM, CHARLES DYER; CHEN, JIALIN C.; ELDER, MICHAEL DAMEIN; HOLT, DEREK FRANCIS; LANUTI, JOHN DAVID; SCHACHER, RITCHARD LEONARD; SCHOLL, JASON ASHLEY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 015987/0749 →