Gå til innhold

Skal lage et CMS-system. Trenger idèer/feedback!


Anbefalte innlegg

For tiden er hjemmesiden min (www.glisevask.com) drevet av WordPress.

Nå ønsker jeg å lage et nytt system, basert på objektorientert PHP mot MySQL.

Målet er få det fleksibelt (slik at det enkelt kan bygges ut), sikkert og kjapt.

Er nybegynner i OOP PHP, men har forelsket meg i det fremfor prosedyral PHP.

 

Hva skal systemet inneholde?

- Artikkelpubliseringssystem med mulighet for opplasting av bilder til en artikkel (slik som i WP) og sideskift (slik at jeg kan dele opp en artikkel i flere sider).

- Kommentarsystem med filtrering av "bad words" og automatisk konverting av smileys.

- Gjestebok med filtrering av "bad words" og automatisk konverting av smileys.

- RSS ut av artiklene.

- Statiske sider.

- Enkelt nedlastningsystem med kategorier.

- Søkefunksjon.

- Pluss mer.

 

Skal også bruke AJAX. Tenker å bruke det på søking (slik at eventuelle resultater dukker opp fortløpende), artikkelvising/sideskift (slik at artiklene vises ved at det øker i høyden nedover (dytter ned artiklene under) og sideskifting i artikkelen som skjer ved fading), kommentering og gjestebok (kommentarer/meldinger blir publisert med en gang) osv.

 

Skal også bort fra adressene med "?" og "=" og ha rene, enkle adresser som "www.glisevask.com/artikkel/335" eller "www.glisevask.com/side/om_meg" eller "www.glisevask.com/nedlasting/musikk/425/". Hvordan gjør jeg det helt praktisk? Kom gjerne med noen eksempler med f.eks. MySQL-spørringer.

Trenger også å vite litt om hvordan jeg burde legge opp navigasjonssystemet.

 

I tillegg kommer kontrollpanel (greit nok å lage), logging, statistikk og diverse.

 

Greia er bare nå struktur på scriptet. Hva er å anbefale? Hvordan burde klassene og deles opp?

Hvordan oppnår jeg sikkerhet? Hvordan sørger jeg får et kjapt script?

 

Okey, det var det jeg kom på i farta. Kommer sikkert med flere idèer etterhvert. =)

 

Edit: Glemte et enkelt AJAX-drevet fotogalleri!

Endret av Glisevask
Lenke til kommentar
Videoannonse
Annonse

Jeg skal ikke være en gledesdreper, men jeg vil anbefale deg å tenke grundig over hvorvidt du virkelig trenger å lage det selv. Det finnes mange brukbare CMS løsninger på nettet, og dersom du ikke skulle finne en som ikke dekker dine behov vil jeg bli svært forbauset.

 

Du må huske at det er en enormt krevende oppgave å lage et komplett CMS system (ja, jeg har prøvd jeg også), og det er utrolig mye som skal på plass. Til slutt kommer sikkerhet, som også forhåpentligvis blir bedre ved å velge en ferdig løsning.

 

Velger du en ferdig løsning har du også fordelen av at det mest sannsynlig er moduler tilgjengelige, som vil kunne være nyttige i større eller mindre grad.

Lenke til kommentar

No offence, men hvis du hadde sittet med kompetanse for å lage det her hadde du ikke spurt spørsmål ala. "Hvordan gjør jeg det helt praktisk?", "Hva er å anbefale?", "Hvordan burde klassene og deles opp?", "Hvordan oppnår jeg sikkerhet?" (for et spørsmål :ermm:) og "Hvordan sørger jeg får et kjapt script?".

 

Hvorfor? Fordi du garantert vil mislykkes. Spørsmålene du stiller er rett og slett alt for grunnleggende i forhold til det du vil. Det du spør om her krever grundig planlegging og minst et par mnd. med utvikling før det må testes. Skal det være ordentlig vil du sannsynligvis bli sitende å kode det neste året.

 

Kort sagt: CMS er ikke noe man bare lager. Skal du lage noe, så for all del lag noe betydelig mindre.

Endret av Ernie
Lenke til kommentar

