Το Eclipse παρέχει ένα πλήθος στρατηγικών για την υποστήριξη εγκαταστάσεων πολλαπλών χρηστών. Κάθε στρατηγική ικανοποιεί ένα συγκεκριμένο σενάριο. Αυτό το έγγραφο καλύπτει αυτές τις στρατηγικές, περιγράφοντας πότε θα πρέπει να χρησιμοποιείται η κάθε μια. Οι αναγνώστες στους οποίους απευθύνεται είναι οι μηχανικοί προϊόντων που ρυθμίζουν ένα προϊόν με βάση το Eclipse για διανομή, οι διαχειριστές συστήματος που εγκαθιστούν προϊόντα με βάση το Eclipse για χρήση μέσω δικτύου και οι προγραμματιστές που ενδιαφέρονται για τη δημιουργία πρόσθετων λειτουργιών οι οποίοι είναι καλά μέλη σε τέτοιου είδους εγκαταστάσεις.
Τελευταία τροποποίηση: 17 Ιουνίου 2005
Όπως περιγράφεται και στο άρθρο Επιλογές περιβάλλοντος εκτέλεσης Eclipse, υπάρχουν τρεις διαφορετικές θέσεις οι οποίες είναι σημαντικές αναφορικά με την διανομή του Eclipse σε ρυθμίσεις πολλαπλών χρηστών:
Πριν την πρώτη εκτέλεση του Eclipse, η περιοχή ρυθμίσεων αποτελεί ουσιαστικά ένα κενό κατάλογο. Αυτή η θέση σταδιακά συμπληρώνεται από το περιβάλλον εκτέλεσης του Eclipse και από άλλες πρόσθετες λειτουργίες μεταξύ των συνεδριών του Eclipse. Τα περισσότερα μεταδεδομένα που διατηρούνται από το περιβάλλον εκτέλεσης του Eclipse (π.χ. εξαρτήσεις πρόσθετων λειτουργιών, το μητρώο επεκτάσεων) εγγράφονται κατά τον τερματισμός λειτουργίας της πρώτης συνεδρίας. Εάν δεν έχουν γίνει αλλαγές στο σύνολο των εγκατεστημένων πρόσθετων λειτουργιών, δεν χρειάζεται να εγγραφούν δεδομένα κατά τις συνεδρίες που ακολουθούν. Αναφέρουμε ότι στις ρυθμίσεις έχει γίνει απόδοση αρχικών τιμών. Όταν οι ρυθμίσεις βρίσκονται σε αυτή την κατάσταση, είναι δυνατόν ακόμα και να καταστήσουμε την περιοχή ρυθμίσεων ως μόνο για ανάγνωση. Η μετατροπή της περιοχής ρυθμίσεων ως μόνο για ανάγνωση είναι χρήσιμη μόνο σε σενάρια όπως αυτά του τύπου κοινόχρηστων ρυθμίσεων (περισσότερα για αυτό θα δούμε αργότερα).
Η επιλογή γραμμής εντολών -initialize
επιτρέπει σε κάποιον να αποδώσει αρχικές τιμές στην περιοχή ρυθμίσεων χωρίς να απαιτείται η εκτέλεση μιας εφαρμογής του Eclipse. Η διαδικασία απόδοσης αρχικών τιμών επιβάλλει τη δημιουργία οποιωνδήποτε μεταδεδομένων είναι εγγεγραμμένα στη θέση ρυθμίσεων κατά την πρώτη συνεδρία Eclipse. Ωστόσο, διατηρούνται και άλλα αρχεία στην περιοχή ρυθμίσεων τα οποία δημιουργούνται μόνο όποτε είναι αναγκαίο. Παραδείγματα:
Platform.asLocalURL(URL)
. Το αποτέλεσμα είναι ότι εάν το URL αναφέρεται σε ένα αρχείο μέσα σε ένα αρχείο JAR, αυτό το αρχείο θα εξαχθεί στο σύστημα αρχείων μέσα στην περιοχή ρυθμίσεων. Αφού εξαχθεί το αρχείο, οι μετέπειτα κλήσεις στο Platform.asLocalURL()
θα είναι ικανές να το βρουν, συνεπώς δεν θα πραγματοποιηθούν επιπρόσθετες εξαγωγές αυτού του αρχείου. Ένα παρόμοιο (στην πραγματικότητα το αρχικό) σενάριο, όπου το Platform.asLocalURL
χρησιμοποιείται, που έχει τις ίδιες συνέπειες είναι σχετικό με την επιβεβαίωση ότι απομακρυσμένα περιεχόμενα (για παράδειγμα, ένα αρχείο το οποίο είναι προσβάσιμο μέσω ενός http URL) είναι διαθέσιμα τοπικά.Για αυτές τις περιπτώσεις (και άλλες τις οποίες θα μπορούσαν να εισάγουν τριτομερείς πρόσθετες λειτουργίες), η διαδικασία απόδοσης αρχικών τιμών δεν επαρκεί για την πλήρη απόδοση αρχικών τιμών της περιοχής ρυθμίσεων. Θα είναι ακόμη αναγκαίο να γίνεται εγγραφή στην περιοχή ρυθμίσεων, παρόλο που αυτή η αναγκαιότητα τείνει να εξαφανιστεί καθώς πραγματοποιείται επίσκεψη σε όλες οι διαδρομές εκτέλεσης στην εφαρμογή που προκαλούν τη δημιουργία αρχείων στην περιοχή ρυθμίσεων. Μόνο μετά από αυτό θα μπορούσε κανείς να πει ότι έχει γίνει πλήρης απόδοση αρχικών τιμών στην περιοχή ρυθμίσεων και δεν θα απαιτηθεί ποτέ δικαίωμα εγγραφής σε αυτή για την εκτέλεση του Eclipse.
Αυτό αποτελεί στην πραγματικότητα ένα σενάριο ενός μοναδικού χρήστη. Η εγκατάσταση του Eclipse χρησιμοποιείται από έναν μοναδικό χρήστη και ο χρήστης έχει πλήρη δικαιώματα πρόσβασης σε αυτή. Η θέση της περιοχής ρυθμίσεων παραπέμπει ως προεπιλογή στον κατάλογο ρυθμίσεων μέσα στη θέση εγκατάστασης.
Αυτή η διαδικασία ρύθμισης αυτού του σεναρίου απαιτεί απλά την επιβεβαίωση ότι ο χρήστης έχει πλήρη δικαιώματα στη θέση εγκατάστασης.
Σε αυτό το σενάριο, μια μοναδική περιοχή εγκατάστασης είναι κοινόχρηστη από πολλούς χρήστες. O κατάλογος "configuration" μέσα στην περιοχή εγκατάστασης αποτελεί τον κεντρικό κατάλογο μόνο για το config.ini όπως αυτό αποστέλλεται με το προϊόν (δεν έχουν αποδοθεί αρχικές τιμές). Κάθε χρήστης διαθέτει τη δική του τοπική ανεξάρτητη θέση ρυθμίσεων.
Οι ρυθμίσεις για αυτό το σενάριο απαιτούν η περιοχή εγκατάστασης να γίνει μόνο για ανάγνωση για κανονικούς χρήστες. Όταν οι χρήστες εκκινούν το Eclipse, αυτό προκαλεί την περιοχή ρυθμίσεων να τίθεται ως προεπιλογή αυτόματα σε ένα κατάλογο μέσα στον κεντρικό κατάλογο του χρήστη. Εάν δεν ληφθεί αυτό το μέτρο, όλοι οι χρήστες θα χρησιμοποιούν την ίδια θέση για την περιοχή ρυθμίσεών τους, κάτι το οποίο δεν υποστηρίζεται.
Εδώ οι χρήστες μοιράζονται όχι μόνο μια περιοχή εγκατάστασης αλλά επίσης μια κύρια περιοχή ρυθμίσεων. Ως προεπιλογή, οι χρήστες διαθέτουν τις δικές τους ιδιωτικές εγγράψιμες περιοχές ρυθμίσεων. Μια ιδιωτική περιοχή ρυθμίσεων χρήστη είναι τοποθετημένη έτσι ώστε να επικαλύπτεται από τις κύριες ρυθμίσεις και δεν θα περιέχει καμία ενδιαφέρουσα πληροφορία εάν στις κύριες ρυθμίσεις έχουν αποδοθεί πλήρως οι αρχικές τιμές και δεν έχουν πραγματοποιηθεί αλλαγές στο σύνολο των πρόσθετων λειτουργιών που πρόκειται να εγκατασταθούν.
Σε αυτό το σενάριο, ο διαχειριστής του συστήματος αποδίδει αρχικές τιμές στις κύριες ρυθμίσεις (συνήθως μέσα στη θέση εγκατάστασης) και διασφαλίζει ότι το σύνολο των περιοχών εγκατάστασης και ρυθμίσεων είναι μόνο για ανάγνωση για τους χρήστες. Όταν οι χρήστες εκτελούν ένα προϊόν με βάση το Eclipse από την κοινόχρηστη θέση εγκατάστασης, εφόσον δεν διαθέτουν δικαιώματα πρόσβασης για εγγραφή στην περιοχή ρυθμίσεων που βρίσκεται μέσα στην περιοχή εγκατάστασης, μια τοπική περιοχή ρυθμίσεων θα υπολογιστεί και θα αποδοθούν σε αυτή αρχικές τιμές αυτόματα.
Όσο περισσότερο πλήρης είναι η απόδοση αρχικών τιμών στις κοινόχρηστες ρυθμίσεις, τόσο λιγότερο αναγκαίο είναι να δημιουργούνται τα αρχεία μέσα στις τοπικές ρυθμίσεις.
Η προεπιλεγμένη θέση για μια ιδιωτική περιοχή ρυθμίσεων είναι:
<user-home-dir>/.eclipse/<product-id>_<product-version>/configuration
Ο κεντρικός κατάλογος του χρήστη καθορίζεται από την ιδιότητα συστήματος Java user.home
. Η ταυτότητα και η εκδοχή του προϊόντος λαμβάνονται από το αρχείο δεικτών προϊόντος .eclipseproduct
που βρίσκεται μέσα στην εγκατάσταση του Eclipse.
Μια μη προεπιλεγμένη περιοχή ρυθμίσεων μπορεί να καθοριστεί ρυθμίζοντας την ιδιότητα συστήματος osgi.configuration.area
. Αυτή η ιδιότητα μπορεί να ρυθμιστεί από τον τελικό χρήστη, αλλά είναι πιο εύχρηστος τρόπος να οριστεί είτε στο αρχείο .ini της λειτουργίας εκκίνησης είτε στο αρχείο config.ini στη βασική θέση ρυθμίσεων.
Οι πρόσθετες λειτουργίες μπορούν να εγκατασταθούν ή να αφαιρεθούν από τις κοινόχρηστες ρυθμίσεις. Οι χρήστες θα ενημερωθούν για τις αλλαγές αυτές την επόμενη φορά που θα εκτελεστεί το Eclipse. Είναι απαραίτητο να διασφαλίσουμε ότι οι χρήστες που διαθέτουν τις κοινόχρηστες ρυθμίσεις ως τις κύριες ρυθμίσεις τους δεν εκτελούν το Eclipse.
Οι χρήστες μπορούν να τροποποιήσουν τις τοπικές περιοχές ρυθμίσεών τους εγκαθιστώντας επιπλέον πρόσθετες λειτουργίες. Αυτό δεν προκαλεί καμία αλλαγή στις κοινόχρηστες ρυθμίσεις, έτσι οι υπόλοιποι χρήστες δεν θα δουν αυτές τις αλλαγές. Σημειώστε ότι οι πρόσθετες λειτουργίες που ρυθμίζονται στις κοινόχρηστες ρυθμίσεις δεν μπορούν να αφαιρεθούν. Εάν αφαιρεθούν, θα επανεγκατασταθούν την επόμενη φορά που θα εκκινήσει η πλατφόρμα.