Tag Archives: salesforce visualforce page

RTOs populate student enrolment data directly to Salesforce

The education industry has gone through significant changes over the past few years. To keep up with the changes, most of the registered training organisation (RTO) are adopting a more seamless student management process particularly using Salesforce as a tool to facilitate student sales and administration – one of the main areas is the student enrolment process.

RTOs require students to complete an enrolment form in order to collect the required data. Previously, students were required to complete either a Hard Copy Form or an Electronically provided enrolment form.

Problem: Traditional methods do not feed the required information directly into Salesforce. For the information to be processed into Salesforce, the user needed to complete a series of manual steps which caused cases of double handling and an inefficient time wastage.

So the great news for educators is that there is a solution which WDCi has extensively deployed which eliminates the need to be double handled.  Our solution has been to use Visualforce to develop a working form that allows enrolling students information to be correctly collected and submitted correctly into Salesforce.

The solution which is a Salesforce Visualforce page can be sent directly from Salesforce using the “Send Email” feature or can be brought up on Site using a standard browsers.

Benefit to RTOs:

  • Information is captured directly into Salesforce against the student records thus reducing double handling. For example having to transfer from Hard Copies.
  • The Enrolment Form can be completed on desktops and mobile devices.
  • Maintaining of courses can be performed directly in salesforce and shown live in enrolment form.
  • Certain information captured can be used directly for mandatory reporting purposes e.g. AVETMISS (Only if reporting engine is setup in Salesforce instance).

Wedid: Salesforce Skedulo Case Integration


This companies main revenue source is derived from the repair services and additional products they provide to the commercial and residential business.

The technicians are required to repair items, keep track of replacement products issued to the customers, collect signatures, take images of the issues found, advise the next technician to onsite of the job requirements and what they foresee the next technician will be required to complete.

The challenge for this solution was that there would be up to 3 job visits, each job visit containing data that would need to be passed from one technician to another, without any phone or email communication.


In the case, we used Apex trigger in conjunction with Skedulo and a custom Visualforce page to send the user to the Skedulo Web Browser for scheduling.

We used standard and custom fields created in Salesforce and Skedulo to capture some of the following data:

  • Products used
  • WHS issues identified or not
  • Signature Collected
  • Marketing Questions answered
  • Contact Details checked and updated
  • Images of site collected
  • Any expenses

There was a two-way sync with different trigger points between Skedulo and Salesforce allowing the data to flow back and forth.

Integrating the case with Skedulo enabled the client to automate communication between their field technicians and administration staff, reduce the paperwork created from each job, have a live status update running on each job/case for an enriched customer service and communication experience.

Related Objects Case, Skedulo Job, Product, Pricebook, Pricebook Entry
Components VisualForce, Trigger
Complexity Medium

Salesforce Visualforce Page workaround for apex:pageBlockSection not collapsible within apex:repeat

Visualforce provides us with many tools and components to quickly setup a page with high degree of similarity in style with Salesforce UI look and feel.

One of such is the pageBlockSection, which as the name hint is often used to create a section within the Visualforce Page that we intend to display, ex:

<apex:pageBlockSection title="Test Section">

Much like the way Salesforce own UI pageBlockSection behave, this section can be toggled between a collapsed state where it only display the title of the section, ex:

2015-06-23 12_08_02-salesforce.com - Developer Edition

or unfolded into it’s deployed state where it display the content of the section as well as the title..

2015-06-23 12_07_42-salesforce.com - Developer Edition

These are standard capability of the pageBlockSection itself, but as of the time of this writing a problem exist when we attempt to use pageBlockSection while enclosing it within a repeat component, ex:

	<apex:pageBlockSection title="Test Section">

The above code will break the collapsible feature of pageBlockSection, locking it in unfolded state.
A workaround to this problem is to include a dummy pageBlockSection prior to the repeat component, this dummy pageBlockSection can be hidden and it will remain functional, so to fix our example above:

<apex:pageBlockSection title="Title" collapsible="true" rendered="false"/>
	<apex:pageBlockSection title="Test Section">

Wedid: Automated Energy Savings Certificate (ESC) Calculations


The IPART has a specific formula for the Energy Savings Scheme (ESS) to calculate Energy Savings Certificates (ESC). The company needs to capture the baseline lighting system (current) and compare it with the upgraded lighting system (proposed). The current calculation is done using excel and it poses some challenges:

  • the calculation is not accurate because not all scenarios are considered
  • not extensible
  • difficult to track the itemised calculations


  • Capture current and new lighting system in Salesforce
  • Calculate saved MWH and ESC
  • Calculate the estimated ESC money value and prepare a ROI report to end customer in quote

Related Objects Opportunity, Quote, Custom Object
Components Apex Class, Apex Trigger, Visualforce Page, Data Model Design
Complexity Complex

Wedid: Automate Installation Job from Closed Opportunity


The business organisation runs an electrical appliance shop. The typical sales cycle for this business includes:

  • sales to convert leads to account/opportunities
  • sales to close won successful opportunities
  • coordinator to receive a notification from sales
  • coordinator to manually create an installation record (custom object) and link to the closed won opp to track on the status
  • coordinator to manually update the installation status back to opportunity upon completion

Some additional challenges,

  • the coordinator must not see all data related to the sales figures for the opportunity
  • the coordinator only has Force.com App Subscription license (no access to Opportunity object)


  • Create separate data model for job installation
  • Automate the job to create the installation record via a button ‘Create Installation Job’
  • Provide validation to ensure only one installation record is created per Opportunity

Related Objects Opportunity, Custom Object
Components Apex Trigger, Apex Class, Visualforce Page, Custom Button
Complexity Medium

Wedid: Custom Quota Module


Salesforce can forecast sales per month/quarter/year per user. However this customer has a complex forecast module that works like this. 

They have different segments of business. For example: 
– Segment #1 
– Segment #2 
– Segment #3 

There are many sales user: 
– John Doe 
– Fred Smith 

They would like to create separate quota that looks like this: 
John Doe@Segment #1 = $100,000 
John Doe@Segment #2 = $150,000 
Fred Smith@Segment #1 = $250,000 
Fred Smith@Segment #2 = $150,000 
Fred Smith@Segment #3 = $200,000


  • To create custom object to cater for quota per user per segment per month/quarter/year
  • Automatically link opportunity based on custom quota

Related Objects Opportunity, Custom Object
Components Visualforce Page, Data Model Design
Complexity Moderate

Wedid: Storing Information from Customised e-Form


This company needs to interview their customer using iPad. Due to the complexity in the data model, they will need to create records in 8 different objects and links them together. This process is very time consuming and too many clicks are involved. It became a user adoption issue.

To solve this issue, we have implemented mobile optimised form in Salesforce. Upon saving the record, all the data will be saved in separate object and linkage will be built automatically.


To replace manual form insertion and enhance the process on how information is being captured in Salesforce using iPad/iPhone.

Related Objects Account, Opportunity, Other Custom Objects
Components Visualforce Page, Apex Class
Complexity Moderate

Wedid: Implementing Page Wizard


The business organisation runs a Gym service centre. Customers have to pre-book their gym activity in advance so that the classes can be arranged. It uses Salesforce to track the following details:

  • customer health status in a custom object
  • type of classes with health hazard identifier in a custom object
  • schedules for the classes in a custom object that links to the classes

To enroll a member to the class, the Salesperson needs a page view wizard. This page wizard allows one glance view to all the related (parent-child) information needed for enrollment. Without the wizard, it proves difficult for the Salesperson as he needs to switch between object displays to get complete information. And these steps need to be repeated as it involves enrolling a member in many different classes.


  • Page wizard to display all information in a one glance view
  • Saves time for the Salesperson and efficiently enroll members

Related Objects Contact, Custom Object
Components Visualforce Page, Apex Class, Custom Button
Complexity Medium

Wedid: Cross Object Page View With Extensible Filters Via Custom Button/Tab


The customer runs a flower shop that includes delivery service. Getting complete information of the buyer and sales order are important so that the goods are sent at a timely manner.

At the end of the day, the customer needs:

  • extended filter such as filter by client, order delivery date, order salesperson for specific records
  • to mass update records with unfulfilled information by inline editing
  • the displayed record to be sortable
  • the above execution to be accessible via a click from a custom tab or custom button from the object with filter options


  • Provide extensible filters for cross objects
  • Mass update records via inline editing
  • Access page by a single custom button/tab
Related Objects Opportunity, Account, Custom Object
Components Visualforce Page, Apex Class, Custom Button
Complexity Medium

Wedid: Customized Quote Form with E-Signature


Salesforce has an out-of-box feature which allows user to create Quote with form templates and saved as PDF.
However, the customer is looking for additional feature to enable their clients to be able to sign on the quote electronically via mobile devices, i.e. smart phones, tablets, etc. As such, a customized Quote form with the support of electronic signature is implemented in Salesforce.


  • Generate customized Quote template including all the relevant information.
  • Signature can be signed on the customized form electronically.
  • The Quote form can be saved as PDF file with or without the signature.

Related Objects Quote
Components Visualforce page + Apex Controller
Complexity Difficult