» Fig Leaf Software Home

We've Got You Covered.

Tuesday, February 24, 2015

Fig Leaf Software has its seventh GSA Qualified Deployment Specialist!

We do a lot of work with the Google Search Appliance here at Fig Leaf Software, with both new deployments and supporting existing customers. We're very pleased to announce, during Google's TeamWork 2015 partner conference, that we now have our seventh Google Search Appliance Qualified Deployment Specialist, +Michael Tangorre. Michael has been working with the National Park Service for many years. National Park Service uses the GSA with their (very large and complex) public site, http://www.nps.gov/.

Michael's qualification comes on the heels of +Benjamin Bentley, who received his qualification two weeks ago. Benjamin supports many of our CMS customers in a wide variety of environments, and many of those customers use GSA to provide the best possible search experience for their users.

The GSA Deployment Specialist qualification is difficult to achieve. It requires knowledge that goes far beyond the basics of using the GSA, covering complex deployment scenarios with multiple content repositories, multiple authentication mechanisms, geographic distribution, redundancy, using GSA developer APIs and much more. I'm a Google instructor, and I developed and I teach the introductory and intermediate courses for Google partners. So I can safely say, it's a lot of stuff to learn! If you're not a Google Partner, but are interested in introductory or intermediate GSA training, Fig Leaf Software offers instructor-led public GSA training courses available in-person and online.

Fig Leaf Software is a Google Search Premier Partner, and we develop, deploy, support and provide training for customers of all sizes, at any level of complexity. Ben and Mike will help us deliver and support powerful search solutions for our customers, and their qualification demonstrates our continued commitment to the Google Search Appliance.

So, thanks and congratulations to Ben and Mike!

Tuesday, February 17, 2015

Using Brackets for Ext JS Development

Recently Steve Drucker evaluated using Brackets, a free, open-source, multiplatform-editor as a potential replacement for Sublime Text in our Javascript training courses. Steve was kind enough to share his comments here: 
brackets1
Brackets has a lot going for it:
  • It’s free
  • Installation is simple
  • It’s open source
  • Projects are directory-based, just like Sublime
  • It has a js linter built in
  • It has some intellisense
  • It does *not* auto-complete array and object syntax (brackets and curly braces)
  • It supports scss (Sassy CSS)
  • Performance doesn’t completely suck
  • It’s supports 3rd Party Plugins
  • It’s available for multiple OS.
And while it doesn’t fully support Sencha’s massive Ext JS library, it should help students quickly identify syntax problems with their json configs. I was able to configure Bracket’s built-in JS Linter to ignore nearly all of its “false-positive” errors and warnings.
The trick is to modify Bracket’s preferences file (Debug > Open Preferences File) as follows:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    "linting.collapsed": false,
    "themes.theme": "light-theme",
    "jslint.options": {
        "plusplus": true,
        "devel": true,
        "predef": [
            "Ext"
        ],
        "sloppy": true,
        "browser": true,
        "white": true
    },
    "useTabChar": false
}
You’ll need to restart Brackets for these changes to take effect.
So if you’re looking for a change of pace from using Sublime, or money is tight and you can’t afford JetBrains WebStorm or Sencha Architect, it’s worth giving Brackets a try.
Download Brackets at http://brackets.io/
Get Steve Drucker's 16 hour Teach Yourself Sencha Touch & EXT JS course: http://go.figleaf.com/learn-sencha

Friday, February 13, 2015

Ext JS: Generating a Checkbox Group from a Store

Ext JS checkbox groups enable you to group checkboxes into a single logical field. Since these checkboxes are often times dynamically generated from a store, I thought that it might make sense to extend the class with some store binding. Here’s my first, lightly tested attempt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Ext.define('Ext.ux.CheckboxStoreGroup', {
    extend: 'Ext.form.CheckboxGroup',
    alias: 'widget.checkboxstoregroup',
    config: {
        store: null,
        labelField: 'label',
        valueField: 'id',
        checkedField: 'checked',
        columns: 3,
        boxFieldName: 'mycheckbox'
    },
    applyStore: function(store) {
        if (Ext.isString(store)) {
            return Ext.getStore(store);
        } else {
            return store;
        }
    },
    updateStore: function(newStore, oldStore) {
        if (oldStore) {
            store.removeEventListener('datachanged', this.onStoreChange, this)
        }
        newStore.on('datachanged', this.onStoreChange, this);
    },
    onStoreChange: function(s) {
         
        Ext.suspendLayouts();
        this.removeAll();
         
        var vField = this.getValueField();
        var lField = this.getLabelField();
        var cField = this.getCheckedField();
        var fName = this.getBoxFieldName();
        var rec = null;
         
        for (var i=0; i<s.getCount(); i++) {
            rec = s.getAt(i);
            
            this.add({
                xtype: 'checkbox',
                inputValue: rec.get(vField),
                boxLabel: rec.get(lField),
                checked: rec.get(cField),
                name: fName
            });
        }
         
        Ext.resumeLayouts(true);
         
    },
    initComponent: function() {
        this.callParent(arguments);
        this.on('afterrender', this.onAfterRender);
    },
    onAfterRender: function() {  
        if (this.getStore().totalCount) {
            this.onStoreChange(this.getStore);
        }
    }
});
You can test and play around with the code here:
LEARN SENCHA: Teach Yourself Sencha in a Day: http://go.figleaf.com/learn-sencha 

About Us

Fig Leaf Software is an award-winning team of imaginative designers, innovative developers, experienced instructors, and insightful strategists.

For over 20 years, we’ve helped a diverse range of clients...

Read More

Contact Us

202-797-7711

Fig Leaf Software

1400 16th Street NW
Suite 450
Washington, DC 20036

info@figleaf.com