Jump to content
php.lv forumi

nepieciešamas idejas kā glabāt informāciju datubāzē konkrētai situācij


coderpp

Recommended Posts

Jāizveido sistēma, ar vairāk lietotāju piekļuvi. Vieni var rediģēt saturu, bet tas neparādās publiski. Tad ir augstākstāvoši lietotāji, kuri šīs izmaiņas apskatot/piekoriģējot var tās publicēt lapā.

 

Kā pareizi veidot datubāzi šadai sistēmai?

 

Vienkāršākais laikam taisīt divas vienādas tabulas, ar dažādiem nosaukumiem. Viena priekš rediģēšanas, otra tikai gatava materiāla glabāšanai priekš publiskās lapas. Vai šāds varinats ir normāls? Vai arī ir kādi labāki risinājumi šādai situācijai.

Edited by coderpp
Link to comment
Share on other sites

Vienkāršākais laikam taisīt divas vienādas tabulas, ar dažādiem nosaukumiem. Viena priekš rediģēšanas, otra tikai gatava materiāla glabāšanai priekš publiskās lapas. Vai šāds varinats ir normāls?

Nee, shads varjants ir Nenormals!!!

Vai smadzenju nav???

kapec neizveidot papildus lauku, kur noraadi Public/redige/archive ?

Link to comment
Share on other sites

Neuztraucies, man ar smadzenēm viss kārtībā.

 

Es jau ar par tādu variantu esmu iedomājies. Bet ar ko tad īsti atšķirsies?

 

Pirmajā gadījumā 2 tabulas, Otrajā viena tabula, bet informācija 2x vienā tabulā. Ideja ir tāda. Pimēram ir sadaļa noteikumi, kura jau ir publicēta, bet sistēmā to ir iespējams rediģēt, bet izmaiņas nedrīkst uzreiz parādīties publiski. Tās vispirms apskatīs un tad pārbulicēs augstākstāvoš lietotājs. Tātad šajā situācijā jebkurā gadījumā visam saturam jābūt divās kopijās, viena publiskā, kuri redz lapas apmeklētāji, otra ar kuru var strādāt cms lietotāji.

 

Cik saprotu tad divas tabulas ar viena veida struktūru nav labi veidot. Bet tas ļautu glabāt atsevišķi publisko informāciju.

 

Mani interesē, kādi varianti vēl varētu būt šādai situācijai.

Link to comment
Share on other sites

Ideja ir tāda. Pimēram ir sadaļa noteikumi, kura jau ir publicēta, bet sistēmā to ir iespējams rediģēt, bet izmaiņas nedrīkst uzreiz parādīties publiski. Tās vispirms apskatīs un tad pārbulicēs augstākstāvoš lietotājs. Tātad šajā situācijā jebkurā gadījumā visam saturam jābūt divās kopijās, viena publiskā, kuri redz lapas apmeklētāji, otra ar kuru var strādāt cms lietotāji.

Tas ir kaa?

Izdodam aviizi plkst.8:00 pec tam pazinjojam ka taa bija testa versija?

