private String getCaseOverviewUrl() {
        final String processName = URL.encodeQueryString(this.getParameter(ProcessItem.ATTRIBUTE_NAME));
        final String decodedProcessName = URL.encodeQueryString(processName);
        final String processVersion = URL.encodeQueryString(this.getParameter(ProcessItem.ATTRIBUTE_VERSION));
        String caseId = this.getParameter(ArchivedCaseItem.ATTRIBUTE_SOURCE_OBJECT_ID);
        if (caseId == null) {
            caseId = this.getParameter(CaseItem.ATTRIBUTE_ID);
        }
        final String locale = AbstractI18n.getDefaultLocale().toString();

        this.setTitle(_("Display a case form of app %app_name%", new Arg("app_name", decodedProcessName)));

        final StringBuilder frameURL = new StringBuilder();
        frameURL.append(GWT.getModuleBaseURL())
                .append("homepage?ui=form&locale=")
                .append(locale);

        // if tenant is filled in portal url add tenant parameter to IFrame url
        final String tenantId = ClientApplicationURL.getTenantId();
        if (tenantId != null && !tenantId.isEmpty()) {
            frameURL.append("&tenant=").append(tenantId);
        }

        frameURL.append("#form=")
                .append(processName)
                .append(UUID_SEPERATOR)
                .append(processVersion)
                .append("$recap&mode=form&instance=")
                .append(caseId).append("&recap=true");
        return frameURL.toString();
    }
    private String getCaseOverviewUrl() {
        final String processName = this.getParameter(ProcessItem.ATTRIBUTE_NAME);
        final String encodedProcessName = UrlUtil.escapePathSegment(processName);
        final String processVersion = this.getParameter(ProcessItem.ATTRIBUTE_VERSION);
        final String encodedProcessVersion = UrlUtil.escapePathSegment(processVersion);
        String caseId = this.getParameter(ArchivedCaseItem.ATTRIBUTE_SOURCE_OBJECT_ID);
        if (caseId == null) {
            caseId = this.getParameter(CaseItem.ATTRIBUTE_ID);
        }
        final String locale = AbstractI18n.getDefaultLocale().toString();
        final String tenantId = ClientApplicationURL.getTenantId();

        this.setTitle(_("Display a case form of process %app_name%", new Arg("app_name", encodedProcessName)));

        final StringBuilder frameURL = new StringBuilder();
        frameURL.append("resource/processInstance/")
                .append(encodedProcessName)
                .append("/")
                .append(encodedProcessVersion)
                .append("/content/?id=")
                .append(caseId)
                .append("&locale=")
                .append(locale);
        // if tenant is filled in portal url add tenant parameter to IFrame url
        if (tenantId != null && !tenantId.isEmpty()) {
            frameURL.append("&tenant=").append(tenantId);
        }
        return frameURL.toString();
    }