Apex Code FAQ
What editions is Apex Code available for?
Apex Code is currently available on Unlimited Edition (as of the Summer '07 release) and Developer Edition only.
From the Spring 08 release this will be available for the Enterprise edition also.
How do I get Apex Code turned on?
You can register to get Apex Code turned on for you Developer Edition org. Depending on eligibility and availability, you will either get Apex Code enabled immediately or be queued up to get Apex Code enabled at a later date. You can register by visiting the Apex Code Preview page.
How can I tell whether my Developer Edition org has Apex Code enabled?
- Sign In.
- Click on Setup.
- Under App Setup, click on Build. You should now see a node for Code.
If you're positive that you've registered and have gotten the "Welcome aboard" message and still do not see Code, simply re-register for the program using the same DE username. If that doesn't solve the problem, please send an e-mail to adn@salesforce.com.
When will Apex Code be generally available? How much will it cost?
Apex Code is now available in UE and DE. Further availability of Apex Code is dependent on feedback from the preview and pilot programs - no dates have been set yet. Further packaging and pricing of Apex Code has also not been announced.
Can I use Apex Code outside of the context of a Force.com app?
Apex Code can be automatically exposed as a Web service, making it accessible to any language and platform that supports XML/SOAP.
How is SOQL different from SQL?
SOQL (Salesforce Object Query Language) is similar in syntax to SQL (Structured Query Language), but the two languages also differ in some significant ways.
- SOQL is only used to retrieve sets of data; you can insert, update, delete and upsert data based on a retrieved SOQL set. SQL can directly retrieve and modify sets of data.
- SOQL supports extended dot notation to retrieve data from related Salesforce objects (which are similar to tables) and can only link objects which have a pre-existing relationship defined; SQL uses explicit joins to access more that one table.
- SOQL does not support the full set of SQL syntax. For instance, SOQL does not support the BETWEEN keyword.
- You cannot use Data Definition Language (DDL) to create custom objects. With the Summer '07 release, you can use the Metadata API in Developer Edition accounts to create custom objects procedurally.
- SOQL retrieves sets of data as objects, which can call for different design and implementation considerations. You could achieve the same result as DISTINCT for a single value by making that value part of a lookup object.
Please see the documentation for the Web Services API for more information on the SOQL SELECT command and relationship queries using SOQL.
Can Apex Code be used in an S-control?
Using the AJAX Toolkit, Apex Code can be invoked as a Web service from an S-control.
Does Apex Code support regular expressions?
Yes! Developers can now take advantage of two new classes, Pattern and Matcher, which allow complex and re-usable regular expression matching to be performed directly in your Apex Code classes.
--