First Steps to Web Publishing
Panorama’s Help file has excellent information on getting your server up and running. In particular, see Panorama Server and Using an External Web Server. The simplicity it adds to getting the Apache server software configured and running is impressive.
Once you’ve got it running and responding to that degree, it’s worth noting that any static HTML pages you create for your site go to the site’s root folder. The Apache panel of Panorama X Preferences will take you right to it.

Separate from any Panorama generated pages, this becomes the place for html pages, graphics, templates and other parts of any built out web site.
The Panorama databases for your website are automatically placed inside ~/Library/Application Support/PanoramaX/Server/Public Databases. You have no need to deal with these directly other than to back up the folder for critical data.
There are many purposes for having Panorama driving a website or parts of it. For this particular example, I’m going to start with a page that requires users to log in before they can access other parts of the site.
I’ve built a fairly basic HTML page with two cells and a Submit button that I’ve renamed to Log In:

Here’s the HTML code, which can be created in any app that handles text:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Log In</title>
</head>
<body>
<form action="/cgi-bin/panoramax.cgi?dbase~login" method="post" id="login" name="login">
<table>
<tr>
<td> Email Address:</td>
<td><input placeholder="Your Email Address" type="text" name="Email" size="20" maxlength="50" autocomplete="off" /></td>
</tr>
<tr>
<td> Password:</td>
<td><input placeholder="Your Password" type="password" name="Password" size="20" maxlength="25" autocomplete="off" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" id="submit" value="Log In"></td>
</tr>
</table>
</form>
</body>
</html>
The default home page of any site is index.html. So for now, I’m going to name this page it to match the default and save it to my site’s root folder. As the site’s index page, it can be reached as MyURL.com.

The form action of this page directs the browser to send it to MyURL.com plus /cgi-bin/panoramax.cgi?dbase~login. This tells Apache, via panoramax.cgi, to pass the hit on to Panorama. When Panorama gets it, it’s going to look for a web published database that I’ve named dbase. Within dbase, it’s going to look for a procedure named login. So I’d better make sure that I’ve fulfilled those expectations.
My database(s) can be named anything I want.
See Creating Shared Databases
Obviously I’ll want to do much more, but for now simply demonstrating a response from Panorama, my login procedure is simply:
Let lvEmail = “”
Let lvPassword = “”
WebFormItem “Email”,lvEmail
WebFormItem “Password”,lvPassword
cgiHTML = “You submitted “+lvEmail+” as your user name and “+lvPassword+” as your password”
cgiHTML is a variable created by Panorama and holds the contents of what is being returned to the browser. If my programmed response is plain text as it is here, Panorama builds an HTML page to hold it. ( I tend to build the entire HTML page myself and Panorama respects that )
So when I click on the Log In button to submit my entries of:

Panorama responds and my browser displays:

And now I’m ready to get busy building it out however I desire.
A more ambitious and realistic version for a log in stystem will search the online database for a matching email address and password. It will accept or reject the result of the search and respond accordingly. A link on the login form such as “I forgot my Password” is also useful.
Using more advanced techniques, the HTML page can include javascript and CSS to make it very full featured and polished. It can include checks before the form is submitted to be sure the cells have been filled and that the email address is properly formatted.

Of course, this login page as a gatekeeper is just one example of what can be done with Panorama on a website. Panorama can be used solely for generating pages of information that gets updated with some frequency. You can publish a personal directory of your contacts that you can access with your cell phone. Or you can build a catalogue of your company’s products that is fully responsive to customers’ searches. How about a questionnaire to gather and process information?