]> git.evergreen-ils.org Git - OpenSRF.git/blob - examples/gen-fieldmapper.xml
adding possible "methods" element
[OpenSRF.git] / examples / gen-fieldmapper.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <opensrf:fieldmapper
3         xmlns:opensrf="http://opensrf.org/xmlns/opensrf"
4         xmlns:cdbi="http://opensrf.org/xmlns/opensrf/cdbi"
5         xmlns:perl="http://opensrf.org/xmlns/opensrf/perl"
6         xmlns:javascript="http://opensrf.org/xmlns/opensrf/javascript"
7         xmlns:c="http://opensrf.org/xmlns/opensrf/c">
8
9         <opensrf:classes>
10                 <!-- template class definition -->
11                 <!--
12                 <opensrf:class
13                         id=""
14                         perl:class=""
15                         cdbi:class=""
16                         javascript:class="">
17         
18                         <cdbi:table rdbms="Pg">
19                                 <cdbi:name></cdbi:name>
20                                 <cdbi:sequence></cdbi:sequence>
21                         </cdbi:table>
22                         <cdbi:table rdbms="MySQL">
23                                 <cdbi:name></cdbi:name>
24                         </cdbi:table>
25         
26                         <javascript:superclass>Fieldmapper</javascript:superclass>
27                         <perl:superclass>Fieldmapper</perl:superclass>
28                         <cdbi:superclass>OpenILS::Storage::CDBI</cdbi:superclass>
29                         
30                         <opensrf:fields>
31                                 <opensrf:field name="" datatype="" cdbi:primary="" cdbi:required="" default="" cdbi:default=""/>
32                         </opensrf:fields>
33                         
34                         <opensrf:links>
35                                 <opensrf:link field="" source="" javascript:list="" type=""/>
36                         </opensrf:links>
37         
38                 </opensrf:class>
39                 -->
40         
41                 <opensrf:class
42                         id="asvr"
43                         virtual="0"
44                         perl:class="Fieldmapper::action::survey_response"
45                         cdbi:class="action::survey_response"
46                         javascript:class="asvr"
47                         c:class="asvr">
48                         <cdbi:table rdbms="Pg">
49                                 <cdbi:name>action.survey_response</cdbi:name>
50                                 <cdbi:sequence>action.survey_response_id_seq</cdbi:sequence>
51                         </cdbi:table>
52                         <cdbi:table rdbms="MySQL">
53                                 <cdbi:name>action_survey_response</cdbi:name>
54                         </cdbi:table>
55         
56                         <javascript:superclass>Fieldmapper</javascript:superclass>
57                         <perl:superclass>Fieldmapper</perl:superclass>
58                         <cdbi:superclass>OpenILS::Storage::CDBI</cdbi:superclass>
59                         
60                         <opensrf:fields>
61                                 <opensrf:field
62                                         name="id"
63                                         datatype="int"
64                                         cdbi:primary="true" />
65                                         
66                                 <opensrf:field
67                                         name="survey"
68                                         datatype="int"
69                                         cdbi:required="true" />
70
71                                 <opensrf:field
72                                         name="question"
73                                         datatype="int"
74                                         cdbi:required="true" />
75
76                                 <opensrf:field
77                                         name="answer"
78                                         datatype="int"
79                                         cdbi:required="true" />
80
81                                 <opensrf:field
82                                         name="usr"
83                                         datatype="int"
84                                         cdbi:required="true" />
85
86                                 <opensrf:field
87                                         name="response_group_id"
88                                         datatype="int"
89                                         cdbi:required="true" />
90
91                                 <opensrf:field
92                                         name="answser_date"
93                                         datatype="timestamp"
94                                         cdbi:required="true" />
95
96                                 <opensrf:field
97                                         name="effective_date"
98                                         datatype="timestamp"
99                                         cdbi:required="true" />
100
101                         </opensrf:fields>
102
103                         <opensrf:links>
104                                 <opensrf:link field="survey" source="asv" type="has_a"/>
105                                 <opensrf:link field="question" source="asvq" type="has_a"/>
106                                 <opensrf:link field="answer" source="asva" type="has_a"/>
107                                 <!-- <opensrf:link field="usr" source="au" type="has_a"/> -->
108                         </opensrf:links>
109
110                 </opensrf:class>
111
112                 <opensrf:class
113                         id="asvq"
114                         perl:class="Fieldmapper::action::survey_question"
115                         cdbi:class="action::survey_question"
116                         javascript:class="asvq"
117                         c:class="asvq">
118                         <cdbi:table rdbms="Pg">
119                                 <cdbi:name>action.survey_question</cdbi:name>
120                                 <cdbi:sequence>action.survey_question_id_seq</cdbi:sequence>
121                         </cdbi:table>
122                         <cdbi:table rdbms="MySQL">
123                                 <cdbi:name>action_survey_question</cdbi:name>
124                         </cdbi:table>
125         
126                         <javascript:superclass>Fieldmapper</javascript:superclass>
127                         <perl:superclass>Fieldmapper</perl:superclass>
128                         <cdbi:superclass>OpenILS::Storage::CDBI</cdbi:superclass>
129                         
130                         <opensrf:fields>
131                                 <opensrf:field
132                                         name="id"
133                                         datatype="int"
134                                         cdbi:primary="true" />
135                                         
136                                 <opensrf:field
137                                         name="survey"
138                                         datatype="int"
139                                         cdbi:required="true" />
140
141                                 <opensrf:field
142                                         name="question"
143                                         datatype="text"
144                                         cdbi:required="true" />
145
146                         </opensrf:fields>
147
148                         <opensrf:links>
149                                 <opensrf:link field="survey" source="asv" type="has_a"/>
150                                 <opensrf:link field="answers" source="asva" type="has_many"/>
151                         </opensrf:links>
152                 </opensrf:class>
153
154                 <opensrf:class
155                         id="asva"
156                         perl:class="Fieldmapper::action::survey_answer"
157                         cdbi:class="action::survey_answer"
158                         javascript:class="asva"
159                         c:class="asva">
160                         <cdbi:table rdbms="Pg">
161                                 <cdbi:name>action.survey_answer</cdbi:name>
162                                 <cdbi:sequence>action.survey_answer_id_seq</cdbi:sequence>
163                         </cdbi:table>
164                         <cdbi:table rdbms="MySQL">
165                                 <cdbi:name>action_survey_answer</cdbi:name>
166                         </cdbi:table>
167         
168                         <javascript:superclass>Fieldmapper</javascript:superclass>
169                         <perl:superclass>Fieldmapper</perl:superclass>
170                         <cdbi:superclass>OpenILS::Storage::CDBI</cdbi:superclass>
171                         
172                         <opensrf:fields>
173                                 <opensrf:field
174                                         name="id"
175                                         datatype="int"
176                                         cdbi:primary="true" />
177                                         
178                                 <opensrf:field
179                                         name="question"
180                                         datatype="int"
181                                         cdbi:required="true" />
182
183                                 <opensrf:field
184                                         name="answer"
185                                         datatype="text"
186                                         cdbi:required="true" />
187
188                         </opensrf:fields>
189
190                         <opensrf:links>
191                                 <opensrf:link field="question" source="asvq" type="has_a"/>
192                                 <opensrf:link field="responses" source="asvr" type="has_many"/>
193                         </opensrf:links>
194                 </opensrf:class>
195
196                 <opensrf:class
197                         id="aou"
198                         perl:class="Fieldmapper::actor::org_unit"
199                         cdbi:class="actor::org_unit"
200                         javascript:class="aou"
201                         c:class="aou">
202                         <cdbi:table rdbms="Pg">
203                                 <cdbi:name>actor.org_unit</cdbi:name>
204                                 <cdbi:sequence>actor.org_unit_id_seq</cdbi:sequence>
205                         </cdbi:table>
206                         <cdbi:table rdbms="MySQL">
207                                 <cdbi:name>actor_org_unit</cdbi:name>
208                         </cdbi:table>
209         
210                         <javascript:superclass>Fieldmapper</javascript:superclass>
211                         <perl:superclass>Fieldmapper</perl:superclass>
212                         <cdbi:superclass>OpenILS::Storage::CDBI</cdbi:superclass>
213                         
214                         <opensrf:fields>
215                                 <opensrf:field
216                                         name="id"
217                                         datatype="int"
218                                         cdbi:primary="true" />
219                         </opensrf:fields>
220                 </opensrf:class>
221         
222                 <!-- Survey class definition -->
223                 <opensrf:class
224                         id="asv"
225                         perl:class="Fieldmapper::action::survey"
226                         cdbi:class="action::survey"
227                         javascript:class="asv"
228                         c:class="asv">
229                         <cdbi:table rdbms="Pg">
230                                 <cdbi:name>action.survey</cdbi:name>
231                                 <cdbi:sequence>action.survey_id_seq</cdbi:sequence>
232                         </cdbi:table>
233                         <cdbi:table rdbms="MySQL">
234                                 <cdbi:name>action_survey</cdbi:name>
235                         </cdbi:table>
236         
237                         <javascript:superclass>Fieldmapper</javascript:superclass>
238                         <perl:superclass>Fieldmapper</perl:superclass>
239                         <cdbi:superclass>OpenILS::Storage::CDBI</cdbi:superclass>
240
241                         <opensrf:methods interface='authenticated' service='open-ils.proxy'>
242                                 <opensrf:create method='open-ils.storage.direct.action.survey.create'/>
243                                 <opensrf:retrieve method='open-ils.storage.direct.action.survey.retrieve'/>
244                                 <opensrf:search method='open-ils.storage.direct.action.survey.search'/>
245                                 <opensrf:update method='open-ils.storage.direct.action.survey.update'/>
246                                 <opensrf:delete method='open-ils.storage.direct.action.survey.delete'/>
247                         </opensrf:methods>
248                         
249                         <opensrf:methods interface='trusted' service='open-ils.storage'>
250                                 <opensrf:create method='open-ils.storage.direct.action.survey.create'/>
251                                 <opensrf:retrieve method='open-ils.storage.direct.action.survey.retrieve'/>
252                                 <opensrf:search method='open-ils.storage.direct.action.survey.search'/>
253                                 <opensrf:update method='open-ils.storage.direct.action.survey.update'/>
254                                 <opensrf:delete method='open-ils.storage.direct.action.survey.delete'/>
255                         </opensrf:methods>
256                         
257                         <opensrf:fields>
258                                 <opensrf:field
259                                         name="id"
260                                         datatype="int"
261                                         cdbi:primary="true" />
262                                         
263                                 <opensrf:field
264                                         name="name"
265                                         datatype="text"
266                                         cdbi:required="true" />
267                                         
268                                 <opensrf:field
269                                         name="description"
270                                         datatype="text"
271                                         cdbi:required="true" />
272                                         
273                                 <opensrf:field
274                                         name="owner"
275                                         datatype="int"
276                                         cdbi:required="true" />
277                                         
278                                 <opensrf:field
279                                         name="start_date"
280                                         datatype="timestamp"
281                                         cdbi:required="true"
282                                         cdbi:default="now()" />
283                                         
284                                 <opensrf:field
285                                         name="end_date"
286                                         datatype="timestamp"
287                                         cdbi:required="true"
288                                         cdbi:default="now() + '1 month'" />
289                                         
290                                 <opensrf:field
291                                         name="usr_summary"
292                                         datatype="bool"
293                                         cdbi:required="true"
294                                         default="t" />
295                                         
296                                 <opensrf:field
297                                         name="opac"
298                                         datatype="bool"
299                                         cdbi:required="true"
300                                         default="f" />
301                                         
302                                 <opensrf:field
303                                         name="poll"
304                                         datatype="bool"
305                                         cdbi:required="true"
306                                         default="f" />
307
308                                 <opensrf:field
309                                         name="required"
310                                         datatype="bool"
311                                         cdbi:required="true"
312                                         default="f" />
313
314                         </opensrf:fields>
315         
316                         <opensrf:links>
317                                 <opensrf:link field="questions" source="asvq" type="has_many"/>
318                                 <opensrf:link field="responses" source="asvr" type="has_many"/>
319                                 <opensrf:link field="owner" source="aou" type="has_a"/>
320                         </opensrf:links>
321         
322                 </opensrf:class>
323
324         </opensrf:classes>
325 </opensrf:fieldmapper>
326