Archive for the ‘Technology’ Category

Analytics in Salesforce’s Spring ‘12 release

Sunday, January 8th, 2012

It is interesting to read users’ impressions about Salesforce’s upcoming Spring ‘12 release. Users will now at last be able to create exception reports with outer joins, report on multiple children and other analytics features, satisfying a very common request on IdeaExchange. However, the word is that all these features will come with a price tag.

The new analytics edition seems to include high-end features similar to those found in the more expensive BI tools such as BIRST or GoodData. These are a good fit for enterprises and large organizations which can afford the higher cost. But if you are a smaller company or a non-profit, or if your needs are more toward quick-and-easy reporting rather than full-fledged analytics, you might find these offerings less of a fit for you.

In such a situation, Apsona for Salesforce might be a better fit. With Apsona for Salesforce, you can quickly create, edit and run reports with outer joins spanning multiple child objects, and export the data for further analysis. Apsona’s reports also include charting and graphing facilities for simple visualizations.

We are constantly improving our product to fit your needs. Partners love Apsona and refer to it as a Swiss Army knife as it is so diverse in its offering – importing, exporting, updating, exception filtering and reporting. It supports all editions of Salesforce and comes in a snappy web 2.0 interface. We at Apsona routinely incorporate new features into that are suggested by you – our partners and end users. You are obviously the domain experts, and the enhancements benefit all of us. Many of the newer features that you see in Apsona for Salesforce today owe their existence to inputs from all of you. Should you need some Apsona customizations that is very specific to you we get involved in the development for a fee. We are able to create customizations that will appear in just the one specific installation.
When someone wants Apsona for Salesforce in their non-profit org, we simply ask for a copy of their 501(c)3 letter (or their country’s equivalent that certifies that they are non-profit) to be e-mailed to us. Once we get the letter, we enable the 10 free licenses. All these licenses get the same functionality as our paid users do.

In 2012 we hope to bring out many more features to suit your needs. Your feedback is very important to us so please keep it coming. The Apsona team wishes all its users A Happy New Year!

Finding neglected contacts in your salesforce database

Thursday, October 13th, 2011

Keywords: salesforce.com, search, find, filter, contact filtering, lead filtering, exception search

Would you like to know the people in your salesforce.com database who haven’t been contacted in a while? Particularly the ones who have given you repeat business? Sales managers know that it’s a lot easier to keep existing customers than to acquire new ones, so it’s critical to maintain and nurture customer relationships. One way to ensure this is to periodically find such “neglected” contacts, make sure to call or reach out to them and keep them aware of your product or service.

From the technical perspective, finding such contact records amounts to retrieving those records for which there are no related tasks or events in the recent past, where “recent” might mean “the last two months” or “the last year” depending on your business. Unfortunately, with the search tools available within salesforce.com, it is not very easy to find such contact records. One of our clients asked us precisely this question: Can we use Apsona for Salesforce to find these contact records?

Fortunately, the answer is yes, we can. Apsona includes the ability to filter your data records in many ways. In particular, you can create a filter (i.e., a set of search criteria) on an object, and then apply that filter to restrict the data on a related object. In this example, we can:

Finding neglected contacts (3 min 50 sec)

  • create a filter on the Task object, one that retrieves recent tasks that have been completed; and
  • apply the negation of that filter on the Contact object, i.e., asking for Contacts that have no such related tasks.

View the video on the right to get a more detailed perspective on how this is done.

With Apsona, you can use this technique with any object that has associated tasks or events. For instance, you might want to find Opportunities, Leads or Accounts that have had no recent activities. You can also use this technique to find Contacts or Leads that have not been part of any of your campaigns, or those that have been excluded from specific campaigns that you choose.

We think Apsona’s search and filtering is one if its most powerful features. And we’d love to get your feedback on it. Please try it out—visit our AppExchange listing, install it and use our free 30-day trial. Please let us know what you think.

Easier searching and filtering of salesforce.com data

Monday, October 3rd, 2011

Keywords: salesforce.com, search, find, filter, cross-object search, exception search

The feature set that salesforce.com provides is both rich and deep. It lets you maintain all kinds of data in your database, ranging from contacts and accounts to customers, invoices, projects, and any other custom data objects your business requires. It also lets you customize your application in  a myriad different directions.


