As a developer I can quickly create content-types and apps, so that I can get started on a project quickly.
- I can create a working app (based on a CT) with the CLI
We should create two new commands to assist working with content types.
Create a standard content type following the conventions established by the "create-component" command. It does not need to be interactive, it can just create a good starting point for a developer.
A "-app" and "-a" option should cause an app definition to be created as well which references the content type.
It should work the same as the create-content-type command, but supply the "-a" option automatically.
Why two commands?
Some developers will be very focussed on creating an app. It needs to be obvious to them how to do that.
On the other hand, creating a content type directly also makes sense, and in the future will include additional useful options - such as creating templates and restEndpoints. So it makes sense to have one command which can do all related tasks for you.
Suggestions for Prototypes:
# Optionally override any of the app configuration supplied by the content type.
# - name: title
# rows: 5
# Automatically generated contentType demonstrates usage of the common properties.
# Modify them to match your requirements.
# Optionally configure a custom namespace. (Replace [myNamespace] everywhere.)
# This namespace can then be used below for the nodetype.
# [myNamespace]: https: autoCreate: true
# Optionally supply a specific nodetype, otherwise 'mgnl:content' will be used.
# nodeType: [myNamespace]:__name__
- name: title
- name: birthday
- name: member
label: Is a member
type: Boolean #Types 'Decimal', 'Long' and 'Double' are also available.
- name: phoneNumbers
label: Phone Numbers
- name: billingAddress
label: Billing Address
- name: shippingAddress
label: Shipping Address
- name: PhoneNumber
- name: title
- name: number
- name: Address
- name: street
- name: city
- name: postalCode
label: Postal Code
- name: country