You are currently browsing all posts tagged with 'articles' in the JHuskisson.com post archives.
-
Introduction to directories for Magento developers

New developers to Magneto can find it a puzzling system in terms of system architecture. In this article I hope to shed some light on some of the key directories in Magento and what they do so any Magento developers out there aren’t quite as confused when unzipping their first set of Magento install files.
Here’s seven key things you need to know the location of at some point when developing with Magento and the directories that they are stored in.
-
The templates file
/app/design/ is the core storage folder for template files. With it breaking down into adminhtml/ for administration templates, frontend/ for frontend templates and install/ for installation templates.
Within these you’ll find your default template set aptly named default. In your template set folder are your individual theme folders that come with Magento.
layout, locale and template are the core directories that contain the files that make up your themes.
-
The skin files (resources, components, resources)
In /skin/ you’ll find your CSS, images, Flash, JavaScript and any other resource files that relate specifically to templates in the system. You will also find the adminhtml, frontend and install directories distinction here.
-
Language files and e-mail templates
/app/locale/ is your core directory. With sub-directories for each language set installed for the store. You will find .csv files for each of the modules installed on the system relating to their translations. You’ll find the Magento e-mail templates in /template/email/ within your language directory in /app/locale/.
-
Core configuration
/app/etc/ contains all configuration files for Magento. From the local.xml file which contains your database configuration, amongst other things. To your modules/ folder which contains the declaration of modules in the system.
-
Local, core and community modules
All modules for functionality are stored in /app/code/ and are broken down into the following folders:
- community – for modules installed via Magento Connect.
- core – for modules that come with Magento by default.
- local – usually for locally developed modules
-
Media files
All images uploaded to the system as well as the images resized dynamically by the system are stored in media/.
When importing media files via system profiles (Magento’s name for batch processing), /media/import/ will be your folder to place the images for the products.
-
The var directory
The var directory is used for several functions in the system:
- Backups are exported to backups/ by the built in system backup tool.
- The system cache is stored in both cache/ and session/ folders.
- Data import for default system data import profiles is set to import/.
- Data export for default system data export profiles is set to export/.
Hopefully this has given you a good indication as to the important directories in Magento’s file structure. I hope you can now go away and navigate around Magento’s default folders with ease.
No Comments » -
-
Start developing smarter and stop yourself working late
Let me start off by saying if you’re proud of being a workaholic, have no goal for a life and/or are simply “building up your business” then this article probably isn’t for you. This is (in part) how I stopped myself from working 10am to 2am every day of the week and actually went outside for a change after being in exactly the same position.
I’m the first to admit I’m a self-confessed workaholic but I’m also the first to admit that being workaholic to the point of work being the only thing in your life is a boring when you look back at it. Work is great and it sometimes leads to fantastic rewards but it shouldn’t never become the basis of your life.
The things in this article are all things that led to me becoming a significantly better programmer and lead developer. They also made me become a significantly better freelance developer whilst I was freelancing.
Nine-to-Five
Start out by actually forcing yourself to work between 9am and 5pm. Get all early morning browsing in between 8:30am and 9am and make sure you’re ready to immediately start. When you’re forced to work within a time period that “isn’t enough time” you’ll find ingenious ways of cutting time out of your day and solving regular issues so you can do more in less time.
You will be able to reflect on parts of your work life during this time that you’ve never thought about. Are you charging enough? Do you need help to get the work done? Are people taking advantage of your time?
Know when to apply the breaks
Set out when and for how long for your breaks are going to be. Your lunch needs to be at a regular time and two other 15-20 minute breaks can be scheduled either side of your lunch. This breaks things up and allows you to remove yourself from problems that can be fixed with a few minutes of simply thinking about it.
The same applies here for time that isn’t spent working. Don’t go out on a three hour break because you’re not in an office and work from home “because you can”, it just doesn’t get you anywhere.
Inbox nirvana
Cut out all of your e-mails as soon as they’re coming in. Make sure you reply to the e-mails that are asking you questions and for help within a suitable amount of time. Either set a certain time period aside for this or break it down into 10-15 minute periods throughout the day so you can spend the rest of your time focusing on the job at hand.
I find Gmail’s built in labelling feature is great for this, I can simply scan an e-mail and mark is as “quote to do” or “reply needed” and make sure those labels are completely cleared out by the end of each time slot so that everyone receives their responses.
Trim the fat, throw out what isn’t working
Simply enough you need to trim out all those activities that take minutes here and there but add up to an hour, maybe more, over the period of your work day (outside of the standard breaks) that stop you getting what you need to get done. Rescue Time is perfect for this as it allows you to see exactly what is distracting you from working properly and shows you how you can be more efficient.
Determined enough to get work done, you may even consider installing parental controls to stop yourself accessing these applications during your scheduled work hours. It sounds funny now, but if you’re a World of Warcraft addict or love your RSS Feeds, you know how much that will cut from your day.
Make some plans, don’t expect them to just happen
Arrange weekly events you would have look like a complete idiot to pull out of, plan things a few days or week(s) in advance so that it’s definite that it will happen. Make sure to get out and experience something else other than the computer once and a while.
Thought of something else?
If there’s anything else you’d like to suggest to others facing this problem or you would like to share how you’ve got over the same issue then feel free to leave a comment or post it up on your own blog with a link to this post so that others can find your suggestion.
2 Comments » -
Clients: things you need for a site launch
The following is a general list of questions that can be updated towards what client’s need to do to help people launch their site on time and without any problems.
Decisions need to be made well in advance when it comes to launching a site, and this article covers just some of the most important things to consider when it comes to getting your new site online. These aren’t things to leave until the last possible minute, and should all be dealt with well in advance to launch.
Content
Are you going to re-write it? Are you going to use the same stuff with some problems? Are you wanting us to arrange a content writer for you?
Audio
Have you got all your audio files ready in the correct format to be put into the CMS? Are they on the online web service you’re going to be using to host them ready?
Video
Do you know how to get video off your CD’s and DVD’s stored? Or anywhere else for that matter? Do you know what format they need to be in? What codec to use? Do you know how to convert this format into the one you need everything to be in?
Images
Are you going to be using a web service such as Flickr? Or the CMS provided? What size do they need to be in? Do they need resizing? Or are you going to use the originals? Do they need watermarking?
Training
When will you be trained? What on? For how long? Who needs to be there? Do the people doing the training really need to be coming back several times? Or can you get all done at once? Will it cost you less if this is the case?
Contacts
If there’s more than one source for the requirements going into a project, then there needs to be a sharing of all these sources between the companies involved.
These can include, but are not limited to: accounting, hosting contacts, IT contacts, domain name registrars, designers, developers and directors.
The timeline
Make sure your timeline includes strictly set deadlines that aren’t slipped. When will you have your contacts ready? When will you have a training deadline set? Your images ready? Videos? Audio? Content for this section? That section? The other section?
Make sure they are realistic and not rushed, when deadlines are rushed they are often missed. If the staff are managing other things at the same time then they need the time to do that, not be forced to make decisions about other things too.
2 Comments » -
Quick notes about sending job applications
About 90-95% of applicants to job applications I post up elsewhere find my blog somehow and compliment me on it in the opening paragraph of their e-mail. Given this I thought I’d throw some nugget-sized wisdom bombs in front of the eager young eyes of those applicants so they can better their application, or not bother at all.
- If it says full-time please for the love of god don’t apply thinking it’s a freelance position. It just isn’t, ‘full-time’ and ‘freelance’ are two entirely different job types.
- No, you can’t apply for the full-time position, waste an hour of my time talking to me and then say “so here’s the thing… I work with three others guys in…” – stop – your a company already. Next.
- The same goes for ‘White Label’ services. Go away.
- Applying because you like Rolled’s (or my) sense of humour? Show some of your own, it knocks you up the queue significantly. If you are going to talk like a robot, attach a video of you dancing like one to up the comedy level and recover that dreaded generic application from the dead pile.
- Adding to the point above, show some personality. It’s very clear when you are using a template you’ve pre-prepared or slightly editing one.
- Address the actual job, If I say I want x and x from a Wordpress Developer, please tell me if you can do any of those x’s. It’s almost the point of the e-mail, the introduction and background paragraph’s are meaningless unless a paragraph addressing the job and your talent to do x and x appears. If you can do x and x extra that’s brilliant, but address the original issues.
- “I’d like £65 an hour and I can work 9-5, I’m just out of University and have done some work for a company in London”. Use some common sense with your rates, especially if you are straight out of University or College with little experience.
-
A quick note on the CV
Out of the past 20-30 designers I’ve received CV’s from only one has been designed well enough for me to get a good impression of the designer, and it wasn’t created in Word. It was two pages and contained links to his recent work, some thumbnails and was fully branded.
It didn’t contain: his education background as far back as when he attended Nursery, his grades breakdown and ten pages of reading material padded out with lots of stretched truth to do with what they did at their last job. Example:
McDonalds – Senior Beef technician
Lead a team of three people processing and preparing beef for use in gourmet food ate by thousands daily. Designed a unique technique of packaging that is used for top customers to this day.Translation
Was in a team of four saying nothing, doing nothing but unpacking pre-shaped burger meat and passing it down the queue. Figured that spitting just underneath the cheese in annoying customers burgers before packing them could never be found, and that tip is now passed down through remaining staff to new staff to this day.Essentially:
1 Comment »
Stop blabbing on, don’t send 100 URL’s with no explanation but send four or five latest pieces of work with explanations for each. Realistically I don’t have ten minutes for each applicant, so if your e-mail or application contains more than a minute or two of reading then it’s not going to get read. -
Why learning web development at college is good for you
I constantly hear people complaining that they aren’t getting what they want out of college, that they can do it alone and that they don’t want to be taught ‘behind the times’ ASP and that their college needs to be brought into the ‘current day teaching techniques’ – so here’s why I think all that is a load of crap.
With your teacher(s), you will more than likely deal with the hardest client you’ll ever have
With my first web development project at college we had to develop a random concept web site into XHTML/CSS. I submitted a div tag/CSS layout and was promptly asked where I took the code from and why I was trying to cheat in my college class. To which I explained that I had been developing outside of college for some time prior to joining the course, which wasn’t met by believing eyes.
You see this type of interaction with a teacher is what teaches you the fundamentals of dealing with bad clients, bad contractors and bad customers. Do you blow your lid and call the teacher a fool? Or do you politely explain you’ve got x years experience playing with sites beforehand?
If the teacher has past experience running their own company or doing client projects then they’ll be even further of a problem to you. They’ll teach you how old fashioned some clients can be by being old fashioned themselves – why aren’t you using tables? Does this validate to HTML 4.0 standards? Why aren’t you including food costs in your client billing breakdown?
Learning ASP isn’t all that bad, especially if you are in it for the money
There’s more money in ASP and there’s more real jobs available. The type where you sit in a company and develop all day long. The language teaches you structure, and gives you a first hand view of what it is like on the other side of the fence should you be a PHP/Ruby on Rails type of guy. Why is it a bad thing to be able to start a PHP/Ruby vs ASP argument with ‘well I’ve worked with ASP before, and…’?
If you’re good, you’ll learn to teach
I spent a lot of my time helping out my friends with problems at college, my grades suffered but at the end of the day but I gained a good knowledge of what it is like to teach. Today this is applied to how I can teach clients about how Rolled’s process works, how we teach them Wordpress or basic XHTML for post formatting in their CMS.
At the end of the day I finished basic tasks in less than a minute, and spent the rest of the hour helping people out and learning from it – just because you’re finished with something doesn’t mean there’s nothing else to do.
Presenting
I was useless at presenting when I first started on my college course, a nervous wreck when standing in front of the class. If your course includes presenting and you’re asking why – I honestly don’t know what you’re thinking.
The talent of being able to react to an incredibly tricky question from a teacher in front of 10-20 people and not look like an idiot is something of a secret that you can take to your grave. Putting passion into something you have no passion about when presenting is also another talent that few have, especially when it’s all put together the night before at 4am after getting in from a night out.
It teaches you how to place graphics, what fonts work and what don’t, how to present one idea but how to present another – and at the end of the day, it’s practice for pitching if you are to be in that position later on in life.
In conclusion
Stop whinging – stay in college and get your degree/diploma. College can teach you many things you wouldn’t learn outside of the boundaries until it’s too late. Do you want to present to a client having never done it before? Deal with a bad client for the first time on your newly acquired project? Have work go entirely dry and not have those Junior ASP programmer positions to apply to? Lose every PHP/Ruby vs ASP argument because you have no facts to use to back up your side of things?
At the end of the day it’s college, it’s not an experience many get more than twice for two to four years of their life. Suck it up, learn from it and experiment as much as possible whilst you can.
6 Comments » -
Qualities of a great freelancer
The following are qualities that I consider core things I look for in freelancers I use when outsourcing work and getting things done. They are also the things that each and every freelancer working on jobs for Rolled At possess.
Personality
You may remember the guy who bored you to death on the phone, but you’ll remember the one you related to and laughed with a whole lot more. They’ll also become a pleasure to work with and you’ll use them more often. I can’t tell you how put off I am by the lack of a personality in some freelancers I talk to.
A love for the job
Clients don’t want their leg humping, but they do want someone who wants to do the job they have available. Someone who wants to see the product of their work come alive at the end of everything.
Chances are if you don’t love making websites, the ones you’ll be creating won’t be very good once your finished. The first question I ask anyone when I talk to them the first time when I’m adding a freelancer to my list is ‘do you love what you do?’ and if the answer isn’t yes with a convincing follow up statement then they don’t last passed that first question.
Patience
Can you wait for a job or are you going to be asking me every day about it? Are you going to blow off a huge list of insults at a client when they merely suggest a small change? Patience in my mind, is something that every freelancer needs in order to be a freelancer. You need to be patient in order to wait for a client getting back to you, to hear back from a job follow up and patient with your work too. If your forever complaining that something is going wrong instead of simply looking for a solution then your going to be closing doors instead of opening them.
Flexibility
Don’t work with frameworks? Someone else’s code? Pre-built scripts? Other people’s CSS/XHTML? These are all basic examples of lack of flexibility in some areas. Whilst they aren’t vital ingredients of a web development freelancer they do effect your ability to get work if you aren’t a specialist or established.
A speciality
The freelancer who specialises in one area and becomes a guru is someone that can – providing the speciality is of importance – become a cornerstone of a business. A talent in one area can be what gets you hired over someone else for a particular job, and it can be something that allows you to make more money that someone who generalises over multiple areas of knowledge. They do a better job, they have more experience and in most cases they take less time to get things done.
4 Comments » -
My five golden rules of freelancing
I find I come across a lot of freelancers who don’t enjoy their job as much because of a variety of different things. They aren’t living by a set of golden rules as I do, so I thought I would share the rules that I live by whilst freelancing in order to benefit future and current freelancers a like experiencing problems in their day to day work.
Golden rules are simply something that you stick by, they are your code of ethics and they are how you conduct yourself in day to day business.
1. Keep it interesting
Working the same job over and over is always going to get boring eventually. That’s why I tend to diversify what areas each job is in and the specifics of those jobs. Occasionally i’ll see a job which is completely out there and send a message about it on the spot. This will either allow me to meet somebody new or just experience what it’s like to work with that area of the web.
It’s all about breaking the routine that every freelancer drops into from time to time. It shouldn’t feel like your copying and pasting what you did last week for a new site and changing the name on top – it should be that your adding something to your skill set, experiencing something new and dealing with different people on a week to week basis.
2. Don’t work with people that you don’t like
There’s nothing more aggravating than working with people you don’t like. It demoralises you, makes work a chore rather than a passion and basically makes you question why you do what you do.
Always be sure to save up your money in the background and have a backlog of pay stored away. This gives you a position where you can turn down clients you aren’t sure about and pull out of deals that are making your life hell.
The last thing you want to do as a freelancer is to break a relationship with a client by pulling out of a deal. But I feel that if it’s no longer fun or interesting to work (or even aggravating to work) with that client then you should be moving on and finding work else where.
3. Know when to escape
Knowing when to take a break and when to stop working is a key part of freelancing. Otherwise we’d all be doing 12 hour days every day and just get burnt out all the time.
Take weekends off, read a book, get some DVD’s, join the gym, walk the dog, visit the local shops to get a sandwich … all of these things you can do to escape working.
(This is all of course outside of work hours and during breaks.. not to avoid working in the first place.)
4. Treat every job as if it’s your first
Don’t get comfortable with a long term client, your standard should be as high as it was when you first worked for them. The day you decided that if you did a good job on the first project there may be more in it for you. This should be how you treat every job – as if your out to impress in a job interview and need that job to survive. That hunger to impress the client and keep them happy is how you deliver consistently and how you keep that client wanting to use you in the first place.
Think about this – are clients going to refer you to a friend if a friend needs work? Are they more likely to refer an excellent freelancer, or one that delivers average results?
Of course there is a twist to this rule – we all know our first jobs weren’t the best and where possibly even sloppy. That is something you’ll have to refrain from doing with this rule of course.
5. Communicate beautifully
Spell checks and grammar checks are vital for the less than able English speakers here. I often find clients talking about how poor ex-hires where with their English and it will always be off putting when a client wants to deal with the client with long conversations about jobs.
Another important part of this rule is to put communicating with the client as a priority. If they send you an e-mail it’s not ‘I’ll do it later’, it’s ‘OK I’ll respond now’. This is any time of your day your at the computer and this is what can set you apart from the rest. Having an instant reply or instant action towards the e-mail they’ve sent (if they want/need something doing) is always going to be something that a client likes – and it’s something that’ll win you over if your trying to impress them.
So there we have it, my golden rules of freelancing. I hope to have benefitted a few freelancers with this articles and I welcome any comments you wish to leave.
4 Comments » -
Locking and password protecting your Mac whilst you are away
I recently found a small annoyance with my iMac in that I wanted to lock my Mac whilst I was away from it and/or not using it whilst keeping all my programs running in the background. This is of course great for keeping things like Mail downloading whilst your away, which keeps things running smoothly during the day.
Let’s start by pulling up the system preferences:

