Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

initial onboarder model v2 #1655

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions architecture/julia-model.pim
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@startuml

Local
42 changes: 42 additions & 0 deletions architecture/onboarder-model.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
@startuml
Product *-- Attribute
FlatFileImportTemplate *-- FlatFileMapping

class Product {
String upc
String sku
String uid?
String name
Product customerProduct
}

enum ProductState {
draft
proposal
valid
}

enum AttributeState {
accepted
refused
}

class Attribute {
String name
String type
Attribute customerAttribute
}

class FlatFileMapping {
boolean isProductMapping
String flatFileColumnName
String targetName
}

class FlatFileImportTemplate {
FlatFileMapping[] mappings
}



@enduml
Empty file added architecture/pim-objects.puml
Empty file.
64 changes: 64 additions & 0 deletions architecture/pim.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
@startuml PIM core domain model

enum Locale {
code: string
activated: boolean
}
enum AttributeType {
text
simpleSelect
boolean
multiSelect
assetCollection
number
textArea
date
identifier
referenceEntity
entityCollection
}

'exemple digital_assets_images, product_size_dimensions, product_physical_characteristics
class AttributeGroup {
code: string
}

'Q: metric Family is used?
'Q: isScopable: type value per channel?
'Q: what is backend Type, what is the use of entity_type ("Akeneo\Pim\Enrichment\Component\Product\Model\Product")
'display attributes, specific values formats and value constraints not shown
'Properties: a:4:{s:19:"reference_data_name";N;s:19:"auto_option_sorting";N;s:12:"is_read_only";N;s:13:"default_value";N;}
'Guidelines:
'sold_in_orgs: {"en_AU": "List of the Orgs this product can be sold in.\nIf the org is not added to this list, the product can not be sold to customers in that Org."}
'part_number_list_competitor: {"en_AU": "Add competitor part numbers to this list, separate each with a comma."}

Class Attribute {
code: String
group: AttributeGroup
isRequired: boolean
validationRule: Regexp
type: AttributeType
isLocalizable: boolean
isScopable: boolean
properties: Object
guidelines: Object
}

Class Product {
family: Family
familyVariant: FamilyVariant
}

Class Family {

}

Class FamilyVariant {

}





@enduml
25 changes: 25 additions & 0 deletions architecture/system.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
@startuml Akeneo Global System

!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml

left to right direction
LAYOUT_WITH_LEGEND()

Person(Julia, "Julia","Product catalog")
Person(Roy,"Roy", "Procurements")
Person(Jimmy,"Jimmy","Supplier")
System_Boundary(Akeneo, "Akeneo") {
System(PIM,"PIM")
System(Onboarder,"Onboarder")
Rel(Onboarder,PIM,"Product(s) Updates")
Rel(PIM,Onboarder,"PIM Updates")
}
Rel(Julia,PIM,"maintains catalog")
Rel(Julia,PIM,"validates 2nd level supplier change ")
Rel(Julia,PIM,"requires supplier update")
Rel(Roy, PIM, "configures Supplier Families show/required attributes")
Rel(Roy, PIM, "validates new Supplier reference")
Rel(Jimmy,Onboarder, "add new products")
Rel(Jimmy,Onboarder, "enrich products")

@enduml