Website project (CMS,talen,registratie)
Goededag luitjes!
Ben ik weer met een informatie aanvraag topic ;) Omdat ik geen betere categorie kon vinden heb ik hem maar gepost in PHP.
Mijn vraag is, hoe pakken jullie een iets groter project aan. Mijn ontwikkelingen zijn eigenlijk alleen nog maar websites met hooguit 10 statische pagina's en wat fotoalbums (grotere sites heb ik wel voor mij zelf gemaakt maar niet voor iemand anders...)
Ik moet dus in de zomervakantie een project gaan runnen welke inhoud:
- CMS systeem
- Seminar/workshop registratie (verkopen dus)
- Nieuwsbrief (admin interface heb ik al vernieuwd)
- Variabel aantal talen
- Koppeling met een ander project (niet echt moeilijk :))
- Nieuws
- (toekomst) forum
- (toekomst) mogelijkheid tot downloaden van profielen (=ICC kleur profiel á 2 mb)
Wat voor mij de extra dimensie oplevert is dat alles in een variabel aantal talen moet. Hoe beginnen jullie hieraan? Hebben jullie gewoon nog handige tips?
Ben ik weer met een informatie aanvraag topic ;) Omdat ik geen betere categorie kon vinden heb ik hem maar gepost in PHP.
Mijn vraag is, hoe pakken jullie een iets groter project aan. Mijn ontwikkelingen zijn eigenlijk alleen nog maar websites met hooguit 10 statische pagina's en wat fotoalbums (grotere sites heb ik wel voor mij zelf gemaakt maar niet voor iemand anders...)
Ik moet dus in de zomervakantie een project gaan runnen welke inhoud:
- CMS systeem
- Seminar/workshop registratie (verkopen dus)
- Nieuwsbrief (admin interface heb ik al vernieuwd)
- Variabel aantal talen
- Koppeling met een ander project (niet echt moeilijk :))
- Nieuws
- (toekomst) forum
- (toekomst) mogelijkheid tot downloaden van profielen (=ICC kleur profiel á 2 mb)
Wat voor mij de extra dimensie oplevert is dat alles in een variabel aantal talen moet. Hoe beginnen jullie hieraan? Hebben jullie gewoon nog handige tips?
Gewijzigd op 01/01/1970 01:00:00 door Marien xD
Ik zou eens wat gaan snuffelen in de mogelijkheden van Smarty.
Ik denk dat je eerst even alles moet uitschrijven op papier, met evt een brainstorm erbij. Daarna ga je resources verzamelen. Voor e nieuwsbrief kun je perfect phpmailer bijvoorbeeld gebruiken. Het wiel hoeft niet opnieuw uitgevonden te worden. Nieuwsysteem kun je zelf zo programmeren dat is ook een halfuurtje/uurtje werk. CMS kun je bijvoorbeeld van Arjan Kapteijn gebruiken(mits met toestemming). Zo heb je het meeste werk al gedaan.
CMS zou je kunnen uitbreiden met een simpele dropdown per taal, dan ben je redelijk snel klaar. Per 'pagina' schrijf je dan in de database ook bij welke taal het hoort, als je vervolgens op je index een sessie wegschrijft met de taal kan je eenvoudig paginas ophalen.
Ok bedankt voor jullie reacties. Voor een indruk zou je eens kunnen kijken op colorconcepts.nl
Ik zat er aan te denken om eerst de basis laag te maken (met daarin het CMS) Hier bovenop het registratie systeem enzo als een soort modules. Hoe zou je een module aanpakken? Als een map die geindexeerd word en dan beschikbaar is in de admin o.i.d.?
Het volledige systeem moet erg flexibel zijn in de toekomst. Dus daar zit een beetje de moeilijkheid voor mij :)
edit:
Waar ik ook nog rekening mee moet gaan houden is dat er User Profiles op komen. Duur woord voor een user systeem waar mensen op kunnen inloggen en dan alle communicatie met het bedrijf kan zien. (dus wanneer training gevolgd en welke profielen zijn besteld enz.)
Ik zat er aan te denken om eerst de basis laag te maken (met daarin het CMS) Hier bovenop het registratie systeem enzo als een soort modules. Hoe zou je een module aanpakken? Als een map die geindexeerd word en dan beschikbaar is in de admin o.i.d.?
Het volledige systeem moet erg flexibel zijn in de toekomst. Dus daar zit een beetje de moeilijkheid voor mij :)
edit:
Waar ik ook nog rekening mee moet gaan houden is dat er User Profiles op komen. Duur woord voor een user systeem waar mensen op kunnen inloggen en dan alle communicatie met het bedrijf kan zien. (dus wanneer training gevolgd en welke profielen zijn besteld enz.)
Gewijzigd op 01/01/1970 01:00:00 door Marien xD
Ik zou beginnen met een ontwerp voor de layout, kijken wat erin moet komen.
Vervolgens een flowchart maken welke paginas aan wat moeten link, en erbij schrijven wat elke pagina moet doen, en wat je erop moet kunnen.
Vervolgens elke functie uit schrijven en omschrijven wat het moet doen en waarvoor het dient.
Dan in de php verwerken :)
Vervolgens een flowchart maken welke paginas aan wat moeten link, en erbij schrijven wat elke pagina moet doen, en wat je erop moet kunnen.
Vervolgens elke functie uit schrijven en omschrijven wat het moet doen en waarvoor het dient.
Dan in de php verwerken :)
De lay-out ga ik erg weinig aan doen, dit omdat ze hier mee tevreden zijn. Ik kan zelf ook geen betere bedenken op dit moment welke beter past bij de huisstijl :)
Ik ga zeker beginnen aan die flowchart. Ik neem aan dat een programma als Visio daar perfect aan voldoet! Ik denk dat dat me ook een veel beter idee gaat geven hoe het precies moet gaan worden.
Bedankt alvast voor jullie reacties!
@Jan
Die ga ik zeker gebruiken, erg makkelijk voor beheer later.
@jurgen
De back-end van het nieuwsbrief systeem werkt al (in verschillende talen) Deze draait idd op PHPmailer. Misschien als ik het nog iets verder ontwikkel dat ik hem hier post.
Ik ga zeker beginnen aan die flowchart. Ik neem aan dat een programma als Visio daar perfect aan voldoet! Ik denk dat dat me ook een veel beter idee gaat geven hoe het precies moet gaan worden.
Bedankt alvast voor jullie reacties!
@Jan
Die ga ik zeker gebruiken, erg makkelijk voor beheer later.
@jurgen
De back-end van het nieuwsbrief systeem werkt al (in verschillende talen) Deze draait idd op PHPmailer. Misschien als ik het nog iets verder ontwikkel dat ik hem hier post.
Ik zou zoiets doen met modules:
root
etcetera
root
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
-index.php
-modules/
--module1/
---info.ini (daarin staat de naam van de module en evt. meer info)
---install.php (installator (maakt MySQL tabellen etc.)
---admin/ (de pagina's die in de back-end weergegeven moeten worden)
---module/ (zie boven maar dan voor de front-end)
--module2/
---info.ini (daarin staat de naam van de module en evt. meer info)
---install.php (installator (maakt MySQL tabellen etc.)
---admin/ (de pagina's die in de back-end weergegeven moeten worden)
---module/ (zie boven maar dan voor de front-end)
-modules/
--module1/
---info.ini (daarin staat de naam van de module en evt. meer info)
---install.php (installator (maakt MySQL tabellen etc.)
---admin/ (de pagina's die in de back-end weergegeven moeten worden)
---module/ (zie boven maar dan voor de front-end)
--module2/
---info.ini (daarin staat de naam van de module en evt. meer info)
---install.php (installator (maakt MySQL tabellen etc.)
---admin/ (de pagina's die in de back-end weergegeven moeten worden)
---module/ (zie boven maar dan voor de front-end)
etcetera
Gewijzigd op 01/01/1970 01:00:00 door - -
Dat ziet er goed uit Jonathan! Ik had zo iets ook in gedachten alleen niet zo gedetailleerd! Bedankt voor het meedenken.
Het is natuurlijk een super idee om zo met back end en front end gedeelte te werken in een module. Zo kan ik bijvoorbeeld een website ontwikkelen op basis van mijn standaard CMS en daar specifieke uitbreidingen op maken.
Alleen mijn vraag nu weer is dan: hoe laad ik die modulen in. Gewoon een simpele include? Of zijn er mooiere flexibelere oplossingen?
Het is natuurlijk een super idee om zo met back end en front end gedeelte te werken in een module. Zo kan ik bijvoorbeeld een website ontwikkelen op basis van mijn standaard CMS en daar specifieke uitbreidingen op maken.
Alleen mijn vraag nu weer is dan: hoe laad ik die modulen in. Gewoon een simpele include? Of zijn er mooiere flexibelere oplossingen?
Zo zou ik het doen:
Een admin uploadt een module, en opent de back-end. In de back-end zit een knop om modules te scannen. Die gaat alle mappen zoeken in de map modules, en vergelijkt ze met de mapnamen in de database. Hij ziet dat er een nieuwe map is, en voegt die toe aan de database. Dan redirect hij naar de install.php van de nieuwe module, zodat de module zelf nog dingen kan doen. Op het moment dat er een front-end pagina word geopend, worden alle mapnamen van modules uit de database gehaald, en word per module de info.ini bekeken. Daarin staan de bestanden die geïnclude moeten worden (bv door kommas gescheiden). De front-end include deze bestanden stuk voor stuk.
Een admin uploadt een module, en opent de back-end. In de back-end zit een knop om modules te scannen. Die gaat alle mappen zoeken in de map modules, en vergelijkt ze met de mapnamen in de database. Hij ziet dat er een nieuwe map is, en voegt die toe aan de database. Dan redirect hij naar de install.php van de nieuwe module, zodat de module zelf nog dingen kan doen. Op het moment dat er een front-end pagina word geopend, worden alle mapnamen van modules uit de database gehaald, en word per module de info.ini bekeken. Daarin staan de bestanden die geïnclude moeten worden (bv door kommas gescheiden). De front-end include deze bestanden stuk voor stuk.
@Jona jij bedoelt Joomla ;)
Dat lijkt er idd aardig op ja :) Maar ik wil dit zelf ontwikkelen omdat ik meer controle heb op het eindresultaat. Daardoor kan ik het ook gaan her gebruiken voor toekomstige projecten (Vandaar ook het idee van de modules!). En zelf heb ik een gruwelijke hekel aan Joomla!
'Marien:
Je spreekt me wel aan ;-)En zelf heb ik een gruwelijke hekel aan Joomla!
Ik ben nu bezig met het samenstellen hoe de front end en de back end er uit moet komen te zien. De structuur van het systeem dus!
Tips zijn nog steeds welkom :)
@Jonathan
Dit is verpest door iemand die ik ken. Zo gezegd websites kunnen maken (maar uiteindelijk alleen maar templates kunnen maken. En nog lelijk ook ;)). En daar dan ook nog een eigen bedrijf in hebben. bbrrrrrrrr.
Tips zijn nog steeds welkom :)
@Jonathan
Dit is verpest door iemand die ik ken. Zo gezegd websites kunnen maken (maar uiteindelijk alleen maar templates kunnen maken. En nog lelijk ook ;)). En daar dan ook nog een eigen bedrijf in hebben. bbrrrrrrrr.
Ik zou een groot project zelf zo aanpakken:
- Requirements (wensen,eisen)
- Structuur (o.a. UML - klassendiagram, bestandsstructuur)
- ERD (zo goed mogelijk maken heb je later profijt van / met MS visio)
- Implementeren
- Testen
Implementeren en testen is iets wat je eigenlijk steeds overnieuw doet.
Misschien nog wat tips:
- Lay-out scheiden van business-code (templates dus)
- Codeer afspraken maken
- Maak een framework (Dit kun je hergebruiken voor andere projecten)
- Requirements (wensen,eisen)
- Structuur (o.a. UML - klassendiagram, bestandsstructuur)
- ERD (zo goed mogelijk maken heb je later profijt van / met MS visio)
- Implementeren
- Testen
Implementeren en testen is iets wat je eigenlijk steeds overnieuw doet.
Misschien nog wat tips:
- Lay-out scheiden van business-code (templates dus)
- Codeer afspraken maken
- Maak een framework (Dit kun je hergebruiken voor andere projecten)
Ik ben nu ook bezig met de requirements e.d. Dit gaat erg makkelijk omdat ik bij het bedrijf zit. (lekker rustig werken ipv thuis :), en het is een opvolging van mijn stage)
Wat zou je aanraden om precies in die UML te zetten (hoe diep in het system laat maar zeggen) Zet je alle klassen en functies erin of hou je het meer globaal?
Wat is een ERD :$ het is al meer dan een jaar geleden dat ik dat gehad heb op school ;)
Wat zou je aanraden om precies in die UML te zetten (hoe diep in het system laat maar zeggen) Zet je alle klassen en functies erin of hou je het meer globaal?
Wat is een ERD :$ het is al meer dan een jaar geleden dat ik dat gehad heb op school ;)
Een UML kun je in het begin alleen maar globaal maken denk ik. Een UML geeft een beeld van de structuur van je klassen. Dus b.v. welke klassen overerven en welke niet.
Een ERD (Entities Relation Diagram) geeft de structuur van je database aan. Dus welke tabellen zijn er en wat voor kolommen zitten er in. Relaties tussen tabellen zou je ook aan kunnen geven. Maar daar wordt het meestal een
onoverzichtelijke zooi van.
Voorbeeldje:
(a) = auto increment
In MS-visio kun je dit nog mooier aangeven allemaal, dus met primary keys en indexen.
Een ERD (Entities Relation Diagram) geeft de structuur van je database aan. Dus welke tabellen zijn er en wat voor kolommen zitten er in. Relaties tussen tabellen zou je ook aan kunnen geven. Maar daar wordt het meestal een
onoverzichtelijke zooi van.
Voorbeeldje:
(a) = auto increment
In MS-visio kun je dit nog mooier aangeven allemaal, dus met primary keys en indexen.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B




