Developers Getting Started With i2b2
Space shortcuts
Space Tools
Developers Getting Started With i2b2 getstarted

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Caution Box
titlePHP Proxy URL

Don't forget to update the proxy URL in i2b2_config_domains.js - see the heading Configuring Proxy Service URL. The default URL does not work in Apache!

...


Info

...

titleA-hat character

If obfuscated users are seeing an odd A-hat character in query results, UTF-8 needs to be enabled in Apache. (In the charset.conf configuration file, find the line that reads "AddDefaultCharset UTF-8". Uncomment it and restart Apache.)

See detailed instructions in  Troubleshooting.

Anchor
_52j3c58b0474
_52j3c58b0474
WEB CLIENT HOSTING VIA APACHE

Anchor
_x1e492yw167w
_x1e492yw167w
General Hosting Installation

In general, you will need to copy all the files and directories into the root hosting directory that you have configured for your web server software. The majority of the web client's files will be served directly by the web server. Certain functionality (primarily the proxy service and SAML-related services) are enabled using PHP script files. To work properly within Apache, you will need to configure the Apache service to execute the PHP scripts contained within the hosting directory. If you are using the NodeJS-based proxy server these things are self-contained.

Anchor
_lxpjrvnny9e2
_lxpjrvnny9e2
Requirement for a Proxy Service

The i2b2 server architecture hosts all i2b2 services within a Java application server JVM. No services within the i2b2 hive exist to host the HTML, CSS and Javascript files that make up the i2b2 web client. To accomplish this the web client's files must be hosted somewhere. Because of the "same-origin" security rule that is baked into all web browsers, the i2b2 web client is not able to directly connect to the different URLs which expose the i2b2 services. In order to accomplish this a "proxy service" must be operated within the web server environment which is hosting the i2b2 web client's code. When hosting the web client using Apache the proxy service is manifested via the proxy.php script file. If you are hosting the web client using the NodeJS-based proxy server the proxy service is self-contained within

In general, you will need to copy all the files and directories into the root hosting directory that you have configured for your web server software. The majority of the web client's files will be served directly by the web server. Certain functionality (primarily the proxy service and SAML-related services) are enabled using PHP script files. To work properly within Apache, you will need to configure the Apache service to execute the PHP scripts contained within the hosting directory. If you are using the NodeJS-based proxy server these things are self-contained.

...

The i2b2 server architecture hosts all i2b2 services within a Java application server JVM. No services within the i2b2 hive exist to host the HTML, CSS and Javascript files that make up the i2b2 web client. To accomplish this the web client's files must be hosted somewhere. Because of the "same-origin" security rule that is baked into all web browsers, the i2b2 web client is not able to directly connect to the different URLs which expose the i2b2 services. In order to accomplish this a "proxy service" must be operated within the web server environment which is hosting the i2b2 web client's code. When hosting the web client using Apache the proxy service is manifested via the proxy.php script file. If you are hosting the web client using the NodeJS-based proxy server the proxy service is self-contained within its code.

Anchor
_kem5e0afs201
_kem5e0afs201

...

Anchor
_wnib6yo2ddxr
_wnib6yo2ddxr
Other Suggested Readings

  • For troubleshooting tips, see i2b2 Usage Community FAQ
  • Upgrade Guide for i2b2 Release v1.8
  • Applying Branding Styles to the i2b2 Release v1.8+
  • Plugin Development for i2b2 Release v1.8+

...

Anchor
_rjshgma5rkyz
_rjshgma5rkyz
i2b2 Web Proxy Server Repository

https://github.com/hms-dbmi/i2b2-webclient-proxy

Anchor
troubleshooting
troubleshooting
Troubleshooting

Troubleshooting Odd Characters in Query Results

If obfuscated users are encountering an unusual "A-hat" character (Â) in their search results, it's likely due to a character encoding issue within your Apache server. To resolve this, you'll need to enable UTF-8 encoding.

Solution:

  1. Locate the charset.conf file:

    • This file is typically located in your Apache configuration directory. Its exact path may vary depending on your server setup. Common locations include:
      • /etc/apache2/conf/charset.conf
      • /etc/httpd/conf/charset.conf
  2. Uncomment the UTF-8 line:

    • Open the charset.conf file using a text editor.
    • Find the line that reads:
      AddDefaultCharset UTF-8
      
    • If this line is commented out (preceded by a # symbol), remove the # to uncomment it. This will instruct Apache to use UTF-8 as the default character set.
  3. Restart Apache:

    • After making the change, restart your Apache server to apply the configuration. The specific command to restart Apache will depend on your operating system and server setup. Common commands include:
      • Linux: sudo systemctl restart apache2 or sudo service apache2 restart
      • macOS: sudo apachectl restart

Anchor
_qrvsxe4i2xo6
_qrvsxe4i2xo6
Acknowledgments

...

Developers Getting Started With i2b2 getstarted