SugarCRM – Modules


Both the Accounts and Bugs Modules folders and files are similar

Almost everything in Sugar in one way, or another, interacts with Sugar Modules.  Each module works with a certain area of the application, or addresses a specific functionality.  For example, we have modules for calls, meetings, contacts, accounts, employees, and many more.  Modules are Sugars way of separating functionality into compartments and putting some walls around that functionality.  It offers a way for other developers to add functionality to Sugar through custom modules and plug-ins.  Modules also directly relate to tables in the database where the module's data is stored.

Although each module is different in functionality, with the exception of a couple of files here and there, they are all basically structured the same way. Let's take a look.

A modules core code is located in the modules/[a specific module] directory, so the accounts module is in modules/Accounts directory.  If we look at the two examples of a modules directory in the accompanying image, in this case in Accounts and Bugs, we'll see a similar directory structure in each module.  You'll also find similar file names and files in each module.

In looking in the bugs directory, we'll see some files.  Bug.php is the main code for the bugs module.  In the Accounts module, this would by Account.php, and so on for all the other modules.  This file creates a variable for each field in the module, and it puts all the relationships with other modules in an array.  It has a main "Bug" method that extends the base SugarCRM core functionality, and a bunch of database query methods, like: create_list_query, fill_in_additional_detail_fields, get_list_view_data, fill_in_additional_list_fields, get_summary_text, and save.  When you click on a menu item, like bugs, on the home page, you'll go to this file which sets up and initiates the Bugs module, and then brings up the Bugs list view.

The BugsQuickCreate file is used when you want to create a new bug's record.  Sugar has a quick create sub form that pops up in the home page window.  You can use this form to create a record, or click on a button in the quick create sub-form and bring up the full form.

The field_arrays file is an array of the fields in the bugs module.  This file is updated by Studio, the back-end admin GUI tool for customizing modules.

The Menu file contains an array used to build that module's menus.  If you want to put extra menu item in a bugs view, you want to edit this file.

Finally, we have the vardefs file.  This is an important file in each module.  The vardefs file details how data fields are defined in the database.  It connects the Sugar to the database.  The vardefs file contains the module’s database table structure, its fields, indices, and relationship to other modules.  Any custom fields created in Studio is added to the vardefs file, in addition to the database itself.  This is what Sugar uses to translate the MySQL database to a SugarBean object.

Now, let's talk about the directories found in a module.  All the directories are basically the same for all modules.  I'll show you images of the files inside a couple of sub-directories,  but in the interest of brevity will not cover all the files.


The Views Directory and files

The views directory contains files with information needed to construct each of the views for that module in the front end of the application, in each view file is a class which extends the Sugar core view classes.  For example, the BugsViewDetail class in the bug's view.detail.php file extends the include/MVC/View/views/view.detail.php core file. In this way, the Sugar MVC core is incorporated into the Sugar application.  The view files add all the code from the core files needed to display the form, and it also incorporates the variable data that contains the information needed to display each field of the form.  The views directory is all about the front panel display for that module.

The tpls directory stands for templates.  In my overview, I mentioned that Sugar uses the Smarty2 template language.  There is usually a QuickCreate.tpl file in this directory.  This uses Smarty syntax to put the various variables and buttons needed into the Quick Create sub form on the front screen.  Any templates used with modules are placed in this directory.  Some third-party plug-in modules make extensive use of templates.


The metadata directory and its many files

And so we arrive at the metadata directory.  This directory contains all the metadata files for all the views and search forms in the module.  These files are usually labeled with the view, like detailviewdefs.php, and contain the information that is created in Studio's layout GUI.   The file contains an array of where fields are physically  placed on the form, and what labels should be used for the form fields.  If you go into Studio and change the layout of a view form, you're changing the corresponding metadata file for that view when you save the layout.  In the same way, there is a subpanels directory for when you configure the subpanel layouts in Studio.

The language folder

The language folder

The language folder is about languages.  Sugar is multilingual.  When you set a main language in the locale settings in the admin panel you are telling Sugar to use a particular language file, in my case, I'll use en_us.lang.php, or U.S. English.  Inside each language file there is a huge array of every possible field label in that module.  Here you can change what Sugar will show for a field label in the front page of the application.  When you change a field label in the admin->Studio back-end, you're changing this language file.  If you're just using one language then you only have to worry about one of these files in your application.  I will say this, there are many language files for a specific language in Sugar in other locations, related to both a specific module and the overall Sugar application, and which language file to use for a specific customization is one of the causes of headaches for developers.

