Project

General

Profile

Bidra till Kåren

Kårhussajten har egentligen ingen utveckling men det finns lite fel och brister här och var som behöver rättas till. Hjälp är alltid välkommet.

De saker du vill göra med sidan ska finnas i uppgiftslistan, antingen så har någon lagt in det eller så gör du det själv. Hur du skriver vettiga uppgifter i listan är en annan fråga; se bara till så att det är tydligt.

Kommunicera med sändlistan åtminstone när du är klar med en uppgift; gärna innan. IRC-kanalen #sis kan i viss mån användas också.

Få tag på koden

Koden finns i mercurial-servern och hämtas med SSH på följande sökväg:
ssh://hg@hg.sis.bthstudent.se/dumpsite/karen

För att kunna använda mercurial-servern behövs två saker.
  1. SSH-anslutning till hg.sis.bthstudent.se
  2. SSH-nyckel i mercurial-servern

SSH-nyckeln löser brother åt dig. SSH-anslutningen mot hg.sis.bthstudent.se finns exempelvis via London.

Sätta upp en utvecklingsmiljö

Linux

Följande (debian-)paket är ett absolut minimum
  • apache
  • php5
  • php5-mysql
  • php5-ldap
  • mysql-server
  • mysql-client
  • mercurial
  • mer? fyll på isf...
  1. sudo aptitude install php5 php5-mysql php5-ldap mysql-server mysql-client
    • apache/php5 och mysql behöver inte nödvändigtvis köra på samma maskin, se avsnittet om inställningsfilen nedan
  2. logga in i mysql med root-kontot
  3. lägg till användare och databas till mysql
    • CREATE USER 'karen'@'%' IDENTIFIED BY 'hejhej';
      • skapar användaren karen med lösenordet hejhej och tillåter den att använda vilken värd som helst (%). Detta är inte alltid önskvärt.
    • CREATE DATABASE karendev;
    • GRANT ALL ON karendev.* TO 'karen'@'%';
      • observera att GRANT ALL är en väldigt bred rättighet, livemiljön kör inte med denna breda rättighet.
  4. lägg till lokalt värdnamn för karen till din maskin. eller använd ett "riktigt" domännamn som går att slå upp.
    • redigera filen /etc/hosts
    • "127.0.0.1 karen.local"
  5. skaffa koden
    • hg clone -U ssh:/dumpsite/karen ~/hg/karen
      • Detta förutsätter att du har fått tillgång till koden via mercurial-server och ssh.
  6. skapa sedan en arbetskatalog för koden
    • hg clone ~/hg/karen ~/proj/karen
  7. lägg till en virtuell värd i apache
    • redigera filen /etc/apache2/sites-available/karen.local
      <VirtualHost *:80>
        ServerAdmin sis-karen@bthstudent.se
        AddDefaultCharset utf-8
        DocumentRoot /home/brother/proj/karen/code
        ServerName karen.local
      
        LogLevel debug
        CustomLog /home/brother/log/karen.access.log combined
        ErrorLog /home/brother/log/karen.error.log
      </VirtualHost>
      
    • /home/brother... byts då ut till det som är relevant i ditt fall.
  8. lägg till katalog för loggning
    • mkdir /home/brother/log
  9. aktivera den virtuella värden i apache.
    • sudo a2ensite karen.local
  10. aktivera mod_rewrite
    • sudo a2enmod rewrite
  11. starta om apache
    • sudo /etc/init.d/apache restart
  12. läs upp databasen till mysql
    • mysql -u karen -p karendev < ~/proj/karen/db/structure.sql
    • mysql -u karen -p karendev < ~/proj/karen/db/data.sql
  13. Lägga till inställningsfil
    • kopiera config.inc.php till local-config.inc.php
    • redigera local-config.inc.php, exakt varenda värde behöver nog inte ställas in... eller? databas och att sätta på debugläge är nog viktigast.

Jobba med koden i versionshanteringssystemet

  1. uppdatera din kopia i ~/hg/karen
    1. cd ~/hg/karen
    2. hg pull
  2. uppdatera din arbetskopia
    1. cd ~/proj/karen
    2. hg pull
    3. lös eventuella konflikter och sånt. (typ hg merge osv. det lär man sig efter hand)
  3. koda på det du håller på med.
  4. gör diskreta commits, det vill säga en typ av ändring i varje commit. blanda inte in flera olika saker i samma commit. att ändra i flera filer är dock helt okej. ändra dock inte på andra rader än de som behövs för att utföra ändringen du sysslar med, då hålls storleken på din ändring ned och det är enklare att följa vad som hänt. övergripande ändringar görs i egna commits efter att ha kommunicerats med övriga så att det inte ställer till besvär (typ indentera om en fil eller så).
  5. uppdatera ~/hg/karen (hg pull)
  6. uppdatera (hg pull) din arbetskopia (~/proj/karen)
  7. lös eventuella konflikter
  8. flytta ändringar ett steg uppåt i kedjan (hg push)
  9. när de finns tillgängliga för någon som kan granska ändringarna kommunicerar du detta, se även nästa stycke

Tips

Redmine reagerar på nyckelord i commitmeddelanden!
  • closes: #777
  • fixes: #777
  • stänger: #777
    • sätter uppgift #777 i läget Resolved och Progress till 90% done.
  • refs: #123
  • references: #123
  • IssueID: #123
    • lägger en referensruta i uppgiften som pekar på den aktuella uppgiften.

Få din kod inkluderat i huvudarkivet

Finns ingen sådan restriktion idag.