Lesson map
Lesson 11. Map, example, EX057.
flowchart TD
P["Prose inventory"] --> E["Theme, platform, two services"]
L["Lab list"] --> F["Four plugin tuples, five fields"]
E --> Q{"Do those prose items become tuples?"}
F --> Q
Q -->|No| K["Keep both records distinct"]
The administration-page story is wider than components.
Logical drawing
in the four tuples: name, version, fixed or None, last release, in use
in the prose inventory, and not in the list: theme, platform version,
payment provider, newsletter service
Learning outcomes
After this chapter, you should be able to:
- List the five fields a tuple actually stores.
- Name the inventory items that never become rows.
- Refuse an output line for the theme or a service.
11.1 The script's record is four plugins. The charity's list is a paragraph.
Owen's inventory, in the earlier lesson, records name, version, and active state for plugins, and also the theme, the platform version, and the outside services. The lab that follows stores four plugin tuples. Its fields are the ones in the comment: name, version, fixed version or None, last release, and in_use. There is no sixth field for a supplier, a theme name, or a service.
The NTIA minimum elements for an SBOM include supplier name, component name, version, other unique identifiers, dependency relationship, the author of the SBOM data, and a timestamp. Component name and version are the first two strings of each tuple. Supplier, another unique identifier, a dependency edge, an SBOM author, and an SBOM timestamp are absent. today is a review clock used for subtraction. It is not printed as an SBOM timestamp, and it does not name who wrote the list.
The platform is described as a common website platform and is not named. The theme is not named. The payment provider and the newsletter service are not named, and neither is a tuple. Card details are described as going to the provider rather than resting on the site. That sentence is not a fifth row and not a test the loop runs. A hand-added file that the administration page missed is a limit already stated. The script cannot show a file it was not given, and this chapter does not invent one.
Lesson table; scroll horizontally to read all columns →
| Item in the prose inventory | Present as a tuple? |
|---|---|
| donate-form, event-calendar, photo-gallery, newsletter | yes |
| theme | no name, no row |
| platform version | no number, no row |
| payment provider | unnamed, no row |
| newsletter service | unnamed, no row |
11.2 Worked example
Lesson table; scroll horizontally to read all columns →
| Sentence offered as a fifth line | What the list contains | Decision |
|---|---|---|
| Four plugin lines | Four tuples | Keep |
| Theme and services stay in the prose inventory | They are not elements of components |
Keep |
| "The script printed the theme version." | No theme field exists | Refuse |
| "The payment provider is the fifth component." | The provider is out of the list and unnamed | Refuse |
Synthetic case. No supplier string is stored on any tuple.
Errors and limits
Do not widen the print until a field exists to widen it with.
Apply
- EX057 — Five fields. A classmate adds output lines for the theme, the platform version, and the payment provider, and calls the file an SBOM because a date appears in the source. Which fields do the tuples store, and which NTIA elements are missing?
Show marking criteria
Rubric: 3 = the tuples store name, version, fixed orNone, last release, andin_use; theme, platform, and both services are not rows; supplier, other identifiers, dependency relationship, SBOM author, and SBOM timestamp are absent;; 2 = the four plugins stay the only lines and the prose items stay prose;; 1 = one field;; 0 = none.