Using CCTray to monitor continuous integration setup using Jenkins for Salesforce | Video Tutorial

In previous article, I have explained that how to use Jenkins to setup Continuous integration for Salesforce.

Now, once Jenkins is up and its doing its job to build Salesforce changes. Next task is to monitor build result. We already setup post deployment task by creating chatter message to notify everyone about build result, however there is one more excellent way to be aware about result and its small desktop client named “CCTray”.

You can download CCTray from here. Once installed, follow below steps to setup.

Open CCTray and navigate to settings :

CCTray Settings
CCTray Settings

Why to use Bower for your web developement

What is Bower
It is client side package Manager and Great tool to manage all you web dependencies like JavaScript libraries and other assets.

Bower
Bower

What can be done from Bower
Web sites are made of lots of things — frameworks, libraries, assets, utilities, and rainbows. Bower manages all these things for you.

# registered package
$ bower install jquery

# GitHub shorthand – download repository SOQLBuilder from user Jitendra on Git
$ bower install JitendraZaa/SOQLBuilder

# Git endpoint
$ bower install git://github.com/user/package.git

# URL
$ bower install http://somewebsiteURL.com/script.js

How to use PostgreSQL in Nodejs

I have written many articles on Node.js and AngularJs. In this article, I will demonstrate how to use PostgreSQL with Node.js and deploy on Heroku. I think you already smelled that this is one of starting article which will finally merged with Salesforce to create some cool application.

Assuming you already have some background knowledge on Node.js and Heroku, If not please visit previous articles of this blog or my Slideshare account. Using Angularjs is totally optional and you can use library like JQuery or plain JavaScript.

To connect PostgreSQL, we need “pg” module.

PostgreSQL in Node.js
PostgreSQL in Node.js

Dreamforce 2014 Session – create web based IDE for Salesforce

In Dreamforce 2014, I got chance to present demo of creating online IDE for Salesforce using Tooling API. I used Node.js as a language to communicate with Salesforce API on Heroku Platform.

Demo

  1. Simple Editor

Complete source code (Github)

  1. Simple Editor
  2. Editor with Ace framework

Dont forget to share your feedback.

Below is the presentation slide I used

Creating Salesforce Query Builder in Node.js and AngularJs using Salesforce REST API and OAuth2 with Heroku Button

In this post, we will be creating a Salesforce Query (SOQL) Builder. It uses Google’s Angularjs MVC Javascript library and REST API provided by Salesforce. For Authentication, it uses OAuth2.

Node.js is used as a primary language and hosted on Heroku. If you want to directly deploy to your Heroku Account, You can use Heroku Button on this Git Repository.

We have many tools available online for Query builder, However none of them were satisfying me so though to create my own tool.

This Node.js application is used for building SOQL with following features :

  • Toggle between API name and Label Name
  • Search Objects or Fileds needs to build SOQL (In my case, it was primitive. I had more than 70 Objects and many of those objects has 300+ fields)
  • Checkboxes to select fields (No need to hold control button to select multiple fields)
  • Automatic Query Builder at Right side of page
  • Shows API count used by application
  • Search returned records
  • Sorting on Table Headers
  • Pagination

Note : You will need to create “Connected App” in Salesforce to allow OAuth as explained in this post.

Live Demo of application

Create Node.js Application using Eclipse and deploy to Heroku – Video Tutorial

In Below video, I have explained how to create basic Node.js application in Eclipse with help of Egit and Heroku plugin and deploy to Heroku.

Please read below two articles, to get familiar of Plugins and how to setup :

  1. Salesforce + Git + Eclipse + EGIT = Better and Distributed Source Control
  2. Creating First Application in Heroku using Eclipse

Resolve Error : Eclipse SSH key is not matching the SSH key(s) that is associated with your Heroku account

We have seen that how to create First Heroku application using Eclipse. However it is possible that after following all steps properly in above article you may receive error saying

the Eclipse SSH key is not matching the SSH key(s) that is associated with your Heroku account. To fix this error, you can: – Associate your SSH key to your Heroku account by going to “Preferences” OR – If the SSH Key is correct, restart Eclipse

