Archive for Arrowpointe Products Category Feed

Arrowpointe Maps v1.0.9

Version 1.0.9 of Arrowpointe Maps was just released. You can read about all the improvements on the Change History page.

The major changes are:

  • You can now create maps by pulling data directly from your Salesforce.com Reports. I’ll post a video of this functionality soon. This fully addresses the popular idea expressed here + a bit more. This functionality is being marked as “beta” due to Salesforce not having a true API to access report data.
  • You can now email your driving directions from the application. You can email up to 10 addresses at once, including an option to BCC yourself.
  • Added a Created By filter option on Map Pages. It works just like the Owned By filter option that’s existed for a while, but it bases the filter on the creator of a record. Edit your Map Pages and check the Created By checkbox to add this option to your Map Pages.
  • Added a Query Size Limit at the Subscription level. It defaults to 2000 records. This means that Arrowpointe Maps will return up to 2000 records for every query. If a query for more records is made, the application will return the first 2000 records and the end-user will be provided with a message explaining what happened. An increase to the query limit can be requested by submitting a Case to us. This change was made to eliminate the issues of run away queries that freeze a browser.
  • The improved map marker dot and star images were re-implemented, so the maps look more professional.

All the functionality described above is available now. A new AppExchange install will be available later this week, which will be recommended for everyone. The new download includes 2 new tabs to let you go directly to Routing & Map Reports, without needing to visit the Arrowpointe Maps front page first, and also upgrades the Salesforce API version used by the application. Once that package has been released, I’ll let you know by: making a new blog post, sending all subscribers an email and adding a message to the application for Admins to see if they are using an older install version.

About Arrowpointe Maps

Arrowpointe Maps is an on-demand mapping platform that facilitates a conversation between Salesforce.com & MapQuest allowing for easy deployment of mapping capabilities in your organization and providing end-users a simple means for mapping their data. Arrowpointe Maps is configurable and can be tailored to your organization, so that your users can work with their information in a meaningful way.

The official location for information on Arrowpointe Maps is its product page at http://www.arrowpointe.com/maps. There, you will find answers to the most frequently asked questions, screencasts and links to its AppExchange page.

Comments off comments feed

MapQuest Developer Site & Blog

If anyone has an interest in developing on the MapQuest mapping platform, I wanted to point you to a few resources. Their API works in many contexts (server-side API, JavaScript API, ActionScript API). Their API may not have the street cred that Google has, but it’s a really solid platform to work with and on par with the competition and superior in some cases.

If you develop on the MapQuest platform, please drop me a line in the comments and share your thoughts.

Comments off comments feed

Opportunity Roll-Up Summary Recommendations

Salesforce released Opportunity Roll-Up Summary fields on the Account object in the Spring 08 release. This is a pretty useful feature and below are some recommendations to help you get started using them.

One of the major benefits of this feature is that you now get quick answers on the Accounts you are selling to without having to run an Opportunity report and get multiple records for the same Account. If you sell to a customer multiple times throughout the year, that customer will be represented once in an Account report, but will be represented multiple times (once for each sale) in an Opportunity report.

Create the Fields

To get started, create a new Account field and choose the Roll-Up Summary option and click Next.

rollup_summary_newfield.jpg

Next, give it a name. I’d like to recommend a naming convention because you will probably create multiple of these. My personal naming convention is used in the example fields below. For the API name, you should also use a naming convention. This will help keep these fields together when viewed in Eclipse or Explorer.

After clicking Next, your options are to COUNT, SUM, MIN, MAX information from the Opportunity. Below is a table with some ideas for fields you that might be useful:

Field Name Rollup Type Field to Aggregate Filter Criteria
$ Opportunities (Open) SUM Amount Closed = False
$ Opportunities (Open – This Year) SUM Amount 1) Closed = False
2) Close Date = THIS YEAR 1
$ Opportunities (Won) SUM Amount Won = True
$ Opportunities (Lost) SUM Amount 1) Won = False
2) Closed = True
# Opportunities (Open) COUNT N/A Closed = False
# Opportunities (Open – This Year) COUNT N/A 1) Closed = False
2) Close Date = THIS YEAR
# Opportunities (Won) COUNT N/A Won = True
# Opportunities (Lost) COUNT N/A 1) Won = False
2) Closed=True
Using Formulas on the Rollups

