From Norwescon Wiki
Revision as of 08:06, 20 January 2020 by DJWudi (talk | contribs)
Jump to navigation Jump to search

The website is the primary repository for disseminating information to prospective members, current members, and ConCom staff.

The webmaster's primary responsibility is backend administration and adding/removing/updating content as requested by the various departments within Norwescon. This role may (and often does) also include some amount of content creation (text and graphic elements).


The site is built using the Wordpress CMS with a commercial theme and several plugins to expand functionality. Which theme and plugins are used may change from year to year.


Wordpress themes define the overall look of the website. The design may be changed when transitioning from one year to the next, either by altering the options of the current theme or switching to another theme entirely, but should not undergo major changes otherwise.

The site currently uses the The Conference Pro theme.


Currently active plugins (not including any theme-specific plugins) are:

  • Akismet Anti-Spam: Provides spam filtering for the various forms used across the site. Historically also provided spam protection for comments, but comment functionality is currently disabled.
  • Classic Editor: Restores the "classic" WordPress editing interface as an alternative to the recently-released (but in some ways less functional) Block Editor.
  • Duplicate Post: Adds one-click duplication of posts and pages for easy re-use.
  • Gravity Forms: Adds complex form creation and management. Used in several locations across the site.
  • Jetpack: Adds various security, performance, and site management features.
  • Last Modified Timestamp: Adds a "last modified" shortcode that can be used in any post or page.
  • Maintenance: Adds the ability to put the site in "maintenance mode" with a placeholder page while larger-scale content or design changes are in process.
  • Page Excerpt: Adds an "excerpt" field to pages as well as posts so that when pages are linked on social media a hand-written excerpt can be extracted for preview text rather than the first few lines of text.
  • Redirection: Allows creation and management of 301 redirects so when a page is moved, visitors are automatically sent to the new page rather than receiving a 404 error.
  • WPBakery Page Builder: Adds drag-and-drop near-WYSIWYG layout editing.


The front page of the website should always display the most pertinent information about the convention (what are people most likely to be looking for?):

  • The name of the convention.
  • When is it?
  • Where is it?
  • Who and what will be featured?
  • Pricing for and how to get convention memberships and hotel reservations.

Other information can be included as desired and as appropriate for the design and time of year.

Internal pages are organized into four main sections. Each section has a top-bar menu item with several sub-items.

About: General information about the convention Norwescon (year): Information about the upcoming convention. Items and sub-items may vary from year to year, the following is a snapshot and not a comprehensive list. Get Involved: Information about how members can be more involved with the convention beyond just attending. Media: Covers both information for media (papers, blogs, etc.) and media (photos, posters, banners) related to the con.
  • Mission Statement
  • Contact Info
    • Org Chart
  • Outreach
  • FAQ (Frequently Asked Questions)
  • History
  • Blog
  • Guests of Honor
  • Memberships
  • Hotel
  • Schedule of Events
    • Thursday Schedule
    • Friday Schedule
    • Saturday Schedule
    • Sunday Schedule
  • Philip K. Dick Award
  • Programming
    • Attending Pros
      • Becoming a Panelist
    • Workshops
      • Norwescon Writers Workshop
      • Hands-On Workshops
      • Writing Classes and Lectures
    • Youth Programming
    • Panel Suggestion
  • Special Events
    • Guest of Honor Banquet
    • Games
    • Masquerade
    • Dances
    • Concerts
    • Single Pattern Contest
    • Prop Contest
    • Scavenger Hunt
  • Exhibitors
    • Art Show
    • Art in Action
    • Dealers' Room
    • Club Tables
  • Policies and Guidelines
    • Harassment Policy
    • Accessibility
    • Weapons Policy
    • Photography Guidelines
  • Volunteer
    • Open Volunteer Positions
  • Socialize
  • Ways to Donate
  • ConCom Staff Updates
  • Advertising at Norwescon
  • Photo and Video
  • Posters and Banners


