Home > Articles > Programming > Java

📄 Contents

  1. The Concept of Perspectives
  2. Zend Studio for Eclipse Preferences
  3. Summary
This chapter is from the book

Zend Studio for Eclipse Preferences

As with any major software product, you would expect to be able to have some sort of master control over its performance and look and behavior. Zend Studio for Eclipse is no exception; however, there are some differences between the Zend Studio for Eclipse product layer itself and the Eclipse foundation on which it is built. Under the Window menu, there is an item that opens up this Pandora's box of options: Preferences, located at the bottom of the menu displayed when you select Window. If you're not careful, you can get yourself into some trouble using this option. However, it's not too difficult to back yourself out of any corners that you may find yourself in.

Before we get too close to the details of the preferences, here are just a few words about the nature of the preferences. Some preferences have systemwide ramifications and some are quite specific to a certain topic or process. We guide you through most of these options in this chapter, but we merely mention some of these differences as such. Throughout the remainder of this chapter, we first discuss systemwide preferences and provide some detailed examples of them and then describe some specific preferences that affect how PHP is handled within Zend Studio for Eclipse itself. We deal with all other preference settings that may be adjusted depending on a certain topic inside that specific context.

Systemwide Preferences

In the following sections you will learn about much of the systemwide preferences that can be controlled in this IDE. Some are of a general nature that can affect the overall environment and some are more specific to a certain aspect of the IDE.


General preferences are exactly that—preferences to the overall environment of the Zend Studio for Eclipse IDE. With the highlight on the first item, named General, you can see the initial control area, as shown in Figure 3.5. Here, you are offered three checkbox controls and an Open Mode for item selections within the IDE. The three checkboxes are as follows:

  • Always Run in Background—When this option is checked, the developer can continue working while longer running processes are executed in the background.
  • Keep Next/Previous Editor, View and Perspectives Dialog Open—When this option is turned on, the Selection dialog for Editor, View, and Perspective Cycling stays open. When it is not selected, the dialog disappears. See the following note for a brief description on cycling.
  • Show Heap Status—This option turns on an indicator that shows how much Java Heap memory is being used by Zend Studio for Eclipse. This indicator generally shows up in the bottom-right side of the display on the status bar. It also shows an icon that allows you to perform garbage collection.
Figure 3.5

Figure 3.5 General Preferences window with fully expanded options list.

Figure 3.6

Figure 3.6 The View Cycling dialog.

Within the General Preferences window, the section labeled Open Mode in the lower half of the screen includes the options Double Click and Single Click. Choosing one of these options simply means that anywhere within the Zend Studio for Eclipse environment if you are selecting an item, you can either double-click or single-click on it. Also, within the Single Click option, you can control the hover action or the use of the arrow keys within that context.

If you click on the tree listing on the left side of this General Preferences window and select the Appearance item, you are given a host of options that, oddly enough, have an effect on the overall appearance of the Zend Studio for Eclipse IDE. The first option here simply allows you to select what I call a master perspective, or as Zend describes it, a presentation. If you change this to another option, Eclipse 2.1, and apply the changes, you see a totally different layout or presentation to the overall IDE. The perspective toolbar switches to a vertical orientation on the left side of the IDE, and other views are opened for you. If you don't like this presentation, change it back to the default in the preferences window. As another example, you can set the tabs that are on the top of the code editor to move to the bottom of the view if you prefer by selecting Bottom instead of Top in the Editor tab position. You can control the tab positions on the views as well as the editor if you want, and you can show or hide the descriptive text on the perspectives toolbar from this Appearance section.

Under the Appearance tree item are two subitems: Colors and Fonts and Label Decorations. Here, you can control the colors and font sizes of many of the editors, views, and wizards within Zend Studio for Eclipse. The Label Decorations simply add more information to a particular item. For example, if you turn on the PHP Problem Decorator and apply the changes, a small red X appears on any of the tree items in the PHP Explorer that may have problems. This is an aid in locating code issues within each tree item.

