(do you see the 3d image? if so, email us what the visual is and we will send you a FREE symmetri technology baseball cap.)
In our last Drupal vs WordPress comparison blog post, we focused on the true cost of ownership for each open source CMS project. We spent some time in the analysis of the following diagram, depicting the incremental cost over time for a typical enterprise website project.
To summarize: our contention is that the significant hidden costs of an enterprise grade web development project are oftentimes found in the post launch customization and continuous development tasks over the total life of the project.
Symmetri Technology is the proud sponsor of the 2015 OSTraining Drupal 8 video training Kickstarter campaign. Among several other topics, one of the sponsored topics for Drupal 8 is search engine optimization. Read on and take advantage of this amazing free resources for the Drupal community.
Commercial Progression has been working with Hosco Fittings since 2013 to build an ERP integrated Drupal website platform for their modern manufacturing needs.
Initially, Hosco had met their limit with a WordPress website and needed a better platform to integrate with their inventory management systems. The Hosco.net website was rebuilt in Drupal with a new design, Fishbowl inventory management integration, and a custom built distributor locator. View the technical case study brief in our online portfolio.
Project cost is often a major factor when choosing between Drupal and WordPress. Our introductory Drupal Vs WordPress blog post setup the lay of the land when comparing these two popular opensource CMS projects. In this blog post we will take a closer look at the cost breakdown.
The great debates of all time; Coke vs Pepsi, Chevy vs Ford, Mac vs PC, and in the realm of Open Source content management systems it comes down to Drupal vs WordPress. The greatest debates of our time all have something in common: passionate supporters. In the world of Open Source CMS projects, Drupal vs WordPress is no less polarizing. In a sea of opinion, it can be hard to find the facts. Does it really come down to personal preference or are these CMS projects fundamentally different tools with best use scenarios unique to each?
DrupalCamp Michigan took place on Saturday July 16th, 2016 at the Michigan State University main library in Lansing Michigan. Michigan Drupal developers from across the state arrived bright and early for this day long camp of presentations and panel discussions. As a founding member of the Michigan Drupal User Group, it was Commercial Progression's distinct honor to once again sponsor this year's camp and participate in delivering session content.
Moving right along demonstrating the new Drupal 8 Object Oriented Programming structure, this next part of my blog series is going to focus on creating a custom field formatter. In part 1 of this series I demonstrated how to create a custom block in code, and in part 2 I showed how to create a custom admin form.
A quick browse around some of the manufacturing websites around the Internet reveals that few consider themselves to be digital marketers, though all of them actually are. Any business with a website is automatically entered into the ranks of digital marketers, and that should mean every business today!
This is part 2 of this blog series. Part 1 covers setting up Grunt and Browsersync, this part will focus on expanding what we created in part 1. It will focus on adding image compression to our Grunt setup. The methods used for image compression aren’t super important but setting up a watcher and using the newer Grunt plugin can be useful for many other things.
Nowhere is it more important to keep up with the latest technologies than in higher education. Today's students are internet savvy, heavy mobile users, and can spot sloppy design at 100 paces. Which schools are doing the best job on their web design? Here's a sample of the nation's best -- coast to coast.
I’m taking a break from my Drupal 8 OOP series to help further define something that has not been sufficiently spelled out in all of my D7 -> D8 research: when to use the CMI vs Features.
In part 2 of my Object Oriented Programming (OOP) for Drupal 8 series, we are going to create an administration form. If you missed part 1, I talked about how to make a simple custom block in D8, which is something we do here at Commercial Progression to brand our sites. I chose a custom block to show that the new changes in D8 aren’t so scary, and to introduce object oriented concepts and definitions with a real-world example.
As an upcoming junior at Northville High School, the idea of college admissions slowly becomes more important and frightening. Many high school students across the U.S. worry about what they need to achieve in order for a college to accept them. Some may apply for a part-time job or internship in their field of interest. These employment opportunities are an appealing opportunity to get on the job experience. Commercial Progression appealed to me as a website design company that could offer real marketing and business experience to ambitious, hard working people.
Object Oriented Programming (or OOP for short) organizes code into objects with properties and behaviors. Drupal developers are comfortable with the paradigm of procedural programming, which uses functions to pass in data, manipulate it, and return something. In the following post, I will help explain to tech-savvy developers how OOP will look and feel in Drupal 8.
Commercial Progression was a proud sponsor of the 2015 DrupalCamp Michigan. With over 100 in attendance, 11 formal presentations, and 1 excellent after party... the survey results are in and the community agreed that this was the best DrupalCamp Michigan to date. In addition to our general sponsorship, the Commercial Progresssion team represented well with 3 presentations covering all Drupal skill levels. This year's media package also included a complete video capture of each session, which you can find on our youtube channel.
As responsive design becomes more important with each passing day; it becomes essential to find an efficient way to test your site on as many screen sizes as possible. In the past, responsive design testing meant running around the office and borrowing as many devices as you could. Loading up the site on each and testing individually.
Commercial Progression has a long history of supporting the Michigan Drupal development community. We believe it is important to have regular opportunities for our community to come together, share information, and encourage the open source Drupal project.
Nothing is worse than having your website black flagged or blocked by Google. Businesses of all sizes rely on Google search traffic to acquire new leads, offer products and services, and generate sales or donations.hLet’s consider the statistics-- almost 64% of internet search traffic is fueled by organic search and current search rankings give Google a market share of close to 68% (upwards of 80% for mobile search). This is effectively a search monopoly. Follow these 10 steps to ensure your website is not reported as "hacked" in Google search results.
At Commercial Progression we take a proactive stance in the evaluation and adoptions of new web design standards. Responsive web design has arrived. The conversation has shifted. We no longer question if a site should be designed responsively; responsive design is the new standard. Technically this translates to a host of best practices for Drupal theming, user experience, and information architecture.
Tara Kachaturoff hosts Michigan Entrepreneur, a Bloomfield Township produced interview show featuring the stories of local business startups and entrepreneurs. Alex Fisher, founder of Commercial Progression, was a featured interview in August of 2013. This candid interview walked through the story of Commercial Progression as told by its founder.
Commercial Progression is excited to announce Hooked on Drupal, a new audio / video podcast focused on news and events within the Drupal development community. Hooked on Drupal is a biweekly show with a casual interview format. Hooked on Drupal is available for RSS syndication here at the Commercial Progression site. Additionally, each episode will be available to watch online via our YouTube channel, within the iTunes store, and on SoundCloud as a traditional audio podcast.
Drupal developers [hopefully] find themselves writing "field formatters" fairly often. These pieces of code add ways to display the data stored in fields, so having an arsenal of formatters can come in handy.
Making formatters is often straightforward, but some of the work gets repetitive and tedious. The snippet below should allow you to at least get up to speed more quickly, if not make the "settings summary" a worry of the past.
If your company relies on open source technology, chances are you are busy taking care of business and do not have time to keep up with every open source security release. Launching the next marketing campaign and fulfilling customer orders are on the top of your priority list, as they should be!
Every year our team heads out to DrupalCon together. It’s always a great time to get out of the office and experience new things as a team. We get to travel, explore a new city, and learn the latest happenings with the Drupal web platform.
It's kind of a bummer: Views exposed filters use GET parameters to pass arguments, but Views conditional filters use core path arguments.
Sometimes you want to use the exposed filter values for different displays, or swipe GET parameters from non-View functionality.
Whether seeking to increase enrollment of prospective students, improve efficiency for current students, and/or communicate effectively and generate development funds from alumni, Higher Education organizations must have a strong, well-organized website and online presence to meet the growing demands of the next generation of students, parents, alumni and faculty.
We’ve been keeping our eye on a new digital currency available for online use. Bitcoin is a peer-to-peer payment system first introduced as open source software back in 2009.
Over the last decade, escalating globalization in manufacturing has made digital strategy for your website vital. With increasing competition and online transactions, your website must be more than just a standalone billboard in order to thrive in the world market. If you are not capturing leads, gaining traffic, and continually educating clients and distributors about your products, you are not fully leveraging your website's potential.
I recently took the Acquia Certified Developer exam and I’m proud to say that I passed by a significant margin. While it was by no means easy, it shouldn’t be insanely difficult for anyone who is a competent, experienced Drupal developer to get a passing score.
At Commercial Progression we rely heavily on Drush. We use it to download modules, enable them, update/revert our features, clear the cache, and make our coffee in the morning (feature request). It’s hard to imagine life as a Drupal developer without it and I would like to share a feature of Drush that I find very useful. Drush provides an easy way to keep your environment's files and database in sync. I will show you how to set this up and make your life just a little bit easier.
If you have a whole bunch of tabs open, it's often difficult to tell which tabs are which. You might have three different versions of the same site open, and the only way to tell the difference is to click into the tab and look at the address bar.
Well that simply won't do! There's got to be a better way. Preferably an automated system built on an open source foundation. That's where Development Favicon comes in.
Late last year I got an interesting email. It was an invitation to speak at the online precursor to the American Library Association's midwinter conference, predicated on my status as the first person to implement responsive design for a library website. This wasn't something I had really thought about, but I suppose it's true.
Many Drupal developers will agree that Feeds is the go-to module for importing content into Drupal. While it works great “out of the box” for importing spreadsheets, xml files, or nearly anything else you can throw at it, sometimes you need to do more than just save values to a field. What happens if you need to do some additional processing on the values before you save them?
When I first started developing Drupal sites the front page baffled me a bit. What if I didn’t want the front page to show “No front page content has been created yet.”? What if I wanted to give the client more control over the front page content? As I learned more and more about Drupal I found a couple of solutions.
This isn't documentation or a tutorial. What I wanted to know was: how much are each of the plentiful [Drupal 7] API options used? So I set about to collect data, using core implementations of hook_menu(), as well as those from the contrib modules tracked by DrupalContrib.
It feels like just yesterday we were unpacking boxes, building furniture, and celebrating our new office opening in downtown Northville. This past year has flown by, bringing us a lot of exciting work with great companies and our local community.
Drupal (7) themers often run into the same issues over and over
Whenever we get a project that requires creating some sort of visual map I raise my hand and yell “Pick me, pick me!”. There is something about a map that makes me feel all warm and cozy. Some maps remind us of how big the world is. Some maps are just fun to pan and zoom. Other maps represent our data far better than plain text could do alone.
Jacob Corvidae and the team at EcoWorks had a vision: design a system to help people achieve their green goals for their home and community in a simple, fun way. We worked with them to help realize that vision.
Long rows and rows of books are a beautiful sight, and having an easy to use Drupal website for your library, that is a beautiful sight too.
At Commercial Progression we help support libraries with Drupal, including the Bloomfield Township Public Library and the Canton Public Library. Drupal was a smart choice for these two libraries. Drupal web development allows for information to be kept open and easy to access for those using the site.
When you want to create a module in Drupal, it is ideal to make use of what are called hooks. Hooks are methods implemented inside of a module that Drupal already knows how to pickup and use when it's needed. There are hundreds of hooks that are built in Drupal 7 core which you can implement and each one has a different purpose. Some of the hooks are generally called as part of other hooks. You can even call hooks from other modules or core parts of Drupal within the hooks specific to your module. Hooks provide a great framework which Drupal knows how to pick up on so if you want to create your own Drupal module you definitely want to use them to make the most of your efforts.