12.uzdevums: XWiki klašu veidošana

Last modified by superadmin on 2018-01-12 20:26

12.uzdevums: XWiki klašu veidošana

Sagatavojas darbam

  1. Piestartē VMWare Player attēlu "ubuntu-srv". 
  2. Pieslēdzas šajā attēlā darbinātajam XWiki - http://your.vmware.ip.address/xwiki; pielogojas ar savu lietotāja vārdu (t.i. tādu lietotāju, kurš nav Admin:admin). Ja ar Jūsu vārdu vēl lietotāja nav, tad jāreģistrējas.
  3. Pārliecinās, ka Jūsu lietotājam ir administrēšanas tiesības (pārlūkprogrammas labajā augšējā stūrī redzams links "Administration"). Ja šāda linka nav, pieslēdzas kā Admin:admin, izvēlas Administration -> Groups, izvēlas "XWiki.XWikiAdminGroup" un pievieno sevi kā vienu no administratoriem. Pieslēdzas ar savu vārdu, klikšķina uz sava vārda pārlūkprogrammas labajā augšējā stūrī un izvēlas "Switch to Advanced Edit Mode". (Ja ir redzams tikai links "Switch to Simple Edit Mode", tad Jums jau ir uzstādīts nepieciešamais rediģēšanas režīms.)

Izveido apgabalu "Music" un klasi "Album"

  1. Pārlūkprogrammas labajā joslā, sadaļā "Create" izvēlas "Create new space" un ieraksta vārdu "Music". 
  2. Ieraksta nedaudz teksta lapā "Music.WebHome". Piemēram: 
1 This is Music Project

