Archive for category HTML5

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

Finally – One Place for all things Web Development?

Sounds too good to be true, doesn’t it? Only time will tell.

On Monday, October 8, 2012 there was an announcement by W3C on the alpha release of Web Platform Docs.  The purpose of this is to establish a single point/place where we all can go for “All Things Web Development”.

Her’s a blog posting by Jean Paoli (President – Microsoft Open Technologies) on the announcement:


Bear in mind this site is only a few days old but it has names like Adobe, Facebook, Google, HP, Microsoft, Mozilla, Nokia, Opera that are stewards of the project. If they pull this off it will save all of us TONS of time (translate $$$) in development/research as related to web efforts.

Let us wish them the best and contribute to the effort for the common good! So jump over and take a look NOW!

, , , , , , ,

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

Add a “favicon” to your Sage SalesLogix Mobile Web Client

I REALLY like the new SData HTML5 Client App – know as the “mobile web client”. However, there seemed to be something missing – “favicon“. SO why not just add it?

Well, you need to know where and that is simple, it goes between the <head> and </head> tags. Fine. Now where do I modify the application to do this you ask? The answer is simple:
A – It is the index.html page/document you need to change which is located in the slxmobile folder in the deployed web site.
B – Just add your icon to the content/images folder

Here’s an example (I used an image that is already there – the “Blue Ball”):

     .... stuff
     ... stuff

     .... stuff
     <title>SalesLogix w/Myfavicon</title>
     <link rel="shortcut icon" href="content/images/icon.png"  />
     ... stuff

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

Trashy Data Bites/Bytes Back!

I was showing someone the new Sage SalesLogix html5 app yesterday on my Droid X and telling him it was connected to my live SalesLogix system (not a demo site). Of course Murphy’s Law jumped right in front of me and it threw up an error dialog immediately when attempting to open up the first lead on the screen:

“A server error occurred while requesting data”

I clicked OK,  then on the back arrow and all was fine. To see if this was a system or data issue, an attempt was made to open the 2nd lead in the list.. it opened fine. Going back to the first.. failed.. again..

Using (Firefox/Firebug), the problem was was quickly traced to the LEAD.LEADSOURCEID containing a “blank” in the LEAD record(s) which were throwing errors (yep.. found about twenty of them). A Simple SQL update statement via ExecuteSQL (in the Admin app so it would synchronize) resolved the issue immediately:


This was just one example where “trashy data” can cause you to not obtain desired results. It cannot be stressed enough you MUST constantly be checking your database for “bad data”. Here are a few hints as to what to look for:
A – “blanks” where there should be NULLS (usually a “foreign key” field)
B –  Foreign Key Fields that have valid (looking) values but are pointing to non-existing records (EX: USERID in Activity/History pointing to users that have been deleted from the system).

Leave a comment