The next tree item under General Preferences is the Compare/Patch option. There are two tabs here to be concerned with. On the first tab, General, there are a number of checkboxes that you can adjust. Without going into each specific checkbox attribute, we can summarize all these options to have an effect on the comparison of versions of your code, whether with local histories of saved files or with CVS versions of your code. The second tab gives a little more visual clue as to what you will be adjusting. The Text Compare tab, shown in Figure 3.7, shows how a code comparison will look as you make some of the adjustments.

Figure 3.7

Figure 3.7 The Text Compare tab of the Preferences window.

On this tab, you can see that there are options in how the comparison between two files is displayed. If you want to see this in action, close your Preferences window and select a file in the code editor that you have been editing; right-click and then select Compare With, Local History from pop-up menu. If there is a local history, Zend Studio for Eclipse displays that with the comparison options that you have set.

The next option under the General Preferences is called Content Types; here, you simply assign different file types to various code styles. This is done via the file's extension. Most of these file associations are preset for you and don't really need to be adjusted, but the option is here for you just the same. For example, if you expand the text option and select the PHP tree item (PHP Content Type), you see a list of file associations that are preset (locked in) for Zend Studio for Eclipse. You have the option of adding new associations if you so choose.


The next major portion of the General Preferences window has to do with the editors that you will be using within Zend Studio for Eclipse. There is another section specific to PHP that directs the editor on a more specific level, but here, as the name implies, you can adjust the editors' features on a general level. Clicking on the Editors tree item itself reveals only a few options. You can turn on or off the tabs that appear on the top of each open file in the code editor by selecting the Show Multiple Editor Tabs option. Just above that, you can control the number of files that show up on the list of recently used files. The default is four, but I usually increase this number to at least eight when I'm working on a project of any significance.

The next items that you can control here are all related in some degree, and this is a feature that I am growing to like. You can tell Zend Studio for Eclipse to close open files automatically if more than a set number of files is currently open. If this option is turned on, the "first in, first out" rule is put into effect. If another file is opened in the editor, the oldest open file is closed (and you can control what happens to that file as it is being closed) and the newly requested file is opened. This method of file management can be well employed to maintain a "clean" development environment.

The next two tree items that are sublevels to the Editor level are File Associations and Structured Text Editors. In the File Associations area, you can control what happens when certain file types are encountered by Zend Studio for Eclipse. You can open specific editors, select *.sql from the File Types list, for example, and can have Zend Studio for Eclipse open the SQL Source Editor or the SQL Editor automatically. If you have two or more options per file type, it would be wise to select a default editor so that Zend Studio for Eclipse can open the files in the appropriate editor with little fuss.

After you have established some of your preferred file associations, you can look at the next option under the Editors branch called Structured Text Editors. This area of options relates to any editors that Zend Studio for Eclipse uses for structured text. This means any kind of code or HTML style of content that is not merely descriptive text but is more computer language based. In general terms, you can have matching brackets highlighted for you in these editors, you can have errors reported to you, you can be warned when unsupported content appears in those editors, and you can have code folding enabled where applicable. You can also control the color of the highlighted brackets if you want. The next tab within this same tree option is called Hovers; here, you can control how the hover pop-up help is displayed. For example, if you want to see problem help only when you hover over identified problem HTML code while holding down the Control (Ctrl) key, you can select the Problem Description item and add the pressed key modifier to it.

Still under the General Editors tree branch is a section called Text Editors. Without going into all the details here, you can control many features and options in relation to text editors within Zend Studio for Eclipse. For example, you can turn on or off the display of the line numbers, you can highlight the current line that the editor is focused on, and you can alter the width of the inserted spacing of the Tab key. Under the Annotations area, you can alter the colors and appearance of editor icons like the breakpoint, the error signifier (red underline squiggles), and code warnings, to name a few. You can even have your editors do spell checking, but this may not be advisable because a great deal of structured content like HTML and PHP uses short-formed and cryptic words for commands and functions. There would naturally be a lot of spelling errors in this context, so turn on this option with care and understanding of what it will do.

