In these days we are discussing about the visible things available in Commons and I would like to bring to the community the point of view of an “architect” of a big group of 450 companies with 37.000 employees, talking about the invisible things that may be part of Commons.
These companies are grouped in regional federation and they use different informatics systems. Different because each company use many different applications to address different business task. And Different because for the same task a company in a region uses a software some time different to the one used by another company in another region.

All around Internet is possible to find many open source solutions that offer out of the box social network, knowledge sharing, project management, document management or Social CRM. Some of these are great software; and they start to add themselves feature that are the core business of Commons.

  • Project.net is one of the best open source project management platform and from the latest release has a section where you can have discussions, blogs and wikis to support the projects
  • The same we can say about Alfresco on the side of Document Management that start offering the same social networking features

So, why I need Commons if I can have the same thing already integrated in other tools that do also other things important to me? The answer is: because Commons do it better
And then, why add project management or document management features to Commons when we can have it better with Project.net and Alfresco? I just need that my users could move easily form one application to another.

Another architectural “issue” present in my mind is: We often need to setup a new “application” and this can sometime be done with Drupal. But I don’t want to transform Commons to adapt to my need because when the next time a new Commons release comes it will be my trouble to have everything working. I desire that my Commons site is the more close possible to the standard distribution and if I need to setup something with Drupal I would prefer to create a new site.

For all these things I think Commons will be more appreciated if it can be easily integrated in a complex environment instead of becoming a complex software.

That why under the hood of one of the next Commons release I hope to find, as standard part of the distribution, all the features that will let be easy the integration with other software.

The most important feature is the single sing-on or the sharing of the user database. What would be great is that a user login to his corporate PC and could enter Commons without type again username and password and from Commons could follow a link and enter directly and authenticated:

  • A custom Drupal site which host the custom application developed to face a business need.
  • A Project.net installation for project management
  • An Alfresco site for document management
  • A LimeSurvey site to manage complex surveys
  • ...

And vice versa, from the Drupal site, project.net, Alfresco and Lime survey back to Commons
To do it will be necessary to include in the Commons distribution modules like:

If Commons could be easily integrated in a complex corporate environment I don’t care to choose between Commons and other different software that do similar stuff. I Just install Commons and use it because is a wonderful piece of software that does very well what it was designed to do.

CommentFileSizeAuthor
#8 Intranet.jpg9.73 KBAndrea C

Comments

crimsondryad’s picture

My use case as a company intranet is similar to yours, but I can't agree with adding all these extra modules to the distro that the vast majority of folks aren't going to use. It is a lot easier to add additional modules to a distro than to take them out and I can see this making maintenance a headache. More modules will also result in slower performance, higher resource usage, and more potential security holes.

Also, the cmis project only has a dev release, which means it's not getting security reviews. There is no official release in sight and it looks like the project has stalled.

izkreny’s picture

Thank you Andrea for sharing your detailed point of view.

I must agree with crimsondryad, adding too much stuff into the distro out of the box is not the way to go forward.

Although I don't have company intranet as my use case, I think we all share important feature request: make it easy to expand Commons site based on your use case.

IMHO, for above to be possible first you need to met two requirements:

  1. Decoupled code - in our case features,
  2. Easy way to add needed functionality - we have already features, although Apps could probably do it easier.

All above mentioned requirements are considered in Commons 3.x development, as noted in Commons D7 MVP User stories post: "As much as possible, have the technical components separate enough to be a flexible accelerator for site building" and #1512846: Commons position on Open App Standard issue.

I suggest moving forward with this issue in a collaborative way by discussing, architecting and building "Company intranet" feature(s) by all interesting parties.

crimsondryad’s picture

mariomaric, agreed on making it easy to extend. The plural is a good choice for feature(s). There are a lot of diverse needs, from a security standpoint I would be reluctant to use a particular feature if it was too loaded with stuff I didn't need. So maybe if those were grouped into chunks of related functionality it would be better.

For instance, on my intranet, we probably won't do a lot of activity streams on the home page. I'm not sure if we would list most active groups either, or a list of members. Though we will most definitely use a lot of the group collaboration stuff "under the covers". The home page would be a list of views for more "corporate communication" stuff with links out to other sections. This was why I was kinda on board with the dashboard approach, though we can likely implement something similar with panels.

So bundling activity stream stuff in with SSO stuff wouldn't be that useful. Or maybe offer "stacks" of additional feature modules to "plugin" as add-ons. Maybe this is what apps does, my understanding was that apps were full next-gen distros (including core), not just a bundle of modules. Is that right?

izkreny’s picture

The plural is a good choice for feature(s). There are a lot of diverse needs, from a security standpoint I would be reluctant to use a particular feature if it was too loaded with stuff I didn't need. So maybe if those were grouped into chunks of related functionality it would be better.

