Recently I had to help with a site switch from the Joomla! CMS to WordPress. There is an tool published in the Worpdress website which can be found here:

http://codex.wordpress.org/Importing_Content#Joomla

http://www.onestopjoomla.com/extensions/migrate/joomla-to-wordpress-import-wizard/

but it doesn’t work for the new versions of these CMSes. There is an error that has to do with WordPress post_category field, which being obsolete for many versions,now has been removed. This can be easily tackled by altering the INSERT INTO query in the index.php a bit like this:

$query = “INSERT INTO “.$wptblprefix.”posts (id, post_author, post_title, post_content, post_date, post_modified, post_name) VALUES (”, ‘$ID5′, ‘{$import[1][$j]}’, ‘{$import[2][$j]}’, ‘{$import[3][$j]}’, ‘{$import[4][$j]}’, ‘$post_name’)”;

I.e. you have to remove the “,post_category” and the corresponding VALUE. This must be done in 2 points at the code, find them with a search.

You may also easily substitute the “default” author ID in WordPress with the actual author ID from Joomla! dynamically. You can do this like that:

  • alter the SELECT from Joomla! query by adding “created_by”:

/* Performing SQL query */
$query = “SELECT id, title, introtext, `fulltext`, created, modified, created_by FROM “.$joomlatblprefix.”content WHERE `sectionid` = ‘$section’”

  • load the VALUE into the import ARRAY:

while ($row = mysql_fetch_assoc($result)) {
$import[0][$i] = mysql_escape_string($row["id"]);
$import[1][$i] = mysql_escape_string($row["title"]);
$import[2][$i] = mysql_escape_string($row["introtext"].”<br /><!–more–><br />”.$row["fulltext"]);
$import[3][$i] = mysql_escape_string($row["created"]);
$import[4][$i] = mysql_escape_string($row["modified"]);
$import[5][$i] = mysql_escape_string($row["created_by"]);

$i++;

}

  • in the while loop, replace the following code:

$j = 0;
while ($j < $i) {

/*select author */

//62,63,67,69 are the author IDs in the Joomla! database table  jos_users and author1,…,author4 are the corresponding usernames in the WordPress databse

if($import[5][$j]==”62″) $authorusername=”author1″;
if($import[5][$j]==”63″) $authorusername=”
author2“;
if($import[5][$j]==”67″) $authorusername=”
author3“;
if($import[5][$j]==”69″) $authorusername=”
author4“;

/* Create an acceptable WP post_name */
$post_name = sanitize_title_with_dashes($import[1][$j]);

These changes helped me transfer my content (around 300 articles) from Joomla 1.5.16 to WordPress 3

  • Share/Bookmark

Έγραψα πριν λίγο καιρό για το επεισόδιο με το carrier update της Vodafone, που κλείδωνε το tethering. Συγκεκριμένα, πριν 2-3 μήνες  κυκλοφορήσε για την συσκευή, μια ενημέρωση λογισμικού (carrier update) μέσω του iTunes, η οποία “κλείδωνε” την λειτουργικότητα tethering για την συσκευή για τους χρήστες Vodafone. Aυτό γιατί η Vodafone Hellas αποφάσισε να αναγκάσει τους χρήστες να αγοράσουν κάρτα όποτε χρειαστούν την λειτουργικότητα και να πλήρώσουν επιπλέον (http://www.vodafone.gr/portal/client/cms/viewCmsPage.action?pageId=8639)
Η συγκεκριμένη ενημέρωση όμως, έδινε την δυνατότητα να την αγνοήσεις (Cancel) και το tethering συνέχιζε να λειτουργεί κανονικά. Αυτό έκανα κι εγώ μετά από επικοινωνία με την εταιρεία  και ακόμα και σήμερα το χρησιμοποιώ απρόσκοπτα.

Την Δευτέρα όμως κυκλοφόρησε από την Apple και νέα αναβάθμιση του λειτουργικού συστήματος του iPhone (iOS4), το οποίο προσφέρει πολλές νέες δυνατότητες στην συσκευή, την κάνει πιο γρήγορη, ενώ και όλες οι εφαρμογές πλέον θα είναι συμβατές με την έκδοση αυτή. Στην αναβάθμιση αυτή όμως, η Apple προφανώς σε συνεργασία με την Vodafone, προχώρησε σε ενσωμάτωση του προαναφερθέντος carrier update, χωρίς να ερωτάται ο χρήστης αν θέλει να εφαρμόσει και αυτή την αναβάθμιση, κλειδώνοντας την δυνατότα tethering οριστικά, σύμφωνα με πληροφορίες που βρήκα σε forums και Twitter. Ως τώρα δεν είχα εφαρμόσει το update, για τον λόγο αυτό.

Το συμβόλαιό μου περιλαμβάνει και πακέτο δεδομένων και ένας από τους βασικούς λόγους που έκανα την επιλογή του συγκεκριμένου πακέτου και της συγκεκριμένης συσκευής ήταν το tethering. Αν δεν υπήρχε η δυνατότητα tethering, δεν θα είχα λόγο να επιλέξω το συγκεκριμένο πακέτο δεδομένων, καθώς είναι αδύνατον να καταναλώσω όγκο 1Gb/μήνα, μόνο μέσω του iPhone.

Έστειλα πάνω κάτω τα παραπάνω στην Vodafone μέσω της φόρμας επικοινωνίας στο site τους, ενημερώνοντάς τους ότι αυτό το θεωρώ παράβαση των όρων του συμβολαίου μου (που λήγει σε 8 μήνες) . Επίσης τους ενημέρωσα οτι:

  • δεν θα προχωρήσω στην αγορά του καινούριου iPhone 4 για το οποίο ήδη έχω κάνει εκδήλωση ενδιαφέροντος και κράτηση από την σχετική φόρμα
  • σκέφτομαι να διακόψω το συμβόλαιό μου ζητώντας  να με πληροφορήσουν για την διαδικασία που θα πρέπει να ακολουθήσω για να μεταβώ σε άλλον πάροχο (WIND και Cosmote επιτρέπουν το tethering κανονικά).
  • επιφυλλάσομαι να προβώ σε καταγγελία στην ΕΕΤΤ για αυτό που εγώ θεωρώ παράβαση των όρων του συμβολαίου

Σήμερα η Vodafone με ενημέρωσε (προφανώς αξιολογώντας ως δικαιολογημένη την αντίδρασή μου), ότι παρόλο που το tethering κλειδώνει οριστικά, μου παρέχει κωδικούς πρόσβασης στην κλειδωμένη υπηρεσία για το υπόλοιπο του συμβολαίου μου. Οι κωδικοί είναι 10ήμερης διάρκειας, οπότε είναι αρκετοί :) Επίσης ο όγκος των δεδομένων που μου παρέχεται (10Gb/μήνα) δεν θα σχετίζεται με το data plan πουέχω για το iPhone (1Gb/μήνα).

Αυτό, παρόλο που είναi μια δυσκολία το να ανατρέχεις στο αρχείο όποτε χρειάζεσαι την πρόσβαση, από το να συνδέεσαι απλώς, το θεωρώ μια αποδεκτή λύση έως το τέλος του συμβολαίου μου.

  • Share/Bookmark

DELL charger

Επειδή δεν μ’ αρέσει μόνο να γκρινιάζω, θα αναφερθώ και πάλι (μετά τα Dell next business day , Dell next business day no2) στην DELL :) )

Εδώ και κάποιον καιρό, όταν ξεκίναγε το laptop μου, στο post έκανε ένα μπιπ μπιπ και με ενημέρωνε ότι κάτι κακό συμβαίνει με την τροφοδοσία ρεύματος. Δεν έδωσα και πολλή σημασία, με ένα F2 συνέχιζα κανονικά. Υποψιάστηκα μάλιστα ότι ίσως η μπαταρία μου τα έφτυσε και ετοιμάστηκα να μπω σε έξοδα όταν τα φτύσει τελείως. Αυτό έγινε μετά από ένα μήνα από τα πρώτα συμπτώματα. Πλέον η μπαταρία δεν φόρτιζε καθόλου και αν αποσύνδεεες τον φορτιστή, ο υπολογιστής έσβηνε τελείως και αμέσως!

