How to change alfresco landing page

Do you wanna change the landing page for your alfresco i tested this on 4.0 and 5.0 and this work in this way, you have just to modify the file in this directory

/opt/alfresco-5.0.b/tomcat/webapps/share/site-index.jsp

and modify the row where you read

// redirect to site or user dashboard as appropriate

below an example of site-index.jsp to use as landing page the repository page


<%@ page import="org.alfresco.web.site.*" %>
<%@ page import="org.springframework.extensions.surf.*" %>
<%@ page import="org.springframework.extensions.surf.site.*" %>
<%@ page import="org.springframework.extensions.surf.util.*" %>
<%@ page import="java.util.*" %>
<% // retrieve user name from the session String userid = (String)session.getAttribute(SlingshotUserFactory.SESSION_ATTRIBUTE_KEY_USER_ID); // test user dashboard page exists? RequestContext context = (RequestContext)request.getAttribute(RequestContext.ATTR_REQUEST_CONTEXT); if (!context.getObjectService().hasPage("user/" + userid + "/dashboard")) { // no user dashboard page found! create initial dashboard for this user... Map tokens = new HashMap();
tokens.put("userid", userid);
FrameworkUtil.getServiceRegistry().getPresetsManager().constructPreset("user-dashboard", tokens);
}

// redirect to site or user dashboard as appropriate
String siteName = request.getParameter("site");
if (siteName == null || siteName.length() == 0)
{
// forward to user specific dashboard page
// response.sendRedirect(request.getContextPath() + "/page/user/" + URLEncoder.encode(userid) + "/dashboard");
response.sendRedirect(request.getContextPath() + "/page/repository");
}
else
{
// forward to site specific dashboard page
//response.sendRedirect(request.getContextPath() + "/page/site/" + URLEncoder.encode(siteName) + "/dashboard");
response.sendRedirect(request.getContextPath() + "/page/repository");
}
%>

Alfresco5 modify header menu

Alfresco 5 use dojo to create his header menu therefore you have to modify the javascript that create that header menu, the header menu is create by an Array that you can find on this directory

/opt/alfresco-5.0.b/tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/share/imports/share-header.lib.js

 

In this code you have to find the part of code with title CONSTRUCT MENU BAR LEFT the array that create the menu bar is appItems, isert inside everything you want see in header menu.
If you want that visible just to admin, just add the if condition like this if(user.isAdmin).

Below and example of code to show just repository tab on header menu for normal user and the original header for the administrator

/* *********************************************************************************
* *
* CONSTRUCT LEFT MENU BAR (NEW) *
* *
***********************************************************************************/
/*
* This function generates the "app items" to include in the header. In actual fact this just refers to the
* items that are rendered on the left-hand-side of the screen but for historical reasons (and because of the
* default values) can be regarded as application items.
*/
function generateAppItems() {
var appItems = [ {
id: "HEADER_REPOSITORY",
name: "alfresco/menus/AlfMenuBarItem",
config: {
id: "HEADER_REPOSITORY",
label: "header.menu.repository.label",
targetUrl: "repository"
}
}

];
if (user.isAdmin )
{
appItems.push( {
id: "HEADER_HOME",
name: "alfresco/menus/AlfMenuBarItem",
config: {
id: "HEADER_HOME",
label: "header.menu.home.label",
targetUrl: "user/" + encodeURIComponent(user.name) + "/dashboard"
}
},
{
id: "HEADER_MY_FILES",
name: "alfresco/menus/AlfMenuBarItem",
config: {
id: "HEADER_MY_FILES",
label: "header.menu.myfiles.label",
targetUrl: "context/mine/myfiles"
}
},
{
id: "HEADER_SHARED_FILES",
name: "alfresco/menus/AlfMenuBarItem",
config: {
id: "HEADER_SHARED_FILES",
label: "header.menu.shared.label",
targetUrl: "context/shared/sharedfiles"
}
},
{
id: "HEADER_SITES_MENU",
name: "alfresco/header/AlfSitesMenu",
config: {
id: "HEADER_SITES_MENU",
label: "header.menu.sites.label",
currentSite: page.url.templateArgs.site,
currentUser: user.name
}
},
{
id: "HEADER_TASKS",
name: "alfresco/header/AlfMenuBarPopup",
config: {
id: "HEADER_TASKS",
label: "header.menu.tasks.label",
widgets: [
{
name: "alfresco/menus/AlfMenuGroup",
config: {
widgets: [
{
id: "HEADER_MY_TASKS",
name: "alfresco/header/AlfMenuItem",
config:
{
id: "HEADER_MY_TASKS",
label: "header.menu.mytasks.label",
iconClass: "alf-mytasks-icon",
targetUrl: "my-tasks#filter=workflows|active"
}
},
{
id: "HEADER_MY_WORKFLOWS",
name: "alfresco/header/AlfMenuItem",
config:
{
id: "HEADER_MY_WORKFLOWS",
label: "header.menu.myworkflows.label",
iconClass: "alf-myworkflows-icon",
targetUrl: "my-workflows#filter=workflows|active"
}
}
]
}
}
]
}
},
{
id: "HEADER_PEOPLE",
name: "alfresco/menus/AlfMenuBarItem",
config: {
id: "HEADER_PEOPLE",
label: "header.menu.people.label",
targetUrl: "people-finder"
}
});
}
if (user.isAdmin)
{
appItems.push({
id: "HEADER_ADMIN_CONSOLE",
name: "alfresco/menus/AlfMenuBarItem",
config: {
id: "HEADER_ADMIN_CONSOLE",
label: "header.menu.admin.label",
targetUrl: "console/admin-console/application"
}
});
}
else
{
appItems.push({
id: "HEADER_ADMIN_CONSOLE",
name: "alfresco/menus/AlfMenuBarItem",
config: {
id: "HEADER_SITES_CONSOLE",
label: "header.menu.admin.sites.label",
targetUrl: "console/sites-console/manage-sites",
renderFilter: [
{
property: "user.groups.GROUP_SITE_ADMINISTRATORS",
values: [true]
}
]
}
});
}
return appItems;
}