Skip to content
Stephen Hurwit edited this page Jun 13, 2022 · 6 revisions

Welcome to the Content Building Block wiki!

Under Construction

The Content Building Block (Content BB) is the service responsible for storing and managing content for the client applications in the Rokwire ecosystem. In general the structure of this content is not prescribed to provide sufficient flexibility for future use, but support is provided for textual and file-based content (such as images). This Building Block can also be integrated with external content providers. This Examples of content that can be managed by this building block include UI panel content, profile photos, and Twitter feed data.

API level documentation for this Building Block can be accessed by visiting https://api.rokwire.illinois.edu/content/doc/ui/. This documentation conforms to the OpenAPI 3.0 standard. For the raw YAML documentation, you can visit https://api.rokwire.illinois.edu/content/doc.

This Wiki provides an overview of the functionality included in the Content Building Block. It includes the following sections:

Textual Content

The Content BB supports the management of arbitrary textual content. This could include JSON blobs, HTML, simple paragraphs, or any other type of text-encoded data. Textual Content is stored in a MongoDB collection.

Content Items

Each individual piece of content is represented as a Content Item. Each Content Item should include a self-contained blob of textual data.

Every Content Item contains a "category" that associates it with related content. New categories can be defined by simply setting a previously unused category when creating a new Content Item.

Arbitrary textual content may be retrieved using the /content-items endpoint and managed using the /admin/content-items endpoints. There are also several specific content types that can only be managed through separate APIs with the appropriate permissions.

Below is a list of content types that can be managed separately:

  • Student Guide: Student Guide panel content for the Illinois App
  • Health Locations: COVID testing locations on campus to be displayed in the Illinois App
  • Campus Reminders: Content for campus reminders displayed in the Illinois App
  • Gies Nudge Templates: Content for nudge template messages to be sent to Gies students in the Illinois App
  • Gies Onboarding Checklist: Content for the task checklist for new Gies students in the Illinois App
  • UIUC Onboarding Checklist: Content for the task checklist for new UIUC students in the Illinois App
  • Wellness: Wellness panel content for the Illinois App

Image Content

The Content BB supports the management of image content. Image content is stored in an AWS S3 bucket.

Images

Image files can be uploaded using the /admin/image endpoint. When uploading the image, a height, width, and quality can be specified to reformat the image before it is stored. A custom path and file name can also be specified.

Profile Photos

Profile Photos are managed separately from other images. These images are profile photos for users of Rokwire applications. These photos are uploaded by the users themselves using the /profile-photo endpoint.

Integrations

The Content BB can be integrated with external systems in order to manage and abstract content from these systems.

Twitter

Content can be loaded from a Twitter feed for a specific Twitter user/account through the /twitter/users/{user_id}/tweets endpoint. The Content BB acts as a middle-man for this interaction exposes the same query params that can be provided to the Twitter API. Results of the query will be cached and re-used for identical queries in the future.

Clone this wiki locally