Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

Παρουσίαση με Ετικέτες

Όλες οι Ετικέτε... » .NET   (RSS)

Είναι μία από τις πιο συχνές ερωτήσεις που δέχομαι από συνεργάτες που ενδιαφέρονται για τη μεταπώληση του Microsoft Office365 προσθέτοντας κάποια επιπλέον πράγματα που τους έχουν ζητηθεί.

Υπάρχουν διάφοροι τρόποι για να κάνει κανείς customize τις εφαρμογές του on-premise Office (συμπεριλαμβανομένου και του SharePoint). Οι πιο συνηθισμένες είναι:

  • Αλλαγές μέσα από τους designers που παρέχονται out-of-the-box με την εφαρμογή
  • APIs της εφαρμογής που καλούμε από δικό μας client (συχνά λέγεται και client object model)
  • Scripts στο font-end website της εφαρμογής
  • Custom κώδικας στο back-end της εφαρμογής

Γενικά, τα πρώτα δύο επιτρέπονται και τα δύο τελευταία όχι. Εξαίρεση στα δύο τελευταία, αποτελούν για το SharePoint οιexchangeOnline δυνατότητες να έχει κανείς sandboxed solutions και single web part solutions. Τα sandboxed solutions “τρέχουν” στο επίπεδο του site collection και χρησιμοποιούν ένα υποσύνολο του Microsoft.SharePoint namespace.

Επίσης, σενάρια όπως το customization του OWA (Online Web Access του Exchange) δεν επιτρέπονται. Με άλλα λόγια, δεν μπορεί κάποιος να βάλει για παράδειγμα custom κουμπιά με δικό του κώδικα στο ribbon του OWA. Από το documentation:

Users and administrators cannot customize the Outlook Web App interface by adding links, buttons, or custom forms because this type of extensibility would require adding and editing files on Client Access Servers in the Exchange Online infrastructure."

Από την άλλη, υπάρχει διαθέσιμο ένα πλούσιο client object model που δίνει τη δυνατότητα να κληθούν οι περισσότερες (αν όχι όλες) οι backend λειτουργίες. Αν δουλεύει κάποιος με .NET, μάλιστα, το μόνο που χρειάζεται είναι να κατεβάσει το EWS Managed SDK 1.1 και αφού κάνει τα σχετικά referrences στα Dlls του μπορεί να αρχίσει να καλεί τα APIs του Exchange Online. Μερικά λεπτά δουλειά δηλαδή. Documentation υπάρχει άφθονο στο MSDN: http://msdn.microsoft.com/en-us/library/gg591267(v=EXCHG.140).aspx

Για το SharePoint Online τα είπαμε πιο πάνω. Περισσότερα για το τι επιτρέπεται και τι όχι μπορείτε να βρείτε εδώ: http://msdn.microsoft.com/en-us/library/hh147180.aspx (downloadable από εδώ: http://www.microsoft.com/download/en/details.aspx?id=17069).

Άλλο χρήσιμο link για το development στον Exchange Online είναι και το development center: http://msdn.microsoft.com/en-us/exchange/gg490662

SharepointOnline

Δημοσιεύτηκε στις Τρίτη, 22 Νοεμβρίου 2011 1:52 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , , , , , , ,

Πρόσφατα χρειάστηκε να ξαναθυμηθώ το Sync Framework προκειμένου να το παρουσιάσω σε ένα τμήμα από developers, και αναρωτήθηκα τι πρόοδος να έχει γίνει στο πολύ κρίσιμο θέμα της ταχύτητας.Sync

