stik mig så den staveplade mit private blabber, det skal sku ud – også selvom jeg ikke er den fødte ordbog

27Dec/074

tid til nørderi – episode 1

så, endelig...

jeg er kommet i gang med at nørde igen, det er fedt.

- denne gang er det gået ud over smarty, doctrine og det at drive mange sites på samme kodebase

grunden til at det er smart at kunne drive mange sites på samme kodebase skulle være ret åbenlys, men bare for en god ordens skyld så er det self. vedligehold og videreudvikling der er de store fortalere for dette.

pt. er jeg i gang med at lave en masse grundkode til at styre hvilke sites der "kaldes" hvilke forespørgsler der laves osv. vanen tro syntes jeg at det bliver komplekst inden man overhovedet er kommet i gang med at vise noget som helst, men sådan er det nok bare...

jeg har sagt at:

  1. der bruges én database til alle data
  2. der benyttes én virtual host pr. domain (incl. subdomainer, aliaser osv)
  3.  der høre et layout til hvert site, hvis det ikke findes bruges en fallback
  4. alle grundkomponenter kan overrides fra en sitespecifik "kopi"
  5. alle sitespecifikke filer, såsom billeder, pdf'er osv. ligger under et sites offintlige mapper
  6. filer der er en del af kernen men som bruges på de enkelte sites "aliases" ind via apaches alias funktionalitet

nogen af ovenstående kunne laves anderledes er jeg sikker på, men nu prøver jeg denne metode, ellers kunne man godt have følgende alternativer:

  1. der benyttes én database pr. site, + en til at styre de overordnede settings
  2. der benyttes kun én virtualhost (defaulten) og så fungere den som catch-all

men det medføre jo bare nogle andre issues, såsom at man så ville ha' billedestier (ect.) der ville være som følgende:
- /[site]/images/123.jpg
- /[site]/js/misc.js

hvor "[site]" er en eller anden form for identifikation af hvilket site der er tale om, og det kan jeg ikke helt lure om er en god idé ...

lidt senere i forløbet skal jeg nok lægge noget kode ud så man kan følge lidt med, kommentere og komme med forslag

- hvis det da ellers har nogen interesse... ?

Kommentarer (4) Trackbacks (1)
  1. Tjo – ovenstående er velkendte måder at gøre det på. Jeg eksperimenterer selv med en lidt anden måde. Kan ikke sige om den duer på nuværende tidspunkt.

    Som et eksperiment har jeg lavet en løsning hvor alt submittes til en fil. rodens index.php.

    Alle variable der sendes med POST, GET osv. laves om til defines og man redirectes til index.php som så kender alle data. Om vi kan kalde det en fake preprocessor er heller ikke afklaret endnu. :-)

    Det vil nemt kunne laves om til at håndetere mange sites alene ud fra defines. Som ikke behøver at være synlige i stier m.m.

    Som sagt så er dette lidt løst, men måske kunne en snak om dette sammenholdt med de problemstillinger du står overfor være nyttig.

    Skifter

  2. check.

    sender også selv alle requests gennem index.php, med mindre filen der forespørges på findes self :)

    men er helt klar på en diskutionsrunde ..

  3. Ah jo men det jeg gør som er lidt “mærkeligt” er at jeg behandler alle data og så redirecter til index.php så urlen er mitsite.dk/ uden nogen variable.

    og jeg kunne i princippet have et “secret” med i alle urler til tjek på om data kan godtages. Selvf. vil man kunne se url’ens udformning ved mouse over. Men mange data som jeg bruger vil være defines og skal derfor ikke være med i urlen.

  4. ok, men defines findes jo ellers kun i deres “scope” der skal jo sendes en eller anden form for “trigger” med i requesten, ellers aner applikationen jo ikke hvad den skal (men det ved du jo self.)

    mon ikke det bare skal ses før jeg forstår det … :-P


Leave a comment

(required)

site tracking with Asynchronous Google Analytics plugin for Multisite by WordPress Expert at Web Design Jakarta.