We use proprietary and third party's cookies to improve your experience and our services, identifying your Internet Browsing preferences on our website; develop analytic activities and display advertising based on your preferences. If you keep browsing, you accept its use. You can get more information on our Cookie Policy
Cookies Policy
Working with the FIWARE catalogue - FIWARE Forge Wiki

Working with the FIWARE catalogue

From FIWARE Forge Wiki

Revision as of 12:55, 28 September 2016 by Pmverdugo (Talk | contribs)
Jump to: navigation, search



The catalogue is a container for assets published by asset providers and made available to developers that can browse the catalogue to find the specific assets they are interested in and download or use those assets. It provides features for asset publishing, browsing of assets, community for discussions around these assets and references to the appropriate support functionalities available for each asset.

Browsing the FIWARE Catalogue

In the FIWARE Catalogue developers will find a showcase of FIWARE Generic Enabler Implementations, Bundles, IOT-related devices and hardware and Tools that they can use to develop their own applications. The Catalogue not only provides a list but also important information on how to get started with GEis, how to ask for help or where to find the source code.

The FIWARE Catalogue landing page

The Landing Page of the FIWARE Catalogue provides a brief introduction to the concept of Generic Enablers, however, new developers are encouraged to take the tour and visit the Quick FIWARE Guide to get a better grasp of the concepts before browsing the Catalogue.

FIWARE Catalogue Landing Page

The top bar allows quick access to the lists of the elements contained in the Catalogue: Enablers, Bundles and Tools.

Further down the Catalogue provides an overview of both FIWARE Generic Enablers and Domain Specific Enablers. It also provides a showcase for Bundles: Generic Enabler Implementations grouped to carry out more complex tasks.

FIWARE GEis, Specific Enablers and Bundles

In the final section of the Landing Page, the Catalogue points out to the FIWARE Academy, where developers can learn how to use Generic Enabler Implementations, among other things.

FIWARE GEis, Specific Enablers and Bundles

Browsing the Enablers List

The Enablers option in the menu takes you to the Generic Enablers list where you can see each of the Generic Enablers published in the FIWARE Catalogue, a short description and the tags associated (chapter, rank and technologies).

Enablers list

Rank Values

The enablers are classified into four different ranks, differentiated by tags and colours.

Enablers ranks
  • FIWARE GEis, i.e., products that claim to be compliant with FIWARE GE specifications and look for a place for raising awareness. Note, however, that this won’t mean that the FIWARE community will endorse them or that their compliance has been (or will be) tested. The FIWARE Catalogue will bring an excellent forum where users will be able to share their experiences and feedback using FIWARE GEis.
  • FIWARE GEris, i.e., products offered as reference implementations of FIWARE GE specifications. They are all open source and there is a commitment to support them by FIWARE active contributors.
  • Incubated GEs/GEris, i.e., products that the corresponding owner believes that can be integrated as part of the FIWARE because a) they are generic enough and b) they cover a gap in the FIWARE Reference Architecture so they can fit/integrate well with existing FIWARE GEris and c) they will be provided as open source. They will be advertised and, their traction among the wider community of developers as well as the opportunity to integrate them within FIWARE will be evaluated from time to time so a decision can be taken about whether they should become FIWARE GEs/GEris. The process that will be followed to determine how an incubated GE/GEri can become a FIWARE GE/GEi will be transparent and neutral. It is currently under definition but we expect that it will be ready by the end of the year or first quarter of 2015.
  • Deprecated GEis, GEis no longer supported.
  • Domain-specific FIWARE-based Frameworks and Specific Enablers, i.e., frameworks developed based on FIWARE or enablers that complement FIWARE GEs/GEris to bring a complete solution for development of applications in specific domains (e.g., eHealth, Smart Agrifood, Smart Cities, etc).

Tag System

The Tag system enables to classifie the Enablers into different categories:

  • Chapter: The technical chapter (e.g., Security, Cloud Hosting, etc).
  • Technologies: Disciplines related to the content (e.g., Big Data, IoT, AR, etc).
  • Service: Areas where this content is usually aplies (e.g, Entertaiment, Business, etc).

Chapter Leader Roles

Each technical chapter should be represented by a Chapter Leader. The Chapter Leader is a user with an especific role that is automatically subscribed to the Organic Group of each GE that composes the chapter.