Πριν προχωρήσω στη σύγκριση που έκανα, αξίζει να αναφέρω πρώτα ότι πριν από 2 χρόνια περίπου (καλοκαίρι 2009) είχε προκύψει η ανάγκη σε ένα συνεργάτη να κρατά τα δεδομένα μίας κεντρικής SQL Server βάσης συγχρονισμένα με αυτά που υπήρχαν σε client εφαρμογή που είχε φτιάξει για το Windows Mobile 6.5 (με πολλούς SQL Server Compact Edition, δηλαδή). Βρέθηκε, λοιπόν, στο δίλημμα αν έπρεπε να επιλέξει το Merge Replication, που ήταν από παλιά διαθέσιμο για συγχρονισμό μεταξύ βάσεων SQL Server, ή μια νέα (σχετικά) τεχνολογία ονόματι Sync Framework. Υπήρχαν πολλοί παράγοντες που ενδεχομένως θα έπαιζαν ρόλο στην επιλογή, αλλά επειδή στα κινητά οι χρεώσεις για data επικοινωνία γενικά “τσακίζουν”, η ταχύτητα συγχρονισμού θα ήταν ο αποφασιστικός παράγον. Έκανε, λοιπόν δοκιμές και μου έστειλε τα αποτελέσματα, τα οποία παραθέτω εδώ:

  Merge Replication Sync Framework v1.0
Καμία αλλαγή 1 sec 25 sec
Μία αλλαγή 1 sec 31 sec
5000 inserts 44 sec 4 min

Αν και δεν μπορώ να είμαι σίγουρος πως έγινε το test, έχω εμπιστοσύνη ότι ήταν “δίκαιο” και προς τις δύο τεχνολογίες. Είναι, νομίζω, πασιφανές ότι υπήρχε ολόκληρο χάσμα μεταξύ των δύο, με αποτέλεσμα ο συνεργάτης να διαλέξει το Merge. Τελικά, μάλιστα, ούτε αυτό τον βόλεψε (είναι ελάχιστα ευέλικτο όταν το προσεγγίζεις από προγραμματιστικής σκοπιάς – αυτός είναι και ένας από τους λόγους που δημιουργήθηκε το Sync Framework ως εναλλακτική), οπότε κατέληξε να κάνει κάτι custom δικό του.

Έτσι αναρωτήθηκα αν έγινε πρόοδος με τις καινούργιες εκδόσεις του Sync Framework (επί του παρόντος είμαστε στην 2.1 και έχει βγει σε CTP η 4.0). Έπιασα, λοιπόν, να γράψω λίγο κώδικα ώστε να ελέγξω που είμαστε. Έκανα sync και merge από SQL Server σε SQL Server Express, και για να έχω πλήρη εικόνα έκανα και Sync από SQL Server σε SQL Server CE. Όλοι οι servers και ο κώδικας που έτρεξε ήταν στο ίδιο μηχάνημα. Η κατεύθυνση συγχρονισμού ήταν αμφίδρομη (δηλαδή για το Sync είχαμε και download και upload, ενώ για το Merge είχαμε.. merge και όχι one-way transactional replication). Τέλος, να αναφέρω ότι η επεξεργασία του συγχρονισμού καθορίστηκε να γίνεται στον server, αν και επειδή όλα ήταν στο ίδιο μηχάνημα, δεν θεωρώ ότι έπαιξε ρόλο.

Τα αποτελέσματα:

  Merge Replication Sync Framework v2.1 με SQL Express Sync Framework v2.1 με SQL CE
Καμία Αλλαγή 1 sec 1 sec 0 sec
Μία αλλαγή 1 sec 1 sec 0 sec
5000 inserts 4 sec 7 sec 3 sec

Είναι ξεκάθαρο ότι τα πράγματα έχουν βελτιωθεί κατά πολύ για το Sync Framework. Το αξιοσημείωτο είναι ότι όσες δοκιμές και αν έκανα ο συγχρονισμός με Sync Framework από SQL σε SQL CE έβγαινε πάντα ταχύτερος από τα υπόλοιπα είδη, κάτι που ομολογώ δεν περίμενα, μια και θεωρούσα ότι ο SQL που “κρατάει” πολλά πράγματα στη μνήμη θα ήταν ταχύτερος από τον SQL CE που τα έχει όλα σε ένα αρχείο στο δίσκο. Η απλότητα, όμως, φαίνεται ότι κέρδισε τελικά.

