Consoles and YOU!
In the past when I've been given a console to push out I normally would just fire and forget and hope that the QA guy catches any errors. In fact that is kinda my motto (or at least one of them as I have many and my favorite changes from day to day).
However recently I found a little trick that most of you probably already knew, this allows you to check out the console from your local box without sending it to cvs. It also could, if you like to be thourough, help in preventing problems from reaching the live server.
All you need to do is modify the following link for your store and your console and you should see it pop up in your browser, of course it's not sized properly but that's an issue that QA can QA later.
http://localhost/wcsstore/WorkoutWarehouse/images/consoles/PFTL66906/PFTL66906.html
Print This Post
Songza and it’s alternate friends
So I think I may have posted about Songza here before, and if I haven't, I think I meant to. You see sometimes you're working and thinking to yourself, 'man I really want to hear that song, if only I had it in my extensive mp3/aac collection'. Well Songza is the website for you, as it fills the gaps in your music collection. It's a music search engine so you just type in the band or song name you want to hear and by using some ajax'ery, a list shows up on the page and you can listen to your requested song (it streams through flash, so you need that installed). It is good to point out that Songza does search through YouTube, Google-Video, and the like, so some of the songs will be either live or crappy (read low-bit rate) versions of what you are looking for, but it's great to find that song that you don't have but would really like to listen to.
What makes me post about Songza today? Well this morning I had some Monty Python stuck in my head and I really wanted to hear it ('the bright side of life'). So I tried to go to songza, and it was down! It's back up now, but I really needed to hear that song, so a quick trip to google gave me two alternative sites (the funny thing about this is that songza has merged with both of these sites in its search results, so if songza is down you can get roughly the same selection by visiting these other two sites).
SeeqPod - Pretty much like songza, only I like the light-colors and flash implementation of the player is by far better than songza, and did I mention the lighter colors? I suppose white and orange (heavy on the orange) can grate the nerves every once in a while.
SkreemR - Again pretty much the same thing, only it claims to only carry only non-copyrighted materials... so I suppose you *should* use that one only. I did notice that they employed pop-unders (dirty!) and have quite a few ads. But it's a fairly decent set up, each song result is in its own container with links to find the song on amazon, youtube, etc. The player is a built-in flash player (similar to the one employed here on this site), with a play and mute button.
Of course it's enough for another post, but I highly recommend Pandora and last.fm (not from work, of course, as both sites destroy bandwidth, and IT will cut you off - they had pandora disabled a few months ago) as they will play pretty much what you want to hear (you pick a song/band, then it plays similar songs/bands) or are in the mood for.
Print This Post
Adding/changing Commercial Sales Reps in Freemotion (Oh goody)
For those who are interested, here is how the Domestic Commercial sales Reps are rendered in Freemotion.
It all starts with ContactDisplay.jsp which includes CustomerRepStateList.jspf but don't get excited, this file uses javascript from AJAX_Util.js (getRepInfo()) to conveniently make a call to another view, namely CustomerRepAJAXView which is made up of the file CustomerRepDisplay.jsp which does nothing other than call CustomerRep.jspf. HOWEVER, even knowing all of that you can't make any changes unless you have DB access, because apparently this is where all the sales Rep info is stored...which is really the only thing that makes any kind of sense in this whole scenario.
Now if you couldn't follow that here is the short version:
ContactDisplay.jsp -> CustomerRepStateList.jspf ->getRepInfo() from AJAX_Util.js -> CustomerRepAJAXView(CustomerRepDisplay.jsp) -> CustomerRep.jspf -> (DB which holds all info).
as a bonus all of these files, with the exception of the AJAX_Util.js are kept in two folders and here is the route by folders
NOTE:folder names have been altered.
ShopProfileSection/ -> bitsNpieces/profits/ -> javascripts/ -> ShopProfileSection/ -> bitsNpieces/profits/
gay huh?
For the life of me I can't figure out why all the running back-n-forth but I'm sure there is an explanation...I doubt it's a valid one, but an explanation nonetheless.
To quickly get this done if you don't have access to the DB send the task to Jason or Drew.
Print This Post
Web Developer Training: Compression
I may be jumping the gun here, but I thought I'd post the training a day early. Yes that's right, I have another training session that may be of interest. This one has to do with gzip/deflate and various js compression engines (JSMin, PACKER, and YUI). I may have thrown some other things in there, but I wrote most of this last week, so I can't really remember
.
Let me know if there are bugs to be fixed, or if you have anything you'd like to add.
Web Developer Training: Compression
Print This Post
Bendito Techno Remix
Alright, those of us in the office know that when Ben walks in it's time to sing the Bendito song. Well I actually finished this on Monday, but was waiting to clean it up (the song hasn't been mastered yet so it's in a very raw pre-production format). I still need to change some of the levels and do some other audio trickery on it, but since everyone wanted to hear the song, I thought I'd post what I have done now
.
Bendito - Techno Remix (mixdown - not Mastered):
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
Print This Post
Firefox stupidity, <li> trickery! Dumb Freakin’ Bugs….
Alright, well I was just recently developing a tab interface for our new ProForm website. I came a cross a great Firefox stupidity, which I'm hoping is a bug because it would really suck to code this like this every time.
And now for the stupidity. It appears that if as part of a list you put the <li> elements on separate lines Firefox will add a little bit of space in between them with a "display: inline;" style applied. See case in point....
Here is standard well formatted HTML/XHTML, and it's CSS counterpart. You'll notice that for the css definition below both the padding and margin are set to 0. There should not be any padding and spacing between the <li> elements.
ul.inline-menu { list-style: none; padding: 0; } ul.inline-menu li { border: 1px solid #aaaaaa; display: inline; margin: 0; padding: 0; } |
<ul class="inline-menu"> <li>Hi Mom #1</li> <li>Hi Mom #2</li> <li>Hi Mom #3</li> <li>Hi Mom #4</li> </ul> |
So, the question becomes how do you get around this? There are actually two different options, one which is simply inconvenient, and one which won't work in all situations.
The first solution is that you can simply float the elements left. That will bring them so they're all back inline the way that they should be stacked right against each other. But this won't always work depending upon the situation, because you may not want it floated, as was the case with the tab interface.
The second solutions is to do one of these two things with your HTML code:
<ul class="inline-menu"> <li>Hi Mom #1</li><!-- --><li>Hi Mom #2</li><!-- --><li>Hi Mom #3</li><!-- --><li>Hi Mom #4</li> </ul> <ul class="inline-menu"><li>Hi Mom #1</li><li>Hi Mom #2</li><li>Hi Mom #3</li><li>Hi Mom #4</li></ul> |
Like I mentioned, this is extremely inconvenient, but for some reason when displaying those elements inline, Firefox likes to consider the space between them as being valid. So, good luck, and remember display inline won't remove the spacing unless you hack up your html in between your <li> elements.
Print This Post
The List
In anticipation of the anticipated growth in popularity of the E-com DevBlog I thought it might be a good idea to mention that we here at Team Awesome have been keeping a list of good things that have at times made us laugh, traditionally this list was kept tucked away in a folder somewhere on each of our desktops only to be revisited when someone makes an addition and emails the change to the rest of us. However I noticed that whenever there was a change that someone wanted made they felt it was necessary to tell me to do it rather than do it and send us all the results. So in order to curb this and at the very least make it easer to share I recently (within' the last 10 minutes) uploaded said list to google docs and shared it amongst those who already knew about it. I have no problem sharing it with anyone who is interested as long as you do two things.
- get me your gmail account
- Remember, it's an honer to be on the list, not a punishment.
Print This Post
Developer Training – Sprites
Short post... because the full post is a minisite. The goodness of sprites cannot be discounted. They make for a faster site and a better user experience (except for your poorly cache-managed mobile devices... and for that the site really should implement agent identification and direct them to a smaller version of your site anyway). Anyway you can get the full scoop out on the tutorial-minisite.
Developer Training - Sprites (sponsered by Team Awesome)
Enjoy, and feel free to drop a comment or two
Print This Post
Password Woes
So a few things I've noticed about Passwords here at wonderland are that none of them have the same restrictions/parameters.
Lets start with the Windows Password:
- minimum length: I think it's 6 characters
- Maximum Length: not sure if there is one but there is a rumor floating around that it's 127 chars.
- Special Chars allowed: Yes
- Quirkiness: nothing so far but stay tuned.
Accelerator Passwords (better split this up):
Ecom2:
- minimum length: not sure but I think 6 chars.
- maximum length: haven't hit one yet (up to 11 chars)
- Special Chars allowed: not sure
- Quirkiness: nothing so far.
WCDEV/WC6:
- minimum length: 8 characters
- maximum length: ?
- Special Chars allowed: not sure
- Quirkiness: besides it doesn't match ECOM2? nothing.
iSeries/WCDEV (server):
- minimum length: 6?
- maximum length: at least 10 maybe less my 11 char password failed on me
- Special Chars allowed: not sure
- Quirkiness: if you are trying to log into the file system either through start/run or on a saved link/mapped ip you will have to match up this password with your windows password or you'll be pulling your hair out trying to make it all happen, and you'll still fail. Also Ryan has informed me that Passwords contiaining capitol letters fail on this (I think when trying to access the filesystem) and someone mentioned that a number starting a password is a bad idea (also fails some how).
So to sum it up if you want to make all your paswords match when you change (every 45 days) you will have to keep them between 8 and 10 chars ( or maybe 8 and 8 chars) and you probably don't want to use capital letters AND you may want to avoid starting your password with a number.
On a more exciting note Brett has informed me that Accelerator doesn't force a password change like windows does ( i'm not sure it forces a change at all, and the iseries password can be different from the accelerator password so my suggestion/plan is to use one password for all accelerator logins and then just change the windows and iseries/wcdev password as needed.
if I had the clout to do anything about it all I would but alas i'm merely a drudgen.
Print This Post
Import Explosions: how to calm the storm
So we recently started rebuilding our ProForm site (and by rebuilding I mean from the ground up...mostly), and lucky me I was placed on import duty. Well being the freakin' genius that I am I realized that .csv files for WorkoutWarehouse would likely work on Proform since we generally don't change them on the 6.0 stores (we tend to like to try to pretend we keep things standardized). So I grabbed me some WW goodness and commenced importing. I only had about 12 .csv files on me but it was enough to get a few products to test and build with.
Not long after the imports we noticed we couldn't add products to the shopping cart, we kept getting some bizzarre error saying that it couldn't resolve the product ID from the SKU.
MENTAL NOTE: when getting the aforementioned error check the "defining attributes"
I'd seen this error before on NordicTrack and I knew it has something to do with, you guessed it, the sku. However I was too involved in my own little world to do anything about it so Phil dug in and found that somehow our descriptive attributes from the .csv were placed in the wrong attributes section...instead they were placed as "defining attributes" which is bad because we all know that each defining attribute is a SKU. Once we deleted all defining attributes the products worked fine, however we were still stuck with the problem of what to do about the lousy imports that we would get should we try anymore .CSV's.
Turns out the answer is quite simple...there is a certain DTD (wcs.dtd) that needs to be defined to do what you want it to do and in our case on ProForm it was not defined so well. the trick here is to steal one you know works for the site you are on. Which brings me to the whole point of this post, all I really wanted to do was plaster this path somewhere else so when I run into this agian I have a better chance of stumbling onto a solution before it's too late. Sure I could go on about how to properly write a DTD and make it do what you want, but that would cut into my Reaper time?
the path you've all been waiting for, the path that contains all DTD's from WorkoutWarehouse to Proform and everything in Europe is:
\\wcdev\QIBM\UserData\WebSphere\AppServer\V6\ND\profiles\wcdev6\nulltemp\catalogimport
Print This Post