Last, we have the Dashlets directory,  Dashlets are like widgets in modern apps.  There dynamically updated subpanels usually found on your home page, like the activity stream on the home page.  Anything to do with dashlets are found in this directory.

That's it for a basic overview of a module and how they are set-up in Sugar.  There is a lot more complexity, like auto-generated files, that Sugar uses that we won't get into at this time.  From my description above, you can see that the back-end Studio GUI has considerable power to alter what is displayed in the front of the application by altering module files.   So, I’ll cover the back-end GUI interface, Studio, in my next article, and show you how Studio can be used to easily modify the files we talked about today.


Posted in SugarCRM | Leave a comment

SugarCRM – Overview

sugarcrm250In my last article, I gave you a general introduction to SugarCRM from a marketing perspective.  This time I want to delve into how Sugar works under the hood from a broad perspective.  I will delve into individual files and what they do in future articles.

Sugar installs like any other PHP application or framework.  You load the software, go through an install that hooks up and populates the MySQL database tables. You then log into the Sugar, go through a brief introduction, and come to the home page.  Like most web applications you have the front-end of the application, or what the user will see in their browsers, and the back-end admin panel that helps you configure and change the appearance and functionality that the user will experience in the front-end.

The front end consists of a home page and menus that take you to various other parts of the application, for example: Contacts, Users, Companies, Documents, Opportunities, etc.

As you go into each of these areas, you’ll find only three basic views through out the entire application.  First, you’ll see a list view that lists all the records in a table format, from there, you can click on an individual record, and see a detailed view that shows more information about that individual record, from there, you can go to the edit view that allows you to enter and edit information in that individual record.  Usually the detailed view looks the same as the edit view, with the exception that you can save your changes in the edit view.

The list view

The list view

The detail view with subpanels

The detail view with sub-panels


There is one other type of view that you’ll find called sub-panels.  Sub-panels are located in the bottom section of the home page, and in some detailed view pages.  In Sugar, two different types of records can be related to one another, for example, users can be related to a company.  When you set up this relationship, Sugar creates a sub-panel to display the related information.  If you open a detailed view for a particular company, you’ll see a sub-panel showing a list view of the users in that company.  On the home page, you can configure which sub-panels you would like in your home page.

Since Sugar is a PHP open source application, everything in Sugar can be modified or changed, and I do mean everything.  And there lies the complexity of Sugar.  Sugar does attempt to make this as painless as possible by giving you an extensive back-end admin panel.  In one area of the admin panel, called Studio, you can change almost everything about the front-end of Sugar.  Any field labels can be easily changed.  You can add different types of fields to a detailed view.  You can change the layout, or what fields are visible, and where they are located on the page, of the all the views and sub-panels.  You can create relationships between different areas of the application.  This is all done in Studio.


Upper Part of the Sugar Admin panel

To go a little deeper, when you first open Studio, you are shown icons of all the different sections, like contacts, users, companies, etc. in Sugar.  These sections are called "modules."  The key to understanding Sugar internals is to understand modules.  In Sugar, there are a lot of modules.  Modules allow Sugar to break the application into individual functionality.  It also allows developers to create new modules with new functionality that are installed as plug-ins to the application.  In the back-end admin panel there are two sections called module builder, and module loader that makes it easy to build and deploy new modules and update existing modules.

Sugar is an MVC application, but this is not easily discernible when you look at the Sugar file structure, nor do you code in Sugar like you would a PHP framework.  From my perspective, there are four main areas of Sugar code: core, theme, custom, and cache.  Core is the application code that makes Sugar go and should not be changed.  The Core files are spread over a number of directories, which makes Sugar a challenge to figure out.  The Theme directory configures the overall CSS look of the application.  The Custom directory allows developers to change Sugar core code without affecting the core files.  Code changes should be done in the custom directory to protect your changes from future Sugar updates.   Last the cache directory, Sugar is not a fast application, because on every call for a new view, Sugar gets a ton of information out of the database, and puts this information in an object, called the Sugar Bean.  To help with performance, Sugar caches every view.  To a developer the cache is a pain, since you have to remove cache to make sure your changes were completed.  If you delete the cache directory, Sugar immediately turns around and creates a new cache.

