« Het oog wil ook wat | Main | Usability shortcuts/Timesavers voor Zend »
10 mei 2005
Nieuw ATB5 project - HOWTO
Het aanmaken van een nieuw ATB5-driven project gaat via een aantal standaard stappen. In deze weblog entry worden de stappen één voor één beschreven.
1) Haal het skeleton project (atb5.skeleton) uit CVS. Doe dit met een export i.p.v. een checkout, dan heb je geen last van CVS mappen en kan je het nieuwe project later gemakkelijk toevoegen aan het CVS.
2) Hernoem de ge-exporteerde map. Standaard is "atb5.*", om aan te geven dat het project ATB5-driven is.
3) Het nieuwe project bevat nu de basis mappenstructuur en een aantal bestanden die je nodig hebt. Sommige bestanden moet je vervolgens aanpassen (de overige instellingen kunnen uiteraard ook aangepast worden, indien gewenst/noodzakelijk) :
- [atb5.*]/_private/includes/atb5.setup.php
-- verzin een nieuw ATB5_ID (wordt gebruikt in de database om records aan een project te koppelen.
-- verzin een nieuwe ATB5_DEFAULT_TITLE (wordt gebruikt als HTML <title>, indien de gebruiker deze niet opgeeft via de admin). - [atb5.*]/_private/includes/atb5.init.php
-- als je objecten hebt die je op meerdere plaatsen in je applicatie nodig gaat hebben, kan je deze toevoegen aan de ObjectManager (voor easy access).
- [atb5.*]/_private/config/atb5.pagemappings.website.xml
-- voeg hier de pagina's uit je project toe.
- [atb5.*]/_private/config/atb5.objectmappings.xml
-- voeg hier definities van objecten toe die je via de ObjectMapper wilt beheren (vullen/opslaan/verwijderen)
- [atb5.*]/_private/config/atb5.main.ini
-- hier kan je instellingen in opslaan die de gebruiker niet kan wijzigen. De setting "language -> valid_languages" is altijd nodig.
4) Voeg pagina('s) toe aan de database (tabel atb5.atb5_page). Enkele opmerkingen:
- Je hebt minimaal een homepage nodig.
- De homepage heeft parent_id '0', sequence '1' en module 'home'.
- Per taal mag je maar 1 pagina hebben met parent_id '0' (=homepage).
- Het veld website_id komt overeen met de constante ATB5_ID (zie hierboven).
- Heb je meerdere pagina's met hetzelfde parent_id, dan moeten ze allemaal een apart sequence_id hebben (dit is de sorteervolgorde voor de navigatie en de sitemap).
- Het veld 'title' is de naam die terug komt in de navigatie, het veld 'meta_title' correspondeert met de html <title> tag.
Diverse opmerkingen:
- Elke ATB5-driven website heeft de modules shared.atb5 en shared.common nodig. Standaard staan deze in dezelfde map als het nieuwe atb.* project. Mocht dit niet kloppen, dan kan je de plaats aanpassen in [atb5.*]/_private/includes/atb5.setup.php.
- Als je applicatie gebruikt maakt externe classes (bijvoorbeeld Scarab classes, dan kan je het pad naar deze classes eenvoudig toevoegen in [atb5.*]/_private/includes/atb5.init.php (array: $atb5_class_directories).
- Om mee te kunnen draaien in de automatische build op devel.brains4all.com moet elk project een unittests map hebben. Hierin moet minimaal 1 test staan en alle aanwezige tests moeten slagen voor de autobuild.
Posted by bart at 10 mei 2005 10:58