The update process for most website information is:

  1. The department or volunteer overseeing an area that needs a content update or requesting a blog post sends their requested text or changes to Publications.
  2. The Publications editorial team reviews the content for clarity, grammatical correctness, and other editorial concerns.
  3. The editorial team passes the finalized content to the webmaster.
  4. The webmaster updates the relevant page(s) on the website and notifies Publications and the original requester that the update is live.

Some page information updates, such as lists of attending pros/panelists, Dealers' Room participants, and Art Show participants, are simple enough that they do not need to go through the full editorial process. These updates may be sent directly to the webmaster by the relevant department administrator.

Requested Information

Page Content Updates

For updates to existing content, it is ideal if the entire page content is provided, with changes highlighted or marked in some way (for instance, using Word's "Track Changes" feature to redline removed content and greenline added content. When only a sub-section of content is provided, the webmaster must use their best judgement as to whether other sections of the page need to be updated or removed, or take time to contact the original requester for clarification.

If any graphics (photos, diagrams, etc.) are required, it is requested that those be provided to the webmaster with the update request, rather than assuming that the webmaster will be able to acquire/create them. Supplied graphics should also be legally available to use and not covered by copyright unless permission from the original creator has been granted for their use.

Weblog Posts

Blog post requests should include the following items:

  • Title
  • Post content
  • Excerpt (a one-to-three sentence summary of the post content; this is automatically picked up by many social media sites when sharing links to posts and pages)
  • Graphics (optional, but as above, should be provided and legal to post)

If any of the above items are not included, the webmaster may create them as needed.

Page Editing

General-Purpose Pages

Most pages are built using the WPBakery Page Builder near-WYSIWYG layout builder plugin. This allows for multiple rows of content with varying column settings and has different "blocks" that can be used for text, images, and special-purpose items such as maps, "call to action" boxes, and so on.

While a full explanation of how to use the layout capabilities is beyond the scope of this document, one specific capability regularly in use is the ability to designate content rows as "disabled". By disabling a content row, content blocks that are placed in this row will not be displayed when the page is rendered. This allows the webmaster to save content that may be useful in the future by moving it to a disabled row rather than simply deleting it outright and having to re-create it later. When that content is useful again, it can be moved back up into an active row and edited as necessary for current needs.

To mark a row as "disabled", click on the pencil tab in the tab group at the top right of a row. In the Row Settings box that appears, scroll down and enable the "Disable Row" checkbox and click the "Save changes" button. That row and any content blocks it contains now appears greyed out in the editing interface and (once the page is saved) will not appear when the page is loaded.

Participant Lists on Website

Several pages on the site list the individuals or organizations participating in that area each year. These lists are provided to the webmaster by the relevant area head. Once the head has selected the participants, they send a list of accepted participants to Publications, this list should then be forwarded on to the webmaster to be processed and added to the relevant page. These pages are:

The list of participants is generally sent as an Excel spreadsheet listing the artists' publication name in one column and their website URL (if submitted) in a second column. The participant lists are usually been posted to the website sorted by last name (or business name when appropriate); this requires a little bit of work in the Excel file to get it to sort correctly. The usual process has been:

  1. Add a "sort name" column to the spreadsheet.
  2. Manually type the sort-optimized version of the participants' names into the new column.
  3. Sort by the "sort name" column.
  4. Split the list into three equal groups (artists are displayed in three columns on the website).
  5. In the WordPress page editing screen, drag the appropriate blocks (one header block, one "we welcome these participants" text block, and one three-column row block) from the "disabled" section of the page to the non-disabled section of the page.
  6. Update all relevant text as appropriate. If a participant gives more than one website URL, use only the first URL listed. When linking participant names to their websites, click through to the submitted link and copy that link from the browser address bar. This both allows for verification that the link works as expected and corrects for any redirects that might be applied.

Once the initial upload is finished, any further updates can be slotted in to the list wherever they fit alphabetically.

Special Pages

Some pages on the site have specific requirements that must be followed to ensure changes appear correctly.

Text Editing Requirements

A few pages on the site use particular HTML or CSS functions that can be lost when using the standard Wordpress WYSIWYG editor, and should have their text content edited in the plain text editing mode.

These special pages are:

HTML Functions

In order to add in-page links, both the FAQ and the Writers Workshop pages use HTML anchors in the header tags. While the overall structure of the pages is created using the WYSIWYG layout system, the text content of each individual text box should be edited using the plain text editor instead of the Visual text editor.

To do this, after clicking on the pencil icon to open the text box editor, click on the "Text" tab next to the "Visual" tab at the top right of the text editor. When in the text editor, it is possible to see that the headers have id arguments applied. For example, the HTML code for the first two lines of the FAQ table of contents are:

1. <a href="#1">Norwescon (general questions)</a>
1.1. <a href="#1.1">What is Norwescon?</a>

And (not at all coincidentally), the HTML code for the first two lines of the content following the table of contents are:

<h1 id="1">1. Norwescon (general questions)</h1>
<h2 id="1.1">1.1. What is Norwescon?</h2>

This links the text in the table of contents to the content lower on the page. However, in order to ensure that the Visual editor doesn't remove the id tags from the header tags, all text content must be edited in Text mode.

CSS Functions

In order to present a clean and easy to read version of the schedule of events, custom CSS is used in any schedule page, and the HTML for the event items declares the custom CSS classes.

Custom CSS is added to the schedule pages by clicking on the gear icon at the top right of the WPBakery Page Editor box (when custom CSS has been added, this gear displays with a yellow "CSS" box overlay).

The custom CSS varies slightly for the games and workshop schedule pages. For the primary schedule pages, this is the custom CSS:

.ptitle {
	font-weight: bold;
	border-top: 2px solid #000;
	line-height: 20px;
	margin-right: 25%;
.psched {
	font-weight: bold;
	text-align: right;
	position: relative;
	top: 0px;
	border-top: 2px solid #000;
	border-bottom: 1px solid #ccc;
	margin-top: -22px;
	margin-bottom: -8px;
	line-height: 20px;
.pdesc {
	margin-top: 5px;
.ppros {
	font-style: italic;
	margin-left: 10px;
	margin-bottom: 15px;

And here is a sample schedule item from Norwescon 42 showing how the CSS classes are applied in the HTML code:

<div class="ptitle">Loved It!</div>
<div class="psched">Cascade 9
1–2 p.m.</div>
<div class="pdesc">It’s easy to laugh, it’s easy to hate, but it takes guts to be gentle and kind. This panel will take audience-submitted suggestions for so-bad-they’re-good (and so-bad-they’re-terrible) movies and TV shows. Our panelists must find something nice to say about them. Prepare to have your heart warmed!</div>
<div class="ppros">Berlynn Wohl (M), Jasmine Silvera, Chris Wiswell</div>

As may be guessed, the class names are related to the related data: ptitle = program title, psched = program schedule, pdesc = program description, and ppros = program pros.

As with the above section, while the overall page layout for schedule pages uses the WYSIWYG layout system, all edits to the content in text boxes should be done in the Text editor rather than the Visual editor to ensure the CSS classes aren't lost.

Theme-Specific Requirements

Note: This is specific to the theme currently in use, and likely will not be applicable if a different site theme is chosen.

A few pages on the site use special layout features that are provided by the current theme. Because of this, these pages should not be edited through the standard Wordpress page editor, and instead, must be edited by choosing the "Customize" item in the top menu bar while on that page, then choosing the appropriate page settings from the left-hand customization side bar.

These special pages are:

Forms and Data Handling

The website has several forms (the exact number varies over the course of the year) to allow for data collection from members and ConCom staff. Because these forms can collect personally identifying information (PII), care must be taken when distributing data to ensure only the appropriate information is given to those who have a need.

All forms that require an email address from the submitter (most, but not all, require this field) should be appropriately configured to send a confirmation email with all collected data to the submitter, both as confirmation of successful submission for their records and so they can review the submission in case a mistake was made that needs to be corrected.

General Purpose Forms

These forms are active on the website year-round.

  • Contact: All-purpose contact form. Notifications are sent to the department chosen by the submitter.
  • Pro/Panelist Application: For people interested in being a panelist or presenter at the con. Notifications are sent to Programming.
  • Panel Suggestion: For members or prospective panelists to suggest items for the panel schedule. Notification are sent to Programming.

Special Purpose Forms

These forms are activated as necessary during the convention planning cycle. Notifications are sent to the department for which the form is collecting data. Form names below are linked to the relevant page on the Norwescon website, but individual forms may not be visible depending on the time of year.

  • Dealers' Room Application: For vendors interested in being part of the Dealers' Room. This form is open for a limited time in the fall of the calendar year prior to the convention (fall 2019 for the spring 2020 convention). Notifications are sent to the Dealers' Room Coordinator.
  • Lobby Table Registration: For organizations interested in staffing a lobby table during the convention. This form opens in the fall of the calendar year prior to the convention, and closes at the request of the Lobby Table Coordinator. Notifications are sent to the Lobby Table Coordinator.
  • Art Show Guidebook Info: Collects biographical information from artists accepted into the Art Show for publication in the Guidebook convention schedule mobile app. This form is on a private page, with the URL distributed to accepted artists by the Art Show Coordinator; it opens in the fall of the calendar year prior to the convention and closes at the request of the Art Show Coordinator. Notifications are sent to the Art Show Coordinator.
  • Masquerade Registration: For costumers entering the Saturday evening Masquerade costume presentation. This form opens in the winter or spring before the convention and closes at the request of the Masquerade Director (usually just following the final pre-Masquerade information panel to allow for last-minute registrations. Notifications are sent to the Masquerade Director.
  • Staff Block Room Request: ConCom staff who are staying at the hotel during the convention may request a room in the designated "staff wing" (split between Wing 7 and the third floor of the tower). This form opens in the fall of the calendar year prior to the convention, and closes at the request of the Hotel Liaison. Notifications are sent to the Hotel Liaison.

This list may not be comprehensive; other forms may be created as needed by various departments, and not every form has been used every year. In the past, such forms have included game GM requests, song requests for the dances and DJs, and other needs.

Guidebook Data

The Dealers' Room and Lobby Table registration forms collect some information intended to be used for their profile pages in the Guidebook mobile event app. This information needs to be sent to the Guidebook Coordinator, but should be reviewed first to ensure that information for applicants who were not accepted is not included.

After a final list of accepted Dealers' Room or Lobby Table participants has been sent to the webmaster by the respective department coordinator:

  1. From the WordPress backend, choose "Forms > Import/Export" from the left-hand sidebar.
  2. Select the current Dealers' Room or Lobby Table form from the dropdown menu, then click the "select all" option to download all fields, leave the date range blank (to download all entries), and click "Download Export File".
  3. This will download a .csv file with all form entries.
  4. Review the data in the .csv file to ensure that all entries map to accepted artists. Remove any entries for applicants who were not accepted.
  5. Send the final verified .csv file to the Guidebook Coordinator.
Art Show Guidebook Profile Form

For the Art Show, Guidebook profile information is submitted through a separate form. Once the list of participating artists has been provided to the webmaster, any submissions from accepted artists can be forwarded to the Guidebook Coordinator. In theory, there should be no submissions from artists that haven't been submitted, as the profile info form is a non-public URL manually sent to the artists by the Art Show Coordinator, but this should be verified to ensure that no data is passed on unnecessarily.

To download, verify, and forward the information:

  1. From the WordPress backend, choose "Forms > Import/Export" from the left-hand sidebar.
  2. Select the current Art Show Guidebook Profile form from the dropdown menu, then click the "select all" option to download all fields, leave the date range blank (to download all entries), and click "Download Export File".
  3. This will download a .csv file with all form entries.
  4. Review the data in the .csv file to ensure that all entries map to accepted artists. Remove any entries for artists who cannot be verified.
  5. Send the final verified .csv file to the Guidebook Coordinator.

This form should be checked occasionally to see if new entries have been submitted. Once any new entries have been verified, they may be sent to the Guidebook Coordinator.