Showing posts with label Drupal. Show all posts
Showing posts with label Drupal. Show all posts

Wednesday, 23 November 2016

Website Building in the New Millennium (Part 1/2)

Know what a Content Management Framework is? How about an Online Website Builder? Are they one and the same, or totally two different creatures?

A fair amount of confusion has been generated among laypersons (and even among techies!) as to what Content Management Frameworks and Online Website Builders are. And, for the purposes of the end product, they are pretty much similar. The end game is for a user to be able to maintain and update the content of a website, without the need for the user to know anything beyond how to type. Where the two differ, however, is the approach.

On to the comparisons!

Now before I get deeper into this, I want to make it clear that given a choice, I would rather not be using either a Content Management Framework or an Online Website Builder. Call me old-fashioned. I'm going to draw a few comparisons, but this is not going to be about their respective pros and cons. The simple reason being that, between Content Management Frameworks and Website Builders, there's no such thing as an absolute pro or con. It's all subjective. A pro can turn out to be a con depending on what you're looking for, and vice versa. As I'm so fond of saying, there are no blanket solutions in this business. You want a blanket solution, go look for Linus!

A blanket solution.

What is a Content Management Framework?

This refers to a system which is a collection of resuable software components and modules, used to create websites and web applications. Notable examples are Joomla!, Wordpress, Drupal and Magento. Follow this link for a more comprehensive listing.


Origins

Content Management Frameworks came about originally because some genius decided that customers should be able to update their content without the help of a developer, resulting in faster turnaround times. That certainly was the intention. Customers also found the prospect of not needing to pay maintenance packages to vendors highly attractive. Now they could change their minds every 30 minutes without being billed for it!

The result, however, was that customers decided that the whole process of uploading and editing content was just too complicated and ended up offloading the work to developers anyway. And vendors began charging a premium for the installation of a Content Management Framework.

Another effect was that soon people with only HTML and CSS knowledge could make data-driven websites without knowing how to write scripts and manage databases. So technically-trained developers who were doing web development as their day job or even as a side hustle, now found a whole lot of competition flooding the market.

Hosting

A Content Management Framework is software which has to be installed on the user's hosting service of choice, including offline. In that respect, websites created from Content Management Frameworks are just like any other website. Hosting and domain name are handled by the user's provider of choice. This can be a burden, especially if there are upgrades available for the Content Management Framework. Choosing not to upgrade is not a viable choice, as this leaves the website open to security attacks. Think about it - if you could download the Content Management Framework software for free, so can everyone else. Chances are that the software you're using has already been scrutinized and reverse-engineered by hackers, and that security loopholes have been found. However, upgrading brings its own set of problems. After an upgrade, previously installed plugins may fail due to incompatibility.

And if you made any changes to the core, God help you.

Components

Content Management Frameworks make extensive use of plugins and, of course, a Content Management System where users can type in text content (which the plugin will convert to HTML) and upload images. The selection for any given Content Management Framework is vast, especially if the software is built on open-source scripting, such as PHP or Ruby. Of course, as mentioned earlier, there are no guarantees that those plugins will still work after your next upgrade, or that they are at all secure.

Control

Content Management Frameworks come pre-packaged with certain features such as W3C Compliancy, cross-browser compatibility and responsive design. In the case of Content Management Frameworks, the user is pretty much allowed to do as he pleases. Need to customize a carousel? Sure. Need to implement some server-side scripting? Go ahead. Need to disable those annoying validation checks in the interface? You're the boss. But, but, if you up breaking something, a messy re-installation is in order.

Next

A look at Online Website Builders.

Monday, 18 January 2016

2011 - Three Jobs In a Year (Part 3/3)

So I got released from my second job in 2011. Don't be mistaken - I have no problem calling a spade a spade. If I was fired, I'd say so. But I can't honestly say I was "fired" or "retrenched" because there was no monetary compensation involved. I wasn't "asked to resign" either. So, for lack of a better term, "released" or "let go" seems more appropriate. Technically, I hadn't passed my probation.

But meh. Splitting hairs much?

Interviewing.

Getting that new job

So once again, it was time for an interview spree. This was becoming second nature by now. I'd become so familiar with the process I mostly breezed through it. Managed to land two interviews just before my final month in the company was up. And both gave me offers! 100% success rate! That gave me a world of confidence, and let me know that technically, I was solid. Like a rock. Either that, or I'd just become pretty damn good at selling myself. Especially when you consider that the first company was interviewing for an ASP.NET developer, a platform I wasn't at all well-versed in.

The first interviewer spent almost three hours with me. My inexperience with ASP.NET gave him pause, but I did have extensive HTML and CSS credentials now, along with back-end scripting and database knowledge. I was an experienced web developer - all I was missing was ASP.NET.

The second company's interviewer struck me as a nice easygoing guy. They were using PHP, but it was in the form of Drupal. And after my last experience, I'd had enough of CMSs for now, thanks very much.

Feeling the need to get out of that comfort zone, I opted for the ASP.NET job. The pay was slightly lower due to my inexperience with the platform, but what the hell, right? I asked for permission to visit the company and familiarize myself with my environment a few days in advance. The Technical Director was only too pleased to oblige. Which again confirms what I've always said - in the absence of skill, enthusiasm counts for something.

Climb harder, maggot.

Learning the ropes