We should have course have this:

Select ‘Security’ from the Personal row, which is the sixth icon. You should now be in the ‘Security’ preference panel. Continue forth to make sure the checkboxes to the left of ‘Require password to wake this computer from sleep or screen saver’ and ‘Disable automatic login’ are checked. It should look a little something like this:

Hit the ‘view all’ button in the top left of the panel to go back to the system preferences panel and continue into the ‘Desktop & Screen Saver’ preferences panel which is also located on the Personal row of preferences, this time being the third icon in. Once it’s open click ‘Screen saver’ at the top to make sure your in the right area.

Click ‘Hot Corners’ in the bottom left, this will bring up a nice drop down sub-preferences panel. Continue forth to select a corner and select ‘Start Screen Saver’ (I’ve selected the bottom left for mine).

Once this is activated if you move your mouse into the furthest point of your selected corner the screen saver should start up. Wait a few seconds (sometimes up to ten or so) and then move your mouse to bring your Mac out of it’s screen saver mode. You should then see a password prompt for your username and password – this would mean it’s worked.
No-one can now get onto your computer unless they know your username and password to get into your account.
If you would like to expand upon this and remove the screen saver from the screen after a certain amount of minutes. Go back into your system preferences panel and select ‘Energy Saver’ which is on the Hardware row – the fourth icon.
Change your slider to whatever amount of minutes you want your display to turn off on. This will remove the screen saver from your display but keep your computer running.


