WEB SITE DESIGN ARCHITECTURE OVERVIEW This 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 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, calendar and maps/GPS navigation. Meeting Guide app connectivity is supported by exporting meeting data to a JSON-formatted text file. Site elements, content, and access are handled by SQL database entries and system and user-supplied files: o a system database for user access o a site database for web site elements o root & subdirectories & user files Responsee, a set of open source stylesheets and JavaScript libraries, allows for responsive layouts for desktop, tablet and mobile devices. JavaScript is also used for specific browser (client-side) functions. The site is designed for (and is itself an instance of) cloning, using root SQL database entries, ASP.NET pages, and canned content. Cloning consists of copying root database objects which, when combined with asp.net pages and user-supplied settings, content, and a domain/URL, result in a 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 non-geek AAs to manage a web site o Support cloning (sites, pages, content) o Protect user anonymity & data integrity o Shield from outside issues (e.g., malware) o Web services (online 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. Navigation menus provide access to content and pages at three levels: o PUBLIC menu -- public content o MEMBER menu -- member only content o ADMIN menu -- admin only content Once a member or admin logs out, website access, menus and content are set to PUBLIC. Member accounts can be created only by admins, i.e., the webmaster, Web Chair, or a trusted servant. Members have access to "Public" and "Member" pages. Each group picks which pages to have. Public pages, when accessed by members, may have added features or content. For example, a calendar page may be public but members may update it or to see member content. Empowering members with access, information and functions while protecting them and the web site is a primary architectural 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 the site content but not member accounts; member account data is encrypted and accessible (in encrypted form) only to admins and web hosting account tech support. 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 be configured to allow uploads but require a trusted servant (admin) to review and "activate" a resource before it is accessible. Or, a site can be configured to 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 "alerts", intended to notify about web site changes (e.g., added events, uploaded content). Member groups & roles -- committee chairs, treasurer, secretary etc -- can be defined. A member may be assigned to one or more defined groups or roles. Content can be uploaded & shared (or restricted & controlled) by the member(s) of a group or role. The role/group feature supports service rotation and service concepts (right of decision, autonomy, collaboration, transparency). Virtually all element -- logo, splash image, menus, pages -- are database-driven & replaceable. Changes to web pages or content can be made by editing a table entry or uploading a file. Web Committee Trusted Servants