Η υποστήριξη συνεργασίας Eclipse ορίζει API τα οποία επιτρέπουν σε πρόσθετες λειτουργίες την ενοποίηση της λειτουργίας διατήρησης εκδοχών και διαχείρισης ρυθμίσεων ενός χώρου αποθήκευσης. Η λειτουργία που παρέχεται από ένα χώρο αποθήκευσης επηρεάζει ουσιαστικά τη ροή εργασιών του χρήστη, καθώς υπάρχουν επιπλέον βήματα για την ανεύρεση αρχείων, τη σύγκριση του περιεχομένου τους με το τοπικό περιεχόμενο, την τήρηση των εκδοχών τους και την επιστροφή ενημερωμένων αρχείων στο χώρο αποθήκευσης. Σκοπός του API της πρόσθετης λειτουργίας συνεργασίας είναι να είναι αρκετά παθητικό ώστε να επιτρέπει στους παροχείς πρόσθετων λειτουργιών του χώρου αποθήκευσης να ορίζουν τη δική τους ροή εργασιών, έτσι ώστε οι χρήστες που είναι εξοικειωμένοι με το προϊόν να μπορούν να χρησιμοποιούν έναν παρόμοιο τρόπο και να παρέχουν υποστήριξη για τις ροές εργασιών, οι οποίες είναι χρήσιμες για πρόσθετες λειτουργίες συνεργασίας.
Ο σκοπός αυτός επιτυγχάνεται με την παροχή διαφόρων ενοτήτων δόμησης:
Ένας παροχέας χώρου αποθήκευσης επιτρέπει το συγχρονισμό των πόρων του χώρου εργασίας με μια απομακρυσμένη θέση. Το ελάχιστο που επιτρέπει είναι η προώθηση πόρων του χώρου εργασίας σε μια απομακρυσμένη θέση και η μετακίνηση των πόρων από μια απομακρυσμένη θέση μέσα στο χώρο εργασίας. Ένας παροχέας χώρου αποθήκευσης συσχετίζεται με ένα έργο και ελέγχει τους πόρους του έργου, παρέχοντας προαιρετικά μια διεπαφή IFileModificationValidator και IMoveDeleteHook. Υπάρχει μόνο ένας παροχέας χώρου αποθήκευσης που συσχετίζεται με κάθε έργο. Ένας χρήστης συσχετίζει έναν παροχέα χώρου αποθήκευσης με ένα έργο, παρέχοντας μια διεπαφή IConfigurationWizard. Οι παροχείς του χώρου αποθήκευσης μπορούν επίσης να συμμετέχουν στην εξαγωγή και την εισαγωγή έργων στο χώρο εργασίας, μέσω της λειτουργίας συνόλου έργου συνεργασίας. Για την υποστήριξη αυτή, ο χώρος αποθήκευσης θα πρέπει να υλοποιεί μια κλάση ProjectSetCapability.
Επιτρέπει σε άλλες πρόσθετες λειτουργίες να υποδεικνύουν τον ειδικό χειρισμό των πόρων σε σχέση με τις λειτουργίες συνεργασίας. Ο παροχέας χώρου αποθήκευσης μπορεί να σημειώνει τους πόρους ως ιδιωτικούς σε μια συνεργασία, οπότε ουσιαστικά οι πόροι αποκρύπτονται από τις άλλες πρόσθετες λειτουργίες. Αυτό πραγματοποιείται μέσω της μεθόδου IResource#setTeamPrivateMember και πραγματοποιείται συνήθως για την απόκρυψη από τον χρήστη των μετα-αρχείων που αφορούν στον παροχέα χώρου αποθήκευσης. Επίσης, τα εργαλεία δόμησης θα σημειώνουν συχνά τα δεδομένα εξόδου δόμησης ως "προέκυψε", το οποίο αποτελεί μια υπόδειξη προς έναν παροχέα χώρου αποθήκευσης ότι ο πόρος είναι προσωρινός και μπορεί να παραβλεφθεί από τον παροχέα του χώρου αποθήκευσης. Ένας παροχέας μπορεί να ελέγχει τον ενδείκτη αυτόν σε έναν πόρο, μέσω της μεθόδου IResource#isDerived.
Επιπλέον, άλλες πρόσθετες λειτουργίες μπορούν να παρέχουν υποδείξεις προς τον παροχέα χώρου αποθήκευσης σχετικά με τις πληροφορίες είδους αρχείου, μέσω της επέκτασης org.eclipse.team.core.fileTypes και σχετικά με κοινά αρχεία τα οποία θα πρέπει να παραβλέπονται από το χώρο αποθήκευσης, μέσω της επέκτασης org.eclipse.team.core.ignore.
Η υποστήριξη συγχρονισμού παρέχει κλάσεις και διεπαφές για τη διαχείριση δυναμικών συλλογών από πληροφορίες συγχρονισμού (SyncInfo, SyncInfoSet). Η υποστήριξη αυτή σας βοηθά να διαχειρίζεστε πληροφορίες σχετικά με παραλλαγές των πόρων στο χώρο εργασίας. Για παράδειγμα, με το FTP θα μπορούσατε να αποθηκεύσετε τα αποτυπώματα χρόνου για το τελευταίο απομακρυσμένο αρχείο και τη βάση για τον πόρο που φορτώνεται εκείνη την στιγμή. Η υποστήριξη συγχρονισμού παρέχει API με σκοπό να συμβάλλει στη διαχείριση και στη μονιμοποίηση των παραλλαγών πόρων και για να εμφανίζει την κατάσταση συγχρονισμού προς τον χρήστη.
Η υποστήριξη ενοποίησης λογικών μοντέλων ορίζει ένα API που επιτρέπει στα λογικά μοντέλα να συμμετάσχουν σε λειτουργίες συνεργασίας. Στις προβολές που βασίζονται στα μοντέλα, οι παροχείς μοντέλων μπορούν να χρησιμοποιήσουν αυτή την υποστήριξη προκειμένου να εμφανίσουν διακριτικά και λειτουργίες συνεργασίας στα στοιχεία μοντέλων. Στις προβολές που βασίζονται σε πόρους (όπως για παράδειγμα η λειτουργία πλοήγησης πόρων), οι παροχείς μοντέλων μπορούν να χρησιμοποιήσουν αυτή την υποστήριξη προκειμένου να επικυρώσουν ότι οι λειτουργίες που εκτελούνται σε πόρους δεν θα καταστρέψουν το μοντέλο, καθώς και να διασφαλίσουν ότι οι όλοι οι πόροι που αποτελούν ένα στοιχείο μοντέλου περιλαμβάνονται στις λειτουργίες συνεργασίας. Για λειτουργίες συγχώνευσης σε επίπεδο συνεργασίας, το API επιτρέπει στους παροχείς μοντέλων να χρησιμοποιούν σημασιολογία μοντέλου κατά τη διάρκεια λειτουργιών συγχώνευσης, καθώς και να συμμετέχουν στην προεπισκόπηση της λειτουργίας συγχώνευσης. Η περιγραφή της υποστήριξης της ενοποίησης λογικών μοντέλων διαιρείται στην ενότητα Οδηγίες ενοποίησης χώρων αποθήκευσης με λογικά μοντέλα και στην ενότητα Οδηγίες ενοποίησης μοντέλων με λογικά μοντέλα.
Η υποστήριξη περιβάλλοντος χρήστη είναι επίσης δομημένη με παθητικό τρόπο. Τα σύμβολα κράτησης θέσης για ενέργειες του παροχέα συνεργασίας, προτιμήσεις και ιδιότητες ορίζονται από την πρόσθετη λειτουργία περιβάλλοντος χρήστη συνεργασίας, αλλά εξαρτάται από τον παροχέα πρόσθετης λειτουργίας συνεργασίας να ορίζει αυτά τα στοιχεία του περιβάλλοντος εργασίας. Η πρόσθετη λειτουργία περιβάλλοντος χρήστη συνεργασίας περιλαμβάνει επίσης έναν απλό, επεκτάσιμο οδηγό ρυθμίσεων, που επιτρέπει στους χρήστες να συσχετίζουν έργα με χώρους αποθήκευσης. Οι πρόσθετες λειτουργίες μπορούν να παρέχουν περιεχόμενο για τον οδηγό αυτό, επιτρέποντας έτσι στον χρήστη να προσδιορίζει τις πληροφορίες του χώρου αποθήκευσης.
Μέσα σε μια πλατφόρμα μπορούν να συνυπάρχουν χωρίς πρόβλημα πολλοί παροχείς χώρου αποθήκευσης. Στην πραγματικότητα, είναι πιθανό να υπάρχουν εγκατεστημένες ακόμη και διαφορετικές υλοποιήσεις πελάτη για τον ίδιο χώρο αποθήκευσης. Για παράδειγμα, μπορείτε να εγκαταστήσετε έναν πελάτη CVS σχεδιασμένο για έμπειρους χρήστες και ένα διαφορετικό για τους αρχάριους χρήστες.