Company Intranet Development - Organization or Community?

thumbnail
5075256, modified 15 Years ago. Regular Member Posts: 112 Join Date: 6/11/10 Recent Posts
Hello all;

I am tasked with creating a corporate intranet using Liferay (version 5.2.3, JBoss/Postgres). The basic structure involves the creation of a site that has a series of menu items where each menu represents a specific department (or sub-organization) within the company (e.g. Engineering, Sales, Marketing, etc.) We wish to establish a structure where each department is responsible for its own content so that Engineering would manage it's content, but not Sales, etc, keeping the responsibilities distinct between departments

The hierarchical structure of Organization within Liferay would appear to be the appropriate choice, but bringing all of the pages into one unified structure is something I am not sure how best to approach.

Or perhaps using community is a better approach?

If anyone has developed an intranet that is departmentally based in the manner I have described, I would appreciate any insight/advice on best practices/approach.

--Chris
thumbnail
5075256, modified 15 Years ago. Regular Member Posts: 112 Join Date: 6/11/10 Recent Posts
Chris Becker:
Hello all;

I am tasked with creating a corporate intranet using Liferay (version 5.2.3, JBoss/Postgres). The basic structure involves the creation of a site that has a series of menu items where each menu represents a specific department (or sub-organization) within the company (e.g. Engineering, Sales, Marketing, etc.) We wish to establish a structure where each department is responsible for its own content so that Engineering would manage it's content, but not Sales, etc, keeping the responsibilities distinct between departments

The hierarchical structure of Organization within Liferay would appear to be the appropriate choice, but bringing all of the pages into one unified structure is something I am not sure how best to approach.

Or perhaps using community is a better approach?

If anyone has developed an intranet that is departmentally based in the manner I have described, I would appreciate any insight/advice on best practices/approach.

--Chris


Putting this back out there for any feedback. Does anyone have advice on how to achieve this goal?

I wish to have each item in the nav-bar menu represent a separate organization from the organizational structure, like so:

Welcome | Sales | Marketing | Engineering | Product |
where

Welcome = TopLevelOrg
Sales = SalesOrg (parent of TopLevelOrg)
Marketing = MarketingOrg (parent of TopLevelOrg)

and so on. Each of these could have sub-orgs as well.

Since the creation of Organizations/sub-organizations in Liferay produces a separate set of pages to manage for each, I want to be able to have a top level menu (like the one above) for the entire intranet site, yet divide responsibility for each component of the site to each of its organizational components. Can this be done? Has anyone done this and might be able to provide direction? Any advice would be appreciated.

--Chris
thumbnail
174078, modified 15 Years ago. Liferay Master Posts: 758 Join Date: 9/27/07 Recent Posts
You could possibly create a custom theme that shows organization links to appropriate users. The organization link can take the user to appropriate organization pages. In your case you may want to show public page links to certain organizations to users who are not a member of those organizations. A feature like this would be great. May be others will have more thoughts to share on this.
thumbnail
5416157, modified 15 Years ago. Junior Member Posts: 45 Join Date: 7/26/10 Recent Posts
Chris Becker:


I wish to have each item in the nav-bar menu represent a separate organization from the organizational structure, like so:

Welcome | Sales | Marketing | Engineering | Product |
where

Welcome = TopLevelOrg
Sales = SalesOrg (parent of TopLevelOrg)
Marketing = MarketingOrg (parent of TopLevelOrg)

and so on. Each of these could have sub-orgs as well.

Since the creation of Organizations/sub-organizations in Liferay produces a separate set of pages to manage for each, I want to be able to have a top level menu (like the one above) for the entire intranet site, yet divide responsibility for each component of the site to each of its organizational components. Can this be done? Has anyone done this and might be able to provide direction? Any advice would be appreciated.

--Chris


Well for the intranet I am planning - I have had a similar task.

So I made my "Welcome" page a community, so everyone who can access our intranet sees that first. I have made all the others (in your case Sales, Marketing, Engineering, Product) Organizations and have given specified roles for the user's assigned to that organization so that only they can update it.

I have also added private pages for all my organizations so that they can share information freely without other prying eyes.