Πριν παραγγείλω την νέα μπαταρία, μου έκοψε και πήρα ένα τηλέφωνο στην υποστήριξη της DELL (το τηλέφωνο της οποίας δεν είναι πολύ εύκολο να βρεις στο site τους είναι η αλήθεια!). Για πλάκα άλλωστε ανανέωσα τον Σεπτέμβρη την εγγύηση για άλλα 3 χρόνια;

Αποδείχτηκε πολύ σοφή κίνηση, καθώς η κοπέλα που απάντησε με ενημέρωσε ότι πρόκειται πιθανότατα για πρόβλημα του φορτιστή. Χωρίς πολλά πολλά, μου ζήτησε διεύθυνση και με ενημέρωσε ότι θα μου έστελνε την επόμενη κιόλας μέρα και χωρίς κανένα κόστος για μένα, νέο φορτιστή! Αν δεν λυνόταν και έτσι το πρόβλημα, θα μου αλλάζανε και πάλι motherboard όπως ξανακάνανε και στο παρελθόν. Μπορεί αυτό να ακούγεται λίγο τρομαχτικό, αλλά και τις προηγούμενες 2 φορές που χρειάστηκε το DELL support, δεν είχα κανένα πρόβλημα με αλλαγές keyboard και motherboard!

Ο φορτιστής ήρθε και πλέον το λαπτοπάκι δουλεύει και πάλι μια χαρά!

Επεκτείνετε τις εγγυήσεις DELL όταν λήγουν! Αξίζει!

  • Share/Bookmark

Χτες τυχαία πέτυχα στο twitter κάποια μηνύματα χρηστών, που διαμαρτύρονταν για την κατάργηση του ελεύθερου iPhone tethering από την Vodafone (πρακτικά η χρήση του iPhone ως modem για να συνδεθείς στο internet από το laptop σου) . Πιο συγκεκριμένα αναφέρομαι στα μηνύματα των χρηστών Jimbo77 και dtsomp:
http://twitter.com/dtsomp/statuses/10580616828

iPhoneάδες της Voda: πιέστε μαζικά. Απειλήστε για διακοπή συμβολαίου. Αν μπορείς να κάνεις tether με ίδια SIM/άλλο κινητό, είναι ΚΟΡΟΪΔΙΑ.

http://twitter.com/Jimbo77/statuses/10580575518

Vodafone + iPhone Tethering #fail http://goo.gl/fb/rFSH

Το δοκίμασα αμέσως και είδα ότι στο δικό μου τηλέφωνο εξακολουθούσε να λειτουργεί. Η απάντηση ήρθε από τον dtsomp. “Εφταιγε” το ότι δεν είχα κάνει update το κινητό μου μέσω iTunes. Πράγματι, όταν το συνέδεσα, με ενημέρωσε ότι υπάρχει νέο “carrier update”, το οποίο φυσικά απέφυγα να εφαρμόσω. Πιστεύω βέβαια ότι δεν θα την γλυτώσω για πολύ, καθώς σίγουρα θα το ενσωματώσει και σε επόμενο firmware update η Apple.

Ενημέρωσα φίλους και γνωστούς που έχουν iPhone και επιβεβαιώθηκε ότι όσοι κάνανε update, δεν μπορούν πλέον να χρησιμοποιήσουν το tethering. Σήμερα μάλιστα, συνάδελφος από το γραφείο κάλεσε την υποστήριξη της Vodafone. Και επίσημα επιβεβαίωσαν ότι κλειδώσανε το tethering, αλλά αυτό που είναι τραγικό είναι η δικαιολογία που αναφέρουν όταν τους ρωτάς γιατί:

“Κλειδώθηκε για λόγους ασφαλείας” λέει, “γιατί διαμαρτυρήθηκαν χρήστες για υπέρογκες χρεώσεις”.

