Controller Core Functionality Tutorials proposal
Name
Controller Core Functionality Tutorials
Repo Name
coretutorials
Description
The Tutorials project is focused on developers, to facilitate:
New Project Onboarding: Tutorials for foundational projects, or projects early in the dependency tree; that a new project would need to understand and leverage to get started
Documenting a standard project structure (i.e. Archetype) from the standpoint of a 'paint-by-numbers' approach in a templated fashion
This will result in:
Re-usable pieces of code/configuration
Standardise "best-practices" coding patterns
It is using a wiki-based walk-thru format with a 'chaptered' approach. Checkpoints are downloadable along the way from a single OpenDaylight repository. With this in mind, it is intended to eventually move to the ascii-docs format, so that Tutorials would be embedded in the release they pertain to.
It is intended to cross (sub-)projects/components such as:
Config Subsystem
MD-SAL/YANGTOOLS
Datastores, Messaging, Notifications
Inventory, Topology
OpenFlowPlugin and OpenFlowJava
NETCONF / RESTCONF
Projects (and where relevant, specific sub-projects) considered in scope (from https://wiki.opendaylight.org/images/0/03/ODL-Helium-dependency.png):
Controller
MD-SAL
Clustering (potential)
Yangtools
OpenFlowJava
OpenFlowPlugin
Work to date can be found here:
Related documentation/tutorial activities currently on the wiki but may move to ascii-docs too and possibly this project's repository:
Alternatives Considered
The Documentation project succinctly addresses Usability i.e. a broader audience's ability to use the OpenDaylight controller (i.e. End-users, Operators, Developers) It also provides a per project format/structure (and hence does not cross project/component boundaries)
While considering if we could merge this activity with the Documentation project, it was felt by members of the MD-SAL Hackers meeting (where this idea originated) that the goals differed significantly enough that it shouldn't be bundled; and due it's cross-project nature, required a separate repository.
It is NOT a replacement for per project documentation, nor a place for specific projects outside of core functionality to store Tutorials. If the format is useful, it maybe helpful for projects to adopt a similar framework for their tutorials.
Scope
It is intended to cross (sub-)projects/components such as:
Config Subsystem
MD-SAL/YANGTOOLS
Datastores, Messaging, Notifications
Inventory, Topology
OpenFlowPlugin and OpenFlowJava
NETCONF / RESTCONF
Projects (and where relevant, specific sub-projects) considered in scope (from https://wiki.opendaylight.org/images/0/03/ODL-Helium-dependency.png):
Controller
MD-SAL
Clustering (potential)
Yangtools
OpenFlowJava
OpenFlowPlugin
Resources Committed (developers committed to working)
Keith Burns (alagalah@gmail.com)
Jan Medved (jmedved@cisco.com)
Robert Varga (rovarga@cisco.com)
Ed Warnicke (eaw@cisco.com)
Tom Pantelis (tompantelis@gmail.com)
Initial Committers
John Burns (johnburn@cisco.com)
Jan Medved (jmedved@cisco.com)
Robert Varga (rovarga@cisco.com)
Ed Warnicke (eaw@cisco.com)
Tom Pantelis (tompantelis@gmail.com)
Keith Burns (alagalah@gmail.com)
Vendor Neutral
No vendor package names in code
No vendor branding present in code or output of build
Meets Board Policy (including IPR)
Yes.