-
Notifications
You must be signed in to change notification settings - Fork 0
/
blog.config
145 lines (130 loc) · 7.38 KB
/
blog.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<!--
JSS Sitecore Configuration Patch File
This configuration file registers the JSS site with Sitecore, and configures the Layout Service
to work with it. Config patches need to be deployed to the Sitecore server.
Normally `jss deploy config` can do this for local development. To manually deploy, or to deploy via CI,
this file can be placed in the `App_Config/Include` folder, or a subfolder of it, within the Sitecore site.
-->
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/" xmlns:role="http://www.sitecore.net/xmlconfig/role/">
<sitecore>
<settings>
<!--
PROXY CONFIGURATION
When running JSS with the headless proxy (node-headless-ssr-proxy),
the original IP address of clients is obscured by the proxy.
This setting tells Sitecore to read the forwarded header the proxy sends,
thus making analytics track the correct original client IP address.
-->
<setting name="Analytics.ForwardedRequestHttpHeader" set:value="X-Forwarded-For" />
</settings>
<sites>
<!--
JSS Site Registration
This configures the site with Sitecore - i.e. host headers, item paths.
If your JSS app lives within an existing Sitecore site, this may not be necessary.
IMPORTANT: JSS sites ship in 'live mode', which makes development and testing easy,
but disables workflow and publishing. Before going to production, change the `database`
below to `web` instead of `master`.
-->
<site patch:before="site[@name='website']"
inherits="website"
name="blog"
hostName="blog.dev.local"
rootPath="/sitecore/content/blog"
startItem="/home"
database="master" />
</sites>
<javaScriptServices>
<apps>
<!--
JSS App Registration
The JSS app needs to be registered in order to support layout service and import services.
There are many available attributes, and they inherit the defaults if not explicitly specified here.
Defaults are defined in `/App_Config/Sitecore/JavaScriptServices/Sitecore.JavaScriptServices.Apps.config`
NOTE: graphQLEndpoint enables _Integrated GraphQL_. If not using integrated GraphQL, it can be removed.
-->
<app name="blog"
sitecorePath="/sitecore/content/blog"
useLanguageSpecificLayout="true"
graphQLEndpoint="/api/blog"
inherits="defaults"
/>
</apps>
<!--
IMAGE RESIZING WHITELIST
Using Sitecore server-side media resizing (i.e. the `imageParams` or `srcSet` props on the `<Image/>` helper component)
could expose your Sitecore server to a denial-of-service attack by rescaling an image with many arbitrary dimensions.
In JSS resizing param sets that are unknown are rejected by a whitelist.
Sets of image sizing parameters that are used in app components must be whitelisted here.
If a param set is not whitelisted, the image will be returned _without resizing_.
To determine the image parameters being used, look at the query string on the `src` of the rendered image, i.e. '/img.jpg?mw=100&h=72' -> mw=100,h=72
Note: the parameter sets defined here are comma-delimited (,) instead of &-delimited like the query string. Multiple sets are endline-delimited.
-->
<allowedMediaParams>
<!-- XML element name is arbitary, useful for organizing and patching -->
<styleguide-image-sample>
mw=100,mh=50
</styleguide-image-sample>
<styleguide-image-sample-adaptive>
mw=300
mw=100
</styleguide-image-sample-adaptive>
</allowedMediaParams>
</javaScriptServices>
<api>
<!--
Define the app's Sitecore GraphQL API endpoint
Note: this can be removed if you are not using GraphQL.
Note: the endpoint must be defined both for integrated and connected type GraphQL queries.
-->
<GraphQL>
<endpoints>
<blogGraphQLEndpoint url="/api/blog" type="Sitecore.Services.GraphQL.Hosting.DatabaseAwareGraphQLEndpoint, Sitecore.Services.GraphQL.NetFxHost" resolve="true">
<url>$(url)</url>
<enabled>true</enabled>
<enableSubscriptions>true</enableSubscriptions>
<!-- lock down the endpoint when deployed to content delivery -->
<graphiql role:require="ContentDelivery">false</graphiql>
<enableSchemaExport role:require="ContentDelivery">false</enableSchemaExport>
<enableStats role:require="ContentDelivery">false</enableStats>
<enableCacheStats role:require="ContentDelivery">false</enableCacheStats>
<disableIntrospection role:require="ContentDelivery">true</disableIntrospection>
<schema hint="list:AddSchemaProvider">
<content type="Sitecore.Services.GraphQL.Content.ContentSchemaProvider, Sitecore.Services.GraphQL.Content">
<!-- scope typed template generation to just this app's templates -->
<templates type="Sitecore.Services.GraphQL.Content.TemplateGeneration.Filters.StandardTemplatePredicate, Sitecore.Services.GraphQL.Content">
<database>context</database>
<paths hint="list:AddIncludedPath">
<templates>/sitecore/templates/Project/blog</templates>
</paths>
<fieldFilter type="Sitecore.Services.GraphQL.Content.TemplateGeneration.Filters.StandardFieldFilter, Sitecore.Services.GraphQL.Content">
<exclusions hint="raw:AddFilter">
<!--
Remove system fields from the API (e.g. __Layout) to keep the schema lean
-->
<exclude name="__*" />
</exclusions>
</fieldFilter>
</templates>
<queries hint="raw:AddQuery">
<!-- enable querying on items via this API -->
<query name="item" type="Sitecore.Services.GraphQL.Content.Queries.ItemQuery, Sitecore.Services.GraphQL.Content" />
<query name="search" type="Sitecore.Services.GraphQL.Content.Queries.SearchQuery, Sitecore.Services.GraphQL.Content" />
</queries>
<fieldTypeMapping ref="/sitecore/api/GraphQL/defaults/content/fieldTypeMappings/standardTypeMapping" />
</content>
</schema>
<!-- Enables the 'jss' graph nodes that are preformatted to use with JSS rendering components, and the datasource resolving queries for JSS -->
<extenders hint="list:AddExtender">
<layoutExtender type="Sitecore.JavaScriptServices.GraphQL.JssExtender, Sitecore.JavaScriptServices.GraphQL" resolve="true" />
</extenders>
<!-- Determines the security of the service. 'publicService' is open to anonymous access, but requires an SSC API key. -->
<security ref="/sitecore/api/GraphQL/defaults/security/publicService" />
<!-- Determines how performance is logged for the service. Defaults are defined in Sitecore.Services.GraphQL.config -->
<performance ref="/sitecore/api/GraphQL/defaults/performance/standard" />
</blogGraphQLEndpoint>
</endpoints>
</GraphQL>
</api>
</sitecore>
</configuration>