WEB SITE DESIGN OVERVIEW This web site is composed of the following: o HTML and ASP.NET C# web pages o JavaScript functions o Responsive CSS layouts o User-supplied & canned content Web site pages are produced for desktop, tablet, and mobile devices by combining page templates with HTML content and server-side (C#) functionality. The site relies on a Microsoft Windows IIS hosting environment, C# and SQL databases for site pages and management, and relies on 3rd party software for payment processing, SMTP & SMS messaging, web forms, calendar and maps/GPS navigation. Meeting Guide connectivity is via a text file of JSON meeting data. 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) provides responsive layouts for desktop, tablet and mobile devices. JavaScript is also used for other browser (client-side) functions. The web site is designed for (and is itself an instance of) cloning, using root database entries, ASP.NET pages, and canned content. Cloning involves copying root objects and default settings which, when combined with asp.net pages and group-specific settings, content, and a domain/URL, creates a web site. (Note: domain registration, hosting, SMTP email, SMS setup may also be necessary) Design goals for this web site software include: o Serve AA's primary purpose & principles o Enable regular AAs to maintain a 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 Access is provided at three distinct levels: Public -- open to the public Members -- open to members only Admins -- open to admins only A site can have 1+ admin users, zero+ members, and unlimited public users, as dictated by group conscience. Navigation menus are level-specific: 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, and 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. Members can access public and member pages, and admins can access "admin" pages. Each AA group chooses which pages to have on a site. Public pages, when accessed by a member, may have added features or content; e.g., a calendar can let members make updates or see other content. Providing members with choices, access, and information, while protecting them and the 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 web 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: web site admins may not have access to the ISP hosting account (or files, databases, email accounts, etc), in a shared hosting arrangement. 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" it. Or, a site can have only admins update content. Members control their data and visibility via a 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 updates). A generic or shared login ("gsr", "dcm", "delegate") may be used by a group of users. Member groups & roles (committee chair, treasurer, etc) can be created and members assigned to them. Content may be uploaded & made public or restricted to the group. Member groups and roles mirror AA traditions and service concepts (rotation, right of decision, delegated authority) for a site. 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 of the site itself). Web Committee Trusted Servants