[opencms-dev] How to use ADE in multi-site configuration on OC 10 ?

Christian Bjørnbak cbj at touristonline.dk
Thu Jun 23 12:52:01 CEST 2016


We have a working 9.5 multi-site, multi-language setup which I'm trying to
upgrade to 10.0.1..

We have the following on opencms-system.xml:

      <workplace-server>http://cmsdev.site1.dk</workplace-server>
      <default-uri>/sites/default/</default-uri>
      <shared-folder>/shared/</shared-folder>
      <site server="http://cmsdev.site1.dk" uri="/sites/default/"
title="DEMO" position="6.0" webserver="true">
      <site server="http://dev.site2.dk" uri="/sites/site2/" title="site2.dk"
position="4.0" webserver="true">
        <alias server="http://dev.site2.de"/>
        <alias server="http://dev.site2.com"/>
      </site>

Site1 contains the demo site as reference.

Site2, Site3 (not shown) etc is the public sites.

We have copied the login page from the demo site to site2 so the users can
log by entering http://dev.site2.dk/login

This way the ordinary editor don't have to enter workplace to choose a site.

But no matter if I log in on http://cmsdev.site1.dk/login or
http://dev.site2.dk seconds after I load a page error message boxes show up
on the screen containing:

Accessing workplace or ADE through a server which has not been configured.
Your site configuration is probably incorrect.

New boxes are added underneath each other with seconds interval until it
occupies all of the page.


I have tracked the error to originate from

/**
* Checks whether the workplace is accessed through the workplace server,
and sends an error message otherwise.<p>
*
* @param request the request to check
* @param cms the CmsObject to use
*/
public void checkWorkplaceRequest(HttpServletRequest request, CmsObject cms)
{
try {
if ((OpenCms.getSiteManager().getSites().size() > 1)
&& !OpenCms.getSiteManager().isWorkplaceRequest(request)) {
// this is a multi site-configuration, but not a request to the configured
Workplace site
CmsUser user = cms.getRequestContext().getCurrentUser();
// to limit the number of times broadcast is called for a user, we use an
expiring cache
// with the user name as key
if (null == m_workplaceServerUserChecks.getIfPresent(user.getName())) {
m_workplaceServerUserChecks.put(user.getName(), "");
OpenCms.getSessionManager().sendBroadcast(
null,
Messages.get().getBundle(getWorkplaceLocale(cms)).key(
Messages.ERR_WORKPLACE_SERVER_CHECK_FAILED_0),
user);
}
}
} catch (Exception e) {
LOG.error(e.getLocalizedMessage(), e);
}
}


What does this error really mean?

What is the correct multi-site, multi-language setup for OC 10 where
ordinary users can use ADE without entering workplace?

Can I remove the message without doing a custom compilation of OC 10?

Med venlig hilsen / Kind regards,

Christian Bjørnbak

Chefudvikler / Lead Developer
TouristOnline A/S
Islands Brygge 43
2300 København S
Denmark
TLF: +45 32888230
Dir. TLF: +45 32888235
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20160623/de1bd426/attachment.htm>


More information about the opencms-dev mailing list