One really nice thing about these Rollup fields is that you can use their results in your regular formula fields. Using the rollup fields I mentioned above, we can use formula fields on the account to create the fields such as:

  • Win Rate (%) = # Opportunities (Won) / (# Opportunities (Won) + # Opportunities (Lost))
  • Avg Win Amount = $ Opportunities (Won) / # Opportunities (Won)
Using the Roll-Ups

Now those rollup fields can come in handy in reporting to do things like:

  • Filter for all sold-to Accounts: $ Opportunities (Won) > 0
  • Filter for all Accounts with Open Opportunities: # Opportunities (Open – This Year) > 0

Another possiblity is in, say, an application that allows you to map your Salesforce.com data. Adding the $ Opportunities (Won) field onto the query page makes generating a map of all sold-to accounts a breeze.

arrowpointemaps_AllWonAccounts.jpg

What about you? How are you using Roll-Up Summary fields?

1 [back] – Other date filters include THIS QUARTER, THIS MONTH, LAST MONTH, NEXT YEAR, NEXT QUARTER, etc. Refer to the Salesforce help for more. These date filters are particularly useful for rollup summary fields.

Comments (11) comments feed

Arrowpointe’s Open Source Project

google_code.pngAt Google Code, I created an Arrowpointe Open Source Project. This will be the official home for code I develop and want to share with the community. The first submission into this project is my Akismet Web2Lead work that checks Salesforce.com web-to-lead submissions, determines whether or not they are spam and then sends the information to Salesforce with the spam result appended to the data. I hope to add many more things over time.

Some quick links:

Note to other developers with similar projects at Google Code: Let’s agree on a labeling convention for our projects. Based upon browsing existing projects, the following labels are common among projects related to Salesforce.com: salesforce, apex, force.com, salesforce.com. Unless anyone has a better idea, let’s stick with those. Or maybe Salesforce will recommend a convention for us to use (hint hint)?

Comments off comments feed

Developing Arrowpointe Maps (the tools)

It’s been a while since I blogged, so I thought I’d get back into it by talking a bit about the tools used to develop Arrowpointe Maps in the hopes that you might find this useful for your own development and that you might comment here about your tools of choice and what makes them great.

The Stack

Although you access the application via a Web Tab in Salesforce.com, Arrowpointe Maps is actually hosted with OpSource, one of the 2 pre-certified Salesforce.com hosting providers, and is running on a LAMPS (Linux/Apache/MySQL/PHP/Salesforce) stack.

Ideally, this entire stack will be replaced by Force.com. Someday it might. At this time, however, Force.com just isn’t ready to take on all of this and Apex Code, especially, doesn’t have the flexibility or community of something like PHP. I look forward to improvements being made to all of the Force.com components and hopefully Arrowpointe Maps can eventually be a showcase application running 100% on the platform.

Another architecture I really like is Adobe’s Flex technology. Both Salesforce & MapQuest have really good Flex integration. I really like this approach and you might start seeing some Flex output in future releases.

Web Services

salesforcelogo.jpgAll the business data resides in the user’s Salesforce.com database. We connect to Salesforce.com via the API to access configuration information as well as business data for mapping purposes. The application leverages the end-user’s Salesforce.com session, so all authentication is piggy-backing off of the Salesforce.com security model, which is really nice. Because Arrowpointe Maps is certified, we get a Client ID that gives us API access to Professional Edition orgs too.

MapQuest_Logo_small.gifWe use the MapQuest JavaScript API (Tiled Maps). MapQuest’s API is really well put together, is accurate and reliable. I’ve been very pleased with it. They are rolling out new functionality all the time and I do my best to incorporate the most useful pieces with each release.