The next item under the General section of the Preferences is the keyboard mapping level. Under Keys, you can remap any keyboard key combination that is preset and make it your own. The neat thing here is that the keys are mapped in context. By that, I mean that you can map a key combination for one context of Zend Studio for Eclipse—Ctrl+B to build all code in a project, for example—and have the same key combination defined for another context—to turn on bold in the WYSIWYG editor. You can view these key mappings in the data grid and then alter them in the lower portion of this screen where the bindings are shown, see Figure 3.8.

Figure 3.8

Figure 3.8 The Key mapping Preferences window.

The next branch on the General tree is the Perspectives branch. Here, you can control certain aspects of the preferences and how they react in the Zend Studio for Eclipse IDE. You can tell the perspective to open in a new window, open as a new view within an existing perspective, and you can tell Zend Studio for Eclipse to always open a certain perspective when a new project is started.

Below the Perspectives branch is the one called Search. Here, you can control how the Search feature works. You can tell it to reuse existing search windows on subsequent searches so that the desktop is less cluttered, you can colorize your results, and you can give the search view a default perspective in which to reside.

Following the Search branch is the Startup and Shutdown section. There is very little to control here except which Eclipse plug-ins should be active when Zend Studio for Eclipse starts and some workspace controls. One item that is recommended to be always active is the Confirm Exit When Closing Last Window option. This is a good safety feature to enable in Zend Studio for Eclipse because there is such potential to have a lot of views open at any one time, and you would not necessarily want to close down the whole environment when you want to close down only a few views.

The next branch, Web Browser, allows you to control the internal browser that Zend Studio for Eclipse uses. You can merely use the internal browser or select an external one to use. The three browser options that are initially offered to you are the default system browser (one your environment always launches when you ask for something from the Web), Firefox, and Internet Explorer. You can also define another browser to use if you like (Opera) and mark it as the default. Of course, the internal browser has a few advantages to that of the external one: You don't have to leave the Zend Studio for Eclipse environment, and it resolves and displays content more quickly.

The Welcome section is the place where you control how Zend Studio for Eclipse starts up and what features are displayed to you when you begin to use the IDE for your day's work. You can set it up to look almost browserlike with different quadrants for the initial splash screen, or you can simply ignore all this and get right into the IDE with the PHP perspective as your initial starting point.

The last area of interest under the General level of Preferences is labeled Workspace. On this branch you can set some overall workspace features such as when to build your projects (automatically) and whether you should save all open files before a build. There are also some sub-branches here where you can adjust your language settings, determine your project build order (good if one project depends on another one and needs to have one built before it), manage any linked resources that are associated with the workspace, and manage the local saved files history (how long to keep them, how many saves per file to record, and how much space to reserve for the file size).

This has been a rather lengthy review of just the General options that Zend Studio for Eclipse has at its disposal. If you are looking at some of the figures included so far, you will notice that we have gone down only one of the many different braches in the preferences tree. For the sake of space and the overall purpose of this book, we are skipping over all the other main tree branches and now focusing only on the PHP preferences branch.

PHP Preferences

Under the PHP branch, as the preference's name suggests, you adjust and maintain the options available to you in Zend Studio for Eclipse that directly affect the PHP portion of the environment. There is a lot to be done and a great deal that is within your power to control.

When you click on the PHP main branch level of the preferences, you see an option on what will happen when you double-click on something in the PHP Explorer. You can either have Zend Studio for Eclipse go into the selected element or have the element expanded if that is possible. If you have the Link with Editor option also turned on in the IDE, you see duplicating actions because the link activates on the first click of the mouse and then the double-click action takes place.

Code Analyzer

The second major section in the PHP preferences branch is labeled Code Analyzer. Here, you can control the severity levels of the anything that the analyzer picks up and give them one of three levels: error, warning, or ignore. You can even do this on a project-by-project basis. The code analyzer scans through your open code as you create it or as you import or modify existing code. Any issues that it comes upon are reported in the Problems view and are also displayed in the code editor as errors (in red usually) or warnings (in yellow). The option here is to be able to turn off certain errors that may occur repeatedly or raise lighter issues to full-scale error codes; it is up to you and you can define each code issue to be different.

Code Coverage