Να σημειώσω ότι και στις δύο περιπτώσεις, το setup που έτρεχα για να θέσω τις παραμέτρους του συγχρονισμού δεν ήταν πάνω από μερικά δευτερόλεπτα. Βέβαια, τα βήματα στην περίπτωση του Merge ήταν τα διπλάσια από αυτά του Sync και ο κώδικας σημαντικά περισσότερος. Τον κώδικα και τα db scripts που χρησιμοποίησα τα έχω επισυνάψει πιο κάτω, αν θέλει κάποιος να επαναλάβει τις δοκιμές ή και να δοκιμάσει άλλες παραλλαγές (π.χ. τι αποτελέσματα έχουμε αν έχουμε τους servers σε διαφορετικά μηχανήματα, ή κάνουμε και upload δεδομένα από τον client). Αν κάνετε δοκιμές ενδιαφέρομαι πολύ να ακούσω από εσάς πως πήγαν.

Τέλος, σε περίπτωση που αναρωτιέστε τι άλλοι παράγοντες υπάρχουν που θα πρέπει να σκεφτείτε πριν διαλέξετε μία από τις δύο τεχνολογίες για συγχρονισμό, τότε προτείνω να διαβάσετε το συγκεκριμένο άρθρο στο MSDN: How to Choose a Data Synchronization Technology – Offline & Collaboration. Θα δείτε ότι η ευελιξία που χαρίζει το Sync Framework σε συνδυασμό με τις λιγότερες γραμμές κώδικα που χρειάζεται συγκριτικά με το Merge Replication, το τοποθετεί σίγουρα μπροστά.

Δημοσιεύτηκε στις Τετάρτη, 28 Σεπτεμβρίου 2011 1:13 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , , ,

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

Αν και ακούστηκαν μερικά παράπονα για αυτή τη στροφή, κυρίως από αυτούς που χρησιμοποιούν OLEDB επί του παρόντος, θεωρώ ότι η αλλαγή καλώς έγινε: η ODBC χρησιμοποιείται από όλες τις πλατφόρμες για επαφή με τον SQL Server και είναι ευρύτατα διαδεδομένη σε αντιδιαστολή με την OLEDB που χρησιμοποιείται μόνο από Windows. Οπότε δεν έχει νόημα για τη Microsoft να συντηρεί δύο τρόπους επαφής με τη βάση όταν κάνουν ουσιαστικά το ίδιο πράγμα, ειδικά μάλιστα με την έλευση του Cloud. Η μόνη ένσταση θα μπορούσε να είναι το performance, αλλά σύμφωνα με τα όσα λένε οι ειδικοί της Microsoft που το εξέτασαν, η ODBC υπερτερεί της OLEDB – αντίθετα με την κοινή πεποίθηση.

Περισσότερες λεπτομέρειες από την επίσημη ανακοίνωση μπορείτε να βρείτε και εδώ: http://social.technet.microsoft.com/Forums/en/sqldataaccess/thread/e696d0ac-f8e2-4b19-8a08-7a357d3d780f

Δημοσιεύτηκε στις Δευτέρα, 5 Σεπτεμβρίου 2011 9:05 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,

Στις 26/7 έγινε διαθέσιμο ένα ακόμα εργαλείο προγραμματισμού από τη Microsoft με το όνομα Visual Studio LightSwitch 2011. Απευθύνεται κυρίως σε απλούς προγραμματιστές ή εταιρίες που δεν έχουν τον χρόνο να μάθουν σε πολύ μεγάλο βάθος το .NET και τις συν αυτό τεχνολογίες, και θέλουν γρήγορα να καλύψουν κάποιες βασικές ανάγκες πελατών τους. Αυτό το κοινό μεγαλώνει ολοένα και περισσότερο τα τελευταία χρόνια, κυρίως λόγω του ότι η τεχνολογικές εξελίξεις καλπάζουν προς κάθε δυνατή κατεύθυνση και δεν έχει κάποιος τη δυνατότητα να τα παρακολουθήσει όλα, ιδίως όταν πρέπει να αναπτύσσει/υποστηρίζει διάφορες εφαρμογές για να καλύψει μία πλειάδα από ανάγκες πελατών του. Ένα κλασσικό παράδειγμα τέτοιων εφαρμογών/προγραμματιστών είναι όλες αυτές που δημιουργήθηκαν με τη βάση δεδομένων Access ή άλλες που έγιναν “φορτώνοντας” το excel με ένα σωρό macros, vba και φυσικά φόρμουλες. Αυτές οι (γενικά απλές στην αρχιτεκτονική) εφαρμογές ήταν πολύ καλές τα περασμένα χρόνια, αλλά καθώς το διαδίκτυο έγινε μία αναγκαιότητα ακόμα και για την πιο μικρή επιχείρηση, ή η παράλληλη δουλειά πάνω σε κάτι, ή η διαφύλαξη των δεδομένων σε καλύτερες υποδομές (βλ. Cloud) και άλλα, αποδεικνύονται πια ανεπαρκείς για τη σύγχρονη εποχή.

