Tuesday, January 24, 2017

Visualforce - Beyond Basics Series 41 - Dynamic Forms

Issue with Standard Forms in Salesforce ?

In Standard record Edit Page, there's no way we can hide/show a set of Fields for Users to Fill In. This is the big issue when you have hundreds of fields that gets presented to the User.

How to solve with visualforce Page ?

In visualforce page, this problem can be solved by showing/hiding different sections based on the 'certain value' in Fields (or) certain User Action.

Where is the Code ?


Any Screenshots ?



Walk through in a video ?


Sunday, January 15, 2017

Visualforce - Beyond Basics Series 40 - Static Resource is not the only one

Where do you normally store resources in Salesforce ?

As a developer, we know that most of the resources for projects like images(icons, labels, loaders), javascript, css files is Static Resource. But, there are few different areas in salesforce we could leverage.


What are the specific purposes for different areas ?

These are the different areas where you could store resource & use them in your visualforce page.

Static Resource

Like the name suggests, one should store the resources that is a static one which doesn't change over the course of time. So, all images, css/js files which has a very stable version should be stored in it.


Tips :


  1. One tip is that Org should maintain a proper repository for their static resources & avoid duplicates among the resources. For example, i have seen jquery, loader images all over the static resource packages. This is very ineffective management for the storage space allocated for static resource.
  2. Another tip is to not create package per projects. This will lead to contain duplicate resources. Rather than, better maintain static resource per resource like JS, CSS, LOGOS, LOADERS, etc.


Notes & Attachments

If the resource like Text Documents (rtf, msdoc, csv, pdf, css, js, etc), Images (jpeg, png, gif), videos (flv, avi, mp4, etc) are attached to any Standard/Custom objects like Account, Contact, etc, we could leverage that & use those in Visualforce Pages.


Example :


For example, recently, i have built a visualforce page that displays the product image for an account. I could have uploaded them in static resource. But, its specific to the Account, so i have added them to Notes and Attachments & used them in visualforce.


Documents

This is the storage area one should use when the resource is not associated to any Object. If it's a single file that is slightly large one, could easily fit in this area. One more advantage is that not only developers, admins can also share this space.


Chatter Files

This is the storage area shared between chatter users, admin & developers. But, one should use this space only if the visualforce page is related to chatter functionality. Otherwise, there's no guarentee that this resource will exisit, as any chatter/admin could modify/delete this resource.

Hosted External

This is the technique of storing the resources outside Salesforce. This is also a efficient method, as there are so many reliable systems out there today for each resources.
         Javascript  - Google hosted resources, JQuery, Angular, etc
         Images      - Github, Flickr, etc
         CSS          - Google hosted resources, Bootstrap, W3.CSS, etc
         doc           - Google docs, etc

Where is the Code ?

For illustration, i have shown the images from 'Static Resource', 'Notes and attachments' & Documents.


Any Screenshots ?


Walk through in a video ?


Wednesday, January 11, 2017

Technical Architect - Easy Guide - Series End

What is new in Technical Architect Certification ?

Salesforce decided to split CTA exam into different parts based on different vertical. To be honest, this is a very cool move, as no one can really master everything in Salesforce.
I know few CTA's who worked in only few areas, but still  managed to get CTA. This is totally unfair when salesforce claims this is the top level certification they have.

  • Apex & Visualforce Architect
  • Application Architect
  • Communities Architect
  • Identity Architect
  • Deployment Architect
  • Integration Architect
  • Data & Access Architect
  • Mobile Architect


How it's going to impact us ?

As a developer/admin, this is going to really affect us, if we are preparing for it over few months/years. If anyone passed Salesforce Multiple Exam before 31 Jan 2017 they can still apply for Technical Review board round. Otherwise, they need to meet the new requirements to appear for
Review board.

Preparation Guide ?

Salesforce has given a collection of free resources in the form of free ebook. 

Click here - Free ebook - Salesorce Technical Architect


What i have decided ?

Since, i love to Architect, Design & Code myself, i really don't want to just focus on one level of skills. Moreover, if someone want an Architect job from me, they may not expect any development work, So, i really don't want to get to that point. That's why i decided to get architect certification whichever involves more development work like 'Apex & Visualforce Architect', 'Integration Architect','Mobile Architect'

Any idea on career path ?

I would advice all my blog readers that there are multiple domains & levels of skills required to do any kind of work in salesforce. So, be stick with what you really love to do & get expert in that.


No more videos on CTA ?

So, i have decided to stop contributing to CTA, as it is getting very diverse & I'm going to share what i'm currently working on, like Lightning, Javascript, Apex, etc.

Walk through in a video ?



Monday, January 2, 2017

Visualforce - Beyond Basics Series 39 - Modern Upload Button

How to upload an attachment to record ?

Using apex:inputFile tag, we can upload a file & store that as the attachment to the record. The master record id should be assigned to parentId for the Attachment.


What is the traditional way ?

Traditionally, developers use the same styling of inputFile as it is. That means there will be an upload button for user to select the file & there has to be a commandButton/commandLink to call the action function.


How to transform that to modern look ?

But, in a modern Upload button solution, a Upload label will be styled as a Button. Then, the inputFile tag will be inside the label & hidden from user. So, user will see only Label(Button), not the acutal inputFile.

Where is the Code ?

Here's the code that illustrates the traditional method & more modern method to upload the file.

Any Screenshots ?



Walk through in a video ?