Back to the Sugar Bean, the Sugar Bean is essentially the Sugar version of an ORM for its MySQL database.  This gathers all the information in the database for that particular area of the application, or module, and puts it into an PHP object-oriented container.  So code, like $users->name; , makes developer's job much easier instead of using SQL CRUD every time you need information out of the database.

Sugar does use some other PHP tools that are incorporated into the Sugar's core files.  It uses Smarty as a template language.  Smarty will pre-compile template files for faster web pages, which helps performance.  HTMLPurifier for HTML standards compliance and security, and PHPMailer for emails.  For JavaScript it incorporates jQuery, php.js, tiny_mci, and yui.  For eletronic signatures it uses TCPDF.  It has an externalAPI for hooking to Facebook, Google, GoToMeeting, IBMSmartCloud, LotusLive, Twitter, and WebEx.  It supports inter-server communication using SOAP and and REST.

Which brings us back to modules, modules allow Sugar to divide the code and put walls around areas of functionality in Sugar.  The core code for modules in Sugar are in the modules directory, and if you want to change the code in the modules, those changes are in the custom/modules directory.  Every module in Sugar deals with an area of the application.  There are modules for Accounts, Administration, Bugs, Calendar, Calls, Campaigns, Cases, Charts, Connectors, Contacts, Contracts, Currencies, Documents, Emails, Employees, Forecasts, Groups, Manufacturers, Meetings, Notifications, Products, Project, Project Task, Prospects, Relationships, Reports, Roles, Schedulers, Shippers, Tasks, Teams, Users, WorkFlow, etc.  In addition, every new 3rd party plug-in will have their own module, or modules.  Any custom modules you build will end up as a module.  This should give you an idea of the breadth of Sugar.  Add to that breadth the fact that you can create relationships between modules, and you can see how complex Sugar can get.

The Sugar file Structure showing part of the modules directory

The Sugar file Structure showing part of the modules directory

I think I'll stop here, this article was an overview of what's under the hood in SugarCRM from a 50,000 foot level.  In my next article, I'll go into the the inner workings of the files and directories in a module, and how modules interact with the rest of Sugar.

Posted in SugarCRM | Leave a comment

SugarCRM – an Introduction

sugar250I hesitate to start this series on SugarCRM, because for the last year and a half I’ve done nothing but write code in SugarCRM, and I might be a little too far into it to have the eyes of a beginner. With that admission up front, I like to introduce you to SugarCRM.

SugarCRM is a open source Customer Relationship Management software application. SugarCRM is the world’s leading provider of CRM software. They’ve won numerous awards. I say open source, with a grain of salt, because it is made by a company, SugarCRM, who offers a stripped down, open source, CE version for free, and makes a profit from the sale of its open source pro and enterprise licenses. Needless to say, the CE version has limited functionality compared to the paid for versions. I think SugarCRM acknowledges this by using the tag line of “Commercial Open Source” under their tag line.

Before I go further, you should know that there was a fork of the CE version, called SuiteCRM, that has been expanded to contain a lot of the licensed SugarCRM functionality that is free. I’ve looked at the code for SuiteCRM and it is very similar to SugarCRM, so although I have been coding the SugarCRM Enterprise version, you’ll find a lot of my tips also apply to the SuiteCRM free version. Since I’m use to just calling this “Sugar” with other developers, you should know going forward that when I say Sugar, I mean SugarCRM, and my comments also probably apply to SuiteCRM.

A lot of companies use SugarCRM for their customer relations, as opposed to something like Act! Or SalesForce CRM which are not as easily modified, or come at a hefty premium.

So what does Sugar do, or for that matter what does CRM software do. CRM software keeps track of a companies customers, vendors, and contacts. It allows you to track all your interactions with a particular customer by date, and by transactions. It tracks sales to that customer, but it goes beyond that, it helps you track upcoming events, and track the entire sales process from start to getting the order, with the ability to schedule meetings and calls and be notified of them in the future. It keeps track of individual and group calendars. It combines everyone at your companies interactions with the people at other companies, and rolls all these interactions into a unity. This allows you to forecast sales, and track your opportunity pipeline, and the various stages of sales across the entire company. It allows you to track advertising, marketing campaigns, and whether a show was worth going to, or not. It helps you with social interactions on the web. It allows you to keep track of problems your customers have with your products. It tracks your emails, and your company and customer’s documents. It will do limited accounting of your sales and forecasting amounts, but is not accounting software. It runs from a server in the cloud to your browser so everyone can use it at once.

