# Getting Started

## Creating a New Project

In Screem 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 File Open Pages.. . Loading individual pages has several distinct disadvantages, Screem can't keep track of the pages for automatic upload, it can't change links if you move a file within Screem and you can't use templates.

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 Screem's 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) Screem 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.

To create a site in Screem select File New New Site... . A wizard will then appear.

### Site Wizard

Screem site wizard

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 File New Site Template...

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 no page specific information in it. 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.

The wizard then asks if you want to use CVS for your sites development.

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).

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!

## Editing

The editor has a number of useful features with which to make editing your documents easier. (at least thats the aim)

- Syntax Highlighting

- Inline tagging

- Context sensitive menu

- Auto completion

- Auto entity insertion

### Syntax highlighting

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 . 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.

### Inline tagging

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. `< BODY |>` Where the " | " character is the cursor. Now if space is pressed when the cursor is after the tag name, but still inside the `<>`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.

### Context sensitive menu

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: `<TAG NAME>` at the top and "Tag Attributes" at the bottom

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.

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.

### Auto completion

This is performed whenever a < 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.

### Auto entity insertion

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 &quot; will be auto inserted unless the character set is ISO-8859-1, in which case full entity insertion will be performed.

## Previewing

### Internal Previewing

Screem provides an in program preview so you can check your pages as you go along without having to launch an exernal program.

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.

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.

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.

### External Previewing

Should you wish to view a page in an external browser there are 4 options open to you:

- View in the default Gnome browser (usually set to netscape)

- View in user definable browser 1

- View in user definable browser 2

- View in user definable browser 3

Default Gnome browser

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.

User definable browsers

When you first run Screem 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.

## Uploading

Screem 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

The upload wizard is essentially reuses Sitecopy's code. Sitecopy 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 Xsitecopy.

Currently the upload methods supported are:

- FTP

- WebDAV

- RCP/SCP

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.

Because the wizard reuses sitecopy's code you can still upload your site using sitecopy or Xsitecopy, infact you can do so interchangeably with Screem. It doesn't matter. A file will be written to your `$HOME/.sitecopy` directory (which will be created if it doesn't already exist) which holds information on the files and directories in the site.

DO NOT delete the `$HOME/.sitecopy` directory or you will have to upload your entire site again.