Searching: a short intro (2 m 30 s)

Apsona for Salesforce adds a layer to salesforce.com to make it easy to search your data in multiple ways, and very quickly find the data records you want. It includes many searching and filtering functions that make salesforce.com much easier to use, but are not available within the native salesforce.com interface (view the video at right for a quick overview):

  • Cross-object search: You can filter the data records for one object based on records in a related object. For example, when searching for Account records, you can use fields from related objects such as Opportunities, Contacts, and Assets to refine your search results. In fact, you can combine fields from multiple related objects in the same search – for example, you can find Accounts that have both Contacts and Opportunities but no Assets.

  • Exception filtering
    (3 m 20 s)
    Exception search: As a special case of cross-object search, you can find records in one object that have no records in a related object. For example, you might want to find Accounts that have associated Contacts, or Leads that have no related Tasks – both examples of actionable information. This feature is one of the most widely-requested features on salesforce.com.
  • Sum and Count filtering: This feature enables you to filter by “aggregate” functions on related objects. For example, you can use this feature to find those Account records whose total Opportunity value is at least $100,000. Such a search is not currently possible within the native salesforce.com UI.
  • Respecting the field’s data type: When you choose a field on which to filter, Apsona for Salesforce automatically adjusts the allowed operations and values for the field. For example, if you choose a picklist field, Apsona for Salesforce shows the range of values allowed for the picklist, and lets you choose one. In contrast, within the salesforce.com UI, you have to remember and manually type in the picklist value you want too match. Similarly, if you choose a date field, Apsona for Salesforce shows you a menu containing filtering choices such as “today”, “tomorrow” and “yesterday”, as well as a date picker, making it much easier to specify dates.
  • Quantified searches: Suppose, for example, that you want to find those Account records which have related Contact records, but for which none of the related contacts have e-mail addresses. This is a fairly common use case – it arises, for example, when you want to quickly locate the Account records that have not been reached in any of your e-mail campaigns. This is an example of a quantified search, in which you impose a “none” or “all” quantifier on the data in the related (Contact) record. Apsona for Salesforce enables you to perform such a search, but the native salesforce.com does not.
  • Saved searches: Having performed a search, you can save its terms as a named filter, e.g., Accounts with total Opportunity value > 200k. Such a saved filter is available in all the views of the object: tabular view, console view and calendar views. You can even re-use saved filters in “nested” filters, so that you can carry searches across objects that are not directly related. More details are available here.
  • Searching in-place: The search terms are shown in a panel that remains in place when the search results are displayed below. This feature, combined with the rapid Ajax UI, lets you quickly revise your search terms to hone in on the data you want, without losing context. By contrast, if you wanted to make a change to a search term in your salesforce.com view, you’d have to click “Edit view” to navigate to a different page, edit the view, and redraw the screen, requiring four clicks and three page refreshes.

Since Apsona for Salesforce is an AppExchange application, all of these features are available directly within your browser, viewing and filtering your salesforce.com data directly. And these features are available on all objects and fields, both native and custom.

Technology-wise, Apsona for Salesforce runs as a JavaScript application within your browser. It dynamically generates the SOQL query for each search request, sends it over to salesforce.com, and displays the returned results in your browser.

You can sign up for a free 30-day trial via our AppExchange listing. Our documentation area includes a lot more detail about the search capability.

Your feedback is very welcome.

Apsona’s Tabular View For Salesforce.com

Tuesday, September 20th, 2011

Apsona for Salesforce comes in a snappy Web 2.0 interface and delivers a user experience that is one of a kind. Users can see their data in several different views, including a tabular view, a list-and-detail view with child tabs, and calendar views.

The tabular view offers many possibilities. To see data for an object in a tabular view, select the tabular view option from the object’s menu drop down. The tabular view comes up instantly. With this view, each user can choose his or her individual preferred field setting. Click the “Set columns” button at the top right of the table and drag and drop fields from the selected box to the available box. Click apply and your preferred view is now in place. You can re-size columns widths, sort on fields and edit field values inline. All updates happen instantly with no page refreshes. Similarly, you can update values for up to 5 fields all in a single click in this view. Other possibilities include quick searches, invoking saved filters and even exporting data to a csv file. A whole new record can also be added manually with the Add button while working in the tabular view.

