Posts

Pega integration with an opensource ==> Tesseract OCR API

Image
Tesseract OCR is an optical character reading engine developed by HP laboratories in 1985 and open sourced in 2005. Since 2006 it is developed by Google. Tesseract has Unicode (UTF-8) support and can recognize more than 100 languages “out of the box” and thus can be used for building different language scanning software also. Latest Tesseract version is Tesseract 4. It adds a new neural net (LSTM) based OCR engine which is focused on line recognition but also still supports the legacy Tesseract OCR engine which works by recognizing character patterns. Generally OCR works as follows: -Pre-process image data, for example: convert to gray scale, smooth, de-skew, filter. -Detect lines, words and characters. -Produce ranked list of candidate characters based on trained data set. (here the setDataPath() method is used for setting path of trainer data) -Post process recognized characters, choose best characters based on confidence from previous step and language data. Language d...

Chrome extension to Unselect Pega Rulesets from the Tracer settings

Image
I built a simple Chrome extension to add a new button on the Tracer settings to Unselect Pega Rulesets and the tracer would work with just our Rulesets by clicking this new button 😀 Here is the sample snapshot and this chrome extension is not yet published but is present in my Github location. We need to just add this extension using Developer mode in the chrome://extensions/ and run the tracer to see the impact in the local machine  and will not impact in the product😀 Let me know if any of you are interested to get that extension from Github. By the way, this is to play with DOM structure and that too in our local Chrome browser only 😀 Benefit: With this feature, the developer can save time while selecting the rulesets in Tracer options manually. Hoping this is much useful when we do remote tracing since with this click we can just keep our RS’s and no Pega RS’s. References: 1) google.com 2) Github.com

Pega SAML SSO Authentication

Image
After a lot of challenges faced, I was successful in implementing the SAML SSO auth using Pega Personal Edition (V84). For this exercise, I have chosen 2 IdP’s è  (1) SamlTest.id and (2) ssocircle.com initially. But I was unsuccessful with samltest.id but the configuration/knowledge while working on this is applied by using 2 nd IdP -> ssocircle.com. Both IdP’s are free to use and both have a provision of MetaData to use in this exercise. Brief info about SAML and the usage of it in terms of IdP and SP Security Assertion Markup Language(SAML) is an open standard for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. SAML is an XML-based markup language for security assertions. It is like ·         A set of XML-based protocol messages ·         A set of protocol message bindings ·      ...

Learning of Docker concepts

Image
Docker is a container management service. The keywords of Docker are develop, ship and run anywhere. The whole idea of Docker is for developers to easily develop applications, ship them into containers which can then be deployed anywhere.Docker is container based technology and containers are just user space of the operating system.In Docker, the containers running share the host OS kernel. When we can use Docker? Docker is a basic tool, like git or java, that you should start incorporating into your daily development and ops practices. Use Docker as version control system for your entire app's operating system Use Docker when you want to distribute/collaborate on your app's operating system with a team Use Docker to run your code on your laptop in the same environment as you have on your server Use Docker whenever your app needs to go through multiple phases of development (dev/test/qa/prod) Features of Docker : Docker has the ability to reduce the size of deve...

Extraction of Metadata from an image file using Tika library in a Pega function

Image
I have learned a new java library called  “Tika” and this is an open source used to detect the language, MIME detection, Parsing of data, extraction of metadata. This library has 3 jars mainly used to support various functionalities from Tika mentioned below. For more details, you can google it. 1) org.apache.tika.jar 2) tika-core-1.6.jar 3) tika-parsers-1.6.jar Brief idea on Tika library and the features: Extract the metadata from an image file stored in the server path (ServiceExport) in my V84 PE: Wrote a simple java code in the Pega function to get the file name (Car.jpg) from an activity call to return the metadata using Tika library logic. The function returns a String of all the metadata associated to that image file. For now, I showed that metadata in a Show-Property method from the activity call. To perform this whole exercise, I have installed all the Tika jars in my PE before I start this exercise. Note...

Basic Pega NLP exercise for Twitter

Image
Here I am sharing a small, basic Natural Language Processing (NLP) exercise using Pega Infinity V84 to analyze the Twitter's tweet data and capture the sentiments into a Pega case. Before we start this exercise, we need to have twitter's API keys. For that, we need to login into the Twitter's developer site using twitter login credentials and create an app in it. https://developer.twitter.com/ Here is the details for your info and below are the simple steps to be followed to work on this exercise J 1) We need to build a Data Flow:  TwitterDataFlow to capture the Twitter configuration ( TwitterDS ) , Text analyzer process ( TweetsAnalyzer ) and a Pega case ( TwitterCase ) to be used to capture the data 2) Took the Pega NLP model:  TwitterSentimentModels and used in the Text analyzer step and created a sample NL file ( TwitterSentimentLexicon ) in csv format to recognize the words/sentiments 3) Create a sample model( TwitterSentimentModels ) by using t...

My GraphQL learning points

Image
GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data.GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015. https://graphql.org/ GraphQL is a query language for an API, and a server-side runtime for executing queries by using a type system we define for our data. GraphQL isn't tied to any specific database or storage engine and is ins tead backed by our existing code and data. Once a GraphQL service is running (typically at a URL on a web service), it can receive GraphQL queries to validate and execute. A received query is first checked to ensure it only refers to the types and fields defined, then runs the provided functions to produce a result. GraphQL Request: {   me {     name   } } GraphQL Response: {   "me": {     "name": "Ravi Kumar Pisupati"   } } REST Vs GraphQL: 1) In REST, the endpoint you call is the identi...