Archive for category javascript

FireFox 23 will be a Game Changer w/https sites

There’s an option in FF (version 18.0 and up) called:

When FF 23 is released (20.0 is the current release) this option will be enabled by default. What this means is ANY “mixed” https page will NOT load non https content.

So if you have constructed a site that has any http links in it and your site is on SSL (https) then users will experience “failures”.

QUES: Is this a good thing?

ANS: YES! Attacks using “bad links” are buried in https sites everywhere. You typically see a popup asking if you want to display the “non-https” content. When you do you take a BIG risk of infecting your system, getting hacked, etc. KUDOS to the FF team for taking this step to block non-https data by default!

I would strongly suggest you test this out NOW to make sure things will work right when FF 23 is released. Using FF 18.0 and up you simply need to:
A – key in about:config in the url/address line
B – search for the key: security.mixed_content.block_active_content
C – change the value to true


FYI – Chrome has already made such a change (you get a warning)..


, , , ,

Leave a comment

SalesLogix Mobile Web Application 2.0 – A Video

A while back there was a video made/posted by the SalesLogix Training group on the Mobile Web Application (version 1.x). Along with the recent release of SalesLogix Version 8.0 was the release of Mobile 2.0.

2.0 builds on the the original functionality of the 1.x release (specifically 1.2) and gives us a much nicer (mobile) user experience. One of the things I especially like are what are called “List Actions” (I call them “Immediate Actions”). “IA’s” are available on all of the “List Views”. You get to them by simply clicking on the Icon (rather than the text) and they appear  in a new line just below the list item.

For a look at “IA’s” and other things, jump over to uTube and take a look:


Oh yes, you do NOT have to upgrade your 7.5.4 SalesLogix to 8.0 to run Mobile 2.0 – BUT there are some features which ONLY work with 8.0 (SData).  I’ll be posting just what these things are in a future blog.

, , , , , ,

Leave a comment

Sage SalesLogix Mobile Web 1.2 – and why you want it NOW!

As many of you already know, I have decided to focus on three things:
1 – Mobility
2 – Mobility
3 – Mobility

Got the idea 😉

We are definitely in the “Age Of Connected Mobility” with smart-phones and pads/tablets popping up everywhere. I would certainly like to see the stats on just how many new mobility devices will show up in Christmas stockings, etc….

So with “mobility” in mind, it’s now official, the Sage SalesLogix Mobile Web Application version 1.2 is now available! It builds on the 1.0/1.1 releases to bring us some new features:
• Improved usability features including: single-press pick lists and lookups, “Clear” button on text fields, custom keyboard for URLs, e-mail, and phone data entry, and combine hash tags with search text.
For example, Opportunity: “#closed ab” searches for closed opportunities where the name starts with “ab”.

• Calendar contains new week view and month view shows activity count and selected day

• Support for French, German, Italian, Russian and English languages through a single

NOTE: In order to take advantage of “localization”, you need to make sure you are pointing at the .aspx page not the .html. Otherwise, you will ONLY see English 😉

.. and to add – it installs in just a few (5) minutes.. and existing 1.1 customization(s) (if done using the “module” approach) should NOT break!

What I really like are the Calendar enhancements. week/month view w/activity info and counts!


, , ,

Leave a comment

Sage SalesLogix Mobile Web app – hiding information from users

While in the process of developing an Asset Management application of the new SalesLogix Mobile web app, I ran into an interesting problem… users that should not see “everything” were seeing things they should not.

Specifically, when a user clicked on “Assets” he/she was getting the assets from EVERY Account in the system whether or not he/she had (security) access to that account. This was not good. The problem was traced very quickly to the AccountProduct (a one to many) table not having a SECCODEID (owner) field.

Short lesson: The SECCODEID field is the key to “row level” security in the SalesLogix Data Base. If it is there and has a value, the “system” automatically checks security against the current logged in user (except ADMIN) to see if he/she should have access. If not, the record is NOT returned, if ok then the record is returned.

What is important to point out is that the Account table/entity DOES have a SECCODEID. By adding:
Account/AccountName  to my querySelect
and adding:
queryWhere: ‘Account ne null’
the problem was solved. Account/AccountName in the querySelect forces the system to see the relationship between AccountProduct and Account so the Account SECCODEID “takes over”. Unfortunately I needed to handle a defect this uncovered in SData and add the queryWhere to make sure the records that “failed to pass security” did not cause a problem back in the mobile app. NOTE: Even if there was no error – it was good design/implementation practice to do so anyway.

Leave a comment

How do I add a “My Stuff” query to the SalesLogix Web Mobile?

When Sage SalesLogix release SP4 for version 7.5, as part of that release a new “capability” was also introduced: HashTags. HashTags are “shortcuts” for doing a query.

