ICANN Blogs

Read ICANN Blogs to stay informed of the latest policymaking activities, regional events, and more.

How the ITI Technical Infrastructure Works

21 June 2018
By Ashwin Rangan

We've blogged previously that the Information Transparency Initiative (ITI) is a foundational project that aims to establish content governance and rebuild our underlying technical infrastructure. These key foundational deliverables will improve how we manage all of our content. ICANN's new technical infrastructure will eventually power our internal and external content platforms, including https://icann.org and the Supporting Organization and Advisory Committee (SO/AC) websites. This infrastructure includes a new document management system (DMS) and a new content management system (CMS). The specific platforms we are using are Alfresco, the DMS, and dotCMS, the CMS.

There is a lot of behind-the-curtain engineering effort that goes into achieving these goals. To help you better understand the planning and implementation that goes into a project of this size, I'd like to provide you with a peek behind that technical curtain.

Allow me to illustrate this effort using the journey of one piece of content from creation to publication.

  1. Creating Content

    The first step in this process is the creation of content. This content can include text, images, video, or audio. Today, text content most often begins in Microsoft Word or Google Docs. In the future state, some content will be directly authored in the new DMS via templates and transformed into HTML pages. Other content will continue to be authored in Word or Google Docs and uploaded to the DMS.

  2. Tagging the Content

    This next step is an important one – adding tags from the ICANN taxonomy. Each piece of content needs to be categorized and tagged leveraging ICANN's taxonomy. This taxonomy was developed to ensure we maintain consistency in how the content is organized, which in turn makes the content easier for our users to find. To enable this tagging and improved search, ICANN will leverage a popular open-source enterprise search platform called SOLR.

    At this stage, the content is ready for reviews and approvals.

  3. Providing Reviews, Approvals, and Translation

    Some content intended for publication may need to be reviewed and approved by one or more ICANN functions. Authors will be able to route content to the appropriate reviewers and approvers before the content is publishable. Once reviewed and approved, the content can then be pushed to Language Services for translation.

    A key feature of the DMS is its ability to enforce and govern workflows to ensure the accuracy and quality of content.

    Once the content is released, it is ready for MOM. Who or what is MOM?

  4. Staging the Content with Message-oriented Middleware (MOM)

    No, it's not the MOM you are thinking of. Message-oriented middleware (MOM) is a content staging platform. A piece of content may need to be published to multiple platforms. To enable this, ICANN's Engineering & IT team has leveraged a commercially licensed platform called Kafka, which is a type of MOM. It stages content before the content is published to one or more public sites.

  5. Preparing the Content for Presentation

    In order for the site to publish the content, the CMS subscribes to content in the MOM to begin the presentation layer of the public site. The CMS organizes content according to content modelling performed in the DMS. The modelling ensures that the content is presented in a way that makes sense for how it will be surfaced and viewed by the user. This includes where the content fits in the site's navigation, ensures multilingual content is tied to the source, and enables indexing for search.

  6. Presenting the Content

    The final step in this process is publication. The ITI team has chosen an architectural approach called a single page application (or SPA). SPAs are web applications that load individual HTML pages and dynamically update page content. In this new architecture, we are leveraging a JavaScript language called AngularJS for development, and a popular styling framework to render content to our public sites. This additional layer of the architecture allows for more rapid development, mitigates against system limitations, and gives our users a truly responsive and accessible experience.

    Our foundation meets ICANN's stringent security requirements and fits within our continuous integration and deployment strategies, and our goal of ensuring our infrastructure is Reliable, Available, Scalable, and Performing (RASP).

    This foundational architecture was recently proven with the launch of the new Acronyms and Terms feature.

    ITI is just the beginning. These elements are the foundation for the future – a future where we will have a consolidated, multitenant environment housing all ICANN-controlled public properties.

    For more information about ITI, visit feedback.icann.org. On this site, you'll find links to previous ITI blogs, background documentation, and more. If you're interested in learning more about ITI or have a suggestion or feedback, email us at informationtransparency@icann.org.

Authors

Ashwin Rangan

Ashwin Rangan