Jeg har ikke nok kompetanse, det er derfor jeg spør. Jeg er en type som stuper ut i ting som i grunnen er høl i hue, men viljestyrken min er (devserre :p) sterk!

Har bestemt meg for å begynner med et nyhetssystem istedenfor.

 

Jeg kan det grunnleggende rundt spørsmålene, men lurer på om det er noe er viktig, som jeg burde vite!

 

Men takk for respons, har nå nedtona prosjektet litt. =) Kikker litt på pixelDepth.net's tutorial for å se om jeg kan lære litt av det.

Lenke til kommentar
Gjest Slettet-rXRozPkg
Skal også bort fra adressene med "?" og "=" og ha rene, enkle adresser som "www.glisevask.com/artikkel/335" eller "www.glisevask.com/side/om_meg" eller "www.glisevask.com/nedlasting/musikk/425/". Hvordan gjør jeg det helt praktisk? Kom gjerne med noen eksempler med f.eks. MySQL-spørringer.

Trenger også å vite litt om hvordan jeg burde legge opp navigasjonssystemet.

 

Denne biten må/bør du ta med mod_rewrite, som er en modul til webserveren Apache.

Med denne kan du "oversette" www.side.net/artikkel/123 til www.side.net/artikkel.php?artikkelid=123, og du får rene og enkle adresser.

Lenke til kommentar

Prøver å lage et enkelt eksempel til navigeringen:

 

<?php

