Develop and Download Open Source Software

Browse Subversion Repository

Contents of /jetspeed-2-trans/trunk/ja/xdocs/guides/guide-ajax-api.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 116 - (show annotations) (download) (as text)
Thu Oct 7 08:15:52 2010 UTC (13 years, 7 months ago) by karma
File MIME type: application/xml
File size: 62188 byte(s)
Fix punctuation.

1 <?xml version="1.0"?>
2 <!--
3 Licensed to the Apache Software Foundation (ASF) under one or more
4 contributor license agreements. See the NOTICE file distributed with
5 this work for additional information regarding copyright ownership.
6 The ASF licenses this file to You under the Apache License, Version 2.0
7 (the "License"); you may not use this file except in compliance with
8 the License. You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
17 -->
18 <document>
19 <properties>
20 <title>[AJAX XML API] AJAX XML API</title>
21 <subtitle>[Documentation for Jetspeed-2 AJAX XML API] Jetspeed-2 の AJAX XML API についての文書</subtitle>
22 <authors>
23 <person name="David Sean Taylor" email="taylor@apache.org"/>
24 </authors>
25 <translators>
26 <person name="加藤泰文" email="karma@prog.club.ne.jp" />
27 </translators>
28 </properties>
29 <body>
30 <section name="[AJAX XML API Overview] AJAX XML API の概要">
31 <div class="original">
32 <p>
33 The Jetspeed XML AJAX API is an XML-based API provided to AJAX clients for making
34 asynchronous requests to Jetspeed-2 services. </p>
35 </div>
36 <p>
37 Jetspeed の XML AJAX API は、AJAX クライアントが、非同期のリクエストを Jetspeed 2 サービスに送ることができるようにするための XML ベースの API です。
38 </p>
39 <div class="original">
40 <p>
41 Typical use cases:
42 </p>
43 </div>
44 <p>
45 典型的な使用例としては、
46 </p>
47 <div class="original">
48 <ul>
49 <li><b>Page Customization and Portlet Placement</b> - To move, copy, add, or remove portlets on a page</li>
50 <li><b>Layout Selection</b> - change the layout (number of rows and columns, size of columns) on a page</li>
51 <li><b>Theme and Decorator Selection</b> - change the page theme and portlet decorators on a page.</li>
52 <li><b>Portlet Selectors</b> - provide a select-list of portlets to the end user</li>
53 <li><b>Security Configuration</b> - configure the security constraints or policy on a resource (page, portlet, folder, link, fragment), or portal wide</li>
54 <li><b>Menu Configuration</b> - create and edit menus for the Jetspeed Site</li>
55 <li><b>General Administration</b> - all use cases for general administration have not yet been explored.</li>
56 </ul>
57 </div>
58 <ul>
59 <li><b>ページのカスタマイズとポートレットの配置</b> - ページ上でのポートレットの移動、コピー、追加、削除。</li>
60 <li><b>レイアウトの選択</b> - ページのレイアウトの変更 (行や列の数の変更、列のサイズの変更)。</li>
61 <li><b>テーマとデコレータの選択</b> - ページのテーマやページ上のポートレットのデコレータの変更。</li>
62 <li><b>ポートレットのセレクタ</b> - エンドユーザへのポートレットの選択リストを提供。</li>
63 <li><b>セキュリティの設定</b> - リソース (ページ、ポートレット、フォルダ、リンク、フラグメント) もしくはポータル全体でのセキュリティ制約、またはポリシーの設定。</li>
64 <li><b>メニューの設定</b> - Jetspeed サイトのメニューの生成や編集。</li>
65 <li><b>全体的な管理</b> - 全体的な管理を行う全てのユースケースはまだ検討されていません。</li>
66 </ul>
67 <subsection name='[Secured Access] 保証されたアクセス'>
68 <div class="original">
69 <p>
70 All AJAX XML API requests run through
71 a standard Jetspeed <a href='guide-pipeline.html'>Pipeline</a> request. This means that you can configure your AJAX
72 request with the usual array of Jetspeed components. The default AJAX pipeline secures
73 access to all requests. Each AJAX action may have its own security constraints. All
74 requests made to a page will use the declarative security constraints configured for that page.
75 AJAX request actions are enforced under edit or view mode, depending on the nature of the action.
76 </p>
77 </div>
78 <p>
79 AJAX XML API リクエストの全ては、標準の Jetspeed <a href='guide-pipeline.html'>パイプライン</a>リクエストを通して実行されます。これは、通常の Jetspeed コンポーネントの配列を用いて、AJAX リクエストを構成可能であることを意味します。デフォルトの AJAX パイプラインは、全てのリクエストへのアクセスを保証します。AJAX アクションのそれぞれは、自身のセキュリティ制約を持ちます。ページを生成する全てのリクエストは、本来のアクションに依存する、編集もしくは閲覧モードの元で実行されます。
80 </p>
81 </subsection>
82 </section>
83 <section name='[API] API'>
84 <div class="original">
85 <p>
86 The AJAX XML API is simply a HTTP request-based API, communicating over a simple REST (Representational State Transfer) protocol.
87 The API is accessed over HTTP via the "ajaxapi" servlet path on the portal URL:
88 <source><![CDATA[
89 http://hostname/contextname/ajaxapi
90 ]]></source>
91 </p>
92 </div>
93 <p>
94 AJAX XML API は、単純な HTTP リクエストベースの API で、単純な REST (Representational State Transfer) プロトコル上での通信を行います。API へは、以下のようなポータル URL パスの "ajaxapi" サーブレット経由で HTTP を使ってアクセスします。
95 <source><![CDATA[
96 http://hostname/contextname/ajaxapi
97 ]]></source>
98 </p>
99 <subsection name='[Request Parameters and the Page] リクエストパラメータとページ'>
100 <div class="original">
101 <p>Request Parameters specify the requested API action, and additional API parameters.
102 The page that a request is referencing is implied in the HTTP URL.
103 Thus if we are making a request to modify a page, the page is specified in the HTTP URL:
104 <source><![CDATA[
105 http://localhost:8080/jetspeed/ajaxapi/Public/db-browser.psml
106 ]]></source>
107 The page location algorithm using standard Jetspeed Profiling rules to locate the page.
108 A page is actually not required in the URL, since the <a href='guide-profiler.html'>Jetspeed Profiler</a> will locate the page
109 for you. Example:
110 <source><![CDATA[
111 http://localhost:8080/jetspeed/ajaxapi
112 ]]></source>
113 goes to the default page for the current user.
114 </p>
115 </div>
116 <p>リクエストパラメータは、リクエストした API の動作と、追加の API パラメータを指定します。リクエストが参照しているページは、HTTP URL 内に含まれます。なので、もしページを変更するリクエストを作成したい場合、ページは以下のような HTTP URL 内で指定します。
117 <source><![CDATA[
118 http://localhost:8080/jetspeed/ajaxapi/Public/db-browser.psml
119 ]]></source>
120 標準の Jetspeed プロファイリングを使ったページの配置アルゴリズムが、ページを配置します。ページは、実際は URL 中には不要です。<a href='guide-profiler.html'>Jetspeed プロファイラ</a> が、ユーザのためのページを配置するからです。例えば、
121 <source><![CDATA[
122 http://localhost:8080/jetspeed/ajaxapi
123 ]]></source>
124 という URL は、現在のユーザのデフォルトページを表示します。
125 </p>
126 <div class="original">
127 <p>Request Parameters are specific to each API. One request parameter, the "action" parameter,
128 is almost always required, (except in the default case). The default action is "action=getpage"
129 which returns an XML representation of the profile-located page in <a href='guide-psml.html'>PSML</a>. (PSML is an XML format).
130 See the table below for specific examples of request parameters.
131 </p>
132 </div>
133 <p>リクエストパラメータは、API それぞれで固有です。大体の場合、"action" パラメータというリクエストパラメータだけは、必要になります (デフォルトの場合を除く)。デフォルトのアクションは "action=getpage" です。これは、<a href='guide-psml.html'>PSML</a> 内のプロファイルが示すページの XML 表現を返します (PSML は XML フォーマットです)。リクエストパラメータのそれぞれの例は以下の表を参照してください。
134 </p>
135 <div class="original">
136 <p>Here are the APIs currently available:
137 </p>
138 </div>
139 <p>現時点で利用可能な API を示します。</p>
140 </subsection>
141 <subsection name='[Get Page] ページの取得'>
142 <div class="original">
143 <table>
144 <tr>
145 <td>API:</td>
146 <td>getpage</td>
147 </tr>
148 <tr>
149 <td>Component:</td>
150 <td>AjaxGetPage</td>
151 </tr>
152 <tr>
153 <td>Description:</td>
154 <td>Get Page retrieves a page from the Page Manager store in <a href='guide-psml.html'>PSML</a> format.
155 </td>
156 </tr>
157 <tr>
158 <td>Parameters:</td>
159 <table>
160 <tr>
161 <td>page</td>
162 <td>implied in the URL</td>
163 </tr>
164 <tr>
165 <td>action</td>
166 <td>getportlets (optional, this is the default action)</td>
167 </tr>
168 </table>
169 </tr>
170 <tr>
171 <td>API example:</td>
172 <td>
173 <source><![CDATA[
174 http://localhost:8080/jetspeed/ajaxapi/Public/content.psml
175 ]]></source>
176 </td>
177 </tr>
178 <tr>
179 <td>XML Response:</td>
180 <td>
181 <source><![CDATA[
182 <js>
183 <status>success</status>
184 <action>getpage</action>
185 <page hidden="false">
186 <defaults layout-decorator="tigris" portlet-decorator="tigris"/>
187 <name>public.psml</name>
188 <path>/Public/public.psml</path>
189 <title>Public Share</title>
190 <short-title>Public Share</short-title>
191 <metadata name="title" xml:lang="es">Carpeta compartida</metadata>
192 <fragment id="ps-1000" type="layout" name="jetspeed-layouts::VelocityTwoColumns" decorator="">
193 <fragment id="ps-1001" type="portlet" name="rss::RSS" decorator="">
194 <property name="row" value="0"/>
195 <property name="column" value="0"/>
196 </fragment>
197 <fragment id="ps-1002" type="portlet" name="demo::BookmarkPortlet" decorator="">
198 <property name="row" value="1"/>
199 <property name="column" value="1"/>
200 </fragment>
201 <fragment id="ps-1003" type="portlet" name="jsf-demo::CalendarPortlet" decorator="">
202 <property name="row" value="0"/>
203 <property name="column" value="1"/>
204 </fragment>
205 <fragment id="P-1080bff9b03-10000" type="portlet" name="jsf-demo::CalendarPortlet" decorator="">
206 <property name="row" value="1"/>
207 <property name="column" value="0"/>
208 </fragment>
209 </fragment>
210 </page>
211 </js>
212 ]]></source>
213
214 </td>
215 </tr>
216 </table>
217 </div>
218 <table>
219 <tr>
220 <td>API:</td>
221 <td>getpage</td>
222 </tr>
223 <tr>
224 <td>コンポーネント:</td>
225 <td>AjaxGetPage</td>
226 </tr>
227 <tr>
228 <td>説明:</td>
229 <td>getpage は、ページマネージャから、<a href='guide-psml.html'>PSML</a> に保存されたページを取得します。
230 </td>
231 </tr>
232 <tr>
233 <td>パラメータ:</td>
234 <table>
235 <tr>
236 <td>page</td>
237 <td>URL に含まれます</td>
238 </tr>
239 <tr>
240 <td>action</td>
241 <td>getportlets (省略可、これがデフォルトのアクションです)</td>
242 </tr>
243 </table>
244 </tr>
245 <tr>
246 <td>API の例:</td>
247 <td>
248 <source><![CDATA[
249 http://localhost:8080/jetspeed/ajaxapi/Public/content.psml
250 ]]></source>
251 </td>
252 </tr>
253 <tr>
254 <td>XML レスポンス:</td>
255 <td>
256 <source><![CDATA[
257 <js>
258 <status>success</status>
259 <action>getpage</action>
260 <page hidden="false">
261 <defaults layout-decorator="tigris" portlet-decorator="tigris"/>
262 <name>public.psml</name>
263 <path>/Public/public.psml</path>
264 <title>Public Share</title>
265 <short-title>Public Share</short-title>
266 <metadata name="title" xml:lang="es">Carpeta compartida</metadata>
267 <fragment id="ps-1000" type="layout" name="jetspeed-layouts::VelocityTwoColumns" decorator="">
268 <fragment id="ps-1001" type="portlet" name="rss::RSS" decorator="">
269 <property name="row" value="0"/>
270 <property name="column" value="0"/>
271 </fragment>
272 <fragment id="ps-1002" type="portlet" name="demo::BookmarkPortlet" decorator="">
273 <property name="row" value="1"/>
274 <property name="column" value="1"/>
275 </fragment>
276 <fragment id="ps-1003" type="portlet" name="jsf-demo::CalendarPortlet" decorator="">
277 <property name="row" value="0"/>
278 <property name="column" value="1"/>
279 </fragment>
280 <fragment id="P-1080bff9b03-10000" type="portlet" name="jsf-demo::CalendarPortlet" decorator="">
281 <property name="row" value="1"/>
282 <property name="column" value="0"/>
283 </fragment>
284 </fragment>
285 </page>
286 </js>
287 ]]></source>
288
289 </td>
290 </tr>
291 </table>
292 </subsection>
293 <subsection name='[Move Absolute] 絶対位置で移動'>
294 <div class="original">
295 <table>
296 <tr>
297 <td>API:</td>
298 <td>moveabs</td>
299 </tr>
300 <tr>
301 <td>Component:</td>
302 <td>AjaxMovePortletAbsolute</td>
303 </tr>
304 <tr>
305 <td>Description:</td>
306 <td>Move a portlet on a page to an absolute position specified in the row and col request parameters.</td>
307 </tr>
308 <tr>
309 <td>Parameters:</td>
310 <table>
311 <tr>
312 <td>page</td>
313 <td>implied in the URL</td>
314 </tr>
315 <tr>
316 <td>action</td>
317 <td>moveabs</td>
318 </tr>
319 <tr>
320 <td>id</td>
321 <td>the portlet PSML fragment id of the portlet to be moved</td>
322 </tr>
323 <tr>
324 <td>row</td>
325 <td>the absolute new row location to place the portlet fragment (zero based)</td>
326 </tr>
327 <tr>
328 <td>col</td>
329 <td>the absolute new column location to place the portlet fragment (zero based)</td>
330 </tr>
331 </table>
332 </tr>
333 <tr>
334 <td>API example:</td>
335 <td>
336 <source><![CDATA[
337 http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=moveabs&id=ps-1003&row=0&col=1
338 ]]></source>
339 </td>
340 </tr>
341 <tr>
342 <td>XML Response:</td>
343 <td>
344 <source><![CDATA[
345 <js>
346 <status>success</status>
347 <action>moveabs</action>
348 <id>ps-1003</id>
349 <old_position>
350 <col>1</col>
351 <row>1</row>
352 </old_position>
353 <new_position>
354 <col>1</col>
355 <row>0</row>
356 </new_position>
357 </js>
358 ]]></source>
359
360 </td>
361 </tr>
362 </table>
363 </div>
364 <table>
365 <tr>
366 <td>API:</td>
367 <td>moveabs</td>
368 </tr>
369 <tr>
370 <td>コンポーネント:</td>
371 <td>AjaxMovePortletAbsolute</td>
372 </tr>
373 <tr>
374 <td>説明:</td>
375 <td>ページ上のポートレットの絶対位置をリクエストパラメータで指定した row と col に従って移動する。</td>
376 </tr>
377 <tr>
378 <td>パラメータ:</td>
379 <table>
380 <tr>
381 <td>page</td>
382 <td>URL に含まれます</td>
383 </tr>
384 <tr>
385 <td>action</td>
386 <td>moveabs</td>
387 </tr>
388 <tr>
389 <td>id</td>
390 <td>移動させたいポートレットのポートレット PSML フラグメント ID</td>
391 </tr>
392 <tr>
393 <td>row</td>
394 <td>ポートレットフラグメントを置きたい位置の絶対的な行位置 (ゼロベース)</td>
395 </tr>
396 <tr>
397 <td>col</td>
398 <td>ポートレットフラグメントを置きたい位置の絶対的な列位置 (ゼロベース)</td>
399 </tr>
400 </table>
401 </tr>
402 <tr>
403 <td>API の例:</td>
404 <td>
405 <source><![CDATA[
406 http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=moveabs&id=ps-1003&row=0&col=1
407 ]]></source>
408 </td>
409 </tr>
410 <tr>
411 <td>XML レスポンス:</td>
412 <td>
413 <source><![CDATA[
414 <js>
415 <status>success</status>
416 <action>moveabs</action>
417 <id>ps-1003</id>
418 <old_position>
419 <col>1</col>
420 <row>1</row>
421 </old_position>
422 <new_position>
423 <col>1</col>
424 <row>0</row>
425 </new_position>
426 </js>
427 ]]></source>
428
429 </td>
430 </tr>
431 </table>
432 </subsection>
433 <subsection name='[Move Relative] 相対位置で移動'>
434 <div class="original">
435 <table>
436 <tr>
437 <td>APIs:</td>
438 <td>moveleft, moveright, moveup, movedown</td>
439 </tr>
440 <tr>
441 <td>Components:</td>
442 <td>AjaxMovePortletLeft, AjaxMovePortletRight, AjaxMovePortletUp, AjaxMoveDown</td>
443 </tr>
444 <tr>
445 <td>Description:</td>
446 <td>Move a portlet on a page relatively one position, based on the action.</td>
447 </tr>
448 <tr>
449 <td>Parameters:</td>
450 <table>
451 <tr>
452 <td>page</td>
453 <td>implied in the URL</td>
454 </tr>
455 <tr>
456 <td>action</td>
457 <td>moveleft, moveright, moveup, movedown</td>
458 </tr>
459 <tr>
460 <td>id</td>
461 <td>the portlet PSML fragment id of the portlet to be moved</td>
462 </tr>
463 </table>
464 </tr>
465 <tr>
466 <td>API example:</td>
467 <td>
468 <source><![CDATA[
469 http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=movedown&id=ps-1003
470 ]]></source>
471 </td>
472 </tr>
473 <tr>
474 <td>XML Response:</td>
475 <td>
476 <source><![CDATA[
477 <js>
478 <status>success</status>
479 <action>movedown</action>
480 <id>ps-1003</id>
481 <old_position>
482 <col>1</col>
483 <row>0</row>
484 </old_position>
485 <new_position>
486 <col>1</col>
487 <row>1</row>
488 </new_position>
489 </js>
490 ]]></source>
491
492 </td>
493 </tr>
494
495 </table>
496 </div>
497 <table>
498 <tr>
499 <td>API:</td>
500 <td>moveleft, moveright, moveup, movedown</td>
501 </tr>
502 <tr>
503 <td>コンポーネント:</td>
504 <td>AjaxMovePortletLeft, AjaxMovePortletRight, AjaxMovePortletUp, AjaxMoveDown</td>
505 </tr>
506 <tr>
507 <td>説明:</td>
508 <td>アクションを指定して、ページ上のポートレットを相対的なある位置から移動する。</td>
509 </tr>
510 <tr>
511 <td>パラメータ:</td>
512 <table>
513 <tr>
514 <td>page</td>
515 <td>URL に含まれます</td>
516 </tr>
517 <tr>
518 <td>action</td>
519 <td>moveleft, moveright, moveup, movedown</td>
520 </tr>
521 <tr>
522 <td>id</td>
523 <td>移動させたいポートレットのポートレット PSML フラグメント ID</td>
524 </tr>
525 </table>
526 </tr>
527 <tr>
528 <td>API の例:</td>
529 <td>
530 <source><![CDATA[
531 http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=movedown&id=ps-1003
532 ]]></source>
533 </td>
534 </tr>
535 <tr>
536 <td>XML レスポンス:</td>
537 <td>
538 <source><![CDATA[
539 <js>
540 <status>success</status>
541 <action>movedown</action>
542 <id>ps-1003</id>
543 <old_position>
544 <col>1</col>
545 <row>0</row>
546 </old_position>
547 <new_position>
548 <col>1</col>
549 <row>1</row>
550 </new_position>
551 </js>
552 ]]></source>
553
554 </td>
555 </tr>
556
557 </table>
558 </subsection>
559 <subsection name='[Move] 移動'>
560 <div class="original">
561 <table>
562 <tr>
563 <td>API:</td>
564 <td>move</td>
565 </tr>
566 <tr>
567 <td>Component:</td>
568 <td>AjaxMovePortlet</td>
569 </tr>
570 <tr>
571 <td>Description:</td>
572 <td>Move a portlet on a page to a cartesian position (x,y,z,width,height) from request parameters.</td>
573 </tr>
574 <tr>
575 <td>Parameters:</td>
576 <table>
577 <tr>
578 <td>page</td>
579 <td>implied in the URL</td>
580 </tr>
581 <tr>
582 <td>action</td>
583 <td>move</td>
584 </tr>
585 <tr>
586 <td>id</td>
587 <td>the portlet PSML fragment id of the portlet to be moved</td>
588 </tr>
589 <tr>
590 <td>x</td>
591 <td>the portlet cartesian X position</td>
592 </tr>
593 <tr>
594 <td>y</td>
595 <td>the portlet cartesian Y position</td>
596 </tr>
597 <tr>
598 <td>z</td>
599 <td>the portlte cartesian Z position</td>
600 </tr>
601 <tr>
602 <td>width</td>
603 <td>the width of the portlet</td>
604 </tr>
605 <tr>
606 <td>height</td>
607 <td>the height cartesian Y position</td>
608 </tr>
609 </table>
610 </tr>
611 <tr>
612 <td>API example:</td>
613 <td>
614 <source><![CDATA[
615 http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=move&id=ps-1003&x=100&y=250&width=200&height=300
616 ]]></source>
617 </td>
618 </tr>
619 <tr>
620 <td>XML Response:</td>
621 <td>
622 <source><![CDATA[
623 <js>
624 <status>success</status>
625 <action>move</action>
626 <id>ps-1003</id>
627 <old_position>
628 <x>50</x>
629 <y>155</row>
630 </old_position>
631 <new_position>
632 <x>100</x>
633 <y>250</y>
634 </new_position>
635 </js>
636 ]]></source>
637 </td>
638 </tr>
639 </table>
640 </div>
641 <table>
642 <tr>
643 <td>API:</td>
644 <td>move</td>
645 </tr>
646 <tr>
647 <td>コンポーネント:</td>
648 <td>AjaxMovePortlet</td>
649 </tr>
650 <tr>
651 <td>説明:</td>
652 <td>ページ上のポートレットの位置をリクエストパラメータで指定した直交座標系の位置 (x,y,z,幅、高さ) へ移動する。</td>
653 </tr>
654 <tr>
655 <td>パラメータ:</td>
656 <table>
657 <tr>
658 <td>page</td>
659 <td>URL に含まれます</td>
660 </tr>
661 <tr>
662 <td>action</td>
663 <td>move</td>
664 </tr>
665 <tr>
666 <td>id</td>
667 <td>移動させたいポートレット PSML フラグメント ID</td>
668 </tr>
669 <tr>
670 <td>x</td>
671 <td>ポートレットの直交座標での X 軸の位置</td>
672 </tr>
673 <tr>
674 <td>y</td>
675 <td>ポートレットの直交座標での Y 軸の位置</td>
676 </tr>
677 <tr>
678 <td>z</td>
679 <td>ポートレットの直交座標での Z 軸の位置</td>
680 </tr>
681 <tr>
682 <td>width</td>
683 <td>ポートレットの幅</td>
684 </tr>
685 <tr>
686 <td>height</td>
687 <td>ポートレットの高さ</td>
688 </tr>
689 </table>
690 </tr>
691 <tr>
692 <td>API の例:</td>
693 <td>
694 <source><![CDATA[
695 http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=move&id=ps-1003&x=100&y=250&width=200&height=300
696 ]]></source>
697 </td>
698 </tr>
699 <tr>
700 <td>XML レスポンス:</td>
701 <td>
702 <source><![CDATA[
703 <js>
704 <status>success</status>
705 <action>move</action>
706 <id>ps-1003</id>
707 <old_position>
708 <x>50</x>
709 <y>155</row>
710 </old_position>
711 <new_position>
712 <x>100</x>
713 <y>250</y>
714 </new_position>
715 </js>
716 ]]></source>
717 </td>
718 </tr>
719 </table>
720 </subsection>
721 <subsection name='[Add Portlet] ポートレットの追加'>
722 <div class="original">
723 <table>
724 <tr>
725 <td>API:</td>
726 <td>add</td>
727 </tr>
728 <tr>
729 <td>Component:</td>
730 <td>AjaxAddPortlet</td>
731 </tr>
732 <tr>
733 <td>Description:</td>
734 <td>Adds a new portlet to the current page. The portlet can be added at a specified row and column.
735 If either the row or column or not specified, defaults to zero respectively.</td>
736 </tr>
737 <tr>
738 <td>Parameters:</td>
739 <table>
740 <tr>
741 <td>page</td>
742 <td>implied in the URL</td>
743 </tr>
744 <tr>
745 <td>action</td>
746 <td>add</td>
747 </tr>
748 <tr>
749 <td>id</td>
750 <td>The portlet full name to be placed on the page, using Jetspeed Portlet Naming (PortletApplicationName::PortletName)</td>
751 </tr>
752 <tr>
753 <td>row</td>
754 <td>optional: the absolute new row location to place the new portlet fragment (zero based)</td>
755 </tr>
756 <tr>
757 <td>col</td>
758 <td>optional: the absolute new column location to place the new portlet fragment (zero based)</td>
759 </tr>
760 </table>
761 </tr>
762 <tr>
763 <td>API example:</td>
764 <td>
765 <source><![CDATA[
766 http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=add&id=jsf-demo::CalendarPortlet
767 ]]></source>
768 </td>
769 </tr>
770 <tr>
771 <td>XML Response:</td>
772 <td>
773 <source><![CDATA[
774 <js>
775 <status>success</status>
776 <action>add</action>
777 <id>jsf-demo::CalendarPortlet</id>
778 <new_position>
779 <col>0</col>
780 <row>0</row>
781 </new_position>
782 </js>
783 ]]></source>
784
785 </td>
786 </tr>
787 </table>
788 </div>
789 <table>
790 <tr>
791 <td>API:</td>
792 <td>add</td>
793 </tr>
794 <tr>
795 <td>コンポーネント:</td>
796 <td>AjaxAddPortlet</td>
797 </tr>
798 <tr>
799 <td>説明:</td>
800 <td>現在のページに新しいポートレットを追加します。ポートレットは指定する行と列の場所に追加することが可能です。もし、行も列も指定されない場合は、デフォルトでそれぞれ 0 に設定されます。</td>
801 </tr>
802 <tr>
803 <td>パラメータ:</td>
804 <table>
805 <tr>
806 <td>page</td>
807 <td>URL に含まれます</td>
808 </tr>
809 <tr>
810 <td>action</td>
811 <td>add</td>
812 </tr>
813 <tr>
814 <td>id</td>
815 <td>ページに配置したいポートレットのフルネーム。Jetspeed のポートレットの命名規則を使って指定します (ポートレットアプリケーション名::ポートレット名)</td>
816 </tr>
817 <tr>
818 <td>row</td>
819 <td>省略可: 新しいポートレットフラグメントを置きたい場所の行位置の絶対指定 (ゼロベース)</td>
820 </tr>
821 <tr>
822 <td>col</td>
823 <td>省略可: 新しいポートレットフラグメントを置きたい場所の列位置の絶対指定 (ゼロベース)</td>
824 </tr>
825 </table>
826 </tr>
827 <tr>
828 <td>API の例:</td>
829 <td>
830 <source><![CDATA[
831 http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=add&id=jsf-demo::CalendarPortlet
832 ]]></source>
833 </td>
834 </tr>
835 <tr>
836 <td>XML レスポンス:</td>
837 <td>
838 <source><![CDATA[
839 <js>
840 <status>success</status>
841 <action>add</action>
842 <id>jsf-demo::CalendarPortlet</id>
843 <new_position>
844 <col>0</col>
845 <row>0</row>
846 </new_position>
847 </js>
848 ]]></source>
849
850 </td>
851 </tr>
852 </table>
853 </subsection>
854 <subsection name='[Remove Portlet] ポートレットの削除'>
855 <div class="original">
856 <table>
857 <tr>
858 <td>API:</td>
859 <td>remove</td>
860 </tr>
861 <tr>
862 <td>Component:</td>
863 <td>AjaxRemovePortlet</td>
864 </tr>
865 <tr>
866 <td>Description:</td>
867 <td>Removes a new portlet from the current page.</td>
868 </tr>
869 <tr>
870 <td>Parameters:</td>
871 <table>
872 <tr>
873 <td>page</td> <td>implied in the URL</td>
874 </tr>
875 <tr>
876 <td>action</td>
877 <td>remove</td>
878 </tr>
879 <tr>
880 <td>id</td>
881 <td>the portlet PSML fragment id of the portlet to be removed</td>
882 </tr>
883 </table>
884 </tr>
885 <tr>
886 <td>API example:</td>
887 <td>
888 <source><![CDATA[
889 http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=remove&id=ps-1003
890 ]]></source>
891 </td>
892 </tr>
893 <tr>
894 <td>XML Response:</td>
895 <td>
896 <source><![CDATA[
897 <js>
898 <status>success</status>
899 <action>remove</action>
900 <id>jsf-demo::CalendarPortlet</id>
901 <new_position>
902 <col>0</col>
903 <row>0</row>
904 </new_position>
905 </js>
906 ]]></source>
907
908 </td>
909 </tr>
910 </table>
911 </div>
912 <table>
913
914 <tr>
915 <td>API:</td>
916 <td>remove</td>
917 </tr>
918 <tr>
919 <td>コンポーネント:</td>
920 <td>AjaxRemovePortlet</td>
921 </tr>
922 <tr>
923 <td>説明:</td>
924 <td>現在のページから新たにポートレットを削除する。</td>
925 </tr>
926 <tr>
927 <td>パラメータ:</td>
928 <table>
929 <tr>
930 <td>page</td>
931 <td>URL に含まれる</td>
932 </tr>
933 <tr>
934 <td>action</td>
935 <td>remove</td>
936 </tr>
937 <tr>
938 <td>id</td>
939 <td>削除したいポートレットのポートレット PSML ID</td>
940 </tr>
941 </table>
942 </tr>
943 <tr>
944 <td>API の例:</td>
945 <td>
946 <source><![CDATA[
947 http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=remove&id=ps-1003
948 ]]></source>
949 </td>
950 </tr>
951 <tr>
952 <td>XML レスポンス:</td>
953 <td>
954 <source><![CDATA[
955 <js>
956 <status>success</status>
957 <action>remove</action>
958 <id>jsf-demo::CalendarPortlet</id>
959 <new_position>
960 <col>0</col>
961 <row>0</row>
962 </new_position>
963 </js>
964 ]]></source>
965
966 </td>
967 </tr>
968 </table>
969 </subsection>
970 <subsection name='[Get Portlets] ポートレットの取得'>
971 <div class="original">
972 <table>
973
974 <tr>
975 <td>API:</td>
976 <td>getportlets</td>
977 </tr>
978 <tr>
979 <td>Component:</td>
980 <td>AjaxGetPortlets</td>
981 </tr>
982 <tr>
983 <td>Description:</td>
984 <td>Get Portlets retrieves the (sorted) portlet list available to the current subject, filtered
985 the portlet list, and returning portlets which the current subject may view.
986 The Jetspeed (JAAS) security policy enforces this filtering. Portlets are returned
987 in XML format, with name, displayName, and description for each portlet.</td>
988 </tr>
989 <tr>
990 <td>Parameters:</td>
991 <table>
992 <tr>
993 <td>page</td>
994 <td>implied in the URL</td>
995 </tr>
996 <tr>
997 <td>action</td>
998 <td>getportlets</td>
999 </tr>
1000 <tr>
1001 <td>filter</td>
1002 <td>not yet implemented. A query filter to be defined.</td>
1003 </tr>
1004
1005 </table>
1006 </tr>
1007 <tr>
1008 <td>API example:</td>
1009 <td>
1010 <source><![CDATA[
1011 http://localhost:8080/jetspeed/ajaxapi?action=getportlets
1012 ]]></source>
1013 </td>
1014 </tr>
1015 <tr>
1016 <td>XML Response:</td>
1017 <td>
1018 <source><![CDATA[
1019 <js>
1020 <status>success</status>
1021 <action>getportlets</action>
1022 -
1023 <portlets>
1024 <portlet name="demo::AttributeScopePortlet" displayName="Attribute Scope Demo" description="$portlet.Description">
1025 </portlet>
1026 <portlet name="demo::BookmarkPortlet" displayName="Bookmark Portlet" description="Bookmark Portlet">
1027 </portlet>
1028 <portlet name="demo::BookmarkPortletForXHTMLBasic" displayName="Bookmark Portlet for XHTML Basic" description="Bookmark Portlet for XHTML Basic">
1029 </portlet>
1030 <portlet name="demo::CSSDemoPortlet" displayName="CSS Demo Portlet" description="$portlet.Description">
1031 </portlet>
1032 ....
1033 <portlet name="rss::RSS" displayName="RSS Portlet" description="RSS Portlet">
1034 </portlet>
1035 <portlet name="rss::RomeRSS" displayName="Rome RSS Portlet" description="Rome RSS Portlet">
1036 </portlet>
1037 </portlets>
1038 </js>
1039 ]]></source>
1040
1041 </td>
1042 </tr>
1043 </table>
1044 </div>
1045 <table>
1046
1047 <tr>
1048 <td>API:</td>
1049 <td>getportlets</td>
1050 </tr>
1051 <tr>
1052 <td>コンポーネント:</td>
1053 <td>AjaxGetPortlets</td>
1054 </tr>
1055 <tr>
1056 <td>説明:</td>
1057 <td>ポートレットの取得は、現在のサブジェクトで利用可能な (ソートされた) ポートレットのリストを返します。ポートレットリストはフィルタリングされ、現在のサブジェクトで表示可能なポートレットが返されます。Jetspeed セキュリティポリシー (JAAS) は、このフィルタリングを実行します。ポートレット (のリスト) は、それぞれのポートレットの名前、表示名、説明の記述された XML フォーマットで返されます。</td>
1058 </tr>
1059 <tr>
1060 <td>パラメータ:</td>
1061 <table>
1062 <tr>
1063 <td>page</td>
1064 <td>URL に含まれる</td>
1065 </tr>
1066 <tr>
1067 <td>action</td>
1068 <td>getportlets</td>
1069 </tr>
1070 <tr>
1071 <td>filter</td>
1072 <td>まだ実装されていません。照会のフィルタを定義します。</td>
1073 </tr>
1074
1075 </table>
1076 </tr>
1077 <tr>
1078 <td>API の例:</td>
1079 <td>
1080 <source><![CDATA[
1081 http://localhost:8080/jetspeed/ajaxapi?action=getportlets
1082 ]]></source>
1083 </td>
1084 </tr>
1085 <tr>
1086 <td>XML レスポンス:</td>
1087 <td>
1088 <source><![CDATA[
1089 <js>
1090 <status>success</status>
1091 <action>getportlets</action>
1092 -
1093 <portlets>
1094 <portlet name="demo::AttributeScopePortlet" displayName="Attribute Scope Demo" description="$portlet.Description">
1095 </portlet>
1096 <portlet name="demo::BookmarkPortlet" displayName="Bookmark Portlet" description="Bookmark Portlet">
1097 </portlet>
1098 <portlet name="demo::BookmarkPortletForXHTMLBasic" displayName="Bookmark Portlet for XHTML Basic" description="Bookmark Portlet for XHTML Basic">
1099 </portlet>
1100 <portlet name="demo::CSSDemoPortlet" displayName="CSS Demo Portlet" description="$portlet.Description">
1101 </portlet>
1102 ....
1103 <portlet name="rss::RSS" displayName="RSS Portlet" description="RSS Portlet">
1104 </portlet>
1105 <portlet name="rss::RomeRSS" displayName="Rome RSS Portlet" description="Rome RSS Portlet">
1106 </portlet>
1107 </portlets>
1108 </js>
1109 ]]></source>
1110
1111 </td>
1112 </tr>
1113 </table>
1114 </subsection>
1115
1116 <subsection name='[Permissions] パーミッション'>
1117 <div class="original">
1118 <table>
1119
1120 <tr>
1121 <td>API:</td>
1122 <td>permissions</td>
1123 </tr>
1124 <tr>
1125 <td>Component:</td>
1126 <td>AjaxSecurityPermissions</td>
1127 </tr>
1128 <tr>
1129 <td>Description:</td>
1130 <td>Security Permissions Maintenance to add, update, and remove permissions from the Jetspeed security policy</td>
1131 </tr>
1132 <tr>
1133 <td>Parameters:</td>
1134 <table>
1135 <tr>
1136 <td>action</td>
1137 <td>permissions</td>
1138 </tr>
1139 <tr>
1140 <td>method</td>
1141 <td>the method to execute: must be of value: add | update | remove</td>
1142 </tr>
1143 <tr>
1144 <td>type</td>
1145 <td>the type of permission being manipulated: portlet | folder | page</td>
1146 </tr>
1147 <tr>
1148 <td>resource</td>
1149 <td>the name of the portal resource being manipulated</td>
1150 </tr>
1151 <tr>
1152 <td>roles</td>
1153 <td>comma-separated list of roles, only valid for methods: add, update</td>
1154 </tr>
1155 <tr>
1156 <td>actions</td>
1157 <td>comma-separated list of actions, only valid for methods: add, update</td>
1158 </tr>
1159 <tr>
1160 <td>oldactions</td>
1161 <td>comma-separated list of previous actions, only valid for methods: update</td>
1162 </tr>
1163 </table>
1164 </tr>
1165 <tr>
1166 <td>API example:</td>
1167 <td>
1168 <source><![CDATA[
1169 http://localhost:8080/jetspeed/ajaxapi?action=permissions&method=add&type=portlet&resource=demo::*&roles=role1,role2,role3&actions=view,edit
1170 ]]></source>
1171 </td>
1172 </tr>
1173 <tr>
1174 <td>XML Response:</td>
1175 <td>
1176 <source><![CDATA[
1177 <js>
1178 <status>success</status>
1179 <action>permissions</action>
1180 <resource>demo::*</resource>
1181 <type>portlet</type>
1182 <actions>view,edit</actions>
1183 <actions>role1,role2,role3</actions>
1184 </js>
1185 ]]></source>
1186 </td>
1187 </tr>
1188 </table>
1189 </div>
1190 <table>
1191
1192 <tr>
1193 <td>API:</td>
1194 <td>permissions</td>
1195 </tr>
1196 <tr>
1197 <td>コンポーネント:</td>
1198 <td>AjaxSecurityPermissions</td>
1199 </tr>
1200 <tr>
1201 <td>説明:</td>
1202 <td>Jetspeed のセキュリティポリシーからパーミッションを追加、更新、削除するためのセキュリティパーミッションのメンテナンス。</td>
1203 </tr>
1204 <tr>
1205 <td>パラメータ:</td>
1206 <table>
1207 <tr>
1208 <td>action</td>
1209 <td>permissions</td>
1210 </tr>
1211 <tr>
1212 <td>method</td>
1213 <td>実行するメソッド: 以下のいずれかの値である必要がある: add | update | remove</td>
1214 </tr>
1215 <tr>
1216 <td>type</td>
1217 <td>操作するパーミッションのタイプ: portlet | folder | page</td>
1218 </tr>
1219 <tr>
1220 <td>resource</td>
1221 <td>操作するポータルリソースの名前</td>
1222 </tr>
1223 <tr>
1224 <td>roles</td>
1225 <td>カンマ区切りのロールのリスト。以下のメソッドのみ有効: add, update</td>
1226 </tr>
1227 <tr>
1228 <td>actions</td>
1229 <td>カンマ区切りのアクションのリスト。以下のメソッドのみ有効: add, update</td>
1230 </tr>
1231 <tr>
1232 <td>oldactions</td>
1233 <td>カンマ区切りの前回のアクションのリスト。以下のメソッドのみ有効: update</td>
1234 </tr>
1235 </table>
1236 </tr>
1237 <tr>
1238 <td>API の例:</td>
1239 <td>
1240 <source><![CDATA[
1241 http://localhost:8080/jetspeed/ajaxapi?action=permissions&method=add&type=portlet&resource=demo::*&roles=role1,role2,role3&actions=view,edit
1242 ]]></source>
1243 </td>
1244 </tr>
1245 <tr>
1246 <td>XML レスポンス:</td>
1247 <td>
1248 <source><![CDATA[
1249 <js>
1250 <status>success</status>
1251 <action>permissions</action>
1252 <resource>demo::*</resource>
1253 <type>portlet</type>
1254 <actions>view,edit</actions>
1255 <actions>role1,role2,role3</actions>
1256 </js>
1257 ]]></source>
1258 </td>
1259 </tr>
1260 </table>
1261 </subsection>
1262
1263 <subsection name='[getmenus] 複数のメニューの取得'>
1264 <div class="original">
1265 <table>
1266
1267 <tr>
1268 <td>API:</td>
1269 <td>getmenus</td>
1270 </tr>
1271 <tr>
1272 <td>Component:</td>
1273 <td>AjaxGetMenus</td>
1274 </tr>
1275 <tr>
1276 <td>Description:</td>
1277 <td>Retrieves all menus for the current page (implied in URL)</td>
1278 </tr>
1279 <tr>
1280 <td>Parameters:</td>
1281 <table>
1282 <tr>
1283 <td>action</td>
1284 <td>getmenus</td>
1285 </tr>
1286 <tr>
1287 <td>page</td>
1288 <td>(implied in URL)</td>
1289 </tr>
1290 </table>
1291 </tr>
1292 <tr>
1293 <td>API example:</td>
1294 <td>
1295 <source><![CDATA[
1296 http://localhost:8080/jetspeed/ajaxapi/default-page.psml?action=getmenus
1297 ]]></source>
1298 </td>
1299 </tr>
1300 <tr>
1301 <td>XML Response:</td>
1302 <td>
1303 <source><![CDATA[
1304 <js>
1305 <status>success</status>
1306 <action>getmenus</action>
1307 <menus>
1308 <menu type="standard">navigations</menu>
1309 <menu type="standard">back</menu>
1310 <menu type="standard">pages</menu>
1311 <menu type="standard">breadcrumbs</menu>
1312 <menu type="custom">site-navigations</menu>
1313 <menu type="custom">additional-links</menu>
1314 <menu type="custom">page-navigations</menu>
1315 </menus>
1316 </js>
1317 ]]></source>
1318 </td>
1319 </tr>
1320 </table>
1321 </div>
1322
1323 <table>
1324
1325 <tr>
1326 <td>API:</td>
1327 <td>getmenus</td>
1328 </tr>
1329 <tr>
1330 <td>コンポーネント:</td>
1331 <td>AjaxGetMenus</td>
1332 </tr>
1333 <tr>
1334 <td>説明:</td>
1335 <td>(URL によって示される) 現在のページの全てのメニューの取得。</td>
1336 </tr>
1337 <tr>
1338 <td>パラメータ:</td>
1339 <table>
1340 <tr>
1341 <td>action</td>
1342 <td>getmenus</td>
1343 </tr>
1344 <tr>
1345 <td>page</td>
1346 <td>(URLによって示される)</td>
1347 </tr>
1348 </table>
1349 </tr>
1350 <tr>
1351 <td>API の例:</td>
1352 <td>
1353 <source><![CDATA[
1354 http://localhost:8080/jetspeed/ajaxapi/default-page.psml?action=getmenus
1355 ]]></source>
1356 </td>
1357 </tr>
1358 <tr>
1359 <td>XML Response:</td>
1360 <td>
1361 <source><![CDATA[
1362 <js>
1363 <status>success</status>
1364 <action>getmenus</action>
1365 <menus>
1366 <menu type="standard">navigations</menu>
1367 <menu type="standard">back</menu>
1368 <menu type="standard">pages</menu>
1369 <menu type="standard">breadcrumbs</menu>
1370 <menu type="custom">site-navigations</menu>
1371 <menu type="custom">additional-links</menu>
1372 <menu type="custom">page-navigations</menu>
1373 </menus>
1374 </js>
1375 ]]></source>
1376 </td>
1377 </tr>
1378 </table>
1379 </subsection>
1380
1381 <subsection name='[getmenu] メニューの取得'>
1382
1383 <div class="original">
1384 <table>
1385
1386 <tr>
1387 <td>API:</td>
1388 <td>getmenu</td>
1389 </tr>
1390 <tr>
1391 <td>Component:</td>
1392 <td>AjaxGetMenu</td>
1393 </tr>
1394 <tr>
1395 <td>Description:</td>
1396 <td>Retrieves the menu definition for a given menu</td>
1397 </tr>
1398 <tr>
1399 <td>Parameters:</td>
1400 <table>
1401 <tr>
1402 <td>action</td>
1403 <td>getmenu</td>
1404 </tr>
1405 <tr>
1406 <td>menu</td>
1407 <td>name of the menu to retrieve (menu definition may change per page)</td>
1408 </tr>
1409 </table>
1410 </tr>
1411 <tr>
1412 <td>API example:</td>
1413 <td>
1414 <source><![CDATA[
1415 http://localhost:8080/jetspeed/ajaxapi?action=getmenu&name=breadcrumbs
1416 ]]></source>
1417 </td>
1418 </tr>
1419 <tr>
1420 <td>XML Response:</td>
1421 <td>
1422 <source><![CDATA[
1423 <js>
1424 <status>success</status>
1425 <action>getmenu</action>
1426 <menu>
1427 <name>breadcrumbs</name>
1428 <title>You are here:</title>
1429 <short-title>You are here:</short-title>
1430 <skin>breadcrumbs</skin>
1431 <url>/default-page.psml</url>
1432 <hidden>false</hidden>
1433 <selected>true</selected>
1434 <option>
1435 <type>folder</type>
1436 <title>Root Folder</title>
1437 <short-title>Root Folder</short-title>
1438 <skin>breadcrumbs</skin>
1439 <url>/</url>
1440 <hidden>false</hidden>
1441 <selected>true</selected>
1442 </option>
1443 <option>
1444 <type>page</type>
1445 <title>Welcome to Jetspeed 2</title>
1446 <short-title>Welcome to Jetspeed 2</short-title>
1447 <skin>blue</skin>
1448 <url>/default-page.psml</url>
1449 <hidden>false</hidden>
1450 <selected>true</selected>
1451 </option>
1452 </menu>
1453 </js>
1454 ]]></source>
1455 </td>
1456 </tr>
1457 </table>
1458 </div>
1459
1460 <table>
1461
1462 <tr>
1463 <td>API:</td>
1464 <td>getmenu</td>
1465 </tr>
1466 <tr>
1467 <td>コンポーネント:</td>
1468 <td>AjaxGetMenu</td>
1469 </tr>
1470 <tr>
1471 <td>説明:</td>
1472 <td>指定したメニューに対するメニュー定義を取得します。</td>
1473 </tr>
1474 <tr>
1475 <td>パラメータ:</td>
1476 <table>
1477 <tr>
1478 <td>action</td>
1479 <td>getmenu</td>
1480 </tr>
1481 <tr>
1482 <td>menu</td>
1483 <td>取得するメニューの名前。(メニュー定義はページ毎に変化する可能性があります)</td>
1484 </tr>
1485 </table>
1486 </tr>
1487 <tr>
1488 <td>API の例:</td>
1489 <td>
1490 <source><![CDATA[
1491 http://localhost:8080/jetspeed/ajaxapi?action=getmenu&name=breadcrumbs
1492 ]]></source>
1493 </td>
1494 </tr>
1495 <tr>
1496 <td>XML Response:</td>
1497 <td>
1498 <source><![CDATA[
1499 <js>
1500 <status>success</status>
1501 <action>getmenu</action>
1502 <menu>
1503 <name>breadcrumbs</name>
1504 <title>You are here:</title>
1505 <short-title>You are here:</short-title>
1506 <skin>breadcrumbs</skin>
1507 <url>/default-page.psml</url>
1508 <hidden>false</hidden>
1509 <selected>true</selected>
1510 <option>
1511 <type>folder</type>
1512 <title>Root Folder</title>
1513 <short-title>Root Folder</short-title>
1514 <skin>breadcrumbs</skin>
1515 <url>/</url>
1516 <hidden>false</hidden>
1517 <selected>true</selected>
1518 </option>
1519 <option>
1520 <type>page</type>
1521 <title>Welcome to Jetspeed 2</title>
1522 <short-title>Welcome to Jetspeed 2</short-title>
1523 <skin>blue</skin>
1524 <url>/default-page.psml</url>
1525 <hidden>false</hidden>
1526 <selected>true</selected>
1527 </option>
1528 </menu>
1529 </js>
1530 ]]></source>
1531 </td>
1532 </tr>
1533 </table>
1534
1535 </subsection>
1536
1537 <subsection name='[window] ウィンドウ'>
1538 <div class="original">
1539 <table>
1540
1541 <tr>
1542 <td>API:</td>
1543 <td>getmenus</td>
1544 </tr>
1545 <tr>
1546 <td>Component:</td>
1547 <td>AjaxChangeWindow</td>
1548 </tr>
1549 <tr>
1550 <td>Description:</td>
1551 <td>Changes a portlet window's Window State or Portlet Mode</td>
1552 </tr>
1553 <tr>
1554 <td>Parameters:</td>
1555 <table>
1556 <tr>
1557 <td>action</td>
1558 <td>window</td>
1559 </tr>
1560 <tr>
1561 <td>id</td>
1562 <td>window id of the portlet to be modified</td>
1563 </tr>
1564 <tr>
1565 <td>state</td>
1566 <td>A portlet api valid window state or extended window state (normal | maximized | minimized)</td>
1567 </tr>
1568 <tr>
1569 <td>mode</td>
1570 <td>A portlet api valid portlet mode or extended portlet mode (view | edit | help | print)</td>
1571 </tr>
1572 <tr>
1573 <td>page</td>
1574 <td>Implied in URL</td>
1575 </tr>
1576 </table>
1577 </tr>
1578 <tr>
1579 <td>API example:</td>
1580 <td>
1581 <source><![CDATA[
1582 http://localhost:8080/jetspeed/ajaxapi?action=window&state=maximized&mode=edit&id=um-2
1583 ]]></source>
1584 </td>
1585 </tr>
1586 <tr>
1587 <td>XML Response:</td>
1588 <td>
1589 <source><![CDATA[
1590 <js>
1591 <status>success</status>
1592 <action>window</action>
1593 <id>um-2</id>
1594 <state>maximized</state>
1595 <mode>edit</mode>
1596 </js>
1597 ]]></source>
1598 </td>
1599 </tr>
1600 </table>
1601 </div>
1602
1603 <table>
1604
1605 <tr>
1606 <td>API:</td>
1607 <td>getmenus</td>
1608 </tr>
1609 <tr>
1610 <td>コンポーネント:</td>
1611 <td>AjaxChangeWindow</td>
1612 </tr>
1613 <tr>
1614 <td>説明:</td>
1615 <td>ウィンドウの状態もしくはポートレットモードを変更します。</td>
1616 </tr>
1617 <tr>
1618 <td>パラメータ:</td>
1619 <table>
1620 <tr>
1621 <td>action</td>
1622 <td>window</td>
1623 </tr>
1624 <tr>
1625 <td>id</td>
1626 <td>変更するポートレットのウィンドウの id</td>
1627 </tr>
1628 <tr>
1629 <td>state</td>
1630 <td>ポートレット API で有効なウィンドウの状態もしくは拡張されたウィンドウの状態 (normal | maximized | minimized)</td>
1631 </tr>
1632 <tr>
1633 <td>mode</td>
1634 <td>ポートレット API で有効なポートレットの状態もしくは拡張されたポートレットの状態 (view | edit | help | print)</td>
1635 </tr>
1636 <tr>
1637 <td>page</td>
1638 <td>URL によって示される</td>
1639 </tr>
1640 </table>
1641 </tr>
1642 <tr>
1643 <td>API の例:</td>
1644 <td>
1645 <source><![CDATA[
1646 http://localhost:8080/jetspeed/ajaxapi?action=window&state=maximized&mode=edit&id=um-2
1647 ]]></source>
1648 </td>
1649 </tr>
1650 <tr>
1651 <td>XML Response:</td>
1652 <td>
1653 <source><![CDATA[
1654 <js>
1655 <status>success</status>
1656 <action>window</action>
1657 <id>um-2</id>
1658 <state>maximized</state>
1659 <mode>edit</mode>
1660 </js>
1661 ]]></source>
1662 </td>
1663 </tr>
1664 </table>
1665
1666 </subsection>
1667
1668 <subsection name='[getuseinfo] ユーザ情報の取得'>
1669
1670 <div class="original">
1671 <table>
1672
1673 <tr>
1674 <td>API:</td>
1675 <td>getuseinfo</td>
1676 </tr>
1677 <tr>
1678 <td>Component:</td>
1679 <td>AjaxGetUserInformation</td>
1680 </tr>
1681 <tr>
1682 <td>Description:</td>
1683 <td>Returns information about the currently logged in user. Can be used for example in AJAX based portlets to retrieve the userinfo in a more robust way. Will return success only if a user is currenly logged in, otherwise will return false.</td>
1684 </tr>
1685 <tr>
1686 <td>Parameters:</td>
1687 <table>
1688 <tr>
1689 <td>action</td>
1690 <td>getuserinfo</td>
1691 </tr>
1692 </table>
1693 </tr>
1694 <tr>
1695 <td>API example:</td>
1696 <td>
1697 <source><![CDATA[
1698 http://localhost:8080/jetspeed/ajaxapi?action=getuserinfo
1699 ]]></source>
1700 </td>
1701 </tr>
1702 <tr>
1703 <td>XML Response:</td>
1704 <td>
1705 <source><![CDATA[
1706 <js>
1707 <status>success</status>
1708 <action>userinformation</action>
1709 <username>admin</username>
1710 <type>org.apache.jetspeed.security.impl.UserPrincipalImpl</type>
1711 <userinfo>
1712 <user.name.given>Test Dude</user.name.given>
1713 <user.name.family>Dudley</user.name.family>
1714 </userinfo>
1715 </js>
1716 ]]></source>
1717 </td>
1718 </tr>
1719 </table>
1720 </div>
1721
1722 <table>
1723
1724 <tr>
1725 <td>API:</td>
1726 <td>getuseinfo</td>
1727 </tr>
1728 <tr>
1729 <td>コンポーネント:</td>
1730 <td>AjaxGetUserInformation</td>
1731 </tr>
1732 <tr>
1733 <td>説明:</td>
1734 <td>現在ログインしているユーザの情報を返します。例えば、より確実な方法でのユーザ情報の取得のために AJAX ベースのポートレット内で使用可能です。ユーザが現在ログインしている時のみ、成功を返し、そうでなければ失敗を返します。</td>
1735 </tr>
1736 <tr>
1737 <td>パラメータ:</td>
1738 <table>
1739 <tr>
1740 <td>action</td>
1741 <td>getuserinfo</td>
1742 </tr>
1743 </table>
1744 </tr>
1745 <tr>
1746 <td>API example:</td>
1747 <td>
1748 <source><![CDATA[
1749 http://localhost:8080/jetspeed/ajaxapi?action=getuserinfo
1750 ]]></source>
1751 </td>
1752 </tr>
1753 <tr>
1754 <td>XML Response:</td>
1755 <td>
1756 <source><![CDATA[
1757 <js>
1758 <status>success</status>
1759 <action>userinformation</action>
1760 <username>admin</username>
1761 <type>org.apache.jetspeed.security.impl.UserPrincipalImpl</type>
1762 <userinfo>
1763 <user.name.given>Test Dude</user.name.given>
1764 <user.name.family>Dudley</user.name.family>
1765 </userinfo>
1766 </js>
1767 ]]></source>
1768 </td>
1769 </tr>
1770 </table>
1771
1772 </subsection>
1773
1774 <subsection name='getuserlist'>
1775
1776 <div class="original">
1777 <table>
1778
1779 <tr>
1780 <td>API:</td>
1781 <td>getuseinfo</td>
1782 </tr>
1783 <tr>
1784 <td>Component:</td>
1785 <td>AjaxGetUserList</td>
1786 </tr>
1787 <tr>
1788 <td>Description:</td>
1789 <td>Provides basic information (username, ip-address, number of sessions and status) about currently logged in users in xml-format. Optionally it can also provide more detailed userinformation, number of guest sessions and include offline users as well.</td>
1790 </tr>
1791 <tr>
1792 <td>Parameters:</td>
1793 <table>
1794 <tr>
1795 <td>action</td>
1796 <td>getuserinfo</td>
1797 </tr>
1798 <tr>
1799 <td>userinfo</td>
1800 <td>Whether we should include also userinfo (true | false [default])</td>
1801 </tr>
1802 <tr>
1803 <td>offline</td>
1804 <td>Whether we should include offline users (true | false [default])</td>
1805 </tr>
1806 <tr>
1807 <td>guest</td>
1808 <td>Whether we should return also the guest sessions (true | false [default])</td>
1809 </tr>
1810 <tr>
1811 <td>all</td>
1812 <td>If set to true, will return every bits and piece there is (true | false [default])</td>
1813 </tr>
1814 </table>
1815 </tr>
1816 <tr>
1817 <td>
1818 <p>
1819 By default the private information (emails, etc..) is protected with
1820 RolesSecurityBehavior security, but can be changed in <a href="http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/src/webapp/WEB-INF/assembly/ajax-layout.xml?view=markup">AJAX configuration</a>
1821 by altering the protectionScope constructor value to either "all" to protect
1822 even the basic information or to "none" when everything will be shown for everyone (not wise on production).
1823 The default value "private" will show just the basic information of online/offline users and number of guest sessions,
1824 as the "private-offline" will not show even the offline users. Possible protectionScope values are "all",
1825 "private-offline", "private" and "none".
1826 </p>
1827 </td>
1828 </tr>
1829 <tr>
1830 <td>API example:</td>
1831 <td>
1832 <source><![CDATA[
1833 http://localhost:8080/jetspeed/ajaxapi?action=getuserlist&userinfo=true&guest=true
1834 ]]></source>
1835 </td>
1836 </tr>
1837 <tr>
1838 <td>XML Response:</td>
1839 <td>
1840 <source><![CDATA[
1841 <js>
1842 <status>success</status>
1843 <action>getuserlist</action>
1844 <users>
1845 <user>
1846 <username>admin</username>
1847 <sessions>1</sessions>
1848 <status>online</status>
1849 <ipaddress>127.0.0.1</ipaddress>
1850 <userinfo>
1851 <user.name.given>Test Dude</user.name.given>
1852 <user.name.family>Dudley</user.name.family>
1853 </userinfo>
1854 </user>
1855 <guests>0</guests>
1856 </users>
1857 </js>
1858 ]]></source>
1859 </td>
1860 </tr>
1861 </table>
1862 </div>
1863
1864 <table>
1865
1866 <tr>
1867 <td>API:</td>
1868 <td>getuseinfo</td>
1869 </tr>
1870 <tr>
1871 <td>コンポーネント:</td>
1872 <td>AjaxGetUserList</td>
1873 </tr>
1874 <tr>
1875 <td>説明:</td>
1876 <td>現在ログインしているユーザの基本的な情報 (ユーザ名、IP アドレス、セッション数、ステータス) を XML フォーマットで提供します。オプションで、もっと詳細なユーザ情報であるゲストのセッション数やオフラインのユーザ数を提供することも可能です。</td>
1877 </tr>
1878 <tr>
1879 <td>パラメータ:</td>
1880 <table>
1881 <tr>
1882 <td>action</td>
1883 <td>getuserinfo</td>
1884 </tr>
1885 <tr>
1886 <td>userinfo</td>
1887 <td>userinfo も含めるべきかどうか。 (true | false [default])</td>
1888 </tr>
1889 <tr>
1890 <td>offline</td>
1891 <td>オフラインユーザも含めるべきかどうか。 (true | false [default])</td>
1892 </tr>
1893 <tr>
1894 <td>guest</td>
1895 <td>ゲストユーザのセッション数も返すべきかどうか。 (true | false [default])</td>
1896 </tr>
1897 <tr>
1898 <td>all</td>
1899 <td>true に設定された場合、存在する色々な情報を全て返します。 (true | false [default])</td>
1900 </tr>
1901 </table>
1902 </tr>
1903 <tr>
1904 <td>
1905 <p>
1906 デフォルトでは、プライベート情報 (メールアドレスなど) は RolesSecurityBehavior によるセキュリティによって守られていますが、これは、protectionScope のコンストラクタの値を基本情報すら保護する "all" と設定するか、誰でも全てを見ることができる "none" に変更することにより <a href="http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/src/webapp/WEB-INF/assembly/ajax-layout.xml?view=markup">AJAX の設定</a> で変更することが可能です。デフォルトの "private" という値は、オンライン/オフラインユーザの基本情報とゲストセッション数だけが見えます。"private-offline" はオフラインユーザの情報が見えなくなります。protectionScope の値は "all", "private-offline", "private", "none" の値を取ることが可能です。
1907 </p>
1908 </td>
1909 </tr>
1910 <tr>
1911 <td>API example:</td>
1912 <td>
1913 <source><![CDATA[
1914 http://localhost:8080/jetspeed/ajaxapi?action=getuserlist&userinfo=true&guest=true
1915 ]]></source>
1916 </td>
1917 </tr>
1918 <tr>
1919 <td>XML Response:</td>
1920 <td>
1921 <source><![CDATA[
1922 <js>
1923 <status>success</status>
1924 <action>getuserlist</action>
1925 <users>
1926 <user>
1927 <username>admin</username>
1928 <sessions>1</sessions>
1929 <status>online</status>
1930 <ipaddress>127.0.0.1</ipaddress>
1931 <userinfo>
1932 <user.name.given>Test Dude</user.name.given>
1933 <user.name.family>Dudley</user.name.family>
1934 </userinfo>
1935 </user>
1936 <guests>0</guests>
1937 </users>
1938 </js>
1939 ]]></source>
1940 </td>
1941 </tr>
1942 </table>
1943
1944 </subsection>
1945
1946 </section>
1947
1948 <section name='[Spring Assembly] Spring アセンブリ'>
1949 <div class="original">
1950 <p>
1951 The <code>AjaxRequestService</code> is a Spring component that handles AJAX requests.
1952 It is hooked into the AJAX <a href='guide-pipeline.html'>Pipeline</a> for special processing
1953 of AJAX request. Here is the Spring Assembly. Each API is configured in the Ajax Service.
1954 </p>
1955 </div>
1956 <p>
1957 <code>AjaxRequestService</code> は、AJAX リクエストを扱う Spring のコンポーネントです。これは、AJAX リクエストの特別な処理のために、AJAX <a href='guide-pipeline.html'>パイプライン</a>内でフックされます。以下が Spring アセンブリです。それぞれの API は Ajax サービス内で設定されます。
1958 </p>
1959 <div class="original">
1960 <source><![CDATA[
1961 <bean id="AjaxRequestService" class="org.apache.jetspeed.ajax.AjaxRequestServiceImpl">
1962 <constructor-arg index="0">
1963 <map>
1964 <entry key="move">
1965 <ref bean="AjaxMove"/>
1966 </entry>
1967 <entry key="moveabs">
1968 <ref bean="AjaxMovePortletAbsolute"/>
1969 </entry>
1970 <entry key="moveleft">
1971 <ref bean="AjaxMovePortletLeft"/>
1972 </entry>
1973 <entry key="moveright">
1974 <ref bean="AjaxMovePortletRight"/>
1975 </entry>
1976 <entry key="moveup">
1977 <ref bean="AjaxMovePortletUp"/>
1978 </entry>
1979 <entry key="movedown">
1980 <ref bean="AjaxMovePortletDown"/>
1981 </entry>
1982 <entry key="add">
1983 <ref bean="AjaxAddPortlet"/>
1984 </entry>
1985 <entry key="remove">
1986 <ref bean="AjaxRemovePortlet"/>
1987 </entry>
1988 <entry key="getportlets">
1989 <ref bean="AjaxGetPortlets"/>
1990 </entry>
1991 <entry key="getpage">
1992 <ref bean="AjaxGetPage"/>
1993 </entry>
1994 <entry key="getpages">
1995 <ref bean="AjaxGetPages"/>
1996 </entry>
1997 <entry key="getfolder">
1998 <ref bean="AjaxGetFolder"/>
1999 </entry>
2000 <entry key="getlink">
2001 <ref bean="AjaxGetLink"/>
2002 </entry>
2003 <entry key="getfolderlist">
2004 <ref bean="AjaxGetFolderList"/>
2005 </entry>
2006 <entry key="getfolders">
2007 <ref bean="AjaxGetFoldersList"/>
2008 </entry>
2009 <entry key="getthemes">
2010 <ref bean="AjaxGetThemes"/>
2011 </entry>
2012 <entry key="getactions">
2013 <ref bean="AjaxGetActions"/>
2014 </entry>
2015 <entry key="window">
2016 <ref bean="AjaxChangeWindow"/>
2017 </entry>
2018 <entry key="getmenus">
2019 <ref bean="AjaxGetMenus"/>
2020 </entry>
2021 <entry key="getmenu">
2022 <ref bean="AjaxGetMenu"/>
2023 </entry>
2024 <entry key="permissions">
2025 <ref bean="AjaxSecurityPermissions"/>
2026 </entry>
2027 <entry key="constraints">
2028 <ref bean="AjaxSecurityConstraints"/>
2029 </entry>
2030 <entry key="updatefolder">
2031 <ref bean="AjaxUpdateFolder"/>
2032 </entry>
2033 <entry key="updatepage">
2034 <ref bean="AjaxUpdatePage"/>
2035 </entry>
2036 <entry key="updatelink">
2037 <ref bean="AjaxUpdateLink"/>
2038 </entry>
2039 <entry key="getuserinfo">
2040 <ref bean="AjaxGetUserInformation"/>
2041 </entry>
2042 <entry key="getuserlist">
2043 <ref bean="AjaxGetUserList"/>
2044 </entry>
2045 </map>
2046 </constructor-arg>
2047 <constructor-arg index="1">
2048 <ref bean="AjaxVelocityEngine"/>
2049 </constructor-arg>
2050 </bean>
2051 ]]></source>
2052 </div>
2053 <source><![CDATA[
2054 <bean id="AjaxRequestService" class="org.apache.jetspeed.ajax.AjaxRequestServiceImpl">
2055 <constructor-arg index="0">
2056 <map>
2057 <entry key="move">
2058 <ref bean="AjaxMove"/>
2059 </entry>
2060 <entry key="moveabs">
2061 <ref bean="AjaxMovePortletAbsolute"/>
2062 </entry>
2063 <entry key="moveleft">
2064 <ref bean="AjaxMovePortletLeft"/>
2065 </entry>
2066 <entry key="moveright">
2067 <ref bean="AjaxMovePortletRight"/>
2068 </entry>
2069 <entry key="moveup">
2070 <ref bean="AjaxMovePortletUp"/>
2071 </entry>
2072 <entry key="movedown">
2073 <ref bean="AjaxMovePortletDown"/>
2074 </entry>
2075 <entry key="add">
2076 <ref bean="AjaxAddPortlet"/>
2077 </entry>
2078 <entry key="remove">
2079 <ref bean="AjaxRemovePortlet"/>
2080 </entry>
2081 <entry key="getportlets">
2082 <ref bean="AjaxGetPortlets"/>
2083 </entry>
2084 <entry key="getpage">
2085 <ref bean="AjaxGetPage"/>
2086 </entry>
2087 <entry key="getpages">
2088 <ref bean="AjaxGetPages"/>
2089 </entry>
2090 <entry key="getfolder">
2091 <ref bean="AjaxGetFolder"/>
2092 </entry>
2093 <entry key="getlink">
2094 <ref bean="AjaxGetLink"/>
2095 </entry>
2096 <entry key="getfolderlist">
2097 <ref bean="AjaxGetFolderList"/>
2098 </entry>
2099 <entry key="getfolders">
2100 <ref bean="AjaxGetFoldersList"/>
2101 </entry>
2102 <entry key="getthemes">
2103 <ref bean="AjaxGetThemes"/>
2104 </entry>
2105 <entry key="getactions">
2106 <ref bean="AjaxGetActions"/>
2107 </entry>
2108 <entry key="window">
2109 <ref bean="AjaxChangeWindow"/>
2110 </entry>
2111 <entry key="getmenus">
2112 <ref bean="AjaxGetMenus"/>
2113 </entry>
2114 <entry key="getmenu">
2115 <ref bean="AjaxGetMenu"/>
2116 </entry>
2117 <entry key="permissions">
2118 <ref bean="AjaxSecurityPermissions"/>
2119 </entry>
2120 <entry key="constraints">
2121 <ref bean="AjaxSecurityConstraints"/>
2122 </entry>
2123 <entry key="updatefolder">
2124 <ref bean="AjaxUpdateFolder"/>
2125 </entry>
2126 <entry key="updatepage">
2127 <ref bean="AjaxUpdatePage"/>
2128 </entry>
2129 <entry key="updatelink">
2130 <ref bean="AjaxUpdateLink"/>
2131 </entry>
2132 <entry key="getuserinfo">
2133 <ref bean="AjaxGetUserInformation"/>
2134 </entry>
2135 <entry key="getuserlist">
2136 <ref bean="AjaxGetUserList"/>
2137 </entry>
2138 </map>
2139 </constructor-arg>
2140 <constructor-arg index="1">
2141 <ref bean="AjaxVelocityEngine"/>
2142 </constructor-arg>
2143 </bean>
2144 ]]></source>
2145 </section>
2146 </body>
2147 </document>
2148

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26