On Thu, Jun 29, 2017 at 7:40 AM, Michael Hrivnak <[email protected]> wrote:
> > On Thu, Jun 29, 2017 at 7:22 AM, Dennis Kliban <[email protected]> wrote: > >> >> The many to many relationship is between Artifact and ContentArtifact. >> This allows a content unit to have multiple Artifacts associated with it. >> > > Could you elaborate on this? A content unit can have multiple artifacts > just by artifact having a foreign key to a content unit. That's the > one-to-many relationship we have on the model now in 3.0-dev. > > Also, what is a ContentArtifact? > > Here are some definitions for the new proposal: - Artifact - a file stored in pulp - Content - a named collection of 0 or more Artifacts that can be associated with a repository as a single unit - ContentArtifact - a relationship between an Artifact and Content. There is 0 or more ContentArtifacts for each Content. - Repository - A named collection of content. - RepositoryContent - a relationship between Content and Repository. In the proposal we have in the MVP we have the following: - FileUpload - Uploaded file that is used to create Artifacts and is then removed (definition for this is not present in the glossary of MVP) - Artifact - A file associated with one content (unit). Artifacts are not shared between content (units). Create a content unit using an uploaded file ID as the source for its metadata. Create Artifacts associated with the content unit using an uploaded file ID for each; commit as a single transaction. - Content (unit) - A single piece of content manged by Pulp. Each file associated with a content (unit) is called an Artifact. Each content (unit) may have zero or many Artifacts. - Repository - A named collection of content. - RepositoryContent - a relationship between Content and Repository (also not in the glossary of the MVP) In the MVP in order to add a unit to a repository, a user would: 1. Create a FileUpload by uploading a file 2. Create an Artifact and a Content with one API call 3. Associate a Content with a Repository 4. Delete the FileUpload (or some cleanup job would do that for the user) The newly proposed workflow: 1. Create an Artifact by uploading a file 2. Create a Content by specifying which Artifact(s) belongs to the Content and their relative paths inside the unit. This creates ContentArtifacts for each relationship. 3. Associate a Content with a repository. In the MVP workflow, once an FileUpload is deleted, it's hard to create another Content from that file. I am sure we can come up with a way to do it, but it won't be as straight forward as the above workflow. > > -- > > Michael Hrivnak > > Principal Software Engineer, RHCE > > Red Hat >
_______________________________________________ Pulp-dev mailing list [email protected] https://www.redhat.com/mailman/listinfo/pulp-dev
