PPA

Page 1


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

Datu saglabāšana/ labošana

Veiksmīgas darbības paziņojums

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)

status

smallint(5)

2

category_id

int(10)

NULL

cats

varchar(255) Jā

NULL

temp

tinyint(1)

NULL

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

gallery_id

int(10)

lang

varchar(2)

Vērtība pēc noklusējuma

Saite (tabula.lauks)

galleries.id

21


title

varchar(255)

slug

varchar(255)

description

text

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)

gallery_id

int(10)

status

varchar(2)

url

varchar(255)

primary

tinyint(1)

0

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

photo_id

int(10)

lang

varchar(2)

title

varchar(255)

slug

varchar(255)

alt_text

text

Vērtība pēc noklusējuma

Saite (tabula.lauks)

photos.id

NULL 22


description

text

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)

status

smallint(5)

author_id

int(10)

category_id

int(10)

NULL

cats

varchar(255) Jā

NULL

image

varchar(255) Nē

default.jpg

active_from

timestamp

NULL

active_till

timestamp

NULL

social

text

croned

tinyint(1)

0

cron_date

timestamp

NULL

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

news_id

int(10)

lang

varchar(2)

title

varchar(255)

slug

varchar(255)

short

text

full

text

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)

0000-00-00 00:00:00 24


updated_at

timestamp

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

0000-00-00 00:00:00

updated_at

timestamp

0000-00-00 00:00:00

Saite (tabula.lauks)

. 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)

premission_i d

int(10)

premissions.id

role_id

int(10)

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

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

email

varchar(160) Nē

password

varchar (60) Nē

name

varchar(255) Nē

role_id

int(10)

ban

tinyint(1)

0

ban_id

int(10)

NULL

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

0000-00-00 00:00:00

Saite (tabula.lauks)

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)

lang

varchar(2)

status

smallint(5)

target_id

int(10)

parent_id

int(10)

module

varchar(255) Nē

author

varchar(255) Nē

email

varchar(255) Nē

text

text

user_id

int(10)

ip

varchar(39) Nē

agent

varchar(255) Nē

checked

tinyint(1)

0

checked_at

timestamp

NULL

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

status

smallint(5)

title

varchar(255) Nē

question

varchar(255) Nē

answers

varchar(255) Nē

active_from

timestamp

NULL

active_till

timestamp

NULL

count

smallint(5)

2

type

smallint(5)

1

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

survey_id

int(10)

lang

varchar(2)

text

text

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

lang

varchar(2)

survey_id

int(10)

survey.id

answer_id

int(10)

answers.id

user_id

int(10)

ip

varchar(39) Nē

agent

varchar(413) Nē

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

2

category_id

int(10)

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

NULL

duration

int(11)

video_id

varchar(50) Nē

use_youtube_data

tinyint(1)

1

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

videogallery_id

int(10)

Vērtība pēc noklusējuma

Saite (tabula.lauks)

videogalleries.id 30


lang

varchar(2)

title

varchar(255)

slug

varchar(255)

author

varchar(255)

description

text

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)

status

smallint(5)

module

varachar(255 Nē )

parent

int(10)

0

pos

int(10)

NULL

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

category_id

int(10)

lang

varchar(2)

title

varchar(255)

slug

varchar(255)

description

text

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

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

0000-00-00 00:00:00

Saite (tabula.lauks)

. 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)

pos

int(10)

parent

int(10)

status

smallint(5)

url

varchar(255) Jā

NULL

action

varchar(255) Jā

NULL

params

varchar(255) Jā

NULL

created_at

timestamp

0000-00-00 00:00:00

updated_at

timestamp

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)

menu_id

int(10)

lang

varchar(2)

title

varchar(255 )

slug

varchar(255 )

Vērtība pēc noklusējuma

Saite (tabula.lauks)

menu.id

33


attr

varchar(255 )

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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.