White Paper
Project White Paper
Rob Panico
Managing Partner
Lead Project Developer
Upstate Weekly News, LLC
1. About

1.1. Upstate Weekly News
Upstate Weekly News, LLC is a partnership between Matt Avitabile, Patrick Billings, Alisan Kochersberger and Robert Panico. The company is organized into two divisions: print and digital.

1.2. Print Newspaper Division
The print division publishes a weekly newspaper which serves readers in Schoharie, Delaware, Ulster, and Greene Counties of Upstate New York. It includes six publications as sections in one single newspaper: the Mountain Eagle, the Schoharie News, the Cobleskill Herald, the Windham Weekly, the Catskills Chronicle, and the Tri-County News.

The print newspaper is available Friday mornings at many retail establishments located within our service area and is mailed to subscribers inside and outside of our service area. The print newspaper is also distributed in digital form via email attachment as an Adobe AcrobatTM file (.pdf).

Alisan Kochersberger, managing partner, is our lead investigative reporter, directing the development of an investigative reporting team.

Patrick Billings, managing partner, serves as director of operations, logistics, and distribution.

Matthew Avitabile, managing partner, serves as chief editor.

1.3. Digital Media Division
Our digital media division is focused on building out an online platform comprising a suite of web and mobile applications that will work towards the fulfillment of our project objectives.

We’re in the process of on-boarding our employees, subscribers, advertisers, and other business partners to our digital platform, which is currently under intense active development.

Robert Panico, managing partner, serves as lead project developer and director of the digital division.

2. Project

2.1. Purpose

Recognizing the strengths and weaknesses of both traditional print and digital media, we've been developing a platform that integrates them in imaginative ways. Our digital platform delivers new sources of value for our company, advertisers, and subscribers while expanding community participation and enabling cost saving business process efficiencies.

2.2. Objectives

  1. Develop internal business process features for operations that save the print newspaper business both time and money.
  2. Develop a series of informational widgets that derive their data from remote APIs, news feeds, and web services.
  3. Develop an advertising system which allows users to design, purchase, and receive feedback and/or make direct sales from advertisements that appear both in print and online. The system will incorporate a job tracking tool which can be used to administer ads and campaigns. Additionally, the system will provide detailed metrics to measure the efficiency of advertisements and campaigns.
  4. Develop a user-friendly exchange that enables users to easily buy, sell, and exchange store credit drawn against the businesses of our advertisers. The exchange will be developed as a UI abstraction layer on top of StellerDEX. We will enable our partners and advertisers to issue and redeem digital store credit using a web application, mobile app, and/or printed gift certificates which contain QR codes. Store credit will be represented as cryptocurrency tokens on the Stellar blockchain network, which was designed to facilitate rapid and inexpensive payments.
  5. Develop a full featured and highly interactive content management, event management, and publishing platform that encompasses articles and events. Use breaking news alerts along with content contributions, reactions and sharing to encourage the development of an online community of members, subscribers, freelancers, employees, advertisers, and partners. All users will have the ability to earn rewards for contributing local news content and photographs. Rewards can be used to place ads, purchase subscriptions, purchase partner store credit, or withdrawn as cash.

3. Functional Descriptions

3.1. Home Page / Dashboard

The home page acts as a container which displays various screen widgets, dependent on user device and personalization. Each of the possibly appearing screen widgets are described below, with their descriptions clarifying under what conditions they appear and to whom.

Please Note: Features having a status of released are fully functional but will likely undergo continued improvements and upgrades over time. Features having a status of beta have been released with minimal functionality and are still under active development. They will be more full featured, visually engaging, and responsive once fully released. Features having a status of alpha are under early active development in a pre-release stage and do not yet feature a user interface or appear on any screen.

3.1.1. Quick Links
Status: released
The quick links widget is only available to users with the admin role. Users who have access to this widget will see a list of personalized bookmarks that they’ve configured in order to use the home page as a personal start page.

3.1.2. Latest Newspaper Edition
Status: released
The latest newspaper edition widget is only available to users with the subscriber role. Users with access to this widget will see a button which activates a modal dialog containing an Adobe AcrobatTM reader loaded with the latest edition of the print newspaper. The most recent edition is typically available before Friday of each week.