I threw myself into the new job with gusto. My colleagues were a PRC team lead and a few other programmers from Myanmar. They were more than happy to share what they knew. And while I wasn't their match in C#, I soon found that my working experience gave me an edge. I was better at Photoshop due to the countless nights slaving over slicing up Photoshop files to turn into HTML and CSS. Needless to say, my CSS was several levels above theirs too. Where client communications were concerned, I was also ahead. I give my previous boss full credit - the hell he'd put me through really paid off.

Tempered by fire.

In the first three weeks, not only did I learn C#, I learned SQL Server and Coldfusion. So much free software and tools got uploaded onto my laptop. I actually felt that even if they eventually decided to let me go too, I'd definitely gotten a huge bargain. Not only did they not let me go, they even ended my probationary period early.

Epilogue

Enough blathering! Suffice to say, I eventually left this company too. But that's another year, another story. Just felt like recapping one of the toughest years of my professional career, ever. It was a roller-coaster ride all the way. The battle to stay afloat goes on.

Thanks for reading. What can I say? Good job... er, jobs.
T___T

Saturday, 14 March 2015

So you want to be a Web Developer? (Part 1/4)

Think web development's the life for you? Want to get your hands dirty and be part of the process? Want to get into the industry but aren't sure what skills to pick up? Hey, look no further. This four-parter shows you the bare minimum you'll need to get started.

If we exclude design and SEO, which are just about separate and distinct disciplines anyway, the areas you'll want to look into are front-end, back-end and databases.

Front-end

If you're thinking HTML, you're right. But only partially right. What you should really be thinking of is HTML, JavaScript and CSS. Seriously, if you only know HTML, don't even bother mentioning it to an interviewer.

I thought JavaScript and CSS were optional!

Technically, it's true that HTML can work on its own, while JavaScript and CSS need to be embedded in a HTML page in order to work. In practice, we have a term for aspiring web developers who only know HTML: secondary school kids. You can make a living with only knowledge of HTML. But unless you want to spend your entire career writing EDMs, do consider picking up the rest.

We live in an exciting age where JavaScript and CSS are no longer just nifty add-ons to make your pages more interesting. Knowing JavaScript is a precursor to mastering AJAX, which adds a whole new dimension to the interactivity of your pages altogether. And CSS is great for styling and layout, and pretty damn useful for large-scale projects. That's not even mentioning the fact that CSS3 now does for web development what Flash did years back - great animations.

What you must know

You'll need to know all these like the back of your hand. Off the top of your head. It better be more familiar to you than your mother's birthday.

For HTML,
- Basic page anatomy, ie head and body tags, and what goes into each.
- Form elements and their attributes.
- Color codes.
- W3C Compliance.

For CSS
- Text formatting.
- Layout, in particular the position property.
- Responsive and adaptive design.

For JavaScript
- The DOM (Document Object Model), elements and properties.
- Data types.
- Operators.
- Number and date formatting.
- Arrays.
- Programming constructs, ie. For, While, If-Else, etc.



HTML5

When you're done with basic HTML, know the ins and outs of form and page elements, the next useful thing to know would be HTML5. It's the way of the future, or at least it will be once the World Wide Web Consortium stops dicking around and actually cements some industry standards.

More about HTML5 (http://www.w3.org/html/wg/drafts/html/master/)

Good-to-haves

I would never recommend that you start off with these. But they're such a mainstream part of the web development landscape, they're worth a mention. If you're up to speed with the basics, you may want to consider expanding in the directions listed below.


HTML5 Boilerplate and Twitter Bootstrap work great if you're pressed for time and you're trying to make it look like you know your shit.

HTML5 Boilerplate (https://html5boilerplate.com/)
Twitter Bootstrap (http://getbootstrap.com/)

If you're good with JavaScript, JavaScript libraries such as jQuery or MooTools is the next logical step in that direction. You'll do fine without them because they can be a right pain in the posterior. But they're respectable items in the resume.

jQuery (http://jquery.com/)
MooTools (http://mootools.net/)


CSS Frameworks such as SASS and LESS would come after you've mastered CSS syntax. Again, not compulsory. Know your basics first.

SASS (http://sass-lang.com/)
LESS (http://lesscss.org/)

And then there are the CMS platforms. These require a quite a bit of tweaking, a lot of it on the front-end. There are two ways to interact with these - as a non-technical user, and as a developer. You will, of course, be doing the latter.

WordPress (https://wordpress.org/)
Drupal (https://www.drupal.org/)
Joomla! (http://www.joomla.org/)
Magento (http://magento.com/)

For the record, I absolutely hate this crap. Worked with Joomla! and WordPress over a year, and never found a reason to like them.

What are my career options?

If you only know HTML, there's still a job for you in Marketing. You know those mass emails they send out, with advertisements, newsletters and all that jazz? Those are called EDMs. (Electronic Direct Marketing). Since email clients have not caught up with browser standards, the safest way to render them would be using only HTML - no CSS, no JavaScript, no forms.

But that kind of job pays miserably. Plus, if you say you want to go into web development, I assume that means you're up for a challenge.

If you know your HTML, CSS and JavaScript, and know the best practices that come with using them (W3C Compliance and cross-platform compatibility, etc), and don't wish to expand your skill-set any further beyond the front-end, you can still hack it as a Web Designer.

Next

What you need to have in your back-end repertoire.