Posts Tagged ‘ Tips

Powershell til rutine opgaver

Jeg havde i dag behov for at undersøge hvor en række domæner (ca. 50) var hostet.

Da jeg ikke havde lyst til at slå dem op manuelt, besluttede jeg mig for at undersøge hvordan man kunne gøre det på en smartere måde.

Der er selvfølgelig mange forskellige måde man kan gøre det på, men valget faldt i denne omgang på et lille Powershell script. Scriptet tjekker indholdet af en tekst fil, hvor jeg har domænerne liggende, og tjekker for hver linje i filen, hvor domæner er hostet.

Jeg endte med nedenstående script:

1
2
3
4
5
6
# Loop over each line in my domain document
foreach ($domain in Get-Content "C:\Development\Powershell\DomainList.txt")
{
# Do nslookup
nslookup -querytype=NS $domain
}

Mit script gemte jeg i nslookup.ps1 og derefter kunne jeg kører scriptet med denne kommando i powershell prompten:

1
C:\Development\Powershell\nslookup.ps1 > C:\Development\Powershell\output.txt

kommandoen gemmer outputtet fra mit script i filen output.txt.

Outputtet fra scriptet kan ses her under, og her får man hurtigt et overblik over hvor de forskellige domæner ligger

Server:   UnKnown
Address:  10.211.55.1

hardcode.dk nameserver = ns3.gratisdns.dk
hardcode.dk nameserver = ns2.gratisdns.dk
hardcode.dk nameserver = ns5.gratisdns.dk
hardcode.dk nameserver = ns4.gratisdns.dk
hardcode.dk nameserver = ns1.gratisdns.dk
Server:   UnKnown
Address:  10.211.55.1

google.com  nameserver = ns2.google.com
google.com  nameserver = ns1.google.com
google.com  nameserver = ns3.google.com
google.com  nameserver = ns4.google.com

Scriptet tog et par minutter at lave, og jeg sparede knap en times “spændende” rutine arbejde.

Tak til Kevin Steffer for at give mig ideen til at bruge Powershell til opgaven :-)

Top 5 URL parametre i Dynamicweb

Jeg har lavet en top 5 liste over de fedeste URL parametre som du kan smide op i URL’en på en Dynamicweb løsning. Så ved du ikke helt hvad du kaste op i URL’en, så kan du prøve en af de fem bedste, eller dem alle sammen hvis du er lidt naughty.

Den uofficielle top 5

1. ?ID=[side id]
Den her kommer du ikke uden om! Selv om brugervenlige URL’er nærmest er et must i dag, så indtager ?ID= stadig en solid første plads.

2. ?Purge=True
Hvis din template rettelse ikke slå igennem med det samme, så er det sikkert den her du lige skal have smidt i URLen.
Den sørger lige for at intent bliver læst fra cachen når siden renderes! NICE!

3.  ?SaveTemplateXml=True og ?SaveXml=True
Disse 2 deler tredje pladsen, da de stortset gør det samme.
De sørger for at der bliver gemt en XML fil, så du kan se hvilke data du har tilgængelig i dine XSLT templates.
?SaveXml=True gemmer XML for dine menuer, og ?SaveTemplateXml=True gemmer for resten. (forudsat at du bruger XSLT templates.)

4. ?Styleid=[id]
?Styleid=[id] er efterfølgeren til ?PageTemplate=[template fil] (som ikke virker længere). ?Styleid=[id] gør det muligt at skifte dit stylesheet ud på en given side, så du f.eks. kan teste et nyt layout eller en CSS ændring uden de store problemer.

5. ?MasterTemplate=[template fil]
?MasterTemplate=[template fil] gør det muligt at skifte din master template ud. Dette er f.eks. nytigt hvis du skal have lavet et XML udtræk eller have rendere nogle elementer til et AJAX kald.

Dem der ikke kom med

Jeg ved at der findes en masse andre tags som f.eks. Printfriendly=[id], men for at være helt ærlig, så er det en dødsejler, og print burde håndteres med et CSS dokument til print, så brugerne bare kan trykke ctrl+p.

Et anden tag som heller ikke når op på min top 5 er ?Pdf=True, det er stadig lidt buggy, og fungerer ikke på alle sider. Men når det kommer til at spille kan jeg sagtens se potentialet i det, hvis det f.eks. kan kombineres med de andre tags.

Det er værd at nævne at kombinationen af 4 og 5 gør det muligt uden brug af ekstra sproglag, at lave et helt blankt lag, som f.eks. kan bruge til at rendere XML til dine flash elementer eller jQuery ting, og hvem kan ikke li’ jQuery?

Hvis du syntes min top 5 er helt hen i vejret, eller du mener at der er en parameter som bare er meget bedre end dem jeg har listet, så skriv din egen top 5 i en kommentar. Måske kan du et tag jeg slet ikke kender til :)

[Edit: 18-05-2010]
Jeg er blevet gjort opmærksom på en ekstra parameter som kan være nyttige.