Make sure ‘put computer to sleep when it is inactive for’ is set to ‘Never’ and ‘Put the hard disk(s) to sleep when possible’ is unchecked. This makes sure your computer won’t stop processing applications and activity in the background whilst you are away from the computer.
22 Comments » -
Ten things you hope the client never says
Working from home as a full-time freelance web developer I’ve encountered some absolutely stunning lines from clients and so have friends of mine. This is a small collection of those lines to watch out for if you choose to go into the field yourself.
1. If you do this one for free…
This has to be one of the most popular. People always want something for as little as possible, the notion of ‘you get what you pay for’ normally doesn’t register until at least eighteen years old, but the notion can be ignored at ages high above this.
2. This will be great exposure…
This usually comes before number 1, ‘If you do this one for free you’ll get great exposure’. The problem is great exposure isn’t a link in the footer and it isn’t a mention in the launch post. Great exposure is guaranteed jobs afterwards, and lots of traffic for your own personal site – that and possibly free advertising in a prominent placement.
3. Deposit?
Some clients want you to effectively work for free. No deposit and lots of free work = one starving freelancer. To be free to accept work that doesn’t involve deposits be sure to have some money stored away to eat away at until the client pays in the end. Make sure they are trustable and will pay in the end. Be sure to do your research.
4. Can I put this on my GeoCities?
It takes the breath out of you, working on something for a long time and then a client asking you if they can put it on an incompatible hosting platform that won’t support it. It makes for some difficult explaining but makes one great entry on a ‘ten things you hope the client never says’ article.
5. I’ve changed my mind, I don’t want it anymore
This is always an annoyance, and is sometimes a requirement in order to progress onto other projects. But it’s always something that will affect you on a personal level.
6. Ok can you just add this, and this
“You want money for the additions? You said you’d do everything for a set price!’. This one starts a lot of arguments and can affect your relationship with the client dramatically depending on how you react. To prevent this one blowing up on you always outline a clear feature set before starting work and outline exactly what you’ll deliver. Also outline what additional costs will be monetarily to the client. Will they be by the hour? Or a fixed fee? Discussed on arrangement? Whatever it is – it’s always best to plan these things out beforehand.
7. I just need you to look the other way whilst we break this law..
Whether it be tax law (it usually is) or some kind of pass the parcel – breaking the law is bad, um kay? Be sure to brush up on your tax laws that apply to you – make sure that if your hired to do a job for a company as an employee that they are handling your taxes, and if you are a contractor that you sort out your own. It always helps to know a small amount of law, and to consult an accountant when you aren’t sure of something.
8. My mum says that she won’t let me use her credit card so I can’t pay you
Funny, but a huge cringe worthy moment. It happens to all of us once in a blue moon, and it makes a fun entry.
9. Yahoo! will buy us
This is normally followed by number 1 and/or 2. People get bought all the time – but it’s simply not the case that millions are involved with every purchase of another site. Yahoo! may buy anywhere between one and tens of sites a year, but that’s between one and tens of several million websites out there.
10. Nothing at all
The client disappears, drops off the face of the earth. It’s your worst nightmare, they get you started on a project and leave, they give you a brief about a project tell you the deposit is coming and then you never hear from them. To avoid this make sure you always have a backup plan and if you can get a secondary contact for your client – that’s even better.
I’d like to thank Ronalfy for giving me the idea for this article. If you have any other things you’d like to see me write feel free to leave a comment or use my contact form to send it directly.
28 Comments »


