Skip to content

Widget Development Guidelines

General Development Guidelines

  1. Since widget development is carried out using Angular, ensure adherence to the standard best practices recommended for Angular application development. This will help maintain code quality, performance, and scalability. (Angular : Best Practices)

  2. Whenever possible, utilize Granite UI components (Granite Components Demo (Latest)) or Granite Kendo Components in your code instead of creating custom UI elements from scratch. These components are built according to IFS design guidelines and offer enhanced accessibility features. Using these predefined components also ensures a consistent user experience across different widgets displayed on the Home page.

  3. Always use Granite design tokens instead of hard-coded color values so it will work seamlessly across different themes in IFS Cloud
  4. Make sure the code is free of any logic that might lead to performance issues, memory leaks, etc.
  5. Always try to use the base service functions that best serve your requirement
  6. Please read the Widget Design Guidelines (Design Guidelines for Home Widgets ) before starting widget UI development and make sure to follow those design guidelines throughout the development process
  7. Please read the best practices included in this document that we follow when developing Angular components

Using Third-Party Node Package

Due to reasons such as security, performance, and maintenance, widget developers are restricted from adding new third-party node packages during development. Instead, you can use the following pre-existing packages available in the widget workspace to support your development.

  • Granite UI Components
  • Granite Kendo Components
  • Granite Tokens
  • Granite Icons

In any case, if there is a requirement to use another internal or external node package, please discuss it with the framework team first.

Automated Tests

Including unit tests for widgets is essential to ensure that all functionalities perform as expected, both during the initial development phase and throughout the long-term maintenance of the widget code.

Since the widgets are deployed via the IFS Cloud client framework, adherence to the established testing guidelines, consistent with those applied to client framework development, is required. This alignment ensures quality and reliability across IFS Cloud software solutions.

Please refer to the following sub-sections to learn more about the Widget development.