28
With thanks to my parents who allowed me to dream…

Salesforce Internship Presentation (Summer 2012)

Embed Size (px)

Citation preview

Page 1: Salesforce Internship Presentation (Summer 2012)

“With thanks to my parents who allowed me to dream…“

Page 2: Salesforce Internship Presentation (Summer 2012)

“Purpose may point you in the right direction but it’s passion that propels you…”

- Travis McAshan

Page 3: Salesforce Internship Presentation (Summer 2012)

Let’s see this…

This is what drived me here… this is what kept me awake

in the night… this is what my Dreamjob was like…and

Today, I am living it…

http://www.youtube.com/watch?v=tjhfQCV3yDc

Page 4: Salesforce Internship Presentation (Summer 2012)

Nitin JainIT Software Engineering InternIT Help &Training Portal (CFL/Sales)

Manager: Mr. Patrick McFarlaneMentor: Mr. Jonathan Rico & the team

Page 5: Salesforce Internship Presentation (Summer 2012)

IT Help & Training Portal

Features:

Personalization

Learning Management System (OLT/ILT)

Log a case and Case Collaboration

Contact Support

Search Knowledge Articles

Unauthenticated version available.

Page 6: Salesforce Internship Presentation (Summer 2012)

IT Help & Training Portal

Business Value:

Present knowledge and data using customer’s personalized

settings

Point of contact between customers and support. (Response

time depends on Support level)

Training videos available for online training

Registration for Instructor Led training

Find an answer to the questions by searching knowledge

articles.

Page 7: Salesforce Internship Presentation (Summer 2012)

How did I made a difference… ?

Page 8: Salesforce Internship Presentation (Summer 2012)

“Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low

power devices, touch interfaces and open web standards –all areas where Flash falls short.”

- Steve Jobs

It all started with Steve Jobs…First iOS and then Android this year…

Page 9: Salesforce Internship Presentation (Summer 2012)

And thus ends the tale of Flash on mobile browsers…

HTML 5 is the future…..

Page 10: Salesforce Internship Presentation (Summer 2012)

Development

Page 11: Salesforce Internship Presentation (Summer 2012)

Make the Portal Home page videos play on iPad and other iOS devices…

Solution:

1) Detect the device using JavaScript:

navigator.userAgent

2) If it is an iPad or any other iOS device:

load HTML5 content from Youtube instead of Flash.

3) Embed the video in <iframe> instead of <embed> tag.

4) Youtube has two URL’s for each video:

http://www.youtube.com/embed/videoID : loads HTML5 player

http://www.youtube.com/v/videoID : loads Flash player

Page 12: Salesforce Internship Presentation (Summer 2012)

Performance:

Page 13: Salesforce Internship Presentation (Summer 2012)

Speed up the localization of English labels in the Portal

Instead of a lookup into a specific language file for a localized label,

why not create a HashMap just once during the lifetime of the

system.

Key of the HashMap:

<language code + English label>

Value of the HashMap:

<translation of the English label in the corresponding language>

Decreases lookup overhead and ensures faster retrieval, thus

increasing performance.

Page 14: Salesforce Internship Presentation (Summer 2012)

Testing

Page 15: Salesforce Internship Presentation (Summer 2012)

Migration from Plateau to LMS (Testing)

Manual testing of LMS in close collaboration with Product Owner

and QA

Learn Selenium automation Framework

Write automated test scripts using selenium and help the team

achieve target percentage of test coverage.

Page 16: Salesforce Internship Presentation (Summer 2012)

Security

Page 17: Salesforce Internship Presentation (Summer 2012)

Fixing the Security vulnerabilites in the Portal

Cross Site Scripting (XSS):

“XSS allows malicious users to control the content and code on your

site — something only you should be able to do! “

Consequences:

Hijack the user’s session

Submit unauthorized transactions as the user

Steal confidential information

Simply deface the page

Solution:

HTMLENCODE(), JSENCODE(), JSINHTMLENCODE() …

Page 18: Salesforce Internship Presentation (Summer 2012)

Fixing the Security vulnerabilites in the Portal

CRUD permissions:

“allow the user to manipulate data only if he/she has sufficient

permissions to do so.”

Solution:

isDeletable() , isUpdateable(), isCreateable() …

Page 19: Salesforce Internship Presentation (Summer 2012)

Bug Fixing

Page 20: Salesforce Internship Presentation (Summer 2012)

Saw 4 releases to Productionit was an amazing experience to see how things get deployed into the real world…

Page 21: Salesforce Internship Presentation (Summer 2012)

How does this help our Customers, and the Company ?

Page 22: Salesforce Internship Presentation (Summer 2012)

Why is this important to our Customers and the Company ?

TRUST

- a Secure product

- high quality and well tested product

- product which not only performs, but performs with high

performance.

It’s a MOBILE world and we want everything to be accessible

everywhere and on all the devices.

Better service and increased satisfaction making the customers,

Customers for Life.

Page 23: Salesforce Internship Presentation (Summer 2012)

What do I take away…?

Page 24: Salesforce Internship Presentation (Summer 2012)

Technical lessons:

Some technologies and concepts I worked on for the first time:

Selenium, JDOM -API, Force.com (Apex, Visual Force), CSS

Handlers, Firebug, Ext Js, Cross Site Scripting.

Completed Dev-401 Training using the Portal resources.

Analyze and witness every aspect of a product and its features:

right from Development, Performance, Security, Testing and Bug

fixing to finally deploying it in the Production.

Collaboration is the key.

Page 25: Salesforce Internship Presentation (Summer 2012)

Words of Wisdom:

“You don’t need to be perfect… you just need to strive for

perfection…”

- Walter Macklem (CTO, Platform)

“When you ask a question and people say, “That’s a nice

question…”

It means, “That’s a tough question, I don’t know the answer for it,

but yes, I am thinking…”

- Steve Fischer (EVP, Technology)

Page 26: Salesforce Internship Presentation (Summer 2012)
Page 27: Salesforce Internship Presentation (Summer 2012)

I suggest to check this…

Visit help.salesforce.com to explore the Help & Training Portal

further.

Thoughts on Flash – Steve Jobs

http://www.apple.com/hotnews/thoughts-on-flash/

What did that song mean in English… ?

http://indianmusiclyrics.com/index.php?option=com_content&view=article&id=39:main-kya-hoon&catid=20

Page 28: Salesforce Internship Presentation (Summer 2012)