27. september 2012 - 10:28Der er
6 kommentarer og 1 løsning
Include filer som virker cross platform
Vores designere/front-end udviklere laver HTML Markup. Da nogle elementer i markup'en, fx spots, går igen på flere sidetyper, er det smart at bruge en form for include filer, så HTML'en kun skal rettes ét sted.
Platform a) vores designere/front-end udviklere bruger Mac OS, og har en Apache webserver installeret b) vores backendudviklere er Microsoft udviklere og bruger .Net (vi er et Microsoft hus).
Løsninger 1) Vores designere/front-end udviklere vil gerne løse problemet med en PHP include. Det giver udfordringen, at vores backendudviklere ikke umiddelbart kan åbne filen og se resultatet. 2) Vores backendudviklere vil formentlig gerne bruge en ASP Server Side Include, men det virker ikke på Mac'en.
Da der er flest backendudviklere, kunne man måske få Server Side Include til at virke på Mac'en vha. Mono. Det virker dog som om der er et 64 bit problem med Mono.
Mød TrackMan og Veo på Computerworld Cloud & AI Festival og hør, hvordan tech ændrer måden, vi træner og udvikler talent – fra skolebold til The Masters.
Hvis siden der arbejdes på, skal køre på en MS / IIS platform, så er der ikke det store og være i tvivl om.
Det lyder ret finurligt, at man sidder to forskellige hold folk, der arbejder på det samme projekt, men hver deres serverside løsning.
Frontend gutten må kunne have enten en virtuel maskine med en MS / IIS løsning på, som han bruger til test. Det andet forekommer mig lidt besynderligt.
Det kan selvfølgelig være mig, der ikke har fattet budskabet med din tekst, eller mangler forståelse for projektets opbygning, for med det jeg kan læse mig til, så giver det ikke mening andet end og arbejde ud fra det backend/serverside er
Det som måske ikke fremgår tydeligt af mit oprindelige indlæg, er at det i første omgang KUN er Markup. Det er først senere det skal lægges ind i et CMS system. Så design/frontend udviklerne laver fx fem sider/skabeloner: Én forside, en sektionsforside, en underside, en søgeside og en produktside. Det er i disse Markup filer, at frontend udvikleren vil bruge en include af en form, da visse elementer går igen på de fem sider.
Backend-udvikleren der skal overtage Markup'en bagefter kan i princippet være ligeglad, da HTML'en alligevel skal klippes ud og sættes ind i et CMS system. Eneste udfordring er bare, at det ville være rart at kunne åbne HTML'en. Og så er der et andet element, nemlig at de servere hvor vi normalt fremviser vores Markup til kunden, de kører Microsoft platform.
Måske det er en detalje, men det kunne være fedt hvis der er en god/simpel løsning.
SSI var noget man brugte under klassisk ASP - i .NET benytter man masterpages eller usercontrols. Anyway, det er ikke det vigtige her.
Der findes flere måder at løse udfordringen på - mest nærliggende ville jeg sige var at frontend-udviklerne ikke skal bekymre sig om serverside-teknologier og hvordan genbrugelige elementer inkluderes, de skal kun udvikle designet og HTML'en og så må backend-folkene bestemme teknologien og hvordan genbrug foregår (det betyder selvfølgelig mangel på genbrug, men så længe det kun er i denne fase bør det ikke være det store problem). Et andet alternativ, selvfølgelig afhængig af hvilken type løsninger det drejer sig om, ville være at lægge sig fast på et standard CMS liggende på en udviklingsserver og så kunne frontend opsætte siderne her og backend sætte funktionalitet bag i et og samme miljø. Endelig, kan frontend ikke få let adgang til et .NET-miljø og backend ikke kan komme videre uden at se et resultat først (det burde trods alt ikke tage mange minutter at konvertere) så giv backend et PHP-miljø på deres maskine.
Vores frontend-folk vil rigtig gerne genbrug HTML stumper, for at forbedre deres produktivitet og mindre risikoen for fejl. Tænk fx på hvor meget mindre risikoen for fejl er hvis man kun skal rette ting ét sted og ikke 5-10 steder.
Omvendt så er frontendudviklerne ikke så meget udviklere, at de kan håndtere Sitecore, som er det CMS vi benytter. Men det er da et bud, at uddanne dem til at kunne håndtere Sitecore.
Det er også et bud at installere et PHP-miljø på backend maskinerne, selvom jeg havde håbet der var en endnu bedre/nemmere løsning :).
Jeg har ingen erfaring med Mono så om det på sigt kunne løse udfordringen tør jeg ikke sige.
Jeg er enig med dig i at genbrug minimerer risikoen for fejl - men når nu frontend og backend taler to forskellige sprog kunne den udfordring måske bare løses ved bedre dokumentation, fx ét dokument med fokus udelukkende på de genbrugelige ting og et dokument med hver af de øvrige fokus-områder designet havde. Men der kan selvfølgelig være rigeligt grunde til at beholde det på nuværende måde.
Den klart bedste løsning i mine øjne er stadig en mere ensrettet måde at udvikle på - er sitecore for besværligt kunne alternativet, i udviklingsfacen, måske bare være et nemmere system, fx Umbraco, eller en udviklingsserver med PHP.
Der er naeppe nogen virkelig god loesning da kravene er meget vanskelige.
Mit bedste bud: - lad frontend folkene bruge PHP include - udvikl en lille convert utility som erstatter PHP include med en ASP include eller en tilsvarende ASP.NET loesning (se http://msdn.microsoft.com/en-us/library/aa479009.aspx !) og omdoeber filernes extension - demo for kunderne paa IIS - copy paste ind i CMS naar den tid kommer
Jeg har indtil videre fundet en løsning hvor PHP include bevares i den første fase, men samtidig genereres der automatisk statisk HTML.
Det klares med ob_start(); i toppen af documentet og file_put_contents($htmlFileName, ob_get_contents() i bunden af dokumentet.
Så kan backendudvikleren se på begge dele efter behov.
De som har hjulpet med input, må meget gerne lægge et svar, så jeg kan fordele point som tak for hjælpen, en af de kommende dage.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.