Skip to main content
Jump to: navigation, search

Using Phoenix

Revision as of 13:11, 30 May 2006 by (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Use this page for help on authoring websites under Phoenix guidelines.

General steps to get going

  • Familiarize yourself with Phoenix page layouts. Understand the 10 components of a page, and which ones you can modify.
  • Set up your Eclipse environment. This includes CVS, PHP and XAMPP plugins.
  • Update your local files from the repository before making changes. This will help prevent commit conflicts later.
  • Understand template.php file and the _projectCommon.php. These were put in your project's directory by the webmaster.
  • Commit new and changed pages to the sandbox first (Foundation staff only). View them at .
  • Commit new and changed pages to the repository. View them at .

CVS repository setup

There are two repositories: The website repository and the sandbox repository. The sandbox repository is only used by Foundation staff.

   Website repository
   Host name
   CVS root 	/cvsroot/org.eclipse
   Project 	www
   Connection method 	extssh
   Sandbox repository
   Host name
   CVS root 	/cvsroot/org.eclipse
   Project 	www
   Connection method 	extssh

Phoenix page layout

1. Top banner. This is an common element that can only be modified by the Eclipse Foundation.

2. Menu bar. This is an common element that can only be modified by the Eclipse Foundation.

3. Nav bar - common navs. These common navs are defined by the Eclipse Foundation.

4. Page title. Marked up with the h1 tag:


5. Section title. Marked up with the h2 tag:

<h2>Open Source Community</h2>

6. Section text. Marked up with the p tag:

<p>Eclipse is an open source community...</p>

7. Featured element. Created using a DIV tag

    <div class="homeitem">
       <h3>Community News</h3>
             <li><a href="http://somesite">Some news! Teaser text  <span class="dates">2005-10-06</span></li>
             <li><a href="http://somesite">Some other news! Teaser text  <span class="dates">2005-10-06</span></li>

8. Side element. Created using a DIV tag

    <div class="sideitem">
       <h6>New to Eclipse?</h6>
          <li><a href="#">Community Resources</a></li>
          <li><a href="#">News Corner</a></li>

9. Nav bar - project common navs. These navs are defined in your _projectCommon.php file and are displayed for all pages in your project. They are not visually different from other navs.

10. Nav bar - page navs. These navs are specific to one page, and are defined with the PHP file itself. They are not visually different from other navs.

Creating new pages

  • Step zero is to read the PHP Security Guide. These web pages are now active PHP programs and thus security is everyone's business.
  • Before starting, ensure WebMaster has put these files in your project home directory: template.php and _projectCommon.php
  • Configure _projectCommon.php to specify the theme you want, and to add any project-wide navigation links you need. Uncomment (remove the leading "#") from the lines as required.
  • Copy template.php to a new name. For instance, index.php or downloads.php
  • Edit your new PHP page, and modify the page-specific settings, such as title, keywords, author, and page-specific Nav bars. Use a descriptive title and keywords to help search engines find your site easily.
  • . Commit your PHP page to the repository. It will be accessible from the web shortly.
  • If the page is replacing an old .html page, modify your html page to redirect to the new page (see Preserving Links).

Preserving links (using redirects)

  • Your old file.html has been replaced with file.php, so you want file.html to transparently redirect to file.php
  • Edit file.html and put the following lines in it:
         <meta http-equiv="refresh" content="0; url=file.php" />
         <a href="file.php">This document has moved</a>
  • Test the redirect. It should work, you shouldn't see the body text, and your browser's back button should still work

Themes available

  • Phoenix - the standard theme
  • Miasma - a light, easy to read theme
  • Industrial - a dark variation of the Phoenix theme
  • Blue - a light blue variation of the Phoenix theme

Available styles

Project Status Infrastructure

  • Eclipse projects belong to a larger community - Eclipse - which is comprised of a not only the committers and developers on the project, but also the developers on other projects, plug- in developers outside the Eclipse projects, and the entire ecosystem surrounding Eclipse. In order to keep all these people up-to-date on the direction and status of the Eclipse projects, each project needs to provide timely and accurate descriptive and status information.
  • The project status information (files) drive a number of the web pages including the dashboard, the timeline, lists of projects, lists of mailing lists and newsgroups, status pages, and more.
  • The project status information files integrate with the Phoenix web structure and it's all explained in step-by-step detail (but on another set of pages).

Using polls

You can use an unlimited number of polls in any phoenix-based web page. Although polls may be used indefinitely, the results are deleted every three months.

  • To define a new poll, add this code to your PHP page:
   # Enable polls on this page
   # Polls are good for 3 months!
   # Poll 1
   $Poll = new Poll(1, "What's your favourite Phoenix skin?");
   $Poll->addOption(1, "Phoenix");
   $Poll->addOption(2, "Miasma");
   $Poll->addOption(3, "Blue");
   $Poll->addOption(4, "Industrial");
   $Poll->addOption(5, "I prefer frames");
   # $Poll->noGraph();  # uncomment to disable bar graph
   $pollHTML = $Poll->getHTML();

  • The $pollHTML variable now contains minimalistic HTML code to display the poll form or results.
  • Add the $pollHTML to your web page (here it's in a sideitem, but it can also be displayed in a homeitem):
Eclipse Insta-poll

<?= $pollHTML ?>

  • Define additional polls by copying the "Poll 1" block above, incrementing the value 1 to 2, and storing the HTML in a different variable:
   # Poll 2 - without a bar graph
   $Poll = new Poll(2, "Do you think this is another poll?");
   $Poll->addOption(1, "Yes");
   $Poll->addOption(2, "No");
   $Poll->noGraph();  # uncomment to disable bar graph
   $poll2HTML = $Poll->getHTML();

Back to the top