MDN/Development/CompatibilityTables/Tribal Knowledge

From MozillaWiki
Jump to: navigation, search

Questions, terminology, things to know to get an understanding of the project and its moving parts.

Vocabulary

Project specific terms

Terms we use to describe parts of the system.

  • Browser (or "User-Agent"), a web browser (e.g. Mozilla Firefox)
    • Version, a Browser version (e.g. Mozilla Firefox version 41)
  • Feature (e.g. css background property)
    • Feature Children (e.g. “Support for background-origin and background-clip” that’s part of the css background property)
    • Label, A property of a feature entry in the API. It's the feature text such as "Basic support" (localizable?)
  • Support, the cell telling if a given version of Firefox "supports" the feature in question. (i.e. entry that’s used to say Yes/No or a version)
    • Note, help text attached to a Support entry helping how to use, and other notes specific to using the feature (optional, localizable?)
  • Specification (e.g. CSS3 background specification)
    • Section, a subsection where the feature is refered in a specification (i.e. The part of the specification that talks about background css property)
    • Maturity, what’s the stated specification maturity level (e.g. W3C Recommendation, since...)

Architecture concepts

Terms a technical conversation may use to describe what the software is doing.

  • Entity: Represent an object within the code base that holds data from the given by the ORM
  • Entity Hydratation: The moment in the code lifecycle where an empty Python object has been instantiated and filled with data from the ORM
  • DAL: "Database Abstraction Layer". The system infrastructure component that's responsible to deal with database queries
  • ORM: "Object Relationship Manager". A system infrastructure component that takes care of hydrating entities and persist them back to the DAL
  • Serializer: Takes Object instance hydrated from the ORM, and converts it into a text-only format (e.g. into JSON, XML, etc.)
  • Front controller: Programming stack component that the web server exposes first (i.e. an entry point) and returns an HTTP response. Response can be HTML, or anything the stack supports. Format is typically requested through the "Accept: ..." HTTP header