<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta name="copyright" content="Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html. Contributors: IBM Corporation - initial API and implementation" />
<meta name="DC.rights.owner" content="(C) Copyright 2000, 2008" />
<meta content="public" name="security" />
<meta content="index,follow" name="Robots" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta content="task" name="DC.Type" />
<meta name="DC.Title" content="Publishing your application" />
<meta name="abstract" content="Publishing involves copying files (projects, resource files, and server configurations) to the correct location for the server to find and use them. In the test environments, these files may already be in the correct location. In some cases, temporary copies of the server configurations may be created. You can either publish your application automatically or manually." />
<meta name="description" content="Publishing involves copying files (projects, resource files, and server configurations) to the correct location for the server to find and use them. In the test environments, these files may already be in the correct location. In some cases, temporary copies of the server configurations may be created. You can either publish your application automatically or manually." />
<meta content="applications, publishing to servers, servers, publishing applications" name="DC.subject" />
<meta content="applications, publishing to servers, servers, publishing applications" name="keywords" />
<meta scheme="URI" name="DC.Relation" content="../topics/twsrvprf.html" />
<meta content="XHTML" name="DC.Format" />
<meta content="twpub_wst" name="DC.Identifier" />
<meta content="en-us" name="DC.Language" />
<link href="../../org.eclipse.wst.doc.user/common.css" type="text/css" rel="stylesheet" />
<title>Publishing your application</title>
</head>
<body id="twpub_wst"><a name="twpub_wst"><!-- --></a>


<h1 class="topictitle1">Publishing your application</h1>



<div><p><em>Publishing</em> involves copying files (projects,
resource files, and server configurations) to the correct location for the
server to find and use them. In the test environments, these files may already
be in the correct location. In some cases, temporary copies of the server
configurations may be created. You can either publish your application automatically
or manually.</p>

<div class="section"><strong id="twpub_wst__twpub_autotitle"><a name="twpub_wst__twpub_autotitle"><!-- --></a>Automatically publishing to a server</strong><p id="twpub_wst__twpub_auto1"><a name="twpub_wst__twpub_auto1"><!-- --></a>If the <span class="uicontrol">Automatically publish when starting servers</span> check
box on the Server preferences page (<span class="menucascade"><span class="uicontrol">Window</span>
 &gt; <span class="uicontrol">Preferences</span> &gt; <span class="uicontrol">Server</span> &gt; <span class="uicontrol">Launching</span>
</span>) is selected, the server tools check to see if your project
and files on the server are synchronized. If they are not, the project and
the files are automatically updated when the server is either started or restarted.</p>
<p id="twpub_wst__twpub_p2"><a name="twpub_wst__twpub_p2"><!-- --></a>To publish your application manually you can complete one of
the following in the Servers view:</p>
<div class="p" id="twpub_wst__twpub_auto2"><a name="twpub_wst__twpub_auto2"><!-- --></a>In the workbench,
you have several options to choose for the <em>Publishing</em> settings. You
can set these <em>Publishing</em> settings by going into the Servers view, right-click
the server and select <span class="uicontrol">Open</span>. The Server editor opens.
In the <em>Overview</em> page of the server editor, under the <span class="uicontrol">Publishing</span> settings,
you are going to find the following settings:<ul>
<li><span class="uicontrol">Never publish automatically</span>: Specifies the workbench
should never publish files to the server.</li>

<li><span class="uicontrol">Automatically publish when resources change</span>:
Specifies that when a change is made to the files running on the server, the
number of <em>seconds</em> specified in the <span class="uicontrol">Publishing interval </span>control
will need to pass before the workbench calls a publish to happen on the server.
However, if you make a subsequent change to the files before this time interval
has completed, the publish is delayed as the timer is reset. The workbench
makes a publish to the server only after the full time interval has passed.
 If you set the publishing interval to 0 seconds, a change to the files running
on the server should automatically request a publish command to occur.</li>

</ul>
</div>
<p id="twpub_wst__twpub_auto3"><a name="twpub_wst__twpub_auto3"><!-- --></a>In the workbench, the default setting is the <strong>Use
automatic publishing settings</strong> option is enabled with a value set to the
publishing interval.</p>
<strong id="twpub_wst__twpub_manualtitle"><a name="twpub_wst__twpub_manualtitle"><!-- --></a>Manually publishing to a
server</strong><p id="twpub_wst__twpub_manual1"><a name="twpub_wst__twpub_manual1"><!-- --></a>If you do not want to wait for the automatic
publishing interval to pass, at anytime you can manually request the workbench
to issue a publish command to the server. Each manual publish command causes
a single publishing request to the server. To publish your application manually
you can complete one of the following in the Servers view:</p>
<div class="p"><ul>
<li><span id="twpub_wst__twpub_steps_ph1"><a name="twpub_wst__twpub_steps_ph1"><!-- --></a>Select the server and then click the  <span class="uicontrol">Publish
to the server</span></span> <img src="../images/launch_publish.gif" alt="This is an image of the Publish toolbar&#10;icon." /> <span id="twpub_wst__twpub_steps_ph2"><a name="twpub_wst__twpub_steps_ph2"><!-- --></a>icon located on the toolbar.</span></li>

<li><span id="twpub_wst__twpub_steps_step2"><a name="twpub_wst__twpub_steps_step2"><!-- --></a>Right-click the server and then select  <span class="uicontrol">Publish</span>.</span></li>

</ul>
</div>
</div>

<div class="section"><p id="twpub_wst__twpub_p3"><a name="twpub_wst__twpub_p3"><!-- --></a>All the projects defined in the server configuration
that are associated with the selected server are published. The resources
in these projects are transferred to the location that is defined by the server.</p>
</div>

</div>

<div><div class="reltasks"><strong>Related tasks</strong><br />
<div><a href="../topics/twsrvprf.html" title="Using the Preferences page, you can define attribute used for testing projects by the servers.">Defining the server preference</a></div>
</div>
</div>

</body>
</html>