2
3
4
Rēzeknes
Augstskola Inženieru fakultāte Datorzinātņu un matemātikas katedra
TĪMEKĻA SATURA VADĪBAS SISTĒMA GSAGENCY Programmatūras projektējuma apraksts
Autors
Igors Krasjukovs RA Inženieru fakultātes 5
2. līmeņa profesionālās augstākās izglītības bakalaura studiju programmas „Programmēšanas inženieris” pilna laika 4.kursa students, st. apliecības Nr. : ik10056
Rēzekne 2013
Saturs
1. Ievads 1.1. Nolūks Šis programmatūras projektējuma apraksts (PPA) ir izstrādāta un paredzēta tīmekļa satura vadības sistēmas (CMS) „GSAgency” projektējuma aprakstīšanai. Atbilstoši šim projektējumam tiks izstrādāta tīmekļa satura vadības sistēma.
1.2.
Darbības sfēra
Satura vadības sistēma „GSAgency” ir sistēma, kas ļauj veidot dinamiskas mājaslapas. Mājaslapas ir domāts izstrādāt ar „GSAgency” programmētāju palīdzību, pēc pasūtītāju vēlmēm. Rezultātā tiks iegūts ērts rīks, ar kura palīdzību būs iespēja lapas administratoram pārvaldīt mājas lapas saturu bez jebkādām zināšanām programmēšanā. Satura vadības sistēma sniegs neatkarību no mājas lapas izstrādātājiem un ļaus ietaupīt līdzekļus un komunikācijā patērēto laiku. 6
1.3.
Definīcijas un saīsinājumi
CMS – satura vadības sistēma. PPA – programmatūras projektējuma apraksts. Lietotājs – persona, vai personas, kas ienāk mājas lapā kā nereģistrēta persona. Administrators - persona, kas pārvalda informācijas sistēmu, veic datu ievadi, rediģēšanu un dzēšanu. Izstrādātājs – persona, vai personas, kas paplašina CMS funkcionalitāti. MVC – aplikāciju izstrādes arhitektūras modelis. HTML – (HiperText Markup Language) Hiperteksta iezīmēšanas valoda, kas izstrādāta tīmekļa lappušu un citas pārlūkprogrammā attēlojamas informācijas glabāšanai. PHP – atklātā pirmkoda skriptu valoda, kas paredzēta servera puses lietojumos dinamiska tīmekļa lapu ģenerēšanai. Modulis – sistēmas daļa, kas paredzēta kāda noteikta uzdevuma veikšanai. Funkcija – neliela programmas daļa, kas veic vienu noteiktu uzdevumu, vai izsauc citas funkcijas, lai veiktu noteiktu uzdevumu grupu. YouTube – video resursu datne (www.youtube.com). API – iepriekš definētu klašu, procedūru, funkciju, struktūru un konstanšu kopums, kas tiek pasniegts kā pielikums, kuru iespējams izmantot ārējiem programmatūras produktiem. Adaptīvais dizains – tīmekļa lappuses dizains, kas dažādi attēlo lappusi atkarībā no ierīces izmēriem.
1.4.
Saistība ar citiem dokumentiem
Dokumenta sastādīšanā izmantots standarts LVS 72:1996 „Ieteicamā prakse programmatūras projektējuma aprakstīšanai” un programmatūras prasību specifikācija „Tīmekļa satura vadības sistēma GSAgency”.
1.5. Tehnoloģijas apraksts Aplikācija tiks veidota divām pēdējām versijām tīmekļa pārlūkprogrammām: Interner Explorer, Google Chrome, Mozilla Firefox un Opera, kas ir uz 2013. gada decembri. Aplikācijas darbināšanai ir nepieciešams: •
Virtuālā mašīna: Linux OS 7
•
Serveris: Apache 2.2
•
Datu bāze: MySql 5.6
•
Valodas: PHP, Javascript
•
Ietvari: Laravel 4.1(PHP), JQuery 2.0.x(Javascript)
•
Stili: HTML, CSS
Šo vidi izvēlējās pasūtītāj, jo kā galvenais šīs aplikācijas lietotājs un administrators būs pats pasūtītājs. Laravel ietvars arī tiek izmantots pēc pasūtītāja vēlmes, jo tas esot galvenais rīks ar kuru tiek veidotas internet aplikācijas, un ar kuru visi kompānijas darbinieki ir pazīstami un spēj ar to darboties. Internet vidē ir atrodamas CMS, kas veidotas ar Laravel ietvara palīdzību, bet neviena no tām nav spējīga darboties ar Laravel 4.x versijām vai darboties vairākās valodās, kas ir viena no galvenajiem pasūtītāja prasībām. Aplikācija interfeiss un datu bāzes struktūra tiks izstrādāta tā, lai to varētu izmantot trijās valodās – latviešu, angļu un krievu, bet ar iespēju paplašināt valodu daudzumu, papildinot aplikācijas tulkojamos failus, kas atrodas app/lang katalogā.
2. Dekompozīcijas apraksts 2.1. Moduļu dekompozīcija • Galerija -
Nolūks: Nodrošināt administratora darbību ar galerijām.
-
Funkcijas: Galerijas pievienošana, labošana, dzēšana, statusa maiņa, attēla augšuplāde uz servera datni, dzēšana no datnes, attēla apraksta veidošana un labošana. • Jaunumi
-
Nolūks: Nodrošināt administratora darbību ar jaunumiem.
-
Funkcijas: Jaunuma pievienošana, labošana, dzēšana, statusa maiņa un importēšana uz sociālajiem tīkliem. • Lietotāji
-
Nolūks: Nodrošināt administratora darbību ar lietotājiem.
-
Funkcijas: Atļauju pievienošana, labošana, dzēšana, lietotāju grupu pievienošana, labošana, dzēšana, lietotāju pievienošana, labošana, bloķēšana un dzēšana. • Komentāri 8
-
Nolūks: Nodrošināt administratora darbību ar komentāriem.
-
Funkcijas: Komentāru labošana un dzēšana. • Aptauja
-
Nolūks: Nodrošināt administratora darbību ar aptaujām.
-
Funkcijas: Aptauju veidošana, labošana, dzēšana un rezultātu grafiska attēlošana. • Video galerija
-
Nolūks: Nodrošināt administratora darbību ar video galerijām.
-
Funkcijas: Video resursu pievienošana no YouTube, tā informācijas pievienošana un labošana. • Kategorija
-
Nolūks: Nodrošināt administratora darbību ar kategorijām.
-
Funkcijas: Kategorijas pievienošana, labošana un dzēšana galerijas, jaunumu un video galerijas moduļiem. • Parametri
-
Nolūks: Nodrošināt administratora darbību ar parametriem, kas var mainīt aplikācijas darbības veidu vai izskatu.
-
Funkcijas: Parametra labošana. • Navigācija
-
Nolūks: Nodrošināt administratora darbību ar lietotāja navigāciju.
-
Funkcijas: Navigācijas elementa veidošana, labošana, dzēšana un statusa maiņa.
2.2.
Vienlaicīgo procesu dekompozīcija
Sistēmas ātrdarbības palielināšanai tiek izmantots darba sesijas process, kas izmanto PHP sesijas mehānismu lai glabātu bieži izmantojamo informāciju (bez nepieciešamības to atkārtoti ielādēt no datu bāzes).
2.3.
Datu dekompozīcija
Dati, ar kuriem strādā šī aplikācija atrodas datu bāzes tabulās. Tiks izveidotas 22 tabulas: 9
Tabula
Apraksts
galleries
Dati par galerijām
gallery_lang
Dati par galeriju tulkojumiem
photos
Dati par attēliem
photo_lang
Dati par attēlu tulkojumiem
categories
Dati par kategorijām
category_lang
Dati par kategoriju tulkojumiem
news
Dati par jaunumiem
news_lang
Dati par jaunumu tulkojumiem
permissions
Dati par atļaujām
role_permissions
Dati par atļauju noteikumiem
roles
Dati par noteikumiem
users
Dati par lietotājiem
comments
Dati par komentāriem
bans
Dati par lietotāju bloķēšanas iemesliem
users_answers
Dati par lietotāju atbildēm
answers
Dati par atbildēm
survey
Dati par aptaujām
videogalleries
Dati par video galerijām
videogallery_lang
Dati par video galeriju tulkojumiem
options
Dati par parametriem
menu
Dati par navigāciju
menu_lang . Tabula: datu bāzes tabulas
Sīkāk šīs datu bāzes tabulas tiek aprakstīta šī dokumenta 5.2.2. un 5.2.3. nodaļās.
10
3. Atkarības apraksts 3.1. Starpmoduļu atkarības •
Galerijas -
•
Jaunumi -
•
Atkarīga no lietotāja atļaujām un galerijas, video galerijas, vai jaunuma piederības.
Parametri -
•
Atkarīgi no uzstādītajiem parametriem un lietotāja atļaujām
Kategorija -
•
Atkarīgi no lietotāja atļaujām
Video galerija -
•
Atkarīgs no lietotāja atļaujām un galerijas, video galerijas, vai jaunuma piederības.
Aptauja -
•
Neatkarīgs modulis
Komentāri -
•
Atkarīgi no uzstādītajiem parametriem un lietotāja atļaujām
Lietotāji -
•
Atkarīgas no uzstādītajiem parametriem un lietotāja atļaujām
Neatkarīgs modulis
Navigācija -
Atkarīgas no uzstādītajiem parametriem, lietotāja atļaujām un galerijas, video galerijas un jaunumu piederības.
Grafisks starpmoduļu atkarību attēlojums:
11
Komentāri
Galerija
Navigāvija
Jaunumi
Kategorija
Video galerija
Parametri
Aptauja
Lietotāji
. Attēls: Moduļu atkarības
3.2.
Starpprocesu atkarības
Aplikācijas tiks izmantots MVC arhitektūras modelis, kas īsteno „biznesa loģikas” nodalīšanu no ievades un prezentācijas loģikas, kas saistīts ar grafisko lietotāja interfeisu. Sistēmas „biznesa loģika” sastāvēs no datu moduļiem un kontrolieriem, bet grafiskie lietotāju interfeisi, no vienkāršām HTML lapām. GSAgency CMS MVC modelis sevī ietvers trīs komponentes: •
Modelis – Eloquent ORM objekts, kas reprezentē tabulu no datu bāzes.
•
Skats – HTML lapa, kas reprezentē grafisko lietotāja interfeisu.
•
Kontrolieris – PHP klase, kas reprezentējas kā sasaiste starp skatu un modeli.
Darbojoties ar aplikāciju, interneta pārlūkprogramma suta pieprasījumu, kas tiek saņemts ar tīmekļa serveri un tiks novirzīts uz maršrutēšanas modeli. Maršrutēšanas modelis, saņemot pieprasījumu, novirza tā datus uz kontroliera klases metodi. Visas pārējās darbības kontrolē kontrolieris. Nepieciešamības gadījumos kontrolieris nekavējoties sagatavo skatu un nosuta to atpakaļ uz pārlūkprogrammu. Citos gadījumos, tas mijiedarbojas ar modeli un saņemot datus no tā, sagatavo skatu ar iegūto informāciju un atgriež pilnu HTML lapu atpakaļ uz lietotāja pārlūkprogrammu.
12
Lietotāja pieprasījums pārlūkprogrammā
Pieprasījums
Maršrutētājs
Novirze
Skata reprezentēšana Skats
Skata sagatavošana
Kontrolieris
Mijiedarbība Datu bāze
Mijiedarbība
Modelis
. Attēls: Datu modeļa struktūra
3.3.
Datu atkarības
Visi dati, kas tiek apstrādāti ar šīs sistēmas palīdzību, tiek glabāti datu bāzes tabulās, kas tiek aprakstīta šī dokumenta 5.2.2. un 5.2.3. nodaļās, kur ir attēlotas datu relāciju shēmas.
13
4. Saskarnes apraksts 4.1. Moduļu saskarne Katram modulim tiek izmantotas vairākas saskarnes, lai realizētu tās maksimālu funkcionalitāti ar minimālu ekrāna darba virsmas aizņemšanu, tiek izmantots adaptīvais dizains ko sniedz pasūtītājs. Adaptīvais dizains tiks realizēts ar „Light Blue v1.6” palīdzību. Visas administratora saskarnes tiks realizētas ar šī dizaina palīdzību.
. Attēls: Light Blue v1.6
4.1.1. Galerijas saskarnes Galerijas veidošana: •
Nosaukums – vienkārši teksta lauki vairākām sistēmas valodām
•
Apraksts – teksta lauki ar modificējamu satura izskatu vairākām sistēmas valodām
•
Kategorijas – iepriekš definētu kategoriju izvēlne, ar iespēju izvēlēties vairākus variantus.
•
Galvenā kategorija – izvēlēto kategoriju izvēlne ar iespēju izvēlēties vienu no tām
•
Status – izvēlne ar iespējamajiem statusiem
•
Attēlu pievienošana – poga, kas ļauj pievienot vairākus failus un no tiem veido pievienoto failu sarakstu: -
Nosaukums – vienkāršs teksta lauks
-
Statuss – izvēlnes rūtiņa
-
Galvenās bildes apzīmējums – izvēlnes rūtiņa 14
•
-
Sākt augšuplādi – poga, kas augšuplādē attēlu un pievieno to augšuplādēto failu sarakstam
-
Atcelt – poga, kas izdzēš failu no pievienoto failu saraksta
Sākt augšuplādi – poga, kas augšuplādē visus pievienotos failus un pievieno tos augšuplādēto failu sarakstam: -
Fails – saite uz faila apraksta saskarni:
Nosaukums – vienkārši teksta lauki vairākām sistēmas valodām
Apraksts – teksta lauki ar modificējamu satura izskatu vairākām sistēmas valodām
Saglabāt – datu saglabāšanas poga
•
Atcelt augšuplādi – poga, kas izdzēš visus failus no pievienoto failu saraksta
•
Saglabāt – datu saglabāšanas poga
Galerijas labošana: Šī saskarne sevī ietver visus tos pašus saskarnes laukus ko satur galerijas veidošanas saskarne ar nelielām izmaiņām: •
Visi lauki aizpildīti ar iepriekš definētām vērtībām
•
Saglabāt poga aizvietota ar Labošanas pogu – datu labošanas poga
Galeriju saraksts: •
•
Tabulārs saraksts ar saitēm uz: -
Galerijas labošanas saskarni
-
Galerijas dzēšanu
Saite uz jaunas galerijas veidošanas saskarni
Visu pārējo moduļu saskarņu veidošanas principiem izmatot iepriekš aprakstīto galerijas moduļa saskarnes.
4.2.
Procesu saskarne
Moduļu procesu datu plūsmas diagramma:
15
Pieprasījums
Datu ievade
Dati ir korekti?
Objekta dati
Kļūdas ziņojumi
Jā
Datu saglabāšana/ labošana
Veiksmīgas darbības paziņojums
Nē
Kļūdas ziņojuma/u veidošana
. Attēls: Procesu saskarne
5. Detalizēts projektējums 5.1. Direktoriju struktūra
Server
app
commands
bootstrap
config
public
admin-template
co ntrollers
Admin
vendor
ckeditor
database
js
lang
lv
migrations
packages
libs
ru
category
en
gallery
seeds
uploads
news
models
user-template
gallery
start
layouts
ckeditor
storage
news
tests
videogallery
views
admin
settings
user
commen t
menu
survey
. Attēls: Katalogu struktūra
Direktoriju apraksts: 16
•
app – satur kontrolierus, modeļus, skatus un citus resursus lietotāju pieprasījumiem. Tas ir, lielākā daļa aplikācijas koda atrodas šajā direktorijā. -
config – satur sevī Laravel konfigurējamos failus, kas nepieciešami ietvara darbībām: sesijai, datu bāzei un citiem.
-
Controllers – satur sevī lietitāja kontrolierus un Admin katalogu, kas sevī ietver administratora kontrolierus.
-
Database – satur sevī migrations katalogu, kurā atrodas PHP klases, kuras ļauj atjaunot datu bāzes struktūru un seeds katalogu, kurā atrodas PHP klases, kuras ļauj datu bāzē saglabāt kādu pamatinformāciju.
-
Lang – satur sevī katalogus, kuros atrodas masīvu faili ar aplikācijai nepieciešamajiem tulkojumiem.
-
Models – satur sevī klases, kas ļauj iegūt informāciju no datu bāzes. Visbiežāk, katra modeļa klase, atbild par vienu tabulu datu bāzē.
-
Start – satur pielāgotus iestatījumus, kas saistīti ar Artisan aplikāciju.
-
Storage – šis katalogs tiek izmantots pagaidu failu glabāšanai, visbiežāk tie ir sesijas faili, kešs vai kompilēti skati.
-
Tests – satur testēšanai nepieciešamos failus.
-
Views – satur sevī lietotājam nepieciešamos skatus, kā arī Admin katalogu, kas sevī ietver katra aplikācijas moduļa katalogu ar tam nepieciešamajiem administratora paneļa skatiem.
•
public – tas ir katalogs, uz kuru serverim ir jānorāda. Tas satur sākotnējo failu undex.php, kas palaiž visus nepieciešamos Laravel kodolam. Šis katalogs var saturēt sevī augšuolādējamos failus, CSS un JavaScript failus, kas nepieciešami aplikācijas darbībai.
•
vendor – vieta, kur tiek glabāti trešo personu atvērtie kodi. Tipiski, tas satur Laravel pirmkodu un atkarības, spraudņus, kas satur papildus funkcionalitāti.
5.2.
Moduļu detalizēts projektējums
Šīs aplikācijas modeļu projektējumā tiks aprakstīts galerijas modulis. Pārējie modeļi tiek veidoti uz līdzīga principa.
5.2.1. Kontrolieris Galerija uzsāk savu dzīvesciklu, kad tiek uzsākta galerijas veidošana. Sākumā tiek izveidots galerijas ieraksts datu bāzē ar aktivētu pagaidu parametra enkuru, kas apliecina ka galerijai nav nekādu datu, bet dod iespēju pievienot tai attēlus, jo eksistē tās pagaidu eksemplārs. 17
Izveidot
Pagaidu galerija + Pievienotie attēli + Augšuplādētie attēli
Attēlu pievienošana Attēlu augšuplāde
Apraksta pievienošana[apraksts ir korekts]
Galerija Aizvērt
+ Pievienotie attēli + Augšuplādētie attēli Deaktivizēt
Attēlu pievienošana Attēlu augšuplāde
Aktivizēt
Neaktīva galerija
Aizvērt
+ Pievienotie attēli + Augšuplādētie attēli
Attēlu pievienošana Attēlu augšuplāde
. Attēls: Galerijas stāvokļu diagramma
Galerijas moduļa realizācijas nepieciešamās kontroliera funkcijas: Metode
Apraksts
Parametri
getCreate
Prasības -
Darbības
Datu bāzē nav pagaidu ierakstu.
Izveidot sarakstu.
pagaidu
Datu bāzē ir kategoriju ieraksts.
Izvadīt saskarni.
veidošanas
postCreate
Ievaddati.
Ievaddati ir korekti.
Saglabāt ievadddatus.
getList
Kārtības identifikators.
Eksistē kārtības identifikators.
Izvadīt galeriju saraksta saskarni.
Kārtības tips.
Kārtības korekts.
getEdit
Galerijas identifikators.
Eksistē galerija parametra identifikatoru.
ar
Izvadīt saskarni.
postEdit
Galerijas identifikators.
Eksistē galerija parametra identifikatoru.
ar
Saglabāt ievadddatus.
ar
Izdzēst galeriju.
Ievaddati.
tips
ir labošanas
Ievaddati ir korekti. getDestroy
Galerijas
Eksistē
galerija
18
anyCategory
identifikators.
parametra identifikatoru.
Darbība.
Darbība eksistē.
Elements.
Eksistē galerija ar parametra elementu, kā galerijas identifikātors.
Kārtības identifikators. Kārtības tips.
Eksistē kārtības identifikators. Kārtības korekts.
getPhoto
postPhoto
Darbības izpilde.
tips
ir
Galerijas identifikators.
Eksistē galerija ar šādu identifikatoru.
Attēla identifikators.
Eksistē attēls ar šādu identifikatoru.
Galerijas identifikators.
Eksistē galerija ar šādu identifikatoru.
Attēla identifikators.
Eksistē attēls ar šādu identifikatoru.
Izvadīt attēla apraksta labošanas saskarni.
Saglabāt attēla aprakstu.
. Tabula: Galerijas metodes
5.2.2. Modelis Pēc Laravel modeļu uzbūves, katrai tabulai, kas eksistē datu bāzē ir jābūt savam atsevišķam modelim. Tādēļ galerijas modelim ir nepieciešami šādi modeļi: •
Gallery – galleries tabulai datu bāzē:
Metode
Apraksts
validate
Pārbaudīt, vai ievadītie dati ir korekti
scopeActive
Pieprasījuma parametrs, kas atgriež aktīvos ierakstus
scopeTemp
Pieprasījuma parametrs, kas atgriež ierakstu ar pagaidu enkuru
trans
Saite uz tulkojumu modeli
photos
Saite uz attēlu modeli
input
Jaunas galerijas ieraksta izveide datu bāzē
inputEdit
Datu bāzes ieraksta labošana 19
•
GalleryLang – gallery_lang tabulai datu bāzē:
Metode
Darbība
validate
Pārbaudīt, vai ievadītie dati ir korekti
gallery
Saite uz galerijas modeli
setTitleAttribute
Tabulas ieraksta laikā slug, ierakstīt vērtību title bez speciālajiem simboliem
input
Jaunu galerijas tulkojumu ierakstu izveide datu bāzē
inputEdit
Datu bāzes ierakstu labošana
•
Photo – photos tabulai datu bāzē.
•
PhotoLang – photo_lang tabulai datu bāzē.
5.2.3. Skats Skats ir vieta, kur pieprasītie dati no modeļa tiek izvadīti ar HTML koda palīdzību. Stilu veidošanas principam ir jāatbilst „Light Blue v1.6” dokumentācijai.
5.3.
Datu detalizēts projektējums 5.3.1. Datu modelis
GSAgency CMS tiks sadalīts moduļos: • Galerija • Jaunumi • Lietotāji • Komentāri • Aptauja • Video galerija • Kategorija 20
• Parametri • Navigācija
5.3.2. Datu modeļu iedalījumi 5.3.2.1. Galerija 5.3.2.1.1.
Relāciju shēma
. Attēls: Galerijas struktūra
5.3.2.1.2.
5.3.2.1.2.1.
Tabulu apraksts
galleries
Šī tabula sevī ietver informāciju par galerijām, kas sevī ietver informāciju par galerijas statusu, piederību kategorijām un tās izveidošanas un modifikācijas datumiem. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
Nē
status
smallint(5)
Jā
2
category_id
int(10)
Jā
NULL
cats
varchar(255) Jā
NULL
temp
tinyint(1)
Jā
NULL
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
categories.id
. Tabula: Galerijas tabulas struktūra
5.3.2.1.2.2.
gallery_lang
Šī tabula sevī ietver informāciju par galerijas laukiem, kas var būt vairākās valodās, kur valodu identificē lauks lang. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
id
int(10)
Nē
gallery_id
int(10)
Nē
lang
varchar(2)
Nē
Vērtība pēc noklusējuma
Saite (tabula.lauks)
galleries.id
21
title
varchar(255)
Nē
slug
varchar(255)
Nē
description
text
Jā
NULL
. Tabula: Galerijas tulkojumu tabulas struktūra
5.3.2.1.2.3.
photos
Šī tabula sevī ietver informāciju par fotoattēliem, kas sevī ietver informāciju par attēla statusu, piederību galerijai un tās izveidošanas un modifikācijas datumiem. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
Nē
gallery_id
int(10)
Nē
status
varchar(2)
Nē
url
varchar(255)
Nē
primary
tinyint(1)
Nē
0
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
galleries.id 1
. Tabula: Galerijas attēlu tabulas struktūra
5.3.2.1.2.4.
photo_lang
Šī tabula sevī ietver informāciju par attēla laukiem, kas var būt vairākās valodās, kur valodu identificē lauks lang. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
id
int(10)
Nē
photo_id
int(10)
Nē
lang
varchar(2)
Nē
title
varchar(255)
Nē
slug
varchar(255)
Nē
alt_text
text
Jā
Vērtība pēc noklusējuma
Saite (tabula.lauks)
photos.id
NULL 22
description
text
Jā
NULL
. Tabula: Galerijas attēlu tulkojumu tabulas struktūra
5.3.2.2. 5.3.2.2.1.
Jaunumi Relāciju shēma
.Attēls: Jaunumu struktūra
5.3.2.2.2.
5.3.2.2.2.1.
Tabulu apraksts
news
Šī tabula sevī ietver informāciju par jaunumiem, kas sevī ietver informāciju par jaunuma statusu, piederību kategorijām, autora identifikācijas numuru, attēlu un tās izveidošanas un modifikācijas datumiem. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
Nē
status
smallint(5)
Jā
author_id
int(10)
Nē
category_id
int(10)
Jā
NULL
cats
varchar(255) Jā
NULL
image
varchar(255) Nē
default.jpg
active_from
timestamp
Jā
NULL
active_till
timestamp
Jā
NULL
social
text
Nē
croned
tinyint(1)
Nē
0
cron_date
timestamp
Jā
NULL
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
2 users.id categories.id
. Tabula: Jaunumu tabulas struktūra
23
5.3.2.2.2.2.
news_lang
Šī tabula sevī ietver informāciju par jaunuma laukiem, kas var būt vairākās valodās, kur valodu identificē lauks lang. Kolonnas nosaukums
Atļaut tukšu vērtību
Tips
id
int(10)
Nē
news_id
int(10)
Nē
lang
varchar(2)
Nē
title
varchar(255)
Nē
slug
varchar(255)
Nē
short
text
Jā
full
text
Nē
Vērtība pēc noklusējuma
Saite (tabula.lauks)
news.id
NULL
. Tabula: Jaunumu tulkojumu tabulas struktūra
5.3.2.3. 5.3.2.3.1.
Lietotāji Relāciju shēma
. Attēls: Lietotāju struktūra
5.3.2.3.2.
5.3.2.3.2.1.
Tabulu apraksts
premissions
Šī tabula sevī ietver informāciju par lietotāju atļaujām, kas sevī ietver informāciju par kontrolieriem, to metodēm un tās izveidošanas un modifikācijas datumiem. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
id
int(10)
controller
varchar(255) Nē
method
varchar(255) Nē
created_at
timestamp
Vērtība pēc noklusējuma
Saite (tabula.lauks)
Nē
Nē
0000-00-00 00:00:00 24
updated_at
timestamp
Nē
0000-00-00 00:00:00
. Tabula: Lietotāju atļauju tabulas struktūra
5.3.2.3.2.2.
roles
Šī tabula sevī ietver informāciju par noteikumiem, kas var būt kādam konkrētam lietotājam. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
title
varchar(255) Nē
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
Nē
. Tabula: Lietotāju noteikumu tabulas struktūra
5.3.2.3.2.3.
role_premision
Šī tabula ir starptabula starp roles un premissions, kas ļauj sasaistīt vairākus role laukus ar vairākiem premissions un otrādi. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
Saite (tabula.lauks)
id
int(10)
Nē
premission_i d
int(10)
Nē
premissions.id
role_id
int(10)
Nē
roles.id
. Tabula: Lietotāju noteikumu un atļauju sasaistes tabulas struktūra
5.3.2.3.2.4.
bans
Šī tabula sevī ietver informāciju par lietotāju bloķēšanas iemesliem. Kolonnas nosaukums id
Tips int(10)
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
Saite (tabula.lauks)
Nē 25
title
varchar(160) Nē
text
text
Nē
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
. Tabula: Lietotāju bloķēšanas iemeslu tabulas struktūra
5.3.2.3.2.5.
users
Šī tabula sevī ietver informāciju par lietotājiem, kas sevī ietver informāciju par e-pasta adresi, paroli, vārdu un tā izveidošanas un modifikācijas datumiem. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
varchar(160) Nē
password
varchar (60) Nē
name
varchar(255) Nē
role_id
int(10)
Nē
ban
tinyint(1)
Nē
0
ban_id
int(10)
Jā
NULL
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
Nē
user roles.id
bans.id
. Tabula: Lietotāju tabulas struktūra
5.3.2.4.
Komentāri
5.3.2.4.1.
Relāciju shēma
. Attēls: Komentāru struktūra
26
5.3.2.4.2.
5.3.2.4.2.1.
Tabulu apraksts
comments
Šī tabula sevī ietver informāciju par lietotāju atstātajiem komentāriem. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
Nē
lang
varchar(2)
Nē
status
smallint(5)
Nē
target_id
int(10)
Nē
parent_id
int(10)
Nē
module
varchar(255) Nē
author
varchar(255) Nē
varchar(255) Nē
text
text
Nē
user_id
int(10)
Jā
ip
varchar(39) Nē
agent
varchar(255) Nē
checked
tinyint(1)
Nē
0
checked_at
timestamp
Jā
NULL
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
1
0
NULL
users.id
. Tabula: Komentāru tabulas struktūra
5.3.2.5. 5.3.2.5.1.
Aptauja Relāciju shēma
. Attēls: Aptauju struktūra
27
5.3.2.5.2.
5.3.2.5.2.1.
Tabulu apraksts
survey
Šī tabula sevī ietver informāciju par lietotāju aptaujām. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
Nē
status
smallint(5)
Nē
title
varchar(255) Nē
question
varchar(255) Nē
answers
varchar(255) Nē
active_from
timestamp
Jā
NULL
active_till
timestamp
Jā
NULL
count
smallint(5)
Nē
2
type
smallint(5)
Nē
1
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
1
. Tabula: Aptauju tabulas struktūra
5.3.2.5.2.2.
answers
Šī tabula sevī ietver informāciju par lietotāju aptaujas atbilžu variantiem. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
Nē
survey_id
int(10)
Nē
lang
varchar(2)
Nē
text
text
Nē
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
survey.id
28
. Tabula: Aptauju atbilžu tabulas struktūra
5.3.2.5.2.3.
users_answers
Šī tabula sevī ietver informāciju par lietotāju atbildēm uz aptaujām. Kolonnas nosaukums
Atļaut tukšu vērtību
Tips
Vērtība pēc noklusējuma
Saite (tabula.lauks)
id
int(10)
Nē
lang
varchar(2)
Nē
survey_id
int(10)
Nē
survey.id
answer_id
int(10)
Nē
answers.id
user_id
int(10)
Jā
ip
varchar(39) Nē
agent
varchar(413) Nē
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
NULL
users.id
. Tabula: Lietotāju atbilžu tabulas struktūra
5.3.2.6. 5.3.2.6.1.
Video galerija Relāciju shēma
. Attēls: Video galerijas struktūra
5.3.2.6.2.
5.3.2.6.2.1.
Tabulu apraksts
videogalleries
Šī tabula sevī ietver informāciju par video galerijām, kas sevī ietver informāciju par galerijas statusu, piederību kategorijām un tās izveidošanas un modifikācijas datumiem. Kolonnas nosaukums id
Tips int(10)
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
Saite (tabula.lauks)
Nē 29
status
smallint(5)
Jā
2
category_id
int(10)
Jā
NULL
cats
varchar(255 Jā )
NULL
thumbnail_small
varchar(255 Jā )
thumbnail_mediu m
varchar(255 Nē )
thumbnail_large
varchar(255 Nē )
title
varchar(255 Jā )
NULL
slug
varchar(255 Jā )
NULL
author
varchar(255 Jā )
NULL
description
text
Jā
NULL
duration
int(11)
Nē
video_id
varchar(50) Nē
use_youtube_data
tinyint(1)
Nē
1
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
categories.id
. Tabula: Video galerijas tabulas struktūra
5.3.2.6.2.2.
videogallery_lang
Šī tabula sevī ietver informāciju par video galerijas laukiem, kas var būt vairākās valodās, kur valodu identificē lauks lang. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
id
int(10)
Nē
videogallery_id
int(10)
Nē
Vērtība pēc noklusējuma
Saite (tabula.lauks)
videogalleries.id 30
lang
varchar(2)
Nē
title
varchar(255)
Nē
slug
varchar(255)
Nē
author
varchar(255)
Nē
description
text
Jā
NULL
. Tabula: Video galerijas tulkojumu tabulas struktūra
5.3.2.7.
Kategorija
5.3.2.7.1.
Relāciju shēma
. Attēls: Kategoriju struktūra
5.3.2.7.2.
5.3.2.7.2.1.
Tabulu apraksts
categories
Šī tabula sevī ietver informāciju par kategorijām. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
Nē
status
smallint(5)
Jā
module
varachar(255 Nē )
parent
int(10)
Nē
0
pos
int(10)
Jā
NULL
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
1
. Tabula: Kategoriju tabulas struktūra
5.3.2.7.2.2.
category_lang
Šī tabula sevī ietver informāciju par kategoriju laukiem, kas var būt vairākās valodās, kur valodu identificē lauks lang. 31
Kolonnas nosaukums
Atļaut tukšu vērtību
Tips
id
int(10)
Nē
category_id
int(10)
Nē
lang
varchar(2)
Nē
title
varchar(255)
Nē
slug
varchar(255)
Nē
description
text
Jā
Vērtība pēc noklusējuma
Saite (tabula.lauks)
categories.id
NULL
. Tabula: Kategoriju tulkojumu tabulas struktūra
5.3.2.8.
Parametri
5.3.2.8.1.
Relāciju shēma
. Attēls: Parametru struktūra
5.3.2.8.2.
5.3.2.8.2.1.
Tabulu apraksts
options
Šī tabula sevī ietver informāciju par parametriem. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
name
varchar(255) Nē
value
longtext
Nē
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
Nē
. Tabula: Parametru tabulas struktūra
5.3.2.9.
Navigācija
5.3.2.9.1.
Relāciju shēma 32
. Attēls: Navigācijas struktūra
5.3.2.9.2.
5.3.2.9.2.1.
Tabulu apraksts
menu
Šī tabula sevī ietver informāciju par navigācijas elementiem. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
Vērtība pēc noklusējuma
id
int(10)
Nē
pos
int(10)
Jā
parent
int(10)
Nē
status
smallint(5)
Nē
url
varchar(255) Jā
NULL
action
varchar(255) Jā
NULL
params
varchar(255) Jā
NULL
created_at
timestamp
Nē
0000-00-00 00:00:00
updated_at
timestamp
Nē
0000-00-00 00:00:00
Saite (tabula.lauks)
NULL
1
. Tabula: Navigācijas tabulas struktūra
5.3.2.9.2.2.
menu_lang
Šī tabula sevī ietver informāciju par navigācijas laukiem, kas var būt vairākās valodās, kur valodu identificē lauks lang. Kolonnas nosaukums
Tips
Atļaut tukšu vērtību
id
int(10)
Nē
menu_id
int(10)
Nē
lang
varchar(2)
Nē
title
varchar(255 )
Nē
slug
varchar(255 )
Nē
Vērtība pēc noklusējuma
Saite (tabula.lauks)
menu.id
33
attr
varchar(255 )
Jā
NULL
. Tabula: Navigācijas tulkojumu tabulas struktūra
5.3.3. Datu bāze Apvienojot visus moduļus un to relācijas savā starpā, veidojas šāda datu bāze relāciju struktūra:
. Attēls: Datu bāzes struktūra
34