Well that was a mouthful, but it should give you a good idea of what Sugar is all about. What separates Sugar from proprietary competitors is it is open source, which means it can be modified and customized by developers. Proprietary CRMs usually are customized by changing the forms on the screen, but when you want to change how that information is processed, you can not easily modify the process.

CRM software, if it going to get big, should work around the world and be modifiable easily for different languages. You should be able to change the label on any field in the forms, and add forms, and fields, or entire functionality easily. It should have built in security so some users cannot have access to some areas of the application. Sugar does all of this.

SugarCRM allows for third party plug-in modules to be added to SugarCRM, and companies make a living selling some pretty complex plug-ins for SugarCRM. The plug-ins are collected on the SugarForge website. SugarCRM also has an extensive API and software documentation for developers, although I cannot rave about the quality of the documentation. It is too general and spotty at best, you’re best off in the forums for detailed information.

Before getting into it, I'll give you a nibble under the hood at the technical specs.  Sugar is currently at version 7.1.x.  It is written in PHP, and supports up to version 5.3.25.  It uses a MySQL database running 5.5.31, and runs off an Apache server running 2.2.3.  It uses Smarty as a template engine.  It supports elasticsearch 0.90.6, and all four browsers: Chrome, Firefox, Explorer, and Safari.  It will run off your WampServer locally on your computer, or from any hosting site.   You download and load the software on your server.  You then pull up the URL in your favorite web browser and your off and running.  As I said, the CE version of Sugar is free, and you can download it and try it out on your computer.

That’s Sugar from the 50,000 foot level. As you can imagine, there is much complexity underneath the outer skin, and some of that complexity takes a lot of time to get to know. Like peeling back the onion, I hope to give you more insight into the inner workings of SugarCRM and SuiteCRM in future articles.

Posted in SugarCRM | 2 Comments

Carry-On Luggage

ECXeaglecreekI know this is a little off-topic for the theme of this blog, but I thought reader's might enjoy my process of making a decision on travel luggage, and it's sort of a carry over article from my last article on laptop luggage.  It's time for new luggage, my old luggage, has worn out.  How do you choose?  I like to just do carry-on luggage, and not check bags.  For carry-on, you're allowed a personal bag, and a carry-on luggage bag.

I use a small personal bag for placing under the airline seat that has my laptop, tickets, ereader, passport, etc.  I like keeping this bag close to me for use in flight, and not in the overhead.  In my last article, I talked about my criteria for this bag, and got my selection down to two bags.  In this article I want to cover my criteria, and choices, for the best wheeled carry-on bag.

The size restriction, for a carry-on bags, for U.S. domestic airlines, is 22 X 14 X 9 inches, not to exceed 45 linear inches when added together.  However, in Europe, each airline makes their own size and weight restrictions.  European airlines seem to worry more about weight more than U.S. airlines with some airlines down to 11 lbs.(Alitalia, Malaysia airlines); check the airline's web site for their size and weight restrictions.  Most allow about 22-25 lbs. for carry-on.  Your pretty safe if you keep the above size restriction, but you still may have to check your bag, if the ticket agent doesn't like the look, or the weight of the bag, or there's no room in the overhead.  Let's be clear, we are looking for a bag that is equal to, or less than, 22 x 14 x 9 inches, that you intend to carry-on to the airplane, and during the flight, and place in the overhead.

There are many choices that need to be made.

Do you want no wheels, two wheels, two wheels with backpack, or four wheels?
I've been in many airline ticket lines, and don't care to carry a bag, or wear it on my back, while standing in line, when I can roll the bag, I prefer wheels.  If you don't mind carrying a carry-on bag without wheels, I'd recommend the Tom Bihn TriStar bag.