?dbstat=true
renderer informationer om database forbindelser ud på siden. Dette kan være nyttigt hvis man skal tjekke om der bliver lavet unødvendigt mange kald til databasen, f.eks. pga. custom moduler.


Favorit moduler til Drupal

Drupal er et stærkt content management system, men det kan med et par ekstra moduler hurtigt blive endnu bedre. I dette indlæg vil jeg liste nogle af de modul som jeg altid installere når der skal bygges websites i Drupal.

Administration menu

Modulet tilføjer en menubjælke i toppen som giver adgang til alle moduler og områder i administrationen.

En fed lille ekstra feature er er man hurtigt kan tømme Drupals cache, hvilket er et must når man arbejder med templates.

Du kan læse mere om modulet og hente der her : Administration menu

Views

Views er modulet som ikke kan undværes. Modulet gør det muligt at lave forskellige udtrak af nærmest alle oplysninger i Drupal databasen.

Et af de scenarier hvor jeg ofte bruger Views, er når jeg skal lave en nyhedsoversigt eller en relaterede nyheds liste. Her sætter man modulet op til at hente alle nyheder ud, og derefter sætter man forskellige filtre op.

Hvis jeg kun havde plads til et ekstra modul i Drupal, så ville det være Views

Du kan læse mere om modulet og hente der her : Views

Content Construction Kit (CCK)

CCK modulet gør det muligt at udvide noder med ekstra felter. Felterne kan være af forskellige typer, som f.eks. tekst, billed eller dato. Det findes et hav af moduler som udvider CCK.

Views modulet er “integreret” med CCK, så man når man laver sine udtræk med Views kan trække fra sine ekstra CCK felter.

Du kan læse mere om modulet og hente der her : CCK

Global Redirect

Global Redirect er et modul som udvider hvordan Drupal håndtere dine URL’er på. En af de vigtigste features er at den sørger for at man ikke har to URL’er som viser der samme indhold.

Drupal laver altid en URL som f.eks. ‘www.domæne.dk/node/1′, men med Global Redirect oversættes adressen altid til den kanoniske URL som kunne være ‘www.domæne.dk/side/min_side’

Modulet kræver at man har Clean URLs aktivere i Drupal.

Du kan læse mere om modulet og hente der her : Globel Redirect

CKEditor / Wysiwyg

CKEditor modulet udvider Drupal med en ny tekst editor. Editoren indeholder alle de funktioner man kan forvente, og der er muligt at definere hvilke tools der skal fremkomme i værktøjslinien.

CKEditor kræver Wysiwyg modulet, som er det modul der binder Drupal sammen med andre editorer.

CKEditor kræver at man først henter selve editoren fra http://ckeditor.com/ og derefter Wysiwyg fra http://drupal.org/project/wysiwyg.

Du kan læse mere om modulet og hente det her : http://drupal.org/project/ckeditor

Har du et favorit modul, eller syntes du der mangler noget på listen, så skriv en kommentar så før jeg tilføjet modulet til listen.

Min Drupal tjekliste

Når man skal i gang med at sætte et nyt site op i Drupal, så kan man godt blive overvældet over de mange indstillinger, som man skal ind og ændre.

Jeg havde i starten lidt problemer med at finde alle de steder jeg skulle huske og rette, og når man så måske også har nogle ekstra moduler (om hvem har ikke det) , så kan det hurtigt blive uoverskueligt.

Jeg har med tiden opbygget en mental tjekliste over de indstillingen som jeg skal huske og rette, og til gavn for mine kolleger og andre som måske har lidt svært ved at huske, så har jeg valgt at få den skrevet ned, og det blev så her på bloggen.

Min Tjekliste

Date and time

  1. Ret Default time zone til den korrekte tidszonen, jeg får tit hostet mine løsninger på amerikanske servere, så ofte er tidszonen ikke GMT +1
  2. Sæt First day of week til mandag
  3. Tilføj dansk dato format til First day of week.
    Jeg sætter Short date til “d-m-Y H:i” som giver mig en dato som denne 29-03-2010 15:01. Medium og long en en stardard værdi som passe fint til mine behov.

File system

  1. Ret File system path til : “files”
    Det giver kortere URL’er når man linker til filer og billeder, og det er lettere at finde mappen via FTP.
  2. Ret Temporary directory til en folder som findes på serveren.
    Tit er stien på serveren, og på den egen maskine forskellig, derfor bruger angiver jeg “tmp”, hvilket gør at midlertidige filer skrives til folderen tmp i roden af mit website.

Clean URLs

  1. Tjek at Clean URLs er sat til “Enabled”

På serveren

  1. Opret Modules, Libraries og Themes folderne under \sites\all.
    Det er i disse folder der skal ligges moduler, themes og f.eks. en ny editor ind, så jeg opretter dem altid fra starten af, så de ligger klar når jeg begynder at sætte mit site op.

Når jeg har klaret ovenstående så begynder jeg at sætte mit Theme op, men det må blive en historie til en anden dag.