2 This XML file defines a set of producers intended for a typical indymedia
13 <nodedefinition name="Language">
15 <string name="languagecondition" defaultvalue=""/>
16 <string name="bundle" defaultvalue="bundles.producer" />
21 <List key="languages" table="language" selection="${languagecondition}" order="code"/>
22 <Enumerate key="language" table="language" selection="${languagecondition}" order="code">
23 <Resource bundle="${bundle}" key="lang" language="${language.code}"/>
24 <Define key="pathprefix" value="${language.code}" />
30 <producer name="articles">
32 <verb name="changed" default="1">
33 <Define key="verbcondition" value=" and (not is_produced)"/>
34 <Set key="limit" value="10"/>
37 <Define key="verbcondition" value=""/>
38 <Set key="limit" value="-1"/>
42 <Define key="verbcondition" value=""/>
43 <Set key="limit" value="10"/>
47 <Enumerate key="article" table="content" selection="is_published='t' ${verbcondition}"
48 limit="limit" order="webdb_create desc, date desc">
51 generator="/article.template"
52 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.shtml"/>
55 <MarkContent key="article"/>
61 <producer name="navigation">
63 <verb name="generate" default="1" description="generates the left column"/>
68 generator="/navigation.template"
69 destination="${config.storageRoot}/${pathprefix}/navigation.inc"/>
74 <producer name="staticimages">
76 <verb name="generate" default="1" description="copies all the static image files into place"/>
79 <CopyDir destination="img" source="etc/producer/images"/>
83 <producer name="newswirearchive">
86 <Set key="pages" value="3"/>
89 <Set key="pages" value="-1"/>
93 <Define key="docSuffix" value=".shtml"/>
94 <Define key="storageSuffix" value=".shtml"/>
96 <Batch key="articles" infokey="batch" table="content"
97 process="pages" batchsize="20" minbatchsize="10"
98 selection="is_published='1' and to_article_type = ${articletype.newswire}"
99 order="webdb_create asc">
102 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
103 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
104 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
107 generator="newswirearchive.template"
108 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
114 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
115 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
116 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
118 generator="batchnav.template"
119 destination="${storagePrefix}nav${storageSuffix}"/>
126 <producer name="featurearchive">
129 <Set key="pages" value="3"/>
132 <Set key="pages" value="-1"/>
136 <Define key="docSuffix" value=".shtml"/>
137 <Define key="storageSuffix" value=".shtml"/>
139 <Batch key="articles" infokey="batch" table="content"
140 process="pages" batchsize="20" minbatchsize="10"
141 selection="is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})"
142 order="webdb_create asc">
145 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
146 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
147 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
150 generator="featurearchive.template"
151 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
157 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
158 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
159 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
161 generator="batchnav.template"
162 destination="${storagePrefix}nav${storageSuffix}"/>
169 <producer name="topicpages">
172 <Set key="_topics" value="-1"/>
173 <Set key="pages" value="3"/>
176 <Set key="_topics" value="-1"/>
177 <Set key="pages" value="-1"/>
180 <Set key="_topics" value="2"/>
181 <Set key="pages" value="4"/>
185 <Enumerate key="topic" table="topic" limit="_topics">
186 <Define key="docSuffix" value=".shtml"/>
187 <Define key="storageSuffix" value=".shtml"/>
189 <List key="special" table="content"
190 selection="is_published='1' and to_article_type = ${articletype.topicspecial} and id in (select content_id from content_x_topic where topic_id = ${topic.id})"
191 order = "webdb_create desc, date desc" limit="1"/>
193 <Batch key="articles" infokey="batch" table="content"
194 process="pages" batchsize="20" minbatchsize="10"
195 selection="is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.feature}) and id in (select content_id from content_x_topic where topic_id = ${topic.id})"
196 order="webdb_create asc">
199 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
200 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
201 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
204 generator="topicpage.template"
205 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
211 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
212 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
213 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
215 generator="batchnav.template"
216 destination="${storagePrefix}nav${storageSuffix}"/>
224 <producer name="startpage">
226 <verb name="generate" default="1" description="Generates the startpage"/>
230 <List key="startspecial" table="content" limit="1"
231 selection="is_published=true and to_article_type=${articletype.startspecial}"
232 order="webdb_create desc, date desc"/>
234 <List key="features" table="content" limit="10"
235 selection="is_published=true and to_article_type=${articletype.feature}"
236 order="webdb_create desc, date desc"/>
238 <List key="newswire" table="content" limit="30"
239 selection="is_published=true and to_article_type=${articletype.newswire}"
240 order="webdb_create desc, date desc"/>
242 <List key="breakingnews" table="breakingNews" limit="10"
243 order="webdb_create desc"/>
247 generator="/startpage.template"
248 destination="${config.storageRoot}/${pathprefix}/index.shtml"/>
253 <producer name="synchronization">
255 <verb name="run" default="1" description="Synchronizes the publication site with the production site"/>
259 <If condition="config['Rsync'] in ('1', 'y', 'yes', 'Y')">
261 <Execute command="${config['Rsync.Script.Path']}"/>