Hehehe, at the end there could be so much diverse needs that only logical solution would be using specific modules as they are because difference between features and modules wont be able to cover the cost of developing features.

But, with Apps it's a different story, because their big bonus is UI/UX improvements, especially in downloading and configuring it - even if app is all about one module. Something similar is on Commons 3 radar but for features: #1558174: Define installer setup tasks

Maybe this is what apps does, my understanding was that apps were full next-gen distros (including core), not just a bundle of modules. Is that right?

Hm, not quite correct, but yes, principle behind Open App Standard can make Drupal distros appealing and easier to set up.

Most recent info from one of the initiators of OAS: http://www.agileapproach.com/blog-entry/drupal-firms-are-making-their-di... (and probably outdated discussion about Apps Store).

I forgot to comment on one IMHO important feature request that Andrea mentioned:

But I don’t want to transform Commons to adapt to my need because when the next time a new Commons release comes it will be my trouble to have everything working.

This is post-MVP item (based on Commons D7 user stories):

"As a site builder/developer I would like to be easily able to override Commons components through the UI and store them so that they are not overridden so that I can upgrade Commons and retain default feature states in code."

I don't believe this need to be post-MVP, and as soon as there will be Commons 3.x-alpha I will try "Explore the extent to which Features_override module makes this easier for site builders" and make myself and any other site builder happier if we achieve to ship this with 3.0. :) Help welcome, of course.

crimsondryad’s picture

Hehehe, at the end there could be so much diverse needs that only logical solution would be using specific modules as they are because difference between features and modules wont be able to cover the cost of developing features.

Definitely there is a fine line here. It will be interesting to see how that works out.

But, with Apps it's a different story, because their big bonus is UI/UX improvements, especially in downloading and configuring it - even if app is all about one module. Something similar is on Commons 3 radar but for features: #1558174: Initial feature configuration screen

I haven't entirely wrapped my head around the whole apps thing, but YES! That is very similar to what I had in mind. If there are several modules required to build specific functionality, we should get them all in one bundle, but be able to plug n play with them. I was thinking like an app for CAS Logins, one for SAML logins, etc. Where the CAS stack would include CAS, cas_attributes, ldap_integration; SAML would include SAML, ldap_integration, etc. But maybe not CAS and SAML together? Alfresco wouldn't be in that app because it's not a sign on solution ( like maybe it would have its own app?)

This is post-MVP item (based on Commons D7 user stories):

"As a site builder/developer I would like to be easily able to override Commons components through the UI and store them so that they are not overridden so that I can upgrade Commons and retain default feature states in code."

I don't believe this need to be post-MVP, and as soon as there will be Commons 3.x-alpha I will try "Explore the extent to which Features_override module makes this easier for site builders" and make myself and any other site builder happier if we achieve to ship this with 3.0. :) Help welcome, of course.

Agreed, this will fundamentally affect upgrading and maintainability. Due to the complexity of everything that is being included, architecting it right out of the box just makes sensetm.

Andrea C’s picture

There is always a cost. If you buy a commercial architecture for intranet’s tool from a big vendor probably you don’t have to pay the cost to integrate a Social Media web site like commons with a DMS, a CRM, a CMS for the main corporate web site, a project management tool , all indexed by the same enterprise search engine. They are probably all integrated, but you know, they don’t come for free: the licensing and maintenance cost are really high.

In the last years a new trend is emerging in corporate organization. It has been named Enterprise 2.0 now changed in “Social Business”. Very, very shortly: since the end of 1950’s has been discovered that an organizations based on collaboration are more efficient than then the hierarchical ones and now we have the technology to spread the collaboration. You can have a look here http://socialbusinessmanifesto.com.

But transforming an organization from hierarchical to collaborative is a very complex issue of change management. In this change, technology is the smaller problem – the bigger is cultural – that’s why an enterprise that want to begin this trip could start using open source software as a gym, where employees can exercise a new way to communicate an relate with the colleagues. And this can be a big opportunity for Drupal Commons to enter the market, and for all the Commons expert to do business supporting the enterprises.

But what happens when from the gym level we move to the production level? The integration of Drupal Commons with the other parts of the intranet becomes fundamental. But if this integration (adding and configuring modules like LDAP, CAS,CMIS and all the other mentioned in previous posts) is done by an employee or single consultant programmer or even a single external support company, the risk for the enterprise to get in trouble in a next future is too high to be taken.

Different is if these integrations are packet in Drupal Commons (or in one of its feature, or in one of its app) whose knowledge is shared by the community.

Otherwise, if the knowledge of the integration is only in few people, is better to move to a commercial solution.