Four wheels are nice for the airport, or any flat surface.  The bag will not tip over, and moves easily.  As soon as the surface is not flat these bags may start to roll away on their own, and become a nuisance.  They do not fit in the overhead well, as the wheels get in the way of other luggage.  I would recommend four wheels for large luggage bags only, luggage you intend to check.  We're talking about a 22" bag that you can easily pick up, if need be, four wheels seems overkill for this size.

For a carry-on, I prefer two wheels, or two wheels with backpack straps.  The backpack straps must have both a sternum belt, a hip belt, and a comfortable, ventilated back pad, or it will be uncomfortable to walk around with on your back.

Do you want hard-shelled luggage, or fabric?
Hard-shelled protects fragile items better, but most of your fragile items you'll put in your personal bag.  The hard-shell tends to scratch and crack, and its harder to put in the overhead, there's no bend.  I prefer fabric.  Fabric bags can be squished, which is a plus in the overhead, and generally take up less space.  However, these bags might rip, or tear, or the zippers break.  Higher quality soft bags generally will not have these problems.

With those questions answered, we have some options I like in a carry-on bag.  I like the bag to have an expandable zipper that will give me another inch or two when my bag gets full.  I like compression straps inside and optionally outside the bag to compress and hold the content stable and compressed in transit.  I would like my personal bag to fit over the handle, or be easily attached to the carry-on, so it will not fall off when I'm rolling through the airport.

Recently, there has been a new category of combination, or convertible, bags that has a combined a day pack with a wheeled backpack.  Companies that make these combination packs are Osprey, High Sierra, and Eagle Creek.  I shied away from these combo bags, because the personal bag would need to be combined when I got on and off the airplane, a hectic time to be messing with zippers.  When the two bags were combined, I had trouble seeing them as a carry-on.  They didn't fit with the size restriction, so you would need to separate them at the ticket counter, then combine them to roll through the airport, then separate them getting on the plane, etc.  The process looked tedious to me, so I eliminated these bags from my choices.  If you mostly wanted to carry a bag on your back, then a backpack might be a better choice.  I like to carry a separate personal bag that fits over my wheeled carry-on handle, to wheel through the airport, simple and easy.

Given my above choices, I separated my search into two classes of bags: those with, and those without backpack straps.

Two-wheeled, fabric bags with backpack straps, not combination bags

Let's be honest, I would probably use the backpack straps, maybe 10% of the time, tops. I would wheel most of the time, still this may be one of those options that is nice to have when walking around cobblestones, stairs, and off the main road.  On any non-rugged surface, I'd be wheeling.  That being said, I have to question whether backpack straps are needed on this smaller size carry-on bag?

Assuming you want the straps, if you eliminate all the bags with back straps that do not have hip straps and sternum belts, there is only one manufacturer you need to look at, and that is Eagle Creek.

1. The "Eagle Creek Flip Switch Wheeled Backpack 22",  2175 cu in, 6lbs 7ozs, $275.  This has a unique front backpack design. that looks very comfortable.  The belts tuck away and out quickly without a lot of setup, which is what you want. I like the look of this bag.

2. The "Eagle Creek Activate Wheeled Backpack 21",  2500 cu in, 5lbs 8ozs, around $220. This bag is slightly smaller so it will fit on European air carriers more easily, and because the straps are on the back, there is a little more space inside.

Two-Wheeled, fabric bags without backpack straps

Now, we're down to the meat of the matter, and a plethora of choices and options.  Every manufacturer of luggage makes a 22" wheeled carry-on.  How do you chose from this blizzard of bags?  Let's get clear.  The bag we're looking for fits the size restriction, has lots of room, has compression belts.  What's not important is pockets for laptops and passports, because they'll be in your personal bag.

The next choice is what manufacturer?  We're going fabric, so you want rugged, and high quality.  I tend to shy away from the family oriented Samsonite's, and American Tourister's of the world, and lean toward companies that have made a living sewing high-density fabrics together.  North Face, Tumi, and Tom Bihn are high quality companies, but they don't specialize in wheels.  Osprey and Eagle Creek both have a good reputation and a life-time warranty on their bags.  You can hardly go wrong with either company, but I give a slight edge to Eagle Creek.  There are still choices to be made, as Eagle Creek makes many different types of bags.  Here's what I got down to:

I actually went to a local store, and took a close look at both of these bags.

The "Eagle Creek Load Warrior™ Wheeled Duffel 22"  2500/2750 cu in expanded, 5lbs 13oz $230