Each of my organizations needs private sites where they can collaborate from time to time and so I have organized it so that they can create private communities where they can share documents and classified information freely amongst themsevles.

Admittedly my intranet is still in development mode, so I can't tell you how it works in productions, but so far so goodemoticon

Hope this helpsemoticon

Thia emoticon
thumbnail
5075256, modified 15 Years ago. Regular Member Posts: 112 Join Date: 6/11/10 Recent Posts
Cynthia Kimball:
Chris Becker:


I wish to have each item in the nav-bar menu represent a separate organization from the organizational structure, like so:

Welcome | Sales | Marketing | Engineering | Product |
where

Welcome = TopLevelOrg
Sales = SalesOrg (parent of TopLevelOrg)
Marketing = MarketingOrg (parent of TopLevelOrg)

and so on. Each of these could have sub-orgs as well.

Since the creation of Organizations/sub-organizations in Liferay produces a separate set of pages to manage for each, I want to be able to have a top level menu (like the one above) for the entire intranet site, yet divide responsibility for each component of the site to each of its organizational components. Can this be done? Has anyone done this and might be able to provide direction? Any advice would be appreciated.

--Chris


Well for the intranet I am planning - I have had a similar task.

So I made my "Welcome" page a community, so everyone who can access our intranet sees that first. I have made all the others (in your case Sales, Marketing, Engineering, Product) Organizations and have given specified roles for the user's assigned to that organization so that only they can update it.

I have also added private pages for all my organizations so that they can share information freely without other prying eyes.

Each of my organizations needs private sites where they can collaborate from time to time and so I have organized it so that they can create private communities where they can share documents and classified information freely amongst themsevles.

Admittedly my intranet is still in development mode, so I can't tell you how it works in productions, but so far so goodemoticon

Hope this helpsemoticon

Thia emoticon


Thia - thanks for the response. And it does help some.emoticon

Do you also have your welcome page and the other organizations represented on one navigation menu? What I am finding is that since each organization has its own set of pages, bringing the top level of each org/community to one place is proving to be challenging.

The goal would be to have an intranet 'top menu' that never changes, so that all depts are always available (private pages aside for the moment). The only way I can see doing that is to make the menu pages of type 'URL', that point to each respective org's top page. But then when you navigate to that org to still have the 'top menu' available - that is what I am trying to figure out...

--Chris
thumbnail
5416157, modified 15 Years ago. Junior Member Posts: 45 Join Date: 7/26/10 Recent Posts
Hi Chris,

Well - I did a quuick and dirty workaround for a demo I had to do, but I have been working with that today and basicaly there is a file in the theme you are using. Take a look at navigation.vm in the templates folder..

For instance if you replace

				#if ($nav_item.hasChildren())
					<ul class="child-menu">
						#foreach ($nav_child in $nav_item.getChildren())
							#if ($nav_child.isSelected())
								<li class="selected">
							#else
								</li><li>
							#end

								<a href="$nav_child.getURL()" $nav_child.gettarget()>$nav_child.getName()</a>
							</li>
						#end
					</ul>
				#end


with

				#if ($show_my_places)
					<li class="my-places">

					$theme.myPlaces()
					</li>
				#end


it will replace all "child" pages with all pages a User has access to. I am currently searching for the variable that will allow me to place my public organizations on it. I will post here once foundemoticon

Thia emoticon
5842432, modified 15 Years ago. Junior Member Posts: 36 Join Date: 9/10/10 Recent Posts
Chris,
Did you get any response on using the Organization vs. Community? I am very interested in how you handled it.

Thanks,
John
thumbnail
5075256, modified 15 Years ago. Regular Member Posts: 112 Join Date: 6/11/10 Recent Posts
Hi John;

Starting with the advice given by Cynthia Kimball in previous posts, I followed her approach by using a Community as the top level of the organizational hierarchy, and then used Organizations for everything underneath, since Organizations can be members of Communities, but not the other way around. For the top level menu, I used page type of URL for the links to each of the departments (Organizations) which provided me with the main menu that I was working to achieve.


--Chris
thumbnail
31066, modified 15 Years ago. Expert Posts: 306 Join Date: 4/13/07 Recent Posts
Hi Chris,

