<html><head>
<link rel="stylesheet" href="../../default_style.css">
<title>Eclipse Foundation</title></head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000">
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=left width="72%"> <font class=indextop> eclipse.org infrastructure 
      migration faq</font> <br>
      <font class=indexsub>&nbsp; </font></td>
    <td width="28%"><img src="../../images/Idea.jpg" height=86 width=120></td>
  </tr>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Eclipse 
      Community Bulletin </font></b></td>
  </tr>
  <tr> 
    <td> <br>
      <h1 ALIGN="CENTER"><b><span style='font-size:16.0pt;font-family:Arial;"Times New Roman"'><b> 
        Eclipse.org Infrastructure Migration FAQ</b></span></b></h1><br>
      Modified: October 26, 2004<br>
      <ol>
        <li><b> What services will be affected by the outage? <br>
          </b> 
          <p><b>Friday, November 12th, 19:00 EST - Sunday, November 14th, 12:00 
            EST </b><br>
            <br>
            <b>CVS:</b> all CVS operations will be inaccessible for most of the 
            outage window.</p>
          <p><b>Eclipse Web Site:</b> The web site will be in &quot;limp&quot; 
            mode for the length of the outage; content will be static and will 
            only serve the purpose of 
            allowing viewers to reach the downloads and the mirror sites.</p>
          <p><b>Bugzilla:</b> all Bugzilla operations will be inaccessible for 
            most of the outage window.</p>
          <p><b>Newsgroups:</b> all Newsgroup operations will be inaccessible 
            for most of the outage window, including posting messages and reading 
            archives.</p>
          <p><b>Mail: </b>all Mailing operations will be <b>queued</b> for the 
            length of the outage, so we strongly encourage you to postpone sending 
            e-mails until the servers are back online. You may receive warnings 
            that your e-mail was undeliverable. <b>PLEASE DO NOT RESEND YOUR MAIL</b>.</p>
        </li>
        <p></p>
        <hr size="1">
        <li><b>Will I lose any data during the move?</b> 
          <p> No. The servers will be taken offline and a full backup will be 
            done to each server, and professional movers will securely transport 
            the servers to their new location. Access will be restricted to the 
            servers until we are sure that the move has been successful.</p>
          </li>
        <p></p>
        <hr size="1">
        <li><b>Why are the servers being moved to an ISP? </b> 
          <p>The Eclipse Foundation is taking over control and responsibility 
            of the eclipse.org website from IBM. To ensure a consistent high level 
            of service and availability, the Eclipse Foundation has decided to 
            host eclipse.org with an Internet Service Provider (ISP). 
        </li>
        <p></p>
        <hr size="1">
        <li><b>Will eclipse.org be allocated more bandwidth after the move? It's 
          often slow to download a drop from the eclipse download servers, especially 
          after a product release.</b> 
          <p>No, the new site will have the same amount of bandwidth. We encourage 
            users to take advantage of the available mirrors during peak times 
            after a product release.</p>
        </li>
        <p></p>
        <hr size="1">
        <li><b>Will the servers be faster? Often it is is very slow to check out 
          code from dev.eclipse.org or query the bugzilla bugs database. </b> 
          <p>No, the existing hardware will be moved to the new location. The 
            Eclipse Foundation will be installing new servers at a later date. 
          </p>
        </li>
        <p></p>
        <hr size="1">
        <li><b>Will eclipse.org mail be lost during the transition? </b> 
          <p>No, it will just be queued until the servers are online again and 
            then delivered as normal. </p>
        </li>
        <hr size="1">
        <li><b>Where should I direct infrastructure requests after the transition? 
          </b> 
          <p>As usual, please send all questions to webmaster@eclipse.org.</p>
        </li>
      </ol>
    </td>
  </tr>
  </table>
  &nbsp; 
	<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		
  <tr> 
    <td> 
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <hr width="85%">
      <blockquote> 
        <blockquote> 
          <blockquote>
            <p><font size="1">Brand or product names are registered trademarks 
              or trademarks of their respective holders. Java and all Java-based 
              trademarks are trademarks or registered trademarks of Sun Microsystems, 
              Inc. in the United States and other countries.</font><br>
              <br>
            </p>
          </blockquote>
        </blockquote>
      </blockquote>
      <hr width="85%">
    </td>
		</tr>
        </table>&nbsp;        
&nbsp;
</body></html>
