First draft, definitions of Pulp's core concepts #3244
Conversation
|
I'm wondering if we should use the term "RepositoryVersion" given that we use "Repository" instead of "Repo". In Katello there was mixed usage of "Repo" and "Repository" and it was a huge pain. Thoughts? |
| Definitions | ||
| ----------- | ||
|
|
||
| [``ContentUnit``, **plugin**, ``type``, ``Artifact``] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 to ContentUnit
|
@daviddavis +1 to RepositoryVersion. |
docs/contributing/language_guide.rst
Outdated
| ``pulpcore`` is a generalized backend with a REST API and a plugin API. You will also need at | ||
| least one **plugin** to manage content. Each **plugin** defines at least one ``type`` of | ||
| ``ContentUnit`` (like .rpm or .deb), which is the smallest set of data that can be managed by | ||
| Pulp. (The plural form of ``ContentUnit`` is a ``ContentUnits``, rather than Content or Units). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/is a/is/
Also this sentence probably doesn't need parentheses.
docs/contributing/language_guide.rst
Outdated
| ``ContentUnit`` (like .rpm or .deb), which is the smallest set of data that can be managed by | ||
| Pulp. (The plural form of ``ContentUnit`` is a ``ContentUnits``, rather than Content or Units). | ||
| Files that belong to a ``ContentUnit`` are called ``Artifacts``, and each ``ContentUnit`` can | ||
| have 0 or many ``Artifacts``. ``ContentUnits`` can share ``Artifacts``. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The last sentence is confusing to me. Maybe talking about it from the Artifact side would be an idea. Something like: An Artifact can be shared by multiple ContentUnits.
docs/contributing/language_guide.rst
Outdated
| have 0 or many ``Artifacts``. ``ContentUnits`` can share ``Artifacts``. | ||
|
|
||
| [``Repository``, **add**, **remove**, **RepoVersion**] | ||
| ``ContentUnits`` in Pulp are organized by their membership in ``Repositories``. You can **add** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The first two sentences need updating with repo versions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed this a little bit, (added "over time"), but that change doesn't address your concerns. My thinking was that we will still talk about "adding ContentUnits to a "Repository", and that RepositoryVersions are /how/ that is done.
docs/contributing/language_guide.rst
Outdated
| [``Repository``, **add**, **remove**, **RepoVersion**] | ||
| ``ContentUnits`` in Pulp are organized by their membership in ``Repositories``. You can **add** | ||
| or **remove** ``ContentUnits`` to/from a ``Repository``. Pulp provides deduplication of | ||
| ``ContentUnits`` and ``Artifacts`` so you don’t need be concerned about **adding** a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand the sentence starting from "so you don't ..."
docs/contributing/language_guide.rst
Outdated
| or **remove** ``ContentUnits`` to/from a ``Repository``. Pulp provides deduplication of | ||
| ``ContentUnits`` and ``Artifacts`` so you don’t need be concerned about **adding** a | ||
| ``ContentUnit`` to too many ``Repositories``. ``Repositories`` are versioned, and you can | ||
| **add** or **remove** ``ContentUnits`` to a ``Repository`` by creating a new ``RepoVersion`` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They only associate with a RepoVersion, not a Repository anymore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above.
docs/contributing/language_guide.rst
Outdated
| and specifying the ``ContentUnits`` to **add** or **remove**. | ||
|
|
||
| [**upload**] | ||
| ``ContentUnits`` can be created in Pulp manually. You will need to specify the ``Artifacts`` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In places where it says "you" maybe that should be "the user" and then the possessives that refer to them like "your" be "the user's", etc. If this is for language clarity the reader could be a variety of roles.
docs/contributing/language_guide.rst
Outdated
| **added** to a ``Repository`` manually by creating a new ``RepoVersion``. | ||
|
|
||
| [**external source**, **sync**] | ||
| You can fetch ``ContentUnits`` and **add** them to your ``Repository`` by **syncing** with an |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar with the "user" language here, and similar throughout the doc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@asmacdo I read it line for line, and it's going to be a good improvement for our docs. I left some feedback on it. See what you think of the ideas.
ee4889a
to
f7922a0
Compare
|
@bmbouter, let me know if these changes fit how you want to think/talk about Repositories and RepositoryVersions. |
docs/contributing/language_guide.rst
Outdated
| [**upload**] | ||
| ``ContentUnits`` can be created in Pulp manually. Users specify the ``Artifacts`` that belong | ||
| to the ``ContentUnit`` and the **plugin** that defines the ``ContentUnit`` ``type``. | ||
| ``Artifacts`` that are not already managed by Pulp should be **uploaded** to Pulp prior to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about s/managed/known/
docs/contributing/language_guide.rst
Outdated
| **external source**.) | ||
|
|
||
| [``hosted``, **metdata**, ``Publisher``, ``Publication``, ``Distribution``] | ||
| All ``ContentUnits`` that are managed by Pulp are **hosted** as part of the ``pulpcore`` REST |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/are/can be/
Also I think it's s/REST API/Content App/ because the content app is it's own distinct webservice from the REST API.
docs/contributing/language_guide.rst
Outdated
|
|
||
| [``hosted``, **metdata**, ``Publisher``, ``Publication``, ``Distribution``] | ||
| All ``ContentUnits`` that are managed by Pulp are **hosted** as part of the ``pulpcore`` REST | ||
| API. A ``Publication`` referes to the **metadata** (flat files) for the set of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Somehow this needs to also include Artifacts because a Publication is made of both PublishedMetadata and PublishedArtifact objects. Also the metadata does not entirely have to describe content, it is content, just not the kind that has an Artifact backing it. I'm not sure how to best bring this in.
docs/contributing/language_guide.rst
Outdated
| ``ContentUnits`` can be created in Pulp manually. Users specify the ``Artifacts`` that belong | ||
| to the ``ContentUnit`` and the **plugin** that defines the ``ContentUnit`` ``type``. | ||
| ``Artifacts`` that are not already known by Pulp should be **uploaded** to Pulp prior to | ||
| creating a new ``ContentUnit``. ``ContentUnits`` are manually **added** to a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/are/can be/
docs/contributing/language_guide.rst
Outdated
| to the ``ContentUnit`` and the **plugin** that defines the ``ContentUnit`` ``type``. | ||
| ``Artifacts`` that are not already known by Pulp should be **uploaded** to Pulp prior to | ||
| creating a new ``ContentUnit``. ``ContentUnits`` are manually **added** to a | ||
| ``Repository`` manually by creating a new ``RepositoryVersion``. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and then on the next line. s/manually//
docs/contributing/language_guide.rst
Outdated
| **external source**.) | ||
|
|
||
| [``hosted``, **metdata**, ``Publisher``, ``Publication``, ``Distribution``] | ||
| All ``ContentUnits`` that are managed by Pulp are **hosted** as part of the ``pulpcore`` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/are/can be/
docs/contributing/language_guide.rst
Outdated
| [``hosted``, **metdata**, ``Publisher``, ``Publication``, ``Distribution``] | ||
| All ``ContentUnits`` that are managed by Pulp are **hosted** as part of the ``pulpcore`` | ||
| Content App. **plugin** defined ``Publishers`` generate ``Publications``, which | ||
| refer to the **metadata** and ``Artifacts`` of the ``ContentUnits`` in a ``RepositoryVersion`` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How is **metadata** different from PublishedMetadata as a formal software object? I think introducing both PublishedMetadata and PublishedArtifacts may be good. What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to avoid defining any objects that aren't user facing, since they wont be semantically versioned.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about plugin writers as a form of user? Those two objects are in the plugin API so they would be semver governed by the plugin API version. If it's just for users that is OK too, but I figured it would be in the user guide, not the contributor guide.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm thinking of this as a contributor guide for how to write about user facing concepts. I am +1 on creating a second document in this style in the plugin writers guide
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good to me. I'm +1 to merge with the other small grammar fixes.
4134ddb
to
1583c52
Compare
|
ok test |
|
👍 |
This document is intended to be a base language so we can be internally consistent with how we write about and discuss Pulp.