Skip to content

Technical Specification Document

Sakshi Tyagi edited this page Mar 15, 2016 · 1 revision

Technical Specification Document

This document will walk you through the technical aspects of the plugin and how the plugin flow works. If the plugin use some external apis or references , they are also mentioned here.

Technology Stack

  • Angular Js
  • Buildfire APIs

Plugin is divided into three main sections:

  • Content
  • Design
  • Widget

Content Section :

In this section user can add , edit or delete Carousel images and WYSIWYG text. It also provides ability for user to choose and enter channel feed url, user feed url or single video url and validate it accordingly.

Design Section :

In this section user can have control over look and feel of their app in widget section. They can change list layout, set or remove background images for video list page and single video page as well.

Widget Section :

This section reflects the actual data from content section. So if user has chosen channel feed, then it will show list of videos, if user has chosen single video, it will show single video in vimeo embedded video player and details corresponding to it. All the changes made in content and design section reflects live on widget section. In case of channel url, videos are lazyloaded on scroll.

Data storage and manipulation

The plugin uses Buildfire Datastore Apis for saving and retrieving data.

For fetching vimeo video data, plugin consumes Vimeo APIs :

  • https://api.vimeo.com/videos/{videoId} : Get api call to fetch a vimeo video details for given video id.
  • https://api.vimeo.com/users/{userId}/videos?page={page}&per_page={countLimit} : Get api call to fetch a paginated list of vimeo videos for given user id, page number and count limit.
  • https://api.vimeo.com/channels/{channelId}/videos?page={page}&per_page={countLimit} : Get api call to fetch a paginated list of vimeo videos for given channel id, page number and count limit.

Note : These apis need vimeo access token to be set in authorization headers.

Miscellaneous References :