I’m not a developer, so I cannot help technically, I’m just a Drupal Commons user, but if I was in a position to be a Drupal Commons expert I would take care of this opportunity. Is letting it be desirable by companies that Commons can offer to its expert the opportunity to pay money for all the great works done until now.

I can tell all this because is what is happening to me. We are adopting the social business model but when we started this adventure none of the member of the board would accept to spend money for something they were considering not useful or probably dangerous. We started because a lot of free software, including Drupal and Drupal Commons, is available. Now the informal collaboration prove his benefits and probably in the next future we’ll need to move from the gym level to the official one, and probably we will have to leave commons (where I spent many night and days of my free time) to move to something more “enterprise” level.

But never say never. Drupal Community already proved his brightness.

crimsondryad’s picture

But what happens when from the gym level we move to the production level? The integration of Drupal Commons with the other parts of the intranet becomes fundamental. But if this integration (adding and configuring modules like LDAP, CAS,CMIS and all the other mentioned in previous posts) is done by an employee or single consultant programmer or even a single external support company, the risk for the enterprise to get in trouble in a next future is too high to be taken.

There a billion different enterprise apps. It just isn't feasible to include them all as a central part of the distro AND it would ultimately make it unmaintainable.

I can tell all this because is what is happening to me. We are adopting the social business model but when we started this adventure none of the member of the board would accept to spend money for something they were considering not useful or probably dangerous. We started because a lot of free software, including Drupal and Drupal Commons, is available. Now the informal collaboration prove his benefits and probably in the next future we’ll need to move from the gym level to the official one, and probably we will have to leave commons (where I spent many night and days of my free time) to move to something more “enterprise” level.

I am living this...the executive level doesn't want to spend a lot of money in our organization either. BUT...Drupal can be pretty heavy out of the box for those not experienced with performance tuning it. While I am definitely advocating for Commons use in the Enterprise, I recognize that this is mostly an edge case. The vast majority of folks that will install this are going to be hobbyists, smaller social groups, or SMBs. ie, not enterprise.

The biggest benefit is broad adoption and making Commons so heavy it can't run on a smaller hosting package is going to alienate a lot of folks. Putting a set of modules in a separate "app" to easily install on top of Commons, not in it is a more scalable solution.

Andrea C’s picture

StatusFileSize
new9.73 KB

Thank you Angela in helping to understand this complex subject
I think we like the same thing, keep Drupal Commons simple. What I have not clear is the following.
Imagine we would like to have in our intranet a project/task management tool, is better:
a) to add it in Commons like in Open Atrium, or
b) just add to Commons (as a Module or as a Feature or as an App – I’m not a PHP/Drupal programmer, so I don’t know the complexity behind) a Single Sign On engine that enable user to move transparently to another software specialized on project management

My idea is that option b) could be simpler and can be used also to integrate with other tools that follow one of the SSO standard is possible to add to Commons (so, the problem is choose the best SSO engine)

What do you think is easier and with minor maintenance work for the Commons mantainers: a) or b) ?
Then, I don’t think to integrate billion of different enterprise apps. The idea is to work on little, as number, but big as enterprises tasks addressed, other tools.

Look at the picture attached: is taken from a one of the most wide commercial framework for enterprise intranet, Microsoft SharePoint. In my idea, Commons act as the one who provide the “Collaboration” App and may be the Calendar App.

Said that SSO is a general integration “module”, we could think about which are the Open Source software that satisfy the others Apps of the SharePoint picture for which Commons can provide an easy integration. For one of them I have a more strong idea: LimeSurvey for surveys and voting because:

  1. Is a PHP software that can be easily installed on the same sever as Commons
  2. Has already its own Drupal module for integrations http://drupal.org/project/limesurvey_sync

For Documents management the choice could be between Alfresco and KnowledgeTree (but ideas are welcome). For both of them, as Crimsondryad already said, the development seems stoped, so, if no one reopen it, we can just stop at SSO level of integration.
And for other stuff like project management the discussion is open.

Another "integration" tool really important is the search engine: see #1712026: Site search feature

But the main subject that Angela pointed out is

The vast majority of folks that will install this are going to be hobbyists, smaller social groups, or SMBs. ie, not enterprise.

Would be interesting the point of view of Ezra and Acquia on this

Andrea C’s picture

Are video management useful in Commons? Instead of adding video capabilities in Commons, can be the integration with Kaltura a good option?
(see: http://drupal.org/project/kaltura)

crimsondryad’s picture

Kaltura is a paid tool. Seems to me that adding the media module and giving folks the option to add on additional modules would be the most broad solution. Out of the box, Commons should strive for free / open source options.

erasmosis’s picture

Has anyone figured out how to get single sign on working across subdomains?
I have been trying bakery, but no luck yet. Really hope one of you figured it out.
Thanks!

lsolesen’s picture

Version: » 7.x-3.x-dev