c4ede9b1fb0f7c4bab75e5383db1a8c28188d921
[mir.git] / templates-dist / producer / producers.xml
1 <producers>
2   <nodedefinition name="Language">
3     <parameters>
4       <string name="languagecondition" defaultvalue=""/>
5       <string name="bundle" defaultvalue="bundles.producer" />
6       <node name="sub"/>    
7     </parameters>
8
9     <definition>
10       <Enumerate key="language" table="language" selection="${languagecondition}" order="code">
11         <Resource bundle="${bundle}" key="lang" language="${language.code}"/>
12         <Define key="pathprefix" value="${language.code}" />
13         <sub/>
14       </Enumerate>
15     </definition>
16   </nodedefinition>
17  
18   <producer name="articles">
19     <verbs>
20       <verb name="changed" default="1">
21         <Set key="verbcondition" value="' and (not is_produced)'"/>
22         <Set key="limit" value="10"/>
23       </verb>
24       <verb name="all">
25         <Set key="verbcondition" value="''"/>
26         <Set key="limit" value="-1"/>
27       </verb>
28     </verbs>
29     <body>
30       <Enumerate key="article" table="content" selection="is_published='t' ${verbcondition}"
31                   limit="limit" order="webdb_create desc, date desc">
32         <Language>
33           <Generate 
34               generator="/producer/article.template" 
35               destination="${config.storageRoot}/$pathprefix/${data.content.date.formatted.yyyy}/${data.content.date.formatted.MM}/${data.content.id}.shtml"/>
36         </Language>
37
38         <MarkContent key="data.content"/>            
39       </Enumerate>
40     </body>
41   </producer>  
42
43   <producer name="navigation">
44     <verbs>
45       <verb name="generate" default="1"/>
46     </verbs>
47     <body>
48       <Language>
49         <Generate 
50             generator="/producer/navigation.template" 
51             destination="${config.storageRoot}/${pathprefix}/navigation.inc"/>
52       </Language>
53     </body>
54   </producer>
55   
56   <producer name="topicpages">
57     <verbs>
58       <verb name="new">
59         <Set key="pages" value="3"/>
60       </verb>
61       <verb name="all">
62         <Set key="pages" value="-1"/>
63       </verb> 
64     </verbs>
65     <body>
66       <Enumerate key="topic" table="topic">
67         <List key="special" table="content" 
68           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})"
69           order = "webdb_create desc, date desc" limit="1"/>
70       
71         <Batch key="articles" infokey="batch" table="content" 
72                process="pages" batchsize="20" minbatchsize="10"
73                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})"
74                order="webdb_create asc">
75           <batches>
76             <Language>
77               <Set key="filename" value="topic.filename ++ batch.current.identifier"/>
78               <Generate 
79                   generator="/producer/topicpage.template" 
80                   destination="${config.storageRoot}/${pathprefix}/${topic.filename}/${filename}.shtml"/>
81             </Language>
82           </batches>
83           <batchlist>
84           </batchlist>
85         </Batch>
86       </Enumerate>
87     </body>
88   </producer>
89   
90   <producer name="archive">
91     <verbs>
92       <verb name="new">
93         <Set key="pages" value="3"/>
94       </verb>
95       <verb name="all">
96         <Set key="pages" value="-1"/>
97       </verb> 
98     </verbs>
99     <body> 
100         <Batch key="articles" infokey="batch" table="content" 
101                process="pages" batchsize="20" minbatchsize="10"
102                selection="is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.feature})"
103                order="webdb_create asc">
104           <batches>
105             <Language>
106               <Set key="filename" value="archive ++ batch.current.identifier"/>
107               <Generate 
108                   generator="/producer/archive.template" 
109                   destination="${config.storageRoot}/${pathprefix}/archive/${filename}.shtml"/>
110             </Language>
111           </batches>
112           <batchlist>
113           </batchlist>
114         </Batch>
115     </body>
116   </producer>
117
118   <producer name="startpage">
119     <verbs>
120       <verb name="generate" default="1" description="Generates the startpage"/>
121     </verbs>
122
123     <body>
124       <List key="startspecial" table="content" limit="1"
125         selection="is_published=true and to_article_type=${articletype.startspecial}"
126         order="webdb_create desc, date desc"/>
127                                         
128       <List key="features" table="content" limit="10" 
129         selection="is_published=true and to_article_type=${articletype.feature}"
130         order="webdb_create desc, date desc"/>
131
132       <List key="newswire" table="content" limit="30"
133         selection="is_published=true and to_article_type=${articletype.newswire}"
134         order="webdb_create desc, date desc"/>
135         
136       <Language>
137         <Generate 
138             generator="/producer/startpage.template" 
139             destination="${config.storageRoot}/${pathprefix}/index.shtml"/>
140       </Language>
141     </body>
142   </producer>  
143   
144 </producers>
145
146