Mugo Web main content.
-

Marketing automation technical review: Marketo versus HubSpot

Some time ago I wrote a blog post about integrating Salesforce and Marketo in a web marketing solution powered by a content management system (in this case, the eZ Publish CMS). Recently, Mugo had the opportunity to migrate one of our clients from Marketo to HubSpot. The decision to move to HubSpot was made for non-technical reasons; regardless, it is useful to review the technical differences and challenges when it comes to integrating the marketing systems with a content management system.

LEARN MORE
-

Generate highly customized PDFs with wkhtmltopdf and eZ Publish

One of our customer websites sells research reports where all of the content is built and managed in the eZ Publish content management system. These reports are served via HTML through a gated website portal. They wanted to add a dynamic PDF report generation feature (based on content in the CMS); the PDF template was highly customized with nice layouts and styles, cover and back pages, custom page breaks, and much more. Over the years we've had good experiences with the ParadoxPDF extension. However due to its lack of HTML5 + CSS3 support and relatively high server load, we decided to look for an alternative solution. We found that wkhtmltopdf does a great job at producing highly styled PDFs, and we were able to integrate it nicely with eZ Publish.

LEARN MORE
Online Daily Evaluations

Mugo Web and Royal Columbian Hospital modernize emergency department shift evaluations

Mugo Web and the Royal Columbian Hospital / Eagle Ridge Hospital emergency departments have created an online shift evaluation system now in use in 5 emergency departments across the region. The system is called Online Daily Evaluations and is being used at Royal Columbian Hospital, Eagle Ridge Hospital, Vancouver General Hospital, Victoria General Hospital, and Kelowna General Hospital.

LEARN MORE
Google analytics

Tracking individual users in Google Analytics

Google Analytics is the most popular tool for understanding how people are finding and using your site. In addition to its standard reports, you can use its User ID feature to get more fine-grained reporting about registered users. This enables you to better measure, anticipate, and meet or exceed your users' needs.

LEARN MORE
Selecting multiple eZ Tags

New features in eZ Tags: tag reordering and tree menu

The eZ Tags extension by Netgen is a great solution to the problems of managing large or ad hoc taxonomies. It especially solves problems around editorial user experience. 

Recently, Mugo has added a bunch of improvements to the extension. This post talks about 2: allowing users to reorder tags by assigning priorities, and to select tags from a tree menu.

LEARN MORE

Splitting a Subversion repository into multiple repositories

Having multiple projects stored in one Subversion repository is a challenge if you want to move one of the projects to another repository. Also, over time, moves and deletions can bloat the size of your repository with obsolete, unused data. In this article, we will show you how to extract SVN projects to their own repositories, preserving full commit histories.

LEARN MORE

Weather widgets and API with Weather Underground

Many weather sites offer embeddable widgets to display weather forecasts on your website. However, if you want to customize the look of the widget, your options are usually quite limited. Weather Underground far surpasses the rest of the options by providing a JSON-based API so that you can use their data to build and style your own widgets.

LEARN MORE

Google Sitemaps for big sites: splitting the sitemap into multiple files

Sitemaps are an important element of search engine optimization (SEO), in order to provide search engines an accurate outline of what content exists on your site. One of our client sites recently outgrew Google's sitemap URL limit. Instead of removing content from the sitemap, we implemented a simple solution of using a sitemap index to reference multiple sitemap files.

LEARN MORE

Accidental DDOS by desktop news aggregator

Since the beginning of 2012, for one of our clients with a big news website, we recognized a drastic increase in website traffic without an accompanying increase in ad impressions. Under normal conditions, an increase in traffic would be a positive sign; however, in this case it was caused by end user software that turned normal web users into aggressive web crawlers. This essentially created an accidental but consistent distributed DoS (denial of service) attack.

Here, we explain how we identified the cause and mitigated its effects.

LEARN MORE

SEO: Eliminating duplicate content on eZ Publish sites

A common task in website search engine optimization is to set up Google Webmaster Tools and go through its HTML suggestions. Many of the suggestions center around duplicate content -- pages at different URLs but that have the same HTML title, meta description, body content, and more. This post summarizes a couple of common duplicate content scenarios within an eZ Publish site, and how to solve them.

LEARN MORE

mysqldump alternative: MySQL backups with Percona Xtrabackup

Many hosting companies will take care of file system and database backups for you.  We have a few clients where we have file system backups configured, but database backups have to be handled manually, since the database is "live data".  Often we can just configure a cronjob that runs mysqldump so that a database snapshot is stored to a file and thus regularly backed up when the file system backup is run.  However, sometimes you have a perfect storm where mysqldump is too heavy for the server (causing severe slowdowns or even crashing some services), even if run in the least intensive way (such as with the --quick flag) and at a low traffic time: partially due to lack of system resources and a large database.

LEARN MORE

Subdomain rewrite rule strategy: whitelisting

Here is a quick how-to for a strategy to prevent duplicate content across domains and subdomains of the same site by "whitelisting" discrete domains and redirecting all other requests to the main domain.

LEARN MORE