JerryHirsch
An Online Portfolio

DSAEP Overhauled

Posted on 06/19/2010 by Jerry under Design, Wordpress
Leave a comment

After over two years from the original setup of the down syndrome site I am proud to say it has officially been overhauled. Not to take anything from the show Overhauled, but that is what has taken place here. The site was in need of some major upgrades the biggest one being getting up to the latest version of WordPress which was a 2 year old version. The install was seemless with a little bit of tweaking for the design. Down Syndrome Association of El Paso

IPhone post

Posted on 04/22/2010 by Jerry under General
Leave a comment

Trying out the new iPhone WordPress app. Seems pretty clean so far. We’ll see.

New BMX!

Posted on 11/20/2009 by Jerry under BMX, Featured Articles, General
Leave a comment

I recently started riding BMX again and thought I would share. Who says 32 year old men can’t have fun. The kid’s at the ramps think I do pretty good for an old guy. Well, it is definitely the most fun I have had exercising in years. I am sore like and old man when I get up but by the time I get out there I feel 18 again. Tons of fun! Thanks to the guys over at Hardcore Hobbies in Bury St. Edmunds U.K. I got setup with a great rig. A new company out of England, Blank BMX put’s together a nice setup for a nice price. Here is a look at the specs:

  • Frame: 20.5” Trimoly
  • Fork: 4130 Cromoly Blades 1-1/8” Ahead
  • Chainset: 3 Piece Cromoly 175mm
  • Chainrings: 25 tooth
  • Bottom Bracket: Mid Sealed
  • Cassette: 9 tooth Cassette
  • Chain: KMC Z410 Blue Painted
  • Pedals: Odyssey Twisted Plastic
  • Rear Brake: Tektro U Brake
  • Brake Levers: Tektro
  • Handlebars: 2 Piece Pro Bars 4130 Cromoly 8” x 28”
  • Stem: Blank Alloy Front Load, Ahead
  • Headset: Internal Sealed
  • Rims: 36h Alloy, Blue Anodized
  • Front Hub: 36h 10mm Unsealed
  • Rear Hub: 36h 14mm 9t Cassette
  • Front Tyre: Odyssey 1.95” x 20” Street Tyre
  • Rear Tyre: Odyssey  1.95” x 20” Street Tyre
  • Saddle: Blank Pivotal Slim Seat
  • Seatpost: 25.4” Pivotal

EXTJS 3.0 CFC Driven Data Grid

Posted on 10/18/2009 by Jerry under ColdFusion, Ext JS, Featured Articles
3 Comments

Here is a solution to an issue we were struggling through at work and thought I would give it another look. After a little research I was able to put together the puzzle. Basically needed to find a way to return data to the grid in an array and render it to the grid. Out of the box ColdFusion 8  shipped with EXTJS 1.0 which is now at version 3 and wanted to utilize some of the new features. Only problem is the hooks into EXT do not work if you try and use the EXT 3 library. Well on with it.  Here is the includes you will need at the top of your page. Of course you will need to have the EXTJS 3 library downloaded get it.

Code:
<link rel="stylesheet" href="../../ext3/ext-3.0.0/resources/css/ext-all.css" type="text/css" />
<script type="text/javascript" src="../../ext3/ext-3.0.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../../ext3/ext-3.0.0/ext-all.js"></script>
<script type="text/javascript" src="../../ext3/ext-3.0.0/src/data/CFJsonReader.js"></script>

Here is the JavaScript you need in the head tags of your page.

Code:
Ext.onReady(function(){

    var user_colModel = new Ext.grid.ColumnModel([
        {header: "ARTISTID", width: 75, sortable: true, dataIndex: 'ARTISTID'},
        {header: "FIRSTNAME", width: 150, sortable: true, dataIndex: 'FIRSTNAME'},
        {header: "LASTNAME", width: 150, sortable: true, dataIndex: 'LASTNAME'}
    ]);

    var myDataModel = [
        {name: 'ARTISTID', mapping: 'ARTISTID', type:'int'},
        {name: 'FIRSTNAME', mapping: 'FIRSTNAME', type:'string'},
        {name: 'LASTNAME', mapping: 'LASTNAME', type:'string'}
        ];

    var myCFReader =  new Ext.data.CFJsonReader(myDataModel,{id:'ARTISTID'});

    var user_DS = new Ext.data.Store({
            url: 'http://localhost:8500/cfdocs/testgrid/cfc/grd.cfc?method=getUserListForGrid&returnFormat=json',
            reader: myCFReader,
            listeners: {
                loadexception: function(proxy, store, response, o) {
                    console.log("Response Text?"+response.responseText);
                    console.log("dgStore Message \n"+proxy+"\n"+store+"\n"+response+"\n"+e.message);
                },
                load: function(){
                    console.log('load Worked!');
                }
            }
    });
    user_DS.load();

    // ****
    // Bringing it all together in the Grid
    // ****
    var user_grid = new Ext.grid.GridPanel({
        ds: user_DS,
        cm: user_colModel,
        anchor:'100% 100%',
        width:400,
        height:400,
        //autoheight: true,
        title:'Current System Users',
        stripeRows: 'true'
    });

    user_grid.render('user_grid');
});