3.1.3. User Summary
Status: released
The user summary widget is available to all authenticated users, regardless of role. Users with access to this widget will see a basic profile summary including: their name, contact information, photo, and some links to various user account related features.

3.1.4. Current Weather Conditions
Status: released
Available to all users, including guests. Displays current weather conditions within our service area.

3.1.5. Upcoming Events
Status: beta
Available to all users, including guests. Users with one of the employee roles can add/edit/remove events. Displays an at-a-glance monthly calendar which shows days that have events scheduled. Clicking on a day in the calendar that has scheduled events will display a modal dialog with event details.

3.1.6. Recent Articles
Status: beta
Available to all users, including guests. Users with one of the employee roles can add/edit/remove events. Displays the most recently published online newspaper articles. Basic social media sharing enabled. Commenting and other forms of feedback are not yet implemented. Printable page is working. QR code and Save as PDF not yet available. SEO friendly URLS are working, but other SEO/SEM meta features are not yet released. Email sharing link not yet working. View counter and basic visitor metrics are enabled.

3.1.7. Quote of the Day
Status: released
Available to all users, including guests. A unique and unattributed famous quote is shown each day. We don't attribute the quotes because we've found that causes many readers to focus on the messenger rather than the message. True insights and words of wisdom should stand on their own. For the truly curious, there's always Brave Search.

3.1.8 Stellar Automated Tokens
Status: beta
Available to all users, including guests. Shows the current XLM:USD market price and the market prices of all of our automated commodity and currency tokens in XLM.

3.1.9. Advertisements and Special Offers
Status: alpha
Limited to authenticated users with the subscriber role. We will have a small number of interactive ads from our partners when this feature is released.

3.1.10. Breaking News Alerts
Status: alpha
Limited to authenticated users with the subscriber role. A widget that updates in real time, sharing up to minute news and alerts pertaining to our service area. Release version will include email and/or SMS messaging in addition to the home page widget.

3.2. New Account Registration

3.2.1. Beginning the Registration Process
Status: released
Roles: guest
There are three options to begin the registration process:

Option 1: Click the Sign In link located all the way to the right on the top navigation bar. This will take you to the login screen. On the login screen, click the New Account icon located all the way to the right on the title bar of the login box.

Option 2: Click the Subscribe link located on the footer.

Option 3: Click the New Account button on the home page.

3.2.2. The New Account Registration Main Menu
Status: released
Roles: guest
The main menu contains an introduction and three links with instructions: I'd like to create a new account
Status: released
Roles: guest
Select this option to create a new account if you do not currently have one. If you already have an account, but are having trouble accessing it, please try option #2 or #3 below. Links to 3.2.3. New Account Registration Form I'm having trouble setting up an account
Status: released
Roles: guest
Selecting this option will enable you to open a support ticket. A member of our staff will reply and assist you with setting up your account. You should also select this option if you encounter any type of system error during the signup process. Links to 7.3.1 New Support Ticket I have an account, but forgot my password
Status: released
Roles: guest
Select this option if you already have an existing account but are unable to access it because you've lost or forgotten your password. Links to 3.2.x. Password Reset Form

3.2.3. New Account Registration Form
Status: released
Roles: guest
The first step in the registration process is to complete the new account registration form. It contains fields for first name, last name, email address, mobile phone number, and desired password. Password should be a random string of at least 12 characters in length and should contain both uppercase and lowercase letters and at least one number.

3.2.4. New Account Confirmation
You will be taken to this screen upon successful completion and submission of the new account registration form. You will see a summary of your input and a message providing further instructions. Among the instructions is a note indicating that a thank you email was sent to the address you entered in the new account registration form. This email contains a link to verify your email address. This step is required before you may progress any further in the registration process. Re-send Thank You Email
Status: beta
Roles: guest
In the even that no email was received, you can click the re-send email button and another attempt will be made. Please be sure to check your spam folder if you did not receive a thank you email.

3.2.5. Verified Email Summary
Status: beta
Roles: guest
Once you've clicked the link in the welcome email to verify your email address, you will be taken to the verified email screen. It provides a basic user profile and further instructions. At this point in time, our team is manually approving new users in order to maintain the integrity of our community. After having verified your email address, your membership application will be placed in a queue to be reviewed and approved by our staff.