Nevajag njemt piemeru no LR valdiibas :(

Ja, kautkas ir publicets internetaa -> skaiti ka arii Google jau var paspet savakt kopiju ...

--

DB -> tapec ir Datu baze, ka to izmanto normalu datu glabasanai, nevis TEMP datu varjantam ...

---

Tavaa gadijumaa uzdevums protams ir debiils, bet nu bez 2 tabulam neiztikt ...

Izveido otru identisku tabulu.. tik Ljoti japeseko buus liidzi par ID ..

respektiivi ljauj pirmajai tabulai generet too ID ,autoincrament, bet otrai vien laukam uzliec Unikalo vertiibu

tas ljaus vinjas daudzmaz sasinhronizeet...

EDIT:

Ja tāda ir situācija, tad varētu rakstus glabāt vienā tabulā. Tabulas kolonnas: publiskais teksts, nepubliskais teksts, raksta statuss..

un kaa parmetiisi tas kollonas?

Edited by Grey_Wolf
Link to comment
Share on other sites

Piem, tev būs scenārijs -

 

tiek pievienots raksts, nav redzams publikai. Tad admin apstiprina, un tad kļūst redzams visiem. ..bet tad tiek veiktas izmaiņas - vecā raksta versija joprojām ir redzama visiem, bet jaunās izmaiņas vēl nav apstiprinātas. Kad jaunās izmaiņas apstiprina, tad vecais raksts tiek aizstāts ar jauno?

 

 

EDIT:

 

Manuprāt, nevajag divas identiskas tabulas. Var otru tabulu, kam būt tie paši lauki, kas mainās - virsraksts, teksts, un publiskā raksta ID (pēc kura nosakam, ka šis raksts ir DRAFTS orģinālajam). Tad kad admins šo apstiprina, tad publisko rakstu tabulas lauku vērtības tiek aizstātas ar šī drafta lauku vērtībām.

Šitā imo arī varētu konktrolēt raksta versijas. Pie katras saglabāšanas pievienojas jauns ieraksts, un var izvēlēties, kuru uzstādīt kā publisko...

Edited by briedis
Link to comment
Share on other sites

Ja tāda ir situācija, tad varētu rakstus glabāt vienā tabulā. Tabulas kolonnas: publiskais teksts, nepubliskais teksts, raksta statuss..

 

Paldies, tik tālu nebiju aizdomājies. Domāju ka šis būs labākais variants. Būs arī vieglāk parādīt atbilstošajam lietotājam vai izmaiņas ir veiktas.

Link to comment
Share on other sites

Paldies, tik tālu nebiju aizdomājies. Domāju ka šis būs labākais variants. Būs arī vieglāk parādīt atbilstošajam lietotājam vai izmaiņas ir veiktas.

nepareizi ...

Buus gruutak uztaisiit lai raadas PAREIZAIS varjants...

--

Link to comment
Share on other sites

Piem, tev būs scenārijs -

 

tiek pievienots raksts, nav redzams publikai. Tad admin apstiprina, un tad kļūst redzams visiem. ..bet tad tiek veiktas izmaiņas - vecā raksta versija joprojām ir redzama visiem, bet jaunās izmaiņas vēl nav apstiprinātas. Kad jaunās izmaiņas apstiprina, tad vecais raksts tiek aizstāts ar jauno?

 

Jā tieši tāda arī ir tā prasība un man nekas cits neatliek kā to darīt.

Link to comment
Share on other sites

nepareizi ...

Buus gruutak uztaisiit lai raadas PAREIZAIS varjants...

--

 

Kāpēc?

 

Ir texts publiskajā laukā un rediģēšanas laukā. Ja saturs vienāds, nekas ar to sadaļu/rakstu nav darīts. Ja nav vienādi, tad parādam kādu paziņojumu, kad tur veiktas izmaiņas. Admins to redzot, apskatās publicē vai arī nepublicē.

 

Pareizais variants vienmēr skaitās tas, kurš ir bijis publicēts neatkarīgi no tā vai tur veiks vai neveiks izmaiņas.

Link to comment
Share on other sites

Universāls variants būtu 2 tabulas:

 

1)pages: id | revision_id

2)revisions: id | text | page_id | date | user_created

 

Sākumā izveido lapu, dabū raksta id un kamēr nav revīziju revision_id = 0

1 | 0

 

Kad saglabā pirmo versiju tik izveidots ieraksts tabulā revisions:

1 | sveiki | 1 | 2010-07-27 20:00 | dzonis

 

Tad cits lietotājs veic uzlabojumus 1 revizījai, tiek izveidots jauns ieraksts

2 | sveiki visiem | 1 | 2010-07-27 20:10 | peteris

 

Atnāk admins un apstiprina ierakstu pages tabulā rakstam viens norādot, kura revīzija ir publiskā:

1 | 2

 

Tādā veidā būs iespējams atcelt citu lietotāju izmaiņas cik vien tālu vēlies un uzlikt tīkamāko no revīzijām.

Ja revīziju daudzums ir problēma, tad var glabāt tikai pēdējās 10 revīzijas un lapai piesaistīto revīziju.

Link to comment
Share on other sites

Nu tas jau kā tas ir realitātē vajadzīgs organizēt. Ja vienam lietotājam jāvar papildināt citu revizijas, tad var rāadīt, piemēram citu lietotāju pēdējās revizījas, vai vienkārši pēdējās revīzijas vai arī visas.

Ir arī gatavi tūļi, kuri māk sa-merge-ot kopā divas dažādas teksta failu revīzijas.

 

Piemēram ir revīzija 1:

<h1>hello</h1>

<b>hi</b>

<i>bye</i>

 

1.Lietotājs izveido revīziju 2:

 

<h1>hello</h1>

dzonis te bija

<b>hi</b>

<i>bye</i>

 

2. lietotājs izveido revīziju 3:

 

<h1>hello</h1>

<b>hi</b>

peteris te bija

<i>bye</i>

 

un tad 2. lietotājs redz, ka 1. lietotājs ir arī sarakstījis kautko un vaic 2. un 3. revīzijas merdžošanu, kā rezultātā iegūst revīziju 4.:

 

<h1>hello</h1>

dzonis te bija

<b>hi</b>

peteris te bija

<i>bye</i>

 

Bet nu ši risinājums jau šķiet velk uz pārkrutumu.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...