<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mecwiki.etsi.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Featherstone</id>
	<title>MECwiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://mecwiki.etsi.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Featherstone"/>
	<link rel="alternate" type="text/html" href="https://mecwiki.etsi.org/index.php?title=Special:Contributions/Featherstone"/>
	<updated>2026-06-04T12:55:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://mecwiki.etsi.org/index.php?title=MEC_Deployment_Trials_Framework&amp;diff=2862</id>
		<title>MEC Deployment Trials Framework</title>
		<link rel="alternate" type="text/html" href="https://mecwiki.etsi.org/index.php?title=MEC_Deployment_Trials_Framework&amp;diff=2862"/>
		<updated>2018-09-07T10:10:04Z</updated>

		<summary type="html">&lt;p&gt;Featherstone: Edits following acceptance of MEC(18)000369, 370r1 &amp;amp; 371r1 at MEC F2F#2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
After the successful campaign of MEC Proof of Concepts (PoC), ETSI ISG MEC has developed the &#039;&#039;&#039;MEC Deployment Trial (MDT) Framework&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The goal of MDTs is to demonstrate the &#039;&#039;&#039;viability of MEC in commercial trials/deployments&#039;&#039;&#039; and to provide feedback to the standardisation work.&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How does it work ==&lt;br /&gt;
&lt;br /&gt;
The MDT Framework describes the process and criteria that a MDT demonstration must adhere to. The process aligns with that defined for MEC PoCs. A key differentiator to PoCs is that &#039;&#039;&#039;MDT proposals are expected to be deployed/tested in a commercial network or a field trial network&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== How to propose a MEC Deployment Trial ==&lt;br /&gt;
&lt;br /&gt;
A MDT Proposal can be submitted by a MDT team that will have at a minimum 2 different stakeholder members among:&lt;br /&gt;
* network operator;&lt;br /&gt;
* infrastructure provider;&lt;br /&gt;
* content/application provider.&lt;br /&gt;
The MDT Point of Contact will be an ISG MEC Member or an ISG MEC Participant.&lt;br /&gt;
&lt;br /&gt;
MDT proposals are expected to be scoped around PoC Topics identified and agreed by the ISG MEC. See details and current list [https://mecwiki.etsi.org/index.php?title=PoC_Topics here]. &lt;br /&gt;
&lt;br /&gt;
MDT proposals are expected to be deployed in a commercial network or a field trial network relying on the principles of the MEC reference architecture and APIs as much as applicable for the demonstrated use case.&lt;br /&gt;
&lt;br /&gt;
The MDT Team will commit to demonstrating their MDT Proposal at a public event, e.g. Public Exhibition, ISG MEC meeting, or other events outlined in the MDT Proposal.&lt;br /&gt;
&lt;br /&gt;
To submit a MDT Proposal, the Proposal template must be completed and uploaded on the ETSI Portal as a contribution to ISG MEC and a link to the contribution emailed to:&lt;br /&gt;
&lt;br /&gt;
   MEC_PoC_support_team at etsi.org&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[https://mecwiki.etsi.org/images/MEC_Deployment_Trial_Proposal.doc Download the MDT Proposal template]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to report a the concluded MDT ==&lt;br /&gt;
&lt;br /&gt;
To report on the conclusion of a MDT, the Report template must be completed and emailed to: &lt;br /&gt;
&lt;br /&gt;
   MEC_PoC_support_team at etsi.org&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[https://mecwiki.etsi.org/images/MEC_Deployment_Trial_Report_Template.doc Download the MDT Report template]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Featherstone</name></author>
	</entry>
	<entry>
		<id>https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2788</id>
		<title>OpenAPI development guidelines</title>
		<link rel="alternate" type="text/html" href="https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2788"/>
		<updated>2017-12-11T22:25:31Z</updated>

		<summary type="html">&lt;p&gt;Featherstone: /* General guidelines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenAPI development guidelines for ETSI MEC ISG API specifications.&lt;br /&gt;
More general recommendations can be found at [https://forge.etsi.org/wiki/index.php/Main_Page Forge OpenAPI Guidelines].&lt;br /&gt;
&lt;br /&gt;
= How to review the latest versions =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;If you are interested to access and download the raw YAML files built for each interface (currently only MEC-012 is built in this manner, the other interfaces will follow) visit [https://forge.etsi.org/jenkins/view/all/job/MEC%20-%20Multi-access%20Edge%20Computing/ latest succesful builds].&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;[[ShortGuideToReviewInGerrit|A short guide to review in Gerrit]]&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are willing to contribute or if you want more information, contact [mailto:cti_support@etsi.org?subject=MEC%20openapis%20development: ETSI CTI]. ETSI CTI have also made a [https://www.youtube.com/watch?v=YXO0R61Dcg8 YouTube] tutorial available, which although based on NFV rather than MEC provides a valuable overall guide. &lt;br /&gt;
&lt;br /&gt;
= API development =&lt;br /&gt;
&lt;br /&gt;
== General guidelines ==&lt;br /&gt;
&lt;br /&gt;
MEC APIs are currently described using the [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md OpenAPI 2.0 specification]. Members of the ETSI MEC ISG can view a tutorial [https://docbox.etsi.org/ISG/MEC/05-CONTRIBUTIONS/2017//MEC(17)000541_MEC023_Creating_a_OpenAPI_spec_compliant_API_description.pptx presentation] on creating a OpenAPI based description using the MEC-011 Mp1 API as the basis. That can be made available outside the ISG on request.&lt;br /&gt;
&lt;br /&gt;
A migration to the latest version of the [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md OpenAPI 3.0 specification] is being actively pursued within the ISG. However, it is desirable that auto-generation of client and server stubs are supported through [https://github.com/swagger-api/swagger-codegen swagger-codegen], which is still in development (reference 3.0.0_enhancements branch).&lt;br /&gt;
&lt;br /&gt;
=== Root API files ===&lt;br /&gt;
&lt;br /&gt;
Since the specification requires the &amp;lt;code&amp;gt;apiVersion&amp;lt;/code&amp;gt; be after &amp;lt;code&amp;gt;apiName&amp;lt;/code&amp;gt; in the resource path, each API will have a separate OpenAPI root file.&lt;br /&gt;
&lt;br /&gt;
In detail, paths are required to start with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;apiRoot&amp;gt;/&amp;lt;apiName&amp;gt;/&amp;lt;apiVersion&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the only way to model this with OAS is using separate files for each interface. This will also help readability and clarity.&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
Definitions are currently not shared across API descriptions and there is no cross-referencing. This is also the case in the group specifications themselves.&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
It is encouraged to create a separate file for each resource (as is the case for Mp1 and Location), although only the overall description file is provided for most APIs.&lt;br /&gt;
&lt;br /&gt;
== Branching strategy ==&lt;br /&gt;
&lt;br /&gt;
* Within the repository there will be a branch for each &#039;&#039;active&#039;&#039; version of the interfaces. A version is &#039;&#039;active&#039;&#039; if it is still under maintenance in the WG.&lt;br /&gt;
* Git tags will be used to label a commit on a branch with a specific revision of the deliberable. &lt;br /&gt;
&lt;br /&gt;
== Folder structure and file names ==&lt;br /&gt;
&lt;br /&gt;
=== Repository structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
repository_root                     i.e. MEC&lt;br /&gt;
|- Group Specification (GS) x       e.g. MEC.GS-011&lt;br /&gt;
   |- Readme.md                     General API information&lt;br /&gt;
   |- APIx.json                     Auto-generated JSON&lt;br /&gt;
   |- APIx.yaml                     Main OAS file (auto-generated using the APIx.split.yaml file: multi-file-swagger Mp1.split.yaml &amp;gt; Mp1.json), e.g. Mp1.yaml&lt;br /&gt;
   |- APIx.split.yaml               Definition file split into its component parts, to bring it together use [https://github.com/mohsen1/multi-file-swagger-example multi-file-swagger]&lt;br /&gt;
      |- definitions&lt;br /&gt;
         | - DataType1.yaml         e.g. CurrentTime.yaml&lt;br /&gt;
         | - DataType2.yaml&lt;br /&gt;
      |- examples                   Example responses&lt;br /&gt;
         | - Example1.yaml          e.g. ServiceInfo.yaml&lt;br /&gt;
         | - Example2.yaml&lt;br /&gt;
      |- externalDocs               Links to external docs, i.e. the GS&lt;br /&gt;
         | - index.yaml&lt;br /&gt;
      |- info                       General info regarding API, e.g. Copyright&lt;br /&gt;
         | - index.yaml&lt;br /&gt;
      |- parameters                 API Body/Query/Path Parameters&lt;br /&gt;
         | - Parameter1.yaml        e.g. Body.DnsRule.yaml&lt;br /&gt;
         | - Parameter2.yaml        e.g. Path.DnsRuleId.yaml&lt;br /&gt;
      |- paths                      Paths associated with the API&lt;br /&gt;
         | - PathA.yaml             High level path, e.g. Services.yaml&lt;br /&gt;
         | - PathA.{method}.yaml    Lower level path, e.g. Services.GET.yaml&lt;br /&gt;
|- Group Specification y&lt;br /&gt;
   |- ...&lt;br /&gt;
|- Group Specification z&lt;br /&gt;
   |- ...&lt;br /&gt;
|- Readme.md&lt;br /&gt;
|- LICENSE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File names ===&lt;br /&gt;
&lt;br /&gt;
The naming schema provided in the examples for the &amp;quot;Repository structure&amp;quot; above is followed.&lt;/div&gt;</summary>
		<author><name>Featherstone</name></author>
	</entry>
	<entry>
		<id>https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2787</id>
		<title>OpenAPI development guidelines</title>
		<link rel="alternate" type="text/html" href="https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2787"/>
		<updated>2017-12-11T22:21:32Z</updated>

		<summary type="html">&lt;p&gt;Featherstone: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenAPI development guidelines for ETSI MEC ISG API specifications.&lt;br /&gt;
More general recommendations can be found at [https://forge.etsi.org/wiki/index.php/Main_Page Forge OpenAPI Guidelines].&lt;br /&gt;
&lt;br /&gt;
= How to review the latest versions =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;If you are interested to access and download the raw YAML files built for each interface (currently only MEC-012 is built in this manner, the other interfaces will follow) visit [https://forge.etsi.org/jenkins/view/all/job/MEC%20-%20Multi-access%20Edge%20Computing/ latest succesful builds].&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;[[ShortGuideToReviewInGerrit|A short guide to review in Gerrit]]&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are willing to contribute or if you want more information, contact [mailto:cti_support@etsi.org?subject=MEC%20openapis%20development: ETSI CTI]. ETSI CTI have also made a [https://www.youtube.com/watch?v=YXO0R61Dcg8 YouTube] tutorial available, which although based on NFV rather than MEC provides a valuable overall guide. &lt;br /&gt;
&lt;br /&gt;
= API development =&lt;br /&gt;
&lt;br /&gt;
== General guidelines ==&lt;br /&gt;
&lt;br /&gt;
MEC APIs are currently described using the [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md OpenAPI 2.0 specification]. Members of the ETSI MEC ISG can view a tutorial [https://docbox.etsi.org/ISG/MEC/05-CONTRIBUTIONS/2017//MEC(17)000541_MEC023_Creating_a_OpenAPI_spec_compliant_API_description.pptx presentation]. That can be made available outside the ISG on request.&lt;br /&gt;
&lt;br /&gt;
A migration to the latest version of the [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md OpenAPI 3.0 specification] is being actively pursued within the ISG. However, it is desirable that auto-generation of client and server stubs are supported through [https://github.com/swagger-api/swagger-codegen swagger-codegen], which is still in development (reference 3.0.0_enhancements branch).&lt;br /&gt;
&lt;br /&gt;
=== Root API files ===&lt;br /&gt;
&lt;br /&gt;
Since the specification requires the &amp;lt;code&amp;gt;apiVersion&amp;lt;/code&amp;gt; be after &amp;lt;code&amp;gt;apiName&amp;lt;/code&amp;gt; in the resource path, each interface will have a separate OpenAPI root file.&lt;br /&gt;
&lt;br /&gt;
In details, paths are required to start with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;apiRoot&amp;gt;/&amp;lt;apiName&amp;gt;/&amp;lt;apiVersion&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the only way to model this with OAS is using separate files for each interface. This will also help readability and clarity.&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
Definitions are currently not shared across API descriptions and there is no cross referencing. This is also the case in the group specifications themselves.&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
It&#039;s encouraged to create a separate file for each resource (as is the case for Mp1 and Location), although only the complete description file is provided for several APIs.&lt;br /&gt;
&lt;br /&gt;
== Branching strategy ==&lt;br /&gt;
&lt;br /&gt;
* Within the repository there will be a branch for each &#039;&#039;active&#039;&#039; version of the interfaces. A version is &#039;&#039;active&#039;&#039; if it is still under maintenance in the WG.&lt;br /&gt;
* Git tags will be used to label a commit on a branch with a specific revision of the deliberable. &lt;br /&gt;
&lt;br /&gt;
== Folder structure and file names ==&lt;br /&gt;
&lt;br /&gt;
=== Repository structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
repository_root                     i.e. MEC&lt;br /&gt;
|- Group Specification (GS) x       e.g. MEC.GS-011&lt;br /&gt;
   |- Readme.md                     General API information&lt;br /&gt;
   |- APIx.json                     Auto-generated JSON&lt;br /&gt;
   |- APIx.yaml                     Main OAS file (auto-generated using the APIx.split.yaml file: multi-file-swagger Mp1.split.yaml &amp;gt; Mp1.json), e.g. Mp1.yaml&lt;br /&gt;
   |- APIx.split.yaml               Definition file split into its component parts, to bring it together use [https://github.com/mohsen1/multi-file-swagger-example multi-file-swagger]&lt;br /&gt;
      |- definitions&lt;br /&gt;
         | - DataType1.yaml         e.g. CurrentTime.yaml&lt;br /&gt;
         | - DataType2.yaml&lt;br /&gt;
      |- examples                   Example responses&lt;br /&gt;
         | - Example1.yaml          e.g. ServiceInfo.yaml&lt;br /&gt;
         | - Example2.yaml&lt;br /&gt;
      |- externalDocs               Links to external docs, i.e. the GS&lt;br /&gt;
         | - index.yaml&lt;br /&gt;
      |- info                       General info regarding API, e.g. Copyright&lt;br /&gt;
         | - index.yaml&lt;br /&gt;
      |- parameters                 API Body/Query/Path Parameters&lt;br /&gt;
         | - Parameter1.yaml        e.g. Body.DnsRule.yaml&lt;br /&gt;
         | - Parameter2.yaml        e.g. Path.DnsRuleId.yaml&lt;br /&gt;
      |- paths                      Paths associated with the API&lt;br /&gt;
         | - PathA.yaml             High level path, e.g. Services.yaml&lt;br /&gt;
         | - PathA.{method}.yaml    Lower level path, e.g. Services.GET.yaml&lt;br /&gt;
|- Group Specification y&lt;br /&gt;
   |- ...&lt;br /&gt;
|- Group Specification z&lt;br /&gt;
   |- ...&lt;br /&gt;
|- Readme.md&lt;br /&gt;
|- LICENSE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File names ===&lt;br /&gt;
&lt;br /&gt;
The naming schema provided in the examples for the &amp;quot;Repository structure&amp;quot; above is followed.&lt;/div&gt;</summary>
		<author><name>Featherstone</name></author>
	</entry>
	<entry>
		<id>https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2786</id>
		<title>OpenAPI development guidelines</title>
		<link rel="alternate" type="text/html" href="https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2786"/>
		<updated>2017-12-11T21:53:34Z</updated>

		<summary type="html">&lt;p&gt;Featherstone: /* General guidelines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenAPI development guidelines for ETSI MEC ISG API specifications.&lt;br /&gt;
More general recommendations can be found at [https://forge.etsi.org/wiki/index.php/OpenAPI_Guidelines Forge OpenAPI Gudelines].&lt;br /&gt;
&lt;br /&gt;
= How to review the latest versions =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;If you are interested to access and download the raw YAML files built for each interface (currently only MEC-012 is built in this manner, the other interfaces will follow) visit [https://forge.etsi.org/jenkins/view/all/job/MEC%20-%20Multi-access%20Edge%20Computing/ latest succesful builds].&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;[[ShortGuideToReviewInGerrit|A short guide to review in Gerrit]]&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are willing to contribute or if you want more information, contact [mailto:cti_support@etsi.org?subject=MEC%20openapis%20development: ETSI CTI].&lt;br /&gt;
&lt;br /&gt;
= API development =&lt;br /&gt;
&lt;br /&gt;
== General guidelines ==&lt;br /&gt;
&lt;br /&gt;
MEC APIs are currently described using the [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md OpenAPI 2.0 specification].&lt;br /&gt;
&lt;br /&gt;
A migration to the latest version of the [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md OpenAPI 3.0 specification] is being actively pursued within the ISG. However, it is desirable that auto-generation of client and server stubs are supported through [https://github.com/swagger-api/swagger-codegen swagger-codegen], which is still in development (reference 3.0.0_enhancements branch).&lt;br /&gt;
&lt;br /&gt;
=== Root API files ===&lt;br /&gt;
&lt;br /&gt;
Since the specification requires the &amp;lt;code&amp;gt;apiVersion&amp;lt;/code&amp;gt; be after &amp;lt;code&amp;gt;apiName&amp;lt;/code&amp;gt; in the resource path, each interface will have a separate OpenAPI root file.&lt;br /&gt;
&lt;br /&gt;
In details, paths are required to start with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;apiRoot&amp;gt;/&amp;lt;apiName&amp;gt;/&amp;lt;apiVersion&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the only way to model this with OAS is using separate files for each interface. This will also help readability and clarity.&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
Definitions are currently not shared across API descriptions and there is no cross referencing. This is also the case in the group specifications themselves.&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
It&#039;s encouraged to create a separate file for each resource (as is the case for Mp1 and Location), although only the complete description file is provided for several APIs.&lt;br /&gt;
&lt;br /&gt;
== Branching strategy ==&lt;br /&gt;
&lt;br /&gt;
* Within the repository there will be a branch for each &#039;&#039;active&#039;&#039; version of the interfaces. A version is &#039;&#039;active&#039;&#039; if it is still under maintenance in the WG.&lt;br /&gt;
* Git tags will be used to label a commit on a branch with a specific revision of the deliberable. &lt;br /&gt;
&lt;br /&gt;
== Folder structure and file names ==&lt;br /&gt;
&lt;br /&gt;
=== Repository structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
repository_root                     i.e. MEC&lt;br /&gt;
|- Group Specification (GS) x       e.g. MEC.GS-011&lt;br /&gt;
   |- Readme.md                     General API information&lt;br /&gt;
   |- APIx.json                     Auto-generated JSON&lt;br /&gt;
   |- APIx.yaml                     Main OAS file (auto-generated using the APIx.split.yaml file: multi-file-swagger Mp1.split.yaml &amp;gt; Mp1.json), e.g. Mp1.yaml&lt;br /&gt;
   |- APIx.split.yaml               Definition file split into its component parts, to bring it together use [https://github.com/mohsen1/multi-file-swagger-example multi-file-swagger]&lt;br /&gt;
      |- definitions&lt;br /&gt;
         | - DataType1.yaml         e.g. CurrentTime.yaml&lt;br /&gt;
         | - DataType2.yaml&lt;br /&gt;
      |- examples                   Example responses&lt;br /&gt;
         | - Example1.yaml          e.g. ServiceInfo.yaml&lt;br /&gt;
         | - Example2.yaml&lt;br /&gt;
      |- externalDocs               Links to external docs, i.e. the GS&lt;br /&gt;
         | - index.yaml&lt;br /&gt;
      |- info                       General info regarding API, e.g. Copyright&lt;br /&gt;
         | - index.yaml&lt;br /&gt;
      |- parameters                 API Body/Query/Path Parameters&lt;br /&gt;
         | - Parameter1.yaml        e.g. Body.DnsRule.yaml&lt;br /&gt;
         | - Parameter2.yaml        e.g. Path.DnsRuleId.yaml&lt;br /&gt;
      |- paths                      Paths associated with the API&lt;br /&gt;
         | - PathA.yaml             High level path, e.g. Services.yaml&lt;br /&gt;
         | - PathA.{method}.yaml    Lower level path, e.g. Services.GET.yaml&lt;br /&gt;
|- Group Specification y&lt;br /&gt;
   |- ...&lt;br /&gt;
|- Group Specification z&lt;br /&gt;
   |- ...&lt;br /&gt;
|- Readme.md&lt;br /&gt;
|- LICENSE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File names ===&lt;br /&gt;
&lt;br /&gt;
The naming schema provided in the examples for the &amp;quot;Repository structure&amp;quot; above is followed.&lt;/div&gt;</summary>
		<author><name>Featherstone</name></author>
	</entry>
	<entry>
		<id>https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2785</id>
		<title>OpenAPI development guidelines</title>
		<link rel="alternate" type="text/html" href="https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2785"/>
		<updated>2017-12-11T21:48:48Z</updated>

		<summary type="html">&lt;p&gt;Featherstone: /* Repository structure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenAPI development guidelines for ETSI MEC ISG API specifications.&lt;br /&gt;
More general recommendations can be found at [https://forge.etsi.org/wiki/index.php/OpenAPI_Guidelines Forge OpenAPI Gudelines].&lt;br /&gt;
&lt;br /&gt;
= How to review the latest versions =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;If you are interested to access and download the raw YAML files built for each interface (currently only MEC-012 is built in this manner, the other interfaces will follow) visit [https://forge.etsi.org/jenkins/view/all/job/MEC%20-%20Multi-access%20Edge%20Computing/ latest succesful builds].&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;[[ShortGuideToReviewInGerrit|A short guide to review in Gerrit]]&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are willing to contribute or if you want more information, contact [mailto:cti_support@etsi.org?subject=MEC%20openapis%20development: ETSI CTI].&lt;br /&gt;
&lt;br /&gt;
= API development =&lt;br /&gt;
&lt;br /&gt;
== General guidelines ==&lt;br /&gt;
&lt;br /&gt;
MEC APIs are currently described using the OpenAPI 2.0 specification.&lt;br /&gt;
Click [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md here] to find the official reference.&lt;br /&gt;
&lt;br /&gt;
A migration to the OpenAPI 3.0 specification is being actively pursued within the ISG. However, it is desirable that auto-generation of client and server stubs are supported through swagger-codegen, which is still in development.&lt;br /&gt;
&lt;br /&gt;
=== Root API files ===&lt;br /&gt;
&lt;br /&gt;
Since the specification requires the &amp;lt;code&amp;gt;apiVersion&amp;lt;/code&amp;gt; be after &amp;lt;code&amp;gt;apiName&amp;lt;/code&amp;gt; in the resource path, each interface will have a separate OpenAPI root file.&lt;br /&gt;
&lt;br /&gt;
In details, paths are required to start with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;apiRoot&amp;gt;/&amp;lt;apiName&amp;gt;/&amp;lt;apiVersion&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the only way to model this with OAS is using separate files for each interface. This will also help readability and clarity.&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
Definitions are currently not shared across API descriptions and there is no cross referencing. This is also the case in the group specifications themselves.&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
It&#039;s encouraged to create a separate file for each resource (as is the case for Mp1 and Location), although only the complete description file is provided for several APIs.&lt;br /&gt;
&lt;br /&gt;
== Branching strategy ==&lt;br /&gt;
&lt;br /&gt;
* Within the repository there will be a branch for each &#039;&#039;active&#039;&#039; version of the interfaces. A version is &#039;&#039;active&#039;&#039; if it is still under maintenance in the WG.&lt;br /&gt;
* Git tags will be used to label a commit on a branch with a specific revision of the deliberable. &lt;br /&gt;
&lt;br /&gt;
== Folder structure and file names ==&lt;br /&gt;
&lt;br /&gt;
=== Repository structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
repository_root                     i.e. MEC&lt;br /&gt;
|- Group Specification (GS) x       e.g. MEC.GS-011&lt;br /&gt;
   |- Readme.md                     General API information&lt;br /&gt;
   |- APIx.json                     Auto-generated JSON&lt;br /&gt;
   |- APIx.yaml                     Main OAS file (auto-generated using the APIx.split.yaml file: multi-file-swagger Mp1.split.yaml &amp;gt; Mp1.json), e.g. Mp1.yaml&lt;br /&gt;
   |- APIx.split.yaml               Definition file split into its component parts, to bring it together use [https://github.com/mohsen1/multi-file-swagger-example multi-file-swagger]&lt;br /&gt;
      |- definitions&lt;br /&gt;
         | - DataType1.yaml         e.g. CurrentTime.yaml&lt;br /&gt;
         | - DataType2.yaml&lt;br /&gt;
      |- examples                   Example responses&lt;br /&gt;
         | - Example1.yaml          e.g. ServiceInfo.yaml&lt;br /&gt;
         | - Example2.yaml&lt;br /&gt;
      |- externalDocs               Links to external docs, i.e. the GS&lt;br /&gt;
         | - index.yaml&lt;br /&gt;
      |- info                       General info regarding API, e.g. Copyright&lt;br /&gt;
         | - index.yaml&lt;br /&gt;
      |- parameters                 API Body/Query/Path Parameters&lt;br /&gt;
         | - Parameter1.yaml        e.g. Body.DnsRule.yaml&lt;br /&gt;
         | - Parameter2.yaml        e.g. Path.DnsRuleId.yaml&lt;br /&gt;
      |- paths                      Paths associated with the API&lt;br /&gt;
         | - PathA.yaml             High level path, e.g. Services.yaml&lt;br /&gt;
         | - PathA.{method}.yaml    Lower level path, e.g. Services.GET.yaml&lt;br /&gt;
|- Group Specification y&lt;br /&gt;
   |- ...&lt;br /&gt;
|- Group Specification z&lt;br /&gt;
   |- ...&lt;br /&gt;
|- Readme.md&lt;br /&gt;
|- LICENSE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File names ===&lt;br /&gt;
&lt;br /&gt;
The naming schema provided in the examples for the &amp;quot;Repository structure&amp;quot; above is followed.&lt;/div&gt;</summary>
		<author><name>Featherstone</name></author>
	</entry>
	<entry>
		<id>https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2784</id>
		<title>OpenAPI development guidelines</title>
		<link rel="alternate" type="text/html" href="https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2784"/>
		<updated>2017-12-11T21:48:02Z</updated>

		<summary type="html">&lt;p&gt;Featherstone: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenAPI development guidelines for ETSI MEC ISG API specifications.&lt;br /&gt;
More general recommendations can be found at [https://forge.etsi.org/wiki/index.php/OpenAPI_Guidelines Forge OpenAPI Gudelines].&lt;br /&gt;
&lt;br /&gt;
= How to review the latest versions =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;If you are interested to access and download the raw YAML files built for each interface (currently only MEC-012 is built in this manner, the other interfaces will follow) visit [https://forge.etsi.org/jenkins/view/all/job/MEC%20-%20Multi-access%20Edge%20Computing/ latest succesful builds].&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;[[ShortGuideToReviewInGerrit|A short guide to review in Gerrit]]&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are willing to contribute or if you want more information, contact [mailto:cti_support@etsi.org?subject=MEC%20openapis%20development: ETSI CTI].&lt;br /&gt;
&lt;br /&gt;
= API development =&lt;br /&gt;
&lt;br /&gt;
== General guidelines ==&lt;br /&gt;
&lt;br /&gt;
MEC APIs are currently described using the OpenAPI 2.0 specification.&lt;br /&gt;
Click [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md here] to find the official reference.&lt;br /&gt;
&lt;br /&gt;
A migration to the OpenAPI 3.0 specification is being actively pursued within the ISG. However, it is desirable that auto-generation of client and server stubs are supported through swagger-codegen, which is still in development.&lt;br /&gt;
&lt;br /&gt;
=== Root API files ===&lt;br /&gt;
&lt;br /&gt;
Since the specification requires the &amp;lt;code&amp;gt;apiVersion&amp;lt;/code&amp;gt; be after &amp;lt;code&amp;gt;apiName&amp;lt;/code&amp;gt; in the resource path, each interface will have a separate OpenAPI root file.&lt;br /&gt;
&lt;br /&gt;
In details, paths are required to start with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;apiRoot&amp;gt;/&amp;lt;apiName&amp;gt;/&amp;lt;apiVersion&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the only way to model this with OAS is using separate files for each interface. This will also help readability and clarity.&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
Definitions are currently not shared across API descriptions and there is no cross referencing. This is also the case in the group specifications themselves.&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
It&#039;s encouraged to create a separate file for each resource (as is the case for Mp1 and Location), although only the complete description file is provided for several APIs.&lt;br /&gt;
&lt;br /&gt;
== Branching strategy ==&lt;br /&gt;
&lt;br /&gt;
* Within the repository there will be a branch for each &#039;&#039;active&#039;&#039; version of the interfaces. A version is &#039;&#039;active&#039;&#039; if it is still under maintenance in the WG.&lt;br /&gt;
* Git tags will be used to label a commit on a branch with a specific revision of the deliberable. &lt;br /&gt;
&lt;br /&gt;
== Folder structure and file names ==&lt;br /&gt;
&lt;br /&gt;
=== Repository structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
repository_root                     i.e. MEC&lt;br /&gt;
|- Group Specification (GS) x       e.g. MEC.GS-011&lt;br /&gt;
   |- Readme.md                     General API information&lt;br /&gt;
   |- APIx.json                     Auto-generated JSON&lt;br /&gt;
   &#039;&#039;&#039;|- APIx.yaml                     Main OAS file (auto-generated using the APIx.split.yaml file: multi-file-swagger Mp1.split.yaml &amp;gt; Mp1.json), e.g. Mp1.yaml&#039;&#039;&#039;&lt;br /&gt;
   |- APIx.split.yaml               Definition file split into its component parts, to bring it together use [https://github.com/mohsen1/multi-file-swagger-example multi-file-swagger]&lt;br /&gt;
      |- definitions&lt;br /&gt;
         | - DataType1.yaml         e.g. CurrentTime.yaml&lt;br /&gt;
         | - DataType2.yaml&lt;br /&gt;
      |- examples                   Example responses&lt;br /&gt;
         | - Example1.yaml          e.g. ServiceInfo.yaml&lt;br /&gt;
         | - Example2.yaml&lt;br /&gt;
      |- externalDocs               Links to external docs, i.e. the GS&lt;br /&gt;
         | - index.yaml&lt;br /&gt;
      |- info                       General info regarding API, e.g. Copyright&lt;br /&gt;
         | - index.yaml&lt;br /&gt;
      |- parameters                 API Body/Query/Path Parameters&lt;br /&gt;
         | - Parameter1.yaml        e.g. Body.DnsRule.yaml&lt;br /&gt;
         | - Parameter2.yaml        e.g. Path.DnsRuleId.yaml&lt;br /&gt;
      |- paths                      Paths associated with the API&lt;br /&gt;
         | - PathA.yaml             High level path, e.g. Services.yaml&lt;br /&gt;
         | - PathA.{method}.yaml    Lower level path, e.g. Services.GET.yaml&lt;br /&gt;
|- Group Specification y&lt;br /&gt;
   |- ...&lt;br /&gt;
|- Group Specification z&lt;br /&gt;
   |- ...&lt;br /&gt;
|- Readme.md&lt;br /&gt;
|- LICENSE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File names ===&lt;br /&gt;
&lt;br /&gt;
The naming schema provided in the examples for the &amp;quot;Repository structure&amp;quot; above is followed.&lt;/div&gt;</summary>
		<author><name>Featherstone</name></author>
	</entry>
	<entry>
		<id>https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2780</id>
		<title>OpenAPI development guidelines</title>
		<link rel="alternate" type="text/html" href="https://mecwiki.etsi.org/index.php?title=OpenAPI_development_guidelines&amp;diff=2780"/>
		<updated>2017-10-27T15:02:12Z</updated>

		<summary type="html">&lt;p&gt;Featherstone: Created page with &amp;quot;OpenAPI development guidelines for ETSI ISG MEC. More general recommendations can be found at [https://forge.etsi.org/wiki/index.php/OpenAPI_Guidelines Forge OpenAPI Guidelines].&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenAPI development guidelines for ETSI ISG MEC.&lt;br /&gt;
More general recommendations can be found at [https://forge.etsi.org/wiki/index.php/OpenAPI_Guidelines Forge OpenAPI Guidelines].&lt;/div&gt;</summary>
		<author><name>Featherstone</name></author>
	</entry>
</feed>