3.2.6. Membership Applications Queue
Status: beta
Roles: admin, partner
The screen provides a list of membership applications that are pending review for approval. Each application has a link to membership application details.

3.2.7. Membership Application Details
Status: beta
Roles: admin, partner
This screen displays details about an individual membership application. It has a button to approve the application and a button to decline the application. If the application is approved, it is removed from the membership applications queue and an email notification is sent to the approved user. If the application is declined, a modal dialog will appear which contains a form with a text box which is used by our staff to explain the reason(s) why the application was declined and providing information about how to appeal our decision. Once the form is submitted, an email is sent to the user letting them know their application was declined, along with the notes from the staff member.

3.2.8. New Member Welcome Email
Status: beta
Roles: member, subscriber, wholesaler, vendor, customer, agent, journalist, driver, editor
After your membership application has been approved by our staff, you will receive a welcome email inviting you to sign-in to the web application. Follow the link in the email and sign-in using your email address and the password you entered on the new member registration form.

3.3. Members

Each member can have one or more roles. Roles determine which features a member may access. Website visitors who are either not signed in or who do not have a member account automatically have the guest role. Newly approved members who completed registration all begin with the role of member. Members can gain or be assigned additional roles based on their actions while participating in the community.

Members who subscribe to the newspaper will gain the subscriber role.

Members who purchase advertising space will gain the vendor role.

Members who respond to advertisements will gain the customer role.

Members who sell our services in exchange for commission will gain the agent role.

Members who write and publish articles and/or events on our website or in the print newspaper will gain the journalist role.

Members who deliver printed newspapers to stops on a delivery route will gain the driver role.

Members who are employed by the company as customer service representatives, technical support engineers, social media coordinators, content editors and/or section managers will gain the editor role.

Members who own shares in the company will gain the partner role.

Members who administer our applications have the admin role.

3.3.1. Member Sign-In

3.3.2. Member Profile Photobox Contact Information Bio Roles My Business Tags Download History Login History Subscriptions Calendar Locations Friends Articles Quick Links Treasure Chest Sticky Notes Advertisements Reactions

3.4. Articles

3.4.1. Search Articles

3.4.2. Recent Articles

3.4.3. Articles by Category

3.4.4. Category Articles

3.4.5. Articles RSS Feed

3.4.6. New Article

3.4.7. Edit Article

3.4.8. Delete Article

3.4.9. Restore Version

3.4.10. Display Article

3.4.11. Print Article

3.4.12. Save Article as PDF

3.4.13. Share Article

3.5. Events

3.5.1. Search Events

3.5.2. Recent Events

3.5.3. Events by Category

3.5.4. Category Events

3.5.5. Events Calendar

3.5.6. New Event

3.5.7. Edit Event

3.5.8. Delete Event

3.5.9. Restore Version

3.5.10. Display Event

3.5.11. Print Event

3.5.12. Save Event as PDF

3.5.13. Share Event

3.5.14. Invite Attendees

3.5.15. Respond to Invitation

3.6. RSS Feeds

3.6.1. Search RSS Feeds

3.6.2. RSS Feeds by Category

3.6.3. New RSS Feed

3.6.4. Edit RSS Feed

3.6.5. Delete RSS Feed

3.6.6. RSS Feed Headlines

3.7. Shared Files

3.7.1. Browse Volume

3.7.2. Browse Directory

3.7.3. Search Directory

3.7.4. Synchronize Directory

3.7.5. Set Directory Permissions

3.7.6. Set Directory Keywords

3.7.7. New Directory

3.7.8. Rename Directory

3.7.9. Copy Directory

3.7.10. Move Directory

3.7.11. Delete Directory

3.7.12. Upload Files

3.7.13. Download File

3.7.14. Rename File

3.7.15. Copy File

3.7.16. Move File

3.7.17. Delete File

3.7.18. File Details

3.7.19. Set File Permissions

3.7.20. Set File Keywords

3.7.21. Send File

3.8. Advertisements

3.8.1. Search Ads

