I am working for a non-profit organization. Over the years, we have collected and developed several plugins and apps for our website. For example an events database, library catalog, phone list, blog, wiki, etc. These have been developed using various languages (Notes, J2EE, .NET, PHP) and are running on various servers. Some of the plugins are embedded in the pages of our website, others just open new windows with a complete new layout.
Now we want to have a system where our plugins will be better integrated into our site, plus the freedom to later change CMS and continue using our plugins.
My question is, is there a (de facto) standard for plugins that is independent of the CMS? Our demands are (in order of importance):
Uniform layout and navigation
Search results combined for all plugins
Single sign-on for back-end(s)
One back-end for all plugins
I've been looking at several approaches, including using iframes, developing uniform skins for each webapp, scraping the output from pages to insert it into the main site, "thin" integration based purely on RSS, iCal, etc. However none of these approaches has given a satisfying result.
What are your ideas? How do you approach or prevent these pitfalls?
You already have your pitfalls! The Devils Brew of app languages will make it a little difficult to "standardize" anything without rewriting code. If you are using a Domino server now the WebSphere solution might be the best bet to integrate everything with just a little tweaking. If you are currently on a .NET or LAMP server, Plone CMS or Hippo CMS might be good options to look at. Lotus Notes can be run on Windows or LAMP servers without too much aggravation.