ΠΑΤΕ ΚΑΛΑ ΡΕ; Εγώ προσωπικά έχω data plan 1Gb/month και ο συνάδελφος έχει πακέτο unlimited και τα χρυσοπληρώνουμε κάθε μήνα και τώρα μας λέτε ότι για να μην χρεώνεται ο άλλος που δεν έχει, ισχυρίζεστε ότι το κλειδώνετε σε όλους; Π.χ.ένας φίλος είναι καθηγητής σε Πανεπιστήμιο της επαρχίας και το χρησιμοποιούσε για να μπει στο internet όταν ήταν εκτός, τώρα πώς περιμένετε να καταναλώσει το umlimited πακέτο του; Βλέποντας τα email του και το twitter από το iPhone;

Όταν υπογράφαμε το συμβόλαιο, το tethering ήταν ανοιχτό και προφανώς ήταν και παράγοντας απόκτησης του πακέτου, το να έχεις internet με το laptop σου μέσω 3G από το κινητό, αν κάπου το χρειαστείς. Τώρα το καταργείτε και μάλιστα στα μουλωχτά χωρίς να ενημερώσετε κανέναν;

Πόσο υποκριτικό είναι ότι το κλειδώνετε για να αποφύγουν κατά λάθος υπέρογκες χρεώσεις οι χρήστες; Ειδικά με το tethering θα το κάνετε αυτό; Μόλις πρόσφατα ο αδερφός μου πλήρωσε τα κέρατά του σε σας επειδή από το Nokia κινητό του, αντι να συνδέεται μέσω του wifi του σπιτιού, έμπαινε κατά λάθος μέσω του 3G. Το tethering που θέλει και κάποια διαδικασία να το ενεργοποιήσεις από το iPhone ήταν το πρόβλημα;

Απότι μας ενημέρωσε το support της Vodafone, πλέον για να ξεκλειδώσεις το tethering θα πρέπει να … αγοράζεις έξτρα κάρτες χρόνου σύνδεσης στο Internet! Είστε αστείοι! Εγω δίνω γύρω στα 70Ε/μήνα πάγιο για 1Gb transfer και καταναλώνω το πολύ 100mb σε νορμάλ χρήση, άλλος δίνει 100Ε/μήνα για unlimited πακέτο και έρχεστε και μας λέτε τώρα ότι για να χρησιμοποιήσουμε τον όγκο αυτό εφόσον χρειαστεί από το laptop, θα πρέπει να πληρώσουμε έξτρα;

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

Κανονικά κάτι τέτοιο θα σήκωνε μεγάλη αντίδραση από οργανώσεις καταναλώτών κλπ, αλλά στην Ελλάδα δεν ελπίζω σε πολλά. Άλλωστε αυτή η εταιρεία ίσως δεν θα έπρεπε να δραστηριοποιείται σήμερα στην Ελλάδα, για διάφορους λόγους. Αυτό που προτείνω, είναι όποιος μπορεί να κάνει ένα τηλ στην υποστήριξη της Vodafone και να απειλήσει με διακοπή συμβολαίου, ώστε να καταγραφεί η διαμαρτυρία του, μπας και ιδρώσει λίγο το αυτί τους (που δεν το νομίζω)

Μια συζήτηση για το θέμα, στην οποία ενδεχομένως να βρεθούν και κάποιες λύσεις, γίνεται εδώ:

http://www.maclife.gr/forum/showthread.php?t=5089

  • Share/Bookmark

struts2-merger2

Just a quick code snippet, that couldn’t find anywhere on the net as an example and my colleague Aggelos offered to me :)

#if( $actionErrors.size() > 0 )
#foreach( $msg in $actionErrors )
[$msg]<br/>
#end
#end

Same for fieldErrors. Use them instead of the default #sactionerror , #sfielderror etc to produce custom html. If you only need css formatting, override your css as described in the comments on this webpage. Of course, you can always override the default freemarker template for errors on the struts jar file, to provide uniform handling of error formatting

  • Share/Bookmark

Me social

twitter: thkouk
facebook: thkouk
linkedin: thkouk
picassaweb : thkouk
youtube: thkouk
friendfeed: thkouk
delicious: thkouk

 

July 2010
M T W T F S S
« Jun    
 1234
567891011
12131415161718
19202122232425
262728293031