See [http://www.ante.lv/xwiki/bin/view/TrainingJavaEIM/Exercise12CustomClasses].

 Spiež pogu "Save & View". 

  1. Ieraksta pārlūkprogrammā adresi http://your.vmware.ip.address/xwiki/bin/view/Music/ vai http://your.vmware.ip.address/xwiki/bin/view/Music/WebHome un pārliecinās, ka lapa attēlojas pareizi. 
  2. Izveido klasi "Album" apgabalā "Music"
    1a. Ieraksta pārlūkprogrammā adresi http://your.vmware.ip.address/xwiki/bin/view/XWiki/XWikiClasses:
    1a. Sadaļā "Create a New Class" ieraksta "Web=Music" un "Class=Album".
    1a. Labo "AlbumClass" dokumenta wiki tekstu, kurš ir atvēries rediģēšanas režīmā: 
#set( $class = $doc.name.substring(0,$doc.name.indexOf("Class")))
#set($defaultparent = "Music.${class}Class")
#set($defaultweb = "Music")
#includeForm("XWiki.ClassSheet")

 T.i. 2. un 3.rindā aizstāj "XWiki" un "Main" ar "Music". Pēdējo rindu atstāj bez izmaiņām - t.i. tur tiek importēts "XWiki.ClassSheet". 

1a. Spiež [Save & View]

  1. Klikšķina linku "Edit the Class". Pievieno albumam piecus datu laukus:
    1a. Dialogā "Add Property" (ekrāna labajā pusē) izvēlas Name=title un Type = String; spiež pogu [Add Property]. Spiež pogu [Save & Continue]
    1a. Dialogā "Add Property" izvēlas Name=artist, Type=String; spiež pogu [Add Property]. Spiež pogu [Save & Continue]
    1a. Dialogā "Add Property" izvēlas Name=genre, Type="Static List"; spiež pogu [Add Property].
    1a*. Atklikšķina sadaļu "genre" ekrāna vidū. Ielabo: "Display Type"="Select",
    1a*. Ieķeksē "Multiple Select"
    1a*. Ieķeksē "Relational Storage"
    1a*. Ieraksta "Size" vērtību 3
    1a*. Multiselect separators - ieraksta "|" (vertikālo svītru)
    1a*. "Join Separator for Display" - ieraksta šajā lodziņā komatu, kuram seko tukšums - t.i. stringu ", "
    1a*. Lauciņā "Values" ieraksta 3 vērtības, ko atdala vertikālā svītra: classical|popular|traditional
    1a*. Visiem citiem laukiem atstāj noklusētās vērtības.
    1a*. Spiež pogu [Save & Continue]
    1a. Dialogā "Add Property" izvēlas Name=people, Type="Database list". Spiež pogu [Add Property]
    1a*. Izvēlas "Display Type"="Input"
    1a*. Ieķeksē "Multiple Select"
    1a*. Ieķeksē "Relational Storage"
    1a*. Lauciņā "Size" aizstāj vērtību 1 ar vērtību 80.
    1a*. Multiselect separators - ieraksta "|" (vertikālo svītru)
    1a*. "Join Separator for Display" - ieraksta šajā lodziņā komatu, kuram seko tukšums.
    1a*. Spiež pogu [Save & Continue]
    1a. Dialogā "Add Property" (ekrāna labajā pusē) izvēlas Name=review un Type = TextArea; spiež pogu [Add Property].
    1a*. Lauciņos "Size" un "Rows" ieraksta vēlamo rindiņu un kolonnu skaitu - teiksim 60 un 24.
    1a*. Lauciņā "Editor" uzstāda vērtību "text". 
  2. Spiež pogu [Save & View]

Rediģē klases attēlošanas šablonu un prototipu

  1. Atver saiti: http://your.vmware.ip.address/xwiki/bin/view/Music/AlbumClass
  2. Spiež pogu "Create the document sheet"
  3. Aizstāj rindu 
#set($class = $doc.getObject("XWiki.MyClass").xWikiClass)

 ar citu: 

#set($class = $doc.getObject("Music.AlbumClass").xWikiClass)
  1. Breadcrumbs sadaļā izvēlas "Album Class"
  2. Spiež pogu "Create the Document Template"
  3. Aizstāj rindu 
#includeForm("XWiki.MyNameClassSheet")

 ar citu: 

#includeForm("Music.AlbumClassSheet")
  1. Klikšķina linku "Click here to add it". 

Ieraksta datus par 1-2 albumiem:

  1. Atver saiti: http://your.vmware.ip.address/xwiki/bin/view/Music/AlbumClass
  2. Sadaļā "Create a new Document" izvēlas "Space"=Music un "Document" piemēram "RotalasUnDanci". Spiež pogu [Create document]
  3. Ieraksta datus par albumu, spiež "Save & View".

Izveido "Track" objektu XWiki

  1. Analoģiski kā Album klasi, veido arī Track klasi - vispirms iet uz lapu "XWiki.XWikiClasses". 
  2. Sadaļā "Create a New Class" izvēlas Web=Music, Class=Track. Spiež pogu [Create this class]
  3. Pielabo atvērto XWiki dokumentu; divās vietās aizstāj "XWiki" un "Main" apgabalus ar "Music". Vienīgi pēdējā rindā apgabalu "XWiki" atstāj bez izmaiņām. 
  4. Pievieno īpašības kā Type="String" īpašības (properties):
    1a. "num"
    1a. "name"
    1a. "mp3"
  5. Aiz katras īpašības spiež "Save & Continue". Pēc pēdējās - "Save & View". 
  6. Pogas "Create the Document Sheet" un "Create the Document Template" pagaidām neaiztiekam, jo mūsu gadījumā "Track" objekti nebūs patstāvīgi, bet gan dzīvos kā pielikumi pie esošiem "Album" tipa objektiem.

Integrē Album klases objektus ar Track klases objektiem

  1. Atver "Music.AlbumClass" dokumentu. Atver "Album Class Sheet" linku; izvēlas "Edit" -> "Wiki" pogu. 
  2. Pievieno wiki teksta beigās šādu kodu: 
1.1 Tracks:
#if($context.action=="inline")
#set($redirect = $xwiki.getRequestURL())
<a href="$doc.getURL("objectadd","classname=Music.TrackClass&amp;xredirect=$redirect")">Add track</a>
#end

<table>
<tr><th>Num</th><th>Title</th><th>MP3</th></tr>
#foreach($track in $doc.getObjects("Music.TrackClass"))
#set($tracknum = $track.getXWikiObject().getStringValue('num'))
#set($tracktitle = $track.getXWikiObject().getStringValue('title'))
<tr>
<td>$doc.display('num', $track)</td>
<td>$doc.display('name', $track)</td>
<td>$doc.display('mp3', $track)</td>
</tr>
#end
</table>

Iekopē trekus kā MP3 failus un veido linkus

  1. Kopē MP3 failus apakšdirektorijā /home/ftp/Music/RotalasUnDanci (kur "RotalasUnDanci" vietā ir Jūsu albuma nosaukums (atbilstoši pievienotajam objektam), pierakstīts kā Javas identifikators (ASCII burti un cipari, bez atstarpēm un speciāliem simboliem). 
  2. Pārveido "Album Class Sheet" skriptu tā, lai tas attēlotu nevis 3 kolonnās ("num", "title" un "mp3"), bet gan tikai 2 kolonnās - "num" un "title" (kurš ir hipersaite, kura norāda uz MP3 failu). 

Piezīme: Šajā gadījumā patstāvīgi jāizmaina Velocity kods - jārediģē dokuments 'Music.AlbumClassSheet'. Ņemiet vērā, ka MP3 faili glabājas atšķirīgās direktorijās - atkarībā no albuma nosaukuma. Tekošā dokumenta nosaukumu var iegūt ar izteiksmi $doc.name = Exercise12CustomClasses . 

Tags:
Created by Kalvis Apsītis on 2008-07-18 01:26
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation