Skip to main content

Mobomo webinars-now on demand! | learn more.

CLUTCH ANNOUNCES TOP DC DEVELOPMENT FIRMS

This week Clutch released a new report highlighting the best development companies in the greater DC area, and Mobomo made their list! We were recognized for our ongoing expertise in web and mobile development across a variety of platforms, including iOS, Android, WordPress, and Drupal.

What is the Features module?

The Features module does have a purpose.. But what exactly, do you need it, what is the structure? All valid questions surrounding Drupal's module. The primary purpose of the module is to copy configuration setups from one Drupal site to another. The Features module offers a well-known method of bundling configuration in a new module that can be installed on other sites--a feature. See the full Drupal 8 configuration setup.

The Features module is an important tool to use on any Drupal 7 or prior projects. To put it simply, Features allows for configurations to be packaged as a reusable component from one environment to another. It might seem like a hassle to add yet another module to your development process, but you will find Features very handy and rewarding as your site grows in size.

.row {
  display: grid;
}

2. Define the number of columns in our grid and the size of the gutters (the space between items/columns).

Bootstrap uses 12 columns with 15px gutters.

.row{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 15px;
}

Do I need it?

The main advantage of using Features is being able to have configurations in code so it can be tracked under version control. Since everything in Drupal 7 is stored in the database, configurations changes such as Content Types or Views needs to be moved upstream some way. Creating those changes manually is not such a big issue when your site is small and there’s only one developer working on it. However, when there are several developers working at once on a large scaled site, having to manually create config changes on all the environments is extremely inefficient and time consuming not to mention the possibility of human error. Using Features decreases the amount of inconsistencies across the board. By having configurations in files, the deployment process is also simplified.

Features Structural Organization

There are many different ways to organize the components within Features. You can categorize them based on the kind of Drupal entities (Views, Content Types, Blocks, etc). The downside to that is you might end up with a very long list of Features that makes it hard to keep track of, or Features that are not broken down specific enough and resulting in merge conflicts every time changes occur. One approach is to group feature around Content Types and Pages. It’s much easier to identify what Feature to export if you know that a certain Block for staffs will be under the staff profile Content Type. There may also be components that does not necessarily fit into one place. For example, fields that are used in several different Content Types can be moved to a feature for shared components.

Other Tips

Make sure to revert Features once your code has been pushed up. Also, you should go and double check everything is at the state you want. I have encountered times when Features did not import something properly even though all the correct components were selected. It is also wise to name your features with something identifiable to your project as the base name and place them all in a Features folder in modules for easy access.

Drupal 8 comes with content management system in core so there won’t be a need for Features in the future. However, Drupal 7 is here to stay for awhile and it is definitely an essential module for development.

THE CLUTCH REPORT RANKS THE TOP COMPANIES IN THE AREA.

The rankings were based on Clutch’s proprietary research methodology, which is based on references and reviews, clients and experiences, and market presence. Results are also based on how well companies demonstrate their expertise in the competitive D.C. area, and their success rate on completing high-quality projects. The report includes overviews of the winning companies and full profiles and client interviews are published with the research online.

Mobomo is proud to work with some of the best startups, most distinguished enterprises, and prominent federal agencies in the U.S. marketplace. Our notable web and mobile development work includes projects for NASAthe USORGSPulse, and NOAA Fisheries.

TOP DEVELOPER:
  • Mobile App Developers
  • Android App Developers
  • iPhone App Developers
  • Web Developers
  • Drupal Developers
  • WordPress Developers
TOP CREATIVE AND DESIGN AGENCY:
  • Digital Design
  • UX

 

Categories
Tags
Author

Drupal 6 is officially no longer supported by the Drupal community:

This was announced in 2015 and officially went into effect on February 24, 2016. It has been two years since Drupal 6 was supported and Drupal 7 may not be supported for much longer according to past release timelines.

Responsive layout is built-in.

It is very difficult to retrofit a responsive theme into Drupal 6. Drupal 8 is responsive out of the box and all community contributed themes have responsiveness built-in. On January 10, 2018, it became required by law for all federal sites to be mobile friendly and this is to be completed no later than 18 months after this was put in place (June 10, 2019).

Better performance.

Drupal 6 requires a lot of tweaking or external caching to achieve good performance. Many of these things are either built-in or easy to enable with Drupal 8. The latest version of Drupal has worked hard to improve the load time of pages, management of the content and many other aspects. Drupal 8 now works more efficiently, and hence it saves much time for the user in all circumstances.

Better security.

Drupal 6 no longer receives most security updates and it is not architected to handle modern security threats. Drupal 8 offers security best practices for writing code, generated PHP files, and configuration for site builders. Drupal also has a security team in place. If someone discovers vulnerabilities, patches can be quickly released. Stable modules that have a security review also have a shield icon to differentiate them from the rest.

Better customization: Mobile First

D8 has a much more robust plugin architecture that allows developers to customize almost anything. This even allows D8 to serve purely as a back-end CMS with a completely de-coupled front-end application which could include a mobile app. Drupal in and of itself is an open source content management system. This helps companies get faster with everything they do, execute at scale, and not be burdened by delays in bringing new ideas to market.

Better SEO

Drupal 6 is not optimized for modern search engines which can cause low page ranking. Drupal 8 is better out of the box and has a lot of community modules that can optimize it further. It’s increased site speed, responsive web design, mobile readiness, CAAS capabilities, etc. has made it better optimized overall.