Now setup your CFC to get some data.

Code:
<cfcomponent displayName="User" hint="Get artist names">  

    <cffunction name="getUserList" access="public" returnType="query" output="false"
                hint="Returns all the users.">
        <cfset var qGetUsers = "">  

        <cfquery name="qGetUsers" datasource="cfartgallery">
            SELECT artistid, LastName, FirstName
            FROM app.artists
        </cfquery>
        <cfreturn qGetUsers>
    </cffunction>

    <cffunction name="getUserListForGrid" access="remote" output="false"
                hint="Returns all the users in the format for the JSON userList grid.">
        <cfset var qGetUsersForGrid = "">
        <cfset var qUserList = getUserList()>

        <cfquery name="qGetUsersForGrid" datasource="cfartgallery" dbtype="query">
            SELECT artistid, LastName, FirstName
            FROM app.artists
        </cfquery>

        <cfreturn queryConvertForGrid(qGetUsersForGrid, 1, qGetUsersForGrid.recordcount)>
    </cffunction>
</cfcomponent>

And the all important CFJsonReader

Code:
Ext.data.CFJsonReader = function(recordType, meta){
    this.meta = meta || {};
    this.recordType = Ext.data.Record.create(recordType);
};

Ext.extend(Ext.data.CFJsonReader, Ext.data.DataReader, {
    read: function(response){
        var json = response.responseText;
        var o = eval("(" + json + ")");
        if (!o) {
            throw {
                message: "CFJsonReader.read: Json object not found"
            };
        }
        if (o.metaData) {
            delete this.ef;
            this.meta = o.metaData;
            this.recordType = Ext.data.Record.create(o.metaData.fields);
            this.onMetaChange(this.meta, this.recordType, o);
        }
        return this.readRecords(o);
    },

    // private function a store will implement
    onMetaChange: function(meta, recordType, o){

    },
    readRecords: function(json){
        var aRecords = [];
        var cList = json.QUERY.COLUMNS;
        var cData = json.QUERY.DATA;
        var idField = this.meta.id;

        for (var i = 0; i < cData.length; i++) {
            var oRecord = {};

            for (var j = 0; j < cList.length; j++) {
                oRecord[cList[j]] = cData[i][j];
            }
            if (idField) {
                var id = cData[i][cList.indexOf(idField)];
                aRecords.push(new Ext.data.Record(oRecord, id));
            } else {
                aRecords.push(new Ext.data.Record(oRecord));
            }
        }
        return {
            success: true,
            records: aRecords,
            totalRecords: json.TOTALROWCOUNT
        };
    }
});

Group 35 inc.

Posted on 10/09/2009 by Jerry under Design, Featured Articles, Logos
Leave a comment

I was approached by CEO of www.group-35.com inc. to design a logo that conveyed the companies vision for the future. I utilized a free font from www.1001freefonts.com and colors that were clean and represented the history behind the name.

Down Syndrome Association

Posted on by Jerry under Featured Articles, General
Leave a comment

This is a logo design for the Down Syndrome Association of El Paso. This was a great project to work on as the client is a good friend. All design, development and hosting was donated by JLWebsolutions. This was implemented roughly 2 years ago now and will probably be something to come back and look at to upgrade in the future. i had this posted on my old blog, but unfortunetly the database was lost in the upgrade to the new WP 2.8. You can link over to dsaep at http://dsaep.org

thesandwich.com

Posted on 09/23/2009 by Jerry under Featured Articles, General
Leave a comment

The Sandwich is a website where one man dishes out not only great recipes but some of his own ideas on what’s going on in his head. This is another WordPress installation. The logo is a custom jerryhirsch.com product that incorporates alot of the personality of the owner of the site. So go on over and see what thesandwich.com has to offer.

thehirschsonline.com!

Posted on 09/07/2009 by Jerry under Featured Articles, General
2 Comments

The Hirsch’s Online went live on 9/21/2009. This is a WordPress install with a custom look and feel. I have been using WordPress a  lot lately for it’s ease of use and flexibility for custom design. WordPress has been around for several years now and has thousands of available plugins and widgets to pretty much fulfill any requirements you may have.

See project thehirschsonline.com |  More about WordPress.