About

Archive for September, 2008

Νέο software στο blog

Εδώ και μερικές ημέρες έχω αλλάξει το software του blog μου. Το προηγούμενο software το είχα γράψει εγώ, ήταν πολύ απλό και είχα αρχίσει να θέλω features που δεν είχα χρόνο και όρεξη να γράψω. Έτσι “βγήκα στην γύρα” για αναζήτηση blogging software που θα ικανοποιούσε τις ανάγκες μου.

Το νέο software είναι το byteflow , είναι γραμμένο σε Django. Το byteflow έχει πολλά χαρακτηριστικά, αλλα αυτά που εγώ ήθελα κυρίως είναι:

  • Να υποστηρίζει τουλάχιστον μια Lightweight Markup Language. Το να γράφεις τα post σε Markdown αντί για HTML είναι πολύ σημαντικό. Επίσης οι WYSIWYG editors δεν με βολεύουν γιατί βγάζουν απαράδεκτη HTML γεμάτη με HTML entities. Ειδικά στα Ελληνικά κείμενα δεν διαβάζεται η HTML.
  • Syntax Highlighting σε τμήματα που περιέχουν κώδικα. Το byteflow δεν υποστηρίζει ακόμα syntax highlighting αλλα είναι παρα πολύ εύκολο να προστεθεί αυτή η δυνατότητα για κείμενα με markdown σύνταξη. Το έφτιαξα μόνος μου. Θα ακολουθήσει post με λεπτομέρειες για αυτό.
  • Pingbacks

Πέρα απο τα features που ήταν σημαντικά για εμένα , το byteflow έχει αρκετά ακόμα features όπως:

  • threaded comments
  • Σωστή διαχείριση των χρηστών (το πρώτο comment ισούται εγγραφή, έχεις λογαριασμό, κλπ κλπ)
  • Υποστήριξη Gravatar
  • Captcha ( και ReCaptcha ) support
  • OpenID
  • Themes (Η δημιουργία theme θα πρέπει να είναι σαφώς ευκολότερη απο κάποια γνωστά PHP πακέτα αφού το Django χρησιμοποιεί μια πολύ απλή templating γλώσσα και δεν έχει PHP/SQL/HTML/Whatever ανακατεμένα σε ένα αρχείο.)
  • Κάνει import απο το wordpress.
  • Javascript preview στα comments και απάντηση στο comment που θές (απαραίτητο αφού είναι threaded τα comments)
  • Στα φιλτράρισμα με βάση τα tags υποστηρίζει σύνολα (intersection με + και union με το |). Για παράδειγμα, αν θέλουμε όλα τα posts που έχουν τα tags django και greek: http://kill9.eu/tag/django+greek/ , ενώ αν θέλουμε όλα τα posts που έχουν τα tags django ή greek τότε: http://kill9.eu/tag/django|greek/ Με τον ίδιο τρόπο φτιάχνουμε και feeds. Πολύ χρήσιμο feature. Κάποιος μπορεί να θέλει μόνο άρθρα σε Django που είναι γραμμένα στα Ελληνικά. Απλά ζητάει το intersection των django και greek tags.
  • Και άλλα πολλά όπως ένα προαιρετικό WYSIWYG editor (που μάλιστα μοιάζει ενδιαφέρον αλλα δεν πρόλαβα να τον εξερευνήσω ακόμα) , XFN , κλπ.

Αν και έγραψα scripts για να κάνω μεταφορά της database απο το παλιό στο καινούργιο, δυστυχώς τα comments δεν μπορούσα να τα μεταφέρω χωρίς να ενοχλήσω όσους είχαν σχολιάσει στο παρελθόν (μιας και είναι υποχρεωτική η εγγραφή τώρα, στέλνει email με επιβεβαίωση) Θα προσπαθήσω να τα προσθέσω όταν κάποιος κάνει σχόλιο στο μέλλον (και φτιάξει προφίλ δηλαδή).