3.8.2. Recent Ads

3.8.3. Ads by Type

3.8.4. Type Ads

3.8.5. Ads by Category

3.8.6. Category Ads

3.8.7. Design a New Ad

3.8.8. Purchase Ad Space

3.8.9. Place Ad

3.8.10. Ad History

3.8.11. Ad Details

3.8.12. Display Ad

3.8.13. Edit Ad

3.8.14. Remove Ad

3.8.15. Delete Ad

3.8.16. Respond to Ad

3.9. Exchange

3.9.1. Store Credit Tokens

3.9.2. USPS Postage Labels

3.10. Business Applications

3.10.1. Distribution Mailing Labels Drivers Stops Routes

3.10.2. Accounting

3.10.3. Personnel Reports

3.10.4. Sales Reports Subscription Reports Advertising Reports

3.10.5. Tax and Compliance

3.11. Administration

3.11.1. Users

3.11.2. Businesses

3.11.3. Locations

3.11.4. Postal Centers

3.11.5. Categories

3.11.6. Advertisements

3.11.7. Markets

3.11.8. Articles

3.11.9. Events

3.11.10. RSS Feeds

3.11.11. Permissions

3.11.13. Logs Errors Archived Errors Sessions Mail Activity Offers Settings

3.11.14. Reports Logins Accounts Tickets Emails Downloads Visitors

3.11.15. Support Tickets

3.12.16. Stellar Tokens

3.11.17. Stellar Admin Dashboard

3.11.18. Web Services Explorer

4. Technical Specifications

This section provides an overview of the technology that powers our digital platform.

The primary layers of the platform include: database, aggregated services, syndicated services, business logic, routing, user interface, and third party libraries.

The following technologies are employed by our platform (in no particular order):

  • SQL
  • JavaScript
  • CSS
  • REST
  • SOAP
  • RSS
  • MySQL Database - v8.x Community Release
  • Apache httpd web server v2.2.x.
  • SMTP/Email services are provided by mxRouting.net.
  • PHP v7.x with Composer, OpenSSL, cUrl, mbstring, and Sodium.
  • Plum, our web framework.
  • NodeJS
  • Python
  • Shell Scripts & Batch Files
  • Bootstrap v4.5
  • Font Awesome
  • UI Plugins: Captcha, TinyMCE editor, Plupload, Pretty checkboxes, video player, audio/music player
  • jQueryUI and jQuery

5. Appendices

5.5. Definitions

5.5.1. The Apache HTTP Server, colloquially called Apache is a free and open-source cross-platform web server software, released under the terms of Apache License 2.0. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.

5.5.2. Base64 is a group of binary-to-text encoding schemes that represent binary data (more specifically, a sequence of 8-bit bytes) in an ASCII string format by translating the data into a radix-64 representation. The term Base64 originates from a specific MIME content transfer encoding. Each non-final Base64 digit represents exactly 6 bits of data. Three 8-bit bytes (i.e., a total of 24 bits) can therefore be represented by four 6-bit Base64 digits. Common to all binary-to-text encoding schemes, Base64 is designed to carry data stored in binary formats across channels that only reliably support text content. Base64 is particularly prevalent on the World Wide Web, where its uses include the ability to embed image files or other binary assets inside textual assets such as HTML and CSS files

5.5.3. Captcha is a contrived acronym for "Completely Automated Public Turing test to tell Computers and Humans Apart") is a type of challenge–response test used in computing to determine whether or not the user is human.

5.5.4. Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML.[1] CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript.

5.5.5. Coinbase Global, Inc., branded Coinbase, is an American company that operates a cryptocurrency exchange platform. Coinbase operates remote-first, and lacks an official physical headquarters. The company was founded in 2012 by Brian Armstrong and Fred Ehrsam, and as of March 2021 was the largest cryptocurrency exchange in the United States by trading volume. On April 14, 2021, Coinbase went public on the Nasdaq exchange via a direct listing.

5.5.6. Composer is an application-level package manager for the PHP programming language that provides a standard format for managing dependencies of PHP software and required libraries.

5.5.7. cURL is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL", which was first released in 1997.

