RE: 'externalFiles' to 'externalFragments'?

From
Michael Fanning <>
Date
2018-10-17T19:14:25+00:00
ID
Thread
RE: 'externalFiles' to 'externalFragments'?
Ok. We have a remaining open issue in this area. In the last TC, we discussed how the resources files fit into this general schema of things. We should think about this a bit more. I reviewed the spec information. First, it appears that
 we do define a specific format for the resources object. But we’ve never created or published a schema for it. We also don’t have a proof point for utilizing it.

 

In the TC, we wondered: should we forbid resources as fragments because we have the alternate resource file?

 

I argued that for consistency, we should permit resources as fragments: it keeps the design consistent in all cases, even when localization is nowhere in sight as a topic. We did not thoroughly discuss a different approach: can we dispense
 with the ‘resources’ file definition by replacing it with a fragment?

 

On surface, this looks attractive: we eliminate a schema/file format and we could eliminate a dedicated file extension for *.sarif-resources as well. There is at least one problem with doing so: we have an optional tight coupling of a fragment
 with a root SARIF file. For resources, the coupling is with a specific version of a tool, not a specific log file. i.e., a resources file would comprise, e.g., all EN strings for blah tool, v1.1.2. The custom resources format accounts for this, a fragment
 currently cannot.

 

Michael

 

From: Larry Golding (Myriad Consulting Inc) <>

Sent: Wednesday, October 17, 2018 12:07 PM

To: Larry Golding (Myriad Consulting Inc) <>; Michael Fanning <>; 'OASIS SARIF TC Discussion List' <>

Subject: RE: 'externalFiles' to 'externalFragments'?

 

Ok according to 
https://tools.ietf.org/html/rfc2045.

 

From:  <>
On Behalf Of Larry Golding (Myriad Consulting Inc)

Sent: Wednesday, October 17, 2018 12:02 PM

To: Michael Fanning <>; 'OASIS SARIF TC Discussion List' <>

Subject: [sarif] RE: 'externalFiles' to 'externalFragments'?

 

Thanks. I updated #182 to propose 
application/sarif-fragment+json. I’ll check the MIME type RFC to make sure “hyphen” is ok.

 

From: Michael Fanning <>

Sent: Wednesday, October 17, 2018 12:00 PM

To: Larry Golding (Myriad Consulting Inc) <>; 'OASIS SARIF TC Discussion List' <>

Subject: RE: 'externalFiles' to 'externalFragments'?

 

I like your proposal! We need to make sure we request all relevant MIME types as well, I think we require one additional one minimally for SARIF fragments.

 

From: Larry Golding (Myriad Consulting Inc) <>

Sent: Wednesday, October 17, 2018 11:54 AM

To: Michael Fanning <>; 'OASIS SARIF TC Discussion List' <>

Subject: RE: 'externalFiles' to 'externalFragments'?

Importance: High

I

I captured a proposal based on this discussion in an 
issue comment; please review – thanks!

 

From: Larry Golding (Myriad Consulting Inc) <>

Sent: Wednesday, October 17, 2018 10:06 AM

To: Larry Golding (Myriad Consulting Inc) <>; Michael Fanning <>; 'OASIS SARIF TC Discussion List' <>

Subject: RE: 'externalFiles' to 'externalFragments'?

 

By the way, Michael and I were having this discussion in the context of working to close the existing Issue #118, “SARIF file naming convention”. We are not proposing to open a new issue. It we did decide (for example) to rename externalFiles
 to externalFragments, we would do it in the context of #118.

 

Hey! Why not name it (“it” being the thing we today call a “externalFile”)
sarifFragment rather than externalFragment? That is parallel to the existing
sarifLog type! And it would then map most naturally to the filename extension “sarif-fragment”.

 

Larry 

 

From:  <>
On Behalf Of Larry Golding (Myriad Consulting Inc)

Sent: Wednesday, October 17, 2018 10:02 AM

To: Michael Fanning <>; 'OASIS SARIF TC Discussion List' <>

Subject: [sarif] RE: 'externalFiles' to 'externalFragments'?

 

“sarif-fragment” is nice because it suggests “sarif-resources” as the extension for the language-specific resource files defined elsewhere in the spec. If “-sarif” is at the end of the extension, you end up with “resources-sarif” which
 doesn’t read as well.

 

From:  <>
On Behalf Of Michael Fanning

Sent: Wednesday, October 17, 2018 7:31 AM

To: 'OASIS SARIF TC Discussion List' <>

Subject: [sarif] 'externalFiles' to 'externalFragments'?

 

Larry and I were discussing a possible rename yesterday, just sanity checking this with the group. We were specifically noting that we require a naming convention to help distinguish ‘external’ files. The reason is that their only distinguishing
 characteristic within the file is the $scheme property, which is optional (the version property matches a root/parent SARIF file).

 

And so a convention to name these files something like *.external.sarif would be useful. Alternately, of course, we could consider defining an entirely new extension, e.g., external-sarif.

 

When considering either a new extension or a file naming convention, it occurred to me that the use of the term ‘fragment’ would be clearer. And so I have two questions:

 

What would people think about using ‘externalFragments’ as a name rather than ‘externalFiles’? This would be minimally intrusive in the spec and lead to file names such as ‘example.fragment.sarif’,
 which is clearer than ‘example.external.sarif’.

What mechanism should we prefer, a naming convention or a new extension? I,.e., ‘example.fragment.sarif’ or ‘example.fragment-sarif’? or even ‘example.sarif-fragment’ (which is entirely
 readable)

 

Michael