To byteflow αναπτύσσεται ενεργά και η εγκατάστασή του είναι εύκολη. Υπάρχουν μερικά bugs και κάποια απο τα default themes δεν δουλεύουν σωστά.

Διαθέσιμο και το source code για το gentoo-users.org

Το είπα και το έκανα.
Το source code για το gentoo-users.org είναι διαθέσιμο εδώ: http://code.google.com/p/genmap/
Έχω κάνει μια προσπάθεια να καταγράψω τα requirements. Λογικά τα περισσότερα θα υπάρχουν σε μια τυπική διανομή , εκτός ίσως απο sorld-thumbnail, django-registration και django-tagging που όλα υπάρχουν στο google code. Απλά svn checkout και python setup.py install (ή symlink το σχετικό directory στo /usr/lib/python2.5/site-packages )
Προσοχή στο checkout θα πρέπει το trunk να το μπεί σε ένα directory με το όνομα genmap
πχ:
svn checkout http://genmap.googlecode.com/svn/trunk/ genmap
Βug reports are greatly appreciated. Thanx go to homunculus and Rene Jochum for their bug reports.

Ξεκίνημα του www.gentoo-users.org

Πριν λίγο ανέβασα το www.gentoo-user.org.
Είναι ένα google maps mashup όπου οι χρήστες της διανομής Gentoo μπορούν να γραφτούν και προσθέσουν την γεωγραφική θέση τους.

Μπορείτε να δείτε τους πλησιέστερους χρήστες σε εσάς (με χιλιομετρική απόσταση) να δείτε το προφίλ τους και γενικά είναι μια προσπάθεια να δούμε που υπάρχουν κοινότητες (η να δημιουργηθούν!).

Το site δουλέυει με Django με χρήση του contrib.gis (GeoDjango). Τρέχει στο slicehost, σε διανομή … Gentoo :p

Ελπίζω να κάνω και διαθέσιμο μέσω open source άδειας τον κώδικα σύντομα.

The eagle has landed

Με 4.000 commits, 2.000 bug fixes , προσθαφαιρέσεις 350.000 γραμμών κώδικα,και 40.000 νέες γραμμές documentation το Django 1.0 είναι εδώ.
Στις πολύ σοβαρές αλλαγές σε σχέση με την προηγούμενη έκδοση (0.96.x) έχουμε:
  • Refactored ORM. Με προσθήκη inheritance, και πολλά νέα κόλπα.
  • Newforms. Το νεο σύστημα των forms που αντικαθιστά το παλαιό.
  • Νέο Admin βασισμένο στο newforms
  • GeoDjango. Το Γεωγραφικό framework για Django υπάρχει πλέον σαν contrib στο django.contrib.gis
  • Βελτιωμένη υποστήριξη unicode
  • Αυτόματο escaping στις μεταβλητές στα templates. Προσθέτει ασφάλεια σε XSS attacks.
  • Νέα διαχείριση των αρχείων (και uploads). Πλέον είναι pluggable. Θες τα uploads να πηγαίνουν απευθείας στο S3 Amazon storage? Κανένα πρόβλημα
  • Νέο django.contrib.comments. Το παλαιό έτσι και αλλιώς ήταν undocumented γιατι θα άλλαζε. Η αλλαγή έγινε και έχουμε και documentation.

Υπάρχουν πάρα πολλές αλλαγές μικρότερης εμβέλειας,πολλά bugs που φτιάχτηκαν (και ένα δικό μου :p ).
Απο τα αγαπημένα μου είναι τα named url patterns, όπου δίνεις ένα όνομα στο URL που θες και στα templates δεν κάνεις hardoced τα links αλλα τα ‘ζητάς’ με ένα ειδικό template tag {%url urlname%}. όπου urlname το όνομα του url που έχεις δώσει στο urls.py. Ετσι μπορείς να αλλάξεις όλη την δομή των URL σου χωρίς καμμία αλλαγή στην HTML σου.