SITE DESIGN ARCHITECTURE OVERVIEW Site Design Overview This WAI site consists of Microsoft ASP.NET pages, JavaScript, responsive CSS, and user content. Website pages are dynamically created using page templates combined with user-supplied content to render HTML pages for desktop, tablet, and mobile browsers. Site features such as email, SMS, geocoding and GPS navigation, rely on hosted or 3rd party software. SQL databases and user files (uploaded documents, images,etc) are used for page elements, content, and site access. -- a system database is used for user logins and access -- a site database stores site objects (menus, pages, site settings, data objects) The site is designed for cloning or replication. Each site is "cloned" from a set of root-site database entries and a generic pool of ASP.NET pages and content files. Cloning occurs by copying files and database entries from the "root site" which, when combined with user-defined settings, uploaded content, and a domain name/URL, result in a specific web site. (Note: Domain registration, site hosting, and email/SMS setup may also be necessary to support web site features.) Access to the site is at three levels: Public -- open to all Members -- open only to members Admins -- open only to site admins A group site will have at least one admin account and zero or more member accounts. If member access is not desired, the site can simply be public. Navigation menus are used to access site pages: o PUBLIC menu -- visible to all site visitors with links to public pages showing public content o MEMBER menu -- visible to logged in members with links to public and member-only pages and content. o ADMIN menu -- visible only to logged in admins, with links to administrator-only pages and content. Once a member or admin logs out, navigation menus and page content (and access) revert to the PUBLIC level. Currently, user accounts can only be created by an "Admin" user -- visitors cannot create their own accounts. It is assumed a secretary or GSR (or other trusted servant) will add members to ensure face-to-face (or person-to-person) interactions for any user account. Members may access both public and "member" pages -- each group can decide what member pages to have available. Public pages, when accessed by a logged in member, can have added features. For example, a Calendar can be viewed by all but only members may update events. Providing members with selective access and functionality, while protecting both them and the site, is a core site design feature. Admins -- trusted servants who help setup and maintain the site -- have complete access to the site content but not to member accounts -- i.e., logins and passwords are encrypted and managed by the ASP.NET membership service and accessible (in encrypted form) only to admins and web hosting tech support. Note that members can opt to disclose no personally-identifiable information, even an email address is optional. Resources -- documents, images, links, site content -- can be uploaded by any member (if so desired). Or, the site can be configured to allow the upload but require a trusted servant (admin) to review and "activate" the resource before it is accessible to other members. Or, site content can be updated only by web admins. Members control their personal information and any personal information visible to other members via their member profile settings. Members (will) control email sent by the site or other members by opting in or out of site emails or "alerts". The "alert" feature is intended for web admins monitoring site changes. Member "groups" and "roles" -- subcommittees, service positions, etc -- can be defined, and a member can belong to one or more of such groups or roles. These Groups are visible to other members via the Group Roster page. Virtually all elements of the site - logo, splash image, headers and links - are database-driven and customizable. Changes to site elements can be made by simply changing a table entry (via the Site Admin page) or perhaps uploading a file. WAI Web Committee