The Code Coverage portion of the PHP preferences area is merely a representation of what will be displayed when you run the code profiler. The code that has been covered is shown with different shading than code that has not been covered. The colors that can be used are available in the General Preferences section; locate Appearance, Colors and Fonts, and then expand the PHP Debug Tree option.

Code Gallery

Code Gallery is the next section available to you for control and management. Here, you can select from your own code library of classes or functions and one supplied online by Zend. You can also include others that may exist by using the Add functionality. After these galleries are activated within your copy of Zend Studio for Eclipse, you can choose code from within them for use in your own projects.


Because a large part of Zend's fame is based on its rock-solid PHP debugger technology, you would expect a lot of options in the Debug portion for you to manage. This is indeed the case with the Debug options under the PHP branch within Zend Studio for Eclipse. Figure 3.9 shows the main level of the debugger preferences. Here, you can select the default server that you want to run the debugger through and what version of PHP you will be debugging within.

Figure 3.9

Figure 3.9 The main PHP Debug page of the Preferences window.

Within the PHP Debug branch are two sub-branches labeled Installed Debuggers and Workbench Options. Within the Installed Debuggers branch you can manage the finer details of the debugger that is in use by selecting it and clicking on Configure. There you can change the Debug Port, the client Host/IP number and a few other options. If you had a different debugger definition installed here, this is the place that you would adjust its settings as well.

Under the branch called Workbench Options you can make some choices about how the debugger will react when it is invoked. You can tell Zend Studio for Eclipse to revert to the PHP perspective when the debugger is finished and you can allow multiple debug sessions to run concurrently just to name the first two.


Moving on from the Debug options, we next go to the Editor options branch. These options are specific to the editing of PHP code. Other, more general editor options are controlled under the General Preferences branch discussed earlier in this chapter.

Code Assist

In the Code Assist section of the Editor preferences, you can control how and when the code promptings of PHP are activated. As you can see in Figure 3.10, there are a number of items that you can control. Interesting to note here is the fact that the code assistant is context sensitive. When you are in a code file and there are variables defined in other classes or functions within the same file, they are not, by default, offered within the Code Assist pop-up.

Figure 3.10

Figure 3.10 The Code Assist page of the Preferences window.

Other options here control other aspects of Code Assist. The biggest option is the one that directs Zend Studio for Eclipse to either overwrite on the insertion of code or insert the completed code. Insertion is the default choice.

Last on this screen is the enabling or disabling of the auto-activation of the code assist itself, and if the auto activation is enabled, how long in milliseconds to delay before the code assistant pops up.

You can also do some filtering within the list of code that is offered during the assist listing of possible hits. You can screen out constants, make the constants' inclusion be case sensitive, and so on. At the bottom of this window is the control of how the code assistant is launched (automatically and with or without a timer delay). Figure 3.11 shows the code assistant activated when one of the session functions is being coded.

Figure 3.11

Figure 3.11 PHP code assistant in action.

