Projects

CBIHub - Research Intranet Portal

Duration:2022 - current
Technologies:Python, Django, PostgreSQL, Docker, Kubernetes

CBIHub is a custom-developed intranet portal to improve the communication and knowledge exchange within the Center for Biomedical Imaging at NYU Langone Health. The need for the portal arose from the significant growth of the center over the last decade, which nowadays includes over 200 associated staff members who are located in different buildings in the NYC area.

To access the portal, CBI members must authenticate with their institutional Kerberos ID (SSO) and are directed to an overview page that summarizes all updates and news related to the center, including announcements, blog entries, events scheduled during the week, new colleagues, upcoming research seminars, and staff surveys. The overview page also provides links to the main intranet applications provided by the institution.

For making departmental announcements, CBIHub provides a content-management system with an intuitive visual editor that allows embedding formatted text, links, image galleries, and videos. Announcements can be pre-scheduled and unpublished after a specified time. Moreover, announcements can be elevated to broadcasts or alerts, which are prominently displayed on the overview page to draw attention. Users can submit comments, which are displayed below the announcements and at multiple other places across the portal.

Upcoming department events are announced in an integrated calendar with categories for different event types and extended meta information, such as a description in mark-down format, speaker picture and biography, event organizer, and dial-in information. Users can join online meetings directly from the portal. If an event has already passed, users are automatically directed to the recording. CBIHub provides an iCal feed, which users can subscribe to if they like to receive the events automatically in their Outlook calendar. Event announcements, reminders, and updates are also dispatched via templated emails, with the option for users to opt-out from email notifications.

A key component of CBIHub is the interactive staff directory. Every staff member has a profile page on the portal, which the user (or a member of the editor team) can populate. The profile is automatically prefilled with basic information from the institutional SSO directory. Besides standard data such as contact preferences and a profile picture, users can list information including their preferred name and pronouns, record the correct pronunciation of their name, mark their desk location on the floor plan, select who they are working with and reporting to, as well as list their technical skills.

Information is cross-linked between profiles and visualized in different views of the staff directory. For example, it is possible to view the directory sorted by name, role, team, or office location. Moreover, interactive visualizations are available, such as the team navigator, skill explorer, floor plans, and a connection diagram that reflects collaborations and the reporting structure within the department.

Surveys can be conducted to engage the users of the portal. Voting results can be shown either during the poll or after voting has ended. Different visualizations are available (e.g., bar or pie chart). Polls can be pinned to the overview page or attached to announcements. Depending on the configuration of the poll, users can either select from a predefined list of voting options or submit also own suggestions.

Common knowledge and team-specific information can be exchanged in the wiki section of the portal, which resembles a typical wiki site that allows creating hierarchical information pages. The pages can be edited by all users through an inline editor in the mark-down format. All changes to the pages are tracked and can be reverted in case of an editing mistake. Images and files can be uploaded and embedded into the pages. All content is searchable (via the search bar on top of the portal). Moreover, users can subscribe to individual pages and receive visual notifications whenever the pages are updated.

The CBIHub portal has been developed in Python and Django using a mobile-friendly Bootstrap front-end theme and various JavaScript libraries for interactive front-end functionalities, including FullCalendar, Apache ECharts, D3js, Leaflet.js, and htmx. The application has been dockerized and deployed on an institutional cluster running the Rancher Kubernetes platform. Various mechanisms have been put in place to monitor the uptime status and to measure the response time, ensuring that CBIHub works reliably and smoothly.