Platform Explorer / Nuxeo Platform 2023.23

Extension point urlpatterns

Documentation

URL patterns are used on the web layer to perform actions when a url is entered, and to rewrite urls after a post.

They are designed to use a given codec.

Contribution Descriptors

  • Class: org.nuxeo.ecm.platform.ui.web.rest.descriptors.URLPatternDescriptor

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-admin-center-jsf-2023.23.15.jar /OSGI-INF/urlservice-contrib.xml
    <extension point="urlpatterns" target="org.nuxeo.ecm.platform.ui.web.rest.URLService">
    
        <urlPattern enabled="true" name="admin">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>true</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>docpathadmin</codecName>
          <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>
          <documentViewBindingApplies>
            #{mainTabsActions.isOnMainTab('admin')}
          </documentViewBindingApplies>
          <documentViewBinding>#{restHelper.documentView}</documentViewBinding>
          <newDocumentViewBinding>
            #{restHelper.getNewDocumentView(null)}
          </newDocumentViewBinding>
          <bindings>
            <binding callGetter="false" name="tabId">
              #{webActions.currentTabId}
            </binding>
            <binding callGetter="false" name="subTabId">
              #{webActions.currentSubTabId}
            </binding>
            <binding name="tabIds">#{webActions.currentTabIds}</binding>
            <binding callGetter="false" name="language">
              #{restHelper.localeString}
            </binding>
          </bindings>
        </urlPattern>
    
      </extension>
  • nuxeo-platform-imaging-jsf-2023.23.15.jar /OSGI-INF/imaging-urlservice-contrib.xml
    <extension point="urlpatterns" target="org.nuxeo.ecm.platform.ui.web.rest.URLService">
        <urlPattern enabled="true" name="downloadPicture">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>false</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>downloadPicture</codecName>
          <actionBinding>#{pictureManager.download}</actionBinding>
          <documentViewBinding>
            #{restHelper.documentView}
          </documentViewBinding>
          <newDocumentViewBinding>
            #{restHelper.newDocumentView}
          </newDocumentViewBinding>
        </urlPattern>
    
        <urlPattern enabled="true" name="downloadThumbnail">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>false</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>downloadThumbnail</codecName>
          <actionBinding>#{pictureManager.downloadThumbnail}</actionBinding>
          <documentViewBinding>
            #{restHelper.documentView}
          </documentViewBinding>
          <newDocumentViewBinding>
            #{restHelper.newDocumentView}
          </newDocumentViewBinding>
        </urlPattern>
      </extension>
  • nuxeo-platform-ui-web-2023.23.15.jar /OSGI-INF/urlservice-contrib.xml
    <extension point="urlpatterns" target="org.nuxeo.ecm.platform.ui.web.rest.URLService">
    
        <documentation>
          Basic url pattern using the doc id codec: it places the application in the
          document context described by the url and sets current tabs.
    
          Additional url pattern using the doc path codec.
        </documentation>
    
        <urlPattern enabled="true" name="id">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>true</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>docid</codecName>
          <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>
          <documentViewBinding>#{restHelper.documentView}</documentViewBinding>
          <newDocumentViewBinding>
            #{restHelper.newDocumentView}
          </newDocumentViewBinding>
          <bindings>
            <binding callGetter="false" name="tabId">
              #{webActions.currentTabId}
            </binding>
            <binding callGetter="false" name="subTabId">
              #{webActions.currentSubTabId}
            </binding>
            <binding name="tabIds">#{webActions.currentTabIds}</binding>
            <binding callGetter="false" name="language">
              #{restHelper.localeString}
            </binding>
          </bindings>
        </urlPattern>
    
        <urlPattern enabled="true" name="default">
          <defaultURLPolicy>true</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>true</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>docpath</codecName>
          <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>
          <documentViewBinding>#{restHelper.documentView}</documentViewBinding>
          <newDocumentViewBinding>
            #{restHelper.newDocumentView}
          </newDocumentViewBinding>
          <bindings>
            <binding callGetter="false" name="tabId">
              #{webActions.currentTabId}
            </binding>
            <binding callGetter="false" name="subTabId">
              #{webActions.currentSubTabId}
            </binding>
            <binding name="tabIds">#{webActions.currentTabIds}</binding>
            <binding callGetter="false" name="language">
              #{restHelper.localeString}
            </binding>
            <binding callGetter="false" name="mainTabId">
              #{webActions.currentTabIds}
            </binding>
          </bindings>
        </urlPattern>
    
      </extension>
  • nuxeo-platform-rendition-web-2023.23.15.jar /OSGI-INF/url-codec-contrib.xml
    <extension point="urlpatterns" target="org.nuxeo.ecm.platform.ui.web.rest.URLService">
        <documentation>
          Url pattern JSF bindings to access renditions
        </documentation>
    
        <urlPattern enabled="true" name="rendition">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>false</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>rendition</codecName>
          <actionBinding>#{renditionRestHelper.render}</actionBinding>
          <documentViewBinding>#{restHelper.documentView}</documentViewBinding>
          <newDocumentViewBinding>#{restHelper.newDocumentView}
          </newDocumentViewBinding>
        </urlPattern>
    
      </extension>
  • nuxeo-platform-webapp-base-2023.23.15.jar /OSGI-INF/thumbnail-contrib.xml
    <extension point="urlpatterns" target="org.nuxeo.ecm.platform.ui.web.rest.URLService">
        <urlPattern enabled="true" name="downloadThumbnail">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>false</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>downloadThumbnail</codecName>
          <actionBinding>#{thumbnailManager.downloadThumbnail}</actionBinding>
          <documentViewBinding>
            #{restHelper.documentView}
          </documentViewBinding>
          <newDocumentViewBinding>
            #{restHelper.newDocumentView}
          </newDocumentViewBinding>
        </urlPattern>
      </extension>
  • nuxeo-routing-dashboard-2023.23.15.jar /OSGI-INF/document-routing-dashboard-urlservice-contrib.xml
    <extension point="urlpatterns" target="org.nuxeo.ecm.platform.ui.web.rest.URLService">
    
        <urlPattern enabled="true" name="workflow">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>true</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>docpathworkflow</codecName>
          <actionBinding>
            #{restHelper.initContextFromRestRequest}
          </actionBinding>
          <documentViewBindingApplies>
            #{mainTabsActions.isOnMainTab('workflow_dashboard')}
          </documentViewBindingApplies>
          <documentViewBinding>
            #{restHelper.documentView}
          </documentViewBinding>
          <newDocumentViewBinding>
            #{restHelper.getNewDocumentView(null)}
          </newDocumentViewBinding>
          <bindings>
            <binding callGetter="false" name="tabId">
              #{webActions.currentTabId}
            </binding>
            <binding callGetter="false" name="subTabId">
              #{webActions.currentSubTabId}
            </binding>
            <binding name="tabIds">#{webActions.currentTabIds}</binding>
            <binding callGetter="false" name="language">
              #{restHelper.localeString}
            </binding>
          </bindings>
        </urlPattern>
    
      </extension>
  • nuxeo-search-ui-2023.23.15.jar /OSGI-INF/search-url-service-contrib.xml
    <extension point="urlpatterns" target="org.nuxeo.ecm.platform.ui.web.rest.URLService">
    
        <urlPattern enabled="true" name="search">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>true</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>docpathsearch</codecName>
          <actionBinding>
            #{searchUIActions.loadPermanentLink}
          </actionBinding>
          <documentViewBindingApplies>
            #{mainTabsActions.isOnMainTab('search')}
          </documentViewBindingApplies>
          <documentViewBinding>#{restHelper.documentView}</documentViewBinding>
          <newDocumentViewBinding>
            #{restHelper.getNewDocumentView(null)}
          </newDocumentViewBinding>
          <bindings>
            <binding name="tabIds">#{searchUIActions.searchMainTab}</binding>
            <binding callGetter="false" name="language">
              #{restHelper.localeString}
            </binding>
            <binding callGetter="true" name="contentViewName">
              #{searchUIActions.currentContentViewName}
            </binding>
            <binding callGetter="true" name="currentPage">
              #{searchUIActions.currentPage}
            </binding>
            <binding callGetter="true" name="pageSize">
              #{searchUIActions.pageSize}
            </binding>
            <binding callGetter="false" name="state">
              #{searchUIActions.state}
            </binding>
            <binding callGetter="false" name="searchTerm">
              #{searchUIActions.searchTerm}
            </binding>
          </bindings>
        </urlPattern>
    
      </extension>
  • nuxeo-user-center-2023.23.15.jar /OSGI-INF/urlservice-contrib.xml
    <extension point="urlpatterns" target="org.nuxeo.ecm.platform.ui.web.rest.URLService">
    
        <urlPattern enabled="true" name="home">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>true</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>docpathhome</codecName>
          <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>
          <documentViewBindingApplies>
            #{mainTabsActions.isOnMainTab('home')}
          </documentViewBindingApplies>
          <documentViewBinding>#{restHelper.documentView}</documentViewBinding>
          <newDocumentViewBinding>
            #{restHelper.getNewDocumentView(null)}
          </newDocumentViewBinding>
          <bindings>
            <binding callGetter="false" name="tabId">
              #{webActions.currentTabId}
            </binding>
            <binding callGetter="false" name="subTabId">
              #{webActions.currentSubTabId}
            </binding>
            <binding name="tabIds">#{webActions.currentTabIds}</binding>
            <binding callGetter="false" name="language">
              #{restHelper.localeString}
            </binding>
          </bindings>
        </urlPattern>
    
        <urlPattern enabled="true" name="user">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>true</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>user</codecName>
          <actionBinding>
            #{restHelper.initContextFromRestRequest}
          </actionBinding>
          <bindings>
            <binding callGetter="false" name="tabIds">
              #{webActions.currentTabIds}
            </binding>
            <binding callGetter="false" name="username">
              #{userManagementActions.selectedUserName}
            </binding>
            <binding callGetter="false" name="showUser">
              #{userManagementActions.showUser}
            </binding>
          </bindings>
        </urlPattern>
    
        <urlPattern enabled="true" name="group">
          <defaultURLPolicy>false</defaultURLPolicy>
          <needBaseURL>true</needBaseURL>
          <needRedirectFilter>true</needRedirectFilter>
          <needFilterPreprocessing>true</needFilterPreprocessing>
          <codecName>group</codecName>
          <actionBinding>
            #{restHelper.initContextFromRestRequest}
          </actionBinding>
          <bindings>
            <binding callGetter="false" name="tabIds">
              #{webActions.currentTabIds}
            </binding>
            <binding callGetter="false" name="groupname">
              #{groupManagementActions.selectedGroupName}
            </binding>
            <binding callGetter="false" name="showGroup">
              #{groupManagementActions.showGroup}
            </binding>
          </bindings>
        </urlPattern>
    
      </extension>