Hope you got an apt solution for your problem, by now.

Ahmed Hasan
mPower Global Inc.
5842432, modified 15 Years ago. Junior Member Posts: 36 Join Date: 9/10/10 Recent Posts
Thanks Chris. This does sound like an approach to use and I can see how to incorporate the Community.

For your implementation, did you need any complex roles or did you just use the Organization and Community roles out of the box/

- John
thumbnail
5075256, modified 15 Years ago. Regular Member Posts: 112 Join Date: 6/11/10 Recent Posts
I erred on the side of simplicity (or tried to, at least) in role additions, and added roles that corresponded to content creation, with the intention of also enabling staging/workflow for each of the departments. I created the following organization and community roles:

for organizations:

orgContentCreator
orgContentReviewer
orgContentPublisher

same for communities:

commContentCreator
commContentReviewer
commContentPublisher

Since my goal was to decentralize web content management for our intranet, I proposed that each department would elect an org administrator (the out-of-the-box org role), whose job was to assign the roles above to select individuals within their departments. These roles would already have the appropriate permissions to web content and web content display portlets, document library portlets, etc. The above-listed roles were then associated to the workflow steps for publishing content.

--Chris
Silicon Smith, modified 14 Years ago. New Member Posts: 21 Join Date: 10/4/11 Recent Posts
Hey Chris,

I hope you might have got the answers to have the organizations as a link in the navigation instead of "Go To ".
Could you please put some light on that.... as I also want the same thing... organizations in the navigation...
thanks in advance... looking forward for your reply.

Manjinder
thumbnail
Chris Becker, modified 14 Years ago. Regular Member Posts: 112 Join Date: 6/11/10 Recent Posts
Hi Manjinder;

I did come up with a way to have all organizations represented in a single menu bar. It required customization of the navigation.vm file in a custom theme that I developed, together with some local service calls. It is not perfect - I have not solved the problem of representing the menu system on the staging side of an environment that uses local staging (as we do), but it has been working fine regardless and allows for a multi-organizational menu bar, with each organization serving as a top-level menu.

I started by creating a top-level community that represents our company, and all users who log into the intranet are automatically made members of that community (easily set up in Control Panel --> Setttings--> User Settings.

I then created organizational records in Liferay for each of the departments in our company, and then made those organizations members of the top-level community.

For each organization, I named the first page in each organization as 'Home' - every page/sub-page after that does not matter, and is configurable by the admin in each organizational group). But the first page in the org is Home.

Then, in the top level community, Pages were created, all of which were of page type URL, for each of the organizational units. The URL of these pages in the top-level community all point to the Home page that were created in the previous step. This is the 'unifying step' - the component that brings all of the individual orgs into one menu.

The last step was to customize navigation.vm - which iterates through the pages - first of the top level community, and then each of the organizational groups. I have attached the navigation.vm file here so you can see how it was done.

Please let me know if you have any questions.... thanks!

Regards,

--Chris
Silicon Smith, modified 14 Years ago. New Member Posts: 21 Join Date: 10/4/11 Recent Posts
hey chris,

thank you very much for the much detailed explanation. I have a question now....
by setting up the organizations in this way, a user who is not the member of an organization say "R&D", can see all the contents of "R&D" organization....
or may be I am missing something..... is there a way to restrict access to an organization to non members???

thanks again Chris,
Manjinder
thumbnail
Chris Becker, modified 14 Years ago. Regular Member Posts: 112 Join Date: 6/11/10 Recent Posts
Hi Majinder;

Yes, anything set with Guest view permission is available to all users, regardless of org membership. However, if there are assets that should not be viewable by non-org members, this is easily achieved through permission settings.

Our corporate intranet is by largely public record, but there are some use cases where documents/web-content are viewable only by organization members. We have accomplished this by setting permissions on those assets which are to be viewed only by members of the particular organization, as mentioned above.

Keep in mind, also, that the navigation solution that I shared here only involves public pages. Private pages would be accessible only by members of the specific organization, but my approach does not yet handle them. That will be phase II emoticon

Hope this helps some.

Regards,

--Chris