Είναι μία από τις πιο συχνές ερωτήσεις που δέχομαι από συνεργάτες που ενδιαφέρονται για τη μεταπώληση του 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