WEB SITE DESIGN ARCHITECTURE OVERVIEW This District 24 AA 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. The site relies on a Microsoft Windows IIS hosting environment, ASP.NET C# pages, and SQL databases for site pages and management, and relies on 3rd party software for payment processing, SMTP & SMS messaging, web forms, and maps/GPS navigation. Meeting Guide connectivity is via a JSON text file of exported meeting data (via Worcester Area Intergroup). Site elements, content, and access are handled by two SQL databases combined with root and user-supplied files: o system database for user login & access o site database for site settings & content o root & subdirectories for root+user files Responsee (a set of open source stylesheets and JavaScript libraries) is used to create responsive layouts for desktop, tablet and mobile devices. JavaScript is also used for specific browser (client-side) functions. The web site is designed for (and is itself an instance of) cloning, using root SQL database entries, ASP.NET pages, and canned content. Cloning involves copying root database objects and default settings which, when combined with asp.net pages and group-specific settings, content, and a domain/URL, produce in a given web site. (Note: domain registration, hosting and email/SMS setup may also be necessary) Primary goals of this web site design include: o Serve AA's primary purpose & principles o Enable regular AAs to maintain the web site o Support cloning (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 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. 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/editing a database record and/or uploading a file, via an admin page of the site itself. Web Committee Trusted Servant