Notice that this code assistant is also available for the PHPDoc portion of your coding. When the PHPDoc borders are defined properly (/**), you can start typing in any of the predefined attributes (@author, @return, @Desc, and so on) of the block, and the code assistant begins to help you right away.


Code folding is the next option available to you as you travel down the Editor preferences branch. Code folding is the ability to suppress the code that is grouped together in a function or class methods. The benefit is to collapse any code that you are working on that you know is functioning properly because you simply want it out of the way for now. The preferences here are few, in that you can turn the folding feature on or off and that you can initially fold classes, functions, or PHPDoc portions of code. HTML code can also be folded in the code editor, but there are currently no preference features with which to control it.


Next on the list of preferences within your domain of control in Zend Studio for Eclipse is the ability to manipulate the hovering effect within the PHP code editor. If you pause (hover) your mouse pointer over a function definition, for example, you see a pop-up box that describes the full definition of that function. And if you press the Control (Ctrl) button at the same time as you hover, you see the full code definition of that function.

Syntax Coloring

Syntax coloring is a great feature for PHP developers. The features within your control are those of the coloring of the code within its contexts. This is more simply known as the content types, and they are all listed in the control box at the top of this window. The PHP tags themselves (Boundary Maker), the HEREDOC designation, the variables, and so on are all colored differently within the code editor. As you can see in Figure 3.12, the comments are bold and italicized.

Figure 3.12

Figure 3.12 The Syntax Coloring page of the Preferences window.

If you ever get into trouble with the code colorizations, you can either restore the default settings for the content type in question or restore the default settings for all the content types by choosing the appropriate button at the bottom of this window.

Task Tags

The task tags are the next items within the Editor preferences that are at your disposal to manage. They are the different designations that you can set up within the Task Manager view. They are the different tags that you assign to the different tasks that may need attention within your projects. You can make them High, Normal, or Low in priority. As shown in Figure 3.13, three task tags are defined in the Preferences window, and all three of them are in use in the code editor and listed in the Tasks view just below that. Additionally, you can see in the code editor that these task tags are activated only within the context of code comments.

Figure 3.13

Figure 3.13 The Task Tags page of the Preferences window and tags in use in PHP code editor.


In the next section, called Typing, you are able to control how certain parts of your code can be automatically completed for you. For example, when you begin to code a function and are beginning to open the curly braces, you can have Zend Studio for Eclipse automatically close the braces for you. This feature can be a great convenience, or it can be an annoyance. If you want to enter some other text and are not yet ready to close the brace, you spend just as much time removing the offered closing brace as you would save by having it done for you. On the other hand, how often have you been looking at your code wondering where the syntax error is, just to discover that you did not close an open brace?

Your decision whether to turn on this feature comes down to what you are used to and what you want Zend Studio for Eclipse to do for you. The other items that can be automatically completed for you are strings, round braces, square brackets, and PHPDoc comment regions. You can also control how the Tab key works within the coding context from this dialog.


Formatter is next on the list. Specific to the PHP portion of Zend Studio for Eclipse is how the code is indented and formatted when you run the code formatter within the code editor. You can write your code as ugly as you like and then run the code formatter on the open file, and it will perform its cleanup formatting on the code based on your settings here (see Figure 3.14).

Figure 3.14

Figure 3.14 Display of selected formatting profile.

What you initially see in this dialog is merely a sample of what your code will look like after it is run through the formatter. To alter the appearance, you need to select the format profile from the drop-down list at the top and then click on Show. In the resulting tabbed dialog, shown in Figure 3.15, you have total control of how your braces are indented, if your braces should be on the same line as the defining entity, where you want whitespace, and quite a lot more. When your changes are ready, just save them, and you return to the displaying dialog to see what it will all look like.

Figure 3.15

Figure 3.15 Formatting profile creation dialog.

You can even define your own code formatting profile by clicking on the New button and using an already-defined profile as a starting point. You also have to name your new profile before you can begin altering your settings. And, as is true for many of these preference settings, you can also make a formatting profile on a project-level basis by using the link at the top right of this dialog.

All the above subsections in the Editor preferences area are merely directives that tell Zend Studio for Eclipse where these features are located. With a few exceptions, these items are simply told where (what path) their information or functionality lies. For example, the PHP Executables option just needs a name for the executable in question and its path location.

Skipping a few of the other minor branch options entirely, we will next touch on a few of the remaining less significant ones to make you aware of them and to briefly comment on their functionality.


The Profiler option merely wants to know if it should automatically switch to the profile perspective when you start a profiling session. You can have it start, not start, or ask you each time.


The Templates option provides another great potential time-saver for PHP developers. The code templates section allows you to set up code frameworks or skeletons and incorporate them into your code as you write by using a simple keyboard combination. When these templates are built, they are invoked in concert with the code assist process.

If you are writing a lot of code, for example, that often uses an if…then construct, you can set up a template called ifthen and define the skeleton of the code there, as shown in Figure 3.16. You can even insert standard values like a reference to today's date and where you want the cursor to land after the block of code is inserted into the PHP editor.

Figure 3.16

Figure 3.16 Defining an ifthen code template and assigning it a key combination.

To call these templates after they are defined, begin to type their name, and you see that name offered to you in the code assistant. When you have it in focus, press Enter to select that template, and it is inserted into your editor at the current location of the cursor.

These templates can also be imported and exported so that other developers or team members who are interested in your templates can use them.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020