This bag has a lot going for it.  This bag looks great aesthetically, and is easy to spot in the sea of black bags.  I watched a lot of videos, and read a lot of reviews of this bag, and they all were positive.  What I especially liked, over any other bag, was it's low weight, and how easy it rolled.  It felt sturdy.  The handle for rolling comes out nice and smooth.  I didn't care for the zippered flap over the handle, I prefer just having the handle outside the bag, however that did hide away a small pocket with elastic straps that are used for attaching other items to the bag, like your personal bag and overcoats.   It had plenty of lifting handles for getting in and out of the overhead.  Features I was so-so on were the front pocket opening zipper did not run all the way down the side, even though the front pocket went all the way down the bag front, the smaller opening made its use limited, and the side water-bottle pocket was a tad small.  In most of the reviews I saw for this bag, it was being used for extended trips, like 18 days to China, and all said there was plenty of room inside even without the expansion.

The "Eagle Creek EC Adventure Upright 22"  2500/2750 expanded cu in, 7lbs  2ozs., $265







What I liked about this bag was there was no rolling handle zippered pocket.  The roller handle was in the open.  I liked the book opening to the main compartment.  The other bag has a vertical opening flap.  You attach other items to the bag from the front upper pocket.  The two front pockets had zippers that went down the sides for easier opening.  My biggest drawback to this bag was the weight, 7lbs 2ozs compared to the Load Warrior at 5lbs 13ozs.  It seemed heavy, especially compared to the Load Warrior.  I had the two bags side by side.  This bag did not get a lot of reviews, and the reviews were so-so.  It looked like any other piece of luggage out there.  It did not roll or handle as easily as the Load Warrior.

Eagle Creek did cut the weight down by offering a hybrid of this bag with a hard plastic backing that got the weight down to 6lbs 4ozs, but I didn't care for the hard plastic backing, and the extra cost of $299.

Drum roll please, the bag I ended up with was the Eagle Creek Load Warrior Duffel 22.  The bag looks great, and I liked the low weight, and handles for throwing it in the overhead.  If someone can take it to China for 18 days, come back, and rave about this bag, I had no concerns about its ability to hold my clothes for extended trips.


Posted in Uncategorized | 2 Comments

Laptop Luggage

pilot250I found out just how much of a geek I am today after spending most of the day looking for laptop luggage on line. On my last trip to Mexico, I noticed that my standard Tumi leather, over-the-shoulder bag was starting to fray and was showing its age. Since I have been using this bag for over 20 years, and I have some travel coming up, I thought it was time I looked for a replacement for a new under the airplane seat, laptop bag. Little did I know, but the art of making luggage has significantly improved in the last 20 years, and so has airport security, and airline allowances for luggage that you don’t have to check.

My ideal luggage set up is to have a over the shoulder bag that I have all my valuables and electronics in that I put under my airline seat for use during the flight, and a wheeled carry-on that I place in the overhead bin. I try not to check luggage. I decided my wheeled luggage needed a replacement also, so I want the two pieces of luggage to work together. The wheeled carry-on I’ll save for another article.

First, let’s talk about restrictions in size. The restriction on U.S. airlines for carry-on bags is becoming a standard at 22 x 14 x 9 inches. Be aware, depending on the particular European airline, restrictions are a little tighter by an inch, or so, on European airlines.

You're allowed to carry on a personnel item, like a purse or briefcase. United has just put out a limitation for the size of your personal item set at 17 x 10 x 9 inches, or not to exceed 36 linear inches when those three dimensions are added together. I was looking for an under-seat personnel bag that would carry my laptop, tickets, ereader, and a jacket for when it got cold in-flight. So, my restrictions were 17 x 10 x 9 inches.

Let the fun begin. There are so many companies making luggage and so many different bag designs, it becomes a nightmare to try to find the bag that was just right. The size of the bag is a good place to start, cut all the bags that don’t make the size restriction. That still gives you plenty of bags to choose from.

First decision was how to carry the contents of the bag. There are three ways to carry the bag, you can get a wheeled bag and roll it, you can have a leather strap that goes over one or both of your shoulders, like a purse, or you can have a day pack with two leather straps, like a book bag. Since, I want to wheel my in-the-overhead-bin carry-on, the wheels were out for my personal bag. I've been using the single shoulder strap now for years and I was comfortable with that, and two straps didn't bother me either.