Το κενό αυτό ήρθε να καλύψει το νέο εργαλείο της Microsoft, που, όπως υπονοείται και από τον τίτλο, βασίζεται πάνω στο Visual Studio, αλλά αντί για μία πλειάδα διαφορετικών project types, ο προγραμματιστής έχει μόνο ένα είδος στη διάθεσή του: το Lightswitch project type, από το οποίο έχουν δημιουργηθεί πολλά Starter Kits ανάλογα με το τι εφαρμογή θέλει να κάνει. Κάθε starter kit, δηλαδή, είναι μία έτοιμη λύση για συγκεκριμένες περιπτώσεις (π.χ. υπάρχουν λύσεις για Customer Service, Issue Tracker κλπ), γεγονός που υποδεικνύει πολύ καθαρά το ύφος του συγκεκριμένου εργαλείου: σημασία πάνω απ’ όλα το αποτέλεσμα και η ταχύτητα, όχι η τεχνολογία αυτή-καθαυτή. Διαλέγοντας ένα start kit ακολουθεί ένας wizard με μία σειρά από επιλογές/δυνατότητες που μπορούν να προστεθούν αυτόματα, ώστε τελικά να δημιουργηθεί μία πλήρης λειτουργική εφαρμογή χωρίς ο προγραμματιστής να γράψει ούτε μια γραμμή κώδικα. Τέτοιες δυνατότητες αναφέρω ενδεικτικά είναι η δημιουργία μίας rich client ή web εφαρμογής με Silverlight βασισμένης σε MVVM με έτοιμη επικοινωνία με SQL Server (μέσω entity framework), SharePoint, SQL Azure, Access ή απλά Excel, που μπορεί να γίνει αυτόματα deploy σε ένα μηχάνημα, περισσότερα (ακολουθώντας μία πολλαπλών επιπέδων αρχιτεκτονική) ή στο Cloud. Περισσότερα, όμως, για αυτό μπορείτε να βρείτε στο επίσημο site του προϊόντος καθώς και στο blog του Zanders.

Κάτι που βρήκα ιδιαίτερα ενδιαφέρον είναι ότι παρόλο που στην Ελλάδα δεν έχει προβληθεί ιδιαίτερα και παρόλο το ότι μόλις πρόσφατα έγινε RTM, υπάρχουν προγραμματιστές και εταιρίες που το χρησιμοποιούν στην Ελλάδα ήδη από imageτην beta έκδοση και μάλιστα έχουν αναπτύξει εφαρμογές που βγήκαν στην παραγωγή. Ένα τέτοιο παράδειγμα είναι και μία εφαρμογή που αναπτύχθηκε για λογαριασμό κλινικής και είναι πια σε παραγωγικό στάδιο με τους χρήστες να δηλώνουν πολύ ευχαριστημένοι.