5.5.8. Document Object Model (DOM) is a cross-platform and language-independent interface that treats an XML or HTML document as a tree structure wherein each node is an object representing a part of the document. The DOM represents a document with a logical tree. Each branch of the tree ends in a node, and each node contains objects. DOM methods allow programmatic access to the tree; with them one can change the structure, style or content of a document. Nodes can have event handlers attached to them. Once an event is triggered, the event handlers get executed.

5.5.9. Hypertext Application Language (HAL) is an Internet Draft (a "work in progress") standard convention for defining hypermedia such as links to external resources within JSON or XML code (however, the latest version of HAL Internet-Draft expired on November 12, 2016.). The standard was initially proposed in June 2012 specifically for use with JSON and has since become available in two variations, JSON and XML. The two associated MIME types are media type: application/hal+xml and media type: application/hal+json.

5.5.10. JavaScript often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-based object-orientation, and first-class functions. Alongside HTML and CSS, JavaScript is one of the core technologies of the World Wide Web. Over 97% of websites use it client-side for web page behavior, often incorporating third-party libraries. All major web browsers have a dedicated JavaScript engine to execute the code on the user's device. As a multi-paradigm language, JavaScript supports event-driven, functional, and imperative programming styles. It has application programming interfaces (APIs) for working with text, dates, regular expressions, standard data structures, and the Document Object Model (DOM).

5.5.11. LibSodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. It is a portable, cross-compilable, installable, packageable fork of NaCl, with a compatible API, and an extended API to improve usability even further. Its goal is to provide all of the core operations needed to build higher-level cryptographic tools.

5.5.12. Mbstring stands for multi-byte string functions. Mbstring is an extension of php used to manage non-ASCII strings. Mbstring is designed to handle Unicode-based encodings such as UTF-8 and UCS-2 and many single-byte encodings for convenience PHP Character Encoding Requirements

5.5.13. MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the abbreviation for Structured Query Language. A relational database organizes data into one or more data tables in which data types may be related to each other; these relations help structure the data. SQL is a language programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

5.5.14. National Oceanic and Atmospheric Administration (NOAA) is an American scientific and regulatory agency within the United States Department of Commerce that forecasts weather, monitors oceanic and atmospheric conditions, charts the seas, conducts deep sea exploration, and manages fishing and protection of marine mammals and endangered species in the U.S. exclusive economic zone.

5.5.15. NodeJS is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web-application development around a single programming language, rather than different languages for server-side and client-side scripts.

5.5.16. npm is a subsidiary of GitHub (a subsidiary of Microsoft), based in Oakland, California that maintains npm, a JavaScript package manager, and provides hosting for software development and version control with the usage of Git.

5.5.17. oAuth is an open standard for access delegation, commonly used as a way for Internet users to grant websites or applications access to their information on other websites but without giving them the passwords. This mechanism is used by companies such as Amazon, Google, Facebook, Microsoft and Twitter to permit the users to share information about their accounts with third party applications or websites.

5.5.18. OpenSSL is a software library for applications that secure communications over computer networks against eavesdropping or need to identify the party at the other end. It is widely used by Internet servers, including the majority of HTTPS websites. OpenSSL contains an open-source implementation of the SSL and TLS protocols. The core library, written in the C programming language, implements basic cryptographic functions and provides various utility functions. Wrappers allowing the use of the OpenSSL library in a variety of computer languages are available. The OpenSSL Software Foundation (OSF) represents the OpenSSL project in most legal capacities including contributor license agreements, managing donations, and so on. OpenSSL Software Services (OSS) also represents the OpenSSL project, for Support Contracts.

5.5.19. PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1994. The PHP reference implementation is now produced by The PHP Group. PHP code is usually processed on a web server by a PHP interpreter implemented as a module, a daemon or as a Common Gateway Interface (CGI) executable. On a web server, the result of the interpreted and executed PHP code – which may be any type of data, such as generated HTML or binary image data – would form the whole or part of an HTTP response. Various web template systems, web content management systems, and web frameworks exist which can be employed to orchestrate or facilitate the generation of that response. Additionally, PHP can be used for many programming tasks outside of the web context, such as standalone graphical applications and robotic drone control. PHP code can also be directly executed from the command line.