The OOTB (Out Of The Box) implementation (mobile 1.1) only has a few of these implemented (Notes/History has 5 and Opportunity has 3 – look at the “help”) . For example: Locating all Opportunity records where the Status is Won – #won

How do you add (or extend exisiting) HasTags? – It’s EASY! Simply build a “package, add an “override”. Here’s a sample fragment:
To add a “my” to Opportunities where the Account manager is the current logged in user –

  //add hold to existing hashTagQueries, or if it doesn't exist yet, create one.
  hashTagQueries: Ext.apply(Mobile.SalesLogix.Opportunity.List.prototype.hashTagQueries || {}, {
      'my': function(){
             return String.format('AccountManager.Id eq "{0}"',App.context['user']['$key']);

Or to add “my” to Tickets where you want to see all tickets assigned to “you” which have a status of “closed”:

  //Where picklists store the ITEMID and not TEXT or SHORTTEXT we have to us that "key" value
  // Sage Dev is looking into a way to fix this problem. - 20110610 - rjl
  hashTagQueries: Ext.apply(Mobile.SalesLogix.Ticket.List.prototype.hashTagQueries || {},{
      'my': function(){
            return String.format('AssignedTo.Id eq "{0}" and StatusCode ne "{1}"',App.context['user']['DefaultOwner']['$key'],'k6UJ9A000037');

Oh yes, here is a link to the SData spec on query: Click Here

I’ll be publishing more on this and also plan on putting on a few FREE  on-line live sessions on how one does all of this. Just send an email to sign up and as soon as we get 10 folks – we’ll schedule an event!

Leave a comment

Is Dojo the Answer?

If you ask the right questions there is NO doubt Dojo has a TON of things to offer. You need to go to the dojotoolkit site and take a look at the great examples in Charts & Grids, Mobile, etc.

With Mobility being a significant “hot-spot”, the Mobile Showcase is something you really need to look at.

Leave a comment

Customizing the New Sage SData HTML5 Web App

One of my previous posts (Mobility with (virtually) NO Pain!) talks about the New Sage SalesLogix SData based client application that lets you get to SalesLogix data in Real-Time on your favorite smartphone (iPhone/’droid/BB w/OS6), pad/tablet (iPad,’droid), and//or browser (FF/Chrome/IE9+).

Since the initial release the folks at Sage SalesLogix have come out with “mobile 1.1” in the Service Pack 4 release to SalesLogix vers 7.5. This release fixes a bunch of “nits” and adds some badly needed functionality – One being the Complete an Activity!

Using this release, we have been building adding some customization to further enhance its capabilities. One area that needed a bit of help was “Help”. The idea for doing this came from a friend of mine  – Alexander Pfingstl.  In this case, we needed to remind the user of some special search capabilities called “Hash tags”. These are used on the List View in the Search Toolbar. Basically, we added a “Help” button to the individual “List” views which pops up an alert dialog and shows the user what “short cut” Hash Tags are available for this entity. Here is an example of the code used to implement our custom help for a Lead List View:

        //extending the view class
        var leadHelpText = "Hash Tags Quick Search" + '\n'
                           + "#new -> Status = New" + '\n'
                           + "#qual -> Status = Qualified"
        //Override the list view row template in order to:
        Ext.override(Mobile.SalesLogix.Lead.List, {
            //Implement a minimal function for our custom action.
            showLeadHelp: function() {
            //Add a custom toolbar button to the Account List view.
            init: function() {
                Mobile.SalesLogix.Lead.List.superclass.init.apply(this, arguments);
                    id: 'customLeadHelpButton',
                    icon: 'content/images/icons/Help_24.png',
                    action: 'showLeadHelp'

1 Comment

More HTML5!

A while back I blogged on HTML5 why should you care. The more I dig into it (HTML5) the more I see the power and simplicity of it. THIS is the standard ALL web pages should conform to. It’s time to throw ALL that “junk” out and have pages that meet a OPEN standard.

The best way to to get your hands (and mindset) around this subject is to start searching the net using keywords like: “HTML5, javascript, canvas, samples/code/examples, etc…”.  Here are some of the sites/pages I found out there:

You cannot talk about HTML5 without discussing CSS3. CSS3 is where browsers are even further behind on standards. The site caniuse has some info that is very helpful. You will see that even though IE9 supports a lot of HTML5, it supports very little CSS3.

Just a short word on the “scripting” side of HTML5/CSS3 sites/pages – javascript is the current front leader in how these sites/pages are “programmed”.  I’ll be discussing this a bit more in a later blog along with some examples. For now, jump over to Wikipedia and take a look.

Leave a comment