I will be looking to incorporate more useful web services into the mix as the product expands. Programmable Web is the best resource I know for a comprehensive listing of web APIs.

Development Frameworks

xajax_logo.gifxAjax is an open source PHP library for building Web-based Ajax applications. It makes it dead simple to perform an AJAX server call, do the heavy lifting in PHP and then return HTML and JavaScript to the page without an entire refresh. It has allowed me to keep the bulk of the logic in the comfort and power of PHP and only using JavaScript where I need to.

prototype_logo.pngPrototype is a JavaScript Framework that aims to ease development of dynamic web applications. If you do any JavaScript development, this is a must have. It provides many useful methods for working with the DOM and has been written to be cross-browser compatible. It’s worth using if only for its $ function.

yahoo_logo.gifThe Yahoo User Interface Library (YUI) is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX. I use it in a few random places in Arrowpointe Maps. YUI is the most well documented user interface framework I have seen and it’s been taken up well in the development community. I highly suggest it.

I am not using these JavaScript frameworks, but I came across them in my research and they have good reputations:

Other Development Tools

eclipse_logo.jpgEclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. It is my main PHP development environment and Salesforce also has their Force.com IDE in Eclipse, which is useful. There are a number of “projects” that I use in Eclipse, but some of the standouts are:

  • Web Tools Platform
  • PHP Development Tools
  • Subclipse: Plugin to support connectivity to a Subversion (SNV) code repository.
  • Mylyn: Provides task management functionality in Eclipse. I utilize the Trac connector to connect to my Trac system that I use to manage my defect & enhancement request tracking.

devguard_logo.jpgI use DevGuard for professional SVN hosting. It’s pretty cheap and provides good tools for managing my code in a secure place. It also includes the Trac project management system that sits on top of SVN and it all integrates very well into Eclipse. This services are similar to what Google Code provides, but it keeps the code private and is not open-source.

appexchange_logo.jpgArrowpointe Maps is distributed via the AppExchange. The AppExchange makes it simple for any Salesforce prospect, customer or developer to download the application for free, no questions asked. Now they have what they need to connect to me and this allows me the flexibility to enable/disable access to the application as necessary.

firebug_logo.jpgFirebug integrates with Firefox to let you edit, debug, and monitor CSS, HTML, and JavaScript live in any web page. I use it every single day for a multitude of reasons. I highly recommend it.

References
  • MapQuest’s API Reference and Forums: I go here almost everyday. They are migrating everything to the developer site I linked to. Currently, most of their documentation is in their Technical Resource Center.
  • Salesforce’s API Reference: Used pretty regularly, especially as I delve into more obscure areas of the API and special use cases.
  • Force.com Cookbook: I use this pretty rarely, but it has some really good examples in it, so I keep it handy.
  • PHP Manual: I downloaded the CHM file from this page and I use it multiple times every single day. It’s the best resource for PHP information. If you visit the same documentation online, each page has other developers adding comments, so you get some rich information.
  • W3Schools: My one-stop shop for the official reference to HTML, JavaScript, the DOM and CSS. I used it a bit to learn XML too. I go here almost every day.
  • Prototype Documentation: The API docs for this most useful JavaScript framework.
  • YUI Documentation: Yahoo has documented their Yahoo User Interface Library very well.
  • Google: When at a loss, use Google to find examples of what you are trying to do. I try and corroborate most of the examples I find from a few sources before applying it to my development.

Some other, random tools I use that make my development/work life easier are:

  • Snag-It: Taking screen captures and for light image editing.
  • Jungle Disk: Mount Amazon’s S3 storage service as a drive and backup files to it. It encrypts all the files stored there.
  • Trillian: multi-protocol instant messaging client.
  • Jing Project: Create demonstration videos. From the creators of Snag-It.

What about you? For developing applications (especially Salesforce-related ones) what tools are you using and recommend?

Comments off comments feed

Next entries » · « Previous entries