WAI WEBSITE DESIGN

"...sometimes the good is the enemy of the best." — Bill W

Design Overview

The Worcester Area Intergroup (WAI) website consists of:

Templates are used to format HTML web pages built mainly using ASP.NET and C# code. Responsee—cascading stylesheets + JavaScript libraries, from M.I.T.—provides responsive layouts for desktop, tablet and mobile devices. JavaScript is also used for other browser functions. Canned ASP.NET pages & content can be augmented or updated with user content or pages.

Site elements, page content, and configuration setings are stored in SQL databases and files:

The WAI website runs under Microsoft IIS using SQL databases and user files for configuration settings and site data, and using 3rd party software for payment processing, online forms, maps/GPS navigation, a calendar, and SMTP & SMS for email & text messaging. Meeting Guide app connectivity is via a JSON text file of local AA meeting data.

The website is designed for and is itself a result of cloning, using root database entries, .NET pages, and canned content. Cloning entails copying root objects and default settings which, when combined with .NET pages and site-specific settings and a registered domain, results in a website. (Note: domain registration, hosting, SMTP setup may also be needed; for co-hosted clones, see also: Clones & Domains). Cloning is a standalone function that is not part of regular website functionality. Co-hosting clones allow 2+ AA sites (groups, service sites) to share costs & overhead yet remain autonomous.

Design Goals

WAI website design goals include:

Site Access | Menus | Pages

Website access is defines for three user types:

A site can have unlimited public users, 1+ admins and 0+ members, as defined by group conscience.

Navigation menus and pages are type-specific:

When a member or admin logs out, site access, menus, and page content revert to PUBLIC.

For any cloned site, member accounts can only be created by admins, i.e., the webmaster, Web Chair, or a trusted servant. New admin accounts can only be created by an existing admin user.

Member accounts require no personal data, even an email address is optional. A shared login ("gsr", "dcm", "advisor") may be used for groups, or a login can be for one person.

Members can access public and member pages, and admins can access "admin" pages. Each AA group chooses which pages to have on its site. Public pages, when accessed by a member, may have added capabilities or content; e.g., a calendar may permit members to make updates or see member-only content. Providing members with choices, access, and information, while protecting them and the site, is a primary design feature.

Public Pages

Public+Member Pages

Member-Only Pages

Admin Pages

Other Site Elements

Virtually all site elements—logo, splash image, menus, pages—are database-driven. Page or content changes are made by updating the database or a user-supplied file (via an admin page).

Other elements "baked into" site access, pages , menus include the following:

Resources — documents, images, links, site content - can be uploaded by any member, if so desired. Or, a site can allow uploads but require an admin user to review and "activate" it. Or a site may only have admins update site content.

Groups & Roles (committees, secretary, GSR, etc) — can be defined and assigned/reassigned to member(s). Content (PDFs, images, etc) may be uploaded and publically shared or restricted to a group or role. Groups and roles support AA principles (service rotation, delegated authority, autonomy, anonymity, group conscience). Members control their personal data and visibility via a member profile. Members (will) control email from the site by opting in/out of emails or SMS "alerts" (alerts are intended mainly for admin notification).

Admins — trusted servants who maintain the site — have complete access to all site content except private member data; private member data is encrypted and accessible (in encrypted form) to admins and web hosting tech support only. Note: admins may not have access to the ISP hosting account items (account files, databases, email & FTP setup) in a shared hosting setup.

Site Types

A design goal is to create (or clone) websites that reflect each groups' needs and group conscience. AA entity types (districts, areas, intergroup, committees, conventions, etc) have distinct needs. Ideally, the design can support a website to match a group's specific (and changing) needs and group conscience.

Robust pages for news, calendar events, meetings, and AA contacts can support various AA entities and can be customized for a given entity.

Design Constraints

Language translation (e.g. Spanish, French, Portuguese) relies on the client browser, no server-side software or package is used.

This ASP.NET version relies on Microsoft IIS and Microsoft SQL Server for database functions; other .NET versions, hosting enviroments (.NET Core, Linux/Apache) and databases (MySQL, Oracle, etc) could be used. The implementation uses C#, but other programming languages (PHP, Python, JAVA, etc) could be used.

This implementation uses SMTP (Simple Mail Transfer Protocol) for email, but other email tools (Gmail, etc) could be used.

The design is simple but the software is vast, knowledge of C#, JavaScript, HTML, CSS, ASP.NET, and MS SQL is needed to modify or debug the software. However, simply maintaining the site — updating meetings, news, calendar events, pages or menus — does not require special knowledge or skills.


Web Servant & Fellowship Friend

###