Ο δε προγραμματιστής που ανέλαβε την υλοποίηση (ναι, ήταν ένας!) ήταν ενθουσιασμένος. Με τα λόγια του: “Για τον προγραμματιστή είναι Γρήγορο, Εύχρηστο και Αποδοτικό αλλά ταυτόχρονα και Αινιγματικό, μιας και κρύβει πολλές δυνατότητες που σταδιακά ανακαλύπτει τόσο μέσα από την ανάπτυξη των δικών του User Control με το Silverlight όσο και την έξυπνη αξιοποίηση του SQL Server μέσω των Summary fields και των Queries , των Views, των Ελέγχων σε επίπεδο πίνακα και πολλών άλλων.”

Εκατέρωθεν, μπορείτε να δείτε μερικά screenshots από το UI της εφαρμογής. Αξίζει να αναφερθεί ότι κατά την υλοποίηση περισσότερος χρόνος δαπανήθηκε στην όμορφη οπτικοποίηση των δεδομένων μέσω του UI, παρά στην αυτή-καθαυτή λειτουργικότητα, μια και το Lightswitch τα είχε όλα ετοιμάσει εξαρχής.

image

Δημοσιεύτηκε στις Πέμπτη, 4 Αυγούστου 2011 2:00 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , , ,

Είναι γεγονός! Επιτέλους θα πωλείται κανονικά και στη χώρα μας.. και σχετικά φτηνά. Η πλήρης ανακοίνωση που έστειλα από τη Microsoft στους συνεργάτες/πελάτες: (τα specs μπορείτε να τα βρείτε εδώ)

image

Τον Ιανουάριο 2011 η Microsoft παρουσίασε κατά την εκδήλωση του CES την επόμενη έκδοση του πρωτοποριακού υπολογιστή-τραπεζιού ονόματι Microsoft Surface. Σύμφωνα με τα ανακοινωθέντα, η Samsung θα αναλάβει τη διανομή του παγκοσμίως – δίνοντας τον κωδικό SUR40 στο συγκεκριμένο προϊόν.

Με μεγάλη μου χαρά θα ήθελα να σας γνωστοποιήσω ότι λάβαμε επικοινωνία από τη Samsung Hellas ότι πρόκειται να κάνει διαθέσιμο το Microsoft Surface 2.0 και στην Ελλάδα! Η διάθεση θα ξεκινήσει από τον Σεπτέμβριο, αλλά παραγγελίες μπορούν να γίνουν από τώρα. Το service σε περίπτωση ανάγκης θα δίδεται από συνεργάτες της Samsung εδώ στην Ελλάδα και η τιμή στην οποία μπορεί να προμηθευτεί κανείς μία μονάδα θα είναι περίπου € 8000 (στοιχεία επικοινωνίας με Samsung Hellas για ερωτήσεις/διευκρινίσεις δίδονται παρακάτω)

Αναφορικά με το περιβάλλον ανάπτυξης εφαρμογών στο Microsoft Surface 2.0, έχουμε τα εξής:

Description: Description: cid:image002.jpg@01CC46EF.FD0038C0

  • Windows 7 Professional 64-bit edition
  • .NET Framework 4.0
  • Windows Presentation Foundation (WPF) 4.0
  • XNA 4.0
  • Surface 2.0 SDK
  • Windows PowerShell and DMFT DASH support
  • Administration and configuration tools in Surface 2.0

Τα χαρακτηριστικά της μονάδας μπορείτε να δείτε στο παρακάτω πίνακα:

Description: Description: Description: cid:image008.png@01CC3CBB.6E727ED0

Δημοσιεύτηκε στις Πέμπτη, 28 Ιουλίου 2011 12:32 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , , ,
Με αρκετή καθυστέρηση είναι η αλήθεια, αποφάσισα επιτέλους να γράψω ένα post σχετικά

Διαβάστε περισσότερα »

Δημοσιεύτηκε στις Πέμπτη, 10 Ιουνίου 2010 6:02 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , , , ,
Πριν από μερικές μέρες (στις 4 Μαρτίου για την ακρίβεια) έγινε στο Microsoft Innovation Center μία πρωτότυπη μονοήμερη δωρεάν εκπαίδευση με τίτλο “.Net Training μέρα - όλη μέρα!”, που είχε ως θέμα μια εισαγωγή στο Microsoft .NET Framework. Τι το ιδιαίτερο είχε; το εξής: οι συμμετέχοντες (περίπου 90 άτομα) χωρίστηκαν σε 3 ομάδες των 30 και κάθε μία ομάδα πήρε από έναν εκπαιδευτή που

