Korrekt installation

Events happening in the community are now at Drupal community events on www.drupal.org.
peewee80's picture

Hej vänner!

Började med att skapa en sajt december 09. Sajten är i sitt slutskede nu och ska officiellt publiceras i slutet av december nu.

Eftersom jag var/är ny inom drupal världen gjorde jag så klart några misstag med min sajt.
Jag har exempelvis inte gjort kopia av de olika kärn filerna på drupal, utan bara suttit och redigerat dessa som en galning. Detta gäller även de olika moduler som jag redigerat direkt, de ligger i drupal/module och inte under sites katalogen.
Dessutom varje gång jag ska redigera sajten gör jag det i "direkt sändning", med andra ord, jag redigerar sajten som är tillgänglig för de olika användarna, detta fungerar ok nu när det är ca 40 medlemar men inte i längden.

Ja ni förstår vad jag menar, kladdat och haft kul helt enkelt.
Sajten finns uppe just nu, men jag har en dedline till slutet av dec att vara helt färdig med det.

Min fråga är:
1. Ska jag, med hänsyn till all mekande med drupal kärnan, starta en ny drupal installation och "lära mig av mina misstag" ?
2. eller ska jag kopiera min nuvarande drupal installation och lägga det som en underdomän och flytta och redigera de olika modulerna och sedan publicera det?
3. Någon bättre förslag kanske?

Comments

Min rekommendation är att

frjo's picture

Min rekommendation är att absolut gå med förslag 1 och bygga upp en ny installation på korrekt sätt. Den installation du beskriver är svår och tidskrävande att hålla uppdaterad.

Varje gång du uppdaterar Drupal core och enskilda moduler måste du manuellt flytta över de förändringar du gjort. I längden är detta ohållbart och i min erfarenhet leder det till en sidan som inte uppdateras alls och därmed snabbt blir en säkerhetsrisk.

Det bästa är att sätta upp en lokal utvecklingsmiljö så du kan göra all utveckling på din egen dator. Då kan du där testa nya uppdateringar och funktioner innan du lägger ut dem på servern.

För att få riktig koll ska du sedan börja använda versionshantering för all din kod.

Ett ytterligare förslag

cato's picture

Om du nu vill behålla dina ändringar i core - är att göra en patch av dina ändringar och sen checka ut en ny version av drupal och applicera din patch på den.

Skapa patch

cvs diff -up > example.patch

Sen är det väl generellt en dålig idé att hacka core, bättre att göra en modul av dina ändringar och lägga upp den på drupal.org.
Allt i Drupal kan ju hookas/overridas så det finns ingen egentlig anledning att göra core-hack. Vill du ändra på någon funktionalitet så skapa en modul som lägger till eller ändrar just det beteende i core som du vill ändra.

MEN, nu pratar vi ju om vad du ska göra nu när du har en deadline och jag antar att du faktiskt behöver några av de ändringar du gjort i core. Jag ser tre vägar du kan gå:

1) Skapa patchar av dina ändringar, checka ut senaste drupal och applicera dina patchar på den (inte hållbart i längden iom att koden i drupal ändras med tiden och även apiet)

2) Skapa patchar och gå igenom exakt vad du vill ändra på, leta upp respektive hook/funktion och skapa en egen modul som implementerar rubbet. Detta blir då hållbart i längden så länge du kan underhålla och uppdatera din modul i relation till drupals api.

3) Kasta ändringarna, gör om - gör rätt.

I fortsättningen rekommenderar jag att du kör åtminstone två separata drupal-installationer och sköter dessa med Drush. Skapa en drupal för test och en som är din live-version. Gör båda installationerna lika från början och synka innehåll från live till test, gör sedan dina ändringar och din utveckling på test innan du använder drush för att synka upp det till live. På så vis undviker du att "kladda" på live samtidigt som du kan utveckla / testa precis så mycket du vill. Går allt åt helvete så synkar du bara ner databasen från live till test igen och så kan du börja om.

Vad är det förresten du behövt hacka core för att fixa?

Mvh
Christopher Cato
MiniMedia

tack för tipset..

peewee80's picture

frjo: att göra en ny installation verkan vara de bästa alternativet, men eftersom jag har nu ca 40 medlemmar på sidan, hur blir det med dessa? Kan jag på något sätt behålla mina medlemmar eller försvinner dessa? kanske använda mig av nuvarande databasen?

Cato: Det här med patcha har jag inte någon erfarenhet av, vad menas med det?
Jag har nog inte ändrat så mycket i core modulerna, enbart redigerat någon system.css fil och moduler som advanceforum och sånt, inget på moduler som: views eller liknande.

kan jag inte göra så här istället:

Starta en ny installation i en underdomän, därefter försöka kopiera över filerna från mitt nuvarande installation, men då i rätt katalog istället?
För att sajten fungerar korrekt just nu, dock känns det att jag tappat greppet om vad som är vad, med massor med moduler och dylik.

Patch

cato's picture

En patch är egentligen en fil med information om vad som ändrats i en fil eller i ett bibliotek. Genom att köra cvs diff -up > fil.patch skapas den filen. Patchen kan sedan användas för att applicera samma ändringar på en ren fil dvs en som inte ändrats.

När jag har behov av att ändra utseendet på drupal core av olika anledningar brukar jag helt enkelt ta och skapa ett tema och göra ändringarna där i temats css-er vilket lämnar core orört.

För att se exakt vilka ändringar du gjort i din drupal rekommenderar jag att skapa en identisk installation i en mapp "bredvid" den du ändrat och att du där laddar ner samma moduler och samma drupal-version men utan att hacka filerna. Sen kör du en diff -r på de två mapparna för att se vad som ändrats / lagts till / tagits bort. Förslagsvis kör du diff -r mapp1 mapp2 > fil.txt så kan du sen i lugn och ro gå igenom filen (fil.txt) för att se ändringarna. Detta är ett bra stöd när du ska så att säga rensa den drupal du hackat.

Har du dessutom inte hackat coremodulerna så har du egentligen inget att oroa dig för, dock tycker jag att dina ändringar i system.css kanske borde göras i ditt tema istället om det låter sig göras.

//Christopher

Tack

peewee80's picture

Tack Caro för svaret och förklaringen.
Efter att ha gått igenom sajtens core, så verkar det inte som jag har ändrar något där.
Jag kommer definitiv senare att göra en diff som du beskrev, verkar vara en utmärk sätt för oss " amatörer" att se vilka misstag vi gjort och lära oss av det.

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: