---
title: Apache NiFi - Flow Design System
---
<div class="large-space"></div>
<div class="row">
    <div class="large-12 columns">
        <div class="row">
            <div>
                <h1>Apache NiFi - Flow Design System</h1>
            </div>
        </div>
        <div class="large-space"></div>
        <div class="row">
            <div class="large-12 columns">
                <p class="description">
                    A subproject of Apache NiFi to provide a consistent user experience across the various web applications within the NiFi ecosystem.
                </p>
            </div>
        </div>
    </div>
</div>
<div class="large-space"></div>
<div class="row">
    <div class="large-12 columns features">
        <h2>About</h2>
    </div>
</div>
<div class="medium-space"></div>
<div class="row">
    <div class="large-12 columns">
        <p class="description">
            Flow Design System&mdash;a subproject of Apache NiFi&mdash; is an atomic reusable platform for providing a consistent set of UI/UX components for Apache NiFi, Apache NiFi Registry, Apache NiFi MiNiFi, and any other open source web applications to consume.
        </p>
        <p class="description">
            Specific goals for the initial thrust of the Flow Design System effort include:
            <ul>
                <li>Implementation of the Flow Design System for reuseable UI/UX components</li>
                <li>Integration with NiFi Registry UI/UX via npm public registry</li>
            </ul>
        </p>
        <p class="description">
            Future efforts may include capabilities to support additional UI/UX concepts as they are identified by the community.
        </p>
    </div>
  </div>
    <div class="large-space"></div>
    <div class="row">
        <div class="large-12 columns features">
            <h2>Links</h2>
        </div>
    </div>
    <div class="medium-space"></div>
    <div class="row">
        <div class="large-12 columns">
          <p class="description">
              Releases
              <ul>
                  <li>
                    0.3.0
                    <ul>
                      <li>
                        Sources
                        <ul>
                            <li><a href="https://www.apache.org/dyn/closer.lua?path=/nifi/nifi-fds/nifi-fds-0.3.0/nifi-fds-0.3.0-source-release.zip">nifi-fds-0.3.0-source-release.zip</a> (
                              <a href="https://www.apache.org/dist/nifi/nifi-fds/nifi-fds-0.3.0/nifi-fds-0.3.0-source-release.zip.asc">asc</a>,
                              <a href="https://www.apache.org/dist/nifi/nifi-fds/nifi-fds-0.3.0/nifi-fds-0.3.0-source-release.zip.sha256">sha256</a>,
                              <a href="https://www.apache.org/dist/nifi/nifi-fds/nifi-fds-0.3.0/nifi-fds-0.3.0-source-release.zip.sha512">sha512</a> )</li>
                        </ul>
                      </li>
                      <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-NiFiFlowDesignSystem0.3.0">Release Notes</a></li>
                    </ul>
                  </li>
                  <li>
                    0.2.0
                    <ul>
                      <li>
                        Sources
                        <ul>
                            <li><a href="https://www.apache.org/dyn/closer.lua?path=/nifi/nifi-fds/nifi-fds-0.2.0/nifi-fds-0.2.0-source-release.zip">nifi-fds-0.2.0-source-release.zip</a> (
                              <a href="https://www.apache.org/dist/nifi/nifi-fds/nifi-fds-0.2.0/nifi-fds-0.2.0-source-release.zip.asc">asc</a>,
                              <a href="https://www.apache.org/dist/nifi/nifi-fds/nifi-fds-0.2.0/nifi-fds-0.2.0-source-release.zip.sha256">sha256</a>,
                              <a href="https://www.apache.org/dist/nifi/nifi-fds/nifi-fds-0.2.0/nifi-fds-0.2.0-source-release.zip.sha512">sha512</a> )</li>
                        </ul>
                      </li>
                      <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-NiFiFlowDesignSystem0.2.0">Release Notes</a></li>
                    </ul>
                  </li>
                  <li>
                    0.1.0
                    <ul>
                      <li>
                        Sources
                        <ul>
                            <li><a href="https://archive.apache.org/dist/nifi/nifi-fds/nifi-fds-0.1.0/nifi-fds-0.1.0-source-release.zip">nifi-fds-0.1.0-source-release.zip</a> (
                              <a href="https://archive.apache.org/dist/nifi/nifi-fds/nifi-fds-0.1.0/nifi-fds-0.1.0-source-release.zip.asc">asc</a>,
                              <a href="https://archive.apache.org/dist/nifi/nifi-fds/nifi-fds-0.1.0/nifi-fds-0.1.0-source-release.zip.sha256">sha256</a>,
                              <a href="https://archive.apache.org/dist/nifi/nifi-fds/nifi-fds-0.1.0/nifi-fds-0.1.0-source-release.zip.sha512">sha512</a> )</li>
                        </ul>
                      </li>
                      <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-NiFiFlowDesignSystem0.1.0">Release Notes</a></li>
                    </ul>
                  </li>
              </ul>
          </p>
          <p class="description">
              Source
              <ul>
                  <li><a href="https://gitbox.apache.org/repos/asf?p=nifi-fds.git">Apache Git</a></li>
                  <li><a href="https://github.com/apache/nifi-fds">GitHub Mirror</a></li>
              </ul>
          </p>
          <p class="description">
              Issues
              <ul>
                  <li><a href="https://issues.apache.org/jira/browse/NIFI">NiFi JIRA</a></li>
              </ul>
          </p>
        </div>
    </div>
