13 Replies Latest reply on Jun 1, 2020 2:00 PM by Laurent Matheo

    Some resources / tutorials for developers (view component, rest api, javascript action etc...)

    Laurent Matheo
      Share This:



      So this thread is a bit of a summary of the resources you can find, I mention the official documentation, tutorial from Dave Sulcer, some community threads as well as the work I did initially for the T3 (tutorials / code / video) that (I hope) is bound to expand




      I°) Official documentation:

      Innovation Suite: Home - Innovation Suite

      Tutorial: Tutorial - Innovation Suite

      Integration Service: Home - BMC Integration Service

      BMC Developer Youtube Channel: BMC Digital Innovator - YouTube



      II°) Interesting community threads:

      I have written a thread on the BMC Communities on how to insert / use your own resources (css, images etc…):




      III°) Additional resources / video tutorials / code sample:

      For the past year I tried to prepare for this community some code samples. T3 last year was the perfect "excuse" to finish them and prepare a series of videos around it.


      On my personal Youtube channel I posted videos around what you can do in Innovation Studio, mostly around custom code as Dave Sulcer in his tutorial tackles quite well the "OOTB" codeless part


      The code mentioned in the video is on GitHub:



      Here is the list of applications / samples (https://github.com/lmame/Sample-Library-Public):

      Javascript View Components:

      • Custom Label (how to pass information to a View Component. The component is updated each time the value changes),
      • Display Associated data using Javascript framework,
      • Display data using Javascript framework,
      • Display a picture that is stored in an attachment of a record instance,
      • List of icons you can use for your view component (it is a view component with search capability),
      • Priority and VAT calculators. This one shows how to pass data to a view component as well data back from a view component each time a value changes,
      • Star System: Show how to pass and get information from a view component as well as showing how to display complex information in View * Designer (slider to select the number of stars, color picker, showing the stars in the canvas etc...),
      • Show how to use the "Refresh" Action to call a method in a View Component and insert the View Component into a record editor,
      • Calling a Custom Command and Custom Rest API using BMC OOTB resources objects,
      • Calling a Javascript Action from Javascript Code using "rxAction" method.
      • Accessing a grid native apis (ui-grid).
      • Accessing a grid object
      • Get user session information on javascript and backend
      • Use class objects and list of objects to / from get and post rest apis
      • Trigger an action bouton through javascript
      • Trigger specific process activity through Java / Javascript
      • Use BMC grid rx-record-grid object to display custom data (datapagequery), also shows how to query data from backend,
      • Create Admin Settings for your application and get the values in Java and Javascript,
      • Getting and saving user preferences,
      • Using Google Maps and Google Geolocator apis (you will need a Google Maps api key),
      • Calling a Process from Javascript and getting the process definition,
      • Displaying a picture stored in a record instance attachment field (better version),
      • Leveraging third party digital signature to allow users to sign using a mouse / fingers and generate a base 64 picture based on the signature (https://github.com/szimek/signature_pad, https://github.com/legalthings/angular-signature),
      • A pie chart leveraging the supplied libraries nvd3 and d3,

      Javascript Actions:

      • Calling a javascript custom Action and using rxNotification to display messages popups,
      • Calling a Custom Java command using $http to get result from it,
      • Confirm window. How actions can be chained and how to "break" the chain if needed. We show also how to synchronous custom javascript actions.
      • Downloading a file, can be used to download a file from a grid for example,

      Java Service:

      • Custom Java service that returns an Object that can be used in Rule or Process designers,
      • Public Java Service used to convert a base64 picture into a picture, generate an attachment field data and update an existing record instance with this data,

      Java Rest API:

      • Custom Rest API,

      Java Commands:

      • Custom Java commands delivered as examples,

      Tips & tricks

      • How to pass custom objects in a process and access its properties (list of strings, object, list of objects)
      • How to pass custom objects in a process and access its properties (list of strings, object, list of objects) and using Documents to access an Object attribute rather than using the object "path",

      Apis description:

      • How to use rxNotificationMessage in UI to display notification, modify the Ttl and display the message as Html (bonus, using picture),


      Here is the list of videos (https://www.youtube.com/watch?v=iaOsmuxdXTE&list=PLKhrzlPY29F8_omqn1kFEsmcVduBFmZA6):

      • Episode 01 - Intro, what is this about?
      • Episode 02 - [View Component] What is a view component? Example with a simple view component
      • Episode 03 - [View Component] using Js framework to fetch and display associated data
      • Episode 04 - [View Component] using Js framework to fetch and display record definition data
      • Episode 05 - [View Component] Display an image stored into an attachment (custom inspector)
      • Episode 06 - [View Component] Using a View Component to display icons... So nothing about IT ^_^
      • Episode 07 - [View Component] Price Calculator, how to broadcast output parameters
      • Episode 08 - [View Component] Star System, custom inspectors and third party Js libraries
      • Episode 09 - [View Component] Handling Refresh action, insert in a record editor and hide it
      • Episode 10 - [View Component] Calling Custom Java Command and Custom Rest API
      • Episode 11 - [Action] Custom Action and notifications
      • Episode 12 - [Action] - Creating a synchronous JS Action + Custom Java Command, with result
      • Episode 13 - [Service] Creating a Java Custom Service to use in Process / Rule Designer
      • Episode 14 - Using Grunt to debug / test an application
      • Episode 15 - Double Grunt or testing / debugging a Library
      • Episode 16 - How to integrate third party Jar files?
      • Episode 17 - [View Component] - Creating a custom View Component from Scratch
      • Episode 18 - [Action] - Creating a custom Action from Scratch
      • Episode 19 - [Use Case] - Confirmation popup as a custom Action using dialogs
      • Episode 20 - [Use Case] - Confirmation popup, codeless version (follow up Ep 19)
      • Episode 21 - Using a Css class inside a Container
      • Episode 22 - [View Component] Accessing grid internal Apis
      • Episode 23 - [View Component - Rest Api - Java] How to get user session information
      • Episode 24 - [ View Component - Rest Api - Java] How to get and post Objects and List of Objects
      • Episode 25 - [View Component] How to trigger an Action Button
      • Episode 26 - [View Component - Rest Api - Java] How to call a specific Process Activity
      • Episode 27 - [View Component - Datapagequery - Java] Use BMC Grid with another datasource
      • Episode 28 - [Action] Action chaining and how to create a synchronous action
      • Episode 29 - [Process] How to pass Objects object / Lists to a process and access those
      • Episode 30 - [Action] Download a file from a grid
      • Episode 31 - [Debug - Grunt] How to debug my code on design time update
      • Episode 32 - [View Component - Java - Js] How to access Admin Settings from Java and Javascript
      • Episode 33  - [Api - Js] Sending Notification using rxNotificationMessage and using pictures




      This code and videos have been done on personal time and come "as is".