<!DOCTYPE book PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN" [
]>
<!-- =============Section:Getting Started============================= --> 
<chapter id="started">
	<title>Getting Started</title>
	<para></para>
	
	
	<!-- =========New Project=========================== -->   
	<sect1 id="started-newprj">
	<title>Creating a New Project</title>
		<para>
			In <application>Screem</application> you can edit web sites in two different ways. 
			You can load individual pages and edit them or you can load a project. 
			To load an individual page goto the 
			<menuchoice>
			<guimenu>File</guimenu>
			<guimenuitem>Open Pages..</guimenuitem>
			</menuchoice>.
			 Loading individual pages has several distinct 
			disadvantages, <application>Screem</application> can't keep track of the pages for automatic
	 		upload, it can't change links if you move a file within <application>Screem</application>
			and you can't use templates. 
		</para>
		<tip>
			<para>
				You are probably wondering what a project is. A project is a group of HTML and image files that make up one site. 
				The concept of projects is one of <application>Screem's</application> strong points. When you load the project file
				 the program remembers the site specific information such as where to upload it and what templates to use. 
				 Besides just remembering site specific information it also brings up all the files in your site and displays them 
				 on the left hand side of the program. Another significant advantage of projects is that you can setup up site templates
				  as well as page templates. That way if you have a basic site layout (like an img directory and a cgi-bin directory) 
				  <application>Screem</application> will create those default directories and files for you if create a site template. 
				  This can significantly reduce the time it takes to create a website from scratch.
			</para>
		</tip>
		<para>
			To create a site in <application>Screem</application> select 
			<menuchoice>
			<guimenu>File</guimenu>
			<guisubmenu>New</guisubmenu>
			<guimenuitem>New Site...</guimenuitem>
			</menuchoice>. 
			A wizard will then appear.
		</para>
		<figure id="sitewizardshot">
  			<title>Site Wizard</title>
  				<screenshot>
   				<screeninfo>Screem site wizard</screeninfo>
   				<graphic format="PNG"  fileref="figs/newPrj" srccredit="ME">
   				</graphic>
  				</screenshot>
 		</figure>
 		<para>
			During this wizard it will ask if for the default directory and a name. The directory it is asking for is where the site will reside
	 		on your hard drive. On the next page it will ask if you want to use a site template and a page template. Before you can use a site
	 		template or a page template you must create them by 
	 		<menuchoice>
	 		<guimenu>File</guimenu>
	 		<guisubmenu>New</guisubmenu>
	 		<guimenuitem>Site Template...</guimenuitem>
	 		</menuchoice> 
	 	</para>
		<tip>
			<para>
				Site templates are a way of standardizing your sites. You might want might want to put an image, script and download
		 		directory in all your sites. After you specify what site template you want, the program will go ahead and create those default
		  		directories and files that you specified. Page templates might contain a background image and the default layout of your site
		  		 as well as the default color scheme with <emphasis>no page specific information in it</emphasis>. That way when you add
		  		  a new page to your site you won't have to copy all standard layout information and you can go right to work.
		 	</para>
		</tip>
		<para>
			The wizard then asks if you want to use CVS for your sites development.
		</para>
		<tip>
			<para>
				CVS is a way for a group of people to work on a project at the same time with out breaking the code or the site. It does this by
		 		making the user editing a specific page to check it out before they start editing. That way no one else edits the page at the 
		 		same time. (If you are working alone you do not need this).
		 	</para>
		</tip>
		<para>
			The wizard then asks for your upload information. Make sure you fill this out correctly. The automatic FTP/WebDAV/RCP/SCP  is a real time saver when
	 		used correctly! Now you have completed the site wizard. Happy editing!
		</para>
	</sect1>


	<!-- =========Editing=========================== -->   
	<sect1 id="started-editing">
	<title>Editing</title>
		<para>
			The editor has a number of useful features with which to make editing your documents easier. (at least thats the aim) 
		</para>
		<itemizedlist>
     			<listitem><para>Syntax Highlighting</para></listitem>
     			<listitem><para>Inline tagging </para></listitem>
     			<listitem><para>Context sensitive menu </para></listitem>
     			<listitem><para>Auto completion </para></listitem>
     			<listitem><para>Auto entity insertion </para></listitem>
		</itemizedlist>
		
		<sect2 id="syntaxhighlighting">
		<title>Syntax highlighting</title>
			<para>
				With HTML documents all tags will be highlighted if you have this feature enabled. The tags are organised into groups and you
				can select a fore and back color for each group. Color coding is turned off by default to change that look at 
				<xref linkend="setup-preferences">.
				For Perl documents there is currently only fixed syntax highlighting. 
				The highlighting isn't done very well, but I think its better than the alternative of it being unstable and risking loosing what you
				are editing, as is the case with the GtkEditor widget. 
			</para>
		</sect2>
		
		<sect2 id="inlinetagging">
		<title>Inline tagging</title>
			<para>
				This is a particularly nice feature, by which, you get a popup menu of all the legal attributes for the current tag, based upon the documents DTD, or the users default DTD if the document hasn't got one. It
				works as follows. <sgmltag>&lt; BODY |&gt;</sgmltag> 
				Where the " | " character is the cursor. Now if space is pressed when the cursor is after the tag name, but still inside the 
				<sgmltag>&lt;&gt;</sgmltag>pair then the popup will appear. Now you may not actually want to use the popup menu, in which 
				case if you just ignore it andkeep typing it will disappear. This option can be disabled in the preferences if you so wish, and
		 		is turned ON by default. 
			</para>
		</sect2>
		
		<sect2 id="contextmenu">
		<title>Context sensitive menu</title>
			<para>
				A right click anywhere in the editor will popup the editor menu. This allows you to save pages, create new ones, gives closer
				access to the edit and CVS menus, and also allows you to execute helper applications and plugin scripts. There are two other
				options that may appear on the menu (when working with HTML documents) that may appear if you click on a tag. These are:
				<sgmltag>&lt;TAG NAME&gt;</sgmltag> at the top 
				and "Tag Attributes" at the bottom
			</para> 
			<para>
				The first gives you access to the same menu as that of the inline tagging option, the second will open a 
				dialog up which allows you to edit all the attributes for a tag at once.
			</para> 
			<para>
				If the document you are editing is a java source file then a "Java" menu will appear at the top of the context menu. 
				This gives you access to a user definable java compiler. 
			</para>
		</sect2>
		
		<sect2 id="autocompletion">
		<title>Auto completion</title>
			<para>
				This is performed whenever a &lt; character is entered, so long as a matching > isn't found, and the cursor is placed between
				 them ready for you to enter the tag name.
				The same is performed whenever a & character is entered so you can enter the entity name. 
			</para>
		</sect2>
		
		<sect2 id="autoentity">
		<title>Auto entity insertion</title>
			<para>
				Some languages use characters which are not part of the normal ascii character set, such as German letters with umlauts
				above them. The editor will recognise these characters when you type them and insert the appropriate HTML entity for them.  This feature can be disabled should you wish the actual character to be inserted, or can be enabled on a character set basis.  In the latter case only symbolic entities, such as &amp;quot; will be auto inserted unless the character set is ISO-8859-1, in which case full entity insertion will be performed.
			</para>
		</sect2>
	</sect1>
	
	
	<!-- =========Previewing=========================== -->   
	<sect1 id="started-previewing">
	<title>Previewing</title>
	
		<sect2 id="internal-previewing">
		<title>Internal Previewing</title>
			<para>
				<application>Screem</application> provides an in program preview so you can check your pages as you go along without having
	 			to launch an exernal program. 
			</para>
			<para>
				Currently the preview window is using GtkXmHtml, which is aimed at HTML 3.2 rather than HTML 4.0 and it also has quite a
				few problems. The use of this will change in the future, hopefully when Gtkhtml stabilises that can be used, and also when
				Mozilla is ready then that will hopefully be embeded via bonobo - the Gnome OLE style object embeding mechanism. 
			</para>
			<para>
				When you want to preview a page you are working on then simply click on the preview tab and you page will be shown. There is
				no need to save the page first as there is with the external browsers. 
			</para>
			<warning>
				<para>
	 				One of the main problems with the GtkXmHtml widget is forms. If you are editing a page with any forms in then
					do not you use the built in preview. It also doesn't support things like java or javascript.
				</para> 
			</warning>
		</sect2>
		
		<sect2 id="external-previewing">
		<title>External Previewing</title>
			<para>
				Should you wish to view a page in an external browser there are 4 options open to you: 
			</para>
			<itemizedlist>
				<listitem><para>View in the default Gnome browser (usually set to netscape) </para></listitem>
     				<listitem><para>View in user definable browser 1</para></listitem>
     				<listitem><para>View in user definable browser 2 </para></listitem>
     				<listitem><para>View in user definable browser 3 </para</listitem>
     			</itemizedlist>
			<para>
				<emphasis>Default Gnome browser</emphasis>
			</para>
			<para>
				To do this you simply click on the icon, and the page will be loaded. You should save your page prior to clicking on the icon or
				you will not see the latest changes. 
			</para>
			<para>
				<emphasis>User definable browsers</emphasis>
			</para>
			<para>
				When you first run <application>Screem</application> these will not be configured, so when you click on them a dialog will appear
				 enabling you to set an icon to use in the toolbar, the pathname of the program to execute, and if they should use the url of the site 
				 you are editing for previewing the page. Once they have been configured they are used the same way as the default browser.
				  If you should want to change the settings then you can simply right click on the icon and the settings dialog will appear again. 
				 The user definable browsers appear (by default) on the next toolbar along from the default browser. 
			</para>
		</sect2>
	</sect1>


	<!-- =========Uploading=========================== -->   
	<sect1 id="started-uploading">
	<title>Uploading</title>
		<para>
			<application>Screem</application> provides an upload wizard to upload any changes you make to you site easily. Only files that 
			have changed will be uploaded to save bandwidth. The upload wizard depends on you having set a site address, upload method,
	 		path, username and password for the remote site. (You can also specify the url) The upload wizard does not currently handle 
	 		uploading files which are not part of a site 
	 	</para>
	 	<para>
			The upload wizard is essentially reuses <application>Sitecopy's</application> code. <application>Sitecopy</application> is
			a remote website synchronization program written by Joe Orton. The wizard itself was written by Lee Mallabone, 
			due to his experience in writing an interface for it with his excellent program <application>Xsitecopy</application>. 
	 	</para>
	 	<para>
			Currently the upload methods supported are:
<itemizedlist>
<listitem><para>FTP</para></listitem>
<listitem><para>WebDAV</para></listitem>
<listitem><para>RCP/SCP</para></listitem>
</itemizedlist>
			The version of the sitecopy code that the wizard uses is 0.10.something for anyone who is wondering.  If you notice there is also a local upload method. This is also not currently supported. 
	 	</para>
	 	<para>
			Because the wizard reuses <application>sitecopy's</application> code you can still upload your site 
			using sitecopy or <application>Xsitecopy</application>, infact you can do so interchangeably with <application>Screem</application>. 
			It doesn't matter. A file will be written to your <filename class="directory">$HOME/.sitecopy</filename> directory (which will 
			be created if it doesn't already exist) which holds information on the files and directories in the site. 
		</para>
		<warning>
			<para>
				DO NOT delete the <filename class="directory">$HOME/.sitecopy</filename> directory or you will have to upload your entire site again. 
			</para>
		</warning>
	</sect1>
</chapter>