Διαβάστε περισσότερα »

Δημοσιεύτηκε στις Τρίτη, 16 Μαρτίου 2010 4:25 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , , ,
Εδώ και περίπου ένα μήνα ήρθε στην Ελλάδα η πρώτη μονάδα Microsoft Surface μετά από σχετική παραγγελία του DPE τμήματος της Microsoft. Αφού έμεινε στα γραφεία της στο Μαρούσι για 2-3 εβδομάδες (για να το εξερευνήσουμε οι ίδιοι, να το φορτώσουμε demos και να το δείξουμε στην υπόλοιπη εταιρία), μεταφέρθηκε στο Microsoft Innovation Center. Εκεί, παρουσιάστηκε για πρώτη φορά σε κοινή θέα

Διαβάστε περισσότερα »

Δημοσιεύτηκε στις Δευτέρα, 25 Μαΐου 2009 10:16 πμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,
Στις 28 & 29 Απριλίου έγινε στο Microsoft Innovation Center η πρώτη εκπαίδευση για Visual Studio 2010 και .NET 4.0 επί Ελληνικού εδάφους από πλευράς Microsoft για τους Metro early adopters (μία κλειστή ομάδα από software houses που έχουν δεσμευτεί για ανάπτυξη στις νέες τεχνολογίες). Δράττοντας, λοιπόν, την ευκαιρία σκέφτηκα να αναφέρω τα βασικά σημεία της νέας έκδοσης του development

Διαβάστε περισσότερα »

Δημοσιεύτηκε στις Δευτέρα, 4 Μαΐου 2009 2:11 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , , , , , ,
Με το που επέστρεψα από την Αμερική πολλοί με ρώτησαν ποιά sessions θα μπορούσαν να δουν από το Professional Developers Conference για να πάρουν μία "μυρουδιά" της εκδήλωσης (προφανώς λόγω έλλειψης χρόνου δεν μπορεί ο καθένας να δει όλα τα sessions). Αν και στο www.microsoftpdc.com υπάρχει στην πρώτη σελίδα μία λίστα με τα sessions που ψηφίστηκαν ως τα καλύτερα (πολύ ευχάριστο να βλέπει

Διαβάστε περισσότερα »

Δημοσιεύτηκε στις Δευτέρα, 3 Νοεμβρίου 2008 6:38 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , , , , ,
Και το όνομα αυτού... Windows Azure! Πρώτη μέρα στο Professional Developer Conference της Microsoft και η αναμονή επιτέλους τελείωσε, τα αποκαλυπτήρια έγιναν και όλοι πια γνωρίζουν με τι ησχολείτο ο Ray Ozzie από τη στιγμή που προσελήφθη στη Microsoft και μετάπειτα αντικατάστησε τον Bill Gates στο ρόλο του τεχνικού ενορχηστρωτή στην εταιρία. Όλοι πια γνωρίζουν και το λόγο για τον οποίο

Διαβάστε περισσότερα »

Δημοσιεύτηκε στις Τετάρτη, 29 Οκτωβρίου 2008 1:04 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , , ,
Για όσους δεν το γνωρίζουν ήδη, η Microsoft ανακοίνωσε στις 10/6 την έκδοση 1.0 του Open XML SDK, ενός API που επιτρέπει στους developers να γράφουν, να διαβάζουν και να τροποποιούν Open XML έγγραφα. Προσωπικά δεν έχω βρει χρόνο να το κοιτάξω, αλλά έχοντας φτιάξει πέρυσι κάποια proof of concepts με το "στεγνό" System.IO.Packaging του .Net 3.0, θεωρώ μεγάλη βοήθεια το να μπορώ να δουλέψω

Διαβάστε περισσότερα »

Δημοσιεύτηκε στις Δευτέρα, 30 Ιουνίου 2008 2:19 μμ από dimitrik | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,