Construction Techniques and Method
How to build and configure web applications and websites is covered in the Tutorial - A First Site.
In this example we will only mention aspects that are not self-evident from examining the Layout Manager of this site and examining the embedded components in edit mode.
There are two Tables. One for the 'Members' (ie Doctor, Lawyer, Architect, etc), and one for the Specialty. It is important that the Specialties align exactly with the Member descriptions. So, the list of Specialties is defined and then entered into the 'Specialty' table.
In the example there are only two Fields: Name and Description. In the 'Member' Table the list of available 'Specialties' is derived by using a 'Multiple Record Link' in the 'Member' Table to the Record Identifier (Record Id) in the 'Specialty' table.
The system will automatically create a suitable check-box array to display the available specialties in the Member table.
The main structure is provided by two pairs of Pages:
Members, with a child page of Member
Specialties, with a child page of Specialty.
Members has a Query that displays the list of members in alphabetical order. Clicking on a member-name will display the member's detail page, with the member-name, a description of the member, and their list of Specialties. Clicking on a specialty will take you to the specialty's detail page with the specialty name, a description of the specialty and links to the members who perform that specialty.
The DirectURL management can be applied at the end of the configuration, once you have the application working as you wish. Using table derived DirectURLs gives you user and SEO (search engine) friendly URLs, replacing the string of parameters that otherwise show in the page address.
For example, the DirectURL method adds a second instance of the Member 'name' field to the Query fields. Give it a Title of DirectURL to make its purpose clear. Its Format is configured to give the desired display format for the DirectURL. The 'on-click' link setting is changed from linking to a 'Local Page' to 'Field' and the 'DirectURL field of the Query is selected. When the Query is then embedded on a surface the URL will be rendered in a 'friendly' view.
The top level navigation of this application uses 'Navigation Override' (Dynamic Navigation) to automatically create a direct navigation link derived from the Query 'List Specialties'. This is invoked from the on page Behavior Editor of the Specialties page.
The fly-out navigation is styled in the navigation zone, but the content (links) are derived from the first displayed column of the Query.
The Navigation Setting has been made to show the page in the site tree (top navigation) as the output from the Query 'List Specialties'.
The 'Member' page has two Queries embedded on it. One controls the display of the members full details, the second lists and links to the list of specialties.
In both cases the Records-tab has 'Added' a Criteria Field. In this example, it is requiring that there must be parent parameters available for the record to display. This means that an item is displayed on the page only as the result of being directed there from elsewhere in the application - by clicking a link. If you were to browse to the page directly nothing would be displayed. This prevents search engines crawling information inappropriately.
One of the features of this example application is that the visitor can select a Member and then see what Specialty they have and click on that Specialty to read more and see if any other Members also practice that Specialty. Similarly the visitor can click on Specialty and read more about it and see what Members work in that Specialty.
In this example the two main Tables - Member and Specialty are added to the Query, plus the system generated Multiple Record Link Table. The Data Sources are arranged logically on the surface. A line is drawn (literally - click and drag in the dialog) between the the Member-Record Id to the intermediate Record Id to the Specialty Record Id to create a table Join (technically this is an 'Inner Join'). Just two fields are required. The Member Record Id and the Specialty Specialty fields are added to the Query, sorted into ascending alphanumeric order and initially set with an On-click Link of the child-page called 'Specialty'.
This is then subsequently adjusted as described above to use a DirectURL.
Again, display is restricted to clicked links by setting Record Criteria in the Query Embeds.