The tabular view which has an excel feel to it also had the ability to have a nested grid. For example, this view can be modified such that you can see all your product line items to an opportunity. See image below.


Apsona for Salesforce being a pure Web-2.0 Ajax application, most of the screen updates happen in-place, with no jarring screen refreshes. This lets you retain your work context and you can focus on being more productive instead of waiting for the screen to refresh.

One of our users summed up the tabular as follows: “Having a view of all relevant data in one screen is important to many users who work with Excel frequently, and the tabular view is an alternative view of salesforce data to those who enjoy working with Excel. ”

Apsona for saleforce has a lot to offer. Check out our exception reports and filters as well Get a free sign from the appexchange http://appexchange.salesforce.com/listingDetail?listingId=a0N30000003JejzEAC

Mass Adding Contacts or Leads to a Campaign in Salesforce

Wednesday, September 7th, 2011

With Salesforce.com’s powerful Campaign Management you can you reach a large number of contacts, customers and leads (leads), track campaign budgets and effectiveness. Salesforce also includes standard campaign reports such as ROI analysis, Member analysis, Revenue, Influenced opportunities, and many more such reports. Whilst all this functionality exists in Salesforce the task of identifying the Leads to a Campaign can be very time consuming. Additionally, there is a batch size restriction of only 250 leads in a given time.

Here is where Apsona for Salesforce comes in. You can identify the Leads or Contacts to a Campaign and add them as Campaign members with just a few clicks. Let us take a use case where you would like to find all your Leads with phone numbers from 5 different area codes and then add them to a campaign. With Apsona’s powerful filter logic such data can be got in seconds. The snappy web 2.0 interface with no page refreshes gives you a great user experience without losing context. You can choose any number of fields to use as search terms, and save your searches as filters so that they can be reused. Once you have got all the required data to to be added, just click the Add to Campaign button found under the Tools menu. Here, choose the Campaign name from the drop down(all the Campaign names will show up). You will also see the number of records that will be added, for example, All 2500 Contact records will be added to the campaign you choose. Click Ok and the records are immediately added to the Campaign. With Apsona there is no batch size restriction and you can add any number of records in a given time.

The Add to Campaign feature with Apsona saves users time and effort. The attached video shows the Add to Campaign feature.

Apsona for Salesforce offers a 30 day free trial and is available on the appexchange http://appexchange.salesforce.com/listingDetail?listingId=a0N30000003JejzEAC.

Apsona ShopAdmin For Opencart

Sunday, January 23rd, 2011

As part of our growing products and services, we at Apsona are delighted to announce  Apsona ShopAdmin for Opencart.

This is a free internet service that helps Opencart shop owners:
- easily import, export and batch-update their data ;
- rapidly perform routine tasks like searching, adding and editing of data records;
- create and run sophisticated reports on data, to help run their businesses smoothly.
Zen Cart owners have been very happy with ShopAdmin, as also osCommerce users. And now, OpenCart users also can manage data seamlessly with Apsona ShopAdmin.  All of this is possible within your browser, with no need for custom development or coding.  The installation package is customizable to the specific needs of each cart.  Sign-up is free, and only takes a few minutes. Please sign up, try it out and see for yourself. As always we welcome feedback.

Importing & Editing of Localised Numbers

Monday, January 17th, 2011

The Apsona team would like to wish everyone a happy and prosperous 2011. We at Apsona remain committed to ShopAdmin, and this year we have an exciting roadmap of new features and services for our users.  For starters, there is some experimental support for

  • exporting a range of customer records into Quickbooks-compatible IIF format
  • exporting a specific order into a customizable Excel-compatible format.

These features are only available by request. If you would like them enabled for you, please contact us via email.

Until recently, ShopAdmin had included support for numbers only in the US and UK format. A number 23,302,983.02 in the US format is expressed very differently in Europe.  As many of our users are European, we are now happy to inform our European users that ShopAdmin now supports localized numbers and currencies when importing and editing.  The German format 23.302.983,02, the Swiss format 23′302′983.02 and the French format 23 302 983,02 is now supported by.  ShopAdmin uses the locale determined by the user’s browser to determine the number format.