/* Finner hvilke GET-variabler som er satt og definerer navtype-variablen med GET-variablens ID

if($_GET["side"]) {
$navtype = "1";
} elseif($_GET["art"]) {
$navtype = "2";
} elseif($_GET["kontakt"]) {
$navtype = "3";
} elseif($_GET["gjestebok"]) {
$navtype = "4";
} else {
$navtype = "5";
}

/* Går igjennom de forskjellige potensielle GET-variablene som kan settes og gir showthis-variablen verdier etter dette

if($navtype == "5") {
$showthis = $home;
}

if($navtype == "4") {
$showthis = $guestbook;
}

if($navtype == "3") {
$showthis = $contact;
}

if($navtype == 2) {
$showthis = $article;
}

if($navtype == 1) {
$showthis = $static;
}

 

Verdien av variabelen "showthis" bestemmer hva som skal vises. Mangler 404 her, men skal få lagt det til. Dette er bare et eksempel, er ikke proff i PHP.

Så, er noe her feil? Kan du noe gjøres bedre?

 

Statiske sider er en egen liten modul som inkluderer statiske html-filer i "content"-området, uten template.

Lenke til kommentar
No offence, men hvis du hadde sittet med kompetanse for å lage det her hadde du ikke spurt spørsmål ala. "Hvordan gjør jeg det helt praktisk?", "Hva er å anbefale?", "Hvordan burde klassene og deles opp?", "Hvordan oppnår jeg sikkerhet?" (for et spørsmål :ermm:) og "Hvordan sørger jeg får et kjapt script?".

 

Hvorfor? Fordi du garantert vil mislykkes. Spørsmålene du stiller er rett og slett alt for grunnleggende i forhold til det du vil. Det du spør om her krever grundig planlegging og minst et par mnd. med utvikling før det må testes. Skal det være ordentlig vil du sannsynligvis bli sitende å kode det neste året.

 

Kort sagt: CMS er ikke noe man bare lager. Skal du lage noe, så for all del lag noe betydelig mindre.

7046270[/snapback]

 

 

Sier meg enig her. Vi jobber med et CMS, og det er ikke rett fram. Det kreves myyyye planlegging, og er ikke noe en gjør ferdig på et par uker. Ernie, vi brukte vel et drøyt år på å bare på kjernen på plass i systemet? Det handler ikke bare om å lage ting på en-to-tre. det handler om å teste løsninger, måle respons, angripe scriptene fra flere vinkler og ikke minst ha tålmodighet til å kaste en revisjon eller to ;)

 

Jeg sier ikke dette som en gutteromsscripter. Jeg har jobbet/vært ansatt som leadprogrammer i 3 år, så en ser litt annerledes på hvor omfattende en slik ting er når en først blir stilt krav til.

Endret av allyse
Lenke til kommentar

For tiden er hjemmesiden min (www.glisevask.com) drevet av WordPress.

 

...mot MySQL.

 

Hvorfor MySQL? Hvorfor ikke noe annet? Multidatabaser? Hvordan har du da tenkt å henvende deg mot SQL? Hvilke fordeler har mysql over andre? hvilke ulemper? Vil mysql takle stor load? Er det sikkert nok?

 

...sikkert og kjapt.

Hvordan har du tenkt å sikre systemet? Hvordan har du tenkt å øke hastigheten? Hvorfor satse på OOP når du fokuserer på hastighet? Har du undersøkt hastighetsforskjeller i OO? PHP 4 eller PHP5?

 

Er nybegynner i OOP PHP, men har forelsket meg i det fremfor prosedyral PHP.

 

Hva mener du er fordelen med objectorientert vs pros. kode? Hva er ulempene på begge sider? Hvorfor burde du bruke oo? Hvorfor ikke?

 

 

- Artikkelpubliseringssystem med mulighet for opplasting av bilder til en artikkel (slik som i WP) og sideskift (slik at jeg kan dele opp en artikkel i flere sider).

 

Hva med injection i bildene? Hvordan skal editoren fungere? Skal du lage en HTML- wysiwyg? Hvordan vil da dette kobles mot templaten din? htmleditorer har en tendens å tulle med stylesheetet ditt. Hvordan skal du lagre artikler pr. side? Hvordan er mest effektivt? Hvordan skal du referere bildene? Hvordan skal du behandle bildene?

 

 

- Artikkelpubliseringssystem med mulighet for opplasting av bilder til en artikkel (slik som i WP) og sideskift (slik at jeg kan dele opp en artikkel i flere sider).

 

- Kommentarsystem med filtrering av "bad words" og automatisk konverting av smileys.

- Gjestebok med filtrering av "bad words" og automatisk konverting av smileys.

 

Hvordan skal du beskytte deg på injections, flooding, spam mv. her? Hvordan skal bad words siles ut? Hvordan skal smileys siles ut? Hvordan skal et f.eks dynamisk kommentarsystem fungere i en statisk renderert template?

 

 

- Søkefunksjon.

 

Hvordan skal du sette opp søkemotoren? Har du tenkt på databasestrukturen mot søk og eventuelle ulemper med det? Hvordan skal du ekspandere f.eks fulltext mot store databaser?

 

 

Skal også bruke AJAX.

Hvor skal du ikke bruke ajax da? Er det nødvendig å bruke ajax på de plassene du nevner? Hva om brukeren ikke har js aktivert? Hva med history i browser? Kan du javascript?

 

 

osv...

Lenke til kommentar
No offence, men hvis du hadde sittet med kompetanse for å lage det her hadde du ikke spurt spørsmål ala. "Hvordan gjør jeg det helt praktisk?", "Hva er å anbefale?", "Hvordan burde klassene og deles opp?", "Hvordan oppnår jeg sikkerhet?" (for et spørsmål :ermm:) og "Hvordan sørger jeg får et kjapt script?".

 

Hvorfor? Fordi du garantert vil mislykkes. Spørsmålene du stiller er rett og slett alt for grunnleggende i forhold til det du vil. Det du spør om her krever grundig planlegging og minst et par mnd. med utvikling før det må testes. Skal det være ordentlig vil du sannsynligvis bli sitende å kode det neste året.

 

Kort sagt: CMS er ikke noe man bare lager. Skal du lage noe, så for all del lag noe betydelig mindre.

7046270[/snapback]

 

 

Sier meg enig her. Vi jobber med et CMS, og det er ikke rett fram. Det kreves myyyye planlegging, og er ikke noe en gjør ferdig på et par uker. Ernie, vi brukte vel et drøyt år på å bare på kjernen på plass i systemet? Det handler ikke bare om å lage ting på en-to-tre. det handler om å teste løsninger, måle respons, angripe scriptene fra flere vinkler og ikke minst ha tålmodighet til å kaste en revisjon eller to ;)

7046935[/snapback]

Ja, det er iallfall ikke langt unna. Kan jo legge til at hvis man skal ha ting raskt vil det kreve at man fort skriver 2-3-4 totalt forskjellige ting som gjør eksakt det samme for så å torturere de med den hensikt å komme frem til hva som faktisk skalerer best. Da snakker vi ikke hva som kjører raskest alene, men under reelle forhold med realistisk last. Er man ikke fornøyd begynner den gøyale jobben med å finne flaskehalsen.

Lenke til kommentar

Begynn å planlegg veldig nøye, er du usikker på hvordan du skal planlegge se her:

http://www.phpfreaks.com/tutorials/135/0.php

 

En ting jeg har gått i er den stygge fella hvor jeg tar med alt som skal være der når du tror du er ferdig! Dumt dumt dumt... du roter deg bort. Man blir nok heller aldri ferdig med et system, alltid forbedringer ol. Ta alt som er nødvendig! Har du bruk for et avanserte brukerrettigheter? Nei, hvis dette skal bare være for din egen webside så holder det i første omgang med kun noe fullstendig simpelt. Men tenk deg om, lag systemet litt fleksibelt slik at du ikke må endre mye når du skal legge til noe senere i tiden. Planlegging! Se på alle andre CMS, se hvordan de er kodet ol. Ønsker deg lykke til! Du vil nok få en utfordring å mye moro :)!

Lenke til kommentar

Det trenger da ikke ta et år for å lage et CMS system?

 

Det er jo alt etter hvor omfattende systemet skal være?

 

Om man bare skal oppdatere en database via en passordbeskyttet side for så å skrive ut dette på en "public" side, er jo ikke dette noe stor sak, det kan likevell kalles CMS ;)

Lenke til kommentar

Skal si her var det mye oppmuntring... :dontgetit:

 

Hvis han vil lage et CMS, kan han ikke få prøve? Det verste som kan skje er at han selv finner ut at det var et for stort prosjekt og ikke klarer det, eller at han ikke har kompetanse til å realisere det. Han har vel aldri snakket noe om at dette skal være noe proffesionelt som skal lages av andre grunner enn egen utvikling av kunnskaper innen PHP o.l.

 

Jeg synes du skal prøve hvis du har lyst, sikkert veldig lærerikt hvis en får tilstrekkelig med respons fra personer som har mer erfaring og har løsninger på eventuelle problemer som kan oppstå. Nå som det er sagt, ser det jo ikke ut til at det blir så lett her, noe som sikkert gjør det hele mye vanskeligere enn det i utganspunktet er. Men fortsatt, stå på! Man må lære å krype før man kan gå!

:thumbup:

Lenke til kommentar

Nei, start på noe mye enklere (slik du har gjort),

så slipper du mange frustrende timer hvor du ikke skjønner hva du skal gjøre.

Utifra koden din vil jeg allerede si at du mangler erfaringen for å starte på noe så stort som et CMS.

 

Nei, jeg prøver ikke å være nedlatende, men snakker av erfaring.

Lenke til kommentar
Nei, start på noe mye enklere (slik du har gjort),

så slipper du mange frustrende timer hvor du ikke skjønner hva du skal gjøre.

Utifra koden din vil jeg allerede si at du mangler erfaringen for å starte på noe så stort som et CMS.

 

Nei, jeg prøver ikke å være nedlatende, men snakker av erfaring.

7052324[/snapback]

 

Nå vet ikke jeg hvor han ligger i frhold til erfaring og kunnskap, men etter responsen han fikk, var det ikke begynner nivå han ble slaktet på.

Hvis han er helt, helt på begynner nivå, er jo dette en annen ting, det er jeg enig i.

Men det jeg anbefaler er at han starter i den ene enden, og ser hvordan det går.

Siden dette skal være til privat bruk, er det jo ingenting som er imot at han kanskje begynner med et "kommentar" system, for å lære litt basic, og etterpå gå over på mer avaserte ting, og til slutt redigere for å få alt til å falle på plass.

 

Men frtsatt må jeg si jeg forstår godt hva du mener, men jeg hadde aldri komt så langt som jeg har idag, på å tenke "nei, det blir aaalt forvanskelig det kan jeg aldri klare".

Endret av Ozwald
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...