Welcome to my monthly “Things I didn’t know that I know now” review. Since I started this blog I have been keeping track of every word, process and acronym that I have ran into and not known. I am hoping that as time goes on, this list will keep getting shorter and shorter. Who am I kidding – the list will keep growing, technology moves so fast and I think that acronyms spawn a minimum of 3 other and new acronyms!
Here is my list for January:
- SOQL – Salesforce Object Query Language – Similar to Structured Query Language (SQL) – used with the Force.com IDE, Apex and Visualforce and it helps to know relationships between objects
- MVC – Model View Controller – In Salesforce the model is the database, or data model, the view would be a page and Visualforce, the controller manages the interactions between the view and the model
- JDBC – Java Database Connectivity -This is the API to the Java language. This means that you can use Java to connect independent databases (it is oriented towards relational databases). This is what would be used to take Salesforce.com and other databases for reporting and integration among other things.
- AJAX – Asynchronous JavaScript and XML – a group of techniques that are used on the client side to develop interactive web applications. This can be used on a Visualforce page because Apex can also handle JavaScript and markup languages.
I started my C++ book the other day. The book is titled, C++ Programming in Easy Steps. Each page is a lesson and there is sample programs for each lesson. The book is very interesting in the fact that it walks you through what you are doing, how to do it, and the why part comes with writing the code. I did notice myself looking at the inside of the front cover in the beginning but I am starting to memorize what each keyword means. I know that some people won’t like the fact that the book doesn’t spell out what each keyword does, but I like learning by doing and it has been great for me. The more I read of this book, the more excited I am getting for the Java books.
The 4 chapters that I have read have covered:
- Introduction – compiling and running programs, creating variables, and a little on arrays
- Performing operations – Arithmetic, assigning values, logic, conditions, data types
- Making statements – Branching with If, looping for, looping while, functions
- Handling strings – Creating string variables, join and compare strings, copy and swap strings, substrings
It is starting to get a lot more complicated and I am spending more time on each new lesson but it is a great feeling once it clicks. I am starting to see how knowing this language will be helpful for my future use with APEX, VF, and even how to better use custom formulas. The syntax and keywords of each language are different but I can start to see a pattern emerge in all of it. I can see myself getting buying a programming theory/architecture book in the near future to confirm my theory and gain more insight into the how and why. I am hoping to finish a couple more chapters by the end of the week and write up my first comprehension review.
In a previous post, (JavaScript != Java)… I had covered what JavaScript can do for a webpage and thanks to a great comment from @apexsutherland I now know the answers to the questions that I posed. Thanks again Alex! This post will be brief and cover the syntax of JavaScript.
I have started the book on C++ and that has greatly helped with my understanding of JavaScript (FYI: I will be posting again about the start of the C++ book and probably more on JavaScript as I learn more). Syntax to remember:
- Composed of statements that end can end with a ; or a line break
- Be mindful of capitalization because it is a case-sensitive language
- Single line comments start with //
- Multiple line comments start with /* and end with */
- Read the “=” as “is set to”
- Example : if (test condition) {value if true; value if false;} Note: does not have to have a value for a false return. Note: This is helpful for making sure web-to lead forms are completely and correctly filled out
- I need more time before I completely understand arrays – I see how they are set-up and know they are very important (saw them in action at Dreamforce with help from @jhoskins). Any suggestions?
To me, the syntax seemed very similar to C++. Now that I have started to learn about C++ it is greatly helping my comprehension of JavaScript and vice-versa for that matter! I am hoping it will help with arrays!
Welcome to cheat sheet #1. I am writing this to review what I have learned about HTML, XHTML, and CSS. Most of this is syntax that I needed to write down to help me remember!
HTML and XHTML:
- Elements:
- Identify parts of HTML using tags
- Tags come in pairs, start with <tag> and end with </tag>
- Elements that insert something look like <tag … />
- Anchor Elements:
- Inline elements, typically used for links… <a href=”link”>text</a>
- You can use the target attribute to tell the browser how to display the link; target= “_blank”
- Attributes:
- Information about an specific element
- Located within a tag and specify a value and look like this: attribute=”value” and can be in any order
- Comments:
- Start with <!- – and end with – – >
- Tag examples:
- <head>, </head>; <body>, </body>; <hn>, </hn>; <p>, </p>;
<meta (name” “)…(content” “)/>; <title>, </title>
CSS:
- Separates style from the structure of a webpage and keeps the style of a website consistent
- They can occur on the page (internal) on in a text file (external) that has to be referenced using the <link rel(relative- resides on your site) or href (not on your site) /> or you can use
the @import “link”; after the <style> but before any style rule - Syntax looks like , selector {property: value;} and you can include more than one property with a value as long as they maintain the structure of property: value;
- Can create a style class and they are written like this: element.class attribute (if associated with an element) or .class attribute if not
- Inheritence. Parent elements find their way to child elements – if you say the in the body tag that the text is blue, it will be blue unless it is changed using inline style changes
You heard it here first – ok, so not first… not even close to first.
JavaScript:
Before I started on this journey my logic would have told me that JavaScript and Java are either: the same language, based off the same language, or an evolution of the same language. And how wrong I would have been! JavaScript is the code that you can use to turn a website from a static page to a dynamic and interactive one. It runs on the browser side and not the server side.
So why is JavaScript called JavaScript if it has nothing to do with Java? Check out what Wikipedia has to say…
Forms:
This is exactly what it sounds like. You have the ability to create a form on a web page. You name the type of data, the format of the data and what to do with the data. You can use JavaScript to interact with the user. For example: Check for form completeness before submitting. Seems straightforward right? It is for the most part, although it does lead me to some questions relating to Salesforce.com.
Looking at a landing page on my company site, I noticed (and knew before) that the oid, campaignid (if you have campaigns), lead source, are all hidden. I also noticed that there is no Salesforce code for each field, like first name. Here are my questions:
- When a user hits submit, how does it get to Salesforce?
- Am I missing code when I look at the page?
- If a field( eg. firstname) doesn’t have a Salesforce ID, how does it match?
- Last question: JavaScript can validate a form, such as if all fields are filled in, can it also dictate the format of the data or would you use XHTML?
I will be looking these up and posting the answers once I find them.
HTML, XHTML & CSS for Dummies is finished. Great information and I am surprised how much more I understand web design and coding. I understand the source code to web pages I look at.
I would recommend reading this book if you are starting off, it was easy to understand and a quick read. It does not go into depth by any means, but gives the reader the background to be able to go out on their own to find the resources they need. It lays the ground work for what is to come. I feel like this is a great start…
CSS gives you control over a web page and the website. Most importantly it allows for consistency throughout a website without defining formatting in HTML or XHTML. Using style rules, I can define how I want my text to look once in CSS and not have to code it each time. You can write a .css file and reference it for every web page on a site. This theme has a .css file that determines how everything I type right now looks – not matter what computer I am on, what time of day it is, or where the text comes from – because of CSS I don’t have to make sure each post looks the same, it is done automatically.
For practice today I changed the color of <div class = “description”> to white on the each page of my blog – the previous color, grey, was hard to see. I found the class in the .css file and changed what I needed. No coding on the page itself and if I change the text, I won’t have to worry about formatting the new text to match. Fantastic!
I also checked the CSS on my company’s website. Now that I know how CSS works, the structure and syntax, and how to write CSS, selectors and declarations, it is easy to see how it was applied to the company website and how to define and maintain our brand in every page.
I am halfway through the HTML book. So far, it has been an easy read and some information I already knew. To me, the nice part about it is the “why” behind the language. To me, knowing the why makes understanding, fixing, and starting from scratch much easier. So far the book covered the basics of HTML and XHTML structure. I will go over some of my key takeaways below:
- XHTML and HTML tell the browser how to display the page
- Both have 3 types of components – Elements, Attributes, and Entities
- DOCTYPE specifies what markup language is used for the page
- For XHTML you need to add a namespace
- Metadata: Keywords, description/information of the page. Has it’s own element and attributes – name and content
- Learned about formatting – headings, blockquote, paragraph, ordered lists, unordered lists, list elements, definition lists, anchor element, alignment, images, links
- More specific formatting and styling is saved for the CSS portion
If there is something that I have missed or haven’t said correctly, please feel free to correct me.
I know, I know… I can’t believe I have been holding onto these pictures for so long! Blame it on my waiting for a new computer or waiting for a better photo program, either way, here they are. A special hello to all the tweeps I have now met in real life!
My goal in January 2010 is to become a Salesforce.com Certified Developer. This would be my 3rd certification and, in my opinion, the most important one moving forward. I am using the DEV-401 podcasts, my developer cookbook, and the online study guide. There are also some blogs that were recommended to me – ForceCertified.com is great and written by @johncoppedge (who also has a admin study guide)!
Certified Administrator – I took this exam a month before Dreamforce 2008. I wanted to pass it so I could recieve the special treatment that it came with! I thought the exam was fairly straight forward and easy. I had been my company’s Salesforce admin for about a year and a power user for 2 years. We use PE so I had to study and learn things in theory and apply them in my dev. org. If you are have not taken this exam but are an admin and a Salesforce.com evangelist – I would look into it, study for, and take it.
Certified Consultant – I took this exam the day Dreamforce 2009 started after taking CON-201 the previous 2 days. There are parts of this exam that make perfect sense; eg. “Should you involve the VP of Marketing when talking about Campaigns?” Other parts are a bit more difficult. I found most of my trouble to be around the Service and Support. I do not use that functionality in my everyday work and I had to learn some best practices as well as learning how to determine the need for and implement the Service Cloud. I feel that most admins are already consulting for their own organizations, data gathering, managing expectations, selling new functionality internally, then I would look into it, study for, and take it.
If you have any questions, please let me know. I am more than happy to talk about this with you!
Dreamforce 2009 was an incredible time. I was lucky enough to meet and hang out with some great people – people who have inspired me to start this blog and teach myself more of what Salesforce.com can do and programming. I wanted to start this blog in the hopes that it will help other Salesforce users. I have learned a lot of information from reading other people’s blogs and twitter… it is my time to start sharing. Please feel free to comment on things to come – please let me know when I am wrong, when I could be doing things better, and even for the few times that I might be right! Without further ado…
Here is the list of the technology that I will start learning (in no particular order, yet):
HTML, XHTML, CSS, C++, Java, JavaScript, SQL, MySQL, PHP and APEX
First up – HTML, XHTML &CSS for Dummies (full color too!)