As always, new features will take effect the next time a user logs in to Apsona ShopAdmin. Stay tuned for new features, updates and services. We welcome for feedback and feature requests.

Happy New Year!

New Enhancements To Product Imports in Apsona ShopAdmin

Friday, August 6th, 2010

On July 30th 2010 Apsona.com released a new version of ShopAdmin for Zen Cart and osCommerce users. This release  includes several enhancements to product imports in particular, and to imports in general.  A short summary of the new release is below:

  • Simultaneously import categories and products from a single CSV data file (automatically creating the category hierarchy).
  • Update as well as import product records from the same CSV data file.
  • “Undo” an import:  Automatically create a filter that records the ids of the newly-imported records, so that you can quickly get to just those records, and undo import via Tools – Delete all.
  • Optionally check, when importing products, that all the Model values are distinct and do not occur. This feature is optional because some users specifically want to allow multiple model values.
  • Better handling of data validation errors in the database. This feature is optional because some users specifically want to allow multiple model values.

Current users need not do anything, these fixes will take effect automatically the next time they reload the Apsona ShopAdmin window. We hope you find the new enhancements useful and welcome all feedback.

Security of Apsona applications

Monday, February 15th, 2010

When we talk about web application security, vendors often direct the conversation towards the two most obvious user-visible security aspects: SSL (secure sockets layer) or TLS (Transport Layer Security), and password security. They talk about the 128-bit or 256-bit encryption they use, or the password composition constraints they impose, e.g., a minimum of 8 characters or a mix of upper and lower case.

The fact is, however, that while SSL and password security are important, they are just one aspect of security. If you are serious about security, you should look at the widely-respected OWASP Top Ten, a list of the most common security vulnerabilities in web applications. Of course, no system is perfectly secure, but Apsona’s architecture is designed to guard against most, if not all, of these attack vectors.

Two of the most common techniques used to crack web applications are SQL injection and cross-site scripting. The former technique relies on the fact that there is often a very direct correspondence between the web app’s SQL queries and the values of parameters submitted from the browser. So the attacker injects carefully-chosen SQL snippets into the values of request parameters.  This can result in the application’s providing the attacker with database content (such as user names and passwords) that should not be exposed.

Apsona’s design uses several counter-measures to prevent such attacks. For one, it uses an intermediate metadata layer that maps user-level tables and columns to the actual database tables and columns. This layer provides two benefits: one, that it can be designed to target to any database, even to existing databases, so that (for example) we can create a user-level vocabulary of terms and concepts that are completely different from the database tables. For instance, we can have user-friendly table names such as Customer and Product that are mapped to more cryptic database table names like cw_cust or cw_prdt, thus improving the user experience. A second benefit is that the database nomenclature is completely hidden from the user layer, and is looked up via a run-time cache in the application. So there is no way for an attacker to create SQL snippets that use the names in real database to get at its content.

Apsona also guards against cross-site scripting in several ways. First, we ensure that we don’t fetch scripts from outside the Apsona domain. Second, we only use simple JSON, not the full JavaScript language, as the data interchange layer. And we avoid the most common pitfall that leads to scripting attacks — the JavaScript eval function — by explicitly parsing the JSON.

Another aspect of security is tenant data safety. Multi-tenanted or multi-hosted systems are sometimes implemented with one large database containing the data from all customers, and SQL filtering is employed to restrict the data for each customer based on their login credentials. This approach runs the risk that, if the SQL queries are not carefully coded, data from one customer can be exposed to other customers.

In Apsona, however, we dedicate a separate database instance for each application. Moreover, the code that processes a particular request is only given a single connection, to the one database for the application for that request. So there is no way that the code can access data from other databases, even if it were compromised. This idea of using multiple database instances gives us an added benefit: The speed and performance for a particular user is governed entirely by their own database, so a user with a small amount if data is not unnecessarily penalized because of their data residing in a large database, unlike with other vendors.

We have taken great care in designing Apsona’s architecture to be as secure as possible. We would be delighted to hear your comments.