WEB SITE ARCHITECTURE OVERVIEW This Area 30 District 23 web site is composed of HTML and ASP.NET C# web pages, JavaScript, responsive CSS and user content. Web pages are created for desktop, tablet, and mobile devices by combining page templates with user-supplied content and server-side C# functionality. It relies on a Microsoft Windows IIS web hosting environment and SQL databases for runtime support and management, and relies on 3rd party software for payment processing, SMTP email & SMS messaging, web forms, and maps/GPS navigation. Meeting Guide connectivity is via a JSON-formatted text file of exported meeting data (via Worcester Area Intergroup). Site elements, content, and access are handled by two SQL databases and root + user-supplied files: o system database for user login & access o site database for site settings & data o root+subdirectories of root+user files Responsee (a set of open source stylesheets and JavaScript libraries) creates responsive layouts for desktop, tablet & mobile devices. JavaScript is also used for browser (client-side) functions. The site architecture enables (and is itself a product of) cloning, using root SQL database entries, .NET pages and canned content. Cloning entails copying root database objects and default settings which, when combined with .net pages and group-specific settings and a domain, produces a web site. (Note: domain registration, hosting, email/SMS setup may also be needed.) Primary goals of this web site design include: o Serve AA's primary purpose & principles o Enable regular AAs to maintain a site o Support cloning (of sites, pages, content) o Protect user anonymity & data integrity o Shield from outside issues (e.g., malware) o Enable Web services (forms, transactions) o To be a power of example/proof of concept Site access is defined at three levels: Public -- open to the public Members -- open to members only Admins -- open to admins only A web site will have 1+ admin users, zero+ members, and unlimited public users, as dictated by group conscience. Navigation menus provide access to pages and functionality at three levels: o PUBLIC menu: public pages & features o MEMBER menu: member-only pages & features o ADMIN menu: admin-only pages & features Once a member or admin logs out, page access, menus, content and functions revert to PUBLIC. For any cloned site, member accounts can only be created by admins, i.e., a webmaster, Web Chair, or trusted servant. Members have access to PUBLIC and MEMBER pages, and admins have access to "admin" pages. Each group chooses which public or members pages it wants on its site. Public pages, when accessed by a member, may have added features or content. For example, a public calendar can give members update access or view restricted content. Providing members with choices, access, information and functionality, while protecting them and the web site, is a primary design feature. Examples of Public pages: o Home page o "About Us" page o Meeting List page o Reference pages (e.g. this page) Examples of Public+Member Pages: o Contacts page o Calendar page o Committee pages o News/Announcement page Examples of Member-Only pages: o Member Profile page o Group Roster page o Group Resources page 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 that member accounts require no personally-identifiable information, even a valid email address is optional. Resources -- documents, images, links, site content -- can be uploaded by any member (if so desired). Or, a site can allow uploads but require a trusted servant (admin) to review and "activate" a resource before it is accessible. Or, a site can have only admins upload or update web site content. Members control personal information and information visible to others via their member profile. Members (will) control email from the site by opting in/out of emails and SMS "alerts" which are primarily intended for admin notification (e.g., alerts of added events or uploaded content). Member groups & roles (e.g., committee chair, treasurer, secretary etc) can be created. A member may be assigned to a group or role(s). Content may be uploaded & shared publicly, or restricted to only members of a group or role. Member groups and roles are designed to support AA traditions and service concepts (rotation, right of decision, delegated authority) for a website. Virtually all elements -- logo, splash image, menus, pages -- are database-driven. Changing a page or page content is done by adding or editing a database record or uploading a file via an admin page of the site itself. Web Committee Trusted Servant