Skip to content

Commit 06f71ea

Browse files
committed
Merge content from intro.md into index.md
Purge intro.md as its relevant content has been moved into index.md Clean up MyST syntax See plone/plone.app.dexterity#360
1 parent 28b4d54 commit 06f71ea

File tree

3 files changed

+54
-96
lines changed

3 files changed

+54
-96
lines changed

docs/backend/content-types/index.md

+52-12
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ myst:
99

1010
(backend-content-types-label)=
1111

12-
# Content Types
12+
# Content types
13+
14+
This part of the documentation describes how to develop content types in Plone.
15+
Content types are implemented through the {term}`Dexterity` framework.
1316

14-
```{seealso}
15-
See the chapter {ref}`training:dexterity1-label` from the Mastering Plone 6 Training for a step-by-step tutorial to create a custom content type.
16-
```
1717

1818
## What is a content type?
1919

@@ -22,19 +22,59 @@ We have different content types to reflect the different kinds of information ab
2222

2323
Pages, news items, events, files (binary), and images are examples of content types.
2424

25-
Lots of things in Plone can be configured to work differently based on the content type. For example, each content type has:
26-
- a {ref}`schema <backend-fields-label>` specifying the fields which can be edited for the content type
27-
- a list of {ref}`behaviors <backend-behaviors-label>` which supply additional functionality that can be attached to the content types for which the behavior is enabled
28-
- a {ref}`workflow <backend-workflows-label>` controlling transitions between publishing states and associated permissions
29-
- a version policy controlling whether to store a revision history
25+
Lots of things in Plone can be configured to work differently based on the content type.
26+
For example, each content type has:
27+
28+
- a {ref}`schema <backend-fields-label>` specifying the fields which can be edited for the content type
29+
- a list of {ref}`behaviors <backend-behaviors-label>` which supply additional functionality that can be attached to the content types for which the behavior is enabled
30+
- a {ref}`workflow <backend-workflows-label>` controling transitions between publishing states and associated permissions
31+
- a version policy controling whether to store a revision history
3032

3133
It is common in developing a web site that you'll need customized versions of common content types, or perhaps even entirely new types.
3234

35+
36+
## Topics
37+
38+
This part of the documentation will cover the following topics.
39+
40+
- Some basic design techniques for solving problems with content types in Plone
41+
- Setting up a Dexterity development environment
42+
- Creating a package to house your types
43+
- Building a custom type based on a schema
44+
- Creating custom views and forms for your type
45+
- Advanced customization, including workflow and security
46+
- Testing your types
47+
- A quick reference to common fields, widgets, and APIs
48+
49+
```{seealso}
50+
See the chapter {ref}`training:dexterity1-label` from the Mastering Plone 6 Training for a step-by-step tutorial to create a custom content type.
51+
```
52+
53+
```{toctree}
54+
:maxdepth: 2
55+
56+
% designing
57+
% prerequisite
58+
% schema-driven-types
59+
% model-driven-types
60+
% custom-views
61+
% advanced/index
62+
% testing/index
63+
% reference/index
64+
```
65+
66+
3367
## Factory Type Information
3468

69+
```{todo}
70+
Find a new home for this section.
71+
This page is an introduction, whereas FTI is a topic unto itself.
72+
```
73+
3574
A content type is defined by creating a {term}`Factory Type Information` (FTI) object.
3675

37-
To create an FTI in a GenericSetup profile, add the content type to the list in `types.xml`. For example, this adds the standard Plone page (Document) content type:
76+
To create an FTI in a `GenericSetup` profile, add the content type to the list in `types.xml`.
77+
For example, this adds the standard Plone page (`Document`) content type:
3878

3979
```xml
4080
<object name="portal_types">
@@ -145,7 +185,8 @@ In this example, the file is `types/Document.xml` and contains this XML:
145185

146186
The `name` attribute on the root element in the XML must match the name in the filename and the name listed in `types.xml`.
147187

148-
Set the `i18n:domain` to the i18n domain which includes translations for this content type. This is usually the same as the name of the Python package which contains the content type.
188+
Set the `i18n:domain` to the i18n domain which includes translations for this content type.
189+
This is usually the same as the name of the Python package which contains the content type.
149190

150191

151192
(global-fti-properties-label)=
@@ -209,7 +250,6 @@ The XML sets a number of FTI properties that are used globally, in both Classic
209250
: The name of the content type displayed in the UI.
210251

211252

212-
213253
(classic-ui-only-fti-properties-label)=
214254

215255
### Classic UI only FTI properties

docs/glossary.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,8 @@ Diazo
121121
Diazo allows you to apply a theme contained in a static HTML web page to a dynamic website created using any server-side technology.
122122
123123
Dexterity
124-
[Dexterity](https://github.com/plone/plone.dexterity), the base framework for building content types, both through-the-web and as filesystem code for Zope.
124+
[Dexterity](https://github.com/plone/plone.dexterity) is the base framework for building content types, both through-the-web and as filesystem code.
125+
It is aimed at Plone, although this package should work with plain Zope + CMF systems.
125126
126127
Dublin Core
127128
The Dublin Core Schema is a small set of vocabulary terms that can be used to describe web resources (video, images, web pages, etc.), as well as physical resources such as books or CDs, and objects like artworks.

plone.app.dexterity/intro.md

-83
This file was deleted.

0 commit comments

Comments
 (0)