The Chapter Leader is subscribed to the OGs upon viewing any Enabler of the chapter. If a GE is no longer part of a Chapter, the Chapter Leader from that old Chapter should be automatically unsubscribed from the OG of that enabler, upon viewing the content of any GE of the Chapter.

Browsing the Bundles list

The Bundles option in the menu takes you to the Bundles list where you can see each of the Bundles composed by Generic Enablers published in the FIWARE Catalogue. In the list the name and short description of each bundle is displayed.

Bundles list

Browsing the Tools list

The Tools option in the menu takes you to the tools list where you can see the tools available in the FIWARE Catalogue with a short description that briefly describes the purpose of each tool.

Bundles list

List page upper bar

The Enablers, Bundles and Tools list page displays some tools and information in its upper side:

  1. Filter: Using the "Filter..." tool-tipped input box you can dynamically filter the content displayed in the list. The results appear in the same list as you type.
  2. Filtering GEs
  3. Last Updated: This button in currently only available for the Enablers list. By clicking this button you are redirected to a page that renders a list containing the last updated GEs, the list can be filtered by an "updated date" criteria (updated last week or last month).
  4. Last updated GEs list
  5. Search: Clicking this button opens a dropdown containing an input box tha ables the user to perform a global search in the Catalogue using the Drupal search mechanisms.
  6. Global drupal search
  7. FIWARE News: Clicking this button opens a dropdown containing a list with a news feed relating FIWARE.
  8. FIWARE News feed

Fast Search sidebar

A sidebar with on-the-fly-appliable filters is also available as shown below.

This sidebar allows for generic, as well as tag-based GE filtering.

Browsing the IOT Ready List

The IOT Ready tab lets us check IOT-related devices and Hardware Platforms. Additional entries can be included in a per-editor basis via request to the Catalogue admins.

Available Commercial Devices

The list of available commercial devices includes entries for technology companies and products offering FIWARE-enabled custom hardware solutions.

Open Hardware Platforms

The list of Open Harware Platforms lets us consult user-oriented generic hardware solutions for which a FIWARE integration SDK is available.

Contributing to the FIWARE Catalogue

This section describes how you go about registering a user account on the Catalogue and adding Generic Enablers.

Note: The incorporation of GEs to the FIWARE platform and to the FIWARE Catalogue is initially restricted to FIWARE members. In coming phases of the project it will be implemented and published the procedures to incorporate the software from third parties as part of the GEs available on the FIWARE Catalogue.

If you want a good example you may want to go to Publish/Subscribe Context Broker - Orion Context Broker

Registering a user account

The editors of GE implementations on the FIWARE Catalogue must register on the FIWARE Forge and then request access to the administrator of the Catalogue. Account credentials administration must be done via FIWARE Forgue portal.

  1. Register an account at FIWARE Forge (https://forge.fiware.org). The account has to be associated with a project by a forge administrator.
  2. Press the user icon in the upper right corner of the screen. In the dropdown menu that appears, select "login".
  3. User dropdown

Note: At this point, only FIWARE members are allowed to have active user accounts in the FIWARE Catalogue. Once you register, please contact the Catalogue staff to verify your identity and activate your account.

Login into the Catalogue

  1. Go to http://catalogue.fiware.org
  2. Press the user icon in the upper right corner of the screen. In the dropdown menu that appears, select "login".

Creating a Generic Enabler

In order to enter a Generic Enabler into the catalogue, please follow these steps:

  1. Go to http://catalogue.fiware.org/
  2. Register a user and log in to the site if you have not already done so.
  3. Go to the “Enablers” section
  4. Submit a new enabler by clicking Actions > “Create new enabler” link at the top of the enabler listing and submitting the form. Please ensure that you respect the naming convention: <Name of GE> - <Name of product> (e.g.: BigData Analysis GE - SAMSON)
  5. New enabler form
  6. The GE is created, but still unpublished. You can now edit the full GE information and should provide all the documentation relevant to someone reading the GE description in the catalogue. You can also add terms of use for the GE.
  7. When you are happy with the contents of the GE, visit the GE's overview and mark it as published.

Editing a Generic Enabler

To edit a GE:

  1. Go to the page in question (the overview, documentation or terms of use). Select "New draft".
  2. New draft
  3. A new revision of the page will be created. This draft will exist in parallel with the published revision, and may be edited freely.
  4. Editing the draft
  5. When you are happy with the contents of the draft, visit the draft and mark it as published.
  6. Publishing the draft

    Adding the rank value to your GEI

    To add the rank value to a Enabler:

    1. Create a new draft.
    2. Select the desired rank in the “Rank” field dropdown.
    3. Selecting the rank
    4. Mark the draft as published.

    Adding Tags to your GEI

    To add tags to a Enabler:

    1. Create a new draft.
    2. In the Tags section fill the category with your tags. If the tag is already registered an autocomplete will pop up, press enter to define more than one tag.
    3. Entering tags
    4. Mark the draft as published.

    Adding the Stack Overflow reference to your GEI

    All the enablers should have a link to a Stack Overflow support page. The URL follow this pattern: "https://stackoverflow.com/tagged/fiware-[GEi name]". In which [GEi name] is a field that should be filled by the GEI owner by creating a new draft.

    Entering the Stack Overflow reference

    Adding group members to your GEI

    A Generic Enabler Implementation on the catalogue can, by default, be edited by the user who first submitted the GEI. If you need more people to be able to edit the GEI, they can be added as "group members" to the GEI (also referred to as "co-owners"). A group member has the same rights on the GEI as the original author, meaning that she can see the enabler when it is unpublished, create new revisions of the enabler (or its pages) and edit drafts created by other group members. In order to add a group member, you must be the original author of the GEI or be a group member yourself.

    To add a group member, please follow these steps:

    1. Go to your GEI's Overview, and press the tab titled "Group".
    2. Group tab
    3. Select "Add people"
    4. Add people
    5. Enter the user name of the user you wish to add.
    6. Leave the rest of the settings in their default state, and press "Add users" at the bottom of the form.
    7. Add users

      Under your account settings, you can see which GEIs you are a group member of. Simply hover click on the user icon on the top right corner and the click on "My Account".

      Work Package Leaders in the Catalogue

      Work Package Leaders and Work Package Architects in FIWARE have been added as group members to all enablers belonging to their chapter. They can therefore edit and publish/unpublish any enabler in their chapter.

      Guidelines on what to write

      The main reason for making GEs available in the catalogue is simply to enable users/developers to easily find them. It is a marketing opportunity for YOU as a GE provider to get people to start using it or at least read about it. Here's a few tips of what you should think about when you enter information about your GE.

      Overview (Long description)

      The most important part to get people to find it is the "Overview" tab. This part should explain what is the GE implemented by the product, what it can be used for (e.g., enumerating some use case examples) and an argumentation about the value provided by the GE and the product itself. In short, this part should be more a marketing message that provides a good understanding about the GEi and "sell" it.

      You can find below a list of sections in which this tab must be structured and a brief description of the target contents for each of the sections:

      What you get

      What your GE Implementation (GEi) is about?

      5-10 lines suggested

      <h2>What you get</h2>

      Why to get it

      Why should I select/use it

      5 - 10 lines suggested

      <h2>Why to get it</h2>

      Open Specifications

      Which is the GE open specification you are implementing? Please provide info that includes:

      • Name of the GE(s) implemented by your product and link to the page on the wiki or manual page describing the architecture of that GE
      • The concrete Open Specifications your product supports (API Open Specifications or other specifications).
      Open Specifications Form

      The Open Specification link to the Wiki should be placed in the URL field.

      Suggested text for the GEOS Summary field if your product just implement one GE:

      <name-of-your-GEi> is an implementation of the FIWARE <name-of-GE, with link to the wiki page where the architecture of the GE is described> Generic Enabler.

      More specifically, <name-of-your-GEi> implements the following APIs and Open Specifications:

      <bullet list of APIs or other open specifications, each name with a link to the URL pointing to the page containing the specification of the API. Apiary is suggested>.

      <li> <a href="http://apiary.io/myDocs">First Open Specification</a></li>

      Your product may implement more than one GE, in which case we suggest the following text:

      <name-of-your-GEi> is an implementation of the FIWARE <list-of-GE names with a link for each pointing to the wiki page where the architecture of the GE is described> Generic Enablers.

      More specifically, <name-of-your-GEi> implements the following APIs and Open Specifications:

      <bullet list of APIs or other open specifications, each name with a link to the URL pointing to the page containing the specification of the API. Apiary is suggested>.

      <li> <a href="http://apiary.io/myDocs">First Open Specification</a></li>
      <li> <a href="http://apiary.io/myDocs">Second Open Specification</a></li>

      Creating instances

      The tab "Creating Instances" has four parts. they follow the template provided in

      The parts of the "Creating Instances Tab" are filled in as follows:

      • Introductory text: fixed and not modifiable. It appears by default when a new catalogue entry is created and it is also reflected on the template document.
      • Section Deploying a dedicated GE instance based on an image contains the details for deploying such image following the template provided. If there are no such image, the section must be filled in with "There are no images created for this GE implementation yet."
      • Section Deploying a dedicated GE instance in your own virtual infrastructurecontains the details for deploying such recipe following the template provided. If there are no such recipe , the section must be filled in with "There are no recipe created for this GE implementation yet."
      • Section Deploying a dedicated GE instance based on blueprint templates for this GE contains the details for deploying such recipe following the template provided. If there are no such recipe, the section must be filled in with "There are no recipe created for this GE implementation yet."

      Additionally, this section must include references to the Docker containers and the recipes available (if any). This should be done by introducing these sections:

      • Docker contains the details about the Docker images, including the DockerHub page and the DockerFile. An example is provided:
      <h2>Using the <a href="https://www.docker.com">Docker</a> container </h2>
      This GE implementation provides a Docker container that can be used to run your own instance.
      The Dockerfile can be found <a href="link_to_dockerfile">here</a>
      The DockerHub page for this GE implementation can be found <a href="link_to_dockerhub">here</a>


      The instances page will list all instances of your GEi that are supposed to be running. Each should be assigned a name, prefixed by the category of Instance ("Experimental", "Trial", "Commercial").

      You have to provide info about the Service End Points associated to each GEi instance. These are URLs from which requests to the APIs supported by the GEi instance are served.

      You may provide also info about URL of portals/web tools offering an UI to the GEi instance (if applicable). There maybe portal/web tools for end-users but also for admin/monitoring purposes.

      You may provide additional info that is specific to that instance.

      You can add downloadable files that may required to work with a given GEi instance. This can be appropriate if the GEi instance for example requires special documentation that does not apply to all GEi instances.

      Example for different policy of usage:

      <category> instance - <Name>

      Service End Point (URL):


      User Portal (URL):


      Specific description/considerations:

      This instance supports the following specific Features: Free usage, no registration, limited performance, ...

      Experimental instance - Orion Context Broker for Outsmart

      Service End Point (URL):


      Specific description/considerations:

      if you're experiencing problems accesing the Service Endpoint due to firewall ports restrictions, you can alternatively try http://outsmart.orionbroker.proxylab.fiware.org

      The instances are classified in two blocks, according to the location and purpose of the instance:

      • FIWARE Lab): global instances offered to external parties under the FIWARE Lab
      • Other Environments: this value is for future use. It will mainly make sense in the case of commercial instances. This value is to empower each FIWARE GEi owner to announce global instances other than the ones available on the FIWARE Lab

      Note: Instances tab do not allow to publish a free text paragraph. If you need to report something related to this, please, add a dedicated section in another tab (e.g. Documentation).


      In this section you can publish downloadable files which relate to the GEi (GE implementation) product, for example software libraries, executable code or PDF-documents. These files should be relevant for any instance of the GE - Files which are only relevant for a specific instance should be attached directly to this instance.

      You should not use this as a file repository and rely on other tools to provide the source code/binaries related to the GEis, in general it is good to avoid uploading files to the FIWARE Catalogue, linking to the actual resources is a better option.

      You can find below a list of suggested sections and contents.

      Note: Downloads tab do not allow to publish a free text paragraph. If you need to report something related to this, please, add a dedicated section in another tab (e.g. Documentation).

      Clients Libraries

      This section would include any library or driver (e.g. JAVA JDBC) that helps to program clients that directly interact with a GEi instance from a specific programming language. If these clients are not available explain why and refer to the Documentation page to explain how to interact with instances of your GEi.

      • Clients produced by the Tools Chapter will be uploaded in the Tools Chapter dedicated project on the forge by their team
      • Clients created within the chapters will be uploaded in a dedicated sub-folder together with their GE on the SCM (SVN)

      After uploading the code/binaries to the forge, we can place a link to the location on the catalogue

      Source Code

      Github.com has been adopted as the main SCM tool. You must link the github repository in the Downloads section by adding a Download that includes a link to it.

      The recommended text for the downloads form to include your github source is:

      1. Title: <Name-of-the-GEi>
      2. Revision: Optional as github should always have the last version
      3. Release Date: Optional as github should always have the last version
      4. Link:
         <a href="github.org/my_org/my_repo">Source code in github</a>
        (Please always follow the HTML notation)
      5. Description: Brief description of the repository contents or for adding a note for further clarifications (OPTIONAL)


      The releases must be supplied as Docker containers in the Creating Instances section.


      In the documentation part you write the juicy technical documentation targeted to developers and administrators of your product.

      The documentation for the programmer should be detailed enough for a programmer to know how to run a simple client program and test it. There should also be a comprehensive set of documents for admin users.

      When suitable, you can incorporate links the corresponding Generic Enabler(s) architecture description(s) and Open Specifications.

      You are encouraged to incorporate links to downloadable code examples etc that can make it easier for the developer to write code.

      You can find below a list of suggested sections and contents.

      User's and Programmer's guides

      Links to downloadable User’s and Programmer’s guides helping to use your GEi. You should put your Read the Docs links here when available. A readthedocs example can be seen here.

      <h2>User's and Programmer's guides</h2>
      The User manual is available <a href="http://readthedocs.org/your_guide">here</a>

      Installation and Administration guides

      Link to downloadable Admin’s guides helping to use your GEi.

      <h2>Installation and Administration guides</h2>
      The Installation and Administration guides are available <a href="http://readthedocs.org/your_manual">here</a>


      This should contain links to downloadable tutorials and/or source code for examples, demos and the like. Links can point to videos, documentation, code (“Hello World” examples), presentations, etc.


      Use this section to explicitly reference training material published in the eLearning platform (edu.fi-ware.org).

      Terms and Conditions

      You should cover the contents of this tab by following the guidelines presented in GE Terms and Conditions tab (FIWARE Catalogue).

      General styling tips

      The text in the catalogue can be styled using common HTML-tags. A few simple examples are shown below.

      <b>This text will be bold.</b>
      <i>This text will be in italics.</i>
      <a href="http://example.com">This will link to example.com</a>


      It is recommended to use h2-tags for headlines in the overview and documentation. If nested headlines are needed, use h3 and h4 headers for the lower levels. An example is shown below:

      <h2>System design overview</h2>
      Lorem ipsum, dolor sit amet.
      <h3>Smaller headline</h3>
      Nam eget dapibus metus. Duis tincidunt facilisis commodo. Nullam eget erat mauris, a sagittis est. Nunc a sem ut ipsum egestas rutrum. Aenean nec quam enim, pulvinar semper lectus. Etiam eu lacus in elit tincidunt elementum id non libero. Suspendisse dignissim risus id nisl tincidunt at mollis tortor bibendum. Aenean porta pulvinar velit eu volutpat.
      <h3>Another headline</h3>
      Etiam quis dolor est. Cras mi massa, fringilla quis posuere nec, iaculis et massa. Donec eget leo eget nisi malesuada tristique ut sit amet tortor. Nam scelerisque fringilla leo ac semper. Mauris mattis diam in lorem congue sodales. Integer mollis felis at tellus laoreet tincidunt.

      Example code

      Sample code can be written directly in the documentation but actual downloadable software should be uploaded and made available under the "download" page. The catalogue features automatic syntax highlighting of source code entered between blockcode-tags. An example of how to enter source code is shown below:

      <blockcode language="java">
      public void exampleFunction(foo, bar) {
      // This function does nothing.
      return null;

      The following values can be used for the "language" attribute: c, cpp, java, javascript, php.


      To add an image to a page, It should be uploaded as a file attachment either to the GEi itself (for the Overview) or directly to the documentation page. To do this, edit the page and upload the file under "File attachment". The image can then be linked to using an img-tag:

      Here is an image:
      <img src="/sites/default/files/enabler-atttachments/image_filename.png" />


      To add a list use the traditional HTML tags.

      <li>item 1 ....</li>
      <li>item 2 ...</li>
      <li>item 3 ....</li>


      Please report any bug, support request or comment to the FIWARE JIRA helpdesk.
Personal tools
Create a book