3 ms·
Something that anyone who's brushed shoulders with the S1000D document specification knows in their guts. S1000D is a CCS (component content system), which "ch
by MilStdJunkie 3y ago
Something that anyone who's brushed shoulders with the S1000D document specification knows in their guts.
S1000D is a CCS (component content system), which "chunks" the content into units called DMs (Data Modules). Each DM has a DMC (Data Module Code), which is also its filename, its natural key, and its addressable unit. The Data Module Code has tons of little IDs indicating all sorts of things[1], but see, they're all tied in to different business processes. I don't think I need to explain that this whole scheme goes batshit haywire at the smallest provocation, leading to many S1000D systems to be kept in the MIL-STD equivalent of a locked sacristy inside of the Logistics office. Locked sacristies don't get updated a whole lot, so the documents are comically - dangerously - out of sync with basically everything.
CCSs in general, and S1000D in particular, were architected by people that were outsiders to the broader trends in computing and programming. DITA came from Horn's Information Mapping via IBM, and Rob Horn was a PoliSci guy. IBM did what it could, but the basic notion that "document" could be replaced by "map" was a conceptual leap not taken by equivalent designers with LaTeX and the others in the more programmer-focused world. And compared to DITA, S1000D's far, far, far worse, being shaped by a steering group inside of a steering committee that's controlled by this . . this . . sort of Lovecraftian block diagram, if I am looking at the right issue of the specification and lighting the right candles. Both of the big CCS specs run into big thick walls of complexity as a fundamental consequence of their explicitly not studying computational complexity at design.
Alright, yeah, I have a few chips on my shoulder about this. But I hate waste, I hate it with the brilliance of a million suns, and I have seen so many decades of bodies thrown at this problem. It's beyond time at least a few of us raised our hands and asked, "So why does this never work?". The first step, as indicated, is admitting that your mental abstractions aren't actually real, not in the touchy-space-verse, and then to design systems accordingly.
[1] Namespaces? What's a namespace? S1000D avoids all things namespaces. Instead, when you have a new MODELIC + SDC combination, you mail a letter to NISPA (NATO Support and Procurement Agency) to register your new MODELIC, and then your DMCs will be - very hopefull y- uniquely addressable. How often do people actually register their MODELICs? Ah, I see you found the flaw in our cunning plan! MIL-STD-3031 (the USAA BREX / S1000D thingy) explicitly tells the publications administrator to NOT register their MODELICs with NISPA, because EUROS ARE GAYYYYYYY. Also, MIL-STD-3031 has some interesting ideas about what different parts of the DMC actually mean, which makes all this really pertinent (I think) to the article.