Usability improvements.

Drupal 8 has significant usability improvements for managing content and users over Drupal 6. Throughout Drupal 8, the focus has been mobile-first and usability. All of Drupal 8’s built-in themes are responsive and built to be used wherever you may need to get work done, whether that be on your phone on the go or stationary on your computer of choice.

Enterprise application architecture.

Both Drupal 6 and Drupal 7 have problems separating configuration and business logic from the actual content. This creates a lot of challenges when trying to deploy a large or complex site. Flexible APIs such as actions and triggers, Database API, caching, roles and permissions, Form API, REST API etc. make Drupal 8 an ideal web framework, while continuing to manage the content.

Categories
Tags
Author

 

Part 3: The Final Installment

This is the final installment of Drupal Taxonomy that we feel is important for one unfamiliar with Drupal to know! At this point, hopefully, you understand some of the key language that is regularly used in the Drupal Community.  For reference, our first two blogs, Part 1 and Part 2, should provide you any background you may not already have.  Mobomo is the team that is behind NASA, the solar eclipse with NASA, the USGS store, and NOAA Fisheries, all of which are Drupal sites.  Similar to these organizations, Drupal is the CMS system for you if your needs are more complex, you are developing an e-commerce portal, or if you have a large amount of content to maintain.  If you have a Drupal project in the works or are about to migrate versions or CMS systems, Mobomo has some of the best and brightest Drupal developers in the DC area.

Key Terms:

  1. Permissions - This is a tool for controlling access to content creation, modification, and site administration at the application level.
  2. Template - This refers to a file to express presentation
  3. Theme Engine - This is a set of scripts that interprets code and makes theming a site easier. These scripts take the dynamically generated content and output it to HTML.
  4. Theme Hook - This is an identifier used by the calls to the theme() function to delegate rendering to a theme function or theme template.  Modules which extend Drupal may declare their own theme hooks to allow editors to control the markup of that module in their theme.
  5. Trigger - These typically result from a characteristic change in an entity maintained by a module.
  6. Triage - A new issue is assigned a priority based on its severity, frequency, risk, and other predetermined factors.
  7. Zebra Striping - This refers to the to the alternating colors between rows of data. It is most common for rows of data to alternate background colors between white and gray.
  8. Testbot - A continuous integration service for testing patches submitted to project issues on Drupal.org.
  9. Roles - A name for a group of users, to whom you can collectively assign permissions. There are two predetermined, locked roles for every new Drupal installation:
  10. Path - This is the final portion of the URL that refers to a specific function or a piece of content.

 

Please reference Drupal.org for more information!

Categories
Author

Part 2:

In our previous blog post, we gave a brief intro to some terms that we believe are necessary to understand the basics of Drupal.   Here we have what we believe to be the next round of terms that we consider necessary to understanding those basics. Recently, we had the opportunity to assist Matrix AMC in migrating from Drupal 6 to Drupal 8.  They were unable to use their website because of the version of Drupal that their website was hosted on was out of date and no longer supported by the Drupal community. While these specific terms are consistent across Drupal versions, they are crucial to understanding the importance of being up to date in with your version of Drupal.

Key Terms:     

  1. Block - the boxes visible in the regions of a Drupal website.
  2. Region - defined areas of a page where content can be placed. Different themes can define different regions so the options are often different per-site. Basic regions include:
  3. Roles - a name for a group of users, to whom you can collectively assign permissions. There are two predefined, locked roles for every new Drupal installation:
  4. WYSIWYG - What You See Is What You Get; An acronym used in computing to describe a method in which content is edited and formatted by interacting with an interface that closely resembles the final product.
  5. Book - a set of pages tied together in a hierarchical sequence, perhaps with chapters, sections, or subsections.  Books can be used for manuals, site resource guides, Frequently Asked Questions (FAQs), etc.
  6. Breadcrumbs - the set of links, usually near the top of the page, that shows the path you followed to locate the current page.
  7. Form mode - this is a way to customize the layout of an entity's edit form.
  8. Multisite - a feature of Drupal that allows one to run multiple websites from the same Drupal codebase.
  9. Patch - a small piece of software designed to update or fix problems with a computer program or its supporting data.
  10. User - the user interacting with Drupal. This user is either anonymous or logged into Drupal through its account.

Refer to Drupal.org for any other questions!

Categories
Author

Key Drupal Taxonomy

Part 1:

When it comes to considering what is the best CMS for a website, most don’t know up from down or Drupal from WordPress.  At Mobomo, we consider ourselves Drupal experts and have guided many of our clients through a Drupal migration. Drupal is a content management system that is at the core of many websites.  Drupal defines itself as “an open source platform for building amazing digital experiences.” These simple Drupal terms, or taxonomies, make it sound easy, but it can, in fact, be very confusing. Listed below are some popular terms defined to help make the start of the migration process what it should be, simple and easy:

Key Terms:

  1. Theme - this refers to the look and feel of a site and it is determined by a combined collection of template files, in addition to configuration and asset files.  Drupal modules define themeable functions which can be overridden by the theme file.  The header, icons, and block layout are all contained within a theme
  2. Content-Type - Every node, see below for definition, belongs to a content type.  This defines many different default settings for nodes of that type.  Content Types may have different fields, as well as modules may define their own content types.

See Part 2 and Part 3 for more.  Any other questions? Check out Drupal.org!

Categories
Author
Subscribe to Drupal