5.5.20. Plum Framework is a web application framework developed by Rob Panico. There are both PHP and JavaScript (NodeJS) version of the framework.

5.5.21. Python is an interpreted high-level general-purpose programming language. Its design philosophy emphasizes code readability with its use of significant indentation. Its language constructs as well as its object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects. Python is dynamically-typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly, procedural), object-oriented and functional programming. It is often described as a "batteries included" language due to its comprehensive standard library.

5.5.22. QR Code (abbreviated from Quick Response code) is a type of matrix barcode (or two-dimensional barcode) invented in 1994 by the Japanese automotive company Denso Wave. A barcode is a machine-readable optical label that contains information about the item to which it is attached. In practice, QR codes often contain data for a locator, identifier, or tracker that points to a website or application. A QR code uses four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji) to store data efficiently; extensions may also be used

5.5.23. Really Simple Syndication (RSS) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many different websites in a single news aggregator, which constantly monitor sites for new content, removing the need for the user to manually check them. News aggregators (or "RSS readers") can be built into a browser, installed on a desktop computer, or installed on a mobile device.

5.5.24. Stellar is an open source, decentralized protocol for digital currency to fiat money low-cost transfers which allows cross-border transactions between any pair of currencies. The Stellar protocol is supported by a Delaware nonprofit corporation, the Stellar Development Foundation, though this organization does not enjoy 501(c)(3) tax-exempt status with the IRS.

5.5.25. Stellar Asset The Stellar distributed network can be used to track, hold, and transfer any type of asset: dollars, euros, bitcoin, stocks, gold, and other tokens of value. Any asset on the network can be traded and exchanged with any other using Stellar’s built-in decentralized exchange.

5.5.26. Stellar Lumens (XLM) Stellar's native cryptocurrency, Lumens (XLM), serves several functions on the network. It can be used to pay for transaction fees and can act as a bridge, enabling users to trade between multiple currencies. Stellar also requires users to maintain a minimum balance of XLM in their accounts.

5.5.27. SimplePie SimplePie is a very fast and easy-to-use feed parser, written in PHP, that puts the 'simple' back into 'really simple syndication'. Flexible enough to suit beginners and veterans alike, SimplePie is focused on speed, ease of use, compatibility and standards compliance.

5.5.28. Stripe is an Irish-American financial services and software as a service (SaaS) company dual-headquartered in San Francisco, United States and Dublin, Ireland. The company primarily offers payment processing software and application programming interfaces (APIs) for e-commerce websites and mobile applications.

5.5.29. Tokens are a type of cryptocurrency that represents an asset or specific use and resides on their blockchain. Tokens can be used for investment purposes, to store value, or to make purchases.

5.5.30. Tom's Obvious, Minimal Language (TOML) is a file format for configuration files. It is intended to be easy to read and write due to obvious semantics which aim to be "minimal", and is designed to map unambiguously to a dictionary. Its specification is open-source, and receives community contributions. TOML is used in a number of software projects, and is implemented in many programming languages. The name "TOML" is an acronym for "Tom's Obvious, Minimal Language" referring to its creator, Tom Preston-Werner.

5.5.31. Transport Layer Security (TLS), the successor of the now-deprecated Secure Sockets Layer (SSL), is a cryptographic protocol designed to provide communications security over a computer network. Several versions of the protocol are widely used in applications such as email, instant messaging, and voice over IP, but its use as the Security layer in HTTPS remains the most publicly visible. The TLS protocol aims primarily to provide privacy and data integrity between two or more communicating computer applications. It runs in the application layer of the Internet and is itself composed of two layers: the TLS record and the TLS handshake protocols.

5.5.32. Web Application Frameworks are software frameworks designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web. Web frameworks aim to automate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks, and session management, and they often promote code reuse. Although they often target development of dynamic web sites, they are also applicable to static websites.

5.6. Version History

Version Date
1.0.0. 27 July 2021
1.0.1. 2 August 2021
1.0.2. 8 August 2021
1.0.3. 9 August 2021
1.0.4. 16 August 2021
1.0.5. 18 August 2021
1.0.6. 20 August 2021
1.0.7. 24 August 2021