Tutorial About

Views

Edit Web Edit Page All Webs Options Format Reports Help

Brief summary of current web goes here.


Page Help Page Bugs

What Is Web Man?

Web Man gives you control over the large-scale aspects of your web site. You can install site-wide navigation bars, apply a template to all its pages, check the whole site for broken links, and other site-wide operations. Web Man is an open source partial work-alike for Microsoft Front Page (TM) .

How Web Man Works

This is the technical stuff.

What happens when Web Man launches

Web Man is a website. The home page is the main editor page. When a browser opens it, the JavaScript onload handler calls a server-side CGI script that returns the Web Man environment by AJAX: where the web server keeps all its web sites, which of them Web Man can manage, which ones it has most recently managed, etc. Using the list of most recently managed webs, the JavaScript onload handler calls another CGI script to get the configuration file of the most recently opened one. That will be the currently managed web.

As these configuration pieces come from the server, JavaScript creates form inputs to hold them. Next, the onload handler calls two other CGI scripts, one to return a directory tree of the current web, and one to return the site map. JavaScript then renders that directory and site map information in the browser. Now the last-managed web is the current web, open again for editing.

On a fresh installation, Web Man loads a sample Web Man managed site named "wmsite".

What happens when one of its other pages loads

When a user clicks on a link to one of Web Man's other configuration or editing pages, much the same thing happens. An onload handler will AJAX call one or more CGI scripts to get Web Man's environment and the configuration of the currently managed web. There might be JavaScript rendering code to present a view of what the CGI scripts reported from the server. Think of the web's configuration file as a user editable cookie kept on the server.

top

The views

The main editor page presents two views of the entire web being managed: its files and folders on the server file system, and the web's site man. These are respectively called the "folder view" and the "navigation view".

The folder view shows all the files in the web: html pages, images, scripts, stylesheets, whatever.

The navigation view shows the site map. The site map shows the hierarchical organization of the web site: which is the home page, which are immediately under it in the organization, which are children or siblings of which others. From the site map, Web Man can generate navigation bars and install them on pages of the web being managed. Available navigation bars are:

There is a page which shows all the webs in Web Man's work space. This is the "webs view". With icons, it shows which webs are managed by Web Man, which were managed by MicroSoft Front Page (TM), and the ones for which Web Man does not know the generator.

There is a page for repairing broken links, that shows the folder view and a view of the broken links. That is the "bad links view". It will also show which pages contain those bad links.

top

How user keyboard and mouse gestures are handled

The user interacts with a Web Man page with keyboard strokes and mouse gestures on certain elements of that page. These are form inputs, buttons or selectors. A user might click or double click one, or drag one and drop it somewhere else. These elements have JavaScript event handlers installed, which call JavaScript functions related to the editing or configuration action associated with the input, button or selector. Most of the time, these JavaScript functions will call CGI scripts which do something, then send reports or results back to the page on which the event occurred.

For example, suppose a user is repairing a broken link. He or she will begin to drag the broken link from the bad links view to the folder view on the link repair page. The mouse down handler will notice that nothing was being dragged, so it makes a representation of the bad link being dragged. It makes a note of where the dragging began, that is, the bad link in the bad links view. The original links stays there; it is only a copy of the link that is being dragged. As the mouse moves, the mouse move handler will draw the dragged link in a new position, floating over the views. It will note if it's over a different view. That will probably happen; the user wants to drag the bad link over one of the files in the folder view and drop it there. When that happens, the mouseup handler will find out which file the link was dropped on, call a CGI script to do the link repair on the server, remove the dragged link representation, then make a note that nothing is being dragged any more.

Keyboard gestures work as in many other user interfaces: to finish editing something; to make a new folder, file or link; to delete something. Clicking an object in a view usually causes it to be selected, and may cause something else in another view to be selected also. An example is when a user clicks a link in the navigation view to find out what file it points to in the folder view. Both will be selected by that action.

top

Copyright © 2008-2013 John M. Rasor. License: GPL.