Next decision was cost. There are so many bags. You can opt for the cheap bag, that will most likely wear out quickly, rip, have the zipper break, and need replacing, or the high quality expensive bag that will last and take punishment. Since my last bag went for 20 years, I decided I was willing to pay extra for “the best.”

Who makes good luggage? I am going to name a few, but there are so many manufacturers, I’m sure I missed a few. There are companies that specialize in tourist trip luggage, like Samsonite, American Tourister, Briggs & Riley, and TravelPro, who mostly make blah suitcases on wheels, which I avoided. I was looking for specialty luggage. There are companies that got started making backpacks for wilderness trips, such as: North Face, REI, High Sierra, and Eagle Creek. I liked Eagle Creek, and Jessica’s bag demo videos, but I found them more suited for the wheeled carry-on luggage. There are companies that try to cater to the sophisticated traveler with lots of pockets and places for things, like Tumi, Tom Bihn, and Rick Steve’s. My list, after much looking, gradually narrowed to two companies Tumi, and Tom Bihn for an under the seat bag.

You think that it would be easy to make a choice from there, but both companies make many different types of bags of many different sizes. So the choice was not easy.

Let’s pause, and let me go over what I require in an under-the-seat bag, besides making the size restriction.

The bag must have an outside sleeve that I can slip over the handles of my wheeled carry-on so I can wheel my bag with the personal bag on top of the wheeled carry-on and not worry about it falling off.


It must be able to fit my laptop. My laptop is a Lenovo Carbon X1, who’s dimensions are 13.03  x  8.94  x 0.79 inches, about the same  size as a 13" MacBook Air.  I love this laptop, its touch screen, and it comes in at only 2.83 lbs.

In addition to fitting my laptop in a pocket, it would be nice to have that laptop enclosure TSA friendly, so I don’t have to pull out the laptop and put it in one of those plastic bins. This is done in one of two ways, either the bag opens up completely in the middle and the laptop is on one side and the rest of your stuff on the other, or you have a special enclosure. Tom Bihn calls it their “rail system” where the laptop enclosure slides out of the bag, but is still attached to the bag. In both cases, you lay the bag flat on the belt for scanning.

It would be nice to have a place for a water bottle on the outside that won’t get my internal things wet and has a way to get rid of water bottle condensation.

Which brings me to, it has to be waterproof. PacSafe makes traveler safe luggage, except its not waterproof. Who wants wet on their laptop. When it rains on my shoulder bag, I don’t want to worry about the contents getting wet.

It has to have D-loops sewn into the bag, where I can attach wallets and my keys, so when I open a pocket and pull something out, nothing else will fall out, because it’s attached to the bag. I like the feeling of attaching my car keys inside my bag and not worrying about them until the trip is over.

There are cases for credit cards and passports that attach to these loops.  By the way, I recommend getting special RFID protected cases for your credit cards and passport so they can’t be scanned as you walk by in the airport, and your identity stolen without you knowing about it.

It has to have lots of pockets, for my ereader, my iphone,  my chargers, etc. I like having a pocket for each type of article. That way when I’m looking for something, I know right where it is.

I like having light colored material inside the pockets, so I can see what’s in the bag. Black interior pockets makes it difficult to see into the bag.

Finally, I want a big enough area to fit my light jacket. It usually goes next to the laptop. I like carrying a jacket in my under-seat bag in case I get cold in flight, and it saves me packing room in my carry on. It it rains while I’m outside, I can quickly pull the jacket out without opening up my wheeled bag.

That’s a lot of wants, but there all reasonable and I narrowed it down to two bags that meet all of my above requirements.  Both are made by Tom Bihn.  They are shown below with a link to both the bags description, and a video about each bag.

Tom Bihn Synapse 19  (video)



 Tom Bihn Pilot  (video)

The video is of the Co-Pilot, the Pilot is the same only bigger.



I haven’t made up my mind yet. I’m sure my readers have other favorite bags and luggage systems that I’d like to hear about. And if you own any of the above bags, a word or two about them would be much appreciated. I’ll let you know what one I picked in a later article, when I figure out which wheeled luggage to buy.


Posted in Uncategorized | Leave a comment