Eclipse and Heroku SSH key is not matching
Eclipse and Heroku SSH key is not matching

However, if you will login to heroku, you will find that application is already created. Error is only at Eclipse end.

IndexedDB – Client Side Database

One of many features of HTML5 is capability to store data on client machine with the help of “Indexed Database API“. Using this technique web developers can add offline capabilities to their application. Currently almost every modern browser supports “IndexedDB”.

Unlike traditional RDBMS, IndexedDB doesn’t have table or columns which supports SQL. In RDBMS, it is very hard to change structure of table once schema is decided. IndexedDB actually stores object which can be of any type. Store Object in IndexedDB and process inside Javascript, it is that simple. Every object needs to have unique Index which makes it accessing faster and efficient. Before IndexedDB, we had “Web SQL Database“. However W3C announced that it is depreciated, still few browsers continues support for Web SQL.

Lets start with Example on Indexed DB :

Very first step in IndexedDB is opening database. Below Code Sample will explain the process.

How to set up Central User Administration (CUA) in SAP

As we have seen the overview of CUA in our pervious blog, now, I will explain the procedure to set up the CUA. At macro level details, below steps need to be performed to set up the CUA:

Steps to Set Up the CUA

  1. Create Administrator
  2. Specify Logical systems
  3. Assign logical systems to client
  4. Create system users
  5. Create RFC destinations
  6. Create CUA
  7. Set field distributor parameters
  8. Synchronization of company addresses
  9. Transfer Users

Below are the systems considered as an example to set up CUA:

  • System ABC with client 123
  • System PQR with client 456
  • System XYZ with client 789

Here, we will set system ABC (client 123) as a CUA central system and other systems as child systems. As per this structure, we will proceed with above mentioned steps:

1. Create Administrator User

In a completely new system that is to be set up, an administration user needs to be created with which all further steps can be performed. To create such administrator user:

  • Login to all systems with user SAP* and create the user in t-code SU01
  • Assign the relevant administrator role to user
  • Apply the security measures to secure SAP* user against misuse

2. Specify Logical systems

In CUA landscape, SAP systems are identified with Logical system names. Due to this, Logical systems need to be created for every system which is going to be included in CUA landscape. This is one time task to be performed before setting up CUA. The Logical systems can be defined be following below steps:

  • Login to system ABC (client 123) with administrator user created in step 1
  • Go to t-code BD54 You can; alternatively maintain the table view V_TBDLS using transaction SM30.
  • Choose Edit ? New Entries
  • In the LogSystem column, create a new logical name in capital letters for every CUA system (that is, for the central and all child systems including those from other SAP Systems). Here, the standard naming convention for logical system is <System ID>CLNT<Client>. In this way, the below logical systems will be created in CUA central system (ABC system):
    • ABCCLNT123
    • PQRCLNT456
    • XYZCLNT789

In the same way, create the logical system name for the central system in all child systems.

3. Assign logical systems to client

We need to perform this cross-client procedure only once for each SAP system as per below procedure:

  • Login with administrator user and execute the t-code SCC4
  • Switch to change mode
  • Call the detail display of the client that you want to assign a logical system by double clicking on the line of the client
  • In the Logical System field, specify the name of the logical system to which the selected client is to be assigned

Ex: – If we execute the t-code SCC4 in system ABC then, open the client 123 and maintain the logical system name as ABCCLNT123

4.Create system users

System users are required for the internal communication of the systems in an ALE group. These system users, defined in the target systems, are entered in RFC destinations in the calling systems.

Note: – No license fees apply to these system users.

To simplify the maintenance of system users, use the following naming conventions:

  • In the central system (system ABC), the naming convention will be CUA_<system Id>. This system user is used in the RFC destinations from child to central system. With this naming convention, we need to create the system user in system ABC with name: CUA_ABC
  • In the child systems, the naming convention CUA__<System Id>_<Client>. These system users are used in the RFC destinations from central to child system. With this naming convention, we need to create the system users as below:
SAP CUA System Name System User
Table 1
Published
Categorized as SAP Tagged