com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links' is unknown.

Customizing the API Store

You can customize the API Store in the following ways:

Enabling or disabling self signup

In a multi-tenanted API Manager setup, self signup to the API Store is disabled by default to all tenants except the super tenant. A tenant admin can enable it as follows:

  1. Log in to the management console (https://<HostName>:9443/carbon) as admin (or tenant admin).
  2. In the Main menu, click Add under Users and Roles.

  3. Click Add New Role.
  4. Add a role by the name subscriber (or any other name you prefer) and the following permissions:
    • Login
    • Manage > API > Subscribe
  5. Go to the Resources > Browse menu.
  6. Load the /_system/governance/apimgt/applicationdata/sign-up-config resource in the registry browser UI.

  7. Do the following changes in the signup configuration and save.

    • Set <EnableSignup> to true.
    • Set <RoleName> to subscriber and <IsExternalRole> to true. Note that you must have the subscriber role created at this point.
    • Set <AdminUserName> and <AdminPassword> to the credentials of the super admin, or if you are in a multitenant setup and you are not the super admin, to the tenant admin's credentials. Note that the super admin's credentials are admin/admin by default. If you changed the default super admin's credentials, using admin/admin will cause errors.
    <SelfSignUp>
    	
       <EnableSignup>true</EnableSignup>
       
       <!-- user storage to store users -->
       <SignUpDomain>PRIMARY</SignUpDomain>   
       
       <!-- Tenant admin information. (for clustered setup credentials for AuthManager) -->
       <AdminUserName>xxxxx</AdminUserName>
       <AdminPassword>xxxxx</AdminPassword>
       
       <!-- List of roles for the tenant user -->
       <SignUpRoles>
       	<SignUpRole>
        		<RoleName>subscriber</RoleName>
          		<IsExternalRole>false</IsExternalRole>
      	</SignUpRole>    
       </SignUpRoles>
        
    </SelfSignUp>
  8. Restart the server and open the API Store (https://<HostName>:9443/store.)

  9. Note the Sign-up link that appears in the top, right-hand corner of the window.
  10. To disable the self signup capability, navigate to the /_system/governance/apimgt/applicationdata/sign-up-config.xml file in the registry again and set the <SelfSignUp><EnableSignup> element to false. 

Tip: To engage your own signup process, see Adding a User Signup Workflow.

Changing the theme

See Adding a New API Store Theme.

Changing language settings

To change the language of the API Store, see Adding Internationalization and Localization.

Setting single login for all apps

Single sign-on (SSO) allows users who are logged in to one application to automatically log in to multiple other applications using the same credentials. They do not have to repeatedly authenticate themselves. To configure, see Configuring Single Sign-on with SAML2.

Categorizing and grouping APIs

API providers add tags to APIs when designing them using the API Publisher. Tags allow API providers to categorize APIs that have similar attributes. Once a tagged API gets published to the API Store, its tags appear as clickable links to the API consumers, who can use them to quickly jump to a category of interest. The font size of the tag in the Store varies based on the number of APIs that are assigned to it. Therefore, for example the font size of a tag which has 10 APIs assigned to it will be bigger than the font size of a tag that has only 2 APIs assigned to it.

If you want to see the APIs grouped according to different topics in the API Store, do the following:

  1. Go to <APIM_HOME>/repository/deployment/server/jaggeryapps/store/site/conf directory, open the site.json file and set the tagWiseMode attribute as true. 
  2. Go to the API Publisher and add tags to APIs with the suffix "-group" to APIs (e.g., Workflow APIs-group, Integration APIs-group, Quote APIs-group.)
  3. Restart the server.
  4. Log in to the API Store and note the APIs listed under their groups. You can click on a group to check what the APIs are inside it.

Customizing the API group

If you want to change the descriptions and the thumbnail images that come by default, do the following:

  1. Log in to the Management Console and click the Resources > Browse menu to open the registry.
  2. Create a collection named tags under the registry location /_system/governance/apimgt/applicationdata.
  3. Give read permission to the system/wso2.anonymous.role role.
  4. Add each tag as collections under the tags collection (e.g., Workflow APIs-group, Integration APIs-group, Quote APIs-group.)
  5. Navigate to each tag collection and upload the following:
    • description.txt with the description of the tag
    • thumbnail.png for the thumbnail image
  6. Back in the API Store, note the changes you did in the registry.

Customizing error Pages

In API Manager store/publisher and admin webapps, jaggery.conf is the Jaggery configuration file specifies the application specific configurations. In that file we can find following code block which have configured the error pages.

"errorPages":
         {
            "401":"/site/pages/error-pages/401.html",
            "403":"/site/pages/error-pages/403.html",
            "404":"/site/pages/error-pages/404.html",
            "500":"/site/pages/error-pages/500.html"
         }

If such a specified error occurs due to an operation or page redirection inthe web application, it redirects to the specified html page. As an example, if you request for https://localhost:9443/store/site/conf.site.json, it gives a 403 response, it serves the html page site/pages/error-pages/403.html specified above.

<html>
    <head>
    </head>

    <body>
       <h2>Error 403 : Forbidden</h2>
       <br/>
       <p>
       <h4>You don't have permission to access anything with that kind of request.  </h4>
   </body>
</html>

These error pages are located in <API-M_HOME>/repository/deployment/server/jaggeryapps/store/site/pages/error-pages directory. You can customize these html pages according to your preference (adding css, javasccript or jquery functionalities).  And also you can create your own html pages to be viewed for errors occured by adding it to the jaggery.conf.

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.